<?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>193046</bug_id>
          
          <creation_ts>2018-12-28 02:05:23 -0800</creation_ts>
          <short_desc>Unable to enter text in https://eat.fi</short_desc>
          <delta_ts>2019-08-28 08:00:17 -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>Forms</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit-bugzilla</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1490924</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2018-12-28 02:05:23 -0800</bug_when>
    <thetext>I reproduced this with the MiniBrowser using WebKitGTK+ 2.22.5.

1) Open https://eat.fi/
2) When the page is loaded look for an input box that says &quot;Hae kaupunki tai ravintola&quot; (&quot;Search city or restaurant&quot;)
3) Click on the input box with the mouse in order to set the focus.

Expected outcome: the input box is focused and you can type some text.
Actual outcome: the form is submitted automatically before you can type anything.

This works fine in Chromium and Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530529</commentid>
    <comment_count>1</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-04-25 14:52:36 -0700</bug_when>
    <thetext>This is still happening in 2.24.1 :-⅜</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537212</commentid>
    <comment_count>2</comment_count>
    <who name="Lionir">webkit-bugzilla</who>
    <bug_when>2019-05-17 13:25:19 -0700</bug_when>
    <thetext>Thought I&apos;d add, if you tab to the search bar and type in it, it works. So it&apos;s likely how we grab focus on the search bar which causes the problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554679</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-22 07:07:25 -0700</bug_when>
    <thetext>This is not GTK specific, it happens in Safari too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554683</commentid>
    <comment_count>4</comment_count>
      <attachid>374599</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-22 07:19:31 -0700</bug_when>
    <thetext>Created attachment 374599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554796</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-22 12:46:35 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556527</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-29 02:08:30 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556599</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-29 10:07:18 -0700</bug_when>
    <thetext>The failure in this test on iOS seems like it might be a real regression:

imported/blink/fast/forms/label/label-contains-other-interactive-content.html

Has anyone looked at it yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556935</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-30 06:08:44 -0700</bug_when>
    <thetext>Well, it&apos;s a new test, so it&apos;s not actually a regression, I would say. But I don&apos;t know iOS to understand why it&apos;s only failing there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557071</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-30 14:19:02 -0700</bug_when>
    <thetext>We will need an iOS expert to help with that maybe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557221</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-31 01:19:26 -0700</bug_when>
    <thetext>Could it be that clickElement() doesn&apos;t work for some reason in iOS WTR? I see other tests using clickElement listed in ios-wk2/TestExpectations, but without a bug number nor more details. I think we can just skip this test in iOS for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557222</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-31 01:23:50 -0700</bug_when>
    <thetext>That&apos;s it, mouseDown(), mouseUp() and mouseMoveTo() are not implemented in iOS EventSender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557223</commentid>
    <comment_count>12</comment_count>
      <attachid>375219</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-07-31 01:31:40 -0700</bug_when>
    <thetext>Created attachment 375219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557609</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-08-01 08:32:00 -0700</bug_when>
    <thetext>New test failure is unrelated to this, it&apos;s the same partch as before, just with the test skipped in iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563838</commentid>
    <comment_count>14</comment_count>
      <attachid>375219</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-08-21 17:26:34 -0700</bug_when>
    <thetext>Comment on attachment 375219
Patch

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

r=me with the following comments addressed.

&gt; Source/WebCore/html/HTMLEmbedElement.h:46
&gt; +    bool isInteractiveContent() const final { return true; }

Please add this to HTMLAppletElement as well.

&gt; Source/WebCore/html/HTMLIFrameElement.h:56
&gt; +    bool isInteractiveContent() const final { return true; }

And to HTMLFrameElement.

