<?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>113742</bug_id>
          
          <creation_ts>2013-04-01 21:02:08 -0700</creation_ts>
          <short_desc>Tests added in r141354 erroneously assumes correction suggestion to be in the context menu</short_desc>
          <delta_ts>2013-10-06 10:27:25 -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>HTML Editing</component>
          <version>528+ (Nightly build)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>122414</dependson>
          <blocked>108528</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Grzegorz Czajkowski">g.czajkowski</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>g.czajkowski</cc>
    
    <cc>jiapu.mail</cc>
    
    <cc>rouslan+webkit</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>867519</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-01 21:02:08 -0700</bug_when>
    <thetext>Most of tests added in r141354 asserts that the last item in the context menu contains the correction suggestion.
This isn&apos;t true in non-Chromium ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867520</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-01 21:02:42 -0700</bug_when>
    <thetext>Also see 112554.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867946</commentid>
    <comment_count>2</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-04-02 09:40:07 -0700</bug_when>
    <thetext>Where do the other ports show the correction suggestion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868412</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-02 20:37:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Where do the other ports show the correction suggestion?

Mac port, for example, has correction panel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869055</commentid>
    <comment_count>4</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-04-04 01:34:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Where do the other ports show the correction suggestion?

EFL uses context menu but correction suggestions are put at the beginning of the list.
So the condition:
shouldBeEqualToString(&quot;contextMenuElements[contextMenuElements.length - 1]&quot;, &quot;welcome&quot;);
is not true for EFL.

Secondly, WK2&apos;s contextClick() returns array of objects (not strings) where object contains title (as string) and method click() for the object.

Would it be sufficiently to just check size of contextMenuElements before and after the click? It has been done in context-menu-suggestions.html to pass the test for Mac (r60693).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869064</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-04 02:08:16 -0700</bug_when>
    <thetext>Sounds reasonable. Since the test was added by a Chromium contributor, and Chromium no longer uses WebKit, it seems reasonable to modify the test accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869170</commentid>
    <comment_count>6</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-04-04 08:39:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Sounds reasonable. Since the test was added by a Chromium contributor, and Chromium no longer uses WebKit, it seems reasonable to modify the test accordingly.

Yep, please go ahead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892771</commentid>
    <comment_count>7</comment_count>
      <attachid>202670</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-05-23 06:02:03 -0700</bug_when>
    <thetext>Created attachment 202670
compare quantity of context menu elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894436</commentid>
    <comment_count>8</comment_count>
      <attachid>202670</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-28 11:33:58 -0700</bug_when>
    <thetext>Comment on attachment 202670
compare quantity of context menu elements

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

&gt; LayoutTests/editing/spelling/spelling-multiword-selection.html:30
&gt; +    // Context click on &apos;wellcome&apos; to get its spell check suggestions.
&gt; +    var x = destination.offsetParent.offsetLeft + destination.offsetLeft + 40;
&gt; +    var y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;
&gt; +    eventSender.mouseMoveTo(x, y);
&gt; +    contextMenuElementsWithSpellingSuggestions = eventSender.contextClick();
&gt; +    // Esc key to hide the context menu.
&gt; +    eventSender.keyDown(String.fromCharCode(0x001B), null);
&gt; +

We shouldn&apos;t be checking the items inside a context menu. The fact some ports populate context menu with spelling suggestions doesn&apos;t mean all ports do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906341</commentid>
    <comment_count>9</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-07-05 02:38:05 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 202670 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202670&amp;action=review
&gt; 
&gt; &gt; LayoutTests/editing/spelling/spelling-multiword-selection.html:30
&gt; &gt; +    // Context click on &apos;wellcome&apos; to get its spell check suggestions.
&gt; &gt; +    var x = destination.offsetParent.offsetLeft + destination.offsetLeft + 40;
&gt; &gt; +    var y = destination.offsetParent.offsetTop + destination.offsetTop + destination.offsetHeight / 2;
&gt; &gt; +    eventSender.mouseMoveTo(x, y);
&gt; &gt; +    contextMenuElementsWithSpellingSuggestions = eventSender.contextClick();
&gt; &gt; +    // Esc key to hide the context menu.
&gt; &gt; +    eventSender.keyDown(String.fromCharCode(0x001B), null);
&gt; &gt; +
&gt; 
&gt; We shouldn&apos;t be checking the items inside a context menu. The fact some ports populate context menu with spelling suggestions doesn&apos;t mean all ports do.

Hi Ryosuke, we&apos;ve ported some of those tests to unit tests (at lest for EFL, bug 118123). Do you think it&apos;s good time to get rid of layout tests which verify spelling suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908274</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-14 17:42:55 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Hi Ryosuke, we&apos;ve ported some of those tests to unit tests (at lest for EFL, bug 118123). Do you think it&apos;s good time to get rid of layout tests which verify spelling suggestions?

Do we have unit tests on all ports? If not, we can only remove parts of the layout tests that check the presence of suggestions in context menus. Checks for markers, etc... are still valuable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930203</commentid>
    <comment_count>11</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-09-17 07:25:10 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Hi Ryosuke, we&apos;ve ported some of those tests to unit tests (at lest for EFL, bug 118123). Do you think it&apos;s good time to get rid of layout tests which verify spelling suggestions?
&gt; 
&gt; Do we have unit tests on all ports? If not, we can only remove parts of the layout tests that check the presence of suggestions in context menus. Checks for markers, etc... are still valuable.

Added this to my TODO list. Anyway, is there any WebKit port which does not populate spelling suggestions in context menu? Safari on Mac populates them as well as EFL and GTK+. Please correct me if I am wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936173</commentid>
    <comment_count>12</comment_count>
      <attachid>213355</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-10-04 06:12:04 -0700</bug_when>
    <thetext>Created attachment 213355
remove spellchecking suggestions from the most tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936283</commentid>
    <comment_count>13</comment_count>
      <attachid>213355</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 11:38:40 -0700</bug_when>
    <thetext>Comment on attachment 213355
remove spellchecking suggestions from the most tests

Clearing flags on attachment: 213355

Committed r156901: &lt;http://trac.webkit.org/changeset/156901&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936284</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 11:38:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936786</commentid>
    <comment_count>15</comment_count>
      <attachid>213355</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-06 10:27:25 -0700</bug_when>
    <thetext>Comment on attachment 213355
remove spellchecking suggestions from the most tests

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

&gt; LayoutTests/ChangeLog:35
&gt; +        * editing/spelling/context-menu-suggestions-multiword-selection.html: Renamed from LayoutTests/editing/spelling/spelling-multiword-selection.html.

This test used to pass on Mac, but now it&apos;s super flaky. Filed bug 122414.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202670</attachid>
            <date>2013-05-23 06:02:03 -0700</date>
            <delta_ts>2013-10-04 06:11:55 -0700</delta_ts>
            <desc>compare quantity of context menu elements</desc>
            <filename>spelling-new_tests_improvements.patch</filename>
            <type>text/plain</type>
            <size>10534</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZjc5Y2Y1Li4zMWU3MmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTMtMDUt
MjMgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgVGVzdHMgYWRkZWQgaW4gcjE0MTM1NCBlcnJvbmVvdXNseSBhc3N1bWVzIGNvcnJlY3Rp
b24gc3VnZ2VzdGlvbiB0byBiZSBpbiB0aGUgY29udGV4dCBtZW51CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM3NDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wYXJlIHRoZSBxdWFudGl0eSBvZiB0
aGUgY29udGV4dCBtZW51IGVsZW1lbnRzIHdoZW4gdGhlcmUgYXJlIHNwZWxsIGNoZWNraW5nIHN1
Z2dlc3Rpb25zCisgICAgICAgIHdpdGggdGhlIGNvbnRleHQgbWVudSB3aXRob3V0IHRoZW0uCisg
ICAgICAgIEFkZGl0aW9uYWxseSwgdGhlIGNoYW5nZSBhbGxvd3MgdG8gcGFzcyB0aGUgdGVzdHMg
Zm9yIHdrMiBhcyBpdHMgY29udGV4dENsaWNrIHJldHVybnMKKyAgICAgICAgYXJyYXkgb2Ygb2Jq
ZWN0cyAobm90IHN0cmluZ3MpLgorCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9yZXNvdXJj
ZXMvdXRpbC5qczoKKyAgICAgICAgKGluaXRTcGVsbFRlc3QpOgorICAgICAgICBOb3QgYXNzdW1l
IHRoYXQgdGhlIHRlc3RzIGFyZSBydW5uaW5nIHdpdGggIldpbmRvd3MiIGVkaXRpbmcgYmVoYXZp
b3IuCisgICAgICAgIFVuaXggcG9ydHMgZG8gbm90IG1ha2UgYSBzZWxlY3Rpb24gZm9yIHRoZSBt
aXNzcGVsbGVkIHdvcmQgYW5kIHRoZXkgZG9uJ3QKKyAgICAgICAgcmVxdWlyZSBzZWxlY3Rpb24g
dG8gZ2V0IHNwZWxsIGNoZWNraW5nIHN1Z2dlc3Rpb25zLgorCisgICAgICAgICogZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbDoK
KyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQt
c2VsZWN0aW9uLmh0bWw6CisgICAgICAgIENoZWNrIHRoZSBsZW5ndGggb2YgY29udGV4dCBtZW51
IGl0ZW1zIGluc3RlYWQgb2YgZHVtcGluZyB0aGVtLgorCisgICAgICAgICogcGxhdGZvcm0vZWZs
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBVbnNraXAgdGhlIHRlc3RzIGZvciBFRkwu
CisKIDIwMTMtMDUtMjMgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIG1lZGlhL1czQy92aWRlby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19w
cm9ncmVzcy5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nw
ZWxsaW5nL3Jlc291cmNlcy91dGlsLmpzIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9y
ZXNvdXJjZXMvdXRpbC5qcwppbmRleCAzYjc3YTM5Li42OTNmYTUxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Jlc291cmNlcy91dGlsLmpzCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvcmVzb3VyY2VzL3V0aWwuanMKQEAgLTMzLDcgKzMzLDYgQEAg
ZnVuY3Rpb24gaW5pdFNwZWxsVGVzdCh0ZXN0RWxlbWVudElkLCB0ZXN0VGV4dCwgdGVzdEZ1bmN0
aW9uKQogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQo
dHJ1ZSk7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFj
ZUVuYWJsZWQoZmFsc2UpOwogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVbmlmaWVkVGV4dENo
ZWNrZXJFbmFibGVkKHRydWUpOwotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFZGl0aW5nQmVo
YXZpb3IoIndpbiIpOwogCiAgICAgdmFyIGRlc3RpbmF0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQodGVzdEVsZW1lbnRJZCk7CiAgICAgZGVzdGluYXRpb24uZm9jdXMoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LW11bHRpd29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDlmMGRkMmIuLmFkMmE3ZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3
b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4
LDcgQEAgUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgogUEFTUyB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgaG9tZSIKIFBBU1Mg
c3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKIFBBU1Mgd2luZG93
LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIGhvbWUiCi1QQVNTIGNvbnRl
eHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSBpcyAiPHNlcGFy
YXRvcj4iCitQQVNTIGNvbnRleHRNZW51RWxlbWVudHNXaXRob3V0U3BlbGxpbmdTdWdnZXN0aW9u
cy5sZW5ndGggPCBjb250ZXh0TWVudUVsZW1lbnRzV2l0aFNwZWxsaW5nU3VnZ2VzdGlvbnMubGVu
Z3RoIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1t
dWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbAppbmRleCBlMDI3Yjk3Li4zNzhiMjY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11bHRpd29y
ZC1zZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbApAQCAtMjAsNiArMjAsMTQgQEAgaW5pdFNwZWxs
VGVzdCgiZGVzdGluYXRpb24iLCAid2VsbGNvbWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9kZSkg
ewogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmlu
ZygpIiwgIndlbGxjb21lIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsKIAorICAgIC8vIENvbnRleHQgY2xpY2sgb24g
J3dlbGxjb21lJyB0byBnZXQgaXRzIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgorICAgIHZhciB4
ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZz
ZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0
VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8g
MjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBjb250ZXh0TWVudUVs
ZW1lbnRzV2l0aFNwZWxsaW5nU3VnZ2VzdGlvbnMgPSBldmVudFNlbmRlci5jb250ZXh0Q2xpY2so
KTsKKyAgICAvLyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQgbWVudS4KKyAgICBldmVudFNl
bmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFCKSwgbnVsbCk7CisKICAgICAv
LyBTZWxlY3QgdGhlIHRleHQgIndlbGxjb21lIGhvbWUiLgogICAgIHZhciBtdWx0aVdvcmRSYW5n
ZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CiAgICAgbXVsdGlXb3JkUmFuZ2Uuc2V0U3RhcnQo
dGV4dE5vZGUsIDApOwpAQCAtMjksMTggKzM3LDE4IEBAIGluaXRTcGVsbFRlc3QoImRlc3RpbmF0
aW9uIiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKIAogICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2Vs
bGNvbWUgaG9tZSIpOwogCi0gICAgLy8gQ29udGV4dCBjbGljayB0byBzaG93IHRoZSBjb250ZXh0
IG1lbnUuCi0gICAgdmFyIHggPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCAr
IGRlc3RpbmF0aW9uLm9mZnNldExlZnQgKyA0MDsKLSAgICB2YXIgeSA9IGRlc3RpbmF0aW9uLm9m
ZnNldFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlv
bi5vZmZzZXRIZWlnaHQgLyAyOworICAgIC8vIENvbnRleHQgY2xpY2sgb24gc2VsZWN0ZWQgdGV4
dCB0byBnZXQgaXRzIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgorICAgIHggPSBkZXN0aW5hdGlv
bi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0aW9uLm9mZnNldExlZnQgKyA0MDsK
KyAgICB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9u
Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7CiAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgY29udGV4dE1lbnVFbGVtZW50cyA9IGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljaygpOworICAgIGNvbnRleHRNZW51RWxlbWVudHNXaXRob3V0U3BlbGxp
bmdTdWdnZXN0aW9ucyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOwogICAgIC8vIEVzYyBr
ZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgogICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKIAogICAgIHNwZWxsaW5nTWFya2VyUmFu
Z2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAw
KTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJp
bmcoKSIsICJ3ZWxsY29tZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUgaG9tZSIpOwotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxl
bmd0aCAtIDFdIiwgIjxzZXBhcmF0b3I+Iik7CisgICAgc2hvdWxkQmVUcnVlKCJjb250ZXh0TWVu
dUVsZW1lbnRzV2l0aG91dFNwZWxsaW5nU3VnZ2VzdGlvbnMubGVuZ3RoIDwgY29udGV4dE1lbnVF
bGVtZW50c1dpdGhTcGVsbGluZ1N1Z2dlc3Rpb25zLmxlbmd0aCIpOwogfSk7CiAKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3
b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCAwOTdlZTc2Li5m
MzllN2YyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtOCw3
ICs4LDcgQEAgUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgogUEFT
UyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAibGxjbyIKIFBBU1Mgc3BlbGxp
bmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKIFBBU1Mgd2luZG93LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgImxsY28iCi1QQVNTIGNvbnRleHRNZW51RWxlbWVudHNb
Y29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSBpcyAiPHNlcGFyYXRvcj4iCitQQVNTIGNv
bnRleHRNZW51RWxlbWVudHNXaXRob3V0U3BlbGxpbmdTdWdnZXN0aW9ucy5sZW5ndGggPCBjb250
ZXh0TWVudUVsZW1lbnRzV2l0aFNwZWxsaW5nU3VnZ2VzdGlvbnMubGVuZ3RoIGlzIHRydWUKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNl
bGVjdGlvbi5odG1sCmluZGV4IGY5YmM4NWQuLjNjOWI2MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9u
Lmh0bWwKQEAgLTIwLDYgKzIwLDE0IEBAIGluaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndl
bGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOwogICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCki
LCAiIik7CiAKKyAgICAvLyBDb250ZXh0IGNsaWNrIG9uICd3ZWxsY29tZScgdG8gZ2V0IGl0cyBz
cGVsbCBjaGVjayBzdWdnZXN0aW9ucy4KKyAgICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBh
cmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOworICAgIHZhciB5
ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNl
dFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oeCwgeSk7CisgICAgY29udGV4dE1lbnVFbGVtZW50c1dpdGhTcGVsbGluZ1N1Z2dl
c3Rpb25zID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAgLy8gRXNjIGtleSB0byBo
aWRlIHRoZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJv
bUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworCiAgICAgLy8gU2VsZWN0IHRoZSB0ZXh0ICJsbGNv
Ii4KICAgICB2YXIgc3ViV29yZFJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKICAgICBz
dWJXb3JkUmFuZ2Uuc2V0U3RhcnQodGV4dE5vZGUsIDIpOwpAQCAtMjksMTggKzM3LDE4IEBAIGlu
aXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4
dE5vZGUpIHsKIAogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCkiLCAibGxjbyIpOwogCi0gICAgLy8gQ29udGV4dCBjbGljayBvbiAnbGxj
bycgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51LgotICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zm
c2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7Ci0gICAg
dmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24u
b2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAvLyBDb250ZXh0
IGNsaWNrIG9uICdsbGNvJyB0byBnZXQgaXRzIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgorICAg
IHggPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0aW9uLm9m
ZnNldExlZnQgKyA0MDsKKyAgICB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRv
cCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7
CiAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgY29udGV4dE1lbnVFbGVt
ZW50cyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgIGNvbnRleHRNZW51RWxlbWVu
dHNXaXRob3V0U3BlbGxpbmdTdWdnZXN0aW9ucyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygp
OwogICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgogICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKIAogICAgIHNw
ZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2Rl
LCAic3BlbGxpbmciLCAwKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFy
a2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAibGxjbyIpOwotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1l
bnRzLmxlbmd0aCAtIDFdIiwgIjxzZXBhcmF0b3I+Iik7CisgICAgc2hvdWxkQmVUcnVlKCJjb250
ZXh0TWVudUVsZW1lbnRzV2l0aG91dFNwZWxsaW5nU3VnZ2VzdGlvbnMubGVuZ3RoIDwgY29udGV4
dE1lbnVFbGVtZW50c1dpdGhTcGVsbGluZ1N1Z2dlc3Rpb25zLmxlbmd0aCIpOwogfSk7CiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGJkZjIzMTMuLmQxODEwZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0LDYgKzQ0LDggQEAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuaHRtbCBbIFBhc3MgXQogZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1saW5lYnJlYWsuaHRtbCBbIFBhc3MgXQorZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwgWyBQYXNzIF0KK2VkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24uaHRtbCBbIFBhc3MgXQogZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9uLXNlbGVjdGlvbi5odG1sIFsgUGFz
cyBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtd2hpdGVzcGFjZS1zZWxlY3Rpb24u
aHRtbCBbIFBhc3MgXQogCkBAIC0zMDcsMTIgKzMwOSw5IEBAIEJ1ZyhFRkwpIGVkaXRpbmcvc3Bl
bGxpbmcvbWFya2Vycy5odG1sIFsgRmFpbHVyZSBdCiAjIEVGTCdzIHRleHQgY2hlY2tlciBkb2Vz
bid0IHN1cHBvcnQgdGhlIHRleHQgcmVwbGFjZW1lbnQgZmVhdHVyZS4KIEJ1ZyhFRkwpIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctbWFya2VyLWRlc2NyaXB0aW9uLmh0bWwgWyBGYWlsdXJlIF0K
IAotIyBXSzIncyBjb250ZXh0Q2xpY2soKSByZXR1cm5zIGFycmF5IG9mIG9iamVjdHMgaW5zdGVh
ZCBvZiBzdHJpbmdzLgorIyBTcGVsbGNoZWNrIHRpbWVkIG91dCBhcyBFbmNoYW50IGNhbiBub3Qg
ZmluZCBhbnkgbWlzc3BlbGxlZCB3b3JkcyBpbiAnSXQgc2hvdWxkIGJlIHVwcGVyIGNhc2UuJyBz
dHJpbmcuCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlw
bGUtd29yZHMuaHRtbCBbIEZhaWx1cmUgXQotZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFj
dGx5LXNlbGVjdGVkLXdvcmQuaHRtbCBbIEZhaWx1cmUgXQotZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgRmFpbHVyZSBd
Ci1lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgWyBGYWls
dXJlIF0KIAogIyBGYWlscyBiZWNhdXNlIE11dGF0aW9uT2JzZXJ2ZXJzIGFyZSBub3Qgbm90aWZp
ZWQgYXQgZW5kLW9mLXRhc2suCiB3ZWJraXQub3JnL2IvNzgyOTAgZmFzdC9kb20vTXV0YXRpb25P
YnNlcnZlci9lbmQtb2YtdGFzay1kZWxpdmVyeS5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213355</attachid>
            <date>2013-10-04 06:12:04 -0700</date>
            <delta_ts>2013-10-06 10:27:25 -0700</delta_ts>
            <desc>remove spellchecking suggestions from the most tests</desc>
            <filename>bug-113742-20131004151202.patch</filename>
            <type>text/plain</type>
            <size>39612</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2ODg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTRkNzY1Njg4OTk5YmRiNzZiMGZk
