<?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>145780</bug_id>
          
          <creation_ts>2015-06-08 18:18:01 -0700</creation_ts>
          <short_desc>Simplify event handling logic for search cancel button</short_desc>
          <delta_ts>2015-06-11 10:21:28 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145774</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>adele</cc>
    
    <cc>cfleizach</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1100544</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-06-08 18:18:01 -0700</bug_when>
    <thetext>Following the patch for bug #145774, we can take advantage of the click event to simplify the event handling logic for the search cancel button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100547</commentid>
    <comment_count>1</comment_count>
      <attachid>254534</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-06-08 18:26:29 -0700</bug_when>
    <thetext>Created attachment 254534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100721</commentid>
    <comment_count>2</comment_count>
      <attachid>254534</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-09 11:31:41 -0700</bug_when>
    <thetext>Comment on attachment 254534
Patch

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

r=me if you figure out how to make this work or compile it out on iOS

&gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:176
&gt; +    setAttribute(aria_labelAttr, AtomicString(AXSearchFieldCancelButtonText()));

iOS build failure:

html/shadow/TextControlInnerElements.cpp:176:47: error: use of undeclared identifier &apos;AXSearchFieldCancelButtonText&apos;
    setAttribute(aria_labelAttr, AtomicString(AXSearchFieldCancelButtonText()));

That is in a !PLATFORM(IOS) block.

Separate question: Is the explicit AtomicString construction required here?

&gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:201
&gt; +        input-&gt;setValueForUser(&quot;&quot;);

Please use emptyString() rather than &quot;&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101308</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-06-11 10:16:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:176
&gt; &gt; +    setAttribute(aria_labelAttr, AtomicString(AXSearchFieldCancelButtonText()));
&gt; 
&gt; iOS build failure:
&gt; 
&gt; html/shadow/TextControlInnerElements.cpp:176:47: error: use of undeclared
&gt; identifier &apos;AXSearchFieldCancelButtonText&apos;
&gt;     setAttribute(aria_labelAttr,
&gt; AtomicString(AXSearchFieldCancelButtonText()));
&gt; 
&gt; That is in a !PLATFORM(IOS) block.

Will add !PLATFORM(IOS)-guard around this code. 

&gt; 
&gt; Separate question: Is the explicit AtomicString construction required here?

No, it is not required. Will remove.
 
&gt; 
&gt; &gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:201
&gt; &gt; +        input-&gt;setValueForUser(&quot;&quot;);
&gt; 
&gt; Please use emptyString() rather than &quot;&quot;.

Will substitute emptyString() for &quot;&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101314</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-06-11 10:21:28 -0700</bug_when>
    <thetext>Committed r185459: &lt;http://trac.webkit.org/changeset/185459&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254534</attachid>
            <date>2015-06-08 18:26:29 -0700</date>
            <delta_ts>2015-06-09 11:31:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145780-20150608182603.patch</filename>
            <type>text/plain</type>
            <size>27008</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA2NWUzNTczMzFhZjNj