&gt; Source/WebCore/html/HTMLLabelElement.cpp:123
&gt; +    for (const auto* it = &amp;node; it &amp;&amp; it != this; it = it-&gt;parentOrShadowHostNode()) {

Use parentElement() or parentElementInComposedTree().
It&apos;s suspicious that the specification doesn&apos;t use the composed tree for the purpose of determining this.
It&apos;s probably a specification bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565302</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-08-27 02:02:45 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #14)
&gt; Comment on attachment 375219 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375219&amp;action=review
&gt; 
&gt; r=me with the following comments addressed.

Thanks for the review.

&gt; &gt; Source/WebCore/html/HTMLEmbedElement.h:46
&gt; &gt; +    bool isInteractiveContent() const final { return true; }
&gt; 
&gt; Please add this to HTMLAppletElement as well.

Ok.

&gt; &gt; Source/WebCore/html/HTMLIFrameElement.h:56
&gt; &gt; +    bool isInteractiveContent() const final { return true; }
&gt; 
&gt; And to HTMLFrameElement.

Why? The spec only mentions iframe.

&gt; &gt; Source/WebCore/html/HTMLLabelElement.cpp:123
&gt; &gt; +    for (const auto* it = &amp;node; it &amp;&amp; it != this; it = it-&gt;parentOrShadowHostNode()) {
&gt; 
&gt; Use parentElement() or parentElementInComposedTree().
&gt; It&apos;s suspicious that the specification doesn&apos;t use the composed tree for the
&gt; purpose of determining this.
&gt; It&apos;s probably a specification bug.

Ok, I&apos;ll use parentElementInComposedTree()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565303</commentid>
    <comment_count>16</comment_count>
      <attachid>377331</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-08-27 02:03:28 -0700</bug_when>
    <thetext>Created attachment 377331
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565684</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-08-28 03:23:03 -0700</bug_when>
    <thetext>Committed r249194: &lt;https://trac.webkit.org/changeset/249194&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565685</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-28 03:24:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/54784134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565701</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-08-28 08:00:17 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #15)
&gt; (In reply to Ryosuke Niwa from comment #14)
&gt; &gt; Comment on attachment 375219 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=375219&amp;action=review
&gt; &gt; 
&gt; &gt; r=me with the following comments addressed.
&gt; 
&gt; Thanks for the review.
&gt;
&gt; &gt; &gt; Source/WebCore/html/HTMLIFrameElement.h:56
&gt; &gt; &gt; +    bool isInteractiveContent() const final { return true; }
&gt; &gt; 
&gt; &gt; And to HTMLFrameElement.
&gt; 
&gt; Why? The spec only mentions iframe.

That&apos;s probably just a bug in the spec itself but whatever. It doesn&apos;t matter for now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374599</attachid>
            <date>2019-07-22 07:19:31 -0700</date>
            <delta_ts>2019-07-31 01:31:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-interactive-content.diff</filename>
            <type>text/plain</type>
            <size>21897</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYTQ0Y2JhMGNkYy4uMzQ0MjAyMWE2YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNy0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgVW5hYmxlIHRvIGVudGVyIHRleHQgaW4gaHR0cHM6Ly9lYXQuZmkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzA0NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgdGVzdCBpbXBv
cnRlZCBmb3IgYmxpbmsuCisKKyAgICAgICAgKiBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xh
YmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVs
LWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQuaHRtbDogQWRkZWQuCisKIDIwMTkt
MDctMjEgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNM
XSBDaGVja2VyIG5lZWRzIHRvIHNldEVycm9yKCkgd2hlbiBhIHByb3BlcnR5IGFjY2VzcyBub2Rl
IGNhbid0IGNvbW1pdCBpdHMgYmFzZSB0eXBlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0
aXZlLWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFz
dC9mb3Jtcy9sYWJlbC9sYWJlbC1jb250YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzk3YTU1
MDBjMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9mYXN0
L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK2J1dHRvbgorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK2RldGFpbHMKK1BBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitlbWJlZAorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK2lmcmFtZQorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK2xhYmVsCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgorc2VsZWN0CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgordGV4dGFyZWEKK1BBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCisKK2EKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCBpcyAiY29udHJvbCIKK2FbaHJlZl0KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCBpcyBub3QgImNvbnRyb2wiCithdWRpb1tjb250cm9sc10KK1BBU1MgZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCit2aWRlbworUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIGlzICJjb250cm9sIgordmlkZW9bY29udHJvbHNdCitQQVNTIGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgoraW1nCitQQVNTIGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQgaXMgImNvbnRyb2wiCitpbWdbdXNlbWFwXQorUEFTUyBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK29iamVjdAorUEFTUyBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkIGlzICJjb250cm9sIgorb2JqZWN0W3VzZW1hcF0KK1BBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitpbnB1dAorUEFTUyBkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVy
YWN0aXZlLWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2Zhc3QvZm9y
bXMvbGFiZWwvbGFiZWwtY29udGFpbnMtb3RoZXItaW50ZXJhY3RpdmUtY29udGVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZDA2ZjgwOTgzYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvbGFiZWwv
bGFiZWwtY29udGFpbnMtb3RoZXItaW50ZXJhY3RpdmUtY29udGVudC5odG1sCkBAIC0wLDAgKzEs
NzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHkgaWQ9ImJvZHkiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi8uLi9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK3ZhciBpbnRlcmFjdGl2ZUVsZW1lbnRzMSA9IFsnYnV0dG9uJywgJ2RldGFp
bHMnLCAnZW1iZWQnLCAnaWZyYW1lJywgJ2xhYmVsJywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddOwor
dmFyIGludGVyYWN0aXZlRWxlbWVudHMyID0gWworICAgIFsnYScsICdocmVmJ10sCisgICAgWydh
dWRpbycsICdjb250cm9scyddLAorICAgIFsndmlkZW8nLCAnY29udHJvbHMnXSwKKyAgICBbJ2lt
ZycsICd1c2VtYXAnXSwKKyAgICBbJ29iamVjdCcsICd1c2VtYXAnXSwKK107CisKK3ZhciBsYWJl
bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7Citkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGxhYmVsKTsKK3ZhciBjb250cm9sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKK2NvbnRyb2wuaWQgPSAnY29udHJvbCc7CitsYWJlbC5hcHBlbmRDaGlsZChjb250cm9s
KTsKKworaW50ZXJhY3RpdmVFbGVtZW50czEuZm9yRWFjaChmdW5jdGlvbih0YWcpIHsKKyAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTsKKyAgICBlbGVtZW50Lmlk
ID0gdGFnOworICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CisgICAgZWxlbWVu
dC5zdHlsZS53aWR0aCA9ICcxMDBweCc7CisgICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnMTAw
cHgnOworICAgIGxhYmVsLmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgIGNsaWNrRWxlbWVudChl
bGVtZW50KTsKKyAgICBkZWJ1Zyh0YWcpOworICAgIHNob3VsZE5vdEJlKCdkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkJywgJyJjb250cm9sIicpOworICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
Ymx1cigpOworICAgIGxhYmVsLnJlbW92ZUNoaWxkKGVsZW1lbnQpOworfSk7CitkZWJ1ZygnJyk7
CisKK2ludGVyYWN0aXZlRWxlbWVudHMyLmZvckVhY2goZnVuY3Rpb24oZW50cnkpIHsKKyAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZW50cnlbMF0pOworICAgIGVsZW1l
bnQuaWQgPSBlbnRyeVswXTsKKyAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwor
ICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwcHgnOworICAgIGVsZW1lbnQuc3R5bGUuaGVp
Z2h0ID0gJzEwMHB4JzsKKyAgICBsYWJlbC5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICAvLyBB
dWRpbyBlbGVtZW50cyB3aXRob3V0IGNvbnRyb2xzIGF0dHJpYnV0ZSBpcyBhbHdheXMgaW52aXNp
YmxlLgorICAgIGlmIChlbnRyeVswXSAhPSAnYXVkaW8nKSB7CisgICAgICAgIGNsaWNrRWxlbWVu
dChlbGVtZW50KTsKKyAgICAgICAgZGVidWcoZW50cnlbMF0pOworICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnY29udHJvbCcpOworICAg
IH0KKyAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTsKKworICAgIGVsZW1lbnQuc2V0
QXR0cmlidXRlKGVudHJ5WzFdLCBlbnRyeVsxXSk7CisgICAgLy8gUHJldmVudHMgcGFnZSB0cmFu
c2l0aW9uLgorICAgIGlmIChlbnRyeVswXSA9PSAnYScpCisgICAgICAgIGVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7IGUucHJldmVudERlZmF1bHQoKTsgfSwg
ZmFsc2UpOworICAgIGNsaWNrRWxlbWVudChlbGVtZW50KTsKKyAgICBkZWJ1ZyhlbnRyeVswXSAr
ICdbJyArIGVudHJ5WzFdICsgJ10nKTsKKyAgICBzaG91bGROb3RCZSgnZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCcsICciY29udHJvbCInKTsKKyAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJs
dXIoKTsKKyAgICBsYWJlbC5yZW1vdmVDaGlsZChlbGVtZW50KTsKK30pOworCit2YXIgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CitlbGVtZW50LmlkID0gJ2lucHV0
JzsKK2VsZW1lbnQudHlwZSA9ICd0ZXh0JzsKK2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9j
ayc7CitlbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMHB4JzsKK2VsZW1lbnQuc3R5bGUuaGVpZ2h0
ID0gJzEwMHB4JzsKK2xhYmVsLmFwcGVuZENoaWxkKGVsZW1lbnQpOworY2xpY2tFbGVtZW50KGVs
ZW1lbnQpOworZGVidWcoJ2lucHV0Jyk7CitzaG91bGROb3RCZSgnZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCcsICciY29udHJvbCInKTsKK2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpOwor
CisvLyBOb3RlOiBJdCdzIGltcG9zc2libGUgdG8gY2xpY2sgb24gaW5wdXRbdHlwZT1oaWRkZW5d
LgorCitsYWJlbC5yZW1vdmUoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY2
OGE3NzVlZjQ3Li5mOWQwN2M5MzBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5
LTA3LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBVbmFibGUgdG8gZW50ZXIgdGV4dCBpbiBodHRwczovL2VhdC5maQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMDQ2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBi
dXR0b24gZWxlbWVudCBpbnNpZGUgdGhlIGxhYmVsIGlzIHJlY2VpdmluZyB0aGUgY2xpY2sgZXZl
bnQsIHdoaWNoIGNhdXNlcyB0aGUgZm9ybSB0byBiZQorICAgICAgICBzdWJtaXR0ZWQuIEFjY29y
ZGluZyB0byB0aGUgc3BlYyB3ZSBzaG91bGQgZG8gbm90aGluZyBpbiB0aGlzIGNhc2UsIGJlY2F1
c2UgYnV0dG9uIGVsZW1lbnQgaXMgY29uc2lkZXJlZCB0byBiZQorICAgICAgICBpbnRlcmFjdGl2
ZSBjb250ZW50LgorCisgICAgICAgICJUaGUgYWN0aXZhdGlvbiBiZWhhdmlvciBvZiBhIGxhYmVs
IGVsZW1lbnQgZm9yIGV2ZW50cyB0YXJnZXRlZCBhdCBpbnRlcmFjdGl2ZSBjb250ZW50IGRlc2Nl
bmRhbnRzIG9mIGEgbGFiZWwKKyAgICAgICAgZWxlbWVudCwgYW5kIGFueSBkZXNjZW5kYW50cyBv
ZiB0aG9zZSBpbnRlcmFjdGl2ZSBjb250ZW50IGRlc2NlbmRhbnRzLCBtdXN0IGJlIHRvIGRvIG5v
dGhpbmcuIgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGFiZWwt
ZWxlbWVudAorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBIVE1MRWxlbWVudDo6aXNJbnRlcmFj
dGl2ZUNvbnRlbnQoKSBhY2NvcmRpbmcgdG8gdGhlIEhUTUwgc3BlYzoKKworICAgICAgICAiSW50
ZXJhY3RpdmUgY29udGVudCBpcyBjb250ZW50IHRoYXQgaXMgc3BlY2lmaWNhbGx5IGludGVuZGVk
IGZvciB1c2VyIGludGVyYWN0aW9uLgorICAgICAgICAgICAgYSAoaWYgdGhlIGhyZWYgYXR0cmli
dXRlIGlzIHByZXNlbnQpYXVkaW8gKGlmIHRoZSBjb250cm9scyBhdHRyaWJ1dGUgaXMgcHJlc2Vu
dClidXR0b25kZXRhaWxzZW1iZWRpZnJhbWVpbWcgKGlmIHRoZQorICAgICAgICAgICAgdXNlbWFw
IGF0dHJpYnV0ZSBpcyBwcmVzZW50KWlucHV0IChpZiB0aGUgdHlwZSBhdHRyaWJ1dGUgaXMgbm90
IGluIHRoZSBIaWRkZW4gc3RhdGUpbGFiZWxvYmplY3QgKGlmIHRoZSB1c2VtYXAKKyAgICAgICAg
ICAgIGF0dHJpYnV0ZSBpcyBwcmVzZW50KXNlbGVjdHRleHRhcmVhdmlkZW8gKGlmIHRoZSBjb250
cm9scyBhdHRyaWJ1dGUgaXMgcHJlc2VudCkiCisgICAgICAgIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI2ludGVyYWN0aXZlLWNvbnRlbnQtMgorCisgICAgICAgIFRoYXQncyB1c2VkIGlu
IEhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoKSB1c2luZyB0aGUgaGVscGVy
IG1ldGhvZAorICAgICAgICBpc0V2ZW50VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVzY2VuZGFudHMo
KSB0byBkZWNpZGUgd2hldGhlciB0byBzaW11bGF0ZSBhIGNsaWNrIGV2ZW50IG9yIGRvIG5vdGhp
bmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6Cisg
ICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxEZXRhaWxzRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50
Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1M
SW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50IGNv
bnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxMYWJlbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVu
dDo6aXNFdmVudFRhcmdldGVkQXRJbnRlcmFjdGl2ZURlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAg
ICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojppc0ludGVy
YWN0aXZlQ29udGVudCBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MT2JqZWN0RWxlbWVudDo6aXNJbnRlcmFjdGl2ZUNvbnRlbnQgY29uc3QpOgorICAgICAg
ICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RF
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IaWRkZW5JbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmlzSW50ZXJhY3RpdmVDb250ZW50IGNvbnN0
KToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorCiAyMDE5LTA3LTIxICBLb25zdGFudGlu
IFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBBZGQgRGF0YUxpc3RCdXR0
b25FbGVtZW50LmNwcCB0byB1bmlmaWVkIHNvdXJjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAKaW5kZXggMTA0N2M1OGVlYzMuLjY3ZGQ5ZWUwZjEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtMTAzLDYgKzEwMywxMSBA
QCBib29sIEhUTUxBbmNob3JFbGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCkgY29uc3QKICAgICBy
ZXR1cm4gSFRNTEVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKTsKIH0KIAorYm9vbCBIVE1MQW5j
aG9yRWxlbWVudDo6aXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBp
c0xpbmsoKTsKK30KKwogc3RhdGljIGJvb2wgaGFzTm9uRW1wdHlCb3goUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlbmRlcmVyKQogewogICAgIGlmICghcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmgKaW5kZXggZTlkMmQ4ODBhMTcuLmY0M2YxM2JjZjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC05MCw2ICs5MCw3IEBAIHBy
aXZhdGU6CiAgICAgU3RyaW5nIHRhcmdldCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGludCB0YWJJ
bmRleCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgZHJhZ2dhYmxlKCkgY29uc3QgZmluYWw7Cisg
ICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsOwogCiAgICAgU3RyaW5n
IGVmZmVjdGl2ZVRhcmdldCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCdXR0b25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25F
bGVtZW50LmgKaW5kZXggNmYwMTNmN2NjNWMuLjQwMDk4NzNhMGY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oCkBAIC01OSw2ICs1OSw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IGJvb2wgc3VwcG9ydExhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBi
b29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgYm9vbCBpc1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIG1hdGNoZXNEZWZhdWx0UHNldWRvQ2xhc3MoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5oCmluZGV4IDdiNzhlYjE4YjJhLi5lYTE0ZjI0ZjVl
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5oCkBAIC01MSw2ICs1
MSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hh
ZG93Um9vdCYpIGZpbmFsOwogICAgIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgYm9vbCBtX2lzT3BlbiB7IGZhbHNlIH07
CiAgICAgSFRNTFNsb3RFbGVtZW50KiBtX3N1bW1hcnlTbG90IHsgbnVsbHB0ciB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5oCmluZGV4IDY3YmY2YTZhYmVlLi4yMTNiMTlmN2NlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaApAQCAtOTIsNiArOTIsOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBGb3JtTmFtZWRJdGVtKiBhc0Zvcm1OYW1lZEl0ZW0oKTsKICAgICB2aXJ0dWFsIEZvcm1B
c3NvY2lhdGVkRWxlbWVudCogYXNGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKTsKIAorICAgIHZpcnR1
YWwgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisK
ICAgICBib29sIGhhc1RhZ05hbWUoY29uc3QgSFRNTFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0
IHsgcmV0dXJuIGhhc0xvY2FsTmFtZShuYW1lLmxvY2FsTmFtZSgpKTsgfQogCiAgICAgc3RhdGlj
IGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50TmFtZUZvckV2ZW50SGFuZGxlckF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1i
ZWRFbGVtZW50LmgKaW5kZXggNDUxNTcwNTg5OWIuLjdmYTdlMTA4YmVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaApAQCAtNDMsNiArNDMsOCBAQCBwcml2YXRlOgogICAg
IGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29uc3QgZmluYWw7CiAgICAg
Y29uc3QgQXRvbVN0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBmaW5hbDsKIAorICAgIGJv
b2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisK
ICAgICBSZW5kZXJXaWRnZXQqIHJlbmRlcldpZGdldExvYWRpbmdQbHVnaW4oKSBjb25zdCBmaW5h
bDsKIAogICAgIHZvaWQgdXBkYXRlV2lkZ2V0KENyZWF0ZVBsdWdpbnMpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5oCmluZGV4IGQ3ZDMzNjI4YmFkLi45YTAyODRl
YzRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaApAQCAtNTMsNiAr
NTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29sbGVjdFN0eWxlRm9yUHJl
c2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5n
JiwgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYpIGZpbmFsOwogCisgICAgYm9vbCBpc0ludGVyYWN0
aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKwogICAgIGJvb2wgcmVu
ZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsOwogICAgIFJlbmRlclB0cjxS
ZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3Qg
UmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCmluZGV4IDkzZWFkNWNjY2IwLi5lNTlhOGM2MTgwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC0zMDMsNiArMzAzLDExIEBAIGJvb2wg
SFRNTEltYWdlRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAogICAgIHJldHVybiBIVE1MRWxl
bWVudDo6aXNGb2N1c2FibGUoKTsKIH0KIAorYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojppc0ludGVy
YWN0aXZlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc0F0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24odXNlbWFwQXR0cik7Cit9CisKIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6
ZGlkQXR0YWNoUmVuZGVyZXJzKCkKIHsKICAgICBpZiAoIWlzPFJlbmRlckltYWdlPihyZW5kZXJl
cigpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggZDRmMjE0ZDM1
MWIuLmE1OWNmYjIxYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApA
QCAtMTU2LDYgKzE1Niw4IEBAIHByaXZhdGU6CiAgICAgSFRNTEltYWdlRWxlbWVudCYgYXNIVE1M
RWxlbWVudCgpIGZpbmFsIHsgcmV0dXJuICp0aGlzOyB9CiAgICAgY29uc3QgSFRNTEltYWdlRWxl
bWVudCYgYXNIVE1MRWxlbWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICp0aGlzOyB9CiAKKyAg
ICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICB2b2lkIHNl
bGVjdEltYWdlU291cmNlKCk7CiAKICAgICBJbWFnZUNhbmRpZGF0ZSBiZXN0Rml0U291cmNlRnJv
bVBpY3R1cmVFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBkM2VlNDYwMjkxYy4uMjg4MWM2ZGNhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNDQ0LDYgKzQ0NCwxMSBAQCBib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+
aXNNb3VzZUZvY3VzYWJsZSgpOwogfQogCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzSW50ZXJh
Y3RpdmVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzSW50ZXJh
Y3RpdmVDb250ZW50KCk7Cit9CisKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNUZXh0Rm9ybUNv
bnRyb2xGb2N1c2FibGUoKSBjb25zdAogewogICAgIHJldHVybiBIVE1MVGV4dEZvcm1Db250cm9s
RWxlbWVudDo6aXNGb2N1c2FibGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKaW5kZXggMDgxMTRkZDdiYWIuLjRlMmVmZDQ3ZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaApAQCAtMzcxLDYgKzM3MSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1
cGRhdGVGb2N1c0FwcGVhcmFuY2UoU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25S
ZXZlYWxNb2RlKSBmaW5hbDsKICAgICBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCkgZmluYWw7
CiAKKyAgICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICBi
b29sIGlzSW5uZXJUZXh0RWxlbWVudEVkaXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIWhh
c0F1dG9GaWxsU3Ryb25nUGFzc3dvcmRCdXR0b24oKSAmJiBIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudDo6aXNJbm5lclRleHRFbGVtZW50RWRpdGFibGUoKTsgfQogCiAgICAgYm9vbCBjYW5Ucmln
Z2VySW1wbGljaXRTdWJtaXNzaW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gaXNUZXh0RmllbGQo
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAKaW5kZXggYmIzZjA4
ZGI2Y2IuLjllOWYxZTc0N2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxM
YWJlbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5jcHAKQEAgLTExMSw2ICsxMTEsMjIgQEAgdm9pZCBIVE1MTGFiZWxFbGVtZW50OjpzZXRIb3Zl
cmVkKGJvb2wgb3ZlcikKICAgICAgICAgZWxlbWVudC0+c2V0SG92ZXJlZChvdmVyKTsKIH0KIAor
Ym9vbCBIVE1MTGFiZWxFbGVtZW50Ojppc0V2ZW50VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVzY2Vu
ZGFudHMoRXZlbnQmIGV2ZW50KSBjb25zdAoreworICAgIGlmICghaXM8Tm9kZT4oZXZlbnQudGFy
Z2V0KCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvJiBub2RlID0gZG93bmNh
c3Q8Tm9kZT4oKmV2ZW50LnRhcmdldCgpKTsKKyAgICBpZiAoIWNvbnRhaW5zSW5jbHVkaW5nU2hh
ZG93RE9NKCZub2RlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChjb25zdCBh
dXRvKiBpdCA9ICZub2RlOyBpdCAmJiBpdCAhPSB0aGlzOyBpdCA9IGl0LT5wYXJlbnRPclNoYWRv
d0hvc3ROb2RlKCkpIHsKKyAgICAgICAgaWYgKGlzPEhUTUxFbGVtZW50PihpdCkgJiYgZG93bmNh
c3Q8SFRNTEVsZW1lbnQ+KCppdCkuaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KIHZvaWQgSFRNTExh
YmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiB7CiAgICAgc3Rh
dGljIGJvb2wgcHJvY2Vzc2luZ0NsaWNrID0gZmFsc2U7CkBAIC0xMjUsNiArMTQxLDE1IEBAIHZv
aWQgSFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICAvLyBUaGUgYWN0aXZhdGlv
biBiZWhhdmlvciBvZiBhIGxhYmVsIGVsZW1lbnQgZm9yIGV2ZW50cyB0YXJnZXRlZCBhdCBpbnRl
cmFjdGl2ZQorICAgICAgICAvLyBjb250ZW50IGRlc2NlbmRhbnRzIG9mIGEgbGFiZWwgZWxlbWVu
dCwgYW5kIGFueSBkZXNjZW5kYW50cyBvZiB0aG9zZSBpbnRlcmFjdGl2ZQorICAgICAgICAvLyBj
b250ZW50IGRlc2NlbmRhbnRzLCBtdXN0IGJlIHRvIGRvIG5vdGhpbmcuCisgICAgICAgIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1sYWJlbC1lbGVtZW50CisgICAgICAgIGlm
IChpc0V2ZW50VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVzY2VuZGFudHMoZXZlbnQpKSB7CisgICAg
ICAgICAgICBIVE1MRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBwcm9jZXNzaW5nQ2xpY2sgPSB0cnVl
OwogCiAgICAgICAgIGNvbnRyb2wtPmRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soJmV2ZW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKaW5kZXggNzQ4Zjg1OWNiOWUuLmE2MDdk
ZjZjYzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaApAQCAtNDAsNiAr
NDAsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxMYWJlbEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBib29sIGlzRXZlbnRUYXJnZXRlZEF0SW50
ZXJhY3RpdmVEZXNjZW5kYW50cyhFdmVudCYpIGNvbnN0OworCiAgICAgdm9pZCBhY2Nlc3NLZXlB
Y3Rpb24oYm9vbCBzZW5kTW91c2VFdmVudHMpIGZpbmFsOwogCiAgICAgLy8gT3ZlcnJpZGRlbiB0
byB1cGRhdGUgdGhlIGhvdmVyL2FjdGl2ZSBzdGF0ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBjb250
cm9sLgpAQCAtNTAsNiArNTIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCYpIGZpbmFsOwogCiAgICAgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24pIGZpbmFsOworCisgICAgYm9vbCBpc0ludGVyYWN0
aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIH0gLy9uYW1l
c3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk5MTZh
M2EyMDY0Li5mMGNhYzUxMWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCkBAIC04MDQsNiArODA0LDExIEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aXNNb3Vz
ZUZvY3VzYWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29u
dHJvbHMoKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBp
ZiAobmFtZSA9PSBzcmNBdHRyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CmluZGV4IDY4MmUyMjMzMmQzLi5iNzllY2Y2YzNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgKQEAgLTYyNiw2ICs2MjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlk
RmluaXNoSW5zZXJ0aW5nTm9kZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNl
c3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlk
UmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0ludGVyYWN0
aXZlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCB3aWxsQmVjb21lRnVsbHNj
cmVlbkVsZW1lbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxTdG9wQmVpbmdGdWxsc2NyZWVu
RWxlbWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50
LmNwcAppbmRleCBhMzkxY2E4YzJjNS4uZTBjZmMxN2M2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC0zMjUsNiArMzI1LDExIEBAIGJvb2wgSFRNTE9i
amVjdEVsZW1lbnQ6OmlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKSBj
b25zdAogICAgIHJldHVybiBhdHRyaWJ1dGUubmFtZSgpID09IGRhdGFBdHRyIHx8IGF0dHJpYnV0
ZS5uYW1lKCkgPT0gY29kZWJhc2VBdHRyIHx8IChhdHRyaWJ1dGUubmFtZSgpID09IHVzZW1hcEF0
dHIgJiYgYXR0cmlidXRlLnZhbHVlKCkuc3RyaW5nKClbMF0gIT0gJyMnKSB8fCBIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQogCitib29sIEhUTUxP
YmplY3RFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24odXNlbWFwQXR0cik7Cit9CisKIGNv
bnN0IEF0b21TdHJpbmcmIEhUTUxPYmplY3RFbGVtZW50OjppbWFnZVNvdXJjZVVSTCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZGF0YUF0dHIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCmluZGV4IDFkNmYyODUxMTFh
Li5mYTlhZTU2NTk5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaApA
QCAtOTUsNiArOTUsOCBAQCBwcml2YXRlOgogICAgIEhUTUxPYmplY3RFbGVtZW50JiBhc0hUTUxF
bGVtZW50KCkgZmluYWwgeyByZXR1cm4gKnRoaXM7IH0KICAgICBjb25zdCBIVE1MT2JqZWN0RWxl
bWVudCYgYXNIVE1MRWxlbWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICp0aGlzOyB9CiAKKyAg
ICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICBib29sIGlz
Rm9ybUNvbnRyb2xFbGVtZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggZmJlODg3NzY4ODIuLjNjM2Vi
NTY0MmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0xMjMs
NiArMTIzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3VwcG9ydExhYmVscygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KIAorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKICAgICBGb3JtQ29udHJvbFN0YXRlIHNhdmVGb3Jt
Q29udHJvbFN0YXRlKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlRm9ybUNvbnRyb2xT
dGF0ZShjb25zdCBGb3JtQ29udHJvbFN0YXRlJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKaW5kZXggMDFkYTY5NDI3ZGMuLjIyMGUxNGRkMjQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtOTgsNiArOTgs
OCBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAgICAgYm9vbCBzdXBwb3J0TGFiZWxzKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogCisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KKwogICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvcm1Db250cm9sVHlw
ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgRm9ybUNvbnRyb2xTdGF0ZSBzYXZlRm9ybUNvbnRyb2xT
dGF0ZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IaWRk
ZW5JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmgKaW5k
ZXggZGFjNjI4NDhhYjQuLjA4Y2U0YTg2ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hpZGRlbklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5w
dXRUeXBlLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0b3Jlc1ZhbHVl
U2VwYXJhdGVGcm9tQXR0cmlidXRlKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc0hpZGRlblR5cGUo
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgc2hvdWxkUmVzcGVjdEhlaWdodEFu
ZFdpZHRoQXR0cmlidXRlcygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3Ry
aW5nJiwgYm9vbCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAgICAgYm9vbCBh
cHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYsIGJvb2wpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDIxOThiODM0NGMxLi5mNTdmYjZhZmNmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNzk3LDYgKzc5NywxMSBAQCBib29sIElucHV0VHlw
ZTo6aXNJbWFnZUJ1dHRvbigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIElu
cHV0VHlwZTo6aXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVl
OworfQorCiBib29sIElucHV0VHlwZTo6c3VwcG9ydExhYmVscygpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA2NjVlNjZjZjVhMC4uMjA4YmYy
NTkwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMTAxLDYgKzEwMSw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNGaWxlVXBsb2FkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIGlzSGlkZGVuVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQnV0dG9u
KCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNNb250aEZpZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQo
KSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375219</attachid>
            <date>2019-07-31 01:31:40 -0700</date>
            <delta_ts>2019-08-27 02:03:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-interactive-content.diff</filename>
            <type>text/plain</type>
            <size>22783</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNTRkZTdhODMxZC4uYTZiOGFlMjE1NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOS0wNy0zMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgVW5hYmxlIHRvIGVudGVyIHRleHQgaW4gaHR0cHM6Ly9lYXQuZmkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzA0NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgdGVzdCBpbXBv
cnRlZCBmb3IgYmxpbmsuCisKKyAgICAgICAgKiBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xh
YmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVs
LWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRoZSBuZXcgdGVzdCBi
ZWNhdXNlIGl0IHJlcXVpcmVzIGV2ZW50U2VuZGVyLm1vdXNlRG93bi9VcC9Nb3ZlVG8oKQorCiAy
MDE5LTA3LTMxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBEYXRhbGlzdCBlbGVtZW50IHN1cHBvcnQgZm9yIFRleHRGaWVsZElucHV0
VHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9s
YWJlbC9sYWJlbC1jb250YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvbGFiZWwvbGFiZWwtY29u
dGFpbnMtb3RoZXItaW50ZXJhY3RpdmUtY29udGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc5N2E1NTAwYzA0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJlbC9sYWJlbC1jb250
YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5
IEBACitidXR0b24KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRy
b2wiCitkZXRhaWxzCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250
cm9sIgorZW1iZWQKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRy
b2wiCitpZnJhbWUKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRy
b2wiCitsYWJlbAorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJv
bCIKK3NlbGVjdAorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJv
bCIKK3RleHRhcmVhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250
cm9sIgorCithCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImNvbnRyb2wiCith
W2hyZWZdCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgor
YXVkaW9bY29udHJvbHNdCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJj
b250cm9sIgordmlkZW8KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiY29udHJv
bCIKK3ZpZGVvW2NvbnRyb2xzXQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5v
dCAiY29udHJvbCIKK2ltZworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJjb250
cm9sIgoraW1nW3VzZW1hcF0KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3Qg
ImNvbnRyb2wiCitvYmplY3QKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiY29u
dHJvbCIKK29iamVjdFt1c2VtYXBdCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMg
bm90ICJjb250cm9sIgoraW5wdXQKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBu
b3QgImNvbnRyb2wiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jt
cy9sYWJlbC9sYWJlbC1jb250YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5z
LW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMC4uZGQwNmY4MDk4M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWlu
dGVyYWN0aXZlLWNvbnRlbnQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzxib2R5IGlkPSJib2R5Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaW50ZXJh
Y3RpdmVFbGVtZW50czEgPSBbJ2J1dHRvbicsICdkZXRhaWxzJywgJ2VtYmVkJywgJ2lmcmFtZScs
ICdsYWJlbCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTsKK3ZhciBpbnRlcmFjdGl2ZUVsZW1lbnRz
MiA9IFsKKyAgICBbJ2EnLCAnaHJlZiddLAorICAgIFsnYXVkaW8nLCAnY29udHJvbHMnXSwKKyAg
ICBbJ3ZpZGVvJywgJ2NvbnRyb2xzJ10sCisgICAgWydpbWcnLCAndXNlbWFwJ10sCisgICAgWydv
YmplY3QnLCAndXNlbWFwJ10sCitdOworCit2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdsYWJlbCcpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsYWJlbCk7Cit2YXIgY29u
dHJvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Citjb250cm9sLmlkID0gJ2Nv
bnRyb2wnOworbGFiZWwuYXBwZW5kQ2hpbGQoY29udHJvbCk7CisKK2ludGVyYWN0aXZlRWxlbWVu
dHMxLmZvckVhY2goZnVuY3Rpb24odGFnKSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHRhZyk7CisgICAgZWxlbWVudC5pZCA9IHRhZzsKKyAgICBlbGVtZW50LnN0
eWxlLmRpc3BsYXkgPSAnYmxvY2snOworICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwcHgn
OworICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzEwMHB4JzsKKyAgICBsYWJlbC5hcHBlbmRD
aGlsZChlbGVtZW50KTsKKyAgICBjbGlja0VsZW1lbnQoZWxlbWVudCk7CisgICAgZGVidWcodGFn
KTsKKyAgICBzaG91bGROb3RCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICciY29udHJv
bCInKTsKKyAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTsKKyAgICBsYWJlbC5yZW1v
dmVDaGlsZChlbGVtZW50KTsKK30pOworZGVidWcoJycpOworCitpbnRlcmFjdGl2ZUVsZW1lbnRz
Mi5mb3JFYWNoKGZ1bmN0aW9uKGVudHJ5KSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KGVudHJ5WzBdKTsKKyAgICBlbGVtZW50LmlkID0gZW50cnlbMF07CisgICAg
ZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICBlbGVtZW50LnN0eWxlLndpZHRo
ID0gJzEwMHB4JzsKKyAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDBweCc7CisgICAgbGFi
ZWwuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgLy8gQXVkaW8gZWxlbWVudHMgd2l0aG91dCBj
b250cm9scyBhdHRyaWJ1dGUgaXMgYWx3YXlzIGludmlzaWJsZS4KKyAgICBpZiAoZW50cnlbMF0g
IT0gJ2F1ZGlvJykgeworICAgICAgICBjbGlja0VsZW1lbnQoZWxlbWVudCk7CisgICAgICAgIGRl
YnVnKGVudHJ5WzBdKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkJywgJ2NvbnRyb2wnKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5ibHVyKCk7CisKKyAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShlbnRyeVsxXSwgZW50
cnlbMV0pOworICAgIC8vIFByZXZlbnRzIHBhZ2UgdHJhbnNpdGlvbi4KKyAgICBpZiAoZW50cnlb
MF0gPT0gJ2EnKQorICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVu
Y3Rpb24oZSkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0sIGZhbHNlKTsKKyAgICBjbGlja0VsZW1l
bnQoZWxlbWVudCk7CisgICAgZGVidWcoZW50cnlbMF0gKyAnWycgKyBlbnRyeVsxXSArICddJyk7
CisgICAgc2hvdWxkTm90QmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnImNvbnRyb2wi
Jyk7CisgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7CisgICAgbGFiZWwucmVtb3Zl
Q2hpbGQoZWxlbWVudCk7Cit9KTsKKwordmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpbnB1dCcpOworZWxlbWVudC5pZCA9ICdpbnB1dCc7CitlbGVtZW50LnR5cGUgPSAndGV4
dCc7CitlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOworZWxlbWVudC5zdHlsZS53aWR0
aCA9ICcxMDBweCc7CitlbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDBweCc7CitsYWJlbC5hcHBl
bmRDaGlsZChlbGVtZW50KTsKK2NsaWNrRWxlbWVudChlbGVtZW50KTsKK2RlYnVnKCdpbnB1dCcp
Oworc2hvdWxkTm90QmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnImNvbnRyb2wiJyk7
Citkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTsKKworLy8gTm90ZTogSXQncyBpbXBvc3Np
YmxlIHRvIGNsaWNrIG9uIGlucHV0W3R5cGU9aGlkZGVuXS4KKworbGFiZWwucmVtb3ZlKCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBmYTRlZGNjZDI3Mi4uZjBlOWI1YmM5MzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwMTYsNiArMTAxNiw3
IEBAIHdlYmtpdC5vcmcvYi8xMjM0MzEgaHR0cC90ZXN0cy9jc3MvbGluay1jc3MtZGlzYWJsZWQt
dmFsdWUtd2l0aC1zbG93LWxvYWRpbmctc2hlCiAjIGV2ZW50U2VuZGVyLm1vdXNlRG93biBpcyBu
b3QgaW1wbGVtZW50ZWQKIGZhc3QvbG9hZGVyL2xvY2F0aW9uLWhhc2gtdXNlci1nZXN0dXJlLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0
LWV2ZW50LWNyYXNoLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvbGFi
ZWwvbGFiZWwtY29udGFpbnMtb3RoZXItaW50ZXJhY3RpdmUtY29udGVudC5odG1sIFsgU2tpcCBd
CiBmYXN0L2RvbS9XaW5kb3cvcG9zdC1tZXNzYWdlLXVzZXItYWN0aW9uLmh0bWwgWyBTa2lwIF0K
IGZhc3QvaW1hZ2VzL2ltYWdlLXVzZW1hcC1wYXJzaW5nLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hh
ZG93LWRvbS9mdWxsc2NyZWVuLWluLXNoYWRvdy1mdWxsLXNjcmVlbi1hbmNlc3Rvci5odG1sIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYjM5YmIzMWYxYmMuLjUzNTkyZTJhOGZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNjEgQEAKKzIwMTktMDctMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFVuYWJsZSB0byBlbnRlciB0ZXh0IGluIGh0dHBz
Oi8vZWF0LmZpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTMwNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGlzIGJlY2F1c2UgdGhlIGJ1dHRvbiBlbGVtZW50IGluc2lkZSB0aGUgbGFiZWwgaXMg
cmVjZWl2aW5nIHRoZSBjbGljayBldmVudCwgd2hpY2ggY2F1c2VzIHRoZSBmb3JtIHRvIGJlCisg
ICAgICAgIHN1Ym1pdHRlZC4gQWNjb3JkaW5nIHRvIHRoZSBzcGVjIHdlIHNob3VsZCBkbyBub3Ro
aW5nIGluIHRoaXMgY2FzZSwgYmVjYXVzZSBidXR0b24gZWxlbWVudCBpcyBjb25zaWRlcmVkIHRv
IGJlCisgICAgICAgIGludGVyYWN0aXZlIGNvbnRlbnQuCisKKyAgICAgICAgIlRoZSBhY3RpdmF0
aW9uIGJlaGF2aW9yIG9mIGEgbGFiZWwgZWxlbWVudCBmb3IgZXZlbnRzIHRhcmdldGVkIGF0IGlu
dGVyYWN0aXZlIGNvbnRlbnQgZGVzY2VuZGFudHMgb2YgYSBsYWJlbAorICAgICAgICBlbGVtZW50
LCBhbmQgYW55IGRlc2NlbmRhbnRzIG9mIHRob3NlIGludGVyYWN0aXZlIGNvbnRlbnQgZGVzY2Vu
ZGFudHMsIG11c3QgYmUgdG8gZG8gbm90aGluZy4iCisgICAgICAgIGh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvI3RoZS1sYWJlbC1lbGVtZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IEhUTUxFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCgpIGFjY29yZGluZyB0byB0aGUgSFRN
TCBzcGVjOgorCisgICAgICAgICJJbnRlcmFjdGl2ZSBjb250ZW50IGlzIGNvbnRlbnQgdGhhdCBp
cyBzcGVjaWZpY2FsbHkgaW50ZW5kZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uCisgICAgICAgICAg
ICBhIChpZiB0aGUgaHJlZiBhdHRyaWJ1dGUgaXMgcHJlc2VudClhdWRpbyAoaWYgdGhlIGNvbnRy
b2xzIGF0dHJpYnV0ZSBpcyBwcmVzZW50KWJ1dHRvbmRldGFpbHNlbWJlZGlmcmFtZWltZyAoaWYg
dGhlCisgICAgICAgICAgICB1c2VtYXAgYXR0cmlidXRlIGlzIHByZXNlbnQpaW5wdXQgKGlmIHRo
ZSB0eXBlIGF0dHJpYnV0ZSBpcyBub3QgaW4gdGhlIEhpZGRlbiBzdGF0ZSlsYWJlbG9iamVjdCAo
aWYgdGhlIHVzZW1hcAorICAgICAgICAgICAgYXR0cmlidXRlIGlzIHByZXNlbnQpc2VsZWN0dGV4
dGFyZWF2aWRlbyAoaWYgdGhlIGNvbnRyb2xzIGF0dHJpYnV0ZSBpcyBwcmVzZW50KSIKKyAgICAg
ICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJhY3RpdmUtY29udGVudC0yCisK
KyAgICAgICAgVGhhdCdzIHVzZWQgaW4gSFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFu
ZGxlcigpIHVzaW5nIHRoZSBoZWxwZXIgbWV0aG9kCisgICAgICAgIGlzRXZlbnRUYXJnZXRlZEF0
SW50ZXJhY3RpdmVEZXNjZW5kYW50cygpIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNpbXVsYXRlIGEg
Y2xpY2sgZXZlbnQgb3IgZG8gbm90aGluZy4KKworICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmlzSW50ZXJh
Y3RpdmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRN
TERldGFpbHNFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50IGNvbnN0KToKKyAg
ICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50IGNvbnN0
KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6
aXNJbnRlcmFjdGl2ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50Ojppc0V2ZW50VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVz
Y2VuZGFudHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6ZGVm
YXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MTGFiZWxFbGVtZW50Lmg6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50Ojppc0ludGVyYWN0aXZl
Q29udGVudCBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hpZGRlbklucHV0VHlwZS5oOgorICAgICAg
ICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aXNJ
bnRlcmFjdGl2ZUNvbnRlbnQgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisK
IDIwMTktMDctMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIERhdGFsaXN0IGVsZW1lbnQgc3VwcG9ydCBmb3IgVGV4dEZpZWxkSW5w
dXRUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDEw
NDdjNThlZWMzLi42N2RkOWVlMGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAKQEAgLTEwMyw2ICsxMDMsMTEgQEAgYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6
aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc01vdXNl
Rm9jdXNhYmxlKCk7CiB9CiAKK2Jvb2wgSFRNTEFuY2hvckVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVD
b250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNMaW5rKCk7Cit9CisKIHN0YXRpYyBib29s
IGhhc05vbkVtcHR5Qm94KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBp
ZiAoIXJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4
IGU5ZDJkODgwYTE3Li5mNDNmMTNiY2Y5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaApAQCAtOTAsNiArOTAsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyB0YXJnZXQo
KSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgdGFiSW5kZXgoKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIGRyYWdnYWJsZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRl
bnQoKSBjb25zdCBmaW5hbDsKIAogICAgIFN0cmluZyBlZmZlY3RpdmVUYXJnZXQoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oCmluZGV4IDZmMDEzZjdjYzVj
Li40MDA5ODczYTBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaApA
QCAtNTksNiArNTksNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc0VudW1lcmF0YWJsZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIGJvb2wgaXNTdWNjZXNzZnVsU3Vi
bWl0QnV0dG9uKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBtYXRjaGVzRGVmYXVsdFBzZXVkb0Ns
YXNzKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
ZXRhaWxzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQu
aAppbmRleCA3Yjc4ZWIxOGIyYS4uZWExNGYyNGY1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRGV0YWlsc0VsZW1lbnQuaApAQCAtNTEsNiArNTEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QmKSBmaW5hbDsKICAgICBib29s
IGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAg
Ym9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0K
IAogICAgIGJvb2wgbV9pc09wZW4geyBmYWxzZSB9OwogICAgIEhUTUxTbG90RWxlbWVudCogbV9z
dW1tYXJ5U2xvdCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCA2
N2JmNmE2YWJlZS4uMjEzYjE5ZjdjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKQEAg
LTkyLDYgKzkyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9ybU5hbWVkSXRlbSogYXNGb3Jt
TmFtZWRJdGVtKCk7CiAgICAgdmlydHVhbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGFzRm9ybUFz
c29jaWF0ZWRFbGVtZW50KCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBoYXNUYWdOYW1lKGNvbnN0
IEhUTUxRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdCB7IHJldHVybiBoYXNMb2NhbE5hbWUobmFt
ZS5sb2NhbE5hbWUoKSk7IH0KIAogICAgIHN0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBldmVudE5h
bWVGb3JFdmVudEhhbmRsZXJBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oCmluZGV4IDQ1MTU3MDU4
OTliLi43ZmE3ZTEwOGJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1i
ZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmgK
QEAgLTQzLDYgKzQzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGlzVVJMQXR0cmlidXRlKGNvbnN0
IEF0dHJpYnV0ZSYpIGNvbnN0IGZpbmFsOwogICAgIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlU291
cmNlVVJMKCkgY29uc3QgZmluYWw7CiAKKyAgICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCiAgICAgUmVuZGVyV2lkZ2V0KiByZW5kZXJX
aWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHVwZGF0ZVdpZGdl
dChDcmVhdGVQbHVnaW5zKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1l
bnQuaAppbmRleCBkN2QzMzYyOGJhZC4uOWEwMjg0ZWM0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJRnJhbWVFbGVtZW50LmgKQEAgLTUzLDYgKzUzLDggQEAgcHJpdmF0ZToKICAgICBib29s
IGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCBmaW5h
bDsKICAgICB2b2lkIGNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYsIE11dGFibGVTdHlsZVByb3BlcnRpZXMm
KSBmaW5hbDsKIAorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiB0cnVlOyB9CisKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBmaW5hbDsKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZpbmFs
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA5M2VhZDVj
Y2NiMC4uZTU5YThjNjE4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcApAQCAtMzAzLDYgKzMwMywxMSBAQCBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmlzRm9jdXNh
YmxlKCkgY29uc3QKICAgICByZXR1cm4gSFRNTEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7CiB9CiAK
K2Jvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdAorewor
ICAgIHJldHVybiBoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHVzZW1hcEF0dHIp
OworfQorCiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiB7CiAg
ICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5oCmluZGV4IGQ0ZjIxNGQzNTFiLi5hNTljZmIyMWFlZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTE1Niw2ICsxNTYsOCBAQCBwcml2YXRl
OgogICAgIEhUTUxJbWFnZUVsZW1lbnQmIGFzSFRNTEVsZW1lbnQoKSBmaW5hbCB7IHJldHVybiAq
dGhpczsgfQogICAgIGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQmIGFzSFRNTEVsZW1lbnQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiAqdGhpczsgfQogCisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVu
dCgpIGNvbnN0IGZpbmFsOworCiAgICAgdm9pZCBzZWxlY3RJbWFnZVNvdXJjZSgpOwogCiAgICAg
SW1hZ2VDYW5kaWRhdGUgYmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggZDNlZTQ2MDI5MWMuLjI4ODFj
NmRjYTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTQ0
NCw2ICs0NDQsMTEgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCkg
Y29uc3QKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzTW91c2VGb2N1c2FibGUoKTsKIH0KIAor
Ym9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1faW5wdXRUeXBlLT5pc0ludGVyYWN0aXZlQ29udGVudCgpOworfQorCiBib29s
IEhUTUxJbnB1dEVsZW1lbnQ6OmlzVGV4dEZvcm1Db250cm9sRm9jdXNhYmxlKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDA4MTE0ZGQ3YmFiLi40ZTJl
ZmQ0N2ViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTM3MSw2
ICszNzEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSkgZmluYWw7CiAgICAgYm9v
bCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGZpbmFsOwogCisgICAgYm9vbCBpc0ludGVyYWN0aXZl
Q29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCBpc0lubmVyVGV4dEVsZW1lbnRFZGl0
YWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICFoYXNBdXRvRmlsbFN0cm9uZ1Bhc3N3b3JkQnV0
dG9uKCkgJiYgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlzSW5uZXJUZXh0RWxlbWVudEVk
aXRhYmxlKCk7IH0KIAogICAgIGJvb2wgY2FuVHJpZ2dlckltcGxpY2l0U3VibWlzc2lvbigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIGlzVGV4dEZpZWxkKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxMYWJlbEVsZW1lbnQuY3BwCmluZGV4IGJiM2YwOGRiNmNiLi45ZTlmMWU3NDdjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCkBAIC0xMTEsNiArMTExLDIyIEBA
IHZvaWQgSFRNTExhYmVsRWxlbWVudDo6c2V0SG92ZXJlZChib29sIG92ZXIpCiAgICAgICAgIGVs
ZW1lbnQtPnNldEhvdmVyZWQob3Zlcik7CiB9CiAKK2Jvb2wgSFRNTExhYmVsRWxlbWVudDo6aXNF
dmVudFRhcmdldGVkQXRJbnRlcmFjdGl2ZURlc2NlbmRhbnRzKEV2ZW50JiBldmVudCkgY29uc3QK
K3sKKyAgICBpZiAoIWlzPE5vZGU+KGV2ZW50LnRhcmdldCgpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgYXV0byYgbm9kZSA9IGRvd25jYXN0PE5vZGU+KCpldmVudC50YXJnZXQoKSk7
CisgICAgaWYgKCFjb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSgmbm9kZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGZvciAoY29uc3QgYXV0byogaXQgPSAmbm9kZTsgaXQgJiYgaXQg
IT0gdGhpczsgaXQgPSBpdC0+cGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpKSB7CisgICAgICAgIGlm
IChpczxIVE1MRWxlbWVudD4oaXQpICYmIGRvd25jYXN0PEhUTUxFbGVtZW50PigqaXQpLmlzSW50
ZXJhY3RpdmVDb250ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CiB2b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhh
bmRsZXIoRXZlbnQmIGV2ZW50KQogewogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdDbGljayA9
IGZhbHNlOwpAQCAtMTI1LDYgKzE0MSwxNSBAQCB2b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKKyAgICAgICAgLy8gVGhlIGFjdGl2YXRpb24gYmVoYXZpb3Igb2YgYSBsYWJlbCBlbGVt
ZW50IGZvciBldmVudHMgdGFyZ2V0ZWQgYXQgaW50ZXJhY3RpdmUKKyAgICAgICAgLy8gY29udGVu
dCBkZXNjZW5kYW50cyBvZiBhIGxhYmVsIGVsZW1lbnQsIGFuZCBhbnkgZGVzY2VuZGFudHMgb2Yg
dGhvc2UgaW50ZXJhY3RpdmUKKyAgICAgICAgLy8gY29udGVudCBkZXNjZW5kYW50cywgbXVzdCBi
ZSB0byBkbyBub3RoaW5nLgorICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
LyN0aGUtbGFiZWwtZWxlbWVudAorICAgICAgICBpZiAoaXNFdmVudFRhcmdldGVkQXRJbnRlcmFj
dGl2ZURlc2NlbmRhbnRzKGV2ZW50KSkgeworICAgICAgICAgICAgSFRNTEVsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoZXZlbnQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
ICAgICAgICAgcHJvY2Vzc2luZ0NsaWNrID0gdHJ1ZTsKIAogICAgICAgICBjb250cm9sLT5kaXNw
YXRjaFNpbXVsYXRlZENsaWNrKCZldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMYWJlbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxl
bWVudC5oCmluZGV4IDc0OGY4NTljYjllLi5hNjA3ZGY2Y2M0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTGFiZWxFbGVtZW50LmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBIVE1MTGFiZWxFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CisgICAgYm9vbCBpc0V2ZW50VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVzY2VuZGFudHMoRXZlbnQm
KSBjb25zdDsKKwogICAgIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRz
KSBmaW5hbDsKIAogICAgIC8vIE92ZXJyaWRkZW4gdG8gdXBkYXRlIHRoZSBob3Zlci9hY3RpdmUg
c3RhdGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbC4KQEAgLTUwLDYgKzUyLDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmKSBmaW5hbDsKIAogICAg
IHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9u
KSBmaW5hbDsKKworICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiB0cnVlOyB9CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA4ODVjYjU0YzU5Yi4uYjc0NTBmNzQ5MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtODA0LDYgKzgwNCwxMSBA
QCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdAogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAorYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29u
dGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnRyb2xzKCk7Cit9CisKIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbVN0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKG5hbWUgPT0gc3JjQXR0cikgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBkMGJhYjlmYzlkNi4uZmY0NGZh
MjY2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC02MjYsNiAr
NjI2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZpbmlzaEluc2VydGluZ05vZGUoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUsIENvbnRhaW5l
ck5vZGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2FsY1N0eWxlKFN0eWxlOjpDaGFuZ2Up
IG92ZXJyaWRlOworICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBvdmVycmlk
ZTsKIAogICAgIHZvaWQgd2lsbEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB3aWxsU3RvcEJlaW5nRnVsbHNjcmVlbkVsZW1lbnQoKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggYTM5MWNhOGMyYzUuLmUw
Y2ZjMTdjNjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcApA
QCAtMzI1LDYgKzMyNSwxMSBAQCBib29sIEhUTUxPYmplY3RFbGVtZW50Ojppc1VSTEF0dHJpYnV0
ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkgY29uc3QKICAgICByZXR1cm4gYXR0cmlidXRl
Lm5hbWUoKSA9PSBkYXRhQXR0ciB8fCBhdHRyaWJ1dGUubmFtZSgpID09IGNvZGViYXNlQXR0ciB8
fCAoYXR0cmlidXRlLm5hbWUoKSA9PSB1c2VtYXBBdHRyICYmIGF0dHJpYnV0ZS52YWx1ZSgpLnN0
cmluZygpWzBdICE9ICcjJykgfHwgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6aXNVUkxBdHRyaWJ1
dGUoYXR0cmlidXRlKTsKIH0KIAorYm9vbCBIVE1MT2JqZWN0RWxlbWVudDo6aXNJbnRlcmFjdGl2
ZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiBoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKHVzZW1hcEF0dHIpOworfQorCiBjb25zdCBBdG9tU3RyaW5nJiBIVE1MT2JqZWN0
RWxlbWVudDo6aW1hZ2VTb3VyY2VVUkwoKSBjb25zdAogewogICAgIHJldHVybiBhdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKGRhdGFBdHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuaAppbmRleCAxZDZmMjg1MTExYS4uZmE5YWU1NjU5OTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKQEAgLTk1LDYgKzk1LDggQEAgcHJpdmF0ZToK
ICAgICBIVE1MT2JqZWN0RWxlbWVudCYgYXNIVE1MRWxlbWVudCgpIGZpbmFsIHsgcmV0dXJuICp0
aGlzOyB9CiAgICAgY29uc3QgSFRNTE9iamVjdEVsZW1lbnQmIGFzSFRNTEVsZW1lbnQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiAqdGhpczsgfQogCisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVu
dCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCBpc0Zvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5oCmluZGV4IGZiZTg4Nzc2ODgyLi4zYzNlYjU2NDJjZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtMTIzLDYgKzEyMyw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpc0VudW1lcmF0YWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBi
b29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBi
b29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQor
CiAgICAgRm9ybUNvbnRyb2xTdGF0ZSBzYXZlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0IGZpbmFs
OwogICAgIHZvaWQgcmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0
ZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmlu
ZGV4IDAxZGE2OTQyN2RjLi4yMjBlMTRkZDI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmgKQEAgLTk4LDYgKzk4LDggQEAgcHJpdmF0ZToKICAgICBib29sIGlz
RW51bWVyYXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3Vw
cG9ydExhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAorICAgIGJvb2wgaXNJ
bnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKICAgICBj
b25zdCBBdG9tU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdCBmaW5hbDsKIAogICAgIEZv
cm1Db250cm9sU3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdCBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5oCmluZGV4IGRhYzYyODQ4YWI0Li4wOGNlNGE4NmYw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5JbnB1dFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5oCkBAIC00OSw2ICs0OSw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpIG92
ZXJyaWRlOwogICAgIGJvb2wgaXNIaWRkZW5UeXBlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9v
bCBzdXBwb3J0TGFiZWxzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBi
b29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICBib29sIHNob3VsZFJlc3BlY3RIZWlnaHRBbmRXaWR0aEF0dHJpYnV0ZXMoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2wsIFRleHRGaWVsZEV2ZW50
QmVoYXZpb3IpIG92ZXJyaWRlOwogICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEm
LCBib29sKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCAy
MTk4YjgzNDRjMS4uZjU3ZmI2YWZjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAg
LTc5Nyw2ICs3OTcsMTEgQEAgYm9vbCBJbnB1dFR5cGU6OmlzSW1hZ2VCdXR0b24oKSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBJbnB1dFR5cGU6OmlzSW50ZXJhY3RpdmVDb250
ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBJbnB1dFR5cGU6OnN1
cHBvcnRMYWJlbHMoKSBjb25zdAogewogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmgKaW5kZXggNjY1ZTY2Y2Y1YTAuLjIwOGJmMjU5MDQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmgKQEAgLTEwMSw2ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRmls
ZVVwbG9hZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0hpZGRlblR5cGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZUJ1dHRvbigpIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
TGFiZWxzKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTW9udGhGaWVsZCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBpc051bWJlckZpZWxkKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="391006"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377331</attachid>
            <date>2019-08-27 02:03:28 -0700</date>
            <delta_ts>2019-08-27 02:03:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wcore-interactive-content.diff</filename>
            <type>text/plain</type>
            <size>23313</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxOTAyOGE1NWY1ZC4uNjA1MTM2NTRjYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOS0wOC0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgVW5hYmxlIHRvIGVudGVyIHRleHQgaW4gaHR0cHM6Ly9lYXQuZmkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzA0NgorCisgICAgICAg
IFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBBZGQgbmV3IHRlc3QgaW1wb3J0
ZWQgZm9yIGJsaW5rLgorCisgICAgICAgICogaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJl
bC9sYWJlbC1jb250YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJlbC9sYWJlbC1j
b250YWlucy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0aGUgbmV3IHRlc3QgYmVj
YXVzZSBpdCByZXF1aXJlcyBldmVudFNlbmRlci5tb3VzZURvd24vVXAvTW92ZVRvKCkKKwogMjAx
OS0wOC0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgT3JpZ2luIGhlYWRlciBub3QgaW5jbHVkZWQgaW4gV2ViU29ja2V0IGhhbmRzaGFrZSBy
ZXF1ZXN0IHdoZW4gdXNpbmcgcGxhdGZvcm0gV2ViU29ja2V0IEFQSQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJlbC9sYWJlbC1jb250YWlucy1v
dGhlci1pbnRlcmFjdGl2ZS1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL2JsaW5rL2Zhc3QvZm9ybXMvbGFiZWwvbGFiZWwtY29udGFpbnMtb3RoZXItaW50ZXJhY3Rp
dmUtY29udGVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjc5N2E1NTAwYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJlbC9sYWJlbC1jb250YWlucy1vdGhlci1pbnRlcmFjdGl2
ZS1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitidXR0b24KK1BBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitkZXRhaWxzCitQQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgorZW1iZWQKK1BBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitpZnJhbWUKK1BBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitsYWJlbAorUEFTUyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK3NlbGVjdAorUEFTUyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK3RleHRhcmVhCitQQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgorCithCitQQVNTIGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImNvbnRyb2wiCithW2hyZWZdCitQQVNTIGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgorYXVkaW9bY29udHJvbHNdCitQQVNT
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgordmlkZW8KK1BBU1Mg
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiY29udHJvbCIKK3ZpZGVvW2NvbnRyb2xzXQor
UEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzIG5vdCAiY29udHJvbCIKK2ltZworUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJjb250cm9sIgoraW1nW3VzZW1hcF0KK1BB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitvYmplY3QKK1BB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiY29udHJvbCIKK29iamVjdFt1c2VtYXBd
CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgbm90ICJjb250cm9sIgoraW5wdXQK
K1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyBub3QgImNvbnRyb2wiCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9sYWJlbC9sYWJlbC1jb250YWlu
cy1vdGhlci1pbnRlcmFjdGl2ZS1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC9i
bGluay9mYXN0L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNv
bnRlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGQwNmY4
MDk4M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC9ibGluay9mYXN0
L2Zvcm1zL2xhYmVsL2xhYmVsLWNvbnRhaW5zLW90aGVyLWludGVyYWN0aXZlLWNvbnRlbnQuaHRt
bApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5IGlkPSJib2R5Ij4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgaW50ZXJhY3RpdmVFbGVtZW50czEgPSBbJ2J1
dHRvbicsICdkZXRhaWxzJywgJ2VtYmVkJywgJ2lmcmFtZScsICdsYWJlbCcsICdzZWxlY3QnLCAn
dGV4dGFyZWEnXTsKK3ZhciBpbnRlcmFjdGl2ZUVsZW1lbnRzMiA9IFsKKyAgICBbJ2EnLCAnaHJl
ZiddLAorICAgIFsnYXVkaW8nLCAnY29udHJvbHMnXSwKKyAgICBbJ3ZpZGVvJywgJ2NvbnRyb2xz
J10sCisgICAgWydpbWcnLCAndXNlbWFwJ10sCisgICAgWydvYmplY3QnLCAndXNlbWFwJ10sCitd
OworCit2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpOworZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChsYWJlbCk7Cit2YXIgY29udHJvbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0Jyk7Citjb250cm9sLmlkID0gJ2NvbnRyb2wnOworbGFiZWwuYXBwZW5k
Q2hpbGQoY29udHJvbCk7CisKK2ludGVyYWN0aXZlRWxlbWVudHMxLmZvckVhY2goZnVuY3Rpb24o
dGFnKSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7Cisg
ICAgZWxlbWVudC5pZCA9IHRhZzsKKyAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2sn
OworICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwcHgnOworICAgIGVsZW1lbnQuc3R5bGUu
aGVpZ2h0ID0gJzEwMHB4JzsKKyAgICBsYWJlbC5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICBj
bGlja0VsZW1lbnQoZWxlbWVudCk7CisgICAgZGVidWcodGFnKTsKKyAgICBzaG91bGROb3RCZSgn
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICciY29udHJvbCInKTsKKyAgICBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmJsdXIoKTsKKyAgICBsYWJlbC5yZW1vdmVDaGlsZChlbGVtZW50KTsKK30p
OworZGVidWcoJycpOworCitpbnRlcmFjdGl2ZUVsZW1lbnRzMi5mb3JFYWNoKGZ1bmN0aW9uKGVu
dHJ5KSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVudHJ5WzBd
KTsKKyAgICBlbGVtZW50LmlkID0gZW50cnlbMF07CisgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5
ID0gJ2Jsb2NrJzsKKyAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMHB4JzsKKyAgICBlbGVt
ZW50LnN0eWxlLmhlaWdodCA9ICcxMDBweCc7CisgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZWxlbWVu
dCk7CisgICAgLy8gQXVkaW8gZWxlbWVudHMgd2l0aG91dCBjb250cm9scyBhdHRyaWJ1dGUgaXMg
YWx3YXlzIGludmlzaWJsZS4KKyAgICBpZiAoZW50cnlbMF0gIT0gJ2F1ZGlvJykgeworICAgICAg
ICBjbGlja0VsZW1lbnQoZWxlbWVudCk7CisgICAgICAgIGRlYnVnKGVudHJ5WzBdKTsKKyAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkJywgJ2Nv
bnRyb2wnKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7CisKKyAg
ICBlbGVtZW50LnNldEF0dHJpYnV0ZShlbnRyeVsxXSwgZW50cnlbMV0pOworICAgIC8vIFByZXZl
bnRzIHBhZ2UgdHJhbnNpdGlvbi4KKyAgICBpZiAoZW50cnlbMF0gPT0gJ2EnKQorICAgICAgICBl
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSkgeyBlLnByZXZlbnRE
ZWZhdWx0KCk7IH0sIGZhbHNlKTsKKyAgICBjbGlja0VsZW1lbnQoZWxlbWVudCk7CisgICAgZGVi
dWcoZW50cnlbMF0gKyAnWycgKyBlbnRyeVsxXSArICddJyk7CisgICAgc2hvdWxkTm90QmUoJ2Rv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnImNvbnRyb2wiJyk7CisgICAgZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5ibHVyKCk7CisgICAgbGFiZWwucmVtb3ZlQ2hpbGQoZWxlbWVudCk7Cit9KTsK
KwordmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworZWxlbWVu
dC5pZCA9ICdpbnB1dCc7CitlbGVtZW50LnR5cGUgPSAndGV4dCc7CitlbGVtZW50LnN0eWxlLmRp
c3BsYXkgPSAnYmxvY2snOworZWxlbWVudC5zdHlsZS53aWR0aCA9ICcxMDBweCc7CitlbGVtZW50
LnN0eWxlLmhlaWdodCA9ICcxMDBweCc7CitsYWJlbC5hcHBlbmRDaGlsZChlbGVtZW50KTsKK2Ns
aWNrRWxlbWVudChlbGVtZW50KTsKK2RlYnVnKCdpbnB1dCcpOworc2hvdWxkTm90QmUoJ2RvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnImNvbnRyb2wiJyk7Citkb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmJsdXIoKTsKKworLy8gTm90ZTogSXQncyBpbXBvc3NpYmxlIHRvIGNsaWNrIG9uIGlucHV0
W3R5cGU9aGlkZGVuXS4KKworbGFiZWwucmVtb3ZlKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjM1
NzJiNjAwMC4uMDVhM2U0NmM4NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwMTYsNiArMTAxNiw3IEBAIHdlYmtpdC5vcmcvYi8xMjM0
MzEgaHR0cC90ZXN0cy9jc3MvbGluay1jc3MtZGlzYWJsZWQtdmFsdWUtd2l0aC1zbG93LWxvYWRp
bmctc2hlCiAjIGV2ZW50U2VuZGVyLm1vdXNlRG93biBpcyBub3QgaW1wbGVtZW50ZWQKIGZhc3Qv
bG9hZGVyL2xvY2F0aW9uLWhhc2gtdXNlci1nZXN0dXJlLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVk
L2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LWV2ZW50LWNyYXNoLmh0bWwgWyBT
a2lwIF0KK2ltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvbGFiZWwvbGFiZWwtY29udGFpbnMtb3Ro
ZXItaW50ZXJhY3RpdmUtY29udGVudC5odG1sIFsgU2tpcCBdCiBmYXN0L2RvbS9XaW5kb3cvcG9z
dC1tZXNzYWdlLXVzZXItYWN0aW9uLmh0bWwgWyBTa2lwIF0KIGZhc3QvaW1hZ2VzL2ltYWdlLXVz
ZW1hcC1wYXJzaW5nLmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9mdWxsc2NyZWVuLWlu
LXNoYWRvdy1mdWxsLXNjcmVlbi1hbmNlc3Rvci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGZkN2IxODYyZDcuLmExYjNlZGE3YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIw
MTktMDgtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFVuYWJsZSB0byBlbnRlciB0ZXh0IGluIGh0dHBzOi8vZWF0LmZpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMwNDYKKworICAgICAgICBS
ZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBi
dXR0b24gZWxlbWVudCBpbnNpZGUgdGhlIGxhYmVsIGlzIHJlY2VpdmluZyB0aGUgY2xpY2sgZXZl
bnQsIHdoaWNoIGNhdXNlcyB0aGUgZm9ybSB0byBiZQorICAgICAgICBzdWJtaXR0ZWQuIEFjY29y
ZGluZyB0byB0aGUgc3BlYyB3ZSBzaG91bGQgZG8gbm90aGluZyBpbiB0aGlzIGNhc2UsIGJlY2F1
c2UgYnV0dG9uIGVsZW1lbnQgaXMgY29uc2lkZXJlZCB0byBiZQorICAgICAgICBpbnRlcmFjdGl2
ZSBjb250ZW50LgorCisgICAgICAgICJUaGUgYWN0aXZhdGlvbiBiZWhhdmlvciBvZiBhIGxhYmVs
IGVsZW1lbnQgZm9yIGV2ZW50cyB0YXJnZXRlZCBhdCBpbnRlcmFjdGl2ZSBjb250ZW50IGRlc2Nl
bmRhbnRzIG9mIGEgbGFiZWwKKyAgICAgICAgZWxlbWVudCwgYW5kIGFueSBkZXNjZW5kYW50cyBv
ZiB0aG9zZSBpbnRlcmFjdGl2ZSBjb250ZW50IGRlc2NlbmRhbnRzLCBtdXN0IGJlIHRvIGRvIG5v
dGhpbmcuIgorICAgICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbGFiZWwt
ZWxlbWVudAorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBIVE1MRWxlbWVudDo6aXNJbnRlcmFj
dGl2ZUNvbnRlbnQoKSBhY2NvcmRpbmcgdG8gdGhlIEhUTUwgc3BlYzoKKworICAgICAgICAiSW50
ZXJhY3RpdmUgY29udGVudCBpcyBjb250ZW50IHRoYXQgaXMgc3BlY2lmaWNhbGx5IGludGVuZGVk
IGZvciB1c2VyIGludGVyYWN0aW9uLgorICAgICAgICBhIChpZiB0aGUgaHJlZiBhdHRyaWJ1dGUg
aXMgcHJlc2VudCksIGF1ZGlvIChpZiB0aGUgY29udHJvbHMgYXR0cmlidXRlIGlzIHByZXNlbnQp
LCBidXR0b24sIGRldGFpbHMsIGVtYmVkLAorICAgICAgICBpZnJhbWUsIGltZyAoaWYgdGhlIHVz
ZW1hcCBhdHRyaWJ1dGUgaXMgcHJlc2VudCksIGlucHV0IChpZiB0aGUgdHlwZSBhdHRyaWJ1dGUg
aXMgbm90IGluIHRoZSBIaWRkZW4gc3RhdGUpLAorICAgICAgICBsYWJlbCwgb2JqZWN0IChpZiB0
aGUgdXNlbWFwIGF0dHJpYnV0ZSBpcyBwcmVzZW50KSwgc2VsZWN0LCB0ZXh0YXJlYSwgdmlkZW8g
KGlmIHRoZSBjb250cm9scyBhdHRyaWJ1dGUgaXMKKyAgICAgICAgcHJlc2VudCkiCisgICAgICAg
IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2ludGVyYWN0aXZlLWNvbnRlbnQtMgorCisg
ICAgICAgIFRoYXQncyB1c2VkIGluIEhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIoKSB1c2luZyB0aGUgaGVscGVyIG1ldGhvZAorICAgICAgICBpc0V2ZW50VGFyZ2V0ZWRBdElu
dGVyYWN0aXZlRGVzY2VuZGFudHMoKSB0byBkZWNpZGUgd2hldGhlciB0byBzaW11bGF0ZSBhIGNs
aWNrIGV2ZW50IG9yIGRvIG5vdGhpbmcuCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojppc0ludGVyYWN0
aXZlQ29udGVudCBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxE
ZXRhaWxzRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6CisgICAg
ICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6
CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6Omlz
SW50ZXJhY3RpdmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTExhYmVsRWxlbWVudDo6aXNFdmVudFRhcmdldGVkQXRJbnRlcmFjdGl2ZURlc2Nl
bmRhbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMYWJlbEVsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCBjb25zdCk6CisgICAgICAgICogaHRt
bC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6aXNJbnRlcmFjdGl2ZUNv
bnRlbnQgY29uc3QpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IaWRkZW5JbnB1dFR5cGUuaDoKKyAgICAgICAg
KiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmlzSW50
ZXJhY3RpdmVDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorCiAy
MDE5LTA4LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBPcmlnaW4gaGVhZGVyIG5vdCBpbmNsdWRlZCBpbiBXZWJTb2NrZXQgaGFuZHNoYWtl
IHJlcXVlc3Qgd2hlbiB1c2luZyBwbGF0Zm9ybSBXZWJTb2NrZXQgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDNlZjE5OGNlNzRjLi5kMzJjNzM4YjM1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTEwMyw2
ICsxMDMsMTEgQEAgYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNv
bnN0CiAgICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc01vdXNlRm9jdXNhYmxlKCk7CiB9CiAKK2Jv
b2wgSFRNTEFuY2hvckVsZW1lbnQ6OmlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gaXNMaW5rKCk7Cit9CisKIHN0YXRpYyBib29sIGhhc05vbkVtcHR5Qm94KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBpZiAoIXJlbmRlcmVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IGYwZDA4NjNhZjQ0Li4wMjQ1MDkw
Mzk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaApAQCAtOTAsNiAr
OTAsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyB0YXJnZXQoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBpbnQgZGVmYXVsdFRhYkluZGV4KCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBkcmFnZ2FibGUo
KSBjb25zdCBmaW5hbDsKKyAgICBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmlu
YWw7CiAKICAgICBTdHJpbmcgZWZmZWN0aXZlVGFyZ2V0KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaAppbmRleCAwZWRkZWRjYmZhYy4uNmQ5Y2IyZjQyZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmgKQEAgLTQ0LDYgKzQ0LDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVdpZGdldChDcmVhdGVQbHVnaW5zKSBmaW5hbDsK
IAogICAgIGJvb2wgY2FuRW1iZWRKYXZhKCkgY29uc3Q7CisKKyAgICBib29sIGlzSW50ZXJhY3Rp
dmVDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oCmluZGV4
IGQwOTcyZDM3OGRiLi5jYzYzNjViMmUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQnV0dG9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaApAQCAtNjEsNiArNjEsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc0VudW1l
cmF0YWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHN1cHBvcnRM
YWJlbHMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBpc0ludGVyYWN0
aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIGJvb2wgaXNT
dWNjZXNzZnVsU3VibWl0QnV0dG9uKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBtYXRjaGVzRGVm
YXVsdFBzZXVkb0NsYXNzKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0
YWlsc0VsZW1lbnQuaAppbmRleCA3Yjc4ZWIxOGIyYS4uZWExNGYyNGY1ZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuaApAQCAtNTEsNiArNTEsNyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QmKSBmaW5h
bDsKICAgICBib29sIGhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KIAogICAgIGJvb2wgbV9pc09wZW4geyBmYWxzZSB9OwogICAgIEhUTUxTbG90
RWxlbWVudCogbV9zdW1tYXJ5U2xvdCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuaAppbmRleCBiYjAxMTA3NWQzZS4uYmViZThhYzc1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmgKQEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9ybU5hbWVk
SXRlbSogYXNGb3JtTmFtZWRJdGVtKCk7CiAgICAgdmlydHVhbCBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQqIGFzRm9ybUFzc29jaWF0ZWRFbGVtZW50KCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNJbnRl
cmFjdGl2ZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCBoYXNU
YWdOYW1lKGNvbnN0IEhUTUxRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdCB7IHJldHVybiBoYXNM
b2NhbE5hbWUobmFtZS5sb2NhbE5hbWUoKSk7IH0KIAogICAgIHN0YXRpYyBjb25zdCBBdG9tU3Ry
aW5nJiBldmVudE5hbWVGb3JFdmVudEhhbmRsZXJBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bWJlZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5oCmlu
ZGV4IDQ1MTU3MDU4OTliLi43ZmE3ZTEwOGJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRW1iZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1i
ZWRFbGVtZW50LmgKQEAgLTQzLDYgKzQzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGlzVVJMQXR0
cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0IGZpbmFsOwogICAgIGNvbnN0IEF0b21TdHJp
bmcmIGltYWdlU291cmNlVVJMKCkgY29uc3QgZmluYWw7CiAKKyAgICBib29sIGlzSW50ZXJhY3Rp
dmVDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCiAgICAgUmVuZGVyV2lk
Z2V0KiByZW5kZXJXaWRnZXRMb2FkaW5nUGx1Z2luKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lk
IHVwZGF0ZVdpZGdldChDcmVhdGVQbHVnaW5zKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElGcmFtZUVsZW1lbnQuaAppbmRleCBkN2QzMzYyOGJhZC4uOWEwMjg0ZWM0YmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmgKQEAgLTUzLDYgKzUzLDggQEAgcHJpdmF0
ZToKICAgICBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYsIE11dGFibGVTdHls
ZVByb3BlcnRpZXMmKSBmaW5hbDsKIAorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQo
Y29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbDsKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4g
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3Np
dGlvbiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApp
bmRleCA5M2VhZDVjY2NiMC4uZTU5YThjNjE4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmNwcApAQCAtMzAzLDYgKzMwMywxMSBAQCBib29sIEhUTUxJbWFnZUVsZW1l
bnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKICAgICByZXR1cm4gSFRNTEVsZW1lbnQ6OmlzRm9jdXNh
YmxlKCk7CiB9CiAKK2Jvb2wgSFRNTEltYWdlRWxlbWVudDo6aXNJbnRlcmFjdGl2ZUNvbnRlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KHVzZW1hcEF0dHIpOworfQorCiB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRl
cmVycygpCiB7CiAgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIoKSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmluZGV4IGQ0ZjIxNGQzNTFiLi5hNTljZmIyMWFl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTE1Niw2ICsxNTYs
OCBAQCBwcml2YXRlOgogICAgIEhUTUxJbWFnZUVsZW1lbnQmIGFzSFRNTEVsZW1lbnQoKSBmaW5h
bCB7IHJldHVybiAqdGhpczsgfQogICAgIGNvbnN0IEhUTUxJbWFnZUVsZW1lbnQmIGFzSFRNTEVs
ZW1lbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiAqdGhpczsgfQogCisgICAgYm9vbCBpc0ludGVy
YWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgdm9pZCBzZWxlY3RJbWFnZVNvdXJj
ZSgpOwogCiAgICAgSW1hZ2VDYW5kaWRhdGUgYmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMWFmNGYx
MjRjMTMuLjI5YzA3MjZkYzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKQEAgLTQ1MCw2ICs0NTAsMTEgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc01vdXNl
Rm9jdXNhYmxlKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzTW91c2VGb2N1c2Fi
bGUoKTsKIH0KIAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5pc0ludGVyYWN0aXZlQ29udGVudCgp
OworfQorCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVGV4dEZvcm1Db250cm9sRm9jdXNhYmxl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRm9j
dXNhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDgyYWRl
MmM1NTc5Li5mODY4ZWVlOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKQEAgLTM3NSw2ICszNzUsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBl
YXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSkgZmlu
YWw7CiAgICAgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGZpbmFsOwogCisgICAgYm9vbCBp
c0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsOworCiAgICAgYm9vbCBpc0lubmVyVGV4
dEVsZW1lbnRFZGl0YWJsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICFoYXNBdXRvRmlsbFN0cm9u
Z1Bhc3N3b3JkQnV0dG9uKCkgJiYgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmlzSW5uZXJU
ZXh0RWxlbWVudEVkaXRhYmxlKCk7IH0KIAogICAgIGJvb2wgY2FuVHJpZ2dlckltcGxpY2l0U3Vi
bWlzc2lvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGlzVGV4dEZpZWxkKCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCmluZGV4IGJiM2YwOGRiNmNiLi41MTJjNWQx
MjY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCkBAIC0xMTEs
NiArMTExLDIyIEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6c2V0SG92ZXJlZChib29sIG92ZXIp
CiAgICAgICAgIGVsZW1lbnQtPnNldEhvdmVyZWQob3Zlcik7CiB9CiAKK2Jvb2wgSFRNTExhYmVs
RWxlbWVudDo6aXNFdmVudFRhcmdldGVkQXRJbnRlcmFjdGl2ZURlc2NlbmRhbnRzKEV2ZW50JiBl
dmVudCkgY29uc3QKK3sKKyAgICBpZiAoIWlzPE5vZGU+KGV2ZW50LnRhcmdldCgpKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byYgbm9kZSA9IGRvd25jYXN0PE5vZGU+KCpldmVu
dC50YXJnZXQoKSk7CisgICAgaWYgKCFjb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSgmbm9kZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoY29uc3QgYXV0byogaXQgPSAmbm9k
ZTsgaXQgJiYgaXQgIT0gdGhpczsgaXQgPSBpdC0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVl
KCkpIHsKKyAgICAgICAgaWYgKGlzPEhUTUxFbGVtZW50PihpdCkgJiYgZG93bmNhc3Q8SFRNTEVs
ZW1lbnQ+KCppdCkuaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KIHZvaWQgSFRNTExhYmVsRWxlbWVu
dDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiB7CiAgICAgc3RhdGljIGJvb2wg
cHJvY2Vzc2luZ0NsaWNrID0gZmFsc2U7CkBAIC0xMjUsNiArMTQxLDE1IEBAIHZvaWQgSFRNTExh
YmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICAvLyBUaGUgYWN0aXZhdGlvbiBiZWhhdmlv
ciBvZiBhIGxhYmVsIGVsZW1lbnQgZm9yIGV2ZW50cyB0YXJnZXRlZCBhdCBpbnRlcmFjdGl2ZQor
ICAgICAgICAvLyBjb250ZW50IGRlc2NlbmRhbnRzIG9mIGEgbGFiZWwgZWxlbWVudCwgYW5kIGFu
eSBkZXNjZW5kYW50cyBvZiB0aG9zZSBpbnRlcmFjdGl2ZQorICAgICAgICAvLyBjb250ZW50IGRl
c2NlbmRhbnRzLCBtdXN0IGJlIHRvIGRvIG5vdGhpbmcuCisgICAgICAgIC8vIGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1sYWJlbC1lbGVtZW50CisgICAgICAgIGlmIChpc0V2ZW50
VGFyZ2V0ZWRBdEludGVyYWN0aXZlRGVzY2VuZGFudHMoZXZlbnQpKSB7CisgICAgICAgICAgICBI
VE1MRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKwogICAgICAgICBwcm9jZXNzaW5nQ2xpY2sgPSB0cnVlOwogCiAgICAg
ICAgIGNvbnRyb2wtPmRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soJmV2ZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKaW5kZXggNzQ4Zjg1OWNiOWUuLmE2MDdkZjZjYzQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaApAQCAtNDAsNiArNDAsOCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxMYWJlbEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKKyAgICBib29sIGlzRXZlbnRUYXJnZXRlZEF0SW50ZXJhY3RpdmVE
ZXNjZW5kYW50cyhFdmVudCYpIGNvbnN0OworCiAgICAgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9v
bCBzZW5kTW91c2VFdmVudHMpIGZpbmFsOwogCiAgICAgLy8gT3ZlcnJpZGRlbiB0byB1cGRhdGUg
dGhlIGhvdmVyL2FjdGl2ZSBzdGF0ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBjb250cm9sLgpAQCAt
NTAsNiArNTIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCYpIGZpbmFsOwogCiAgICAgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlv
biwgRm9jdXNEaXJlY3Rpb24pIGZpbmFsOworCisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVu
dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIH0gLy9uYW1lc3BhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGY2NGZlOTJiNmI3Li4z
ZTRlMzZmNzYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC04MDMsNiArODAzLDExIEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJs
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6
OmlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY29udHJvbHMoKTsK
K30KKwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAobmFtZSA9
PSBzcmNBdHRyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDJj
NmVjMDU4ZTRjLi5kZTY2MmMxZDEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTYyNiw2ICs2MjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRmluaXNoSW5z
ZXJ0aW5nTm9kZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1v
dmFsVHlwZSwgQ29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjYWxjU3R5
bGUoU3R5bGU6OkNoYW5nZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVu
dCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCB3aWxsQmVjb21lRnVsbHNjcmVlbkVsZW1l
bnQoKSBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxTdG9wQmVpbmdGdWxsc2NyZWVuRWxlbWVudCgp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAppbmRl
eCBhMzkxY2E4YzJjNS4uZTBjZmMxN2M2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuY3BwCkBAIC0zMjUsNiArMzI1LDExIEBAIGJvb2wgSFRNTE9iamVjdEVsZW1l
bnQ6OmlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKSBjb25zdAogICAg
IHJldHVybiBhdHRyaWJ1dGUubmFtZSgpID09IGRhdGFBdHRyIHx8IGF0dHJpYnV0ZS5uYW1lKCkg
PT0gY29kZWJhc2VBdHRyIHx8IChhdHRyaWJ1dGUubmFtZSgpID09IHVzZW1hcEF0dHIgJiYgYXR0
cmlidXRlLnZhbHVlKCkuc3RyaW5nKClbMF0gIT0gJyMnKSB8fCBIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50Ojppc1VSTEF0dHJpYnV0ZShhdHRyaWJ1dGUpOwogfQogCitib29sIEhUTUxPYmplY3RFbGVt
ZW50Ojppc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc0F0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24odXNlbWFwQXR0cik7Cit9CisKIGNvbnN0IEF0b21T
dHJpbmcmIEhUTUxPYmplY3RFbGVtZW50OjppbWFnZVNvdXJjZVVSTCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZGF0YUF0dHIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCmluZGV4IDFkNmYyODUxMTFhLi5mYTlhZTU2
NTk5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaApAQCAtOTUsNiAr
OTUsOCBAQCBwcml2YXRlOgogICAgIEhUTUxPYmplY3RFbGVtZW50JiBhc0hUTUxFbGVtZW50KCkg
ZmluYWwgeyByZXR1cm4gKnRoaXM7IH0KICAgICBjb25zdCBIVE1MT2JqZWN0RWxlbWVudCYgYXNI
VE1MRWxlbWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICp0aGlzOyB9CiAKKyAgICBib29sIGlz
SW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3QgZmluYWw7CisKICAgICBib29sIGlzRm9ybUNvbnRy
b2xFbGVtZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNF
bnVtZXJhdGFibGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggNWUxN2ZiOGZmNjUuLjc2YmVkZWQxYzFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0xMjQsNiArMTI0LDgg
QEAgcHJpdmF0ZToKICAgICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIGJvb2wgc3VwcG9ydExhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KIAorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiB0cnVlOyB9CisKICAgICBGb3JtQ29udHJvbFN0YXRlIHNhdmVGb3JtQ29udHJvbFN0
YXRlKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25z
dCBGb3JtQ29udHJvbFN0YXRlJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmgKaW5kZXggYWVlYzNkZmEzNzAuLjVlOTY4MjM3NmMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtOTgsNiArOTgsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVl
OyB9CiAgICAgYm9vbCBzdXBwb3J0TGFiZWxzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQogCisgICAgYm9vbCBpc0ludGVyYWN0aXZlQ29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KKwogICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0
IGZpbmFsOwogCiAgICAgRm9ybUNvbnRyb2xTdGF0ZSBzYXZlRm9ybUNvbnRyb2xTdGF0ZSgpIGNv
bnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5JbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmgKaW5kZXggZGFjNjI4
NDhhYjQuLjA4Y2U0YTg2ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hpZGRl
bklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmgK
QEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN0b3Jlc1ZhbHVlU2VwYXJhdGVG
cm9tQXR0cmlidXRlKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc0hpZGRlblR5cGUoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfQorICAgIGJvb2wgaXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgc2hvdWxkUmVzcGVjdEhlaWdodEFuZFdpZHRoQXR0
cmlidXRlcygpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9v
bCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvcikgb3ZlcnJpZGU7CiAgICAgYm9vbCBhcHBlbmRGb3Jt
RGF0YShET01Gb3JtRGF0YSYsIGJvb2wpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwCmluZGV4IDIxOThiODM0NGMxLi5mNTdmYjZhZmNmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcApAQCAtNzk3LDYgKzc5NywxMSBAQCBib29sIElucHV0VHlwZTo6aXNJbWFn
ZUJ1dHRvbigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIElucHV0VHlwZTo6
aXNJbnRlcmFjdGl2ZUNvbnRlbnQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCiBi
b29sIElucHV0VHlwZTo6c3VwcG9ydExhYmVscygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRydWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA2NjVlNjZjZjVhMC4uMjA4YmYyNTkwNDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMTAxLDYgKzEwMSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgaXNGaWxlVXBsb2FkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzSGlk
ZGVuVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQnV0dG9uKCkgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGlzSW50ZXJhY3RpdmVDb250ZW50KCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHN1cHBvcnRMYWJlbHMoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb250
aEZpZWxkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTnVtYmVyRmllbGQoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>