<?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>103258</bug_id>
          
          <creation_ts>2012-11-26 08:21:43 -0800</creation_ts>
          <short_desc>onload callback for &lt;track&gt; element attached to &lt;video&gt; does not fire</short_desc>
          <delta_ts>2013-01-06 09:15:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>http://w3c-test.org/html/tests/submission/Opera/media/interfaces/TextTrackCue/align.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>105589</dependson>
          <blocked>105536</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>eoconnor</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>s.choi</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775495</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2012-11-26 08:21:43 -0800</bug_when>
    <thetext>The callback registered via a &lt;track&gt; element&apos;s onload property does not fire under this scenario, taken from http://w3c-test.org/html/tests/submission/Opera/media/interfaces/TextTrackCue/align.html:

    var video = document.createElement(&apos;video&apos;);
    document.body.appendChild(video);
    var t = document.createElement(&apos;track&apos;);
    t.onload = this.step_func(function(){
      // onload callback code that doesn&apos;t fire
    });
    t.src = &apos;data:text/vtt,&apos;+encodeURIComponent(&apos;WEBVTT\n\n00:00:00.000 --&gt; 00:00:00.001\ntest\n\n&apos;+
                                                &apos;00:00:00.000 --&gt; 00:00:00.001 align:start\ntest\n\n&apos;+
                                                &apos;00:00:00.000 --&gt; 00:00:00.001 align:middle\ntest\n\n&apos;+
                                                &apos;00:00:00.000 --&gt; 00:00:00.001 align:end\ntest&apos;);
    video.appendChild(t);

I suppose this might be related to the &lt;video&gt; not having an &quot;src&quot; attribute and not loading, but the HTML5 spec says that the only reason a &lt;track&gt; element shouldn&apos;t be loaded is if it wasn&apos;t attached to a media element, as per the discussion at https://www.w3.org/Bugs/Public/show_bug.cgi?id=20063.

This bug blocks testing of a lot of the Opera-submitted tests for HTML5 captions support as the onload callback is widely used across those tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776495</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">ml</who>
    <bug_when>2012-11-27 01:53:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/12756200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785733</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2012-12-07 01:19:12 -0800</bug_when>
    <thetext>We&apos;re only starting the load of a TextTrack upon setting its &quot;src&quot; attribute (by calling HTMLTrackElement::scheduleLoad). In the case of most of the Opera tests, the &quot;src&quot; attribute is set before the mode or before the element is attached to a media element. Because of that, we never proceed with the actual loading of the resource.

The spec is clear however that changing the mode or attaching the element to a media element should attempt to start the resource load (section 4.8.10.12.3):

&quot;When a text track corresponding to a track element experiences any of the following circumstances, the user agent must start the track processing model for that text track and its track element:

- The track element is created.
- The text track has its text track mode changed.
- The track element&apos;s parent element changes and the new parent is a media element.&quot;

The conditions checked in HTMLTrackElement::scheduleLoad seem legit, it should just be a matter of hooking up calls to that function in more places as mode and a media ancestor changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785745</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2012-12-07 01:37:53 -0800</bug_when>
    <thetext>So it turns out we were already attempting the load of a text track whose mode changed in HTMLMediaElement::textTrackModeChanged. However, we were not attempting the load of the text track in HTMLMediaElement::didAddTrack. I reckon we need to add a call to `trackElement-&gt;scheduleLoad();` at the end of that method, like so:

    // Do not schedule the track loading until parsing finishes so we don&apos;t start before all tracks
    // in the markup have been added.
    if (!m_parsingInProgress) {
        scheduleLoad(TextTrackResource);
        trackElement-&gt;scheduleLoad();
    }

Eric, do you know if the order of these two calls matter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785850</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-12-07 06:24:14 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; So it turns out we were already attempting the load of a text track whose mode changed in HTMLMediaElement::textTrackModeChanged. However, we were not attempting the load of the text track in HTMLMediaElement::didAddTrack. I reckon we need to add a call to `trackElement-&gt;scheduleLoad();` at the end of that method, like so:
&gt; 
&gt;     // Do not schedule the track loading until parsing finishes so we don&apos;t start before all tracks
&gt;     // in the markup have been added.
&gt;     if (!m_parsingInProgress) {
&gt;         scheduleLoad(TextTrackResource);
&gt;         trackElement-&gt;scheduleLoad();
&gt;     }
&gt; 
&gt; Eric, do you know if the order of these two calls matter?

I think it makes more sense for HTMLTrackElement to schedule the load itself, so I would do it in HTMLTrackElement::textTrackModeChanged before it calls parent-&gt;textTrackModeChanged. At the same time I would move the call to scheduleLoad() from HTMLMediaElement::didAddTrack to HTMLTrackElement::insertedInto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795449</commentid>
    <comment_count>5</comment_count>
      <attachid>180343</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2012-12-20 08:04:06 -0800</bug_when>
    <thetext>Created attachment 180343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795474</commentid>
    <comment_count>6</comment_count>
      <attachid>180343</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 08:55:01 -0800</bug_when>
    <thetext>Comment on attachment 180343
Patch

Attachment 180343 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15452060

New failing tests:
fast/events/constructors/track-event-constructor.html
http/tests/security/text-track-crossorigin.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795480</commentid>
    <comment_count>7</comment_count>
      <attachid>180350</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2012-12-20 09:15:23 -0800</bug_when>
    <thetext>Created attachment 180350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795513</commentid>
    <comment_count>8</comment_count>
      <attachid>180350</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-12-20 09:58:37 -0800</bug_when>
    <thetext>Comment on attachment 180350
Patch

Nice patch, great documentation - thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795545</commentid>
    <comment_count>9</comment_count>
      <attachid>180350</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 10:30:05 -0800</bug_when>
    <thetext>Comment on attachment 180350
Patch

Clearing flags on attachment: 180350

Committed r138270: &lt;http://trac.webkit.org/changeset/138270&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795546</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 10:30:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795922</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 16:16:26 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 105589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795927</commentid>
    <comment_count>12</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-20 16:17:51 -0800</bug_when>
    <thetext>I&apos;m going to roll this out. Unfortunately I don&apos;t know if it is the cause, but many track tests have started to crash today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795929</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-20 16:21:10 -0800</bug_when>
    <thetext>Rollout was https://bugs.webkit.org/show_bug.cgi?id=105589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795977</commentid>
    <comment_count>14</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-20 17:18:27 -0800</bug_when>
    <thetext>And it seems to have fixed the crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795989</commentid>
    <comment_count>15</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-20 17:37:49 -0800</bug_when>
    <thetext>Although we&apos;re still seeing some crashes:

http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r138324%20(5063)/media/track/tracklist-is-reachable-crash-log.txt

But rniwa points at https://bugs.webkit.org/show_bug.cgi?id=73865#c2 so we&apos;re not sure if this is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799836</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-03 16:34:41 -0800</bug_when>
    <thetext>Committed r138766: &lt;http://trac.webkit.org/changeset/138766&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180343</attachid>
            <date>2012-12-20 08:04:06 -0800</date>
            <delta_ts>2012-12-20 09:14:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103258-20121220170120.patch</filename>
            <type>text/plain</type>
            <size>25528</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVhMWI3OTRlMzQ5ZjA3
