<?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>171949</bug_id>
          
          <creation_ts>2017-05-10 15:42:24 -0700</creation_ts>
          <short_desc>Resource Load Statistics: Enable configuration through preferences</short_desc>
          <delta_ts>2017-05-26 09:09:59 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1307053</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-10 15:42:24 -0700</bug_when>
    <thetext>We should enable configuration of time constants to allow testing with short time spans.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307054</commentid>
    <comment_count>1</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-10 15:44:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/31894518&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307056</commentid>
    <comment_count>2</comment_count>
      <attachid>309650</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-10 15:49:35 -0700</bug_when>
    <thetext>Created attachment 309650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307100</commentid>
    <comment_count>3</comment_count>
      <attachid>309664</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-10 17:43:30 -0700</bug_when>
    <thetext>Created attachment 309664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307308</commentid>
    <comment_count>4</comment_count>
      <attachid>309664</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-05-11 10:36:00 -0700</bug_when>
    <thetext>Comment on attachment 309664
Patch

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

&gt; Source/WebCore/loader/ResourceLoadObserver.cpp:437
&gt; +    if (seconds &gt; 0)

Should the callee check this?  Maybe an assertion?  We have checks in the caller.

&gt; Source/WebKit2/UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm:43
&gt; +        // Max 30 days in seconds.
&gt; +        if (timeToLiveUserInteraction &gt; 0 &amp;&amp; timeToLiveUserInteraction &lt;= 2592000)

const size_t secondsPerDay = 24 * 3600;
... &amp;&amp; timeToLiveUserInteraction &lt;= 30 * secondsPerDay)

&gt; Source/WebKit2/UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm:48
&gt; +        // Max 1 day in seconds.
&gt; +        if (timeToLiveCookiePartitionFree &gt; 0 &amp;&amp; timeToLiveCookiePartitionFree &lt;= 86400)

... timeToLiveCookiePartitionFree &lt;= 1 * secondsPerDay)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307316</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-11 10:45:48 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 309664 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309664&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/ResourceLoadObserver.cpp:437
&gt; &gt; +    if (seconds &gt; 0)
&gt; 
&gt; Should the callee check this?  Maybe an assertion?  We have checks in the
&gt; caller.

Since I use it to divide I&apos;d like to be really sure. We may use this in layout tests too if we get bugs that are easier to reproduce with short timeouts.

&gt; &gt; Source/WebKit2/UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm:43
&gt; &gt; +        // Max 30 days in seconds.
&gt; &gt; +        if (timeToLiveUserInteraction &gt; 0 &amp;&amp; timeToLiveUserInteraction &lt;= 2592000)
&gt; 
&gt; const size_t secondsPerDay = 24 * 3600;
&gt; ... &amp;&amp; timeToLiveUserInteraction &lt;= 30 * secondsPerDay)

Good suggestion, will fix.

&gt; &gt; Source/WebKit2/UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm:48
&gt; &gt; +        // Max 1 day in seconds.
&gt; &gt; +        if (timeToLiveCookiePartitionFree &gt; 0 &amp;&amp; timeToLiveCookiePartitionFree &lt;= 86400)
&gt; 
&gt; ... timeToLiveCookiePartitionFree &lt;= 1 * secondsPerDay)

Will fix.

Thanks, Alex!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307385</commentid>
    <comment_count>6</comment_count>
      <attachid>309748</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-11 12:11:23 -0700</bug_when>
    <thetext>Created attachment 309748
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307405</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 13:03:35 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 309748:

workers/bomb.html bug 171985 (author: fpizlo@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307406</commentid>
    <comment_count>8</comment_count>
      <attachid>309748</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 13:04:07 -0700</bug_when>
    <thetext>Comment on attachment 309748
Patch for landing

Clearing flags on attachment: 309748

Committed r216690: &lt;http://trac.webkit.org/changeset/216690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307407</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 13:04:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308482</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-14 06:27:47 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #8)
&gt; Comment on attachment 309748 [details]
&gt; Patch for landing
&gt; 
&gt; Clearing flags on attachment: 309748
&gt; 
&gt; Committed r216690: &lt;http://trac.webkit.org/changeset/216690&gt;

It broke the Apple Mac cmake build:
Undefined symbols for architecture x86_64:
  &quot;WebKit::WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded()&quot;, referenced from:
      WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver(std::__1::function&lt;void (WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, bool)&gt;&amp;&amp;) in WebResourceLoadStatisticsStore.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/WebKit.framework/Versions/A/WebKit] Error 1
make[1]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/all] Error 2
make: *** [all] Error 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308483</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-14 06:28:27 -0700</bug_when>
    <thetext>fix landed in https://trac.webkit.org/changeset/216844</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308484</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-14 06:33:12 -0700</bug_when>
    <thetext>https://lists.webkit.org/pipermail/webkit-dev/2015-October/027752.html