ZmM1MmI1Y2U4MjhmZWIwZjVjMi4uNTE3ZDdhYzZkZmIzMjdjYTdkYjJlZDkyMjc5YTE5ODhlMzMw
MzU2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTEwLTAzICBHcnplZ29yeiBDemFqa293
c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgorCisgICAgICAgIFRlc3RzIGFkZGVkIGlu
IHIxNDEzNTQgZXJyb25lb3VzbHkgYXNzdW1lIGNvcnJlY3Rpb24gc3VnZ2VzdGlvbiB0byBiZSBp
biB0aGUgY29udGV4dCBtZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTM3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0cyBmcm9tIHIxNDEzNTQgZXJyb25lb3VzbHkgYXNzdW1lIHRoYXQgYWxs
IFdlYktpdCBwb3J0cyBwb3B1bGF0ZQorICAgICAgICBzcGVsbCBjaGVja2luZyBzdWdnZXN0aW9u
IGluIHRoZSBjb250ZXh0IG1lbnUuCisKKyAgICAgICAgUmVtb3ZlIHZlcmlmaWNhdGlvbiBvZiBz
cGVsbCBjaGVja2luZyBzdWdnZXN0aW9uIGFuZCBhbGwgY29udGV4dCBtZW51IHN0dWZmIGZyb20g
dGVzdHMKKyAgICAgICAgdGhhdCBkbyB0aGF0IHVubmVjZXNzYXJpbHkuIEluc3RlYWQgb2YgdGhh
dCBjaGVjayB3aGV0aGVyIHNwZWxsaW5nIG1hcmtlcnMgYmVoYXZlIGNvcnJlY3RseSwKKyAgICAg
ICAgZm9yIGV4YW1wbGUsIGFmdGVyIGRlbGV0aW5nIGEgdGV4dCwgZG91YmxlIGNsaWNrIG9yIHNl
bGVjdGluZyBhIG1pc3NwZWxsaW5ncy4KKworICAgICAgICBIb3dldmVyLCB0d28gdGVzdHMgYXJl
IGFkYXB0ZWQgdG8gdmVyaWZ5IHNwZWxsIGNoZWNraW5nIHN1Z2dlc3Rpb25zICh0aGVpciBhdmFp
bGFiaWxpdHkKKyAgICAgICAgcmF0aGVyIHRoYW4gY29ycmVjdG5lc3MsIHNpbWlsYXJseSB0byBj
b250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMuaHRtbCkuCisgICAgICAgIFRob3NlIGFyZSB1c2VmdWwg
Zm9yIHBvcnRzIHdoaWNoIHBvcHVsYXRlIHNwZWxsaW5nIHN1Z2dlc3Rpb24gaW4gdGhlIGNvbnRl
eHQgbWVudS4KKworICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvcmVzb3VyY2VzL3V0aWwuanM6
CisgICAgICAgIChpbml0U3BlbGxUZXN0KToKKyAgICAgICAgRG8gbm90IGFzc3VtZSB0aGF0IHRo
ZSB0ZXN0cyBhcmUgcnVubmluZyB3aXRoICJXaW5kb3dzIiBlZGl0aW5nIGJlaGF2aW9yLgorICAg
ICAgICBVbml4IHBvcnRzIGRvIG5vdCBtYWtlIGEgc2VsZWN0aW9uIGZvciB0aGUgbWlzc3BlbGxl
ZCB3b3JkIGFuZCB0aGV5IGRvbid0CisgICAgICAgIHJlcXVpcmUgc2VsZWN0aW9uIHRvIGdldCBz
cGVsbCBjaGVja2luZyBzdWdnZXN0aW9ucy4KKworICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctY2hhbmdlZC10ZXh0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWNoYW5nZWQtdGV4dC5odG1sOgorICAgICAgICAqIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWw6Cisg
ICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3Rs
eS1zZWxlY3RlZC13b3JkLmh0bWw6CisgICAgICAgIFJlbW92ZSB2ZXJpZmljYXRpb24gb2YgY29y
cmVjdGlvbiBzdWdnZXN0aW9uLgorICAgICAgICBJbnN0ZWFkIG9mIHRoYXQgY2hlY2sgd2hldGhl
ciB0aGUgc3BlbGxpbmcgbWFya2VycyBiZWhhdmUgY29ycmVjdGx5LgorCisgICAgICAgICogZWRp
dGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMtbXVsdGl3b3JkLXNlbGVjdGlv
bi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVk
aXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxlY3Rp
b24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcv
Y29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29y
ZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvY29u
dGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLmh0bWw6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9u
Lmh0bWwuCisgICAgICAgIEFkYXB0IHRob3NlIHRlc3RzIGZvciBwbGF0Zm9ybXMgd2hpY2ggcG9w
dWxhdGUgc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbgorICAgICAgICBpbiB0aGUgY29udGV4dCBtZW51
LgorCisgICAgICAgICogcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICBOb3cgY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbCBh
bmQKKyAgICAgICAgY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLmh0
bWwgYXJlIHBhc3NpbmcgZm9yIEVGTC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay13azIvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fp
cm8vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgVXBkYXRlIHRlc3RzIHBhdGggZHVlIHRvIHJl
bmFtZS4KKwogMjAxMy0xMC0wNCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAog
ICAgICAgICBbQ1NTIFJlZ2lvbnNdIEluZmluaXRlIGxvb3Agd2hlbiBjb21wdXRpbmcgd2lkb3dz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1z
dWdnZXN0aW9ucy1tdWx0aXdvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5ZGRmNDg4MTI1MmQ5ZGM3YzlmODFhMWY1
YzQ1YjRkMzFiN2I0MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nw
ZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy1tdWx0aXdvcmQtc2VsZWN0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitTcGVsbCBjaGVjayBzdWdlc3Rpb25zIHNob3VsZCBu
b3QgYmUgcHVwdWxhdGVkIHdoZW4gdXNlciBzZWxlY3RzIG11bHRpcGxlIHdvcmRzIHRoYXQgYXJl
IG5vdCBhIHNpbmdsZSBtaXNzcGVsbGluZy4gVG8gdGVzdCBtYW51YWxseSwgdHlwZSAnd2VsbGNv
bWUgaG9tZS4nLCBzZWxlY3QgJ3dlbGxjb21lIGhvbWUnLCBhbmQgY29udGV4dC1jbGljayBvbiB0
aGUgc2VsZWN0aW9uLiBUaGUgdGVzdCBzdWNlZWRzIHdoZW4gdGhlIGNvbnRleHQgbWVudSBoYXMg
bm8gc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUiCitQ
QVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICIiCitQQVNTIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSBob21lIgorUEFTUyBzcGVsbGlu
Z01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgaG9tZSIKK1BBU1MgY29udGV4dE1lbnVJ
dGVtc1dpdGhvdXRTcGVsbGluZ1N1Z2dlc3Rpb25zIDwgY29udGV4dE1lbnVJdGVtc1dpdGhTcGVs
bGluZ1N1Z2dlc3Rpb25zIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQord2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxl
Y3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1
Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjllNjc5MzNk
OTUxOGQ3Yzg5ODJhZDMyYmE0Yzc5MjY2Y2EyOTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMtbXVsdGl3b3Jk
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGluYXRpb24i
IGNvbnRlbnRFZGl0YWJsZT48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNjcmlwdGlv
bigiU3BlbGwgY2hlY2sgc3VnZXN0aW9ucyBzaG91bGQgbm90IGJlIHB1cHVsYXRlZCB3aGVuIHVz
ZXIgc2VsZWN0cyBtdWx0aXBsZSB3b3JkcyB0aGF0IGFyZSBub3QgYSBzaW5nbGUgbWlzc3BlbGxp
bmcuICIKKyAgICArICJUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicsIHNl
bGVjdCAnd2VsbGNvbWUgaG9tZScsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rpb24u
ICIKKyAgICArICJUaGUgdGVzdCBzdWNlZWRzIHdoZW4gdGhlIGNvbnRleHQgbWVudSBoYXMgbm8g
c3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuIik7CisKK2luaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9u
IiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKKyAgICBzcGVsbGluZ01h
cmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxs
aW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndp
bmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiIpOworCisgICAgLy8gQ29udGV4dCBj
bGljayBvbiAnd2VsbGNvbWUnIHRvIGdldCBpdHMgc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuCisg
ICAgdmFyIHggPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0
aW9uLm9mZnNldExlZnQgKyA0MDsKKyAgICB2YXIgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVu
dC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRI
ZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGNvbnRl
eHRNZW51SXRlbXNXaXRoU3BlbGxpbmdTdWdnZXN0aW9ucyA9IGV2ZW50U2VuZGVyLmNvbnRleHRD
bGljaygpOworICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgorICAgIGV2
ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKKwor
ICAgIC8vIFNlbGVjdCB0aGUgdGV4dCAid2VsbGNvbWUgaG9tZSIuCisgICAgdmFyIG11bHRpV29y
ZFJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICBtdWx0aVdvcmRSYW5nZS5zZXRT
dGFydCh0ZXh0Tm9kZSwgMCk7CisgICAgbXVsdGlXb3JkUmFuZ2Uuc2V0RW5kKHRleHROb2RlLCAx
Myk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShtdWx0aVdvcmRSYW5nZSk7CisKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIndl
bGxjb21lIGhvbWUiKTsKKworICAgIC8vIENvbnRleHQgY2xpY2sgb24gIndlbGxjb21lIGhvbWUi
IHRvIGNoZWNrIGl0cyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4KKyAgICB4ID0gZGVzdGluYXRp
b24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7
CisgICAgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlv
bi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGNvbnRleHRNZW51SXRlbXNXaXRob3V0U3BlbGxp
bmdTdWdnZXN0aW9ucyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgIC8vIEVzYyBr
ZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKKworICAgIHNwZWxsaW5nTWFya2VyUmFu
Z2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAw
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJp
bmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUgaG9tZSIpOworICAgIHNob3VsZEJl
VHJ1ZSgiY29udGV4dE1lbnVJdGVtc1dpdGhvdXRTcGVsbGluZ1N1Z2dlc3Rpb25zIDwgY29udGV4
dE1lbnVJdGVtc1dpdGhTcGVsbGluZ1N1Z2dlc3Rpb25zIik7Cit9KTsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy1zdWJ3b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy1z
dWJ3b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAwYzM1MWZhMDMzYWIx
MDY0NDI2Yzg5NjhmYmYyOTA4YTgxYWJkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitTcGVsbCBjaGVjayBzdWdnZXN0aW9u
cyBzaG91bGQgbm90IGJlIHBvcHVsYXRlZCB3aGVuIHVzZXIgc2VsZWN0cyBhIHBhcnQgb2YgbWlz
c3BlbGxpbmcuIFRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dlbGxjb21lIGhvbWUuJyBzZWxlY3Qg
J2xsY28nLCBhbmQgY29udGV4dC1jbGljayBvbiB0aGUgc2VsZWN0aW9uLiBUaGUgdGVzdCBzdWNl
ZWRzIHdoZW4gdGhlIGNvbnRleHQgbWVudSBoYXMgbm8gc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNwZWxsaW5nTWFya2VyUmFu
Z2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpIGlzICIiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlz
ICJsbGNvIgorUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21l
IgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAibGxjbyIKK1BBU1Mg
Y29udGV4dE1lbnVJdGVtc1dpdGhvdXRTcGVsbGluZ1N1Z2dlc3Rpb25zIDwgY29udGV4dE1lbnVJ
dGVtc1dpdGhTcGVsbGluZ1N1Z2dlc3Rpb25zIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQord2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1
YndvcmQtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2NvbnRl
eHQtbWVudS1zdWdnZXN0aW9ucy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
NmUyYzk0NTQ1MmFmZTQ4OWI2ZDE2YzQ4ZjViMjUzZjE5ZDc0N2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy1z
dWJ3b3JkLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGlu
YXRpb24iIGNvbnRlbnRFZGl0YWJsZT48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNj
cmlwdGlvbigiU3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMgc2hvdWxkIG5vdCBiZSBwb3B1bGF0ZWQg
d2hlbiB1c2VyIHNlbGVjdHMgYSBwYXJ0IG9mIG1pc3NwZWxsaW5nLiAiCisgICAgKyAiVG8gdGVz
dCBtYW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nIHNlbGVjdCAnbGxjbycsIGFuZCBjb250
ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rpb24uICIKKyAgICArICJUaGUgdGVzdCBzdWNlZWRzIHdo
ZW4gdGhlIGNvbnRleHQgbWVudSBoYXMgbm8gc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuIik7CisK
K2luaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24o
dGV4dE5vZGUpIHsKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJh
bmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IiwgIiIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBvbiAnd2VsbGNvbWUnIHRvIHNob3cgdGhl
IGNvbnRleHQgbWVudS4KKyAgICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZz
ZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOworICAgIHZhciB5ID0gZGVzdGlu
YXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRl
c3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
eCwgeSk7CisgICAgY29udGV4dE1lbnVJdGVtc1dpdGhTcGVsbGluZ1N1Z2dlc3Rpb25zID0gZXZl
bnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAgLy8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250
ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4
MDAxQiksIG51bGwpOworCisgICAgLy8gU2VsZWN0IHRoZSB0ZXh0ICJsbGNvIi4KKyAgICB2YXIg
c3ViV29yZFJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICBzdWJXb3JkUmFuZ2Uu
c2V0U3RhcnQodGV4dE5vZGUsIDIpOworICAgIHN1YldvcmRSYW5nZS5zZXRFbmQodGV4dE5vZGUs
IDYpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2Uoc3ViV29yZFJhbmdlKTsKKworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAibGxj
byIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBvbiAnbGxjbycgdG8gc2hvdyB0aGUgY29udGV4
dCBtZW51LgorICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQg
KyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5v
ZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRp
b24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsK
KyAgICBjb250ZXh0TWVudUl0ZW1zV2l0aG91dFNwZWxsaW5nU3VnZ2VzdGlvbnMgPSBldmVudFNl
bmRlci5jb250ZXh0Q2xpY2soKTsKKyAgICAvLyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQg
bWVudS4KKyAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFC
KSwgbnVsbCk7CisKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJh
bmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IiwgImxsY28iKTsKKyAgICBzaG91bGRCZVRydWUoImNvbnRleHRNZW51SXRlbXNXaXRob3V0U3Bl
bGxpbmdTdWdnZXN0aW9ucyA8IGNvbnRleHRNZW51SXRlbXNXaXRoU3BlbGxpbmdTdWdnZXN0aW9u
cyIpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvcmVzb3VyY2VzL3V0aWwuanMKaW5kZXggM2I3N2EzOTIxOGU4Y2Zl
YjUzZWEyOWQ2ZWI0NmRkN2EyMTVmYjNiNy4uNjkzZmE1MTFmYzcxYzIxNGM3NmExOGUxMTE5MWEz
OTI1ZGE5YWNmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9yZXNv
dXJjZXMvdXRpbC5qcworKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Jlc291cmNl
cy91dGlsLmpzCkBAIC0zMyw3ICszMyw2IEBAIGZ1bmN0aW9uIGluaXRTcGVsbFRlc3QodGVzdEVs
ZW1lbnRJZCwgdGVzdFRleHQsIHRlc3RGdW5jdGlvbikKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKHRydWUpOwogICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGZhbHNlKTsKICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCh0cnVlKTsKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RWRpdGluZ0JlaGF2aW9yKCJ3aW4iKTsKIAogICAgIHZhciBkZXN0
aW5hdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3RFbGVtZW50SWQpOwogICAgIGRl
c3RpbmF0aW9uLmZvY3VzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWNoYW5nZWQtdGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWNoYW5nZWQtdGV4dC1leHBlY3RlZC50eHQKaW5kZXggYzg5
NTgxZjAyMWJkOTE4M2ZiN2FlYTU3MjMzNjIyODZhOTAxZmM2Ny4uOWI3NzA5NzAwZjI2YzYxMGE5
ODcxZmFmYWFlZmJkNzc0NDljZmQ0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy1jaGFuZ2VkLXRleHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctY2hhbmdlZC10ZXh0LWV4cGVjdGVkLnR4dApA
QCAtMSw5ICsxLDEwIEBACi1TcGVsbGNoZWNrIHNob3VsZCBub3QgY3Jhc2ggYWZ0ZXIgdGhlIHRl
eHQgaGFzIGNoYW5nZWQgYW5kIHJlc3VsdHMgYXJlIHNlcnZlZCBmcm9tIGNhY2hlLiBUbyB0ZXN0
IG1hbnVhbGx5LCBsYXVuY2ggQ2hyb21pdW0gY29tcGlsZWQgd2l0aCBBZGRyZXNzIFNhbml0aXpl
ciwgZW5hYmxlICdBc2sgR29vZ2xlIGZvciBTdWdnZXN0aW9ucycsIHR5cGUgJ1NwZWxsIHdlbGxj
b21lLiBJcyBpdCBicm9rZW4/JywgZGVsZXRlIHRoZSB3b3JkcyAnSXMgaXQgYnJva2VuPycsIGFu
ZCBjb250ZXh0LWNsaWNrIG9uIHRoZSB3b3JkICd3ZWxsY29tZScuIFRoZSB0ZXN0IHN1Y2NlZWRz
IHdoZW4gdGhlIGJyb3dzZXIgZG9lcyBub3QgY3Jhc2ggYW5kIHNob3dzIHN1Z2dlc3Rpb25zIGlu
IHRoZSBjb250ZXh0IG1lbnUuCitXZWJLaXQgc2hvdWxkIG5vdCBjcmFzaCBhZnRlciB0aGUgdGV4
dCBoYXMgY2hhbmdlZCBhbmQgcmVzdWx0cyBhcmUgc2VydmVkIGZyb20gY2FjaGUuIFRvIHRlc3Qg
bWFudWFsbHksIHR5cGUgJ1NwZWxsIHdlbGxjb21lLiBJcyBpdCBicm9rZW4/JywgZGVsZXRlIHRo
ZSB3b3JkcyAnSXMgaXQgYnJva2VuPycuIFRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gV2ViS2l0IGRv
ZXMgbm90IGNyYXNoIGFuZCAnd2VsbGNvbWUnIGhhcyBzcGVsbGluZyBtYXJrZXIuCiAKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0
cmluZygpIGlzICIgSXMgaXQgYnJva2VuPyIKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0
cmluZygpIGlzICJ3ZWxsY29tZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1jaGFuZ2VkLXRleHQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctY2hhbmdlZC10ZXh0Lmh0bWwKaW5kZXggZWFmYTU2NWY3NGFjNzE4YjMyOTJjMWJj
MmQxOTM1ODIwNGE3OWNiZC4uZTkzMTJiNGEzYTYyMTZhMWM3ZGJlMDIwMmMyNTA1YTMxNTViYzI1
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1jaGFu
Z2VkLXRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LWNoYW5nZWQtdGV4dC5odG1sCkBAIC0xMSw5ICsxMSw5IEBACiAKIDxzY3JpcHQ+CiAKLWRlc2Ny
aXB0aW9uKCJTcGVsbGNoZWNrIHNob3VsZCBub3QgY3Jhc2ggYWZ0ZXIgdGhlIHRleHQgaGFzIGNo
YW5nZWQgYW5kIHJlc3VsdHMgYXJlIHNlcnZlZCBmcm9tIGNhY2hlLiIKLSAgICArICIgVG8gdGVz
dCBtYW51YWxseSwgbGF1bmNoIENocm9taXVtIGNvbXBpbGVkIHdpdGggQWRkcmVzcyBTYW5pdGl6
ZXIsIGVuYWJsZSAnQXNrIEdvb2dsZSBmb3IgU3VnZ2VzdGlvbnMnLCB0eXBlICdTcGVsbCB3ZWxs
Y29tZS4gSXMgaXQgYnJva2VuPycsIGRlbGV0ZSB0aGUgd29yZHMgJ0lzIGl0IGJyb2tlbj8nLCBh
bmQgY29udGV4dC1jbGljayBvbiB0aGUgd29yZCAnd2VsbGNvbWUnLiIKLSAgICArICIgVGhlIHRl
c3Qgc3VjY2VlZHMgd2hlbiB0aGUgYnJvd3NlciBkb2VzIG5vdCBjcmFzaCBhbmQgc2hvd3Mgc3Vn
Z2VzdGlvbnMgaW4gdGhlIGNvbnRleHQgbWVudS4iKTsKK2Rlc2NyaXB0aW9uKCJXZWJLaXQgc2hv
dWxkIG5vdCBjcmFzaCBhZnRlciB0aGUgdGV4dCBoYXMgY2hhbmdlZCBhbmQgcmVzdWx0cyBhcmUg
c2VydmVkIGZyb20gY2FjaGUuIgorICAgICsgIiBUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICdTcGVs
bCB3ZWxsY29tZS4gSXMgaXQgYnJva2VuPycsIGRlbGV0ZSB0aGUgd29yZHMgJ0lzIGl0IGJyb2tl
bj8nLiIKKyAgICArICIgVGhlIHRlc3Qgc3VjY2VlZHMgd2hlbiBXZWJLaXQgZG9lcyBub3QgY3Jh
c2ggYW5kICd3ZWxsY29tZScgaGFzIHNwZWxsaW5nIG1hcmtlci4iKTsKIAogaW5pdFNwZWxsVGVz
dCgiZGVzdGluYXRpb24iLCAiU3BlbGwgd2VsbGNvbWUuIElzIGl0IGJyb2tlbj8iLCBmdW5jdGlv
bih0ZXh0Tm9kZSkgewogICAgIC8vIFNlbGVjdCB0aGUgdGV4dCAiSXMgaXQgYnJva2VuPyIuCkBA
IC0yNiwxMyArMjYsOCBAQCBpbml0U3BlbGxUZXN0KCJkZXN0aW5hdGlvbiIsICJTcGVsbCB3ZWxs
Y29tZS4gSXMgaXQgYnJva2VuPyIsIGZ1bmN0aW9uKHRleHROb2RlKQogICAgIC8vIERlbCBrZXkg
dG8gZGVsZXRlIHRoZSB0ZXh0ICJJcyBpdCBicm9rZW4/Ii4KICAgICBldmVudFNlbmRlci5rZXlE
b3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDdGKSwgbnVsbCk7CiAKLSAgICAvLyBDb250ZXh0
IGNsaWNrIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KLSAgICB2YXIgeCA9IGRlc3RpbmF0aW9u
Lm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDUwOwot
ICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0
aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgY29udGV4dE1lbnVFbGVtZW50cyA9IGV2ZW50
U2VuZGVyLmNvbnRleHRDbGljaygpOwotICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0aGUgY29udGV4
dCBtZW51LgotICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAw
MUIpLCBudWxsKTsKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJh
bmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKIAog
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXN0aW5hdGlvbiIpLmlubmVySFRNTCA9ICIi
OwogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LWRvdWJsZS1jbGlja2VkLXdvcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLWV4cGVjdGVkLnR4dAppbmRleCA4
MWUxODgwMTg0ZjNkY2ZlODQ1MTQyZWIzMzA5ZTlmMzEzYTMzN2RkLi5jOGY4YmY0MWQwZTZmMjky
MzRjNzdmMjYwNzM5MDY0NDExY2E4YTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29y
ZC1leHBlY3RlZC50eHQKQEAgLTEsMTUgKzEsMTMgQEAKLVNwZWxsaW5nIHNob3VsZCB3b3JrIGZv
ciBkb3VibGUtY2xpY2tlZCBtaXNzcGVsbGluZ3MuIFRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dl
bGxjb21lIGhvbWUuJywgZG91YmxlLWNsaWNrIG9uICd3ZWxsY29tZScsIGFuZCBjb250ZXh0LWNs
aWNrIG9uIHRoZSBzZWxlY3Rpb24uIFRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gdGhlIGNvbnRleHQg
bWVudSBzaG93cyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4KK1NwZWxsaW5nIG1hcmtlcnMgc2hv
dWxkIHJlbWFpbiBmb3IgZG91YmxlLWNsaWNrZWQgbWlzc3BlbGxpbmdzLiBUbyB0ZXN0IG1hbnVh
bGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicsIGRvdWJsZS1jbGljayBvbiAnd2VsbGNvbWUnLiBU
aGUgdGVzdCBzdWNjZWVkcyB3aGVuICd3ZWxsY29tZScgcmVtYWlucyBzcGVsbGluZyBtYXJrZXIu
CiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCiBQQVNTIHNwZWxsaW5nTWFya2VyUmFu
Z2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUiCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpIGlzICIiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlz
ICJ3ZWxsY29tZSIKIFBBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxs
Y29tZSIKIFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIndlbGxjb21l
IgogUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgotUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgIgogUEFTUyBzcGVsbGlu
Z01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgogUEFTUyB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQuaHRtbAppbmRleCA3YmVmM2YzYzNkMGU5
NTIwZWNkNGU5YzFhN2VhOWY2Njk4Y2NjYzUyLi5kZDE2MDFmNmQ3OTAyOTY0M2I0YWU0Y2I4MWIz
ZDE0N2Q0ZGZmNDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQuaHRtbApAQCAtMTEsOSArMTEs
OSBAQAogCiA8c2NyaXB0PgogCi1kZXNjcmlwdGlvbigiU3BlbGxpbmcgc2hvdWxkIHdvcmsgZm9y
IGRvdWJsZS1jbGlja2VkIG1pc3NwZWxsaW5ncy4gIiArCi0gICAgICAgICAgICAiVG8gdGVzdCBt
YW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBkb3VibGUtY2xpY2sgb24gJ3dlbGxjb21l
JywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gIiArCi0gICAgICAgICAgICAi
VGhlIHRlc3Qgc3VjY2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IHNob3dzIHNwZWxsIGNoZWNr
IHN1Z2dlc3Rpb25zLiIpOworZGVzY3JpcHRpb24oIlNwZWxsaW5nIG1hcmtlcnMgc2hvdWxkIHJl
bWFpbiBmb3IgZG91YmxlLWNsaWNrZWQgbWlzc3BlbGxpbmdzLiAiCisgICAgKyAiVG8gdGVzdCBt
YW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBkb3VibGUtY2xpY2sgb24gJ3dlbGxjb21l
Jy4gIgorICAgICsgIlRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gJ3dlbGxjb21lJyByZW1haW5zIHNw
ZWxsaW5nIG1hcmtlci4iKTsKIAogaW5pdFNwZWxsVGVzdCgiZGVzdGluYXRpb24iLCAid2VsbGNv
bWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9kZSkgewogICAgIHNwZWxsaW5nTWFya2VyUmFuZ2Ug
PSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsK
QEAgLTMxLDE2ICszMSw2IEBAIGluaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21l
IGhvbWUuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKICAgICBldmVudFNlbmRlci5tb3VzZURvd24o
KTsKICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIndlbGxjb21lIik7Ci0KLSAg
ICAvLyBDb250ZXh0IGNsaWNrIG9uICJ3ZWxsY29tZSIgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51
LgotICAgIHggPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0
aW9uLm9mZnNldExlZnQgKyA0MDsKLSAgICB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9m
ZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdo
dCAvIDI7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgY29udGV4dE1l
bnVFbGVtZW50cyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOwotICAgIC8vIEVzYyBrZXkg
dG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgotICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5n
LmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKLQogICAgIHNwZWxsaW5nTWFya2VyUmFuZ2Ug
PSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsK
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmco
KSIsICJ3ZWxsY29tZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKQEAgLTU4LDE1ICs0OCw2IEBAIGlu
aXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4
dE5vZGUpIHsKICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUgIik7
Ci0KLSAgICAvLyBDb250ZXh0IGNsaWNrIG9uICJ3ZWxsY29tZSAiIHRvIHNob3cgdGhlIGNvbnRl
eHQgbWVudS4KLSAgICB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBk
ZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7Ci0gICAgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBh
cmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZz
ZXRIZWlnaHQgLyAyOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwotICAgIGNv
bnRleHRNZW51RWxlbWVudHMgPSBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKTsKLSAgICAvLyBF
c2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQgbWVudS4KLSAgICBldmVudFNlbmRlci5rZXlEb3du
KFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFCKSwgbnVsbCk7CiAKICAgICBzcGVsbGluZ01hcmtl
clJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5n
IiwgMCk7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRv
U3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3JkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3Jk
LWV4cGVjdGVkLnR4dAppbmRleCBmNjA4YmJlNTAxZGY1MGY0OTQyNzkwY2I5YzlmMDdkNTRmMTgy
YWQ3Li45NjA3MDVhZGZlNGY5NTgwZTYzYjlmZGU2ZTFmMDJmNDk1YzllZTA4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQt
d29yZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
U3BlbGxpbmcgc2hvdWxkIHdvcmsgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtaXNzcGVsbGVk
IHdvcmQgZXhhY3RseS4gVG8gdGVzdCBtYW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBz
ZWxlY3QgJ3dlbGxjb21lJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhl
IHRlc3Qgc3VjY2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IHNob3dzIHNwZWxsaW5nIHN1Z2dl
c3Rpb25zLgorU3BlbGxpbmcgbWFya2VyIHNob3VsZCByZW1haW4gd2hlbiB0aGUgdXNlciBzZWxl
Y3RzIHRoZSBtaXNzcGVsbGVkIHdvcmQgZXhhY3RseS4gVG8gdGVzdCBtYW51YWxseSwgdHlwZSAn
d2VsbGNvbWUgaG9tZS4nLCBzZWxlY3QgJ3dlbGxjb21lJy4gVGhlIHRlc3Qgc3VjY2VlZHMgd2hl
biAnd2VsbGNvbWUnIGhhcyBzcGVsbGluZyBtYXJrZXIuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIApAQCAtNyw5ICs3LDYgQEAgUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5n
KCkgaXMgIndlbGxjb21lIgogUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBp
cyAiIgogUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUi
CiBQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUiCi1QQVNT
IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKLVBBU1Mgd2lu
ZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgImhvbWUiCi1QQVNTIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJob21lIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQuaHRtbApp
bmRleCBhMDBjM2JlMDA0N2NmNjgyMmNiMTQxMGY1ZjNjNjRmNTg4NzQ1MzYxLi5mZDAwMmMwMzVi
ZTU3YmE3ZTQ5YjAyMmQwYzdiNjBkNWFjZWYyNTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13
b3JkLmh0bWwKQEAgLTExLDkgKzExLDkgQEAKIAogPHNjcmlwdD4KIAotZGVzY3JpcHRpb24oIlNw
ZWxsaW5nIHNob3VsZCB3b3JrIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyB0aGUgbWlzc3BlbGxlZCB3
b3JkIGV4YWN0bHkuICIgKwotICAgICAgICAgICAgIlRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dl
bGxjb21lIGhvbWUuJywgc2VsZWN0ICd3ZWxsY29tZScsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRo
ZSBzZWxlY3Rpb24uICIgKwotICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gdGhl
IGNvbnRleHQgbWVudSBzaG93cyBzcGVsbGluZyBzdWdnZXN0aW9ucy4iKTsKK2Rlc2NyaXB0aW9u
KCJTcGVsbGluZyBtYXJrZXIgc2hvdWxkIHJlbWFpbiB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgdGhl
IG1pc3NwZWxsZWQgd29yZCBleGFjdGx5LiAiCisgICAgKyAiVG8gdGVzdCBtYW51YWxseSwgdHlw
ZSAnd2VsbGNvbWUgaG9tZS4nLCBzZWxlY3QgJ3dlbGxjb21lJy4gIgorICAgICsgIlRoZSB0ZXN0
IHN1Y2NlZWRzIHdoZW4gJ3dlbGxjb21lJyBoYXMgc3BlbGxpbmcgbWFya2VyLiIpOwogCiBpbml0
U3BlbGxUZXN0KCJkZXN0aW5hdGlvbiIsICJ3ZWxsY29tZSBob21lLiIsIGZ1bmN0aW9uKHRleHRO
b2RlKSB7CiAgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZv
ck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOwpAQCAtMjksMzIgKzI5LDggQEAgaW5pdFNw
ZWxsVGVzdCgiZGVzdGluYXRpb24iLCAid2VsbGNvbWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9k
ZSkgewogCiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOwogCi0gICAgLy8gQ29udGV4dCBjbGljayBvbiAid2Vs
bGNvbWUiIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KLSAgICB2YXIgeCA9IGRlc3RpbmF0aW9u
Lm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOwot
ICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0
aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgLy8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250
ZXh0IG1lbnUuCi0gICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4
MDAxQiksIG51bGwpOwotCiAgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJr
ZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOwogICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSIsICJ3ZWxsY29tZSIpOwotICAgIAotICAgIC8vIFNlbGVjdCBhIGNvcnJlY3RseSBzcGVs
bGVkIHdvcmQgd2l0aG91dCBzdXJyb3VuZGluZyB3aGl0ZXNwYWNlIG9yIHB1bmN0dWF0aW9uLgot
ICAgIHdvcmRSYW5nZS5zZXRTdGFydCh0ZXh0Tm9kZSwgOSk7Ci0gICAgd29yZFJhbmdlLnNldEVu
ZCh0ZXh0Tm9kZSwgMTMpOwotICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5n
ZXMoKTsKLSAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2Uod29yZFJhbmdlKTsKLSAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IiwgImhvbWUiKTsKLQotICAgIC8vIENvbnRleHQgY2xpY2sgb24gImhvbWUiIHRvIHNob3cgdGhl
IGNvbnRleHQgbWVudS4KLSAgICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZz
ZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDgwOwotICAgIHZhciB5ID0gZGVzdGlu
YXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRl
c3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
eCwgeSk7Ci0gICAgLy8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCi0gICAgZXZl
bnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOwotCi0g
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmco
KSIsICJob21lIik7CiB9KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYwZGQyYmUw
OWY4ZmVhZWM2MzAzNjc3NTI3MjAzMWU4NjQxMDFlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLW11bHRpd29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTUgKzAsMCBAQAotU3BlbGxpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gdXNlciBzZWxlY3Rz
IG11bHRpcGxlIHdvcmRzIHRoYXQgYXJlIG5vdCBhIHNpbmdsZSBtaXNzcGVsbGluZy4gVG8gdGVz
dCBtYW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBzZWxlY3QgJ3dlbGxjb21lIGhvbWUn
LCBhbmQgY29udGV4dC1jbGljayBvbiB0aGUgc2VsZWN0aW9uLiBUaGUgdGVzdCBzdWNlZWRzIHdo
ZW4gdGhlIGNvbnRleHQgbWVudSBoYXMgbm8gc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9T
dHJpbmcoKSBpcyAid2VsbGNvbWUiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpIGlzICIiCi1QQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxs
Y29tZSBob21lIgotUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxj
b21lIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUg
aG9tZSIKLVBBU1MgY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0
aCAtIDFdIGlzICI8c2VwYXJhdG9yPiIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotd2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlOGNkMTc0ZTRiZjQ4ZjliYmI5OThk
ZTgxM2IwZDBjNDM4OGUzNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQt
c2VsZWN0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImNvbnRhaW5lciI+Ci0gIDxkaXYgaWQ9
ImRlc3RpbmF0aW9uIiBjb250ZW50RWRpdGFibGU+PC9kaXY+Ci08L2Rpdj4KLQotPHNjcmlwdD4K
LQotZGVzY3JpcHRpb24oIlNwZWxsaW5nIHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuIHVzZXIgc2Vs
ZWN0cyBtdWx0aXBsZSB3b3JkcyB0aGF0IGFyZSBub3QgYSBzaW5nbGUgbWlzc3BlbGxpbmcuICIg
KwotICAgICAgICAgICAgIlRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dlbGxjb21lIGhvbWUuJywg
c2VsZWN0ICd3ZWxsY29tZSBob21lJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlv
bi4gIiArCi0gICAgICAgICAgICAiVGhlIHRlc3Qgc3VjZWVkcyB3aGVuIHRoZSBjb250ZXh0IG1l
bnUgaGFzIG5vIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLiIpOwotCi1pbml0U3BlbGxUZXN0KCJk
ZXN0aW5hdGlvbiIsICJ3ZWxsY29tZSBob21lLiIsIGZ1bmN0aW9uKHRleHROb2RlKSB7Ci0gICAg
c3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5v
ZGUsICJzcGVsbGluZyIsIDApOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdN
YXJrZXJSYW5nZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsKLQotICAgIC8v
IFNlbGVjdCB0aGUgdGV4dCAid2VsbGNvbWUgaG9tZSIuCi0gICAgdmFyIG11bHRpV29yZFJhbmdl
ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKLSAgICBtdWx0aVdvcmRSYW5nZS5zZXRTdGFydCh0
ZXh0Tm9kZSwgMCk7Ci0gICAgbXVsdGlXb3JkUmFuZ2Uuc2V0RW5kKHRleHROb2RlLCAxMyk7Ci0g
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOwotICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShtdWx0aVdvcmRSYW5nZSk7Ci0KLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIndlbGxjb21l
IGhvbWUiKTsKLQotICAgIC8vIENvbnRleHQgY2xpY2sgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51
LgotICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0
aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7Ci0gICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQ
YXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zm
c2V0SGVpZ2h0IC8gMjsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICBj
b250ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7Ci0gICAgLy8g
RXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCi0gICAgZXZlbnRTZW5kZXIua2V5RG93
bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOwotCi0gICAgc3BlbGxpbmdNYXJr
ZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGlu
ZyIsIDApOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50
b1N0cmluZygpIiwgIndlbGxjb21lIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSBob21lIik7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVu
dHMubGVuZ3RoIC0gMV0iLCAiPHNlcGFyYXRvcj4iKTsKLX0pOwotCi08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctc3Vid29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5N2VlNzZlYTE0YTUwNWZkOTRmZjg2ODg0MGI5Zjcz
MmQ1YTViMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1TcGVsbGluZyBzaG91
bGQgYmUgZGlzYWJsZWQgd2hlbiB1c2VyIHNlbGVjdHMgYSBwYXJ0IG9mIG1pc3NwZWxsaW5nLiBU
byB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicgc2VsZWN0ICdsbGNvJywgYW5k
IGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhlIHRlc3Qgc3VjZWVkcyB3aGVuIHRo
ZSBjb250ZXh0IG1lbnUgaGFzIG5vIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5n
KCkgaXMgIndlbGxjb21lIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBp
cyAiIgotUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAibGxjbyIKLVBB
U1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKLVBBU1Mgd2lu
ZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgImxsY28iCi1QQVNTIGNvbnRleHRNZW51
RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSBpcyAiPHNlcGFyYXRvcj4i
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLXdlbGxj
b21lIGhvbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDM4MzkyY2U1YmY4OWM5MjhhMzhmMTA2OGI5ZTNjZWU2ODhhNDFmZTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNDkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJjb250YWluZXIiPgotICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29udGVudEVkaXRhYmxl
PjwvZGl2PgotPC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCJTcGVsbGluZyBzaG91
bGQgYmUgZGlzYWJsZWQgd2hlbiB1c2VyIHNlbGVjdHMgYSBwYXJ0IG9mIG1pc3NwZWxsaW5nLiAi
ICsKLSAgICAgICAgICAgICJUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicg
c2VsZWN0ICdsbGNvJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gIiArCi0g
ICAgICAgICAgICAiVGhlIHRlc3Qgc3VjZWVkcyB3aGVuIHRoZSBjb250ZXh0IG1lbnUgaGFzIG5v
IHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLiIpOwotCi1pbml0U3BlbGxUZXN0KCJkZXN0aW5hdGlv
biIsICJ3ZWxsY29tZSBob21lLiIsIGZ1bmN0aW9uKHRleHROb2RlKSB7Ci0gICAgc3BlbGxpbmdN
YXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVs
bGluZyIsIDApOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5n
ZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsKLQotICAgIC8vIFNlbGVjdCB0
aGUgdGV4dCAibGxjbyIuCi0gICAgdmFyIHN1YldvcmRSYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJh
bmdlKCk7Ci0gICAgc3ViV29yZFJhbmdlLnNldFN0YXJ0KHRleHROb2RlLCAyKTsKLSAgICBzdWJX
b3JkUmFuZ2Uuc2V0RW5kKHRleHROb2RlLCA2KTsKLSAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
cmVtb3ZlQWxsUmFuZ2VzKCk7Ci0gICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHN1
YldvcmRSYW5nZSk7Ci0KLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxl
Y3Rpb24oKS50b1N0cmluZygpIiwgImxsY28iKTsKLQotICAgIC8vIENvbnRleHQgY2xpY2sgb24g
J2xsY28nIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KLSAgICB2YXIgeCA9IGRlc3RpbmF0aW9u
Lm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOwot
ICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0
aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgY29udGV4dE1lbnVFbGVtZW50cyA9IGV2ZW50
U2VuZGVyLmNvbnRleHRDbGljaygpOwotICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0aGUgY29udGV4
dCBtZW51LgotICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAw
MUIpLCBudWxsKTsKLQotICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2Vy
UmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKLSAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOwot
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5n
KCkiLCAibGxjbyIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVt
ZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIiwgIjxzZXBhcmF0b3I+Iik7Ci19
KTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjAyNWNmZTU1YjQ4MzVhMmI2NzNlZWEz
MTE3N2FmOGFlZTYwMzUwOS4uOGVhZjEwNTYwMzU2MDRhNTQzODM1Nzc5ZDk3MWY5MTU0ODZmNDhk
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjE5LDExICsyMTksMTAgQEAgQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9tYXJrZXJzLmh0
bWwgWyBGYWlsdXJlIF0KICMgRUZMJ3MgdGV4dCBjaGVja2VyIGRvZXNuJ3Qgc3VwcG9ydCB0aGUg
dGV4dCByZXBsYWNlbWVudCBmZWF0dXJlLgogQnVnKEVGTCkgZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1tYXJrZXItZGVzY3JpcHRpb24uaHRtbCBbIEZhaWx1cmUgXQogCi0jIFdLMidzIGNvbnRl
eHRDbGljaygpIHJldHVybnMgYXJyYXkgb2Ygb2JqZWN0cyBpbnN0ZWFkIG9mIHN0cmluZ3MuCisj
IEVGTCdzIHRleHQgY2hlY2tlciBkb2Vzbid0IHN1cHBvcnQgbXVsdGktd29yZCBtaXNzcGVsbGlu
Zy4KKyMgTWFjIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NDQ3MAogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxl
LXdvcmRzLmh0bWwgWyBGYWlsdXJlIF0KLWVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3
b3JkLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbCBbIEZhaWx1cmUgXQotZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCiAKICMg
RmFpbHMgYmVjYXVzZSBNdXRhdGlvbk9ic2VydmVycyBhcmUgbm90IG5vdGlmaWVkIGF0IGVuZC1v
Zi10YXNrLgogd2Via2l0Lm9yZy9iLzc4MjkwIGZhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvZW5k
LW9mLXRhc2stZGVsaXZlcnkuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYwNDM5YTViOGMyZDg3NmJlNmYyNjAy
ZDBiMGNmMWY4NmVmYjdhZTIuLjU0Y2ZkYTc1Y2MxYjdjOGZlYjkxOWU1Y2E5ZDEzNDcyNGIxOTgw
M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE4Niw2ICsxODYsOCBAQCBCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2st
c2VxdWVuY2VudW0uaHRtbCBbIFNraXAgXQogQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1tYXJrZXItZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogCiAjIFNwZWxsY2hlY2sgdGVz
dHMgZG9uJ3Qgc2VlbSB0byB3b3JrLgorQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0
LW1lbnUtc3VnZ2VzdGlvbnMtbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCitCdWco
R1RLKSBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9ucy1zdWJ3b3JkLXNl
bGVjdGlvbi5odG1sIFsgU2tpcCBdCiBCdWcoR1RLKSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LWJhY2tzcGFjZS1iZXR3ZWVuLWxpbmVzLmh0bWwgWyBTa2lwIF0KIEJ1ZyhHVEspIGVkaXRpbmcv
c3BlbGxpbmcvZGVzaWduLW1vZGUtc3BlbGxjaGVjay1vZmYuaHRtbCBbIFNraXAgXQogQnVnKEdU
SykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWF0dHJpYnV0ZS5odG1sIFsgU2tpcCBdCkBA
IC0xOTYsOSArMTk4LDcgQEAgQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFj
dGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwgWyBTa2lwIF0KIEJ1ZyhHVEspIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwgWyBTa2lwIF0K
IEJ1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdtYXJrZXIuaHRt
bCBbIFNraXAgXQogQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1saW5lYnJlYWsu
aHRtbCBbIFNraXAgXQotQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdv
cmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIEJ1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBdCi1CdWcoR1RL
KSBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KIEJ1ZyhHVEspIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1z
ZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogQnVnKEdUSykgZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy13aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIEJ1ZyhHVEspIGVkaXRp
bmcvc3BlbGxpbmcvZ3JhbW1hci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDExZDczNzhiYThjOGI0MjExNWIxZmE4YjNhNDQyYTQy
NzBkZmM5YTcuLjZjMTY2NGMxNTYxNTQzMzYxNjI3N2IxMWEwYTM4ODAwMWZmOTE5NGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjI0LDEyICsxMjI0
LDEyIEBAIHdlYmtpdC5vcmcvYi8xMDgxNjkgZmFzdC9kb20vc2hhZG93L3RvdWNoLWV2ZW50Lmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgxNjkgZmFzdC9kb20vc2hhZG93L3RvdWNo
LWV2ZW50LXJldGFyZ2V0aW5nLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBTcGVsbGNoZWNrZXIgYmVo
YXZpb3IgdGVzdHMuCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4
dC1tZW51LXN1Z2dlc3Rpb25zLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Vi
a2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL2NvbnRleHQtbWVudS1zdWdnZXN0aW9u
cy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC5odG1sIFsgU2tpcCBd
CiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1z
ZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTA4Mzcw
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwgWyBT
a2lwIF0KLXdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0
aXdvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwgWyBT
a2lwIF0KLXdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3
b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1zZWxlY3Rpb24uaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtd2hp
dGVzcGFjZS1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0
aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWNoYW5nZWQtdGV4dC5odG1sIFsgRmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjgwODg1
MThkY2U1ODI5YzBhYzJlZjg1ZjE5ZDM1YWQ4M2RmNDRjNC4uOTdmZjRhYWNlOWQ2NzFlOGEzYjk3
ZDVlY2RmZDJiYmMzMTA0ZWNjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMTE1LDYgKzExNSw4IEBAIHBsYXRmb3JtL21hYy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZHJhZy1zZWxlY3Rpb25zLXRvLWNvbnRlbnRlZGl0YWJsZS5odG1sCiBwbGF0
Zm9ybS9tYWMvZmFzdC9mb3Jtcy9saXN0Ym94LXNjcm9sbGJhci1oaXQtdGVzdC5odG1sCiAKICMg
W1dLMl0gW01hY10gU3BlbGxjaGVjayB0ZXN0cyBkb24ndCBzZWVtIHRvIHdvcmsKK3dlYmtpdC5v
cmcvYi8xMDU2MTYgZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMtbXVs
dGl3b3JkLXNlbGVjdGlvbi5odG1sCit3ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRpbmcvc3BlbGxp
bmcvY29udGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKIHdlYmtp
dC5vcmcvYi8xMDU2MTYgZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0aW5nLXNsYXNoLWluc2lkZS11
cmwtd2l0aC1zbWFydC1saW5rLmh0bWwKIHdlYmtpdC5vcmcvYi8xMDU2MTYgZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1jaGFuZ2VkLXRleHQuaHRtbAogd2Via2l0Lm9yZy9iLzEwNTYxNiBlZGl0
aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWJhY2tzcGFjZS1iZXR3ZWVuLWxpbmVzLmh0bWwKQEAgLTEy
Nyw5ICsxMjksNyBAQCB3ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odAogd2Via2l0Lm9yZy9iLzEwNTYx
NiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sCiB3
ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctaGFzc3BlbGxpbmdt
YXJrZXIuaHRtbAogd2Via2l0Lm9yZy9iLzEwNTYxNiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LWxpbmVicmVhay5odG1sCi13ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sCiB3ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sCi13
ZWJraXQub3JnL2IvMTA1NjE2IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxl
Y3Rpb24uaHRtbAogd2Via2l0Lm9yZy9iLzEwNTYxNiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LXdpdGgtcHVuY3R1YXRpb24tc2VsZWN0aW9uLmh0bWwKIHdlYmtpdC5vcmcvYi8xMDU2MTYgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLmh0bWwKIHdl
YmtpdC5vcmcvYi8xMDU2MTYgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWlucHV0LXNlYXJj
aC1jcmFzaC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDNmYWE1NmZjOTYwZmVlNGRiZjIxOTk4ZDViMmU0MzUzYjU1MzdmMzUuLmU1OTM4MTk3NjY4
ZDZkZDViYjhmMmVlNzhiZmM1YjI1ZGFiNjZjMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTU0LDEyICsyNTU0LDEyIEBAIGpxdWVyeS9hdHRyaWJ1
dGVzLmh0bWwKIG1lZGlhL1czQy92aWRlby9ldmVudHMvZXZlbnRfY2FucGxheXRocm91Z2guaHRt
bAogCiAjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0ZXN0cy4KK3dlYmtpdC5vcmcvYi8xMDgzNzAg
ZWRpdGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMtbXVsdGl3b3JkLXNlbGVj
dGlvbi5odG1sCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvY29udGV4dC1t
ZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKIHdlYmtpdC5vcmcvYi8xMDgz
NzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWwKIHdl
YmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVj
dGVkLW11bHRpcGxlLXdvcmRzLmh0bWwKIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQuaHRtbAotd2Via2l0Lm9yZy9iLzEw
ODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbAog
d2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxl
Y3QtbXVsdGlwbGUtd29yZHMuaHRtbAotd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKIHdlYmtpdC5vcmcvYi8xMDgzNzAg
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9uLXNlbGVjdGlvbi5odG1s
CiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC13aGl0
ZXNwYWNlLXNlbGVjdGlvbi5odG1sCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxjaGVjay1hc3luYy1tdXRhdGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3Y2Y0ODNlNDZmMDBkY2I0YjIxYzkw
N2QxZWIwMjBkZjkzMzY0MjNkLi42MzBlNDIwMjc4ZTc3MTgwZWY5NjIzNTU1ZjlkODJlYTRjNWZm
YjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTI5NTIsMTIgKzI5NTIsMTIgQEAgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29y
YXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtZGVjb3IKIGZhc3Qv
Y3NzMy10ZXh0L2NzczMtdGV4dC1pbmRlbnQgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQog
CiAjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0ZXN0cy4KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRp
dGluZy9zcGVsbGluZy9jb250ZXh0LW1lbnUtc3VnZ2VzdGlvbnMtbXVsdGl3b3JkLXNlbGVjdGlv
bi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvY29u
dGV4dC1tZW51LXN1Z2dlc3Rpb25zLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tl
ZC13b3JkLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNl
bGVjdGVkLXdvcmQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVs
dGlwbGUtd29yZHMuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9uLXNl
bGVjdGlvbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctd2l0aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>