YzY5Y2RjMTQ4ODAzM2UxOTMzNjRjOTRkMi4uNTQ4ZjQwNTYyMzNiZjA5MDNhMWI3ZDYxY2Y4NmRl
MThhYmU0OTlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTIwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgb25sb2FkIGNhbGxiYWNr
IGZvciA8dHJhY2s+IGVsZW1lbnQgYXR0YWNoZWQgdG8gPHZpZGVvPiBkb2VzIG5vdCBmaXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBub3cgY29y
cmVjdGx5IGltcGxlbWVudCB0aGUgdHJhY2sgcHJvY2Vzc2luZyBtb2RlbCBwZXIgdGhlIGxhdGVz
dCBzcGVjIGF0CisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS12aWRlby1lbGVtZW50Lmh0bWwjc3RhcnQtdGhlLXRy
YWNrLXByb2Nlc3NpbmctbW9kZWwuCisgICAgICAgIAorICAgICAgICBGb3IgYSA8dHJhY2s+IHRv
IGxvYWQsIHRocmVlIGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQ6CisgICAgICAgIAorICAgICAgICAx
LiBpdCBtdXN0IGhhdmUgYSBub24tZW1wdHkgc3JjCisgICAgICAgIDIuIGl0IG11c3QgaGF2ZSBh
IG1vZGUgb3RoZXIgdGhhbiAiZGlzYWJsZWQiICh0aGUgZGVmYXVsdCkKKyAgICAgICAgMy4gaXQg
bXVzdCBoYXZlIGEgcGFyZW50IG1lZGlhIGVsZW1lbnQKKyAgICAgICAgCisgICAgICAgIFdlIHVz
ZWQgdG8gb25seSBjaGVjayBpZiB3ZSB3ZXJlIGFibGUgdG8gbG9hZCB1cG9uIHNldHRpbmcgdGhl
IHRyYWNrJ3Mgc3JjLAorICAgICAgICB3aGVyZWFzIGEgY2hhbmdlIG9mIGFueSBvZiB0aG9zZSBj
b25kaXRpb25zIHNob3VsZCBoYXZlIGRvbmUgdGhpcywgd2hpY2ggdGhpcworICAgICAgICBwYXRj
aCBub3cgY29ycmVjdGx5IGltcGxlbWVudHMuCisgICAgICAgIAorICAgICAgICBXZSBhbHNvIGNv
cnJlY3RseSBpbXBsZW1lbnQgdGhlIGxvYWQgbW9kZWwgYXN5bmNocm9ub3VzbHkgYWZ0ZXIgc3Rl
cCA0LCBwZXIKKyAgICAgICAgdGhlIHNwZWMsIGhlbmNlIHRoZSBzcGxpdCBvZiB0aGUgY29kZSBw
cmV2aW91c2x5IGVudGlyZWx5IGNvbnRhaW5lZCBpbgorICAgICAgICBIVE1MVHJhY2tFbGVtZW50
OjpzY2hlZHVsZUxvYWQoKSBpbiBhbm90aGVyIG1ldGhvZCBmaXJlZCBvbiBhIHRpbWVyLgorCisg
ICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtbG9hZC1ldmVudC5odG1sCisK
KyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrTW9kZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
OjpIVE1MVHJhY2tFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6
Omluc2VydGVkSW50byk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVs
ZUxvYWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tF
bGVtZW50Ojpsb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVt
ZW50Ojp0ZXh0VHJhY2tNb2RlQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2suY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrOjpyZW1vdmVBbGxDdWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrLmg6CisgICAgICAgIChUZXh0VHJhY2spOgorCiAy
MDEyLTEyLTE5ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbU2hhZG93XSBUSVRMRSBlbGVtZW50cyBpbiBTaGFkb3cgRE9NIHNob3VsZCBub3QgYWZmZWN0
IGRvY3VtZW50LnRpdGxlIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggYzA0MDVjMjAyNDdjMTE4NGE0ZGRmNzUyM2I4NDEzZTliMjYxMWZhNC4u
ZDMxOGJhYWFhMDJlZTJkMzc4OWM3MmZlMjhlMjE0Y2ViMjM2NDg1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMzMyLDggKzEzMzIsNiBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiAg
ICAgICAgICAgICBpZiAodHJhY2stPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29y
ZCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWNrRWxlbWVudC0+cmVhZHlTdGF0ZSgpID09
IEhUTUxUcmFja0VsZW1lbnQ6OkxPQURFRCkKICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYWNr
QWRkQ3Vlcyh0cmFjaywgdHJhY2stPmN1ZXMoKSk7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAo
dHJhY2tFbGVtZW50LT5yZWFkeVN0YXRlKCkgPT0gSFRNTFRyYWNrRWxlbWVudDo6Tk9ORSkKLSAg
ICAgICAgICAgICAgICAgICAgdHJhY2tFbGVtZW50LT5zY2hlZHVsZUxvYWQoKTsKIAogICAgICAg
ICAgICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IGFkZGVkIHRyYWNrLCBjcmVhdGUgdGhl
IGxpc3Qgb2YgdGV4dCB0cmFja3MuCiAgICAgICAgICAgICAgICAgaWYgKCFtX3RleHRUcmFja3Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCBjZDk5ZGM0NWZl
NDMxMDNkYzgyMTAyYzUwNTY5ZDE4ZmNmZjgxN2JmLi44OWU3MTUyZTliNDgxYjk4NmQ2ZGJlMTlk
ZjhlY2VjZjMyNWI1YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFj
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5j
cHAKQEAgLTU2LDYgKzU2LDcgQEAgc3RhdGljIFN0cmluZyB1cmxGb3JMb2dnaW5nVHJhY2soY29u
c3QgS1VSTCYgdXJsKQogICAgIAogaW5saW5lIEhUTUxUcmFja0VsZW1lbnQ6OkhUTUxUcmFja0Vs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgLCBtX2xvYWRUaW1lcih0
aGlzLCAmSFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQpCiB7CiAgICAgTE9HKE1lZGlh
LCAiSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRyYWNrRWxlbWVudCAtICVwIiwgdGhpcyk7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUodHJhY2tUYWcpKTsKQEAgLTc0LDYgKzc1LDkgQEAgUGFzc1JlZlB0
cjxIVE1MVHJhY2tFbGVtZW50PiBIVE1MVHJhY2tFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmEKIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBIVE1M
VHJhY2tFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQp
CiB7CisgICAgLy8gU2luY2Ugd2UndmUgbW92ZWQgdG8gYSBuZXcgcGFyZW50LCB3ZSBtYXkgbm93
IGJlIGFibGUgdG8gbG9hZC4KKyAgICBzY2hlZHVsZUxvYWQoKTsKKwogICAgIEhUTUxFbGVtZW50
OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOwogICAgIEhUTUxNZWRpYUVsZW1lbnQqIHBh
cmVudCA9IG1lZGlhRWxlbWVudCgpOwogICAgIGlmIChpbnNlcnRpb25Qb2ludCA9PSBwYXJlbnQp
CkBAIC05MiwxMCArOTYsMTMgQEAgdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHIKIHsKICAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0VmlkZW9UcmFja0VuYWJsZWQoKSkgewogICAg
ICAgICBpZiAobmFtZSA9PSBzcmNBdHRyKSB7Ci0gICAgICAgICAgICBpZiAoIXZhbHVlLmlzRW1w
dHkoKSAmJiBtZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbXB0eSgp
KQogICAgICAgICAgICAgICAgIHNjaGVkdWxlTG9hZCgpOwotICAgICAgICAgICAgLy8gNC44LjEw
LjEyLjMgU291cmNpbmcgb3V0LW9mLWJhbmQgdGV4dCB0cmFja3MKLSAgICAgICAgICAgIC8vIEFz
IHRoZSBraW5kLCBsYWJlbCwgYW5kIHNyY2xhbmcgYXR0cmlidXRlcyBhcmUgc2V0LCBjaGFuZ2Vk
LCBvciByZW1vdmVkLCB0aGUgdGV4dCB0cmFjayBtdXN0IHVwZGF0ZSBhY2NvcmRpbmdseS4uLgor
ICAgICAgICAgICAgZWxzZSBpZiAobV90cmFjaykKKyAgICAgICAgICAgICAgICBtX3RyYWNrLT5y
ZW1vdmVBbGxDdWVzKCk7CisKKyAgICAgICAgLy8gNC44LjEwLjEyLjMgU291cmNpbmcgb3V0LW9m
LWJhbmQgdGV4dCB0cmFja3MKKyAgICAgICAgLy8gQXMgdGhlIGtpbmQsIGxhYmVsLCBhbmQgc3Jj
bGFuZyBhdHRyaWJ1dGVzIGFyZSBzZXQsIGNoYW5nZWQsIG9yIHJlbW92ZWQsIHRoZSB0ZXh0IHRy
YWNrIG11c3QgdXBkYXRlIGFjY29yZGluZ2x5Li4uCiAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9
PSBraW5kQXR0cikKICAgICAgICAgICAgIHRyYWNrKCktPnNldEtpbmQodmFsdWUubG93ZXIoKSk7
CiAgICAgICAgIGVsc2UgaWYgKG5hbWUgPT0gbGFiZWxBdHRyKQpAQCAtMTg4LDIxICsxOTUsMzkg
QEAgYm9vbCBIVE1MVHJhY2tFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUm
IGF0dHJpYnV0ZSkgY29uc3QKIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQo
KQogeworICAgIC8vIDEuIElmIGFub3RoZXIgb2NjdXJyZW5jZSBvZiB0aGlzIGFsZ29yaXRobSBp
cyBhbHJlYWR5IHJ1bm5pbmcgZm9yIHRoaXMgdGV4dCB0cmFjayBhbmQgaXRzIHRyYWNrIGVsZW1l
bnQsCisgICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMsIGxldHRpbmcgdGhhdCBvdGhlciBhbGdvcml0
aG0gdGFrZSBjYXJlIG9mIHRoaXMgZWxlbWVudC4KKyAgICBpZiAobV9sb2FkVGltZXIuaXNBY3Rp
dmUoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJraXRWaWRlb1RyYWNrRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyAy
LiBJZiB0aGUgdGV4dCB0cmFjaydzIHRleHQgdHJhY2sgbW9kZSBpcyBub3Qgc2V0IHRvIG9uZSBv
ZiBoaWRkZW4gb3Igc2hvd2luZywgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKGVuc3VyZVRy
YWNrKCktPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQoKSAmJiBlbnN1cmVUcmFj
aygpLT5tb2RlKCkgIT0gVGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICAvLyAzLiBJZiB0aGUgdGV4dCB0cmFjaydzIHRyYWNrIGVsZW1lbnQgZG9lcyBu
b3QgaGF2ZSBhIG1lZGlhIGVsZW1lbnQgYXMgYSBwYXJlbnQsIGFib3J0IHRoZXNlIHN0ZXBzLgog
ICAgIGlmICghbWVkaWFFbGVtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIDQuIFJ1
biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBzIGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3
aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8gcnVuIHRvIGNvbnRpbnVlLgorICAgIG1fbG9h
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2Fk
VGltZXJGaXJlZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiopCit7CiAgICAgaWYgKCFmYXN0SGFz
QXR0cmlidXRlKHNyY0F0dHIpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyA0LjguMTAuMTIu
MyBTb3VyY2luZyBvdXQtb2YtYmFuZCB0ZXh0IHRyYWNrcwotCi0gICAgLy8gMS4gU2V0IHRoZSB0
ZXh0IHRyYWNrIHJlYWRpbmVzcyBzdGF0ZSB0byBsb2FkaW5nLgorICAgIC8vIDYuIFNldCB0aGUg
dGV4dCB0cmFjayByZWFkaW5lc3Mgc3RhdGUgdG8gbG9hZGluZy4KICAgICBzZXRSZWFkeVN0YXRl
KEhUTUxUcmFja0VsZW1lbnQ6OkxPQURJTkcpOwogCisgICAgLy8gNy4gTGV0IFVSTCBiZSB0aGUg
dHJhY2sgVVJMIG9mIHRoZSB0cmFjayBlbGVtZW50LgogICAgIEtVUkwgdXJsID0gZ2V0Tm9uRW1w
dHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisKKyAgICAvLyA4LiBJZiB0aGUgdHJhY2sgZWxlbWVu
dCdzIHBhcmVudCBpcyBhIG1lZGlhIGVsZW1lbnQgdGhlbiBsZXQgQ09SUyBtb2RlIGJlIHRoZSBz
dGF0ZSBvZiB0aGUgcGFyZW50IG1lZGlhCisgICAgLy8gZWxlbWVudCdzIGNyb3Nzb3JpZ2luIGNv
bnRlbnQgYXR0cmlidXRlLiBPdGhlcndpc2UsIGxldCBDT1JTIG1vZGUgYmUgTm8gQ09SUy4KICAg
ICBpZiAoIWNhbkxvYWRVcmwodXJsKSkgewogICAgICAgICBkaWRDb21wbGV0ZUxvYWQoZW5zdXJl
VHJhY2soKSwgSFRNTFRyYWNrRWxlbWVudDo6RmFpbHVyZSk7CiAgICAgICAgIHJldHVybjsKQEAg
LTMwMiw2ICszMjcsMTAgQEAgdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojp0ZXh0VHJhY2tLaW5kQ2hh
bmdlZChUZXh0VHJhY2sqIHRyYWNrKQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnRleHRUcmFj
a01vZGVDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiB7CisgICAgLy8gU2luY2Ugd2UndmUgbW92
ZWQgdG8gYSBuZXcgcGFyZW50LCB3ZSBtYXkgbm93IGJlIGFibGUgdG8gbG9hZC4KKyAgICBpZiAo
cmVhZHlTdGF0ZSgpID09IEhUTUxUcmFja0VsZW1lbnQ6Ok5PTkUpCisgICAgICAgIHNjaGVkdWxl
TG9hZCgpOworCiAgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIHBhcmVudCA9IG1lZGlhRWxlbWVu
dCgpKQogICAgICAgICByZXR1cm4gcGFyZW50LT50ZXh0VHJhY2tNb2RlQ2hhbmdlZCh0cmFjayk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCmluZGV4IDFiNjU5ZmY1Mjcx
OWZmMTk1YWYzN2VjNTM4N2NkNDUwNjc4OWUxZmQuLjRiNDVhZGZlYjBjMGQ0OGZmZjA1YWM1OWU0
M2VlMzVmM2U3MDk2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNr
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCkBA
IC03OSw2ICs3OSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENv
bnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJikgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2b2lkIGxvYWRUaW1lckZp
cmVkKFRpbWVyPEhUTUxUcmFja0VsZW1lbnQ+Kik7CisKICNpZiBFTkFCTEUoTUlDUk9EQVRBKQog
ICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1WYWx1ZVRleHQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0SXRlbVZhbHVlVGV4dChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2Rl
JikgT1ZFUlJJREU7CkBAIC05OCw2ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBjYW5Mb2FkVXJsKGNvbnN0IEtVUkwmKTsKIAogICAgIFJlZlB0cjxMb2FkYWJsZVRleHRUcmFj
az4gbV90cmFjazsKKyAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAppbmRleCBmNjA4NTYz
MDc4ZGQzMmMxNjlmMDcyMjllYzVhYjU2ODEyOTcyYzc0Li41ZGI0OTI0NzU2ODYwYzk0MWM1N2M4
OTI2ZDQyMTAzYmM3MjBjZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2su
Y3BwCkBAIC0yMDEsNiArMjAxLDIwIEBAIFRleHRUcmFja0N1ZUxpc3QqIFRleHRUcmFjazo6Y3Vl
cygpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgVGV4dFRyYWNrOjpyZW1vdmVBbGxDdWVzKCkK
K3sKKyAgICBpZiAoIW1fY3VlcykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xpZW50
KQorICAgICAgICBtX2NsaWVudC0+dGV4dFRyYWNrUmVtb3ZlQ3Vlcyh0aGlzLCBtX2N1ZXMuZ2V0
KCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jdWVzLT5sZW5ndGgoKTsg
KytpKQorICAgICAgICBtX2N1ZXMtPml0ZW0oaSktPnNldFRyYWNrKDApOworICAgIAorICAgIG1f
Y3VlcyA9IDA7Cit9CisKIFRleHRUcmFja0N1ZUxpc3QqIFRleHRUcmFjazo6YWN0aXZlQ3Vlcygp
IGNvbnN0CiB7CiAgICAgLy8gNC44LjEwLjEyLjUgSWYgdGhlIHRleHQgdHJhY2sgbW9kZSAuLi4g
aXMgbm90IHRoZSB0ZXh0IHRyYWNrIGRpc2FibGVkIG1vZGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2suaAppbmRleCA2MzUwM2RhNTBiMmVkMTg1M2M1OGM2YTUzMjhiZTU5Yjc2MGUx
MzcxLi44ODkzYWVkMjc4MjA5OWU5MWRiN2I3NTJhYzRlZTY0OTExYWVmMTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGlzRGVmYXVsdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCB2b2lkIHNldElzRGVmYXVsdChib29sKSB7IH0KIAorICAgIHZvaWQgcmVtb3ZlQWxs
Q3VlcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBUZXh0VHJhY2tDbGllbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0IEF0
b21pY1N0cmluZyYgbGFiZWwsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIFRleHRUcmFj
a1R5cGUpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYjNjOTM2ODg0OGU1NDJlZTYxOTA3MTM0ZjRiNzY3NTM0MWU0Mzhl
NS4uNWZkYWI0MGEzMDgzNjI4MzY0NGZkMGIzMWFkZmNiMDA1MmU5NjgyNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDEyLTEyLTIwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CisKKyAgICAgICAgb25sb2FkIGNhbGxiYWNrIGZvciA8dHJhY2s+IGVsZW1lbnQgYXR0YWNoZWQg
dG8gPHZpZGVvPiBkb2VzIG5vdCBmaXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBcyBhIHJlc3VsdCBvZiBmaXhpbmcgdGhpcyBidWcsIGEgZmV3IG5l
dyBmYWlsdXJlcyB3ZXJlIHVuY292ZXJlZCBhbmQgVGVzdEV4cGVjdGF0aW9ucworICAgICAgICBu
ZWVkZWQgdG8gYmUgdXBkYXRlZCB0byB0YWtlIHRoaXMgaW50byBhY2NvdW50LiBBZGRpdGlvbmFs
bHksIHNvbWUgZXhpc3RpbmcgdGVzdHMgd2VyZQorICAgICAgICBpbmNvcnJlY3Qgb3Igb3V0ZGF0
ZWQgYW5kIHdlcmUgZml4ZWQgYXMgd2VsbC4gRmluYWxseSwgYSBuZXcgdGVzdCB3YXMgYWRkZWQg
dG8gdGhvcm91Z2hseQorICAgICAgICB0ZXN0IHRoZSB2YXJpb3VzIGNvbmRpdGlvbnMgcmVxdWly
ZWQgZm9yIGEgPHRyYWNrPiBlbGVtZW50IHRvIHN1Y2Nlc3NmdWxseSBsb2FkLgorCisgICAgICAg
ICogbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLWV4cGVjdGVkLnR4dDogVXBkYXRlIHRoZSBv
dXRwdXQgdG8gbWF0Y2ggY2hhbmdlcyBtYWRlIHRvIHRlc3QuCisgICAgICAgICogbWVkaWEvdHJh
Y2svdHJhY2stYWRkLXRyYWNrLmh0bWw6IFVwZGF0ZSB0aGUgdGVzdCB0byBjb3JyZWN0bHkgc2V0
IGEgbm9uLWRpc2FibGVkIG1vZGUgb24KKyAgICAgICAgdGhlIHRleHQgdHJhY2sgc3VjaCB0aGF0
IGl0IG1heSBsb2FkIHBlciB0aGUgcnVsZXMgZW5mb3JjZWQgd2l0aCB0aGlzIHBhdGNoLiBBbHNv
LCBlbnN1cmUKKyAgICAgICAgdGhlIC5yZWFkeVN0YXRlIG9mIHRoZSB0ZXh0IHRyYWNrIGlzIGNv
cnJlY3RseSBhc3N1bWVkIHRvIGJlIE5PTkUgdnMuIExPQURJTkcgYXMgaXQgd291bGQKKyAgICAg
ICAgaGF2ZSB0byB3YWl0IHVudGlsIHRoZSBuZXh0IHJ1biBsb29wIHRvIGJlIGNoYW5nZWQgdG8g
YW55dGhpbmcgYnV0IE5PTkUuCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1s
b2FkLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svdHJh
Y2stZWxlbWVudC1sb2FkLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNr
L3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5odG1sOiBVcGRhdGUgdGhlIHRlc3QgdG8g
Y29ycmVjdGx5IHNldCBhCisgICAgICAgIG5vbi1kaXNhYmxlZCBtb2RlIG9uIHRoZSB0ZXh0IHRy
YWNrIHN1Y2ggdGhhdCBpdCBtYXkgbG9hZCBwZXIgdGhlIHJ1bGVzIGVuZm9yY2VkIHdpdGgKKyAg
ICAgICAgdGhpcyBwYXRjaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zOiBTa2lwIHRlc3RzIHRoYXQgbm93IGZhaWwgaW5zdGVhZCBvZiB0aW1pbmcgb3V0Lgor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3RzIHRoYXQg
bm93IGZhaWwgaW5zdGVhZCBvZiB0aW1pbmcgb3V0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3RzIHRoYXQgbm93IGZhaWwgaW5zdGVhZCBvZiB0aW1p
bmcgb3V0LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRl
c3RzIHRoYXQgbm93IGZhaWwgaW5zdGVhZCBvZiB0aW1pbmcgb3V0LgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0ZWFk
IG9mIHRpbWluZyBvdXQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6
IFNraXAgdGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0ZWFkIG9mIHRpbWluZyBvdXQuCisKIDIwMTIt
MTItMTkgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtT
aGFkb3ddIFRJVExFIGVsZW1lbnRzIGluIFNoYWRvdyBET00gc2hvdWxkIG5vdCBhZmZlY3QgZG9j
dW1lbnQudGl0bGUgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1hZGQtdHJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2stYWRkLXRyYWNrLWV4cGVjdGVkLnR4dAppbmRleCBhMmI4YWI1NWIyODUzODNjYmQ3ODRm
YTZlZGY5MGFkNmJhMDEwMjlhLi5mZGIzNTFkNjg0ZjJlMDc4MTljYzQ2N2YyYTM0NDUzNTQ4YWZh
YzI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1hZGQtdHJhY2st
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWFkZC10cmFj
ay1leHBlY3RlZC50eHQKQEAgLTQsOCArNCw5IEBAIFRlc3RzIHRoYXQgdGhlICdhZGR0cmFjaycg
ZXZlbnQgaXMgZmlyZWQgd2hlbiBhIFRleHRUcmFjayBpcyBjcmVhdGVkLgogUlVOKHRyYWNrRWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyYWNrJykpCiBSVU4odmlkZW8uYXBwZW5k
Q2hpbGQodHJhY2tFbGVtZW50KSkKIFJVTih0cmFja0VsZW1lbnQuc3JjID0gJ2NhcHRpb25zLXdl
YnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQnKQorUlVOKHRyYWNrRWxlbWVudC50cmFjay5tb2Rl
ID0gJ2hpZGRlbicpCiBFWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrcy5sZW5ndGggPT0gJzEnKSBP
SwotRVhQRUNURUQgKHRyYWNrRWxlbWVudC5yZWFkeVN0YXRlID09ICcxJykgT0sKK0VYUEVDVEVE
ICh0cmFja0VsZW1lbnQucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCiBFVkVOVChhZGR0cmFjaykKIEVY
UEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgVGV4dFRyYWNrTGlzdF0nKSBPSwogRVhQ
RUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93LlRyYWNrRXZlbnQgPT0gJ3RydWUnKSBPSwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1hZGQtdHJhY2suaHRtbAppbmRleCBlMTE4
YzU5ZWUxNjQzYWM0N2VjYTc1YTQxOGM3N2UyZmQ0ZWEzNmI5Li5hMDFjYzNjOWFiMjIzNDYzOGFk
YzdhMjQ1NTkwMTkxODQ1YzUzMWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1hZGQtdHJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1hZGQtdHJhY2suaHRtbApAQCAtNDEsOCArNDEsOSBAQAogICAgICAgICAgICAgICAgIHZpZGVv
LnRleHRUcmFja3MuYWRkRXZlbnRMaXN0ZW5lcigiYWRkdHJhY2siLCB0cmFja0FkZGVkKTsKIAog
ICAgICAgICAgICAgICAgIHJ1bigidHJhY2tFbGVtZW50LnNyYyA9ICdjYXB0aW9ucy13ZWJ2dHQv
dGMwMDQtd2VidnR0LWZpbGUudnR0JyIpOworICAgICAgICAgICAgICAgIHJ1bigidHJhY2tFbGVt
ZW50LnRyYWNrLm1vZGUgPSAnaGlkZGVuJyIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8udGV4dFRyYWNrcy5sZW5ndGgiLCAxKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInRyYWNrRWxlbWVudC5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxlbWVudC5MT0FESU5H
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrRWxlbWVudC5yZWFkeVN0YXRl
IiwgSFRNTFRyYWNrRWxlbWVudC5OT05FKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQt
bG9hZC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1l
bGVtZW50LWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMmI3OTYzYmY2NzUz
NWFiNWI3MmRlMzUzZjg1MGFjNmNjNDk1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOCBAQAorIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFjayBlbGVtZW50LCBzcmMg
LyBtb2RlIC8gYXBwZW5kIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFjayBlbGVtZW50LCBz
cmMgLyBhcHBlbmQgLyBtb2RlIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFjayBlbGVtZW50
LCBtb2RlIC8gYXBwZW5kIC8gc3JjIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFjayBlbGVt
ZW50LCBtb2RlIC8gc3JjIC8gYXBwZW5kIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFjayBl
bGVtZW50LCBhcHBlbmQgLyBzcmMgLyBtb2RlIAorUEFTUyBMb2FkIGV2ZW50IG9uIHRoZSB0cmFj
ayBlbGVtZW50LCBhcHBlbmQgLyBtb2RlIC8gc3JjIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWxvYWQtZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtbG9hZC1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0
ZWQxMDJiZWZiMTFiYmY4NGE1NzRkNDllZmRjYmNmYTBhZjE4YWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWxvYWQtZXZlbnQuaHRtbApA
QCAtMCwwICsxLDczIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8dGl0bGU+TG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudDwvdGl0bGU+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgaWQ9
ImxvZyI+PC9kaXY+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwor
ICAgICAgICAgICAgdmFyIHZpZGVvOworCisgICAgICAgICAgICAvLyBTZXR1cAorCisgICAgICAg
ICAgICBzZXR1cChmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgndmlkZW8nKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHZpZGVvKTsKKyAgICAgICAgICAgIH0sIHt0aW1lb3V0OiA1MDAwfSk7CisKKyAg
ICAgICAgICAgIC8vIFRlc3RzCisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJzcmMiLCAibW9k
ZSIsICJhcHBlbmQiXSk7CisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJzcmMiLCAiYXBwZW5k
IiwgIm1vZGUiXSk7CisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJtb2RlIiwgImFwcGVuZCIs
ICJzcmMiXSk7CisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJtb2RlIiwgInNyYyIsICJhcHBl
bmQiXSk7CisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJhcHBlbmQiLCAic3JjIiwgIm1vZGUi
XSk7CisgICAgICAgICAgICB0ZXN0Q29tbWFuZHMoWyJhcHBlbmQiLCAibW9kZSIsICJzcmMiXSk7
CisKKyAgICAgICAgICAgIC8vIFV0aWxpdGllcworCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
Q29tbWFuZHMoY29tbWFuZHMpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlICsgIiwgIiArIGNvbW1hbmRzLmpvaW4oIiAvICIp
KTsKKyAgICAgICAgICAgICAgICB0LnN0ZXAoZnVuY3Rpb24oKQorICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gQ3JlYXRlIHRoZSBkZWZhdWx0IDx0cmFjaz4gZWxlbWVudC4KKyAgICAgICAgICAgICAgICAg
ICAgdmFyIHRyYWNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHJhY2snKTsKKyAgICAgICAg
ICAgICAgICAgICAgdHJhY2sua2luZCA9ICJzdWJ0aXRsZXMiOworICAgICAgICAgICAgICAgICAg
ICAvLyBBZGQgdGhlICJsb2FkIiBldmVudCBsaXN0ZW5lci4KKyAgICAgICAgICAgICAgICAgICAg
dHJhY2suYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGV2ZW50
KQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBDbGVh
biB1cCBmb3IgbmV4dCB0ZXN0LgorICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW8ucmVtb3Zl
Q2hpbGQodHJhY2spOworCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgd2Ugb25s
eSBnb3QgdGhlIGV2ZW50IGFmdGVyIGFsbCBjb21tYW5kcyByYW4uCisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoY291bnQgPT09IGNvbW1hbmRzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgfSkpOworICAgICAgICAg
ICAgICAgICAgICAvLyBSdW4gZWFjaCBjb21tYW5kLgorICAgICAgICAgICAgICAgICAgICBjb21t
YW5kcy5mb3JFYWNoKGZ1bmN0aW9uKGNvbW1hbmQpCisgICAgICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CisgICAgICAgICAgICAgICAgICAgICAgICBy
dW5Db21tYW5kKHRyYWNrLCBjb21tYW5kKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICBmdW5jdGlvbiBy
dW5Db21tYW5kKHRyYWNrLCBjb21tYW5kKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGlmIChjb21tYW5kID09PSAic3JjIikKKyAgICAgICAgICAgICAgICAgICAgdHJhY2suc3JjID0g
ImRhdGE6dGV4dC92dHQsIiArIGVuY29kZVVSSUNvbXBvbmVudCgiV0VCVlRUXG5cbjAwOjAwOjAw
LjAwMCAtLT4gMDA6MDA6MDEuMDAwXG50ZXN0XG4iKTsKKworICAgICAgICAgICAgICAgIGlmIChj
b21tYW5kID09PSAibW9kZSIpCisgICAgICAgICAgICAgICAgICAgIHRyYWNrLnRyYWNrLm1vZGUg
PSAnaGlkZGVuJzsKKworICAgICAgICAgICAgICAgIGlmIChjb21tYW5kID09PSAiYXBwZW5kIikK
KyAgICAgICAgICAgICAgICAgICAgdmlkZW8uYXBwZW5kQ2hpbGQodHJhY2spOworICAgICAgICAg
ICAgfTsKKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3Rh
dGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVh
ZHlTdGF0ZS5odG1sCmluZGV4IGUyZDkwODY2YTA1OTkzZDNmN2Y4ZDk0OThiYzgzZjA2ZDQwNGQ3
YjMuLmNmZTBhYzA1ZjM2YWUxZTc5ZDRiNzM1MWNhMDBhYjhkYzc3NWUzZDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVhZHlTdGF0ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJvbS1zcmMtcmVh
ZHlTdGF0ZS5odG1sCkBAIC0yNCw3ICsyNCw3IEBACiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InRyYWNrLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50Lk5PTkUpOwogICAgICAgICAgICAg
dHJhY2suYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgdHJhY2tMb2FkZWQo
KTsgfSwgdHJ1ZSk7CiAgICAgICAgICAgICB0cmFjay5zcmMgPSAiY2FwdGlvbnMtd2VidnR0L3Rj
MDA0LXdlYnZ0dC1maWxlLnZ0dCI7ICAgCi0gICAgICAgICAgICB0cmFjay5tb2RlID0gImhpZGRl
biI7CisgICAgICAgICAgICB0cmFjay50cmFjay5tb2RlID0gImhpZGRlbiI7CiAKICAgICAgICAg
PC9zY3JpcHQ+CiAgICAgPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTRlMDViNmFmZDBlMTczMjQ0MmRmZjBkMDY1NjZhODYz
ZTFjNGU4OS4uNzhhNzhhYWRlZmZlY2I4ZGU2ZDJhNTgyODQ4MDhmNDEwODQ0MzllZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yOTcz
LDYgKzI5NzMsMTIgQEAgd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFj
ay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5
MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9u
dF9zaXplX3RyYW5zaXRpb24uaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRp
YS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZp
bF90aW1lc3RhbXAuaHRtbCBbIFNraXAgXQogCisjIEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2Iv
MTAzMjU4LCB0aGVzZSB0ZXN0cyBmYWlsIHdoZW4gdGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0
LgorIyBBdCBhbnkgcmF0ZSwgdGhlcmUgaXMgbm8gcmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVu
dCB0eXBlIG9mIGZhaWx1cmUuCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJh
L2ludGVyZmFjZXMvVGV4dFRyYWNrL2FkZEN1ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRp
bWUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVy
YS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9zdGFydFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiB3
ZWJraXQub3JnL2IvNzIyNzEgWyBTbm93TGVvcGFyZCBEZWJ1ZyBdIGZhc3QvZG9tL25vZGUtaXRl
cmF0b3ItcmVmZXJlbmNlLW5vZGUtbW92ZWQtY3Jhc2guaHRtbCBbIENyYXNoIFBhc3MgXQogCiB3
ZWJraXQub3JnL2IvNzIzNzYgWyBXaW4gXSBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1sYWJl
bC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMTg5Yjg2ODZjMGYwMWE0NGFiODM3ZTM3MmI1ZTg3YTQwODFiMzZlYi4u
YjdjMmU0MDYwNjczMzE5Yzc1NGFiNWE3ZmJlZTUyOGE2OWY5M2ZiNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc0MCw2ICs3NDAsMTIgQEAgd2Via2l0
Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUt
ZGF0YS90ZXN0cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEv
dHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9udF9zaXplX3RyYW5zaXRpb24uaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93
ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZpbF90aW1lc3RhbXAuaHRtbCBbIFNr
aXAgXQogCisjIEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2IvMTAzMjU4LCB0aGVzZSB0ZXN0cyBm
YWlsIHdoZW4gdGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0LgorIyBBdCBhbnkgcmF0ZSwgdGhl
cmUgaXMgbm8gcmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVudCB0eXBlIG9mIGZhaWx1cmUuCit3
ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNr
L2FkZEN1ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNr
L29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRpbWUuaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFj
a0N1ZS9zdGFydFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiB3ZWJraXQub3JnL2IvMTAwNjM2IFsg
RGVidWcgXSBqcXVlcnkvdHJhdmVyc2luZy5odG1sIFsgRmFpbHVyZSBDcmFzaCBQYXNzIF0KIAog
d2Via2l0Lm9yZy9iLzEwMjkyOCBzdmcvZm9yZWlnbk9iamVjdC92aWV3cG9ydC1mb3JlaWdub2Jq
ZWN0LWNyYXNoLmh0bWwgWyBDcmFzaCBGYWlsdXJlIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhMDVmYTA1ZTU3MjAyMjMxOTI5YTMzMjAwMDA5
MWVhZGRiOTFjNDMyLi44MzM1MzAxYmVhMzQ0Mjc1YTYwNWM2NDBhNTRkZmQzMDljZThlOWQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDUyLDYgKzQ1
MiwxMiBAQCB3ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0
dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3RyZWUtYgogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRp
YS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL2N1ZV9mb250X3NpemVf
dHJhbnNpdGlvbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNr
L29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2Mvdm9pY2Vfd2l0aF9ldmlsX3RpbWVz
dGFtcC5odG1sIFsgU2tpcCBdCiAKKyMgQWZ0ZXIgZml4aW5nIHdlYmtpdC5vcmcvYi8xMDMyNTgs
IHRoZXNlIHRlc3RzIGZhaWwgd2hlbiB0aGV5IHVzZWQgdG8gc2ltcGx5IHRpbWVvdXQuCisjIEF0
IGFueSByYXRlLCB0aGVyZSBpcyBubyByZWdyZXNzaW9uLCBqdXN0IGEgZGlmZmVyZW50IHR5cGUg
b2YgZmFpbHVyZS4KK3dlYmtpdC5vcmcvYi8xMDU1MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJm
YWNlcy9UZXh0VHJhY2svYWRkQ3VlLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1
MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvZW5kVGltZS5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVy
ZmFjZXMvVGV4dFRyYWNrQ3VlL3N0YXJ0VGltZS5odG1sIFsgRmFpbHVyZSBdCisKICMgTm8gc3Vw
cG9ydCBmb3IgZXhwb3NpbmcgaW4tYmFuZCB0ZXh0IHRyYWNrcwogd2Via2l0Lm9yZy9iLzEwMzc3
MSBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8xMDM3NzEgbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1jdWVzLWFkZGVkLW9uY2UuaHRtbCBb
IEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA0OTlkN2MxYTI5MzljNGU5OTkzYzdiMjAyMWNiNTk2ZDgzNWM3MzBlLi4yZTM1YTgxNjgzYmVl
MTNmODc0MjM1MWQ0YzBiNzdhODQwMGZiYjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDc3LDcgKzQ3Nyw2IEBAIG1lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAogWyBEZWJ1ZyBdIG1lZGlhL3ZpZGVv
LWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sCiAKICMgT3BlcmEtc3VibWl0dGVkIHRl
c3RzIHRvIFczQyBmb3IgPHRyYWNrPiwgYSBsb3Qgb2YgZmFpbHVyZXMgc3RpbGwuCi0jIE9wZXJh
LXN1Ym1pdHRlZCB0ZXN0cyB0byBXM0MgZm9yIDx0cmFjaz4sIGEgbG90IG9mIGZhaWx1cmVzIHN0
aWxsLgogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS9pZGwvbWVkaWEtaWRs
LXRlc3RzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3Bl
cmEvaW50ZXJmYWNlcy9IVE1MRWxlbWVudC9IVE1MTWVkaWFFbGVtZW50L2Nyb3NzT3JpZ2luLmh0
bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJm
YWNlcy9IVE1MRWxlbWVudC9IVE1MVHJhY2tFbGVtZW50L2tpbmQuaHRtbCBbIFNraXAgXQpAQCAt
NTExLDYgKzUxMCwxMiBAQCB3ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3Ry
YWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3RyZWUtYgogd2Via2l0Lm9yZy9iLzEw
MzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL2N1ZV9m
b250X3NpemVfdHJhbnNpdGlvbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTAzOTI2IG1l
ZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2Mvdm9pY2Vfd2l0aF9l
dmlsX3RpbWVzdGFtcC5odG1sIFsgU2tpcCBdCiAKKyMgQWZ0ZXIgZml4aW5nIHdlYmtpdC5vcmcv
Yi8xMDMyNTgsIHRoZXNlIHRlc3RzIGZhaWwgd2hlbiB0aGV5IHVzZWQgdG8gc2ltcGx5IHRpbWVv
dXQuCisjIEF0IGFueSByYXRlLCB0aGVyZSBpcyBubyByZWdyZXNzaW9uLCBqdXN0IGEgZGlmZmVy
ZW50IHR5cGUgb2YgZmFpbHVyZS4KK3dlYmtpdC5vcmcvYi8xMDU1MzYgbWVkaWEvdHJhY2svb3Bl
cmEvaW50ZXJmYWNlcy9UZXh0VHJhY2svYWRkQ3VlLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xMDU1MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvZW5k
VGltZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29w
ZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL3N0YXJ0VGltZS5odG1sIFsgRmFpbHVyZSBdCisK
ICMgVGVzdHMgZm9yIE1lZGlhU291cmNlIEFQSS4gRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9u
YWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczMQogaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCAyNzBlMzQ0ZTRlMDU2MjRhYTc0NDViNTdjMTMxNTIxMmM1MjQzZjZj
Li5kN2IxMTQzNTM5ODBhZjAwNTZjOWJjMGNjZjBmYzkzNDEyMmNmYTU1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkyNyw2ICs5MjcsMTIgQEAgd2Via2l0
Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUt
ZGF0YS90ZXN0cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEv
dHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9udF9zaXplX3RyYW5zaXRpb24uaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93
ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZpbF90aW1lc3RhbXAuaHRtbCBbIFNr
aXAgXQogCisjIEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2IvMTAzMjU4LCB0aGVzZSB0ZXN0cyBm
YWlsIHdoZW4gdGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0LgorIyBBdCBhbnkgcmF0ZSwgdGhl
cmUgaXMgbm8gcmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVudCB0eXBlIG9mIGZhaWx1cmUuCit3
ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNr
L2FkZEN1ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNr
L29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRpbWUuaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFj
a0N1ZS9zdGFydFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zODM3NgogbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8tc2l6
ZS5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
OGZlZjVkMWQ3ZWM0Y2UyZTM3MDM2YzMwNzU2NGM0NGE1OGY5Y2JmYi4uZTkxY2YzNzY1NDBjNjkz
ZmYxOTRjNmUzMGQzZTkxZjVhNjNiNmJmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTE1ODUsNiArMTU4NSwxMiBAQCB3ZWJraXQub3JnL2IvMTAzOTI2
IG1lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3Ry
ZWUtYgogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQv
cmVuZGVyaW5nL2FkaG9jL2N1ZV9mb250X3NpemVfdHJhbnNpdGlvbi5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJp
bmcvYWRob2Mvdm9pY2Vfd2l0aF9ldmlsX3RpbWVzdGFtcC5odG1sIFsgU2tpcCBdCiAKKyMgQWZ0
ZXIgZml4aW5nIHdlYmtpdC5vcmcvYi8xMDMyNTgsIHRoZXNlIHRlc3RzIGZhaWwgd2hlbiB0aGV5
IHVzZWQgdG8gc2ltcGx5IHRpbWVvdXQuCisjIEF0IGFueSByYXRlLCB0aGVyZSBpcyBubyByZWdy
ZXNzaW9uLCBqdXN0IGEgZGlmZmVyZW50IHR5cGUgb2YgZmFpbHVyZS4KK3dlYmtpdC5vcmcvYi8x
MDU1MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2svYWRkQ3VlLmh0bWwg
WyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJm
YWNlcy9UZXh0VHJhY2tDdWUvZW5kVGltZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2Iv
MTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL3N0YXJ0VGlt
ZS5odG1sIFsgRmFpbHVyZSBdCisKICMgVGVzdHMgZm9yIE1lZGlhU291cmNlIEFQSS4gRmVhdHVy
ZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NDczMQogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvCg==
</data>
<flag name="commit-queue"
          id="197583"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180350</attachid>
            <date>2012-12-20 09:15:23 -0800</date>
            <delta_ts>2012-12-20 10:30:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103258-20121220181238.patch</filename>
            <type>text/plain</type>
            <size>27500</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVhMWI3OTRlMzQ5ZjA3