YWMxYmMyOTNlMmMxM2IwZDk3NTQ5MGE0Mi4uNDIyZjkyYmU2NDM2YTg2NGQ5YTYxN2E3ZTEwMmZl
ZWFjMmRiMzUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE1LTA2LTA4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBTaW1wbGlmeSBldmVudCBo
YW5kbGluZyBsb2dpYyBmb3Igc2VhcmNoIGNhbmNlbCBidXR0b24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTc4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvbGxvd2luZyB0aGUgcGF0Y2ggZm9yIDxo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1Nzc0PiB3ZSBjYW4gdGFr
ZSBhZHZhbnRhZ2UKKyAgICAgICAgb2YgdGhlIERPTSBjbGljayBldmVudCB0byBzaW1wbGlmeSB0
aGUgZXZlbnQgaGFuZGxpbmcgbG9naWMgZm9yIHRoZSBzZWFyY2ggY2FuY2VsIGJ1dHRvbi4KKyAg
ICAgICAgSXQgaXMgc3VmZmljaWVudCB0byBsaXN0ZW4gZm9yIG1vdXNlZG93biBhbmQgY2xpY2sg
ZXZlbnRzIGluc3RlYWQgb2YgbGlzdGVuaW5nIGZvciBtb3VzZWRvd24KKyAgICAgICAgYW5kIG1v
dXNldXAgZXZlbnRzLCBjYXB0dXJpbmcgYWxsIGV2ZW50cyBkdXJpbmcgZHJhZywgYW5kIHVzaW5n
IHRoZSBob3ZlciBzdGF0ZSBvZiB0aGUgYnV0dG9uCisgICAgICAgIG9uIG1vdXNlIHJlbGVhc2Ug
dG9nZXRoZXIgd2l0aCBhIGluc3RhbmNlIHZhcmlhYmxlIHNldCBvbiBtb3VzZSBwcmVzcyB0byBk
ZXRlcm1pbmUgd2hldGhlcgorICAgICAgICB0aGUgY2FuY2VsIGJ1dHRvbiB3YXMgY2xpY2tlZC4K
KworICAgICAgICBBcyBhIHNpZGUgZWZmZWN0IG9mIHJlbW92aW5nIHRoZSByZXF1aXJlbWVudCB0
aGF0IHRoZSBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBiZSBob3ZlcmVkIChhCisgICAgICAgIHdvcmth
cm91bmQgdG8gZW5zdXJlIHRoYXQgdGhlIG1vdXNlIHdhcyBwcmVzc2VkIGFuZCByZWxlYXNlZCBv
biB0aGUgYnV0dG9uIGluIGFic2VuY2Ugb2YKKyAgICAgICAgbGlzdGVuaW5nIGZvciBhbiBleHBs
aWNpdCBET00gY2xpY2sgZXZlbnQpIHdlIGNhbiByZW1vdmUgdGhlIGFjY2Vzc2liaWxpdHktc3Bl
Y2lmaWMgY2xhc3MsCisgICAgICAgIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRv
biwgdGhhdCB3YXMgcHJpbWFyaWx5IHVzZWQgdG8gZmFrZSB0aGUgaG92ZXIgc3RhdGUgb2YKKyAg
ICAgICAgdGhlIGJ1dHRvbiBzbyB0aGF0IHRoZSBhY2Nlc3NpYmlsaXR5IG1hY2hpbmVyeSBjb3Vs
ZCBzaW11bGF0ZSBhIGNsaWNrIG9uIGl0LiBJbnN0ZWFkIHdlCisgICAgICAgIGNhbiBhZGQgdXNl
IHRoZSBkZWZhdWx0IGFjY2Vzc2liaWxpdHkgbWFjaGluZXJ5IGZvciBjbGlja2luZyBvbiBhbiBl
bGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBmdW5jdGlvbmFsaXR5IHdh
cyBjaGFuZ2VkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IFJlbW92ZSByZWZlcmVuY2Ug
dG8gZmlsZSBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcC4KKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOiBSZW1vdmUgcmVmZXJlbmNlIHRvIGZpbGVz
IEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMue2NwcCwgaH0uCisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGcm9t
UmVuZGVyZXIpOiBSZW1vdmUgc3BlY2lhbC1wdXJwb3NlIGxvZ2ljIHRoYXQgaW5zdGFudGlhdGVk
CisgICAgICAgIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbiBmb3IgdGhlIHNl
YXJjaCBjYW5jZWwgYnV0dG9uLiBJbnN0ZWFkIHdlIGNhbiBtYWtlCisgICAgICAgIHVzZSBvZiB0
aGUgZXhpc3RpbmcgYWNjZXNzaWJpbGl0eSBtYWNoaW5lcnkgdG8gaGFuZGxlIHRoaXMgYnV0dG9u
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFsbEluT25lLmNwcDogUmVt
b3ZlICNpbmNsdWRlIG9mIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuY3BwCisgICAg
ICAgIHNpbmNlIHRoZSBmaWxlIGlzIG5vIGxvbmdlciBuZWVkZWQuCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6aXNTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQpOiBEZWxldGVkLgorICAgICAg
ICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OlNlYXJjaEZpZWxkQ2FuY2Vs
QnV0dG9uRWxlbWVudCk6IFNldCB0aGUgQVJJQSByb2xlCisgICAgICAgIGFuZCBsYWJlbCBhdHRy
aWJ1dGVzIHNvIHRoYXQgdGhlIGFjY2Vzc2liaWxpdHkgc3lzdGVtIGlkZW50aWZpZXMgdGhlIHNl
YXJjaCBjYW5jZWwgYnV0dG9uIGFzCisgICAgICAgIGEgYnV0dG9uIGFuZCBzaG93cyBhIGRlc2Ny
aXB0aW9uIGZvciB0aGUgYnV0dG9uLCByZXNwZWN0aXZlbHkuCisgICAgICAgIChXZWJDb3JlOjpT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOiBTaW1w
bGlmeSB0aGUgZXZlbnQgaGFuZGxpbmcgbG9naWMKKyAgICAgICAgc3VjaCB0aGF0IHdlIGNsZWFy
IHRoZSBmaWVsZCB3aGVuIHdlIHJlY2VpdmUgYSBET00gY2xpY2sgZXZlbnQgKGkuZS4gdGhlIG1v
dXNlIHdhcyBwcmVzc2VkCisgICAgICAgIGFuZCByZWxlYXNlZCBvbiB0aGUgYnV0dG9uKS4gUmVt
b3ZlIHVudXNlZCB2YXJpYWJsZSwgb2xkVmFsdWUuIEFsc28gcmVtb3ZlIG91dC1vZi1kYXRlIGNv
bW1lbnQKKyAgICAgICAgdGhhdCByZXBlYXRlZCB3aGF0IHRoZSBjb2RlIGRvZXMuCisgICAgICAg
IChXZWJDb3JlOjpTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OndpbGxEZXRhY2hSZW5k
ZXJlcnMpOiBEZWxldGVkLiBXZSBubyBsb25nZXIgbmVlZCB0byB1c2UKKyAgICAgICAgY3VzdG9t
IHN0eWxlIHJlc29sdmUgY2FsbGJhY2tzIHRvIHJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgRXZlbnRI
YW5kbGVyIHNpbmNlIHdlIG5vIGxvbmdlciBuZWVkIHRvCisgICAgICAgIGhhdmUgdGhlIEV2ZW50
SGFuZGxlciBkaXNwYXRjaCBhbGwgbW91c2UgZXZlbnRzIHRvIHVzIG9uIG1vdXNlIHByZXNzLgor
ICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oOgorCisyMDE1
LTA2LTA4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBNb3Vz
ZSByZWxlYXNlIG9uIEF1dG9GaWxsIGJ1dHRvbiBhY3RpdmF0ZXMgaXQ7IHNob3VsZCBvbmx5IGFj
dGl2YXRlIG9uIGNsaWNrCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDU3NzQKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxMDY5MjQ1PgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBhNDU4NTM3YTcwYjRmNGY4MTllMWMwNTk1MTdjMTIwNTNhNmExMjFj
Li44MjgxODFmNWY1N2MxZmI3NTkyNDI1MDk4ZDk2YjAyZjJmMDgxNzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTA0OSw3ICsxMDQ5LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuY3BwCiAgICAgYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5jcHAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlTY3JvbGxiYXIuY3BwCi0gICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmll
bGRCdXR0b25zLmNwcAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAK
ICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcAogICAgIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggOWNkMWZmMTFjOGVhZDY0NzMyN2Q1YjA4
MzdkOWJhYTAyNWZkMjMxMC4uYjFmZDZkODZkMDI4YmRiYWI0NzVjMzAwMmE1ODRhY2Q2ZGQzOGM1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CkBAIC03MDE2LDIwICs3MDE2LDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMu
Y3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGFjY2Vzc2liaWxp
dHlcQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk1MzcsNyArMTk1MjMsNiBAQAogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlT
Y3JvbGxiYXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGFjY2Vzc2liaWxpdHlc
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmlsaXR5U2xpZGVy
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhY2Nlc3Np
YmlsaXR5XEFjY2Vzc2liaWxpdHlTVkdSb290LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNThhODI3
ZGQzODEyMDUzZGZmYzM3YWRmNDljMzY5ZWE3ZmM3YTVkZi4uNDE0OWRiYTU0OTgzOWIxNjk5ODAx
NjhmMGE1YjJiZDdiMWQ3NTA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNjYxMCw5ICs2NjEwLDYgQEAK
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xJbWFnZVF1YWxpdHlDb250cm9s
bGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAgIDwvQ2xDb21w
aWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmls
aXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcCI+Ci0gICAgICA8RmlsdGVyPmFjY2Vzc2liaWxpdHk8
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRv
bVxFbGVtZW50RGF0YS5jcHAiPgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KQEAgLTEzOTk3LDkgKzEzOTk0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJlbmRlcmluZ1xJbWFnZVF1YWxpdHlDb250cm9sbGVyLmgiPgogICAgICAgPEZpbHRlcj5y
ZW5kZXJpbmc8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oIj4K
LSAgICAgIDxGaWx0ZXI+YWNjZXNzaWJpbGl0eTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEVsZW1lbnRBbmNlc3Rvckl0ZXJhdG9yLmgi
PgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNzI2
ZWJlMDEyYzA0MDZhYjczMDE3ZGM2YzNiNDc3Y2YxMmNlMTlkLi5jN2I4NTg2ZjYzNjZhZDQwM2Ix
NTA3MjZlNzBlYmM5MDA4MTFiZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDAyLDcgKzE0MDIsNiBAQAogCQkzN0Y1N0FD
NDFBNTA3MjkzMDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTgxQ0FBNjEzMTgyMkVD
MDBEMTJGMkEgLyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgKi87IH07CiAJCTM3RjU3
QUM1MUE1MDcyOTcwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5ODFDQUE3MTMxODIyRUMw
MEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcCAqLzsgfTsKIAkJMzdGNTdBQzYx
QTUwNzI5QjAwODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5ODFDQUE4MTMxODIyRUMwMEQx
MkYyQSAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5jcHAgKi87IH07Ci0JCTM3RjU3QUM3MUE1
MDcyQTEwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNUIzQTY5MTdDQkUx
NzIwMDBGQ0NFOCAvKiBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmNwcCAqLzsgfTsK
IAkJMzdGNTdBQzgxQTUwNzJCQzAwODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk4MUNBQTkxMzE4
MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwICovOyB9OwogCQkzN0Y1N0FD
OTFBNTA3MkNDMDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFDMDhDRjAxNUY5NDFGQzAwRjFF
MTg4IC8qIEFjY2Vzc2liaWxpdHlTVkdSb290LmNwcCAqLzsgfTsKIAkJMzdGNTdBQ0ExQTUwNzJD
RjAwODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOTgxQ0FBQTEzMTgyMkVDMDBEMTJGMkEgLyogQWNj
ZXNzaWJpbGl0eVRhYmxlLmNwcCAqLzsgfTsKQEAgLTE0NTMsNyArMTQ1Miw2IEBACiAJCTQxNTBG
OUYyMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1MEY5RjAxMkI2RTBFNzAwMDhD
ODYwIC8qIFNsaWRlclRodW1iRWxlbWVudC5jcHAgKi87IH07CiAJCTQxNTdBRjgwMTJGMUZCMDQw
MEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xzQXBwbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTdBRjdFMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNv
bnRyb2xzQXBwbGUuaCAqLzsgfTsKIAkJNDE1N0FGODExMkYxRkIwNDAwQThDNkY1IC8qIE1lZGlh
Q29udHJvbHNBcHBsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTU3QUY3RjEyRjFGQjA0MDBBOEM2RjUgLyogTWVkaWFDb250cm9sc0FwcGxlLmNw
cCAqLzsgfTsKLQkJNDE1QjNBNkUxN0NCRTI2NzAwMEZDQ0U4IC8qIEFjY2Vzc2liaWxpdHlTZWFy
Y2hGaWVsZEJ1dHRvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNUIzQTZBMTdDQkUxNzIwMDBGQ0NFOCAvKiBBY2Nlc3NpYmlsaXR5U2VhcmNoRmll
bGRCdXR0b25zLmggKi87IH07CiAJCTQxNjJBNDUwMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTYyQTQ0RDEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuY3BwICovOyB9OwogCQk0MTYyQTQ1MTEwMTE0NUFFMDBERkYzRUQgLyogRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNjJBNDRFMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS5oICovOyB9OwogCQk0MTYyQTQ1NDEwMTE0NUUzMDBERkYzRUQgLyogSlNE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1MzEwMTE0NUUzMDBERkYzRUQgLyogSlNE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAgKi87IH07CkBAIC04NjAzLDggKzg2
MDEsNiBAQAogCQk0MTUwRjlGMDEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNsaWRlclRodW1iRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTdBRjdFMTJGMUZCMDQw
MEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xzQXBwbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFDb250cm9sc0FwcGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxNTdBRjdGMTJGMUZCMDQwMEE4QzZGNSAvKiBNZWRpYUNvbnRyb2xzQXBwbGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sc0FwcGxlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE1QjNBNjkxN0NCRTE3MjAwMEZDQ0U4
IC8qIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxNUIzQTZBMTdDQkUxNzIwMDBGQ0NFOCAv
KiBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0b25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE2MkE0NEQxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE2MkE0NEUxMDExNDVBRTAwREZGM0VEIC8qIERlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJBNDRGMTAx
MTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTU3MTcsOCArMTU3MTMsNiBAQAogCQkJCTkzQzRGNkU5MTEw
OEY5QTUwMDk5RDBEQiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmggKi8sCiAJCQkJMjk4MUNB
QTgxMzE4MjJFQzAwRDEyRjJBIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcCAqLywKIAkJ
CQkyOTQ4OUZDNTEyQzAwRjAzMDBEODNGMEYgLyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaCAq
LywKLQkJCQk0MTVCM0E2OTE3Q0JFMTcyMDAwRkNDRTggLyogQWNjZXNzaWJpbGl0eVNlYXJjaEZp
ZWxkQnV0dG9ucy5jcHAgKi8sCi0JCQkJNDE1QjNBNkExN0NCRTE3MjAwMEZDQ0U4IC8qIEFjY2Vz
c2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaCAqLywKIAkJCQkyOTgxQ0FBOTEzMTgyMkVDMDBE
MTJGMkEgLyogQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAgKi8sCiAJCQkJMDcwOUZDNEQxMDI1REVF
MzAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuaCAqLywKIAkJCQkyOUQ3QkNGNTE0NDRB
RjU4MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwICovLApAQCAtMjM3ODQs
NyArMjM3NzgsNiBAQAogCQkJCTI5QTgxMjM5MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0M0RjZFQjExMDhGOUE1MDA5
OUQwREIgLyogQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjk0
ODlGQzcxMkMwMEYwMzAwRDgzRjBGIC8qIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmggaW4gSGVh
ZGVycyAqLywKLQkJCQk0MTVCM0E2RTE3Q0JFMjY3MDAwRkNDRTggLyogQWNjZXNzaWJpbGl0eVNl
YXJjaEZpZWxkQnV0dG9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwOUZDNEUxMDI1REVFMzAw
NTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5RDdC
Q0ZBMTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQUFDMDhDRjMxNUY5NDFGRDAwRjFFMTg4IC8qIEFjY2Vzc2liaWxpdHlTVkdS
b290LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTkyLDcgKzI3NTg1LDYgQEAKIAkJCQkzN0Y1N0FD
NDFBNTA3MjkzMDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzN0Y1N0FDNTFBNTA3Mjk3MDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVNj
cm9sbGJhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0Y1N0FDNjFBNTA3MjlCMDA4NzZGOTgg
LyogQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdGNTdB
QzcxQTUwNzJBMTAwODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzdGNTdBQzgxQTUwNzJCQzAwODc2Rjk4IC8qIEFjY2Vzc2li
aWxpdHlTbGlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlEN0JDRjYxNDQ0QUY1ODAwNzA2
MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3
RjU3QUM5MUE1MDcyQ0MwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCmluZGV4IDliMmJjZDg2YzgwYjBjN2YwM2ZjNjc0NWNkNzU0YmQ5MzRkMWM2OWEuLjQ3NzUw
ZGQwNjZjNzc1MTllZGRiMTMyM2Y2M2Q3M2Y5N2I4MTEwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNDgsNyArNDgsNiBAQAogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlTVkdSb290LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNj
cm9sbFZpZXcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmgiCi0jaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5oIgogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlTbGlkZXIuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIgogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgpAQCAtMjk4LDEwICsyOTcsNiBAQCBzdGF0aWMg
UmVmPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0ZUZyb21SZW5kZXJlcihSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQogICAgIGlmIChpczxSZW5kZXJTVkdSb290PigqcmVuZGVyZXIpKQogICAgICAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eVNWR1Jvb3Q6OmNyZWF0ZShyZW5kZXJlcik7CiAgICAgCi0g
ICAgLy8gU2VhcmNoIGZpZWxkIGJ1dHRvbnMKLSAgICBpZiAoaXM8RWxlbWVudD4obm9kZSkgJiYg
ZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUpLmlzU2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50
KCkpCi0gICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRDYW5jZWxCdXR0b246
OmNyZWF0ZShyZW5kZXJlcik7Ci0gICAgCiAgICAgaWYgKGlzPFJlbmRlckJveE1vZGVsT2JqZWN0
PigqcmVuZGVyZXIpKSB7CiAgICAgICAgIFJlbmRlckJveE1vZGVsT2JqZWN0JiBjc3NCb3ggPSBk
b3duY2FzdDxSZW5kZXJCb3hNb2RlbE9iamVjdD4oKnJlbmRlcmVyKTsKICAgICAgICAgaWYgKGlz
PFJlbmRlckxpc3RCb3g+KGNzc0JveCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBbGxJbk9uZS5jcHAKaW5kZXggMGM4YmUwYzYxZGVkNDI4
MjQyY2ZlZjViOWEzZmZlOGQ5OWUzZGMxYy4uMDA3NDBmYTQzMmU5ZTQwMjMwYzdjODkzZWZkYzg4
MTBkYzAyMTczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5QWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eUFsbEluT25lLmNwcApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlTVkdSb290LmNwcCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dy5jcHAiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNjcm9sbGJhci5jcHAiCi0jaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5jcHAiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eVNsaWRlci5jcHAiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCIKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRv
bnMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWZhNzM0Zjk4ZmZmOTMzZTAz
MmVhNWU2ZGJhNGQ2Mjg3N2NjY2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNl
YXJjaEZpZWxkQnV0dG9ucy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxk
QnV0dG9ucy5oIgotCi0jaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgotI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxBY2Nlc3NpYmlsaXR5
U2VhcmNoRmllbGRDYW5jZWxCdXR0b24+IEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1
dHRvbjo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCi17Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKHJlbmRlcmVyKSk7
Ci19Ci0KLUFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbjo6QWNjZXNzaWJpbGl0
eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCi0gICAgOiBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KHJlbmRlcmVyKQotewotfQotCi1TdHJpbmcgQWNjZXNz
aWJpbGl0eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uOjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24o
KSBjb25zdAotewotI2lmIFBMQVRGT1JNKElPUykKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci0jZWxz
ZQotICAgIHJldHVybiBBWFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uVGV4dCgpOwotI2VuZGlmCi19
Ci0KLXZvaWQgQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uOjphY2Nlc3NpYmls
aXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JiB0ZXh0T3JkZXIpCi17Ci0gICAgdGV4
dE9yZGVyLmFwcGVuZChBY2Nlc3NpYmlsaXR5VGV4dChhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24o
KSwgQWx0ZXJuYXRpdmVUZXh0KSk7Ci19Ci0KLWJvb2wgQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxk
Q2FuY2VsQnV0dG9uOjpwcmVzcygpCi17Ci0gICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsK
LSAgICBpZiAoIWlzPEVsZW1lbnQ+KG5vZGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
Ci0gICAgRWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KCpub2RlKTsKLSAgICAv
LyBUaGUgZGVmYXVsdCBldmVudCBoYW5kbGVyIG9uIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxl
bWVudCByZXF1aXJlcyBob3Zlci4KLSAgICBlbGVtZW50LnNldEhvdmVyZWQodHJ1ZSk7Ci0gICAg
ZWxlbWVudC5hY2Nlc3NLZXlBY3Rpb24odHJ1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJv
b2wgQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uOjpjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlJc0lnbm9y
ZWRCeURlZmF1bHQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2VhcmNoRmllbGRCdXR0
b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTZWFyY2hG
aWVsZEJ1dHRvbnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI2NGExMjk5OWI3
NWQ5MjZlMGI3YWQzNDRlZjI4NGY2OTk1OTY2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
Ci0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgQWNjZXNzaWJpbGl0eVNlYXJjaEZpZWxkQnV0dG9uc19oCi0jZGVmaW5l
IEFjY2Vzc2liaWxpdHlTZWFyY2hGaWVsZEJ1dHRvbnNfaAotCi0jaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEFjY2Vz
c2liaWxpdHlTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbiBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlT
ZWFyY2hGaWVsZENhbmNlbEJ1dHRvbj4gY3JlYXRlKFJlbmRlck9iamVjdCopOwotICAgIAotICAg
IHZpcnR1YWwgU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRl
OwotICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0
eVRleHQ+Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29sIHByZXNzKCkgb3ZlcnJpZGU7Ci0g
ICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBCdXR0b25Sb2xlOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQWNjZXNzaWJp
bGl0eVNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCopOwotCi0gICAgdmlydHVh
bCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qgb3ZlcnJpZGU7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5U2Vh
cmNoRmllbGRCdXR0b25zX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGExMDhkYTRiZDc5MzY5MDJj
MzgzZjE3N2QxN2UwOTJlZTEwZjIyZTMuLjQ1MzM0MDA0MzE0ZGVlNTMwZmJlMjNlZTBlMTM4Yjdm
MmQ2NWY3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzk0LDcgKzM5NCw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNJblJhbmdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNPdXRPZlJhbmdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNGcmFtZUVsZW1lbnRCYXNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkNvbnRhaW5SYW5n
ZUVuZFBvaW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCmluZGV4IDExZGM5YTBj
OGQyNGYxN2RhZDg4Y2IwMzZkMmRkZTlmZTA1ZmMyNjQuLjQ5MjUxMTU3OWNkY2I1YjJiMWM3OTU5
YjUwNmJiYjMyMjQ2ZTk3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcApAQCAtMjgsMTIgKzI4LDEzIEBACiAj
aW5jbHVkZSAiVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgiCiAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgotI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVk
ZSAiTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2luY2x1
ZGUgIlJlbmRlclNlYXJjaEZpZWxkLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wuaCIK
ICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0xNzAsMTAgKzE3MSwxMCBAQCBib29sIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRz
KCkKIAogaW5saW5lIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6U2VhcmNoRmllbGRD
YW5jZWxCdXR0b25FbGVtZW50KERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IEhUTUxEaXZFbGVt
ZW50KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX2NhcHR1cmluZyhmYWxzZSkKIHsKICAgICBz
ZXRQc2V1ZG8oQXRvbWljU3RyaW5nKCItd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIHNldEhhc0N1c3RvbVN0eWxl
UmVzb2x2ZUNhbGxiYWNrcygpOworICAgIHNldEF0dHJpYnV0ZShhcmlhX2xhYmVsQXR0ciwgQXRv
bWljU3RyaW5nKEFYU2VhcmNoRmllbGRDYW5jZWxCdXR0b25UZXh0KCkpKTsKKyAgICBzZXRBdHRy
aWJ1dGUocm9sZUF0dHIsIEF0b21pY1N0cmluZygiYnV0dG9uIiwgQXRvbWljU3RyaW5nOjpDb25z
dHJ1Y3RGcm9tTGl0ZXJhbCkpOwogfQogCiBSZWY8U2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVt
ZW50PiBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCYgZG9j
dW1lbnQpCkBAIC0xODEsMTcgKzE4Miw4IEBAIFJlZjxTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVs
ZW1lbnQ+IFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6Y3JlYXRlKERvY3VtCiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50KGRvY3Vt
ZW50KSk7CiB9CiAKLXZvaWQgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50Ojp3aWxsRGV0
YWNoUmVuZGVyZXJzKCkKLXsKLSAgICBpZiAobV9jYXB0dXJpbmcpIHsKLSAgICAgICAgaWYgKEZy
YW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKLSAgICAgICAgICAgIGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdNb3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7Ci0gICAg
fQotfQotCiB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpCiB7Ci0gICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgdmlzaWJs
ZSwgb24gbW91c2V1cCwgY2xlYXIgdGhlIHZhbHVlLCBhbmQgc2V0IHNlbGVjdGlvbgogICAgIFJl
ZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBpbnB1dChkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Pihz
aGFkb3dIb3N0KCkpKTsKICAgICBpZiAoIWlucHV0IHx8IGlucHV0LT5pc0Rpc2FibGVkT3JSZWFk
T25seSgpKSB7CiAgICAgICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCkBAIC0yMDAs
MjkgKzE5MiwxNSBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgfQogCiAgICAgaWYgKGV2ZW50LT50eXBl
KCkgPT0gZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50ICYmIGlzPE1vdXNlRXZlbnQ+KCpldmVu
dCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oKmV2ZW50KS5idXR0b24oKSA9PSBMZWZ0QnV0dG9u
KSB7Ci0gICAgICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPnZpc2libGVUb0hpdFRl
c3RpbmcoKSkgewotICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJh
bWUoKSkgewotICAgICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJp
bmdNb3VzZUV2ZW50c0VsZW1lbnQodGhpcyk7Ci0gICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcg
PSB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICB9CiAgICAgICAgIGlucHV0LT5mb2N1cygp
OwogICAgICAgICBpbnB1dC0+c2VsZWN0KCk7CiAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFu
ZGxlZCgpOwogICAgIH0KLSAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91
c2V1cEV2ZW50ICYmIGlzPE1vdXNlRXZlbnQ+KCpldmVudCkgJiYgZG93bmNhc3Q8TW91c2VFdmVu
dD4oKmV2ZW50KS5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7Ci0gICAgICAgIGlmIChtX2NhcHR1
cmluZykgewotICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUo
KSkgewotICAgICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5zZXRDYXB0dXJpbmdN
b3VzZUV2ZW50c0VsZW1lbnQobnVsbHB0cik7Ci0gICAgICAgICAgICAgICAgbV9jYXB0dXJpbmcg
PSBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChob3ZlcmVkKCkpIHsKLSAg
ICAgICAgICAgICAgICBTdHJpbmcgb2xkVmFsdWUgPSBpbnB1dC0+dmFsdWUoKTsKLSAgICAgICAg
ICAgICAgICBpbnB1dC0+c2V0VmFsdWVGb3JVc2VyKCIiKTsKLSAgICAgICAgICAgICAgICBpbnB1
dC0+b25TZWFyY2goKTsKLSAgICAgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorCisgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpIHsKKyAgICAgICAgaW5wdXQtPnNldFZhbHVlRm9yVXNl
cigiIik7CisgICAgICAgIGlucHV0LT5vblNlYXJjaCgpOworICAgICAgICBldmVudC0+c2V0RGVm
YXVsdEhhbmRsZWQoKTsKICAgICB9CiAKICAgICBpZiAoIWV2ZW50LT5kZWZhdWx0SGFuZGxlZCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuaAppbmRleCBlMmE3NmU0N2Y4MjRjZTdhNWJlMzA4Y2UzZTg0OGNjZGY2YzRmM2U4
Li42Y2ZhNTUwNjUwNzM5N2E0YmIyZjMzOGIzYWQ3MTkyNzQxZDBjNzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaApA
QCAtODksMTcgKzg5LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNlYXJjaEZpZWxkQ2Fu
Y2VsQnV0dG9uRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgYm9vbCBp
c1NlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9u
ZFRvTW91c2VDbGlja0V2ZW50cygpIG92ZXJyaWRlOwogI2VuZGlmCiAKIHByaXZhdGU6CiAgICAg
U2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50KERvY3VtZW50Jik7Ci0gICAgdmlydHVhbCB2
b2lkIHdpbGxEZXRhY2hSZW5kZXJlcnMoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNN
b3VzZUZvY3VzYWJsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICBi
b29sIG1fY2FwdHVyaW5nOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="279529"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>