Apple Mac has cmake build system and buildbot 1.5 years ago. Is it still 
Alex&apos;s hobby project or is there any plan to maintain officially by Apple?
(and not breaking this build day by day)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309501</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-17 01:45:28 -0700</bug_when>
    <thetext>(In reply to Csaba Osztrogonác from comment #12)
&gt; https://lists.webkit.org/pipermail/webkit-dev/2015-October/027752.html
&gt; 
&gt; Apple Mac has cmake build system and buildbot 1.5 years ago. Is it still 
&gt; Alex&apos;s hobby project or is there any plan to maintain officially by Apple?
&gt; (and not breaking this build day by day)

ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311279</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-22 03:42:54 -0700</bug_when>
    <thetext>(In reply to Csaba Osztrogonác from comment #12)
&gt; https://lists.webkit.org/pipermail/webkit-dev/2015-October/027752.html
&gt; 
&gt; Apple Mac has cmake build system and buildbot 1.5 years ago. Is it still 
&gt; Alex&apos;s hobby project or is there any plan to maintain officially by Apple?
&gt; (and not breaking this build day by day)

ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311381</commentid>
    <comment_count>15</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-05-22 09:00:36 -0700</bug_when>
    <thetext>(In reply to Csaba Osztrogonác from comment #14)
&gt; (In reply to Csaba Osztrogonác from comment #12)
&gt; &gt; https://lists.webkit.org/pipermail/webkit-dev/2015-October/027752.html
&gt; &gt; 
&gt; &gt; Apple Mac has cmake build system and buildbot 1.5 years ago. Is it still 
&gt; &gt; Alex&apos;s hobby project or is there any plan to maintain officially by Apple?
&gt; &gt; (and not breaking this build day by day)
&gt; 
&gt; ping?

Hi Csaba! Thanks for fixing the cmake build. My bad. The cmake build bot is not on EWS, right? Was there ever any talk about that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311418</commentid>
    <comment_count>16</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-05-22 10:36:01 -0700</bug_when>
    <thetext>Windows and Linux use exclusively CMake.  The Mac CMake build is just my little project on the back burner right now.  We have a bot because we don&apos;t want to lose my progress, but it isn&apos;t critical for anything right now.  Thanks for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313091</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-05-26 02:59:43 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #16)
&gt; Windows and Linux use exclusively CMake.  The Mac CMake build is just my
&gt; little project on the back burner right now.  We have a bot because we don&apos;t
&gt; want to lose my progress, but it isn&apos;t critical for anything right now. 
&gt; Thanks for the fix.

Isn&apos;t there any intention to try to maintain the build as 
you asked in the cited webkit-dev mail 1.5 years ago?

Because I see that it is broken by Apple employees all the time,
when the fix is so trivial. It&apos;s hard to believe that adding a
new file to the cmake build system is so big deal. Not to mention
that nobody fixes after I notice and comment the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1313144</commentid>
    <comment_count>18</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-05-26 09:09:59 -0700</bug_when>
    <thetext>You have correctly noticed that the Mac CMake build is not a high priority right now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309650</attachid>
            <date>2017-05-10 15:49:35 -0700</date>
            <delta_ts>2017-05-10 17:43:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171949-20170510154945.patch</filename>
            <type>text/plain</type>
            <size>26284</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTEwICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogRW5hYmxlIGNvbmZpZ3VyYXRpb24gdGhyb3VnaCBwcmVmZXJlbmNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxOTQ5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMTg5NDUxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEp1c3QgYW4gYWRkZWQgc2V0dGVyLgor
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlv
bik6CisKIDIwMTctMDUtMDkgIE5hZWwgT3VlZHJhb2dvICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNh
bm9uLmZyPgogCiAgICAgICAgIE1lZGlhU291cmNlLnJlYWR5U3RhdGUgc2hvdWxkIHVzZSBhbiBJ
REwgZW51bQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwCShyZXZpc2lvbiAyMTY1MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNiArNDMyLDEyIEBA
IHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmUKICAgICBtX3N0b3JlLT5z
ZXRUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZShzZWNvbmRzKTsKIH0KIAordm9pZCBSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNl
Y29uZHMpCit7CisgICAgaWYgKHNlY29uZHMgPiAwKQorICAgICAgICB0aW1lc3RhbXBSZXNvbHV0
aW9uID0gc2Vjb25kczsKK30KKwogdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6ZmlyZURhdGFN
b2RpZmljYXRpb25IYW5kbGVyKCkKIHsKICAgICBtX3N0b3JlLT5maXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjYzMikKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE3LTA1
LTEwICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291
cmNlIExvYWQgU3RhdGlzdGljczogRW5hYmxlIGNvbmZpZ3VyYXRpb24gdGhyb3VnaCBwcmVmZXJl
bmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
OTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTg5NDUxOD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmg6CisgICAgICAgICAgICBBZGRlZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGlt
ZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiwKKyAgICAgICAgICAgIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSwgYW5kCisgICAgICAgICAgICBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24uCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIubW06IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAuCisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyOjpjb25maWd1cmVGcm9tTlNVc2VyRGVmYXVsdHMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VM
b2FkT2JzZXJ2ZXIpOgorICAgICAgICAgICAgTm93IGNhbGxzIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyOjpjb25maWd1cmVGcm9tTlNVc2VyRGVmYXVsdHMoKS4KKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTctMDUtMTAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbmNsdWRlIGhl
YWRlcnMgaW4gV2ViS2l0LmgKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmluaXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAkocmV2aXNpb24gMjE2NTA5KQorKysgU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjc3LDYgKzI3Nyw5IEBACiAgICAgbWFjcm8oTGF5b3V0SW50ZXJ2YWwsIGxheW91dEludGVy
dmFsLCBEb3VibGUsIGRvdWJsZSwgLTEsICIiLCAiIikgXAogICAgIG1hY3JvKE1heFBhcnNlRHVy
YXRpb24sIG1heFBhcnNlRHVyYXRpb24sIERvdWJsZSwgZG91YmxlLCAtMSwgIiIsICIiKSBcCiAg
ICAgbWFjcm8oUGFzc3dvcmRFY2hvRHVyYXRpb24sIHBhc3N3b3JkRWNob0R1cmF0aW9uLCBEb3Vi
bGUsIGRvdWJsZSwgMiwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24sIHJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uLCBEb3VibGUsIGRvdWJsZSwgMjU5MjAwMCwgIiIsICIiKSBcCisg
ICAgbWFjcm8oUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25G
cmVlLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGltZVRvTGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUs
IERvdWJsZSwgZG91YmxlLCA4NjQwMCwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1JlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uLCByZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24sIERvdWJsZSwgZG91YmxlLCAzNjAwLCAiIiwg
IiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX1VJTlQzMl9QUkVGRVJFTkNF
KG1hY3JvKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxNjUw
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgotCi11c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXI6OnNldFByZXZhbGVudFJlc291cmNlKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUs
IGJvb2wgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRQcmV2YWxlbnRSZXNvdXJjZShVUkwo
VVJMKCksIGhvc3ROYW1lKSk7Ci0gICAgZWxzZQotICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZUxv
YWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5jbGVhclByZXZhbGVudFJlc291cmNlKFVSTChV
UkwoKSwgaG9zdE5hbWUpKTsKLX0KLQotYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6aXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKQotewotICAg
IHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5p
c1ByZXZhbGVudFJlc291cmNlKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKLX0KLSAgICAKLXZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldEhhc0hhZFVzZXJJbnRlcmFjdGlv
bihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKQotewotICAgIGlmICh2YWx1ZSkK
LSAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCku
bG9nVXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKLSAgICBlbHNlCi0gICAg
ICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmNsZWFy
VXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKLX0KLQotYm9vbCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUpCi17Ci0gICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzaGFyZWRPYnNlcnZlcigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhv
c3ROYW1lKSk7Ci19Ci0KLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25z
dCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCi17Ci0gICAgV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKLX0K
LQotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYg
dG9wRnJhbWVIb3N0TmFtZSkKLXsKLSAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6
c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVS
TCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOwotfQotCi12b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykKLXsKLSAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVk
T2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0
TmFtZSksIFVSTChVUkwoKSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKLX0KLQotdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcykKLXsKLSAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6
c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwot
fQotCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZl
Q29va2llUGFydGl0aW9uRnJlZShkb3VibGUgc2Vjb25kcykKLXsKLSAgICBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlQ29va2llUGFy
dGl0aW9uRnJlZShzZWNvbmRzKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6ZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCkKLXsKLSAgICBXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6
ZmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5kbGVyKCkKLXsKLSAgICBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlU2hvdWxkUGFydGl0aW9uQ29v
a2llc0hhbmRsZXIoKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6ZmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5kbGVyRm9yT25lRG9tYWluKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlKQotICAgICAgICBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlU2hvdWxk
UGFydGl0aW9uQ29va2llc0hhbmRsZXIoeyB9LCB7aG9zdE5hbWV9LCBmYWxzZSk7Ci0gICAgZWxz
ZQotICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIo
KS5maXJlU2hvdWxkUGFydGl0aW9uQ29va2llc0hhbmRsZXIoe2hvc3ROYW1lfSwgeyB9LCBmYWxz
ZSk7Ci19Ci0KLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldE5vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCB2YWx1ZSkKLXsKLSAgICBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQodmFsdWUpOwotfQotCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpzZXRTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3Zh
bChib29sIHZhbHVlKQotewotICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0
U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwodmFsdWUpOwot
fQotCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRNaW5pbXVtVGlt
ZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQotewotICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0TWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNv
cmRzUmVtb3ZhbChzZWNvbmRzKTsKLX0KLQotdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6Y2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZSgpCi17Ci0gICAgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuY2xlYXJJbk1lbW9yeUFu
ZFBlcnNpc3RlbnRTdG9yZSgpOwotfQotCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpjbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJz
KHVuc2lnbmVkIGhvdXJzKQotewotICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpz
aGFyZWRPYnNlcnZlcigpLmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoc3RkOjpjaHJv
bm86OnN5c3RlbV9jbG9jazo6bm93KCkgLSBzdGQ6OmNocm9ubzo6aG91cnMoaG91cnMpKTsKLX0K
LSAgICAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnJlc2V0VG9Db25z
aXN0ZW50U3RhdGUoKQotewotICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFy
ZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oMjU5MjAwMCk7Ci0gICAg
V2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRv
TGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUoODY0MDApOwotICAgIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChmYWxz
ZSk7Ci0gICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTaG91bGRDbGFzc2lm
eVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCh0cnVlKTsKLSAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldE1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1Jl
bW92YWwoNjApOwotICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNl
cnZlcigpLmNsZWFySW5NZW1vcnlTdG9yZSgpOwotfQotICAgIAotfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjE2NTA5KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lk
IGNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKTsKICAgICBzdGF0aWMgdm9pZCBjbGVh
ckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkKTsK
ICAgICBzdGF0aWMgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgc3RhdGljIHZv
aWQgY29uZmlndXJlRnJvbU5TVXNlckRlZmF1bHRzKCk7CiAKIHByaXZhdGU6CiB9OwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5tbQkocmV2aXNpb24gMjE2NTA5KQkoZnJvbSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOjIxNjUw
OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIldlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXI6OnNldFByZXZhbGVudFJlc291cmNlKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUs
IGJvb2wgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlKQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRQcmV2YWxlbnRSZXNvdXJjZShVUkwo
VVJMKCksIGhvc3ROYW1lKSk7CisgICAgZWxzZQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZUxv
YWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5jbGVhclByZXZhbGVudFJlc291cmNlKFVSTChV
UkwoKSwgaG9zdE5hbWUpKTsKK30KKworYm9vbCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlcjo6aXNQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKQoreworICAg
IHJldHVybiBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5p
c1ByZXZhbGVudFJlc291cmNlKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKK30KKyAgICAKK3ZvaWQg
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldEhhc0hhZFVzZXJJbnRlcmFjdGlv
bihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBib29sIHZhbHVlKQoreworICAgIGlmICh2YWx1ZSkK
KyAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCku
bG9nVXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKKyAgICBlbHNlCisgICAg
ICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZlcigpLmNsZWFy
VXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdE5hbWUpKTsKK30KKworYm9vbCBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6aGFzSGFkVXNlckludGVyYWN0aW9uKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUpCit7CisgICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzaGFyZWRPYnNlcnZlcigpLmhhc0hhZFVzZXJJbnRlcmFjdGlvbihVUkwoVVJMKCksIGhv
c3ROYW1lKSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNl
dFN1YmZyYW1lVW5kZXJUb3BGcmFtZU9yaWdpbihjb25zdCBTdHJpbmcmIGhvc3ROYW1lLCBjb25z
dCBTdHJpbmcmIHRvcEZyYW1lSG9zdE5hbWUpCit7CisgICAgV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2lu
KFVSTChVUkwoKSwgaG9zdE5hbWUpLCBVUkwoVVJMKCksIHRvcEZyYW1lSG9zdE5hbWUpKTsKK30K
Kwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsIGNvbnN0IFN0cmluZyYg
dG9wRnJhbWVIb3N0TmFtZSkKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6
c2hhcmVkT2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oVVJMKFVS
TCgpLCBob3N0TmFtZSksIFVSTChVUkwoKSwgdG9wRnJhbWVIb3N0TmFtZSkpOworfQorCit2b2lk
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRTdWJyZXNvdXJjZVVuaXF1ZVJl
ZGlyZWN0VG8oY29uc3QgU3RyaW5nJiBob3N0TmFtZSwgY29uc3QgU3RyaW5nJiBob3N0TmFtZVJl
ZGlyZWN0ZWRUbykKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVk
T2JzZXJ2ZXIoKS5zZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oVVJMKFVSTCgpLCBob3N0
TmFtZSksIFVSTChVUkwoKSwgaG9zdE5hbWVSZWRpcmVjdGVkVG8pKTsKK30KKwordm9pZCBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlv
bihkb3VibGUgc2Vjb25kcykKK3sKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6
c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHNlY29uZHMpOwor
fQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRUaW1lVG9MaXZl
Q29va2llUGFydGl0aW9uRnJlZShkb3VibGUgc2Vjb25kcykKK3sKKyAgICBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlQ29va2llUGFy
dGl0aW9uRnJlZShzZWNvbmRzKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6ZmlyZURhdGFNb2RpZmljYXRpb25IYW5kbGVyKCkKK3sKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6
ZmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5kbGVyKCkKK3sKKyAgICBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlU2hvdWxkUGFydGl0aW9uQ29v
a2llc0hhbmRsZXIoKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
cjo6ZmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5kbGVyRm9yT25lRG9tYWluKGNvbnN0IFN0
cmluZyYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpCit7CisgICAgaWYgKHZhbHVlKQorICAgICAgICBX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5maXJlU2hvdWxk
UGFydGl0aW9uQ29va2llc0hhbmRsZXIoeyB9LCB7aG9zdE5hbWV9LCBmYWxzZSk7CisgICAgZWxz
ZQorICAgICAgICBXZWJDb3JlOjpSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIo
KS5maXJlU2hvdWxkUGFydGl0aW9uQ29va2llc0hhbmRsZXIoe2hvc3ROYW1lfSwgeyB9LCBmYWxz
ZSk7Cit9CisKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnNldE5vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCB2YWx1ZSkKK3sKKyAgICBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQodmFsdWUpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpzZXRTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3Zh
bChib29sIHZhbHVlKQoreworICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0
U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwodmFsdWUpOwor
fQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpzZXRNaW5pbXVtVGlt
ZUJldHdlZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQoreworICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0TWluaW11bVRpbWVCZXR3ZWVlbkRhdGFSZWNv
cmRzUmVtb3ZhbChzZWNvbmRzKTsKK30KKwordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlcjo6Y2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZSgpCit7CisgICAgV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuY2xlYXJJbk1lbW9yeUFu
ZFBlcnNpc3RlbnRTdG9yZSgpOworfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpjbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJz
KHVuc2lnbmVkIGhvdXJzKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpz
aGFyZWRPYnNlcnZlcigpLmNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoc3RkOjpjaHJv
bm86OnN5c3RlbV9jbG9jazo6bm93KCkgLSBzdGQ6OmNocm9ubzo6aG91cnMoaG91cnMpKTsKK30K
KyAgICAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnJlc2V0VG9Db25z
aXN0ZW50U3RhdGUoKQoreworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFy
ZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oMjU5MjAwMCk7CisgICAg
V2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRv
TGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUoODY0MDApOworICAgIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChmYWxz
ZSk7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTaG91bGRDbGFzc2lm
eVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCh0cnVlKTsKKyAgICBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldE1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1Jl
bW92YWwoNjApOworICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNl
cnZlcigpLmNsZWFySW5NZW1vcnlTdG9yZSgpOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLm1tCShyZXZpc2lvbiAyMTY1MDkpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTIzLDEzICsyMywxNCBAQAogICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIgorI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIgogCi0jaW5jbHVkZSAi
TG9nZ2luZy5oIgotI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIgot
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL1VSTC5oPgorI2ltcG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXNL
ZXlzLmgiCisjaW1wb3J0ICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVVJM
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0xMzgsNSArMTM5LDI3IEBAIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnIKICAgICBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnNldE1pbmltdW1UaW1lQmV0d2VlZW5EYXRhUmVjb3Jkc1JlbW92
YWwoNjApOwogICAgIFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzaGFyZWRPYnNlcnZl
cigpLmNsZWFySW5NZW1vcnlTdG9yZSgpOwogfQorCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyOjpjb25maWd1cmVGcm9tTlNVc2VyRGVmYXVsdHMoKQoreworICAgIHN0YXRp
YyBkaXNwYXRjaF9vbmNlX3QgaW5pdE9uY2U7CiAgICAgCisgICAgZGlzcGF0Y2hfb25jZSgmaW5p
dE9uY2UsIF4geworICAgICAgICBkb3VibGUgdGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGRvdWJsZUZvcktleTogV2ViUHJl
ZmVyZW5jZXNLZXk6OnJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0
aW9uS2V5KCldOworICAgICAgICAvLyBNYXggMzAgZGF5cyBpbiBzZWNvbmRzLgorICAgICAgICBp
ZiAodGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiA+IDAgJiYgdGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbiA8PSAyNTkyMDAwKQorICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJl
ZE9ic2VydmVyKCkuc2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbih0aW1lVG9MaXZlVXNlcklu
dGVyYWN0aW9uKTsKKyAgICAgICAgCisgICAgICAgIGRvdWJsZSB0aW1lVG9MaXZlQ29va2llUGFy
dGl0aW9uRnJlZSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGRvdWJs
ZUZvcktleTogV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9M
aXZlQ29va2llUGFydGl0aW9uRnJlZUtleSgpXTsKKyAgICAgICAgLy8gTWF4IDEgZGF5IGluIHNl
Y29uZHMuCisgICAgICAgIGlmICh0aW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSA+IDAgJiYg
dGltZVRvTGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUgPD0gODY0MDApCisgICAgICAgICAgICBSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlQ29va2llUGFy
dGl0aW9uRnJlZSh0aW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSk7CisKKyAgICAgICAgZG91
YmxlIHJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gZG91YmxlRm9yS2V5OiBXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VM
b2FkU3RhdGlzdGljc1JlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uS2V5KCldOworICAgICAgICAv
LyBNYXggMSBob3VyLgorICAgICAgICBpZiAocmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24gPiAw
ICYmIHJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uIDw9IDM2MDApCisgICAgICAgICAgICBSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRSZWR1Y2VkVGltZXN0YW1wUmVz
b2x1dGlvbihyZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbik7CisgICAgfSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlzaW9uIDIx
NjUwOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKyNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFGZXRjaE9wdGlvbi5oIgogI2luY2x1ZGUg
IldlYnNpdGVEYXRhVHlwZS5oIgpAQCAtMTgyLDYgKzE4Myw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpyZWcKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpyZWdpc3RlclNoYXJlZFJlc291cmNlTG9hZE9ic2VydmVyKHN0ZDo6ZnVuY3Rpb248dm9p
ZChjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvUmVtb3ZlLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZG9tYWluc1RvQWRkLCBib29sIGNsZWFyRmlyc3QpPiYmIHNob3VsZFBhcnRpdGlvbkNv
b2tpZXNGb3JEb21haW5zSGFuZGxlcikKIHsKICAgICByZWdpc3RlclNoYXJlZFJlc291cmNlTG9h
ZE9ic2VydmVyKCk7CisgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OmNvbmZp
Z3VyZUZyb21OU1VzZXJEZWZhdWx0cygpOwogICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLT5zZXRTaG91bGRQYXJ0aXRpb25Db29raWVzQ2FsbGJhY2soW3RoaXMsIHNob3VsZFBhcnRp
dGlvbkNvb2tpZXNGb3JEb21haW5zSGFuZGxlciA9IFdURk1vdmUoc2hvdWxkUGFydGl0aW9uQ29v
a2llc0ZvckRvbWFpbnNIYW5kbGVyKV0gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9S
ZW1vdmUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9BZGQsIGJvb2wgY2xlYXJGaXJz
dCkgewogICAgICAgICBzaG91bGRQYXJ0aXRpb25Db29raWVzRm9yRG9tYWluc0hhbmRsZXIoZG9t
YWluc1RvUmVtb3ZlLCBkb21haW5zVG9BZGQsIGNsZWFyRmlyc3QpOwogICAgIH0pOwpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjE2NTA5KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTg4LDcgKzExODgsNyBAQAogCQk2QkU5
Njk5QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIx
RTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFF
NDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNC
NDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07
CiAJCTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmggKi87IH07Ci0JCTZCRTk2OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwICovOyB9OworCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0ODMg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIubW0gKi87IH07CiAJCTZCRTk2OUMxMUU1
NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8q
IGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9OwogCQk2QkU5NjlDNzFFNTRENEI2MDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzYxRTU0RDRCNjAwOEI3NDgzIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmNwcCAqLzsgfTsKIAkJNkJFOTY5Q0Ex
RTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5
QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuY3BwICovOyB9OwpAQCAtMzQ2NSw3ICszNDY1LDcgQEAKIAkJNkJFOTY5OUIxRTQzQjNGRjAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRp
Y3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OUM2MUU1NEQ0QjYwMDhCNzQ4MyAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
Q29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgyNiw3ICs2ODI2LDcg
QEAKIAkJCQlCQzExMUIwRDExMkY1RTRGMDAzMzdCQUIgLyogV2ViUHJvY2Vzc1Byb3h5LmNwcCAq
LywKIAkJCQlCQzAzMkRDRjEwRjQzODlGMDA1OEMxNUEgLyogV2ViUHJvY2Vzc1Byb3h5LmggKi8s
CiAJCQkJQkNFRTdBQjMxMjgxNzA5NTAwOTgyN0RBIC8qIFdlYlByb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbiAqLywKLQkJCQk2QkU5NjlBMTFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbmFnZXIuY3BwICovLAorCQkJCTZCRTk2OUExMUU0M0I4QTQwMDhCNzQ4MyAv
KiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5tbSAqLywKIAkJCQk2QkU5Njk5RjFF
NDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLywK
IAkJCQk3QTlDRDhDMDFDNzc5ODQ5MDBEOUY2QzcgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmNwcCAqLywKIAkJCQk3QTlDRDhDMTFDNzc5ODQ5MDBEOUY2QzcgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8sCkBAIC0xMDM2Nyw3ICsxMDM2Nyw3IEBACiAJCQkJ
Mzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVjdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTZCRTk2
OUEyMUU0M0I4QTQwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk2QkU5NjlBMjFFNDNCOEE0MDA4Qjc0ODMgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTc5MUVG
QzFDN0QwOEM1MDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdBNzkxRUZBMUM3Q0ZDRjEwMEM0QzUyQiAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309664</attachid>
            <date>2017-05-10 17:43:30 -0700</date>
            <delta_ts>2017-05-11 12:11:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171949-20170510174340.patch</filename>
            <type>text/plain</type>
            <size>13187</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTEwICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogRW5hYmxlIGNvbmZpZ3VyYXRpb24gdGhyb3VnaCBwcmVmZXJlbmNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxOTQ5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMTg5NDUxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEp1c3QgYW4gYWRkZWQgc2V0dGVyLgor
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlv
bik6CisKIDIwMTctMDUtMDkgIE5hZWwgT3VlZHJhb2dvICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNh
bm9uLmZyPgogCiAgICAgICAgIE1lZGlhU291cmNlLnJlYWR5U3RhdGUgc2hvdWxkIHVzZSBhbiBJ
REwgZW51bQpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2VydmVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIuY3BwCShyZXZpc2lvbiAyMTY1MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNiArNDMyLDEyIEBA
IHZvaWQgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFRpbWVUb0xpdmUKICAgICBtX3N0b3JlLT5z
ZXRUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZShzZWNvbmRzKTsKIH0KIAordm9pZCBSZXNv
dXJjZUxvYWRPYnNlcnZlcjo6c2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24oZG91YmxlIHNl
Y29uZHMpCit7CisgICAgaWYgKHNlY29uZHMgPiAwKQorICAgICAgICB0aW1lc3RhbXBSZXNvbHV0
aW9uID0gc2Vjb25kczsKK30KKwogdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6ZmlyZURhdGFN
b2RpZmljYXRpb25IYW5kbGVyKCkKIHsKICAgICBtX3N0b3JlLT5maXJlRGF0YU1vZGlmaWNhdGlv
bkhhbmRsZXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjY0MykKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA1
LTEwICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291
cmNlIExvYWQgU3RhdGlzdGljczogRW5hYmxlIGNvbmZpZ3VyYXRpb24gdGhyb3VnaCBwcmVmZXJl
bmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
OTQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTg5NDUxOD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zLmg6CisgICAgICAgICAgICBBZGRlZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGlt
ZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiwKKyAgICAgICAgICAgIFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSwgYW5kCisgICAgICAgICAgICBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24uCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ29jb2EubW06IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlcjo6
cmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVnaXN0ZXJTaGFyZWRSZXNvdXJjZUxvYWRPYnNlcnZl
cik6CisgICAgICAgICAgICBOb3cgY2FsbHMgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnJlZ2lzdGVyVXNlckRlZmF1bHRzSWZOZWVkZWQoKS4KKyAgICAgICAgKiBXZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTctMDUtMDkgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IE5vdGlmaWNh
dGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaAkocmV2aXNpb24gMjE2NTA5KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDYgKzI3
Nyw5IEBACiAgICAgbWFjcm8oTGF5b3V0SW50ZXJ2YWwsIGxheW91dEludGVydmFsLCBEb3VibGUs
IGRvdWJsZSwgLTEsICIiLCAiIikgXAogICAgIG1hY3JvKE1heFBhcnNlRHVyYXRpb24sIG1heFBh
cnNlRHVyYXRpb24sIERvdWJsZSwgZG91YmxlLCAtMSwgIiIsICIiKSBcCiAgICAgbWFjcm8oUGFz
c3dvcmRFY2hvRHVyYXRpb24sIHBhc3N3b3JkRWNob0R1cmF0aW9uLCBEb3VibGUsIGRvdWJsZSwg
MiwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RpbWVUb0xpdmVV
c2VySW50ZXJhY3Rpb24sIHJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVy
YWN0aW9uLCBEb3VibGUsIGRvdWJsZSwgMjU5MjAwMCwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1RpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlLCByZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGltZVRvTGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUsIERvdWJsZSwgZG91
YmxlLCA4NjQwMCwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Jl
ZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzUmVkdWNlZFRp
bWVzdGFtcFJlc29sdXRpb24sIERvdWJsZSwgZG91YmxlLCAzNjAwLCAiIiwgIiIpIFwKICAgICBc
CiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX1VJTlQzMl9QUkVGRVJFTkNFKG1hY3JvKSBcCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaAkocmV2aXNpb24gMjE2NTA5KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU3LDYgKzU3LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGNsZWFy
SW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKTsKICAgICBzdGF0aWMgdm9pZCBjbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRTaW5jZUhvdXJzKHVuc2lnbmVkKTsKICAgICBz
dGF0aWMgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpOworI2VuZGlm
CiAKIHByaXZhdGU6CiB9OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAJKHJldmlzaW9uIDIx
NjUwOSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKyNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFGZXRjaE9wdGlvbi5oIgogI2luY2x1ZGUg
IldlYnNpdGVEYXRhVHlwZS5oIgpAQCAtMTgyLDYgKzE4Myw5IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpyZWcKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlOjpyZWdpc3RlclNoYXJlZFJlc291cmNlTG9hZE9ic2VydmVyKHN0ZDo6ZnVuY3Rpb248dm9p
ZChjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvUmVtb3ZlLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZG9tYWluc1RvQWRkLCBib29sIGNsZWFyRmlyc3QpPiYmIHNob3VsZFBhcnRpdGlvbkNv
b2tpZXNGb3JEb21haW5zSGFuZGxlcikKIHsKICAgICByZWdpc3RlclNoYXJlZFJlc291cmNlTG9h
ZE9ic2VydmVyKCk7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXI6OnJlZ2lzdGVyVXNlckRlZmF1bHRzSWZOZWVkZWQoKTsKKyNlbmRpZgog
ICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLT5zZXRTaG91bGRQYXJ0aXRpb25Db29r
aWVzQ2FsbGJhY2soW3RoaXMsIHNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JEb21haW5zSGFuZGxl
ciA9IFdURk1vdmUoc2hvdWxkUGFydGl0aW9uQ29va2llc0ZvckRvbWFpbnNIYW5kbGVyKV0gKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9SZW1vdmUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBkb21haW5zVG9BZGQsIGJvb2wgY2xlYXJGaXJzdCkgewogICAgICAgICBzaG91bGRQYXJ0aXRp
b25Db29raWVzRm9yRG9tYWluc0hhbmRsZXIoZG9tYWluc1RvUmVtb3ZlLCBkb21haW5zVG9BZGQs
IGNsZWFyRmlyc3QpOwogICAgIH0pOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ29jb2EubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyQ29jb2EubW0JKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorI2ltcG9ydCAiV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCIKKworI2ltcG9y
dCAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlTG9hZE9i
c2VydmVyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKyAgICAKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXI6OnJlZ2lzdGVy
VXNlckRlZmF1bHRzSWZOZWVkZWQoKQoreworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgaW5p
dE9uY2U7CisgICAgCisgICAgZGlzcGF0Y2hfb25jZSgmaW5pdE9uY2UsIF4geworICAgICAgICBk
b3VibGUgdGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGRvdWJsZUZvcktleTogV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291cmNl
TG9hZFN0YXRpc3RpY3NUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uS2V5KCldOworICAgICAgICAv
LyBNYXggMzAgZGF5cyBpbiBzZWNvbmRzLgorICAgICAgICBpZiAodGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbiA+IDAgJiYgdGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbiA8PSAyNTkyMDAwKQorICAg
ICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZE9ic2VydmVyKCkuc2V0VGltZVRv
TGl2ZVVzZXJJbnRlcmFjdGlvbih0aW1lVG9MaXZlVXNlckludGVyYWN0aW9uKTsKKyAgICAgICAg
CisgICAgICAgIGRvdWJsZSB0aW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSA9IFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGRvdWJsZUZvcktleTogV2ViUHJlZmVyZW5j
ZXNLZXk6OnJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJl
ZUtleSgpXTsKKyAgICAgICAgLy8gTWF4IDEgZGF5IGluIHNlY29uZHMuCisgICAgICAgIGlmICh0
aW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSA+IDAgJiYgdGltZVRvTGl2ZUNvb2tpZVBhcnRp
dGlvbkZyZWUgPD0gODY0MDApCisgICAgICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hh
cmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSh0aW1lVG9MaXZl
Q29va2llUGFydGl0aW9uRnJlZSk7CisgICAgICAgIAorICAgICAgICBkb3VibGUgcmVkdWNlZFRp
bWVzdGFtcFJlc29sdXRpb24gPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRz
XSBkb3VibGVGb3JLZXk6IFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJjZUxvYWRTdGF0aXN0aWNz
UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb25LZXkoKV07CisgICAgICAgIC8vIE1heCAxIGhvdXIu
CisgICAgICAgIGlmIChyZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbiA+IDAgJiYgcmVkdWNlZFRp
bWVzdGFtcFJlc29sdXRpb24gPD0gMzYwMCkKKyAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2Vy
dmVyOjpzaGFyZWRPYnNlcnZlcigpLnNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uKHJlZHVj
ZWRUaW1lc3RhbXBSZXNvbHV0aW9uKTsKKyAgICB9KTsKK30KKworfTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDIxNjUwOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE4NSw2ICsxMTg1LDcgQEAKIAkJNjUwMUJEMUExMkYx
MjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBX
S0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMwMDA2NDEwMDI1QzBDMiAv
KiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4MjkxMzAwMDE2NDAwMENFQjFD
IC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAgKi87IH07CiAJCTY1
Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTgxMkYxMUQ3QjAwQjdE
RDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkJCQkFEMzgxRUMzRTU3ODAwQUQwQTJBIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkJCQUQzNzFFQzNFNTYzMDBBRDBBMkEgLyogV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJDb2NvYS5tbSAqLzsgfTsKIAkJNkJFOTY5OUMxRTQz
QjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlCMUU0M0IzRkYw
MDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkJFOTY5OUUxRTQzQjQxRDAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUQxRTQzQjQxRDAwOEI3
NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovOyB9OwogCQk2QkU5
NjlBMDFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlG
MUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICov
OyB9OwpAQCAtMzQ2Miw2ICszNDYzLDcgQEAKIAkJNjU0NkE4MkExMzAwMDE2NDAwMENFQjFDIC8q
IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8q
IFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTZCQkJBRDM3MUVDM0U1NjMwMEFEMEEyQSAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXJDb2NvYS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8q
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01MTkzLDYgKzUxOTUsNyBAQAogCQkJCUNEQTI5QTFGMUNCRUI1RkIwMDkwMUND
RiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0gKi8sCiAJCQkJN0NFNEQyMTUx
QTQ5MTQ4NDAwQzdGMTUyIC8qIFdlYlByb2Nlc3NQb29sQ29jb2EubW0gKi8sCiAJCQkJMUEwNEY2
MTcxQTRBM0E3QTAwQTIxQjZFIC8qIFdlYlByb2Nlc3NQcm94eUNvY29hLm1tICovLAorCQkJCTZC
QkJBRDM3MUVDM0U1NjMwMEFEMEEyQSAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ckNvY29hLm1tICovLAogCQkJCTdBQUQxNzVFMUVBNkFGMzcwMDNCMDg5NCAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmVDb2NvYS5tbSAqLywKIAkJCQk1MUQxMjQzMTFFNkRFNTIxMDAy
QjI4MjAgLyogV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLmggKi8sCiAJCQkJNTFEMTI0MzIxRTZE
RTUyMTAwMkIyODIwIC8qIFdlYlVSTFNjaGVtZUhhbmRsZXJDb2NvYS5tbSAqLywKQEAgLTEwMzAz
LDYgKzEwMzA2LDcgQEAKIAkJCQk4MzcyREIyODFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDN0I2MjA3MTI5
QTBBNjcwMEQxNzRBNCAvKiBXZWJQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3
QjYyNTMxMkE0M0M5NjAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91cERhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNkJCQkFEMzgxRUMzRTU3ODAwQUQwQTJBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzdCNjIxNjEyQTQyMTlB
MDBEMTc0QTQgLyogV2ViUGFnZUdyb3VwUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5
RUEzMTExQTk2RDlFQjAwMkQyODA3IC8qIFdlYlBhZ2VJbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyREE5NDRCQTE4ODRFQTNDMDBFRDg2REIgLyogV2ViUGFnZUlP
Uy5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309748</attachid>
            <date>2017-05-11 12:11:23 -0700</date>
            <delta_ts>2017-05-11 13:04:07 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-171949-20170511121138.patch</filename>
            <type>text/plain</type>
            <size>13234</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTEwICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQgU3Rh
dGlzdGljczogRW5hYmxlIGNvbmZpZ3VyYXRpb24gdGhyb3VnaCBwcmVmZXJlbmNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxOTQ5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMTg5NDUxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENo
cmlzdGVuc2VuLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gSnVzdCBhbiBhZGRlZCBzZXR0ZXIu
CisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNldFJlZHVjZWRUaW1lc3RhbXBSZXNvbHV0
aW9uKToKKwogMjAxNy0wNS0wOSAgTmFlbCBPdWVkcmFvZ28gIDxuYWVsLm91ZWRyYW9nb0BjcmYu
Y2Fub24uZnI+CiAKICAgICAgICAgTWVkaWFTb3VyY2UucmVhZHlTdGF0ZSBzaG91bGQgdXNlIGFu
IElETCBlbnVtCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRP
YnNlcnZlci5jcHAJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMiw2ICs0MzIsMTIg
QEAgdm9pZCBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0VGltZVRvTGl2ZQogICAgIG1fc3RvcmUt
PnNldFRpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlKHNlY29uZHMpOwogfQogCit2b2lkIFJl
c291cmNlTG9hZE9ic2VydmVyOjpzZXRSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbihkb3VibGUg
c2Vjb25kcykKK3sKKyAgICBpZiAoc2Vjb25kcyA+IDApCisgICAgICAgIHRpbWVzdGFtcFJlc29s
dXRpb24gPSBzZWNvbmRzOworfQorCiB2b2lkIFJlc291cmNlTG9hZE9ic2VydmVyOjpmaXJlRGF0
YU1vZGlmaWNhdGlvbkhhbmRsZXIoKQogewogICAgIG1fc3RvcmUtPmZpcmVEYXRhTW9kaWZpY2F0
aW9uSGFuZGxlcigpOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE2NjQzKQorKysgU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTct
MDUtMTAgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVz
b3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBFbmFibGUgY29uZmlndXJhdGlvbiB0aHJvdWdoIHByZWZl
cmVuY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzE5NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMxODk0NTE4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAgICAgQWRkZWQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1RpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24sCisgICAgICAgICAgICBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzVGltZVRvTGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUsIGFuZAorICAgICAgICAgICAgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1JlZHVjZWRUaW1lc3RhbXBSZXNvbHV0aW9uLgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNvY29hLm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXI6OnJlZ2lzdGVyVXNlckRlZmF1bHRzSWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXIpOgorICAgICAgICAgICAgTm93IGNhbGxzIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NN
YW5hZ2VyOjpyZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCkuCisgICAgICAgICogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE3LTA1LTA5ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBOb3Rp
ZmljYXRpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmluaXRpb25zLmgJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Nyw2
ICsyNzcsOSBAQAogICAgIG1hY3JvKExheW91dEludGVydmFsLCBsYXlvdXRJbnRlcnZhbCwgRG91
YmxlLCBkb3VibGUsIC0xLCAiIiwgIiIpIFwKICAgICBtYWNybyhNYXhQYXJzZUR1cmF0aW9uLCBt
YXhQYXJzZUR1cmF0aW9uLCBEb3VibGUsIGRvdWJsZSwgLTEsICIiLCAiIikgXAogICAgIG1hY3Jv
KFBhc3N3b3JkRWNob0R1cmF0aW9uLCBwYXNzd29yZEVjaG9EdXJhdGlvbiwgRG91YmxlLCBkb3Vi
bGUsIDIsICIiLCAiIikgXAorICAgIG1hY3JvKFJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9M
aXZlVXNlckludGVyYWN0aW9uLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJ
bnRlcmFjdGlvbiwgRG91YmxlLCBkb3VibGUsIDI1OTIwMDAsICIiLCAiIikgXAorICAgIG1hY3Jv
KFJlc291cmNlTG9hZFN0YXRpc3RpY3NUaW1lVG9MaXZlQ29va2llUGFydGl0aW9uRnJlZSwgcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1RpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlLCBEb3VibGUs
IGRvdWJsZSwgODY0MDAsICIiLCAiIikgXAorICAgIG1hY3JvKFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbiwgcmVzb3VyY2VMb2FkU3RhdGlzdGljc1JlZHVj
ZWRUaW1lc3RhbXBSZXNvbHV0aW9uLCBEb3VibGUsIGRvdWJsZSwgMzYwMCwgIiIsICIiKSBcCiAg
ICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9VSU5UMzJfUFJFRkVSRU5DRShtYWNybykg
XApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgJKHJldmlzaW9uIDIxNjUwOSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBj
bGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKCk7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJJ
bk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3Vycyh1bnNpZ25lZCk7CiAg
ICAgc3RhdGljIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVXNlckRlZmF1bHRzSWZOZWVkZWQoKTsKKyNl
bmRpZgogCiBwcml2YXRlOgogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCShyZXZpc2lv
biAyMTY1MDkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmVNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhRmV0Y2hPcHRpb24uaCIKICNpbmNs
dWRlICJXZWJzaXRlRGF0YVR5cGUuaCIKQEAgLTE4Miw2ICsxODMsOSBAQCB2b2lkIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVnCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6cmVnaXN0ZXJTaGFyZWRSZXNvdXJjZUxvYWRPYnNlcnZlcihzdGQ6OmZ1bmN0aW9u
PHZvaWQoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb1JlbW92ZSwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIGRvbWFpbnNUb0FkZCwgYm9vbCBjbGVhckZpcnN0KT4mJiBzaG91bGRQYXJ0aXRp
b25Db29raWVzRm9yRG9tYWluc0hhbmRsZXIpCiB7CiAgICAgcmVnaXN0ZXJTaGFyZWRSZXNvdXJj
ZUxvYWRPYnNlcnZlcigpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NNYW5hZ2VyOjpyZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCk7CisjZW5k
aWYKICAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS0+c2V0U2hvdWxkUGFydGl0aW9u
Q29va2llc0NhbGxiYWNrKFt0aGlzLCBzaG91bGRQYXJ0aXRpb25Db29raWVzRm9yRG9tYWluc0hh
bmRsZXIgPSBXVEZNb3ZlKHNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JEb21haW5zSGFuZGxlcild
IChjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvUmVtb3ZlLCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZG9tYWluc1RvQWRkLCBib29sIGNsZWFyRmlyc3QpIHsKICAgICAgICAgc2hvdWxkUGFy
dGl0aW9uQ29va2llc0ZvckRvbWFpbnNIYW5kbGVyKGRvbWFpbnNUb1JlbW92ZSwgZG9tYWluc1Rv
QWRkLCBjbGVhckZpcnN0KTsKICAgICB9KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNvY29hLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzTWFuYWdlckNvY29hLm1tCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmgiCisKKyNp
bXBvcnQgIldlYlByZWZlcmVuY2VzS2V5cy5oIgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUxv
YWRPYnNlcnZlci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdl
YktpdCB7CisgICAgCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyOjpyZWdp
c3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCkKK3sKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90
IGluaXRPbmNlOworICAgIAorICAgIGRpc3BhdGNoX29uY2UoJmluaXRPbmNlLCBeIHsKKyAgICAg
ICAgY29uc3Qgc2l6ZV90IGhvdXJJblNlY29uZHMgPSAzNjAwOworICAgICAgICBjb25zdCBzaXpl
X3QgZGF5SW5TZWNvbmRzID0gMjQgKiBob3VySW5TZWNvbmRzOworICAgICAgICAKKyAgICAgICAg
ZG91YmxlIHRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24gPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBkb3VibGVGb3JLZXk6IFdlYlByZWZlcmVuY2VzS2V5OjpyZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbktleSgpXTsKKyAgICAgICAg
aWYgKHRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24gPiAwICYmIHRpbWVUb0xpdmVVc2VySW50ZXJh
Y3Rpb24gPD0gMzAgKiBkYXlJblNlY29uZHMpCisgICAgICAgICAgICBSZXNvdXJjZUxvYWRPYnNl
cnZlcjo6c2hhcmVkT2JzZXJ2ZXIoKS5zZXRUaW1lVG9MaXZlVXNlckludGVyYWN0aW9uKHRpbWVU
b0xpdmVVc2VySW50ZXJhY3Rpb24pOworICAgICAgICAKKyAgICAgICAgZG91YmxlIHRpbWVUb0xp
dmVDb29raWVQYXJ0aXRpb25GcmVlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gZG91YmxlRm9yS2V5OiBXZWJQcmVmZXJlbmNlc0tleTo6cmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlS2V5KCldOworICAgICAgICBpZiAodGlt
ZVRvTGl2ZUNvb2tpZVBhcnRpdGlvbkZyZWUgPiAwICYmIHRpbWVUb0xpdmVDb29raWVQYXJ0aXRp
b25GcmVlIDw9IGRheUluU2Vjb25kcykKKyAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2VydmVy
OjpzaGFyZWRPYnNlcnZlcigpLnNldFRpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlKHRpbWVU
b0xpdmVDb29raWVQYXJ0aXRpb25GcmVlKTsKKyAgICAgICAgCisgICAgICAgIGRvdWJsZSByZWR1
Y2VkVGltZXN0YW1wUmVzb2x1dGlvbiA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIGRvdWJsZUZvcktleTogV2ViUHJlZmVyZW5jZXNLZXk6OnJlc291cmNlTG9hZFN0YXRp
c3RpY3NSZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbktleSgpXTsKKyAgICAgICAgaWYgKHJlZHVj
ZWRUaW1lc3RhbXBSZXNvbHV0aW9uID4gMCAmJiByZWR1Y2VkVGltZXN0YW1wUmVzb2x1dGlvbiA8
PSBob3VySW5TZWNvbmRzKQorICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJl
ZE9ic2VydmVyKCkuc2V0UmVkdWNlZFRpbWVzdGFtcFJlc29sdXRpb24ocmVkdWNlZFRpbWVzdGFt
cFJlc29sdXRpb24pOworICAgIH0pOworfQorCit9OwpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjE2NTA5KQor
KysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTg1LDYgKzExODUsNyBAQAogCQk2NTAxQkQxQTEyRjEyNDM0MDBFOUYy
NDggLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5z
cGVjdG9yLmNwcCAqLzsgfTsKIAkJNjU5QzU1MUUxMzAwMDY0MTAwMjVDMEMyIC8qIEluamVjdGVk
QnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTQ2QTgyOTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0
ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCAqLzsgfTsKIAkJNjVCODZGMUUxMkYx
MURFMzAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tC
dW5kbGVJbnNwZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk2QkJCQUQzODFFQzNFNTc4MDBBRDBBMkEgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZCQkJBRDM3MUVDM0U1NjMwMEFEMEEyQSAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlckNvY29hLm1tICovOyB9OwogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0
ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8q
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4
NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAw
OEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IH07CkBAIC0z
NDYyLDYgKzM0NjMsNyBAQAogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5qZWN0ZWRC
dW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJ
bnNwZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tCdW5k
bGVJbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4NkYxODEy
RjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNkJCQkFEMzcxRUMzRTU2MzAwQUQwQTJBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlckNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZCRTk2OTlEMUU0M0I0MUQwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk2QkU5Njk5RjFFNDNCODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTUxOTMsNiArNTE5NSw3IEBACiAJCQkJQ0RBMjlBMUYxQ0JFQjVGQjAwOTAxQ0NGIC8qIFdlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbSAqLywKIAkJCQk3Q0U0RDIxNTFBNDkxNDg0MDBD
N0YxNTIgLyogV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSAqLywKIAkJCQkxQTA0RjYxNzFBNEEzQTdB
MDBBMjFCNkUgLyogV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0gKi8sCisJCQkJNkJCQkFEMzcxRUMz
RTU2MzAwQUQwQTJBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyQ29jb2EubW0g
Ki8sCiAJCQkJN0FBRDE3NUUxRUE2QUYzNzAwM0IwODk0IC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZUNvY29hLm1tICovLAogCQkJCTUxRDEyNDMxMUU2REU1MjEwMDJCMjgyMCAvKiBX
ZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EuaCAqLywKIAkJCQk1MUQxMjQzMjFFNkRFNTIxMDAyQjI4
MjAgLyogV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLm1tICovLApAQCAtMTAzMDMsNiArMTAzMDYs
NyBAQAogCQkJCTgzNzJEQjI4MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3QjYyMDcxMjlBMEE2NzAwRDE3
NEE0IC8qIFdlYlBhZ2VHcm91cC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzdCNjI1MzEyQTQz
Qzk2MDBEMTc0QTQgLyogV2ViUGFnZUdyb3VwRGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk2
QkJCQUQzODFFQzNFNTc4MDBBRDBBMkEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDN0I2MjE2MTJBNDIxOUEwMEQxNzRBNCAv
KiBXZWJQYWdlR3JvdXBQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDlFQTMxMTFBOTZE
OUVCMDAyRDI4MDcgLyogV2ViUGFnZUluamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJEQTk0NEJBMTg4NEVBM0MwMEVEODZEQiAvKiBXZWJQYWdlSU9TLm1tIGluIFNv
dXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>