YzY5Y2RjMTQ4ODAzM2UxOTMzNjRjOTRkMi4uNTQ4ZjQwNTYyMzNiZjA5MDNhMWI3ZDYxY2Y4NmRl
MThhYmU0OTlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTIwICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgb25sb2FkIGNhbGxiYWNr
IGZvciA8dHJhY2s+IGVsZW1lbnQgYXR0YWNoZWQgdG8gPHZpZGVvPiBkb2VzIG5vdCBmaXJlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBub3cgY29y
cmVjdGx5IGltcGxlbWVudCB0aGUgdHJhY2sgcHJvY2Vzc2luZyBtb2RlbCBwZXIgdGhlIGxhdGVz
dCBzcGVjIGF0CisgICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS12aWRlby1lbGVtZW50Lmh0bWwjc3RhcnQtdGhlLXRy
YWNrLXByb2Nlc3NpbmctbW9kZWwuCisgICAgICAgIAorICAgICAgICBGb3IgYSA8dHJhY2s+IHRv
IGxvYWQsIHRocmVlIGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQ6CisgICAgICAgIAorICAgICAgICAx
LiBpdCBtdXN0IGhhdmUgYSBub24tZW1wdHkgc3JjCisgICAgICAgIDIuIGl0IG11c3QgaGF2ZSBh
IG1vZGUgb3RoZXIgdGhhbiAiZGlzYWJsZWQiICh0aGUgZGVmYXVsdCkKKyAgICAgICAgMy4gaXQg
bXVzdCBoYXZlIGEgcGFyZW50IG1lZGlhIGVsZW1lbnQKKyAgICAgICAgCisgICAgICAgIFdlIHVz
ZWQgdG8gb25seSBjaGVjayBpZiB3ZSB3ZXJlIGFibGUgdG8gbG9hZCB1cG9uIHNldHRpbmcgdGhl
IHRyYWNrJ3Mgc3JjLAorICAgICAgICB3aGVyZWFzIGEgY2hhbmdlIG9mIGFueSBvZiB0aG9zZSBj
b25kaXRpb25zIHNob3VsZCBoYXZlIGRvbmUgdGhpcywgd2hpY2ggdGhpcworICAgICAgICBwYXRj
aCBub3cgY29ycmVjdGx5IGltcGxlbWVudHMuCisgICAgICAgIAorICAgICAgICBXZSBhbHNvIGNv
cnJlY3RseSBpbXBsZW1lbnQgdGhlIGxvYWQgbW9kZWwgYXN5bmNocm9ub3VzbHkgYWZ0ZXIgc3Rl
cCA0LCBwZXIKKyAgICAgICAgdGhlIHNwZWMsIGhlbmNlIHRoZSBzcGxpdCBvZiB0aGUgY29kZSBw
cmV2aW91c2x5IGVudGlyZWx5IGNvbnRhaW5lZCBpbgorICAgICAgICBIVE1MVHJhY2tFbGVtZW50
OjpzY2hlZHVsZUxvYWQoKSBpbiBhbm90aGVyIG1ldGhvZCBmaXJlZCBvbiBhIHRpbWVyLgorCisg
ICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtbG9hZC1ldmVudC5odG1sCisK
KyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrTW9kZUNoYW5nZWQpOgorICAgICAgICAqIGh0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50
OjpIVE1MVHJhY2tFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6
Omluc2VydGVkSW50byk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVs
ZUxvYWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tF
bGVtZW50Ojpsb2FkVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVt
ZW50Ojp0ZXh0VHJhY2tNb2RlQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVt
ZW50Lmg6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2suY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrOjpyZW1vdmVBbGxDdWVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrLmg6CisgICAgICAgIChUZXh0VHJhY2spOgorCiAy
MDEyLTEyLTE5ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbU2hhZG93XSBUSVRMRSBlbGVtZW50cyBpbiBTaGFkb3cgRE9NIHNob3VsZCBub3QgYWZmZWN0
IGRvY3VtZW50LnRpdGxlIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggYzA0MDVjMjAyNDdjMTE4NGE0ZGRmNzUyM2I4NDEzZTliMjYxMWZhNC4u
ZDMxOGJhYWFhMDJlZTJkMzc4OWM3MmZlMjhlMjE0Y2ViMjM2NDg1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMzMyLDggKzEzMzIsNiBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiAg
ICAgICAgICAgICBpZiAodHJhY2stPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29y
ZCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWNrRWxlbWVudC0+cmVhZHlTdGF0ZSgpID09
IEhUTUxUcmFja0VsZW1lbnQ6OkxPQURFRCkKICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYWNr
QWRkQ3Vlcyh0cmFjaywgdHJhY2stPmN1ZXMoKSk7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAo
dHJhY2tFbGVtZW50LT5yZWFkeVN0YXRlKCkgPT0gSFRNTFRyYWNrRWxlbWVudDo6Tk9ORSkKLSAg
ICAgICAgICAgICAgICAgICAgdHJhY2tFbGVtZW50LT5zY2hlZHVsZUxvYWQoKTsKIAogICAgICAg
ICAgICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IGFkZGVkIHRyYWNrLCBjcmVhdGUgdGhl
IGxpc3Qgb2YgdGV4dCB0cmFja3MuCiAgICAgICAgICAgICAgICAgaWYgKCFtX3RleHRUcmFja3Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCBjZDk5ZGM0NWZl
NDMxMDNkYzgyMTAyYzUwNTY5ZDE4ZmNmZjgxN2JmLi44OWU3MTUyZTliNDgxYjk4NmQ2ZGJlMTlk
ZjhlY2VjZjMyNWI1YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFj
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5j
cHAKQEAgLTU2LDYgKzU2LDcgQEAgc3RhdGljIFN0cmluZyB1cmxGb3JMb2dnaW5nVHJhY2soY29u
c3QgS1VSTCYgdXJsKQogICAgIAogaW5saW5lIEhUTUxUcmFja0VsZW1lbnQ6OkhUTUxUcmFja0Vs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQog
ICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgLCBtX2xvYWRUaW1lcih0
aGlzLCAmSFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQpCiB7CiAgICAgTE9HKE1lZGlh
LCAiSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRyYWNrRWxlbWVudCAtICVwIiwgdGhpcyk7CiAgICAg
QVNTRVJUKGhhc1RhZ05hbWUodHJhY2tUYWcpKTsKQEAgLTc0LDYgKzc1LDkgQEAgUGFzc1JlZlB0
cjxIVE1MVHJhY2tFbGVtZW50PiBIVE1MVHJhY2tFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmEKIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBIVE1M
VHJhY2tFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQp
CiB7CisgICAgLy8gU2luY2Ugd2UndmUgbW92ZWQgdG8gYSBuZXcgcGFyZW50LCB3ZSBtYXkgbm93
IGJlIGFibGUgdG8gbG9hZC4KKyAgICBzY2hlZHVsZUxvYWQoKTsKKwogICAgIEhUTUxFbGVtZW50
OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOwogICAgIEhUTUxNZWRpYUVsZW1lbnQqIHBh
cmVudCA9IG1lZGlhRWxlbWVudCgpOwogICAgIGlmIChpbnNlcnRpb25Qb2ludCA9PSBwYXJlbnQp
CkBAIC05MiwxMCArOTYsMTMgQEAgdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHIKIHsKICAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Via2l0VmlkZW9UcmFja0VuYWJsZWQoKSkgewogICAg
ICAgICBpZiAobmFtZSA9PSBzcmNBdHRyKSB7Ci0gICAgICAgICAgICBpZiAoIXZhbHVlLmlzRW1w
dHkoKSAmJiBtZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbXB0eSgp
KQogICAgICAgICAgICAgICAgIHNjaGVkdWxlTG9hZCgpOwotICAgICAgICAgICAgLy8gNC44LjEw
LjEyLjMgU291cmNpbmcgb3V0LW9mLWJhbmQgdGV4dCB0cmFja3MKLSAgICAgICAgICAgIC8vIEFz
IHRoZSBraW5kLCBsYWJlbCwgYW5kIHNyY2xhbmcgYXR0cmlidXRlcyBhcmUgc2V0LCBjaGFuZ2Vk
LCBvciByZW1vdmVkLCB0aGUgdGV4dCB0cmFjayBtdXN0IHVwZGF0ZSBhY2NvcmRpbmdseS4uLgor
ICAgICAgICAgICAgZWxzZSBpZiAobV90cmFjaykKKyAgICAgICAgICAgICAgICBtX3RyYWNrLT5y
ZW1vdmVBbGxDdWVzKCk7CisKKyAgICAgICAgLy8gNC44LjEwLjEyLjMgU291cmNpbmcgb3V0LW9m
LWJhbmQgdGV4dCB0cmFja3MKKyAgICAgICAgLy8gQXMgdGhlIGtpbmQsIGxhYmVsLCBhbmQgc3Jj
bGFuZyBhdHRyaWJ1dGVzIGFyZSBzZXQsIGNoYW5nZWQsIG9yIHJlbW92ZWQsIHRoZSB0ZXh0IHRy
YWNrIG11c3QgdXBkYXRlIGFjY29yZGluZ2x5Li4uCiAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9
PSBraW5kQXR0cikKICAgICAgICAgICAgIHRyYWNrKCktPnNldEtpbmQodmFsdWUubG93ZXIoKSk7
CiAgICAgICAgIGVsc2UgaWYgKG5hbWUgPT0gbGFiZWxBdHRyKQpAQCAtMTg4LDIxICsxOTUsMzkg
QEAgYm9vbCBIVE1MVHJhY2tFbGVtZW50Ojppc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUm
IGF0dHJpYnV0ZSkgY29uc3QKIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQo
KQogeworICAgIC8vIDEuIElmIGFub3RoZXIgb2NjdXJyZW5jZSBvZiB0aGlzIGFsZ29yaXRobSBp
cyBhbHJlYWR5IHJ1bm5pbmcgZm9yIHRoaXMgdGV4dCB0cmFjayBhbmQgaXRzIHRyYWNrIGVsZW1l
bnQsCisgICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMsIGxldHRpbmcgdGhhdCBvdGhlciBhbGdvcml0
aG0gdGFrZSBjYXJlIG9mIHRoaXMgZWxlbWVudC4KKyAgICBpZiAobV9sb2FkVGltZXIuaXNBY3Rp
dmUoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVz
Ojp3ZWJraXRWaWRlb1RyYWNrRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyAy
LiBJZiB0aGUgdGV4dCB0cmFjaydzIHRleHQgdHJhY2sgbW9kZSBpcyBub3Qgc2V0IHRvIG9uZSBv
ZiBoaWRkZW4gb3Igc2hvd2luZywgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKGVuc3VyZVRy
YWNrKCktPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQoKSAmJiBlbnN1cmVUcmFj
aygpLT5tb2RlKCkgIT0gVGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCgpKQorICAgICAgICByZXR1
cm47CisKKyAgICAvLyAzLiBJZiB0aGUgdGV4dCB0cmFjaydzIHRyYWNrIGVsZW1lbnQgZG9lcyBu
b3QgaGF2ZSBhIG1lZGlhIGVsZW1lbnQgYXMgYSBwYXJlbnQsIGFib3J0IHRoZXNlIHN0ZXBzLgog
ICAgIGlmICghbWVkaWFFbGVtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIDQuIFJ1
biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBzIGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3
aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8gcnVuIHRvIGNvbnRpbnVlLgorICAgIG1fbG9h
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2Fk
VGltZXJGaXJlZChUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiopCit7CiAgICAgaWYgKCFmYXN0SGFz
QXR0cmlidXRlKHNyY0F0dHIpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyA0LjguMTAuMTIu
MyBTb3VyY2luZyBvdXQtb2YtYmFuZCB0ZXh0IHRyYWNrcwotCi0gICAgLy8gMS4gU2V0IHRoZSB0
ZXh0IHRyYWNrIHJlYWRpbmVzcyBzdGF0ZSB0byBsb2FkaW5nLgorICAgIC8vIDYuIFNldCB0aGUg
dGV4dCB0cmFjayByZWFkaW5lc3Mgc3RhdGUgdG8gbG9hZGluZy4KICAgICBzZXRSZWFkeVN0YXRl
KEhUTUxUcmFja0VsZW1lbnQ6OkxPQURJTkcpOwogCisgICAgLy8gNy4gTGV0IFVSTCBiZSB0aGUg
dHJhY2sgVVJMIG9mIHRoZSB0cmFjayBlbGVtZW50LgogICAgIEtVUkwgdXJsID0gZ2V0Tm9uRW1w
dHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7CisKKyAgICAvLyA4LiBJZiB0aGUgdHJhY2sgZWxlbWVu
dCdzIHBhcmVudCBpcyBhIG1lZGlhIGVsZW1lbnQgdGhlbiBsZXQgQ09SUyBtb2RlIGJlIHRoZSBz
dGF0ZSBvZiB0aGUgcGFyZW50IG1lZGlhCisgICAgLy8gZWxlbWVudCdzIGNyb3Nzb3JpZ2luIGNv
bnRlbnQgYXR0cmlidXRlLiBPdGhlcndpc2UsIGxldCBDT1JTIG1vZGUgYmUgTm8gQ09SUy4KICAg
ICBpZiAoIWNhbkxvYWRVcmwodXJsKSkgewogICAgICAgICBkaWRDb21wbGV0ZUxvYWQoZW5zdXJl
VHJhY2soKSwgSFRNTFRyYWNrRWxlbWVudDo6RmFpbHVyZSk7CiAgICAgICAgIHJldHVybjsKQEAg
LTMwMiw2ICszMjcsMTAgQEAgdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojp0ZXh0VHJhY2tLaW5kQ2hh
bmdlZChUZXh0VHJhY2sqIHRyYWNrKQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnRleHRUcmFj
a01vZGVDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiB7CisgICAgLy8gU2luY2Ugd2UndmUgbW92
ZWQgdG8gYSBuZXcgcGFyZW50LCB3ZSBtYXkgbm93IGJlIGFibGUgdG8gbG9hZC4KKyAgICBpZiAo
cmVhZHlTdGF0ZSgpID09IEhUTUxUcmFja0VsZW1lbnQ6Ok5PTkUpCisgICAgICAgIHNjaGVkdWxl
TG9hZCgpOworCiAgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIHBhcmVudCA9IG1lZGlhRWxlbWVu
dCgpKQogICAgICAgICByZXR1cm4gcGFyZW50LT50ZXh0VHJhY2tNb2RlQ2hhbmdlZCh0cmFjayk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCmluZGV4IDFiNjU5ZmY1Mjcx
OWZmMTk1YWYzN2VjNTM4N2NkNDUwNjc4OWUxZmQuLjRiNDVhZGZlYjBjMGQ0OGZmZjA1YWM1OWU0
M2VlMzVmM2U3MDk2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNr
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCkBA
IC03OSw2ICs3OSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENv
bnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUo
Y29uc3QgQXR0cmlidXRlJikgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2b2lkIGxvYWRUaW1lckZp
cmVkKFRpbWVyPEhUTUxUcmFja0VsZW1lbnQ+Kik7CisKICNpZiBFTkFCTEUoTUlDUk9EQVRBKQog
ICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1WYWx1ZVRleHQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0SXRlbVZhbHVlVGV4dChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2Rl
JikgT1ZFUlJJREU7CkBAIC05OCw2ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBjYW5Mb2FkVXJsKGNvbnN0IEtVUkwmKTsKIAogICAgIFJlZlB0cjxMb2FkYWJsZVRleHRUcmFj
az4gbV90cmFjazsKKyAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAppbmRleCBmNjA4NTYz
MDc4ZGQzMmMxNjlmMDcyMjllYzVhYjU2ODEyOTcyYzc0Li41ZGI0OTI0NzU2ODYwYzk0MWM1N2M4
OTI2ZDQyMTAzYmM3MjBjZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2su
Y3BwCkBAIC0yMDEsNiArMjAxLDIwIEBAIFRleHRUcmFja0N1ZUxpc3QqIFRleHRUcmFjazo6Y3Vl
cygpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgVGV4dFRyYWNrOjpyZW1vdmVBbGxDdWVzKCkK
K3sKKyAgICBpZiAoIW1fY3VlcykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY2xpZW50
KQorICAgICAgICBtX2NsaWVudC0+dGV4dFRyYWNrUmVtb3ZlQ3Vlcyh0aGlzLCBtX2N1ZXMuZ2V0
KCkpOworICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jdWVzLT5sZW5ndGgoKTsg
KytpKQorICAgICAgICBtX2N1ZXMtPml0ZW0oaSktPnNldFRyYWNrKDApOworICAgIAorICAgIG1f
Y3VlcyA9IDA7Cit9CisKIFRleHRUcmFja0N1ZUxpc3QqIFRleHRUcmFjazo6YWN0aXZlQ3Vlcygp
IGNvbnN0CiB7CiAgICAgLy8gNC44LjEwLjEyLjUgSWYgdGhlIHRleHQgdHJhY2sgbW9kZSAuLi4g
aXMgbm90IHRoZSB0ZXh0IHRyYWNrIGRpc2FibGVkIG1vZGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2suaAppbmRleCA2MzUwM2RhNTBiMmVkMTg1M2M1OGM2YTUzMjhiZTU5Yjc2MGUx
MzcxLi44ODkzYWVkMjc4MjA5OWU5MWRiN2I3NTJhYzRlZTY0OTExYWVmMTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGlzRGVmYXVsdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCB2b2lkIHNldElzRGVmYXVsdChib29sKSB7IH0KIAorICAgIHZvaWQgcmVtb3ZlQWxs
Q3VlcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgVGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBUZXh0VHJhY2tDbGllbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIGtpbmQsIGNvbnN0IEF0
b21pY1N0cmluZyYgbGFiZWwsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIFRleHRUcmFj
a1R5cGUpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYjNjOTM2ODg0OGU1NDJlZTYxOTA3MTM0ZjRiNzY3NTM0MWU0Mzhl
NS4uZWQ3YjA1NzQ3M2I3YmVmNjRiYmJhM2E2YWZkMzYxN2RlZThhMTM3MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM2IEBACisyMDEyLTEyLTIwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CisKKyAgICAgICAgb25sb2FkIGNhbGxiYWNrIGZvciA8dHJhY2s+IGVsZW1lbnQgYXR0YWNoZWQg
dG8gPHZpZGVvPiBkb2VzIG5vdCBmaXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDMyNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBcyBhIHJlc3VsdCBvZiBmaXhpbmcgdGhpcyBidWcsIGEgZmV3IG5l
dyBmYWlsdXJlcyB3ZXJlIHVuY292ZXJlZCBhbmQgVGVzdEV4cGVjdGF0aW9ucworICAgICAgICBu
ZWVkZWQgdG8gYmUgdXBkYXRlZCB0byB0YWtlIHRoaXMgaW50byBhY2NvdW50LiBBZGRpdGlvbmFs
bHksIHNvbWUgZXhpc3RpbmcgdGVzdHMgd2VyZQorICAgICAgICBpbmNvcnJlY3Qgb3Igb3V0ZGF0
ZWQgYW5kIHdlcmUgZml4ZWQgYXMgd2VsbC4gRmluYWxseSwgYSBuZXcgdGVzdCB3YXMgYWRkZWQg
dG8gdGhvcm91Z2hseQorICAgICAgICB0ZXN0IHRoZSB2YXJpb3VzIGNvbmRpdGlvbnMgcmVxdWly
ZWQgZm9yIGEgPHRyYWNrPiBlbGVtZW50IHRvIHN1Y2Nlc3NmdWxseSBsb2FkLgorCisgICAgICAg
ICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6
IFVwZGF0ZSB0aGUgdGVzdCB0byBjb3JyZWN0bHkgc2V0CisgICAgICAgIGEgbm9uLWRpc2FibGVk
IG1vZGUgb24gdGhlIHRleHQgdHJhY2sgc3VjaCB0aGF0IGl0IG1heSBsb2FkIHBlciB0aGUgcnVs
ZXMgZW5mb3JjZWQgd2l0aCB0aGlzIHBhdGNoLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvdGV4dC10cmFjay1jcm9zc29yaWdpbi5odG1sOiBVcGRhdGUgdGhlIHRlc3QgdG8gY29ycmVj
dGx5IHNldCBhIG5vbi1kaXNhYmxlZAorICAgICAgICBtb2RlIG9uIHRoZSB0ZXh0IHRyYWNrIHN1
Y2ggdGhhdCBpdCBtYXkgbG9hZCBwZXIgdGhlIHJ1bGVzIGVuZm9yY2VkIHdpdGggdGhpcyBwYXRj
aC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1hZGQtdHJhY2stZXhwZWN0ZWQudHh0OiBV
cGRhdGUgdGhlIG91dHB1dCB0byBtYXRjaCBjaGFuZ2VzIG1hZGUgdG8gdGVzdC4KKyAgICAgICAg
KiBtZWRpYS90cmFjay90cmFjay1hZGQtdHJhY2suaHRtbDogVXBkYXRlIHRoZSB0ZXN0IHRvIGNv
cnJlY3RseSBzZXQgYSBub24tZGlzYWJsZWQgbW9kZSBvbgorICAgICAgICB0aGUgdGV4dCB0cmFj
ayBzdWNoIHRoYXQgaXQgbWF5IGxvYWQgcGVyIHRoZSBydWxlcyBlbmZvcmNlZCB3aXRoIHRoaXMg
cGF0Y2guIEFsc28sIGVuc3VyZQorICAgICAgICB0aGUgLnJlYWR5U3RhdGUgb2YgdGhlIHRleHQg
dHJhY2sgaXMgY29ycmVjdGx5IGFzc3VtZWQgdG8gYmUgTk9ORSB2cy4gTE9BRElORyBhcyBpdCB3
b3VsZAorICAgICAgICBoYXZlIHRvIHdhaXQgdW50aWwgdGhlIG5leHQgcnVuIGxvb3AgdG8gYmUg
Y2hhbmdlZCB0byBhbnl0aGluZyBidXQgTk9ORS4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFj
ay1lbGVtZW50LWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRp
YS90cmFjay90cmFjay1lbGVtZW50LWxvYWQtZXZlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWw6IFVwZGF0ZSB0
aGUgdGVzdCB0byBjb3JyZWN0bHkgc2V0IGEKKyAgICAgICAgbm9uLWRpc2FibGVkIG1vZGUgb24g
dGhlIHRleHQgdHJhY2sgc3VjaCB0aGF0IGl0IG1heSBsb2FkIHBlciB0aGUgcnVsZXMgZW5mb3Jj
ZWQgd2l0aAorICAgICAgICB0aGlzIHBhdGNoLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0ZWFkIG9mIHRp
bWluZyBvdXQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAg
dGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0ZWFkIG9mIHRpbWluZyBvdXQuCisgICAgICAgICogcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0
ZWFkIG9mIHRpbWluZyBvdXQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnM6IFNraXAgdGVzdHMgdGhhdCBub3cgZmFpbCBpbnN0ZWFkIG9mIHRpbWluZyBvdXQuCisgICAg
ICAgICogcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB0aGF0IG5vdyBm
YWlsIGluc3RlYWQgb2YgdGltaW5nIG91dC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9uczogU2tpcCB0ZXN0cyB0aGF0IG5vdyBmYWlsIGluc3RlYWQgb2YgdGltaW5nIG91
dC4KKwogMjAxMi0xMi0xOSAgVGFrYXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgW1NoYWRvd10gVElUTEUgZWxlbWVudHMgaW4gU2hhZG93IERPTSBzaG91bGQgbm90
IGFmZmVjdCBkb2N1bWVudC50aXRsZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy90cmFjay1ldmVudC1jb25zdHJ1Y3Rvci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVj
dG9yLmh0bWwKaW5kZXggNTk3MzZiNTU1NDAxN2UxN2Q0ODMzNzMwNzZhOGQ3NTljOTQxYTk2MC4u
YjY5ZDAxZTkyYTA1NmExMjY5NjEwY2Y2ZTc5NTZiOGFkYTkxZjQ0OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2ZW50LWNvbnN0cnVjdG9y
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNrLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTU1LDYgKzU1LDcgQEAKIAogICAgICAgICB0cmFja0Vs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cmFjaycpOwogICAgICAgICB2aWRlby5h
cHBlbmRDaGlsZCh0cmFja0VsZW1lbnQpOworICAgICAgICB0cmFja0VsZW1lbnQudHJhY2subW9k
ZSA9ICJoaWRkZW4iOwogICAgICAgICB0cmFja0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHRlc3QpOwogICAgICAgICB0cmFja0VsZW1lbnQuc3JjPSdkYXRhOnRleHQvdnR0LFdFQlZU
VCBGSUxFIFxyXHIxXHIwMDowMDowMC4wMDAgLS0+IDAwOjAwOjMwLjUwMFxyb25seSBvbmUgY2Fw
dGlvbic7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvdGV4
dC10cmFjay1jcm9zc29yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKaW5kZXggNjlkODU3ODAzOGE4YzIxOTFhYjQx
MzRjMjYyOGQwNDYyNmU4NDM2OC4uZjlkN2YwMjVkN2JiMTY1ZTgzYWNkYmYyOTMwMmFjYWZiZWFh
MmQyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRy
YWNrLWNyb3Nzb3JpZ2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwKQEAgLTc5LDYgKzc5LDcgQEAKICAgICAgICAg
ICAgIGZ1bmN0aW9uIHN0YXJ0KCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB0cmFj
a0VsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cmFjaycpWzBdOworICAgICAg
ICAgICAgICAgIHRyYWNrRWxlbWVudC50cmFjay5tb2RlID0gImhpZGRlbiI7CiAgICAgICAgICAg
ICAgICAgbG9nKCdMb2FkaW5nIDxiPndpdGhvdXQ8L2I+IEFjY2Vzcy1Db250cm9sLUFsbG93LU9y
aWdpbiBoZWFkZXIsIG5vICJjcm9zc29yaWdpbiIgYXR0cmlidXRlIG9uICZsdDt2aWRlbyZndDsn
KTsKICAgICAgICAgICAgICAgICB2YXIgdXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvY2FwdGlvbnMtd2l0aC1hY2Nlc3MtY29udHJvbC1oZWFkZXJzLnBocCIK
ICAgICAgICAgICAgICAgICB0cmFja0VsZW1lbnQuc2V0QXR0cmlidXRlKCdzcmMnLCB1cmwpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWFkZC10cmFjay1leHBlY3Rl
ZC50eHQKaW5kZXggYTJiOGFiNTViMjg1MzgzY2JkNzg0ZmE2ZWRmOTBhZDZiYTAxMDI5YS4uZmRi
MzUxZDY4NGYyZTA3ODE5Y2M0NjdmMmEzNDQ1MzU0OGFmYWMyOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1hZGQtdHJhY2stZXhwZWN0ZWQudHh0CkBAIC00LDgg
KzQsOSBAQCBUZXN0cyB0aGF0IHRoZSAnYWRkdHJhY2snIGV2ZW50IGlzIGZpcmVkIHdoZW4gYSBU
ZXh0VHJhY2sgaXMgY3JlYXRlZC4KIFJVTih0cmFja0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCd0cmFjaycpKQogUlVOKHZpZGVvLmFwcGVuZENoaWxkKHRyYWNrRWxlbWVudCkpCiBS
VU4odHJhY2tFbGVtZW50LnNyYyA9ICdjYXB0aW9ucy13ZWJ2dHQvdGMwMDQtd2VidnR0LWZpbGUu
dnR0JykKK1JVTih0cmFja0VsZW1lbnQudHJhY2subW9kZSA9ICdoaWRkZW4nKQogRVhQRUNURUQg
KHZpZGVvLnRleHRUcmFja3MubGVuZ3RoID09ICcxJykgT0sKLUVYUEVDVEVEICh0cmFja0VsZW1l
bnQucmVhZHlTdGF0ZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAodHJhY2tFbGVtZW50LnJlYWR5U3Rh
dGUgPT0gJzAnKSBPSwogRVZFTlQoYWRkdHJhY2spCiBFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09
ICdbb2JqZWN0IFRleHRUcmFja0xpc3RdJykgT0sKIEVYUEVDVEVEIChldmVudCBpbnN0YW5jZW9m
IHdpbmRvdy5UcmFja0V2ZW50ID09ICd0cnVlJykgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLWFkZC10cmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stYWRkLXRyYWNrLmh0bWwKaW5kZXggZTExOGM1OWVlMTY0M2FjNDdlY2E3NWE0MThj
NzdlMmZkNGVhMzZiOS4uYTAxY2MzYzlhYjIyMzQ2MzhhZGM3YTI0NTU5MDE5MTg0NWM1MzFhZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stYWRkLXRyYWNrLmh0bWwKQEAgLTQx
LDggKzQxLDkgQEAKICAgICAgICAgICAgICAgICB2aWRlby50ZXh0VHJhY2tzLmFkZEV2ZW50TGlz
dGVuZXIoImFkZHRyYWNrIiwgdHJhY2tBZGRlZCk7CiAKICAgICAgICAgICAgICAgICBydW4oInRy
YWNrRWxlbWVudC5zcmMgPSAnY2FwdGlvbnMtd2VidnR0L3RjMDA0LXdlYnZ0dC1maWxlLnZ0dCci
KTsKKyAgICAgICAgICAgICAgICBydW4oInRyYWNrRWxlbWVudC50cmFjay5tb2RlID0gJ2hpZGRl
biciKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3MubGVu
Z3RoIiwgMSk7Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFja0VsZW1lbnQucmVh
ZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTE9BRElORyk7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJ0cmFja0VsZW1lbnQucmVhZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTk9O
RSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWxvYWQtZXZlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1sb2FkLWV2ZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jYjJiNzk2M2JmNjc1MzVhYjViNzJkZTM1M2Y4NTBhYzZjYzQ5
NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxl
bWVudC1sb2FkLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKyAKK1BBU1MgTG9h
ZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgc3JjIC8gbW9kZSAvIGFwcGVuZCAKK1BBU1Mg
TG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgc3JjIC8gYXBwZW5kIC8gbW9kZSAKK1BB
U1MgTG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgbW9kZSAvIGFwcGVuZCAvIHNyYyAK
K1BBU1MgTG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgbW9kZSAvIHNyYyAvIGFwcGVu
ZCAKK1BBU1MgTG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgYXBwZW5kIC8gc3JjIC8g
bW9kZSAKK1BBU1MgTG9hZCBldmVudCBvbiB0aGUgdHJhY2sgZWxlbWVudCwgYXBwZW5kIC8gbW9k
ZSAvIHNyYyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxl
bWVudC1sb2FkLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1lbGVt
ZW50LWxvYWQtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGVkMTAyYmVmYjExYmJmODRhNTc0ZDQ5
ZWZkY2JjZmEwYWYxOGFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stZWxlbWVudC1sb2FkLWV2ZW50Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkxvYWQgZXZlbnQg
b24gdGhlIHRyYWNrIGVsZW1lbnQ8L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9o
ZWFkPgorICAgIDxib2R5PgorICAgICAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKKyAgICAgICAgICAgIHZhciB2aWRlbzsK
KworICAgICAgICAgICAgLy8gU2V0dXAKKworICAgICAgICAgICAgc2V0dXAoZnVuY3Rpb24oKXsK
KyAgICAgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CisgICAg
ICAgICAgICB9LCB7dGltZW91dDogNTAwMH0pOworCisgICAgICAgICAgICAvLyBUZXN0cworICAg
ICAgICAgICAgdGVzdENvbW1hbmRzKFsic3JjIiwgIm1vZGUiLCAiYXBwZW5kIl0pOworICAgICAg
ICAgICAgdGVzdENvbW1hbmRzKFsic3JjIiwgImFwcGVuZCIsICJtb2RlIl0pOworICAgICAgICAg
ICAgdGVzdENvbW1hbmRzKFsibW9kZSIsICJhcHBlbmQiLCAic3JjIl0pOworICAgICAgICAgICAg
dGVzdENvbW1hbmRzKFsibW9kZSIsICJzcmMiLCAiYXBwZW5kIl0pOworICAgICAgICAgICAgdGVz
dENvbW1hbmRzKFsiYXBwZW5kIiwgInNyYyIsICJtb2RlIl0pOworICAgICAgICAgICAgdGVzdENv
bW1hbmRzKFsiYXBwZW5kIiwgIm1vZGUiLCAic3JjIl0pOworCisgICAgICAgICAgICAvLyBVdGls
aXRpZXMKKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdENvbW1hbmRzKGNvbW1hbmRzKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhciB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50
aXRsZSArICIsICIgKyBjb21tYW5kcy5qb2luKCIgLyAiKSk7CisgICAgICAgICAgICAgICAgdC5z
dGVwKGZ1bmN0aW9uKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBjb3VudCA9IDA7CisgICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgZGVmYXVsdCA8
dHJhY2s+IGVsZW1lbnQuCisgICAgICAgICAgICAgICAgICAgIHZhciB0cmFjayA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3RyYWNrJyk7CisgICAgICAgICAgICAgICAgICAgIHRyYWNrLmtpbmQg
PSAic3VidGl0bGVzIjsKKyAgICAgICAgICAgICAgICAgICAgLy8gQWRkIHRoZSAibG9hZCIgZXZl
bnQgbGlzdGVuZXIuCisgICAgICAgICAgICAgICAgICAgIHRyYWNrLmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCB0LnN0ZXBfZnVuYyhmdW5jdGlvbihldmVudCkKKyAgICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYW4gdXAgZm9yIG5leHQgdGVzdC4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZpZGVvLnJlbW92ZUNoaWxkKHRyYWNrKTsKKworICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gRW5zdXJlIHdlIG9ubHkgZ290IHRoZSBldmVudCBhZnRlciBh
bGwgY29tbWFuZHMgcmFuLgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSBj
b21tYW5kcy5sZW5ndGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5kb25lKCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0pKTsKKyAgICAgICAgICAgICAgICAgICAgLy8gUnVuIGVhY2gg
Y29tbWFuZC4KKyAgICAgICAgICAgICAgICAgICAgY29tbWFuZHMuZm9yRWFjaChmdW5jdGlvbihj
b21tYW5kKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
b3VudCsrOworICAgICAgICAgICAgICAgICAgICAgICAgcnVuQ29tbWFuZCh0cmFjaywgY29tbWFu
ZCk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfTsKKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuQ29tbWFuZCh0cmFjaywgY29tbWFu
ZCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoY29tbWFuZCA9PT0gInNyYyIp
CisgICAgICAgICAgICAgICAgICAgIHRyYWNrLnNyYyA9ICJkYXRhOnRleHQvdnR0LCIgKyBlbmNv
ZGVVUklDb21wb25lbnQoIldFQlZUVFxuXG4wMDowMDowMC4wMDAgLS0+IDAwOjAwOjAxLjAwMFxu
dGVzdFxuIik7CisKKyAgICAgICAgICAgICAgICBpZiAoY29tbWFuZCA9PT0gIm1vZGUiKQorICAg
ICAgICAgICAgICAgICAgICB0cmFjay50cmFjay5tb2RlID0gJ2hpZGRlbic7CisKKyAgICAgICAg
ICAgICAgICBpZiAoY29tbWFuZCA9PT0gImFwcGVuZCIpCisgICAgICAgICAgICAgICAgICAgIHZp
ZGVvLmFwcGVuZENoaWxkKHRyYWNrKTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbAppbmRleCBlMmQ5
MDg2NmEwNTk5M2QzZjdmOGQ5NDk4YmM4M2YwNmQ0MDRkN2IzLi5jZmUwYWMwNWYzNmFlMWU3OWQ0
YjczNTFjYTAwYWI4ZGM3NzVlM2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUuaHRtbApAQCAtMjQsNyAr
MjQsNyBAQAogICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay5yZWFkeVN0YXRlIiwgSFRN
TFRyYWNrRWxlbWVudC5OT05FKTsKICAgICAgICAgICAgIHRyYWNrLmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBmdW5jdGlvbiAoKSB7IHRyYWNrTG9hZGVkKCk7IH0sIHRydWUpOwogICAgICAgICAg
ICAgdHJhY2suc3JjID0gImNhcHRpb25zLXdlYnZ0dC90YzAwNC13ZWJ2dHQtZmlsZS52dHQiOyAg
IAotICAgICAgICAgICAgdHJhY2subW9kZSA9ICJoaWRkZW4iOworICAgICAgICAgICAgdHJhY2su
dHJhY2subW9kZSA9ICJoaWRkZW4iOwogCiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDk0ZTA1YjZhZmQwZTE3MzI0NDJkZmYwZDA2NTY2YTg2M2UxYzRlODkuLjc4YTc4YWFkZWZmZWNi
OGRlNmQyYTU4Mjg0ODA4ZjQxMDg0NDM5ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjk3Myw2ICsyOTczLDEyIEBAIHdlYmtpdC5v
cmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRh
dGEvdGVzdHMvdHJlZS1iCiB3ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3Ry
YWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2MvY3VlX2ZvbnRfc2l6ZV90cmFuc2l0aW9uLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2Vi
dnR0L3JlbmRlcmluZy9hZGhvYy92b2ljZV93aXRoX2V2aWxfdGltZXN0YW1wLmh0bWwgWyBTa2lw
IF0KIAorIyBBZnRlciBmaXhpbmcgd2Via2l0Lm9yZy9iLzEwMzI1OCwgdGhlc2UgdGVzdHMgZmFp
bCB3aGVuIHRoZXkgdXNlZCB0byBzaW1wbHkgdGltZW91dC4KKyMgQXQgYW55IHJhdGUsIHRoZXJl
IGlzIG5vIHJlZ3Jlc3Npb24sIGp1c3QgYSBkaWZmZXJlbnQgdHlwZSBvZiBmYWlsdXJlLgord2Vi
a2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFjay9h
ZGRDdWUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9v
cGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9lbmRUaW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8xMDU1MzYgbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tD
dWUvc3RhcnRUaW1lLmh0bWwgWyBGYWlsdXJlIF0KKwogd2Via2l0Lm9yZy9iLzcyMjcxIFsgU25v
d0xlb3BhcmQgRGVidWcgXSBmYXN0L2RvbS9ub2RlLWl0ZXJhdG9yLXJlZmVyZW5jZS1ub2RlLW1v
dmVkLWNyYXNoLmh0bWwgWyBDcmFzaCBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzcyMzc2IFsgV2lu
IF0gZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtbGFiZWwuaHRtbCBbIEZhaWx1cmUgUGFzcyBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE4OWI4Njg2
YzBmMDFhNDRhYjgzN2UzNzJiNWU4N2E0MDgxYjM2ZWIuLmI3YzJlNDA2MDY3MzMxOWM3NTRhYjVh
N2ZiZWU1MjhhNjlmOTNmYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCkBAIC03NDAsNiArNzQwLDEyIEBAIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJh
Y2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMvdHJlZS1iCiB3ZWJr
aXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcv
YWRob2MvY3VlX2ZvbnRfc2l6ZV90cmFuc2l0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy92
b2ljZV93aXRoX2V2aWxfdGltZXN0YW1wLmh0bWwgWyBTa2lwIF0KIAorIyBBZnRlciBmaXhpbmcg
d2Via2l0Lm9yZy9iLzEwMzI1OCwgdGhlc2UgdGVzdHMgZmFpbCB3aGVuIHRoZXkgdXNlZCB0byBz
aW1wbHkgdGltZW91dC4KKyMgQXQgYW55IHJhdGUsIHRoZXJlIGlzIG5vIHJlZ3Jlc3Npb24sIGp1
c3QgYSBkaWZmZXJlbnQgdHlwZSBvZiBmYWlsdXJlLgord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRp
YS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFjay9hZGRDdWUuaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRU
cmFja0N1ZS9lbmRUaW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1MzYgbWVk
aWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvc3RhcnRUaW1lLmh0bWwgWyBG
YWlsdXJlIF0KKwogd2Via2l0Lm9yZy9iLzEwMDYzNiBbIERlYnVnIF0ganF1ZXJ5L3RyYXZlcnNp
bmcuaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggUGFzcyBdCiAKIHdlYmtpdC5vcmcvYi8xMDI5Mjggc3Zn
L2ZvcmVpZ25PYmplY3Qvdmlld3BvcnQtZm9yZWlnbm9iamVjdC1jcmFzaC5odG1sIFsgQ3Jhc2gg
RmFpbHVyZSBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYTA1ZmEwNWU1NzIwMjIzMTkyOWEzMzIwMDAwOTFlYWRkYjkxYzQzMi4uODMzNTMwMWJl
YTM0NDI3NWE2MDVjNjQwYTU0ZGZkMzA5Y2U4ZTlkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1Miw2ICs0NTIsMTIgQEAgd2Via2l0Lm9yZy9iLzEw
MzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0
cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2Vi
dnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9udF9zaXplX3RyYW5zaXRpb24uaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVu
ZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZpbF90aW1lc3RhbXAuaHRtbCBbIFNraXAgXQogCisj
IEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2IvMTAzMjU4LCB0aGVzZSB0ZXN0cyBmYWlsIHdoZW4g
dGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0LgorIyBBdCBhbnkgcmF0ZSwgdGhlcmUgaXMgbm8g
cmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVudCB0eXBlIG9mIGZhaWx1cmUuCit3ZWJraXQub3Jn
L2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrL2FkZEN1ZS5o
dG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2lu
dGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRpbWUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9zdGFy
dFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiAjIE5vIHN1cHBvcnQgZm9yIGV4cG9zaW5nIGluLWJh
bmQgdGV4dCB0cmFja3MKIHdlYmtpdC5vcmcvYi8xMDM3NzEgbWVkaWEvdHJhY2svdHJhY2staW4t
YmFuZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAzNzcxIG1lZGlhL3RyYWNrL3Ry
YWNrLWluLWJhbmQtY3Vlcy1hZGRlZC1vbmNlLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDk5ZDdjMWEyOTM5YzRlOTk5M2M3
YjIwMjFjYjU5NmQ4MzVjNzMwZS4uMmUzNWE4MTY4M2JlZTEzZjg3NDIzNTFkNGMwYjc3YTg0MDBm
YmIwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ3
Nyw3ICs0NzcsNiBAQCBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQt
bWFya3VwLmh0bWwKIFsgRGVidWcgXSBtZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFj
a21lbnUuaHRtbAogCiAjIE9wZXJhLXN1Ym1pdHRlZCB0ZXN0cyB0byBXM0MgZm9yIDx0cmFjaz4s
IGEgbG90IG9mIGZhaWx1cmVzIHN0aWxsLgotIyBPcGVyYS1zdWJtaXR0ZWQgdGVzdHMgdG8gVzND
IGZvciA8dHJhY2s+LCBhIGxvdCBvZiBmYWlsdXJlcyBzdGlsbC4KIHdlYmtpdC5vcmcvYi8xMDM5
MjYgbWVkaWEvdHJhY2svb3BlcmEvaWRsL21lZGlhLWlkbC10ZXN0cy5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1l
bnQvSFRNTE1lZGlhRWxlbWVudC9jcm9zc09yaWdpbi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3Jn
L2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRy
YWNrRWxlbWVudC9raW5kLmh0bWwgWyBTa2lwIF0KQEAgLTUxMSw2ICs1MTAsMTIgQEAgd2Via2l0
Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUt
ZGF0YS90ZXN0cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEv
dHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9udF9zaXplX3RyYW5zaXRpb24uaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFjay93
ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZpbF90aW1lc3RhbXAuaHRtbCBbIFNr
aXAgXQogCisjIEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2IvMTAzMjU4LCB0aGVzZSB0ZXN0cyBm
YWlsIHdoZW4gdGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0LgorIyBBdCBhbnkgcmF0ZSwgdGhl
cmUgaXMgbm8gcmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVudCB0eXBlIG9mIGZhaWx1cmUuCit3
ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNr
L2FkZEN1ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNr
L29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRpbWUuaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFj
a0N1ZS9zdGFydFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiAjIFRlc3RzIGZvciBNZWRpYVNvdXJj
ZSBBUEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFsLgogIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEKIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjcwZTM0
NGU0ZTA1NjI0YWE3NDQ1YjU3YzEzMTUyMTJjNTI0M2Y2Yy4uZDdiMTE0MzUzOTgwYWYwMDU2Yzli
YzBjY2YwZmM5MzQxMjJjZmE1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0
YXRpb25zCkBAIC05MjcsNiArOTI3LDEyIEBAIHdlYmtpdC5vcmcvYi8xMDM5MjYgbWVkaWEvdHJh
Y2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMvdHJlZS1iCiB3ZWJr
aXQub3JnL2IvMTAzOTI2IG1lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcv
YWRob2MvY3VlX2ZvbnRfc2l6ZV90cmFuc2l0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xMDM5MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy92
b2ljZV93aXRoX2V2aWxfdGltZXN0YW1wLmh0bWwgWyBTa2lwIF0KIAorIyBBZnRlciBmaXhpbmcg
d2Via2l0Lm9yZy9iLzEwMzI1OCwgdGhlc2UgdGVzdHMgZmFpbCB3aGVuIHRoZXkgdXNlZCB0byBz
aW1wbHkgdGltZW91dC4KKyMgQXQgYW55IHJhdGUsIHRoZXJlIGlzIG5vIHJlZ3Jlc3Npb24sIGp1
c3QgYSBkaWZmZXJlbnQgdHlwZSBvZiBmYWlsdXJlLgord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRp
YS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFjay9hZGRDdWUuaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRU
cmFja0N1ZS9lbmRUaW1lLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDU1MzYgbWVk
aWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvc3RhcnRUaW1lLmh0bWwgWyBG
YWlsdXJlIF0KKwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzgz
NzYKIG1lZGlhL21lZGlhLWRvY3VtZW50LWF1ZGlvLXNpemUuaHRtbAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhmZWY1ZDFkN2VjNGNlMmUzNzAzNmMz
MDc1NjRjNDRhNThmOWNiZmIuLmU5MWNmMzc2NTQwYzY5M2ZmMTk0YzZlMzBkM2U5MWY1YTYzYjZi
ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTg1
LDYgKzE1ODUsMTIgQEAgd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRpYS90cmFjay9vcGVyYS90cmFj
ay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90cmVlLWIKIHdlYmtpdC5vcmcvYi8xMDM5
MjYgbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy9jdWVfZm9u
dF9zaXplX3RyYW5zaXRpb24uaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEwMzkyNiBtZWRp
YS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZp
bF90aW1lc3RhbXAuaHRtbCBbIFNraXAgXQogCisjIEFmdGVyIGZpeGluZyB3ZWJraXQub3JnL2Iv
MTAzMjU4LCB0aGVzZSB0ZXN0cyBmYWlsIHdoZW4gdGhleSB1c2VkIHRvIHNpbXBseSB0aW1lb3V0
LgorIyBBdCBhbnkgcmF0ZSwgdGhlcmUgaXMgbm8gcmVncmVzc2lvbiwganVzdCBhIGRpZmZlcmVu
dCB0eXBlIG9mIGZhaWx1cmUuCit3ZWJraXQub3JnL2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJh
L2ludGVyZmFjZXMvVGV4dFRyYWNrL2FkZEN1ZS5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvMTA1NTM2IG1lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2VuZFRp
bWUuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTUzNiBtZWRpYS90cmFjay9vcGVy
YS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9zdGFydFRpbWUuaHRtbCBbIEZhaWx1cmUgXQorCiAj
IFRlc3RzIGZvciBNZWRpYVNvdXJjZSBBUEkuIEZlYXR1cmUgaXMgbm90IHlldCBmdW5jdGlvbmFs
LgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzEKIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>