<?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>133351</bug_id>
          
          <creation_ts>2014-05-28 11:24:28 -0700</creation_ts>
          <short_desc>Viewport percentage tests that resize the viewport are flaky</short_desc>
          <delta_ts>2014-05-31 23:25:19 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012255</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-05-28 11:24:28 -0700</bug_when>
    <thetext>Viewport percentage tests that resize the viewport are flaky</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012257</commentid>
    <comment_count>1</comment_count>
      <attachid>232207</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-05-28 11:33:12 -0700</bug_when>
    <thetext>Created attachment 232207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012287</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Hock">mhock</who>
    <bug_when>2014-05-28 14:28:59 -0700</bug_when>
    <thetext>Committed r169434: &lt;http://trac.webkit.org/changeset/169434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012290</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-05-28 14:30:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Committed r169434: &lt;http://trac.webkit.org/changeset/169434&gt;

The test was marked as flaky in r169434.  Please revert the TestExpectation once this issue is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012305</commentid>
    <comment_count>4</comment_count>
      <attachid>232207</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-28 15:40:56 -0700</bug_when>
    <thetext>Comment on attachment 232207
Patch

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

&gt; LayoutTests/css3/viewport-percentage-lengths/resources/resize-test.js:22
&gt; +        // FIXME: It would be nice to verify that the window resized to the
&gt; +        // given dimensions. Unfortunately, it looks like the window doesn&apos;t
&gt; +        // always resize to the specified dimensions, so we can&apos;t do the
&gt; +        // straightforward test, as it makes tests written using this script
&gt; +        // flaky.

I think the issue here is a race condition. The problem is using a timeout/0. We should fix by waiting for the resize to happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012309</commentid>
    <comment_count>5</comment_count>
      <attachid>232207</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-28 15:57:17 -0700</bug_when>
    <thetext>Comment on attachment 232207
Patch

I agree with Darin. We have a hard condition that the state must be correct when we send the resize event. The test should wait for the resize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012327</commentid>
    <comment_count>6</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-05-28 17:54:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 232207 [details])
&gt; I agree with Darin. We have a hard condition that the state must be correct when we send the resize event. The test should wait for the resize.

When I originally wrote the test, I tried to use a window.onresize handler, and I had trouble getting it to work. Is that the correct thing to use here, or is there a better event to check for the resize to be finished?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012437</commentid>
    <comment_count>7</comment_count>
      <attachid>232250</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2014-05-29 09:04:30 -0700</bug_when>
    <thetext>Created attachment 232250
Patch with onresize event handler

So I tried again with the resize event handler, and am running into the same problems I ran into before: when I load it in my build of Safari, it runs, but if I reload the page, it doesn&apos;t run until I manually resize the window a little to kick it off. If I run it using RWT (WTR, not DRT), the resize handler is never triggered, and the test just times out. Am I doing something wrong with the way I am setting up the resize handler, or is there a bug in the interaction between resize handlers and programatically causing a resize?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012720</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-30 20:58:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; So I tried again with the resize event handler, and am running into the same problems I ran into before: when I load it in my build of Safari, it runs, but if I reload the page, it doesn&apos;t run until I manually resize the window a little to kick it off. If I run it using RWT (WTR, not DRT), the resize handler is never triggered, and the test just times out. Am I doing something wrong with the way I am setting up the resize handler, or is there a bug in the interaction between resize handlers and programatically causing a resize?

Yes, we will have to debug to find out why there’s no resize event under WebKit2. I can’t tell just from your description, but we can set breakpoints to find out why it’s failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012721</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-30 21:06:34 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; when I load it in my build of Safari, it runs, but if I reload the page, it doesn&apos;t run until I manually resize the window a little to kick it off.

I tried making a simple test, and I do not see this problem in stock Safari 7.0.4. Waiting for my build of TOT WebKit to see if I can reproduce the problem with the latest, or with WebKitTestRunner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012722</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-30 21:07:39 -0700</bug_when>
    <thetext>Oops, wait, my test was with the &quot;timeout 0&quot; version, not the resize event version!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012723</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-30 21:12:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; if I reload the page, it doesn&apos;t run until I manually resize the window a little to kick it off

That’s because once we run the test the window is 800x600. So when we run the test again, the code sets the size to 800x600. That is not going to send a resize event, because the window is already that size!

Same problem under the test runner. The window’s default size is 800x600, and so setting it to that size again will not trigger a resize event.

One simple way to fix this is to “warm up” the test by resizing relative to the starting size, perhaps 10 pixels larger in each dimension, and then continue with the rest of the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012724</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-30 21:26:52 -0700</bug_when>
    <thetext>After fixing the test to warm up properly, the resize events are firing, but under old Safari (not latest WebKit), I am still seeing flakiness; some kind of race condition where at the time of the resize event outerWidth and outerHeight sometimes have not yet been updated to the new size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012743</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 09:00:22 -0700</bug_when>
    <thetext>Those failures only happened with the older WebKit. With TOT WebKit everything seems to work fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012753</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 11:59:10 -0700</bug_when>
    <thetext>If you look closely at the expected results, you’ll see that the resizing hasn’t been working in DumpRenderTree. The test is being run repeatedly at the same size. I’ve been working on this for a few hours today. There are many bugs here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012771</commentid>
    <comment_count>15</comment_count>
      <attachid>232325</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 16:47:24 -0700</bug_when>
    <thetext>Created attachment 232325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012775</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 17:01:44 -0700</bug_when>
    <thetext>Committed r169505: &lt;http://trac.webkit.org/changeset/169505&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012799</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-31 23:05:56 -0700</bug_when>
    <thetext>svg/filters/filter-hidden-content.svg started to fail every time on all WebKit2 bots after this change:

http://build.webkit.org/results/Apple%20Mavericks%20Release%20WK2%20(Tests)/r169508%20(6071)/svg/filters/filter-hidden-content-diff.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012800</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-31 23:11:01 -0700</bug_when>
    <thetext>Actually, two more tests are failing (it&apos;s difficult to see because WebKit2 testers still retry failures, hiding many of those that depend on previous tests):

fast/dynamic/window-resize-scrollbars-test.html
fast/dom/rtl-scroll-to-leftmost-and-resize.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012802</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 23:20:42 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; svg/filters/filter-hidden-content.svg started to fail every time on all WebKit2 bots after this change:

I noticed, and my change in &lt;http://trac.webkit.org/changeset/169509&gt; was motivated by that failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012803</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 23:22:51 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; fast/dynamic/window-resize-scrollbars-test.html

http://trac.webkit.org/changeset/169508

&gt; fast/dom/rtl-scroll-to-leftmost-and-resize.html

An expected failure as mentioned in the change log of http://trac.webkit.org/changeset/169505

These tests were “succeeding” before, but they weren’t really testing anything because they weren’t doing any resizing. We could skip them but I think it’s fine to run them as expected failures. Actually fixing the bugs they are testing for could be a big project. The RTL scroll bug is something that has never worked in any Mac port at least; I think it was fixed only for Chromium. The scrollbars bug has never worked on WebKit2, but the test wasn’t revealing that before because the test wasn’t doing any resizing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012804</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-31 23:25:19 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #17)
&gt; &gt; svg/filters/filter-hidden-content.svg started to fail every time on all WebKit2 bots after this change:
&gt; 
&gt; I noticed, and my change in &lt;http://trac.webkit.org/changeset/169509&gt; was motivated by that failure.

This reflects a problem in WebKitTestRunner. Might be hard to fix. I believe it’s a race condition where WebKitTestRunner resizes the view for a test and then runs the test but there is no guarantee the resizing has completed before the test is run.

What’s frustrating is that the thing that’s causing “failure” is not really part of the test at all. Just a layer that’s sized to the size of the view, which is incorrectly configured.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232207</attachid>
            <date>2014-05-28 11:33:12 -0700</date>
            <delta_ts>2014-05-29 09:04:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133351-20140528113249.patch</filename>
            <type>text/plain</type>
            <size>8197</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDA3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGU4MjVkNzZlNmZmN2EwMzgwNTVm
ZTYxOTFiOWI1NDc2Y2Y3ZWNkYS4uMGQyOTcwYjAwMjA4Y2VlY2FlMjY5NzhjZDlmMTM5MGJkNGYw
YjJiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA1LTI4ICBCZW0gSm9uZXMtQmV5ICA8
YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFZpZXdwb3J0IHBlcmNlbnRhZ2UgdGVzdHMg
dGhhdCByZXNpemUgdGhlIHZpZXdwb3J0IGFyZSBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB1c2luZyByZXNpemVUbyB0byByZXNpemUg
dGhlIHdpbmRvdywgaXQgc29tZXRpbWVzIGRvZXNuJ3QgcmVzaXplCisgICAgICAgIHRvIHRoZSBy
ZXF1ZXN0ZWQgc2l6ZS4gU2luY2Ugd2UgZG9uJ3QgcmVhbGx5IGNhcmUgYWJvdXQgZ2V0dGluZyB0
aGUKKyAgICAgICAgZXhhY3Qgc2l6ZSwgb25seSB0aGF0IHRoZSBzaXplIGNoYW5nZXMsIHdlIGNh
biByZW1vdmUgdGhlIGNoZWNrIGZvcgorICAgICAgICB0aGUgdmlld3BvcnQgc2l6ZSBhbmQgdGhl
IHRlc3RzIHdpbGwgc3RpbGwgdGVzdCB0aGUgdmlld3BvcnQgdW5pdAorICAgICAgICBmdW5jdGlv
bmFsaXR5IGluIGEgbWVhbmluZ2Z1bCB3YXkuCisKKyAgICAgICAgKiBjc3MzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy9yZXNvdXJjZXMvcmVzaXplLXRlc3QuanM6CisgICAgICAgIChyZXNp
emVUZXN0KToKKyAgICAgICAgKiBjc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2VudC1zaXplLWNoaWxkLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBjc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJj
ZW50YWdlLWxlbmd0aHMtcmVsYXRpdmUtZm9udC1zaXplLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxl
bmd0aHMtcmVzaXplLWV4cGVjdGVkLnR4dDoKKwogMjAxNC0wNS0yNyAgQmVtIEpvbmVzLUJleSAg
PGJqb25lc2JlQGFkb2JlLmNvbT4KIAogICAgICAgICB2dy92aCB1bml0cyB1c2VkIGFzIGZvbnQv
bGluZS1oZWlnaHQgdmFsdWVzIGRvbid0IHNjYWxlIHdpdGggdGhlIHZpZXdwb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9yZXNvdXJj
ZXMvcmVzaXplLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2Ut
bGVuZ3Rocy9yZXNvdXJjZXMvcmVzaXplLXRlc3QuanMKaW5kZXggMzQ5ZmI3NzI1NjVlN2I0MTU3
YTc5YjMxMzc1OTNjZjBjYTA5ODNkZC4uYmQ4NGY3YzQ0MjU0ZGU0YWRiY2FhNWQ5ZDAxMGRjYjI0
MjJjZjhhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdl
LWxlbmd0aHMvcmVzb3VyY2VzL3Jlc2l6ZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2NzczMv
dmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3Jlc291cmNlcy9yZXNpemUtdGVzdC5qcwpAQCAt
MTUsOCArMTUsMTEgQEAgZnVuY3Rpb24gcmVzaXplVGVzdChzaXplcywgdGVzdGZuKSB7CiAgICAg
dmFyIGhlaWdodCA9IHNpemVbMV07CiAgICAgd2luZG93LnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQp
OwogICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgc2hvdWxkQmUo
IndpbmRvdy5vdXRlcldpZHRoIiwgIiIgKyB3aWR0aCk7Ci0gICAgICAgIHNob3VsZEJlKCJ3aW5k
b3cub3V0ZXJIZWlnaHQiLCAiIiArIGhlaWdodCk7CisgICAgICAgIC8vIEZJWE1FOiBJdCB3b3Vs
ZCBiZSBuaWNlIHRvIHZlcmlmeSB0aGF0IHRoZSB3aW5kb3cgcmVzaXplZCB0byB0aGUKKyAgICAg
ICAgLy8gZ2l2ZW4gZGltZW5zaW9ucy4gVW5mb3J0dW5hdGVseSwgaXQgbG9va3MgbGlrZSB0aGUg
d2luZG93IGRvZXNuJ3QKKyAgICAgICAgLy8gYWx3YXlzIHJlc2l6ZSB0byB0aGUgc3BlY2lmaWVk
IGRpbWVuc2lvbnMsIHNvIHdlIGNhbid0IGRvIHRoZQorICAgICAgICAvLyBzdHJhaWdodGZvcndh
cmQgdGVzdCwgYXMgaXQgbWFrZXMgdGVzdHMgd3JpdHRlbiB1c2luZyB0aGlzIHNjcmlwdAorICAg
ICAgICAvLyBmbGFreS4KICAgICAgICAgdGVzdGZuKHNpemUpOwogICAgICAgICByZXNpemVUZXN0
KHNpemVzLCB0ZXN0Zm4pOwogICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhz
LXBlcmNlbnQtc2l6ZS1jaGlsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdw
b3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2Vu
dC1zaXplLWNoaWxkLWV4cGVjdGVkLnR4dAppbmRleCBlMzE4YmQ5ODA5NmEzZDU5NDRjZmU1OGUw
YjYxOGVkZDUxN2E0OTEwLi5iOTJmNGM5NmM5YjUyNmFjYWY4YWE3NmQwMTcxODgwMjhlNzEyYzky
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Ro
cy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2VudC1zaXplLWNoaWxkLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92
aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2VudC1zaXplLWNoaWxkLWV4cGVjdGVkLnR4
dApAQCAtNiwzMiArNiwyMiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNTIHdpbmRvdy5vdXRlcldp
ZHRoIGlzIDgwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjAwCiBQQVNTIGdldENvbXB1
dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAnNDAwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5
bGUoY29udGFpbmVyKS5oZWlnaHQgaXMgJzMwMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBl
cmNlbnQpLndpZHRoIGlzICcyMDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS5o
ZWlnaHQgaXMgJzE1MHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA5MDAKLVBBU1Mgd2lu
ZG93Lm91dGVySGVpZ2h0IGlzIDYwMAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lciku
d2lkdGggaXMgJzQwMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0
IGlzICczMDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS53aWR0aCBpcyAnMjAw
cHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuaGVpZ2h0IGlzICcxNTBweCcKLVBB
U1Mgd2luZG93Lm91dGVyV2lkdGggaXMgOTAwCi1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2
NDAKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndpZHRoIGlzICc0MDBweCcKIFBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmhlaWdodCBpcyAnMzAwcHgnCiBQQVNTIGdl
dENvbXB1dGVkU3R5bGUocGVyY2VudCkud2lkdGggaXMgJzIwMHB4JwogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHBlcmNlbnQpLmhlaWdodCBpcyAnMTUwcHgnCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRo
IGlzIDUwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjQwCiBQQVNTIGdldENvbXB1dGVk
U3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAnNDAwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUo
Y29udGFpbmVyKS5oZWlnaHQgaXMgJzMwMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNl
bnQpLndpZHRoIGlzICcyMDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS5oZWln
aHQgaXMgJzE1MHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA4MDAKLVBBU1Mgd2luZG93
Lm91dGVySGVpZ2h0IGlzIDYwMAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikud2lk
dGggaXMgJzQwMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0IGlz
ICczMDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS53aWR0aCBpcyAnMjAwcHgn
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Ro
cy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVsYXRpdmUtZm9udC1zaXplLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdw
b3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250LXNpemUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDUzNTRlOGYxOGJjYWRjNzVhMmYxMDAyYmMyNDk0MjZmYjA1ODUyZTIuLjA5NWJlYWNmZjEy
MDcyYTgzNWZjZWYyYTg5YTRmZTRmYjJkMDJjZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nz
czMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Ro
cy1yZWxhdGl2ZS1mb250LXNpemUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMv
dmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1y
ZWxhdGl2ZS1mb250LXNpemUtZXhwZWN0ZWQudHh0CkBAIC02LDI4ICs2LDE4IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgODAwCi1QQVNTIHdpbmRvdy5vdXRl
ckhlaWdodCBpcyA2MDAKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmZvbnRTaXpl
IGlzICc0MHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVtcykuZm9udFNpemUgaXMgJzE2MHB4
JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmZvbnRTaXplIGlzICcyMHB4JwotUEFT
UyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA5MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYw
MAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUgaXMgJzQwcHgnCiBQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAnMTYwcHgnCiBQQVNTIGdldENv
bXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgJzIwcHgnCi1QQVNTIHdpbmRvdy5vdXRl
cldpZHRoIGlzIDkwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjQwCiBQQVNTIGdldENv
bXB1dGVkU3R5bGUoY29udGFpbmVyKS5mb250U2l6ZSBpcyAnNDBweCcKIFBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShlbXMpLmZvbnRTaXplIGlzICcxNjBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShw
ZXJjZW50KS5mb250U2l6ZSBpcyAnMjBweCcKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgNTAw
Ci1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2NDAKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShj
b250YWluZXIpLmZvbnRTaXplIGlzICc0MHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVtcyku
Zm9udFNpemUgaXMgJzE2MHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmZvbnRT
aXplIGlzICcyMHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA4MDAKLVBBU1Mgd2luZG93
Lm91dGVySGVpZ2h0IGlzIDYwMAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9u
dFNpemUgaXMgJzQwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAn
MTYwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgJzIwcHgn
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Ro
cy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVzaXplLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRh
Z2UtbGVuZ3Rocy1yZXNpemUtZXhwZWN0ZWQudHh0CmluZGV4IDBkYWQwMmNiZWQ5NWViMDdmYzAx
MWRjMDUyNWI0ZjJmMTdmZGQ0YWUuLmIyZmJjNWZkN2I1NGVhNGQ1MjlhZmI4NTQzNWJjNDRkNzg5
ZDI1M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1s
ZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZXNpemUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0
LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZXNpemUtZXhwZWN0ZWQudHh0CkBAIC02LDMyICs2LDIyIEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgODAwCi1QQVNTIHdp
bmRvdy5vdXRlckhlaWdodCBpcyA2MDAKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250
U2l6ZSBpcyAnMzBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCBpcyAnNDAw
cHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxl
ZnQgaXMgJzEyMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXIn
KS5wYWRkaW5nUmlnaHQgaXMgJzIwMHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA5MDAK
LVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYwMAogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRl
c3QpLmZvbnRTaXplIGlzICczMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLndpZHRo
IGlzICc0MDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNldWRvLCAnOmFmdGVyJyku
bWFyZ2luTGVmdCBpcyAnMTIwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywg
JzphZnRlcicpLnBhZGRpbmdSaWdodCBpcyAnMjAwcHgnCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRo
IGlzIDkwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjQwCiBQQVNTIGdldENvbXB1dGVk
U3R5bGUodGVzdCkuZm9udFNpemUgaXMgJzMwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUodGVz
dCkud2lkdGggaXMgJzQwMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6
YWZ0ZXInKS5tYXJnaW5MZWZ0IGlzICcxMjBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0
cHNldWRvLCAnOmFmdGVyJykucGFkZGluZ1JpZ2h0IGlzICcyMDBweCcKLVBBU1Mgd2luZG93Lm91
dGVyV2lkdGggaXMgNTAwCi1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2NDAKIFBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6ZSBpcyAnMzBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXN0KS53aWR0aCBpcyAnNDAwcHgnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdHBz
ZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQgaXMgJzEyMHB4JwogUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5wYWRkaW5nUmlnaHQgaXMgJzIwMHB4JwotUEFTUyB3
aW5kb3cub3V0ZXJXaWR0aCBpcyA4MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYwMAog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLmZvbnRTaXplIGlzICczMHB4JwogUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHRlc3QpLndpZHRoIGlzICc0MDBweCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykubWFyZ2luTGVmdCBpcyAnMTIwcHgnCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232250</attachid>
            <date>2014-05-29 09:04:30 -0700</date>
            <delta_ts>2014-05-31 16:47:21 -0700</delta_ts>
            <desc>Patch with onresize event handler</desc>
            <filename>bug-133351-20140529090406.patch</filename>
            <type>text/plain</type>
            <size>2332</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDA3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGU4MjVkNzZlNmZmN2EwMzgwNTVm
ZTYxOTFiOWI1NDc2Y2Y3ZWNkYS4uYzk0YWY0YjhiNTY4OWYzYjI1M2U4NTdmNDIzOGQ1NmNlMWI2
ZjQxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTA1LTI5ICBCZW0gSm9uZXMtQmV5ICA8
YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFZpZXdwb3J0IHBlcmNlbnRhZ2UgdGVzdHMg
dGhhdCByZXNpemUgdGhlIHZpZXdwb3J0IGFyZSBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjdXJyZW50bHkgZG9lc24ndCB3
b3JrLgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvcmVzb3Vy
Y2VzL3Jlc2l6ZS10ZXN0LmpzOgorICAgICAgICAoLnJlc2l6ZUhhbmRsZXIpOgorICAgICAgICAo
LmRvUmVzaXplKToKKyAgICAgICAgKHJlc2l6ZVRlc3QpOgorCiAyMDE0LTA1LTI3ICBCZW0gSm9u
ZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgogCiAgICAgICAgIHZ3L3ZoIHVuaXRzIHVzZWQg
YXMgZm9udC9saW5lLWhlaWdodCB2YWx1ZXMgZG9uJ3Qgc2NhbGUgd2l0aCB0aGUgdmlld3BvcnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhz
L3Jlc291cmNlcy9yZXNpemUtdGVzdC5qcyBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVy
Y2VudGFnZS1sZW5ndGhzL3Jlc291cmNlcy9yZXNpemUtdGVzdC5qcwppbmRleCAzNDlmYjc3MjU2
NWU3YjQxNTdhNzliMzEzNzU5M2NmMGNhMDk4M2RkLi4xM2Q5ZjMwNGRiNDA1YzVlZWRiODUzNTcx
NTQxMjAzZmJiMmZhNDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy9yZXNvdXJjZXMvcmVzaXplLXRlc3QuanMKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvcmVzb3VyY2VzL3Jlc2l6ZS10ZXN0
LmpzCkBAIC00LDIyICs0LDMwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBmdW5j
dGlvbiByZXNpemVUZXN0KHNpemVzLCB0ZXN0Zm4pIHsKLSAgICBpZiAoIXNpemVzLmxlbmd0aCkg
ewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBzaXplID0g
c2l6ZXMuc2hpZnQoKTsKLSAgICB2YXIgd2lkdGggPSBzaXplWzBdOwotICAgIHZhciBoZWlnaHQg
PSBzaXplWzFdOwotICAgIHdpbmRvdy5yZXNpemVUbyh3aWR0aCwgaGVpZ2h0KTsKLSAgICB3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CisgICAgdmFyIHJlc2l6ZUhhbmRsZXIgPSBmdW5j
dGlvbiAoKSB7CisgICAgICAgIHZhciBzaXplID0gc2l6ZXMuc2hpZnQoKTsKKyAgICAgICAgdmFy
IHdpZHRoID0gc2l6ZVswXTsKKyAgICAgICAgdmFyIGhlaWdodCA9IHNpemVbMV07CiAgICAgICAg
IHNob3VsZEJlKCJ3aW5kb3cub3V0ZXJXaWR0aCIsICIiICsgd2lkdGgpOwogICAgICAgICBzaG91
bGRCZSgid2luZG93Lm91dGVySGVpZ2h0IiwgIiIgKyBoZWlnaHQpOwogICAgICAgICB0ZXN0Zm4o
c2l6ZSk7Ci0gICAgICAgIHJlc2l6ZVRlc3Qoc2l6ZXMsIHRlc3Rmbik7Ci0gICAgfSwgMCk7CisK
KyAgICAgICAgZG9SZXNpemUoKTsKKyAgICB9OworCisgICAgdmFyIGRvUmVzaXplID0gZnVuY3Rp
b24gKCkgeworICAgICAgICBpZiAoc2l6ZXMubGVuZ3RoKSB7CisgICAgICAgICAgICB3aW5kb3cu
cmVzaXplVG8oc2l6ZXNbMF1bMF0sIHNpemVzWzBdWzFdKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCByZXNpemVIYW5k
bGVyKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplSGFuZGxlcik7CisKKyAgICBkb1Jl
c2l6ZSgpOwogfQogCiBmdW5jdGlvbiBzdGFuZGFyZFJlc2l6ZVRlc3QodGVzdGZuKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232325</attachid>
            <date>2014-05-31 16:47:24 -0700</date>
            <delta_ts>2014-05-31 16:52:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133351-20140531164704.patch</filename>
            <type>text/plain</type>
            <size>61274</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI1ODQwNDMzZTgwOGFh
NGZkMDRiM2QyMTRiYmY0MjU0Y2MwNWIxYS4uYTg5OGFhOTQyZWE2MjE3ODI2YTI3OTFhOTE1YTA4
YWE4MGZjMmNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTA1LTMxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBWaWV3cG9ydCBwZXJjZW50YWdl
IHRlc3RzIHRoYXQgcmVzaXplIHRoZSB2aWV3cG9ydCBhcmUgZmxha3kKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzM1MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRGcmFtZVJlY3QpOiBSZW1vdmVkIGNvZGUg
dGhhdCBleHBsaWNpdGx5IHNlbmRzIGEgcmVzaXplIGV2ZW50IGhlcmUuCisgICAgICAgIFRoZSBy
ZXNpemUgZXZlbnQgd2lsbCBiZSBzZW50IGFzIGEgc2lkZSBlZmZlY3Qgb2YgbGF5b3V0IGluc3Rl
YWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNlbmRSZXNpemVFdmVudElmTmVlZGVk
KTogRG9uJ3Qgc2VuZCBhIHJlc2l6ZSBldmVudCB1bnRpbCBsYXlvdXQgaXMgZG9uZSwKKyAgICAg
ICAgc2luY2UgdGhpcyBpcyB3aGF0IHByb3BhZ2F0ZXMgdGhlIG5ldyBnZW9tZXRyeSBpbiBzbyB0
aGUgSmF2YVNjcmlwdCBjb2RlIGNhbiBkZXRlY3QgaXQuIEFsc28KKyAgICAgICAgc2ltcGxpZmll
ZCB0aGUgbG9naWMgYW5kIHN0cmVhbWxpbmVkIGEgbGl0dGxlLCBhbmQgYWRkZWQgYSBGSVhNRSBh
Ym91dCB0aGUgYmFkIGlkZWEgaGVyZSB3aGVyZQorICAgICAgICB0aGUgY29kZSBlbnF1ZXVlcyBh
biBldmVudCBmb3IgYW4gdW5rbm93biB0aW1lIGluIHRoZSBmdXR1cmUuIFJlbW92ZWQgdGhlIHVu
bmVlZGVkIGNvZGUgdGhhdAorICAgICAgICBwYXNzZXMgaW4gdGhlIERPTSB3aW5kb3cgYXMgdGhl
IHRhcmdldCB0byBkaXNwYXRjaFdpbmRvd0V2ZW50LCBzaW5jZSB0aGF0IGdldHMgZmlsbGVkIGlu
IGFzIHRoZQorICAgICAgICB0YXJnZXQgYnkgZGVmYXVsdC4KKwogMjAxNC0wNS0zMSAgQW5kZXJz
IENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IHVzZSBzdGQ6
Om11dGV4Ojp0cnlfbG9jayB0byBjaGVjayBpZiB3ZSBvd24gYSBtdXRleApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IDM5MDMzZjViNDA0ZDI4YzRmZTAzNWMzODQyYjFhM2U4NWQxZDk3
NGIuLjU5NzA3YWE1M2MxYmE0M2Y5YmRkNWI4MTNkYjMyYWVhODdiY2FlOGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKQEAgLTQzMyw5ICs0MzMsNiBAQCB2b2lkIEZyYW1lVmlldzo6c2V0
RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmIG5ld1JlY3QpCiAgICAgICAgIGlmIChyZW5kZXJWaWV3
LT51c2VzQ29tcG9zaXRpbmcoKSkKICAgICAgICAgICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3Io
KS5mcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCk7CiAgICAgfQotCi0gICAgaWYgKCFmcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKCkpCi0gICAgICAgIHNlbmRSZXNpemVFdmVudElmTmVlZGVkKCk7CiB9CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCkBAIC0yODE5LDIwICsyODE2LDI2
IEBAIEludFNpemUgRnJhbWVWaWV3OjpzaXplRm9yUmVzaXplRXZlbnQoKSBjb25zdAogCiB2b2lk
IEZyYW1lVmlldzo6c2VuZFJlc2l6ZUV2ZW50SWZOZWVkZWQoKQogeworICAgIGlmIChpc0luTGF5
b3V0KCkgfHwgbmVlZHNMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmVuZGVyVmll
dyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZpZXcoKTsKICAgICBpZiAoIXJlbmRlclZpZXcg
fHwgcmVuZGVyVmlldy0+cHJpbnRpbmcoKSkKICAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKGZy
YW1lKCkucGFnZSgpICYmIGZyYW1lKCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5pc1NWR0lt
YWdlQ2hyb21lQ2xpZW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIEludFNpemUgY3VycmVu
dFNpemUgPSBzaXplRm9yUmVzaXplRXZlbnQoKTsKICAgICBmbG9hdCBjdXJyZW50Wm9vbUZhY3Rv
ciA9IHJlbmRlclZpZXctPnN0eWxlKCkuem9vbSgpOwotICAgIGJvb2wgc2hvdWxkU2VuZFJlc2l6
ZUV2ZW50ID0gIW1fZmlyc3RMYXlvdXQgJiYgKGN1cnJlbnRTaXplICE9IG1fbGFzdFZpZXdwb3J0
U2l6ZSB8fCBjdXJyZW50Wm9vbUZhY3RvciAhPSBtX2xhc3Rab29tRmFjdG9yKTsKKworICAgIGlm
IChjdXJyZW50U2l6ZSA9PSBtX2xhc3RWaWV3cG9ydFNpemUgJiYgY3VycmVudFpvb21GYWN0b3Ig
PT0gbV9sYXN0Wm9vbUZhY3RvcikKKyAgICAgICAgcmV0dXJuOwogCiAgICAgbV9sYXN0Vmlld3Bv
cnRTaXplID0gY3VycmVudFNpemU7CiAgICAgbV9sYXN0Wm9vbUZhY3RvciA9IGN1cnJlbnRab29t
RmFjdG9yOwogCi0gICAgaWYgKCFzaG91bGRTZW5kUmVzaXplRXZlbnQpCisgICAgaWYgKG1fZmly
c3RMYXlvdXQpCiAgICAgICAgIHJldHVybjsKIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTI4NDYs
MjAgKzI4NDksMjQgQEAgdm9pZCBGcmFtZVZpZXc6OnNlbmRSZXNpemVFdmVudElmTmVlZGVkKCkK
ICNlbmRpZgogCiAgICAgYm9vbCBpc01haW5GcmFtZSA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKTsK
LSAgICBib29sIGNhblNlbmRSZXNpemVFdmVudFN5bmNocm9ub3VzbHkgPSAhbV9zaG91bGRBdXRv
U2l6ZSAmJiBpc01haW5GcmFtZSAmJiAhaXNJbkxheW91dCgpOworICAgIGJvb2wgY2FuU2VuZFJl
c2l6ZUV2ZW50U3luY2hyb25vdXNseSA9IGlzTWFpbkZyYW1lICYmICFtX3Nob3VsZEF1dG9TaXpl
OwogCi0gICAgLy8gSWYgd2UgcmVzaXplZCBkdXJpbmcgbGF5b3V0LCBxdWV1ZSB1cCBhIHJlc2l6
ZSBldmVudCBmb3IgbGF0ZXIsIG90aGVyd2lzZSBmaXJlIGl0IHJpZ2h0IGF3YXkuCiAgICAgUmVm
UHRyPEV2ZW50PiByZXNpemVFdmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnJlc2l6
ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOwogICAgIGlmIChjYW5TZW5kUmVzaXplRXZlbnRTeW5jaHJv
bm91c2x5KQotICAgICAgICBmcmFtZSgpLmRvY3VtZW50KCktPmRpc3BhdGNoV2luZG93RXZlbnQo
cmVzaXplRXZlbnQucmVsZWFzZSgpLCBmcmFtZSgpLmRvY3VtZW50KCktPmRvbVdpbmRvdygpKTsK
LSAgICBlbHNlCisgICAgICAgIGZyYW1lKCkuZG9jdW1lbnQoKS0+ZGlzcGF0Y2hXaW5kb3dFdmVu
dChyZXNpemVFdmVudC5yZWxlYXNlKCkpOworICAgIGVsc2UgeworICAgICAgICAvLyBGSVhNRTog
UXVldWVpbmcgdGhpcyBldmVudCBmb3IgYW4gdW5wcmVkaWN0YWJsZSB0aW1lIGluIHRoZSBmdXR1
cmUgc2VlbXMKKyAgICAgICAgLy8gaW50cmluc2ljYWxseSByYWN5LiBCeSB0aGUgdGltZSB0aGlz
IHJlc2l6ZSBldmVudCBmaXJlcywgdGhlIGZyYW1lIG1pZ2h0CisgICAgICAgIC8vIGJlIHJlc2l6
ZWQgYWdhaW4sIHNvIHdlIGNvdWxkIGVuZCB1cCB3aXRoIHR3byByZXNpemUgZXZlbnRzIGZvciB0
aGUgc2FtZSBzaXplLgogICAgICAgICBmcmFtZSgpLmRvY3VtZW50KCktPmVucXVldWVXaW5kb3dF
dmVudChyZXNpemVFdmVudC5yZWxlYXNlKCkpOworICAgIH0KIAogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0gICAgUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwogICAgIGlmIChJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpICYmIGlzTWFpbkZyYW1lKSB7Ci0gICAgICAg
IGlmIChJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCA9IHBhZ2UgPyBwYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCkuaW5zcGVjdG9yQ2xpZW50KCkgOiBudWxscHRyKQotICAgICAgICAg
ICAgaW5zcGVjdG9yQ2xpZW50LT5kaWRSZXNpemVNYWluRnJhbWUoJmZyYW1lKCkpOworICAgICAg
ICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CisgICAgICAgICAgICBpZiAoSW5z
cGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQgPSBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkuaW5zcGVjdG9yQ2xpZW50KCkpCisgICAgICAgICAgICAgICAgaW5zcGVjdG9yQ2xpZW50LT5k
aWRSZXNpemVNYWluRnJhbWUoJmZyYW1lKCkpOworICAgICAgICB9CiAgICAgfQogI2VuZGlmCiB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzJh
ZjkxZDI0YTIxM2MzYjZiODdjZWIzYTk0ZmZkMmYyMWRmODYyMS4uZTI5MDY1MWEzMmJjNTA5MWYx
OTE5YzM4M2UzMWU2NmRlZWY4ZDUwOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTA1LTMxICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBWaWV3cG9ydCBwZXJjZW50YWdlIHRlc3Rz
IHRoYXQgcmVzaXplIHRoZSB2aWV3cG9ydCBhcmUgZmxha3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzM1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tOgorICAgICAgICAoc2l6ZVdlYlZpZXdGb3JDdXJyZW50VGVzdCk6IEFkZGVkIGEg
Y2FsbCB0byByZXNldCB0aGUgd2luZG93IG9yaWdpbiwgd2hpY2gKKyAgICAgICAgaGFwcGVucyB0
byBiZSBzdG9yZWQgaW4gdGhlIFVJIGRlbGVnYXRlIG9iamVjdC4gVGhpcyBpcyBwYXJ0IG9mIHJl
c2V0dGluZyB0aGUKKyAgICAgICAgd2luZG93IHBvc2l0aW9uLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL1VJRGVsZWdhdGUuaDogU3RvcmUgdGhlIHdpbmRvdyBvcmlnaW4gcmF0aGVy
IHRoYW4gc3RvcmluZworICAgICAgICBhIGZyYW1lIHJlY3RhbmdsZS4gVGhlIHNpemUgaXMgc3Rv
cmVkIGluIHRoZSBzaXplIG9mIHRoZSB3ZWIgdmlldyBpdHNlbGYuCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL1VJRGVsZWdhdGUubW06CisgICAgICAgICgtW1VJRGVsZWdhdGUgcmVzZXRX
aW5kb3dPcmlnaW5dKTogQWRkZWQuCisgICAgICAgICgtW1VJRGVsZWdhdGUgd2ViVmlldzpzZXRG
cmFtZTpdKTogQ2hhbmdlZCB0byBzZXQgdGhlIHNpemUgb2YgdGhlIHdlYiB2aWV3LiBUaGUKKyAg
ICAgICAgb2xkIHZlcnNpb24gd291bGQgc3RvcmUgdGhlIGZyYW1lLCBidXQgbm90IHJlc2l6ZSB0
aGUgd2ViIHZpZXchCisgICAgICAgICgtW1VJRGVsZWdhdGUgd2ViVmlld0ZyYW1lOl0pOiBHZXQg
dGhlIHNpemUgZnJvbSB0aGUgd2ViIHZpZXcuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZp
ZXc6OnNldFdpbmRvd0ZyYW1lKTogQWRkZWQgY29kZSB0byByZXNpemUgdGhlIHdlYiB2aWV3Lgor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcDoK
KyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyk6IEFkZGVkIGEgY29tbWVu
dCBhYm91dCBtaXNzaW5nIGNvZGUgdG8gcmVzaXplCisgICAgICAgIHRoZSB3aW5kb3cuCisKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW06CisgICAg
ICAgIChXVFI6OlBsYXRmb3JtV2ViVmlldzo6cmVzaXplVG8pOiBDaGFuZ2VkIHRoaXMgdG8gY2Fs
bCBzZXRXaW5kb3dGcmFtZSBzbyB0aGUKKyAgICAgICAgd2luZG93IGdldHMgcmVzaXplZCB0b28s
IG5vdCBqdXN0IHRoZSB3ZWIgdmlldy4KKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojpz
ZXRXaW5kb3dGcmFtZSk6IEFkZGVkIGNvZGUgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSB3ZWIgdmll
dy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5t
bToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyk6IENoYW5nZWQgdGhp
cyB0byBjYWxsIHNldFdpbmRvd0ZyYW1lIHNvIHRoZQorICAgICAgICB3aW5kb3cgZ2V0cyByZXNp
emVkIHRvbywgbm90IGp1c3QgdGhlIHdlYiB2aWV3LgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdl
YlZpZXc6OnNldFdpbmRvd0ZyYW1lKTogQWRkZWQgY29kZSB0byBzZXQgdGhlIHNpemUgb2YgdGhl
IHdlYiB2aWV3LgorCiAyMDE0LTA1LTMwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUu
Y29tPgogCiAgICAgICAgIENoYW5nZSBydW4tanNjLXN0cmVzcy10ZXN0cyB0byBub3QgcmVzb2x2
ZSBqc2MgcGF0aCBsb2NhbGx5IHdoZW4gY3JlYXRpbmcgYSBidW5kbGUKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCAxYjA0ZjZhZjU5ZTAwMjg3MmM2ZTcy
MGRlNTEzZmE2MmRmM2ExODJlLi41NDNkNjQyMWRiN2FjZTFhZDlkNjhhYjc0OTZiMzM3ZTkzMTY0
ZjFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0x
NDUyLDYgKzE0NTIsOCBAQCBzdGF0aWMgdm9pZCBjaGFuZ2VXaW5kb3dTY2FsZUlmTmVlZGVkKGNv
bnN0IGNoYXIqIHRlc3RQYXRoT3JVUikKIAogc3RhdGljIHZvaWQgc2l6ZVdlYlZpZXdGb3JDdXJy
ZW50VGVzdCgpCiB7CisgICAgW3VpRGVsZWdhdGUgcmVzZXRXaW5kb3dPcmlnaW5dOworCiAgICAg
Ly8gVzNDIFNWRyB0ZXN0cyBleHBlY3QgdG8gYmUgNDgweDM2MAogICAgIGJvb2wgaXNTVkdXM0NU
ZXN0ID0gKGdUZXN0UnVubmVyLT50ZXN0UGF0aE9yVVJMKCkuZmluZCgic3ZnL1czQy1TVkctMS4x
IikgIT0gc3RyaW5nOjpucG9zKTsKICAgICBpZiAoaXNTVkdXM0NUZXN0KQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJRGVsZWdhdGUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9VSURlbGVnYXRlLmgKaW5kZXggYjVmMTI5YWFlMDBkZDgxZmExZWMwZmI1MDAyM2I0
OWRiOGQyYjEwYi4uOWI2NDg0ZWE1MDVlN2QxM2FiYTIwMTRlZDVmZjBmMTYyZGFkNTBkNiAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJRGVsZWdhdGUuaAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlEZWxlZ2F0ZS5oCkBAIC0zMywxMyArMzMsMTMgQEAKICNl
bmRpZgogCiBAaW50ZXJmYWNlIFVJRGVsZWdhdGUgOiBOU09iamVjdCB7Ci0KIEBwcml2YXRlCi0g
ICAgTlNSZWN0IG1fZnJhbWU7CisgICAgTlNQb2ludCB3aW5kb3dPcmlnaW47CiAgICAgTlNNdXRh
YmxlU2V0ICptX3BlbmRpbmdHZW9sb2NhdGlvblBlcm1pc3Npb25MaXN0ZW5lcnM7CiAgICAgTlNU
aW1lciAqbV90aW1lcjsKIH0KIAorLSAodm9pZClyZXNldFdpbmRvd09yaWdpbjsKIC0gKHZvaWQp
ZGlkU2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbjsKIC0gKGludCludW1iZXJPZlBlbmRpbmdH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0czsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1VJRGVsZWdhdGUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlE
ZWxlZ2F0ZS5tbQppbmRleCA2NzY5MzAzYTVkYTg2M2JiZjY1YWExZTNmZTk1ZjBmMTY0YTZkMDcw
Li4zYzI4OTdmMjY4NWM3MjA4ODUxMjYxYmQ0MWZjOTZlZTk1MDFiOWZhIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlEZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvVUlEZWxlZ2F0ZS5tbQpAQCAtNTIsMTQgKzUyLDIyIEBAIER1bXBSZW5kZXJU
cmVlRHJhZ2dpbmdJbmZvICpkcmFnZ2luZ0luZm8gPSBuaWw7CiAKIEBpbXBsZW1lbnRhdGlvbiBV
SURlbGVnYXRlCiAKKy0gKHZvaWQpcmVzZXRXaW5kb3dPcmlnaW4KK3sKKyAgICB3aW5kb3dPcmln
aW4gPSBOU1plcm9Qb2ludDsKK30KKwogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVy
IHNldEZyYW1lOihOU1JlY3QpZnJhbWUKIHsKLSAgICBtX2ZyYW1lID0gZnJhbWU7CisgICAgLy8g
RklYTUU6IERvIHdlIG5lZWQgdG8gcmVzaXplIGFuIE5TV2luZG93IHRvbz8KKyAgICB3aW5kb3dP
cmlnaW4gPSBmcmFtZS5vcmlnaW47CisgICAgW3NlbmRlciBzZXRGcmFtZVNpemU6ZnJhbWUuc2l6
ZV07CiB9CiAKIC0gKE5TUmVjdCl3ZWJWaWV3RnJhbWU6KFdlYlZpZXcgKilzZW5kZXIKIHsKLSAg
ICByZXR1cm4gbV9mcmFtZTsKKyAgICBOU1NpemUgc2l6ZSA9IFtzZW5kZXIgZnJhbWVdLnNpemU7
CisgICAgcmV0dXJuIE5TTWFrZVJlY3Qod2luZG93T3JpZ2luLngsIHdpbmRvd09yaWdpbi55LCBz
aXplLndpZHRoLCBzaXplLmhlaWdodCk7CiB9CiAKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAq
KXNlbmRlciBhZGRNZXNzYWdlVG9Db25zb2xlOihOU0RpY3Rpb25hcnkgKilkaWN0aW9uYXJ5IHdp
dGhTb3VyY2U6KE5TU3RyaW5nICopc291cmNlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcAppbmRleCBmMzE2ZTc2YTE1YjVkMDBmNzMyOWZk
ZTMwN2MzYmE2NjliM2Y5NGU5Li40ODU5NzYyN2U5ZTRlYjBiMDIyMGNiMDQwOWY4MjljY2RjNzU4
MDY0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZp
ZXdFZmwuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmll
d0VmbC5jcHAKQEAgLTgzLDYgKzgzLDcgQEAgUGxhdGZvcm1XZWJWaWV3Ojp+UGxhdGZvcm1XZWJW
aWV3KCkKIAogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnJlc2l6ZVRvKHVuc2lnbmVkIHdpZHRoLCB1
bnNpZ25lZCBoZWlnaHQpCiB7CisgICAgLy8gRklYTUU6IERvbid0IHdlIG5lZWQgdG8gcmVzaXpl
IHRoZSB3aW5kb3cgdG9vPwogICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShtX3ZpZXcsIHdpZHRoLCBo
ZWlnaHQpOwogfQogCkBAIC0xMTMsNiArMTE0LDcgQEAgV0tSZWN0IFBsYXRmb3JtV2ViVmlldzo6
d2luZG93RnJhbWUoKQogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OnNldFdpbmRvd0ZyYW1lKFdLUmVj
dCBmcmFtZSkKIHsKICAgICBlY29yZV9ldmFzX21vdmVfcmVzaXplKG1fd2luZG93LCBmcmFtZS5v
cmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVp
Z2h0KTsKKyAgICBldmFzX29iamVjdF9yZXNpemUobV92aWV3LCB3aWR0aCwgaGVpZ2h0KTsKIH0K
IAogdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmFkZENocm9tZUlucHV0RmllbGQoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAKaW5kZXggMzI0
Mjg3ZWM5NzQzZWMwMzg3ZDMwZWE3MjY5ZDM0NmI5ZjIzZDQzMS4uNzE0ZWM2NWRhMDU1NWI2Y2Q2
NjhiM2IxZmE0NDlhY2IyYTdjYjE5NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3BwCkBAIC01OCw2ICs1OCw4IEBAIFBsYXRmb3JtV2Vi
Vmlldzo6flBsYXRmb3JtV2ViVmlldygpCiAKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVU
byh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQogeworICAgIC8vIEZJWE1FOiBEb24n
dCB3ZSBuZWVkIHRvIHJlc2l6ZSB0aGUgd2luZG93IHRvbz8KKwogICAgIEd0a0FsbG9jYXRpb24g
c2l6ZSA9IHsgMCwgMCwgc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCksIHN0YXRpY19jYXN0PGludD4o
aGVpZ2h0KSB9OwogICAgIGd0a193aWRnZXRfc2l6ZV9hbGxvY2F0ZShtX3dpbmRvdywgJnNpemUp
OwogICAgIGd0a193aW5kb3dfcmVzaXplKEdUS19XSU5ET1cobV93aW5kb3cpLCB3aWR0aCwgaGVp
Z2h0KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2Vi
Vmlld0lPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lP
Uy5tbQppbmRleCA0Njk3NjZmMGEyNDI1OGFiZDhlMzMzZDcxYTRhYzUyNWUxY2Y4ZjIwLi5lMTk5
NzlmZmZiYmIxM2JkYWQ1MDA1Y2U3Yjg1YmNiMTk1MTllZThkIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCkBAIC0xMzMsMTEgKzEzMywx
MCBAQCBQbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyhXS0NvbnRleHRSZWYgY29udGV4
dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFnZUdybwogCiB2b2lkIFBsYXRmb3JtV2ViVmlldzo6cmVz
aXplVG8odW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCkKIHsKLSAgICBDR1JlY3Qgd2lu
ZG93RnJhbWUgPSBbbV93aW5kb3cgZnJhbWVdOwotICAgIHdpbmRvd0ZyYW1lLnNpemUud2lkdGgg
PSB3aWR0aDsKLSAgICB3aW5kb3dGcmFtZS5zaXplLmhlaWdodCA9IGhlaWdodDsKLSAgICBbbV93
aW5kb3cgc2V0RnJhbWU6d2luZG93RnJhbWVdOwotICAgIFttX3ZpZXcgc2V0RnJhbWU6Q0dSZWN0
TWFrZSgwLCAwLCB3aWR0aCwgaGVpZ2h0KV07CisgICAgV0tSZWN0IGZyYW1lID0gd2luZG93RnJh
bWUoKTsKKyAgICBmcmFtZS5zaXplLndpZHRoID0gd2lkdGg7CisgICAgZnJhbWUuc2l6ZS5oZWln
aHQgPSBoZWlnaHQ7CisgICAgc2V0V2luZG93RnJhbWUoZnJhbWUpOwogfQogCiBQbGF0Zm9ybVdl
YlZpZXc6On5QbGF0Zm9ybVdlYlZpZXcoKQpAQCAtMTc0LDYgKzE3Myw3IEBAIFdLUmVjdCBQbGF0
Zm9ybVdlYlZpZXc6OndpbmRvd0ZyYW1lKCkKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpzZXRXaW5k
b3dGcmFtZShXS1JlY3QgZnJhbWUpCiB7CiAgICAgW21fd2luZG93IHNldEZyYW1lOkNHUmVjdE1h
a2UoZnJhbWUub3JpZ2luLngsIGZyYW1lLm9yaWdpbi55LCBmcmFtZS5zaXplLndpZHRoLCBmcmFt
ZS5zaXplLmhlaWdodCldOworICAgIFttX3ZpZXcgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBm
cmFtZS5zaXplLndpZHRoLCBmcmFtZS5zaXplLmhlaWdodCldOwogfQogCiB2b2lkIFBsYXRmb3Jt
V2ViVmlldzo6ZGlkSW5pdGlhbGl6ZUNsaWVudHMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IGNkOWFjMWM1Y2UyOWIzM2VhNjhl
OWZkYTBkZTA0ODNhZDNiY2I3ZTcuLjEzNmY1NzM3NmRhMTU0NGM4YmM4YWQwMTU4YWFhYTc0YTU5
ZDEzZGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2Vi
Vmlld01hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZp
ZXdNYWMubW0KQEAgLTE1MywxNiArMTUzLDE1IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1X
ZWJWaWV3KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvCiAK
IHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVUbyh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQg
aGVpZ2h0KQogewotICAgIE5TUmVjdCB3aW5kb3dGcmFtZSA9IFttX3dpbmRvdyBmcmFtZV07Ci0g
ICAgd2luZG93RnJhbWUuc2l6ZS53aWR0aCA9IHdpZHRoOwotICAgIHdpbmRvd0ZyYW1lLnNpemUu
aGVpZ2h0ID0gaGVpZ2h0OwotICAgIFttX3dpbmRvdyBzZXRGcmFtZTp3aW5kb3dGcmFtZSBkaXNw
bGF5OllFU107Ci0gICAgW21fdmlldyBzZXRGcmFtZTpOU01ha2VSZWN0KDAsIDAsIHdpZHRoLCBo
ZWlnaHQpXTsKKyAgICBXS1JlY3QgZnJhbWUgPSB3aW5kb3dGcmFtZSgpOworICAgIGZyYW1lLnNp
emUud2lkdGggPSB3aWR0aDsKKyAgICBmcmFtZS5zaXplLmhlaWdodCA9IGhlaWdodDsKKyAgICBz
ZXRXaW5kb3dGcmFtZShmcmFtZSk7CiB9CiAKIFBsYXRmb3JtV2ViVmlldzo6flBsYXRmb3JtV2Vi
VmlldygpCiB7Ci0gICAgbV93aW5kb3cucGxhdGZvcm1XZWJWaWV3ID0gMDsKKyAgICBtX3dpbmRv
dy5wbGF0Zm9ybVdlYlZpZXcgPSBudWxscHRyOwogICAgIFttX3dpbmRvdyBjbG9zZV07CiAgICAg
W21fd2luZG93IHJlbGVhc2VdOwogICAgIFttX3ZpZXcgcmVsZWFzZV07CkBAIC0xOTQsNiArMTkz
LDcgQEAgV0tSZWN0IFBsYXRmb3JtV2ViVmlldzo6d2luZG93RnJhbWUoKQogdm9pZCBQbGF0Zm9y
bVdlYlZpZXc6OnNldFdpbmRvd0ZyYW1lKFdLUmVjdCBmcmFtZSkKIHsKICAgICBbbV93aW5kb3cg
c2V0RnJhbWU6TlNNYWtlUmVjdChmcmFtZS5vcmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1l
LnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVpZ2h0KSBkaXNwbGF5OllFU107CisgICAgW21fdmll
dyBzZXRGcmFtZTpOU01ha2VSZWN0KDAsIDAsIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUu
aGVpZ2h0KV07CiB9CiAKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpkaWRJbml0aWFsaXplQ2xpZW50
cygpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMDFlYjU5MTBiMzIxZDIyNjJhYzY5ODg5ZWYxYmZlMzViMjUyOTQ0Ny4uMjcz
ZDZkYzExNDJjZTIyMzNlZDNiZTZlYzc4Y2I5YjJlNmMzZDEwMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYy
IEBACisyMDE0LTA1LTMxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAg
ICBWaWV3cG9ydCBwZXJjZW50YWdlIHRlc3RzIHRoYXQgcmVzaXplIHRoZSB2aWV3cG9ydCBhcmUg
Zmxha3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
MzM1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Y3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvcmVzb3VyY2VzL3Jlc2l6ZS10ZXN0Lmpz
OgorICAgICAgICBBZGRlZCBjb2RlIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBkaWZmZXJlbmNlIGJl
dHdlZW4gaW5uZXJXaWR0aC9IZWlnaHQgYW5kIG91dGVyV2lkdGgvSGVpZ2h0CisgICAgICAgIHNv
IHRoaXMgd29ya3Mgd2VsbCBpbiBhIGJyb3dzZXIgd2luZG93LiBBZGRlZCBjb2RlIHRvICJ3YXJt
IHVwIiBzbyB0aGUgZmlyc3QgcmVzaXplIHRyaWdnZXJzCisgICAgICAgIGEgcmVzaXplIGV2ZW50
LiBUd2Vha2VkIHN0eWxlIG9mIHRoZSBjb2RlIGEgYml0LiBVc2UgcmVzaXplIGV2ZW50cyB0byBh
dm9pZCBmbGFraW5lc3MgZHVlCisgICAgICAgIHRvIHJhY2UgY29uZGl0aW9ucy4gT25lIHRoaW5n
IEkgZGlkIG5vdCBmaXggaXMgdGhlICJvdXQgb2Ygb3JkZXIiIHByb2JsZW0gd2hlcmUgYWxsIHRo
ZQorICAgICAgICB0ZXN0IHJlc3VsdHMgZ2V0IHdyaXR0ZW4gb3V0IGFmdGVyIHRoZSB3b3JkcyBU
RVNUIENPTVBMRVRFLgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0
aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLWFub255bW91cy1ibG9jay1leHBlY3RlZC50
eHQ6CisgICAgICAgIFVwZGF0ZWQgZHVlIHRvIGNoYW5nZXMgdG8gdGhlIHVuZGVybHlpbmcgdGVz
dCBtYWNoaW5lcnksIGFuZCBhbHNvIHRvIHNob3cgYWN0dWFsIGV4cGVjdGVkIHN1Y2Nlc3MuCisg
ICAgICAgIFRoZSBvbGQgcmVzdWx0cyBzYWlkIFBBU1Mgd2l0aCB2YXJpb3VzIG9idmlvdXNseSB3
cm9uZyByZXN1bHRzLgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0
aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLWFub255bW91cy1ibG9jay5odG1sOgorICAg
ICAgICBDaGFuZ2VkIHRoaXMgdGVzdCB0byB1c2UgdGhlIHNoYXJlZCByZXNpemUtdGVzdC5qcy4K
KworICAgICAgICAqIGNzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy1wZXJjZW50LXNpemUtY2hpbGQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBVcGRhdGVkIGR1ZSB0byBjaGFuZ2VzIHRvIHRoZSB1bmRlcmx5aW5nIHRlc3QgbWFjaGluZXJ5
LCBhbmQgYWxzbyB0byBzaG93IGFjdHVhbCBleHBlY3RlZCBzdWNjZXNzLgorICAgICAgICBUaGUg
b2xkIHJlc3VsdHMgc2FpZCBQQVNTIHdpdGggdmFyaW91cyBvYnZpb3VzbHkgd3JvbmcgcmVzdWx0
cy4KKworICAgICAgICAqIGNzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0
LXBlcmNlbnRhZ2UtbGVuZ3Rocy1wZXJjZW50LXNpemUtY2hpbGQuaHRtbDoKKyAgICAgICAgU3Ry
ZWFtbGluZWQgdGhpcyB0ZXN0IGEgbGl0dGxlLgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1w
ZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlbGF0aXZlLWZv
bnQtc2l6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgZHVlIHRvIGNoYW5nZXMgdG8g
dGhlIHVuZGVybHlpbmcgdGVzdCBtYWNoaW5lcnksIGFuZCBhbHNvIHRvIHNob3cgYWN0dWFsIGV4
cGVjdGVkIHN1Y2Nlc3MuCisgICAgICAgIFRoZSBvbGQgcmVzdWx0cyBzYWlkIFBBU1Mgd2l0aCB2
YXJpb3VzIG9idmlvdXNseSB3cm9uZyByZXN1bHRzLgorCisgICAgICAgICogY3NzMy92aWV3cG9y
dC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlbGF0aXZl
LWZvbnQtc2l6ZS5odG1sOgorICAgICAgICBTdHJlYW1saW5lZCB0aGlzIHRlc3QgYSBsaXR0bGUu
CisKKyAgICAgICAgKiBjc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1w
ZXJjZW50YWdlLWxlbmd0aHMtcmVzaXplLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCBk
dWUgdG8gY2hhbmdlcyB0byB0aGUgdW5kZXJseWluZyB0ZXN0IG1hY2hpbmVyeSwgYW5kIGFsc28g
dG8gc2hvdyBib3RoIGV4cGVjdGVkIHN1Y2Nlc3MsCisgICAgICAgIGFuZCBzb21lIGV4cGVjdGVk
IGZhaWx1cmVzLiBUaGVzZSBmYWlsdXJlcyB3ZXJlIGdvaW5nIHVubm90aWNlZCBiZWZvcmUgc2lu
Y2UgdGhlIHRlc3QgZGlkbid0CisgICAgICAgIHN1Y2Nlc3NmdWxseSBkbyBhbnkgcmVzaXppbmcg
b2YgdGhlIHdlYiB2aWV3LgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxl
bmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlc2l6ZS5odG1sOgorICAgICAgICBT
dHJlYW1saW5lZCB0aGlzIHRlc3QgYSBsaXR0bGUuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5k
b3cvd2luZG93LXJlc2l6ZS1jb250ZW50cy1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgdG8gcmVmbGVj
dCB0aGUgdGVzdCBhY3R1YWxseQorICAgICAgICByZXNpemluZy4gVGhlIG9sZCB0ZXN0IHJlc3Vs
dHMgZXhwZWN0ZWQgbm8gcmVzaXppbmcgdG8gb2NjdXIuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1yZXNpemUtY29udGVudHMuaHRtbDogVXBkYXRlZCB0byB1c2UgYSByZXNpemUg
ZXZlbnQgaGFuZGxlciBzbyB0aGUKKyAgICAgICAgdGVzdCBjYW4gc3VjY2Vzc2Z1bGx5IHRlc3Qg
YXN5bmNocm9ub3VzIHJlc2l6ZXMgbGlrZSB0aGUgb25lcyBkb25lIGJ5IFdlYktpdDIuCisKKyAg
ICAgICAgKiBmYXN0L2RvbS9ydGwtc2Nyb2xsLXRvLWxlZnRtb3N0LWFuZC1yZXNpemUuaHRtbDog
VXBkYXRlZCB0byB1c2UgYSByZXNpemUgZXZlbnQgaGFuZGxlciBzbworICAgICAgICB0aGlzIGNh
biB0ZXN0IGFzeW5jaHJvbm91cyByZXNpemVzLiBBbHNvIGZpeGVkIGNvZGUgdGhhdCB3YXMgdHJl
YXRpbmcgdGhlIGFyZ3VtZW50cyB0byByZXNpemVUbworICAgICAgICBhcyBpZiB0aGV5IHdlcmUg
aW5uZXIgY29vcmRpbmF0ZXMgcmF0aGVyIHRoYW4gb3V0ZXIuIEhvd2V2ZXIsIHRoZSBidWcgdGhp
cyB0ZXN0cyBmb3IgaGFzIG5vdAorICAgICAgICBiZWVuIGZpeGVkLCBzbyBuZWVkIHRvIGV4cGVj
dCBmYWlsdXJlcy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBB
ZGRlZCBhIGZhaWx1cmUgZXhwZWN0aW9uIGZvciB0aGUgdGVzdCBhYm92ZS4KKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3Qt
ZXhwZWN0ZWQucG5nOiBVcGRhdGVkIHRvIGV4cGVjdCBhIHJlc3VsdAorICAgICAgICB0aGF0IHN1
Y2Nlc3NmdWxseSByZXNpemVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMv
d2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0OiBEaXR0by4KKwogMjAx
NC0wNS0zMCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFtHVEtdIERvbid0IHVzZSBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCkgaW4gYXJp
YS1zbGlkZXItcmVxdWlyZWQtYXR0cmlidXRlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9yZXNvdXJjZXMvcmVzaXplLXRlc3Qu
anMgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9yZXNvdXJj
ZXMvcmVzaXplLXRlc3QuanMKaW5kZXggMzQ5ZmI3NzI1NjVlN2I0MTU3YTc5YjMxMzc1OTNjZjBj
YTA5ODNkZC4uMjEzYWU5ODMxOWZlNDllN2E1MmJmMzlmZWM5N2I5NzYxY2ZmYmMxZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvcmVzb3Vy
Y2VzL3Jlc2l6ZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2Vu
dGFnZS1sZW5ndGhzL3Jlc291cmNlcy9yZXNpemUtdGVzdC5qcwpAQCAtMywyNSArMyw1NiBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0K
IAotZnVuY3Rpb24gcmVzaXplVGVzdChzaXplcywgdGVzdGZuKSB7Ci0gICAgaWYgKCFzaXplcy5s
ZW5ndGgpIHsKK2Z1bmN0aW9uIHJlc2l6ZVRlc3Qoc2l6ZXMsIHRlc3RGdW5jdGlvbikKK3sKKyAg
ICB2YXIgd2lkdGhEZWx0YTsKKyAgICB2YXIgaGVpZ2h0RGVsdGE7CisKKyAgICBmdW5jdGlvbiBw
ZXJmb3JtTmV4dFJlc2l6ZSgpCisgICAgeworICAgICAgICBpZiAoc2l6ZXMubGVuZ3RoKSB7Cisg
ICAgICAgICAgICByZXNpemVUbyhzaXplc1swXVswXSArIHdpZHRoRGVsdGEsIHNpemVzWzBdWzFd
ICsgaGVpZ2h0RGVsdGEpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAg
IHJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHJlc2l6ZUhhbmRsZXIpOwogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKLSAgICAgICAgcmV0dXJuOworICAgIH07CisKKyAgICBmdW5jdGlvbiByZXNpemVIYW5kbGVy
KCkKKyAgICB7CisgICAgICAgIHZhciBuZXh0U2l6ZSA9IHNpemVzLnNoaWZ0KCk7CisKKyAgICAg
ICAgc2hvdWxkRXZhbHVhdGVUbygiaW5uZXJXaWR0aCIsIG5leHRTaXplWzBdKTsKKyAgICAgICAg
c2hvdWxkRXZhbHVhdGVUbygiaW5uZXJIZWlnaHQiLCBuZXh0U2l6ZVsxXSk7CisKKyAgICAgICAg
dGVzdEZ1bmN0aW9uKCk7CisKKyAgICAgICAgcGVyZm9ybU5leHRSZXNpemUoKTsKKyAgICB9Owor
CisgICAgY29uc3Qgd2FybXVwV2lkdGggPSBvdXRlcldpZHRoICsgMTM7CisKKyAgICBmdW5jdGlv
biB3YXJtdXBEb25lKCkKKyAgICB7CisgICAgICAgIGlmIChvdXRlcldpZHRoICE9IHdhcm11cFdp
ZHRoKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB3aWR0aERlbHRhID0gb3V0ZXJXaWR0
aCAtIGlubmVyV2lkdGg7CisgICAgICAgIGhlaWdodERlbHRhID0gb3V0ZXJIZWlnaHQgLSBpbm5l
ckhlaWdodDsKKyAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgd2FybXVwRG9u
ZSk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcigicmVzaXplIiwgcmVzaXplSGFuZGxlcik7CisgICAgICAgICAgICBwZXJmb3Jt
TmV4dFJlc2l6ZSgpOworICAgICAgICB9LCAwKTsKICAgICB9CiAKLSAgICB2YXIgc2l6ZSA9IHNp
emVzLnNoaWZ0KCk7Ci0gICAgdmFyIHdpZHRoID0gc2l6ZVswXTsKLSAgICB2YXIgaGVpZ2h0ID0g
c2l6ZVsxXTsKLSAgICB3aW5kb3cucmVzaXplVG8od2lkdGgsIGhlaWdodCk7Ci0gICAgd2luZG93
LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewotICAgICAgICBzaG91bGRCZSgid2luZG93Lm91dGVy
V2lkdGgiLCAiIiArIHdpZHRoKTsKLSAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5vdXRlckhlaWdo
dCIsICIiICsgaGVpZ2h0KTsKLSAgICAgICAgdGVzdGZuKHNpemUpOwotICAgICAgICByZXNpemVU
ZXN0KHNpemVzLCB0ZXN0Zm4pOworICAgIGFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHdhcm11
cERvbmUpOworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICByZXNpemVUbyh3
YXJtdXBXaWR0aCwgb3V0ZXJIZWlnaHQpOwogICAgIH0sIDApOwogfQogCi1mdW5jdGlvbiBzdGFu
ZGFyZFJlc2l6ZVRlc3QodGVzdGZuKSB7Ci0gICAgcmVzaXplVGVzdChbWzgwMCwgNjAwXSwgWzkw
MCwgNjAwXSwgWzkwMCwgNjQwXSwgWzUwMCwgNjQwXSwgWzgwMCwgNjAwXV0sIHRlc3Rmbik7Citm
dW5jdGlvbiBzdGFuZGFyZFJlc2l6ZVRlc3QodGVzdEZ1bmN0aW9uKQoreworICAgIHJlc2l6ZVRl
c3QoW1s4MDAsIDYwMF0sIFs5MDAsIDYwMF0sIFs5MDAsIDY0MF0sIFs1MDAsIDY0MF0sIFs4MDAs
IDYwMF1dLCB0ZXN0RnVuY3Rpb24pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92
aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLWFu
b255bW91cy1ibG9jay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtYW5vbnltb3VzLWJs
b2NrLWV4cGVjdGVkLnR4dAppbmRleCA2MzBjMWUxYmI5ZWJiNWE5MWQzOGY0YTFhYjQzZjUyNDg0
ZDIwMTE5Li5iN2I2OTMwOGUyMTZkOWVkYTBjNTkwM2Y0NTA2MTFhYjdhNTIwNmM4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9y
dC1wZXJjZW50YWdlLWxlbmd0aHMtYW5vbnltb3VzLWJsb2NrLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJj
ZW50YWdlLWxlbmd0aHMtYW5vbnltb3VzLWJsb2NrLWV4cGVjdGVkLnR4dApAQCAtNiw0MSArNiw0
MSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRoIGlzIDgwMAotUEFT
UyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjAwCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFp
bmVyKS53aWR0aCBpcyAnNDAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5o
ZWlnaHQgaXMgJzMwMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJhbmRvbSkud2lkdGggaXMg
JzIwMHB4JwotUEFTUyB3aW5kb3cuaW5uZXJXaWR0aC8yIGlzID49IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdmaXJzdENvbnRlbnQnKS5vZmZzZXRXaWR0aAotUEFTUyB3aW5kb3cuaW5uZXJXaWR0
aC8yIGlzID49IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmRDb250ZW50Jykub2Zmc2V0
V2lkdGgKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgOTAwCi1QQVNTIHdpbmRvdy5vdXRlckhl
aWdodCBpcyA2MDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndpZHRoIGlzICc0
MDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmhlaWdodCBpcyAnMzAwcHgn
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGUocmFuZG9tKS53aWR0aCBpcyAnMjAwcHgnCi1QQVNTIHdp
bmRvdy5pbm5lcldpZHRoLzIgaXMgPj0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0Q29u
dGVudCcpLm9mZnNldFdpZHRoCi1QQVNTIHdpbmRvdy5pbm5lcldpZHRoLzIgaXMgPj0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZENvbnRlbnQnKS5vZmZzZXRXaWR0aAotUEFTUyB3aW5k
b3cub3V0ZXJXaWR0aCBpcyA5MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDY0MAotUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikud2lkdGggaXMgJzQwMHB4JwotUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0IGlzICczMDBweCcKLVBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShyYW5kb20pLndpZHRoIGlzICcyMDBweCcKLVBBU1Mgd2luZG93LmlubmVyV2lkdGgv
MiBpcyA+PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlyc3RDb250ZW50Jykub2Zmc2V0V2lk
dGgKLVBBU1Mgd2luZG93LmlubmVyV2lkdGgvMiBpcyA+PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2Vjb25kQ29udGVudCcpLm9mZnNldFdpZHRoCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRoIGlz
IDUwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjQwCi1QQVNTIGdldENvbXB1dGVkU3R5
bGUoY29udGFpbmVyKS53aWR0aCBpcyAnNDAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoY29u
dGFpbmVyKS5oZWlnaHQgaXMgJzMwMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJhbmRvbSku
d2lkdGggaXMgJzIwMHB4JwotUEFTUyB3aW5kb3cuaW5uZXJXaWR0aC8yIGlzID49IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmaXJzdENvbnRlbnQnKS5vZmZzZXRXaWR0aAotUEFTUyB3aW5kb3cu
aW5uZXJXaWR0aC8yIGlzID49IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmRDb250ZW50
Jykub2Zmc2V0V2lkdGgKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgODAwCi1QQVNTIHdpbmRv
dy5vdXRlckhlaWdodCBpcyA2MDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndp
ZHRoIGlzICc0MDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmhlaWdodCBp
cyAnMzAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocmFuZG9tKS53aWR0aCBpcyAnMjAwcHgn
Ci1QQVNTIHdpbmRvdy5pbm5lcldpZHRoLzIgaXMgPj0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2ZpcnN0Q29udGVudCcpLm9mZnNldFdpZHRoCi1QQVNTIHdpbmRvdy5pbm5lcldpZHRoLzIgaXMg
Pj0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZENvbnRlbnQnKS5vZmZzZXRXaWR0aAor
UEFTUyBpbm5lcldpZHRoIGlzIDgwMAorUEFTUyBpbm5lckhlaWdodCBpcyA2MDAKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndpZHRoIGlzICI0MDBweCIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShjb250YWluZXIpLmhlaWdodCBpcyAiMzAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5
bGUocmFuZG9tKS53aWR0aCBpcyAiMjAwcHgiCitQQVNTIGlubmVyV2lkdGggLyAyIGlzID49IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdENvbnRlbnQnKS5vZmZzZXRXaWR0aAorUEFTUyBp
bm5lcldpZHRoIC8gMiBpcyA+PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Vjb25kQ29udGVu
dCcpLm9mZnNldFdpZHRoCitQQVNTIGlubmVyV2lkdGggaXMgOTAwCitQQVNTIGlubmVySGVpZ2h0
IGlzIDYwMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikud2lkdGggaXMgIjQ1MHB4
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0IGlzICIzMDBweCIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShyYW5kb20pLndpZHRoIGlzICIyMjVweCIKK1BBU1MgaW5uZXJX
aWR0aCAvIDIgaXMgPj0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0Q29udGVudCcpLm9m
ZnNldFdpZHRoCitQQVNTIGlubmVyV2lkdGggLyAyIGlzID49IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzZWNvbmRDb250ZW50Jykub2Zmc2V0V2lkdGgKK1BBU1MgaW5uZXJXaWR0aCBpcyA5MDAK
K1BBU1MgaW5uZXJIZWlnaHQgaXMgNjQwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVy
KS53aWR0aCBpcyAiNDUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWln
aHQgaXMgIjMyMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHJhbmRvbSkud2lkdGggaXMgIjIy
NXB4IgorUEFTUyBpbm5lcldpZHRoIC8gMiBpcyA+PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Zmlyc3RDb250ZW50Jykub2Zmc2V0V2lkdGgKK1BBU1MgaW5uZXJXaWR0aCAvIDIgaXMgPj0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZENvbnRlbnQnKS5vZmZzZXRXaWR0aAorUEFTUyBp
bm5lcldpZHRoIGlzIDUwMAorUEFTUyBpbm5lckhlaWdodCBpcyA2NDAKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShjb250YWluZXIpLndpZHRoIGlzICIyNTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShjb250YWluZXIpLmhlaWdodCBpcyAiMzIwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocmFu
ZG9tKS53aWR0aCBpcyAiMTI1cHgiCitQQVNTIGlubmVyV2lkdGggLyAyIGlzID49IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmaXJzdENvbnRlbnQnKS5vZmZzZXRXaWR0aAorUEFTUyBpbm5lcldp
ZHRoIC8gMiBpcyA+PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Vjb25kQ29udGVudCcpLm9m
ZnNldFdpZHRoCitQQVNTIGlubmVyV2lkdGggaXMgODAwCitQQVNTIGlubmVySGVpZ2h0IGlzIDYw
MAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikud2lkdGggaXMgIjQwMHB4IgorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0IGlzICIzMDBweCIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShyYW5kb20pLndpZHRoIGlzICIyMDBweCIKK1BBU1MgaW5uZXJXaWR0aCAv
IDIgaXMgPj0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0Q29udGVudCcpLm9mZnNldFdp
ZHRoCitQQVNTIGlubmVyV2lkdGggLyAyIGlzID49IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
ZWNvbmRDb250ZW50Jykub2Zmc2V0V2lkdGgKIFRoaXMgaXMgZW5vdWdoIHRleHQgY29udGVudCB0
aGF0IGl0IHdpbGwgd3JhcCBhcm91bmQgaW4gdGhpcyBjb250YWluZXIuIFdlIG5lZWQgbG90cyBv
ZiBpdCB0byBhY2NvdW50IGZvciB2YXJpYW5jZXMgaW4gZm9udCBzaXplcy4KIFRoaXMgaXMgc29t
ZSBjb250ZW50IGluIGFuIGlubmVyIGRpdi4KIEFuZCBoZXJlIGlzIHNvbWUgbW9yZSBjb250ZW50
IHRoYXQgd2lsbCBhbHNvIHdyYXAgYXJvdW5kIGluIHRoaXMgY29udGFpbmVyLiBXZSBuZWVkIGxv
dHMgb2YgaXQgdG8gYWNjb3VudCBmb3IgdmFyaWFuY2VzIGluIGZvbnQgc2l6ZXMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9y
dC1wZXJjZW50YWdlLWxlbmd0aHMtYW5vbnltb3VzLWJsb2NrLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0
aHMtYW5vbnltb3VzLWJsb2NrLmh0bWwKaW5kZXggYjIxNzFjNmY4ZWFkNDNjYmQwOTA0YWRhMTky
Yjk4NjBjZGY4Mzk3Yi4uOGNjNjNkYzI1ZDM2NGY1M2U5OTg2NWJhZTE5YzA0ZGYwMTZiYWRkYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMv
dmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLWFub255bW91cy1ibG9jay5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy1hbm9ueW1vdXMtYmxvY2suaHRtbApAQCAtMjAsMzkgKzIwLDE1IEBACiAg
ICAgPC9kaXY+CiA8L2JvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzaXplLXRlc3QuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotfQot
CiBkZXNjcmlwdGlvbigiVGVzdCB2aWV3cG9ydCB1bml0IHNpemVzIHdvcmsgd2hlbiBhbiBhbm9u
eW1vdXMgYmxvY2sgaXMgaW52b2x2ZWQuIik7Ci0KLWZ1bmN0aW9uIHJlc2l6ZVRlc3Qoc2l6ZXMp
IHsKLSAgICBpZiAoIXNpemVzLmxlbmd0aCkgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBzaXplID0gc2l6ZXMuc2hp
ZnQoKTsKLSAgICB2YXIgd2lkdGggPSBzaXplWzBdOwotICAgIHZhciBoZWlnaHQgPSBzaXplWzFd
OwotICAgIHdpbmRvdy5yZXNpemVUbyh3aWR0aCwgaGVpZ2h0KTsKLSAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBtaW4gPSBNYXRoLm1pbih3aW5kb3cuaW5u
ZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KTsKLSAgICAgICAgdmFyIG1heCA9IE1hdGgubWF4
KHdpbmRvdy5pbm5lcldpZHRoLCB3aW5kb3cuaW5uZXJIZWlnaHQpOwotICAgICAgICBzaG91bGRC
ZSgid2luZG93Lm91dGVyV2lkdGgiLCAiIiArIHdpZHRoKTsKLSAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5vdXRlckhlaWdodCIsICIiICsgaGVpZ2h0KTsKLSAgICAgICAgc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCIsICInIiArIHdpbmRvdy5pbm5lcldpZHRoLzIg
KyAicHgnIik7Ci0gICAgICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lciku
aGVpZ2h0IiwgIiciICsgd2luZG93LmlubmVySGVpZ2h0LzIgKyAicHgnIik7Ci0gICAgICAgIHNo
b3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKHJhbmRvbSkud2lkdGgiLCAiJyIgKyB3aW5kb3cuaW5u
ZXJXaWR0aC80ICsgInB4JyIpOwotICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgi
d2luZG93LmlubmVyV2lkdGgvMiIsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlyc3RDb250
ZW50Jykub2Zmc2V0V2lkdGgiKTsKLSAgICAgICAgc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwo
IndpbmRvdy5pbm5lcldpZHRoLzIiLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZENv
bnRlbnQnKS5vZmZzZXRXaWR0aCIpOwotICAgICAgICByZXNpemVUZXN0KHNpemVzKTsKLSAgICB9
LCAwKTsKLX0KLQotcmVzaXplVGVzdChbWzgwMCwgNjAwXSwgWzkwMCwgNjAwXSwgWzkwMCwgNjQw
XSwgWzUwMCwgNjQwXSwgWzgwMCwgNjAwXV0pOwotCitzdGFuZGFyZFJlc2l6ZVRlc3QoZnVuY3Rp
b24gKCkgeworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShjb250
YWluZXIpLndpZHRoIiwgaW5uZXJXaWR0aCAvIDIgKyAicHgiKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQiLCBpbm5lckhlaWdo
dCAvIDIgKyAicHgiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5
bGUocmFuZG9tKS53aWR0aCIsIGlubmVyV2lkdGggLyA0ICsgInB4Iik7CisgICAgc2hvdWxkQmVH
cmVhdGVyVGhhbk9yRXF1YWwoImlubmVyV2lkdGggLyAyIiwgImRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmaXJzdENvbnRlbnQnKS5vZmZzZXRXaWR0aCIpOworICAgIHNob3VsZEJlR3JlYXRlclRo
YW5PckVxdWFsKCJpbm5lcldpZHRoIC8gMiIsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Vj
b25kQ29udGVudCcpLm9mZnNldFdpZHRoIik7Cit9KTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVy
Y2VudGFnZS1sZW5ndGhzLXBlcmNlbnQtc2l6ZS1jaGlsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdl
LWxlbmd0aHMtcGVyY2VudC1zaXplLWNoaWxkLWV4cGVjdGVkLnR4dAppbmRleCBlMzE4YmQ5ODA5
NmEzZDU5NDRjZmU1OGUwYjYxOGVkZDUxN2E0OTEwLi45OGU0Y2JhNDYwYWU2M2MyNTllN2E4ZDM3
MmNmMWZiZDUzOTM0MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2VudC1zaXpl
LWNoaWxkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVyY2VudC1zaXplLWNo
aWxkLWV4cGVjdGVkLnR4dApAQCAtNiwzNCArNiwzNCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNT
IHdpbmRvdy5vdXRlcldpZHRoIGlzIDgwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjAw
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAnNDAwcHgnCi1QQVNT
IGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQgaXMgJzMwMHB4JwotUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHBlcmNlbnQpLndpZHRoIGlzICcyMDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShwZXJjZW50KS5oZWlnaHQgaXMgJzE1MHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBp
cyA5MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYwMAotUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGNvbnRhaW5lcikud2lkdGggaXMgJzQwMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNv
bnRhaW5lcikuaGVpZ2h0IGlzICczMDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50
KS53aWR0aCBpcyAnMjAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuaGVpZ2h0
IGlzICcxNTBweCcKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgOTAwCi1QQVNTIHdpbmRvdy5v
dXRlckhlaWdodCBpcyA2NDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndpZHRo
IGlzICc0MDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmhlaWdodCBpcyAn
MzAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkud2lkdGggaXMgJzIwMHB4Jwot
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmhlaWdodCBpcyAnMTUwcHgnCi1QQVNTIHdp
bmRvdy5vdXRlcldpZHRoIGlzIDUwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjQwCi1Q
QVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAnNDAwcHgnCi1QQVNTIGdl
dENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQgaXMgJzMwMHB4JwotUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHBlcmNlbnQpLndpZHRoIGlzICcyMDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShwZXJjZW50KS5oZWlnaHQgaXMgJzE1MHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA4
MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYwMAotUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGNvbnRhaW5lcikud2lkdGggaXMgJzQwMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRh
aW5lcikuaGVpZ2h0IGlzICczMDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS53
aWR0aCBpcyAnMjAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuaGVpZ2h0IGlz
ICcxNTBweCcKK1BBU1MgaW5uZXJXaWR0aCBpcyA4MDAKK1BBU1MgaW5uZXJIZWlnaHQgaXMgNjAw
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAiNDAwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQgaXMgIjMwMHB4IgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKHBlcmNlbnQpLndpZHRoIGlzICIyMDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShwZXJjZW50KS5oZWlnaHQgaXMgIjE1MHB4IgorUEFTUyBpbm5lcldpZHRoIGlzIDkwMAor
UEFTUyBpbm5lckhlaWdodCBpcyA2MDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIp
LndpZHRoIGlzICI0NTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmhlaWdo
dCBpcyAiMzAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkud2lkdGggaXMgIjIy
NXB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmhlaWdodCBpcyAiMTUwcHgiCitQ
QVNTIGlubmVyV2lkdGggaXMgOTAwCitQQVNTIGlubmVySGVpZ2h0IGlzIDY0MAorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGNvbnRhaW5lcikud2lkdGggaXMgIjQ1MHB4IgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGNvbnRhaW5lcikuaGVpZ2h0IGlzICIzMjBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShwZXJjZW50KS53aWR0aCBpcyAiMjI1cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2Vu
dCkuaGVpZ2h0IGlzICIxNjBweCIKK1BBU1MgaW5uZXJXaWR0aCBpcyA1MDAKK1BBU1MgaW5uZXJI
ZWlnaHQgaXMgNjQwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS53aWR0aCBpcyAi
MjUwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQgaXMgIjMyMHB4
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLndpZHRoIGlzICIxMjVweCIKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS5oZWlnaHQgaXMgIjE2MHB4IgorUEFTUyBpbm5lcldp
ZHRoIGlzIDgwMAorUEFTUyBpbm5lckhlaWdodCBpcyA2MDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShjb250YWluZXIpLndpZHRoIGlzICI0MDBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250
YWluZXIpLmhlaWdodCBpcyAiMzAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCku
d2lkdGggaXMgIjIwMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmhlaWdodCBp
cyAiMTUwcHgiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2Vu
dGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1wZXJjZW50LXNpemUtY2hp
bGQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3Zp
ZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1wZXJjZW50LXNpemUtY2hpbGQuaHRtbAppbmRleCA4
ZTZjZDg1MWYwNjI5N2NiNjhhZGZmOThkMDIyNGFhMzlhNjViNjJhLi5iMzVmM2Y0NzkyNWM5Mjhm
ZDhlNmZkMDdhZDQ3YzFlYjRlM2Q3YzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3Zp
ZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcGVy
Y2VudC1zaXplLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJj
ZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXBlcmNlbnQtc2l6ZS1j
aGlsZC5odG1sCkBAIC0xOCwxMiArMTgsMTEgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVz
aXplLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQg
cGVyY2VudGFnZSBkaW1lbnNpb25zIHdvcmsgaW4gYSBjaGlsZCB3aXRoIGEgcGFyZW50IHdpdGgg
dmlld3BvcnQgdW5pdCBkaW1lbnNpb25zLiIpOwotCi1zdGFuZGFyZFJlc2l6ZVRlc3QoZnVuY3Rp
b24gKHNpemVzKSB7Ci0gICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS53
aWR0aCIsICInIiArIHdpbmRvdy5pbm5lcldpZHRoLzIgKyAicHgnIik7Ci0gICAgc2hvdWxkQmUo
ImdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQiLCAiJyIgKyB3aW5kb3cuaW5uZXJI
ZWlnaHQvMiArICJweCciKTsKLSAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50
KS53aWR0aCIsICInIiArIHdpbmRvdy5pbm5lcldpZHRoLzQgKyAicHgnIik7Ci0gICAgc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuaGVpZ2h0IiwgIiciICsgd2luZG93LmlubmVy
SGVpZ2h0LzQgKyAicHgnIik7CitzdGFuZGFyZFJlc2l6ZVRlc3QoZnVuY3Rpb24gKCkgeworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLndpZHRo
IiwgaW5uZXJXaWR0aCAvIDIgKyAicHgiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdl
dENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5oZWlnaHQiLCBpbm5lckhlaWdodCAvIDIgKyAicHgi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUocGVyY2VudCku
d2lkdGgiLCBpbm5lcldpZHRoIC8gNCArICJweCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS5oZWlnaHQiLCBpbm5lckhlaWdodCAvIDQgKyAi
cHgiKTsKIH0pOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdw
b3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVsYXRp
dmUtZm9udC1zaXplLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVy
Y2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250
LXNpemUtZXhwZWN0ZWQudHh0CmluZGV4IDUzNTRlOGYxOGJjYWRjNzVhMmYxMDAyYmMyNDk0MjZm
YjA1ODUyZTIuLmM3YTE3OWJmMmVmMWI2ZWM3YjIyMjc2MzRkNjRhNThlNGNlMTBkOTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdw
b3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250LXNpemUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0
LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250LXNpemUtZXhwZWN0ZWQudHh0CkBAIC02
LDI5ICs2LDI5IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMg
ODAwCi1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2MDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShjb250YWluZXIpLmZvbnRTaXplIGlzICc0MHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVt
cykuZm9udFNpemUgaXMgJzE2MHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHBlcmNlbnQpLmZv
bnRTaXplIGlzICcyMHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA5MDAKLVBBU1Mgd2lu
ZG93Lm91dGVySGVpZ2h0IGlzIDYwMAotUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lciku
Zm9udFNpemUgaXMgJzQwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBp
cyAnMTYwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgJzIw
cHgnCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRoIGlzIDkwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWln
aHQgaXMgNjQwCi1QQVNTIGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5mb250U2l6ZSBpcyAn
NDBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbXMpLmZvbnRTaXplIGlzICcxNjBweCcKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShwZXJjZW50KS5mb250U2l6ZSBpcyAnMjBweCcKLVBBU1Mgd2lu
ZG93Lm91dGVyV2lkdGggaXMgNTAwCi1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2NDAKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmZvbnRTaXplIGlzICc0MHB4JwotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGVtcykuZm9udFNpemUgaXMgJzE2MHB4JwotUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHBlcmNlbnQpLmZvbnRTaXplIGlzICcyMHB4JwotUEFTUyB3aW5kb3cub3V0ZXJXaWR0
aCBpcyA4MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlzIDYwMAotUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUgaXMgJzQwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5
bGUoZW1zKS5mb250U2l6ZSBpcyAnMTYwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2Vu
dCkuZm9udFNpemUgaXMgJzIwcHgnCitQQVNTIGlubmVyV2lkdGggaXMgODAwCitQQVNTIGlubmVy
SGVpZ2h0IGlzIDYwMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUg
aXMgIjQwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAiMTYwcHgi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgIjIwcHgiCitQQVNT
IGlubmVyV2lkdGggaXMgOTAwCitQQVNTIGlubmVySGVpZ2h0IGlzIDYwMAorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUgaXMgIjQ1cHgiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZW1zKS5mb250U2l6ZSBpcyAiMTgwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVy
Y2VudCkuZm9udFNpemUgaXMgIjIzcHgiCitQQVNTIGlubmVyV2lkdGggaXMgOTAwCitQQVNTIGlu
bmVySGVpZ2h0IGlzIDY0MAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNp
emUgaXMgIjQ1cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAiMTgw
cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgIjIzcHgiCitQ
QVNTIGlubmVyV2lkdGggaXMgNTAwCitQQVNTIGlubmVySGVpZ2h0IGlzIDY0MAorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUgaXMgIjI1cHgiCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAiMTAwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
cGVyY2VudCkuZm9udFNpemUgaXMgIjEzcHgiCitQQVNTIGlubmVyV2lkdGggaXMgODAwCitQQVNT
IGlubmVySGVpZ2h0IGlzIDYwMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9u
dFNpemUgaXMgIjQwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSBpcyAi
MTYwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUocGVyY2VudCkuZm9udFNpemUgaXMgIjIwcHgi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5n
dGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250LXNpemUuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy1yZWxhdGl2ZS1mb250LXNpemUuaHRtbAppbmRleCA5ODRiNjZjOGQ5
ZWM4M2VhY2U1ZWQzZTJjNDc3ZDMyZGM4ZDdlN2IwLi45NWI0MjZlMGZhYjMwM2QyMzQ4NDZiZWYx
ZmVlNWY2OWY4MmIxZTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVsYXRpdmUtZm9u
dC1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxl
bmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlbGF0aXZlLWZvbnQtc2l6ZS5odG1s
CkBAIC0yMCwxMiArMjAsMTAgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzaXplLXRlc3Qu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgcmVsYXRpdmUg
Zm9udCBzaXplcyB3b3JrIHdoZW4gdGhlIHBhcmVudCBpcyBpbiB2aWV3cG9ydCB1bml0cy4iKTsK
LQotc3RhbmRhcmRSZXNpemVUZXN0KGZ1bmN0aW9uIChzaXplKSB7Ci0gICAgICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZm9udFNpemUiLCAiJyIgKyBNYXRoLnJvdW5k
KHdpbmRvdy5pbm5lcldpZHRoLzIwKSArICJweCciKTsKLSAgICAgICAgc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoZW1zKS5mb250U2l6ZSIsICInIiArIE1hdGgucm91bmQod2luZG93LmlubmVy
V2lkdGgvNSkgKyAicHgnIik7Ci0gICAgICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKHBl
cmNlbnQpLmZvbnRTaXplIiwgIiciICsgTWF0aC5yb3VuZCh3aW5kb3cuaW5uZXJXaWR0aC80MCkg
KyAicHgnIik7CitzdGFuZGFyZFJlc2l6ZVRlc3QoZnVuY3Rpb24gKCkgeworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXIpLmZvbnRTaXplIiwgTWF0
aC5yb3VuZChpbm5lcldpZHRoIC8gMjApICsgInB4Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJnZXRDb21wdXRlZFN0eWxlKGVtcykuZm9udFNpemUiLCBNYXRoLnJvdW5kKGlubmVyV2lk
dGggLyA1KSArICJweCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRT
dHlsZShwZXJjZW50KS5mb250U2l6ZSIsIE1hdGgucm91bmQoaW5uZXJXaWR0aCAvIDQwKSArICJw
eCIpOwogfSk7Ci0KIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlc2l6
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVu
Z3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVzaXplLWV4cGVjdGVkLnR4dAppbmRl
eCAwZGFkMDJjYmVkOTVlYjA3ZmMwMTFkYzA1MjViNGYyZjE3ZmRkNGFlLi4yZjU3M2Y5ODhkNDBj
ZGVlOGI5Mzk5YjI4MDE5N2RkMTg0NTg2ZmY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMt
cmVzaXplLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtcmVzaXplLWV4cGVjdGVk
LnR4dApAQCAtNiwzNCArNiwzNCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi1QQVNTIHdpbmRvdy5vdXRl
cldpZHRoIGlzIDgwMAotUEFTUyB3aW5kb3cub3V0ZXJIZWlnaHQgaXMgNjAwCi1QQVNTIGdldENv
bXB1dGVkU3R5bGUodGVzdCkuZm9udFNpemUgaXMgJzMwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5
bGUodGVzdCkud2lkdGggaXMgJzQwMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1
ZG8sICc6YWZ0ZXInKS5tYXJnaW5MZWZ0IGlzICcxMjBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykucGFkZGluZ1JpZ2h0IGlzICcyMDBweCcKLVBBU1Mgd2lu
ZG93Lm91dGVyV2lkdGggaXMgOTAwCi1QQVNTIHdpbmRvdy5vdXRlckhlaWdodCBpcyA2MDAKLVBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6ZSBpcyAnMzBweCcKLVBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCBpcyAnNDAwcHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUo
dGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQgaXMgJzEyMHB4JwotUEFTUyBnZXRDb21w
dXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5wYWRkaW5nUmlnaHQgaXMgJzIwMHB4Jwot
UEFTUyB3aW5kb3cub3V0ZXJXaWR0aCBpcyA5MDAKLVBBU1Mgd2luZG93Lm91dGVySGVpZ2h0IGlz
IDY0MAotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLmZvbnRTaXplIGlzICczMHB4JwotUEFT
UyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLndpZHRoIGlzICc0MDBweCcKLVBBU1MgZ2V0Q29tcHV0
ZWRTdHlsZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykubWFyZ2luTGVmdCBpcyAnMTIwcHgnCi1QQVNT
IGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLnBhZGRpbmdSaWdodCBpcyAn
MjAwcHgnCi1QQVNTIHdpbmRvdy5vdXRlcldpZHRoIGlzIDUwMAotUEFTUyB3aW5kb3cub3V0ZXJI
ZWlnaHQgaXMgNjQwCi1QQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdCkuZm9udFNpemUgaXMgJzMw
cHgnCi1QQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdCkud2lkdGggaXMgJzQwMHB4JwotUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5tYXJnaW5MZWZ0IGlzICcxMjBw
eCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykucGFkZGluZ1Jp
Z2h0IGlzICcyMDBweCcKLVBBU1Mgd2luZG93Lm91dGVyV2lkdGggaXMgODAwCi1QQVNTIHdpbmRv
dy5vdXRlckhlaWdodCBpcyA2MDAKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6
ZSBpcyAnMzBweCcKLVBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCBpcyAnNDAwcHgn
Ci1QQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQg
aXMgJzEyMHB4JwotUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5w
YWRkaW5nUmlnaHQgaXMgJzIwMHB4JworUEFTUyBpbm5lcldpZHRoIGlzIDgwMAorUEFTUyBpbm5l
ckhlaWdodCBpcyA2MDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6ZSBpcyAi
MzBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCBpcyAiNDAwcHgiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQgaXMgIjEy
MHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5wYWRkaW5n
UmlnaHQgaXMgIjIwMHB4IgorUEFTUyBpbm5lcldpZHRoIGlzIDkwMAorUEFTUyBpbm5lckhlaWdo
dCBpcyA2MDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6ZSBpcyAiMzBweCIK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCBpcyAiNDUwcHgiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQgaXMgIjEyMHB4Igor
RkFJTCBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5wYWRkaW5nUmlnaHQg
c2hvdWxkIGJlIDIyNXB4LiBXYXMgMjAwcHguCitQQVNTIGlubmVyV2lkdGggaXMgOTAwCitQQVNT
IGlubmVySGVpZ2h0IGlzIDY0MAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLmZvbnRTaXpl
IGlzICIzMnB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QpLndpZHRoIGlzICI0NTBweCIK
K0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykubWFyZ2luTGVmdCBz
aG91bGQgYmUgMTI4cHguIFdhcyAxMjBweC4KK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNl
dWRvLCAnOmFmdGVyJykucGFkZGluZ1JpZ2h0IHNob3VsZCBiZSAyMjVweC4gV2FzIDIwMHB4Lgor
UEFTUyBpbm5lcldpZHRoIGlzIDUwMAorUEFTUyBpbm5lckhlaWdodCBpcyA2NDAKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXN0KS5mb250U2l6ZSBpcyAiMzJweCIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXN0KS53aWR0aCBpcyAiMjUwcHgiCitGQUlMIGdldENvbXB1dGVkU3R5bGUodGVzdHBz
ZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQgc2hvdWxkIGJlIDEwMHB4LiBXYXMgMTIwcHguCitG
QUlMIGdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLnBhZGRpbmdSaWdodCBz
aG91bGQgYmUgMTYwcHguIFdhcyAyMDBweC4KK1BBU1MgaW5uZXJXaWR0aCBpcyA4MDAKK1BBU1Mg
aW5uZXJIZWlnaHQgaXMgNjAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdCkuZm9udFNpemUg
aXMgIjMwcHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUodGVzdCkud2lkdGggaXMgIjQwMHB4Igor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5tYXJnaW5MZWZ0IGlz
ICIxMjBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNldWRvLCAnOmFmdGVyJykucGFk
ZGluZ1JpZ2h0IGlzICIyMDBweCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlc2l6
ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvdmll
d3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXJlc2l6ZS5odG1sCmluZGV4IGI1ODEwZGY0MDY4NGUx
MDczMWRmNTViNDAyMTA2NjE0MmU3ODhjZjEuLmIwMjlmMjNjYTEyNTBmYmZmN2IyMmQ1OWExYWFi
ZThjYjg1MDFkMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2Vu
dGFnZS1sZW5ndGhzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy1yZXNpemUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy92aWV3cG9ydC1w
ZXJjZW50YWdlLWxlbmd0aHMtcmVzaXplLmh0bWwKQEAgLTE4LDEzICsxOCwxMyBAQAogPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNpemUtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIlRlc3QgdGhhdCB2aWV3cG9ydCBsZW5ndGhzIGFuZCBmb250IHNpemVzIHByb3Bl
cmx5IHJlc2l6ZSB3aXRoIHRoZSB2aWV3cG9ydC4iKTsKLXN0YW5kYXJkUmVzaXplVGVzdChmdW5j
dGlvbiAoc2l6ZSkgewotICAgICAgICB2YXIgbWluID0gTWF0aC5taW4od2luZG93LmlubmVyV2lk
dGgsIHdpbmRvdy5pbm5lckhlaWdodCk7Ci0gICAgICAgIHZhciBtYXggPSBNYXRoLm1heCh3aW5k
b3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KTsKLSAgICAgICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUodGVzdCkuZm9udFNpemUiLCAiJyIgKyB3aW5kb3cuaW5uZXJIZWlnaHQv
MjAgKyAicHgnIik7Ci0gICAgICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKHRlc3QpLndp
ZHRoIiwgIiciICsgd2luZG93LmlubmVyV2lkdGgvMiArICJweCciKTsKLSAgICAgICAgc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUodGVzdHBzZXVkbywgJzphZnRlcicpLm1hcmdpbkxlZnQiLCAi
JyIgKyBtaW4vNSArICJweCciKTsKLSAgICAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUo
dGVzdHBzZXVkbywgJzphZnRlcicpLnBhZGRpbmdSaWdodCIsICInIiArIG1heC80ICsgInB4JyIp
Oworc3RhbmRhcmRSZXNpemVUZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgbWluID0gTWF0aC5t
aW4oaW5uZXJXaWR0aCwgaW5uZXJIZWlnaHQpOworICAgIHZhciBtYXggPSBNYXRoLm1heChpbm5l
cldpZHRoLCBpbm5lckhlaWdodCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21w
dXRlZFN0eWxlKHRlc3QpLmZvbnRTaXplIiwgaW5uZXJIZWlnaHQgLyAyMCArICJweCIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0KS53aWR0aCIsIGlu
bmVyV2lkdGggLyAyICsgInB4Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21w
dXRlZFN0eWxlKHRlc3Rwc2V1ZG8sICc6YWZ0ZXInKS5tYXJnaW5MZWZ0IiwgbWluIC8gNSArICJw
eCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0cHNl
dWRvLCAnOmFmdGVyJykucGFkZGluZ1JpZ2h0IiwgbWF4IC8gNCArICJweCIpOwogfSk7CiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcmVz
aXplLWNvbnRlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcmVzaXplLWNvbnRlbnRzLWV4cGVjdGVkLnR4dAppbmRleCBmZTA5Yzk1NzBiZDllYzNh
Nzc5NDdmN2JiMjRjYThmMjM1NzVmYWZjLi44ZGYxNTUwOGFkMTNkOWJiYWM0Mjg5MDI1YjEwMDVh
NTkwMTA4Y2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXJlc2l6ZS1jb250ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1yZXNpemUtY29udGVudHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE4OiBJbml0aWFsIHJlZmVyZW5jZSBub2RlIGRpbWVu
c2lvbnMgODAwIHggNjAwCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEluY3JlYXNpbmcgd2lu
ZG93IHNpemUgYnkgMTAgeCAxMAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBQb3N0LXJlc2l6
ZSByZWZlcmVuY2Ugbm9kZSBkaW1lbnNpb25zIDgwMCB4IDYwMAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDIwOiBJbml0aWFsIHJlZmVyZW5jZSBub2RlIGRpbWVuc2lvbnMgODAwIHggNjAwCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjI6IEluY3JlYXNpbmcgd2luZG93IHNpemUgYnkgMTAgeCAxMAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBQb3N0LXJlc2l6ZSByZWZlcmVuY2Ugbm9kZSBkaW1l
bnNpb25zIDgxMCB4IDYxMAogVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSB5ZWxsb3cgcmVmZXJl
bmNlIERPTSBub2RlICh3aGljaCBzaG91bGQgYmUgYXMgYmlnIGFzIHRoZSB3aW5kb3cpIGdldHMg
cmVzaXplZCB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KIAogVG8gYXZvaWQgcmVsYXlvdXRz
IGFuZCByZXBhaW50cyBjYXVzZWQgYnkgRE9NLWJhc2VkIGxvZ2dpbmcsIGl0IGRvZXNuJ3Qgb3V0
cHV0IGFueXRoaW5nLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIGNvbmZpcm1hdGlvbiB0
aGF0IHRoZSBub2RlIGRpbWVuc2lvbnMgaW5jcmVhc2UgYnkgMTB4MTAuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS1jb250ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUtY29udGVudHMuaHRtbApp
bmRleCAwYWM3ODE5MWZlYmVkNTBjYmMxZjg5NDM1ZWUxOGUyN2ExZTFkY2YxLi45ZWQ3MzczNmZk
NDc1ZjM5MTI2MmMwMDU4MjMwMjI1NjhlMzZiYjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS1jb250ZW50cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcmVzaXplLWNvbnRlbnRzLmh0bWwKQEAgLTEyLDE1
ICsxMiwyNSBAQAogICAgIGRpbWVuc2lvbnMgaW5jcmVhc2UgYnkgMTB4MTAuPC9wPgogPC9kaXY+
CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KICAgICB2YXIgcmVmZXJlbmNlTm9kZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZlcmVuY2UnKTsKICAgICBjb25zb2xlLmxvZygn
SW5pdGlhbCByZWZlcmVuY2Ugbm9kZSBkaW1lbnNpb25zICcgKwogICAgICAgICByZWZlcmVuY2VO
b2RlLm9mZnNldFdpZHRoICsgJyB4ICcgKyByZWZlcmVuY2VOb2RlLm9mZnNldEhlaWdodCk7CiAg
ICAgY29uc29sZS5sb2coJ0luY3JlYXNpbmcgd2luZG93IHNpemUgYnkgMTAgeCAxMCcpOwotICAg
IHdpbmRvdy5yZXNpemVCeSgxMCwgMTApOwotICAgIGNvbnNvbGUubG9nKCdQb3N0LXJlc2l6ZSBy
ZWZlcmVuY2Ugbm9kZSBkaW1lbnNpb25zICcgKwotICAgICAgICByZWZlcmVuY2VOb2RlLm9mZnNl
dFdpZHRoICsgJyB4ICcgKyByZWZlcmVuY2VOb2RlLm9mZnNldEhlaWdodCk7CisgICAgYWRkRXZl
bnRMaXN0ZW5lcigncmVzaXplJywgZmluaXNoVGVzdCk7CisgICAgdmFyIHdpZHRoQmVmb3JlID0g
aW5uZXJXaWR0aDsKKyAgICByZXNpemVCeSgxMCwgMTApOworICAgIGZ1bmN0aW9uIGZpbmlzaFRl
c3QoKSB7CisgICAgICAgIGlmIChpbm5lcldpZHRoICE9IHdpZHRoQmVmb3JlICsgMTApCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGNvbnNvbGUubG9nKCdQb3N0LXJlc2l6ZSByZWZlcmVu
Y2Ugbm9kZSBkaW1lbnNpb25zICcgKworICAgICAgICAgICAgcmVmZXJlbmNlTm9kZS5vZmZzZXRX
aWR0aCArICcgeCAnICsgcmVmZXJlbmNlTm9kZS5vZmZzZXRIZWlnaHQpOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9CiA8L3NjcmlwdD4KIAogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vcnRsLXNjcm9sbC10by1sZWZ0bW9zdC1hbmQtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9ydGwtc2Nyb2xsLXRvLWxlZnRtb3N0LWFuZC1yZXNpemUuaHRtbAppbmRleCBm
MDdiYjI4MmQ4MDU0YTVmZWU1NDljYjM0MDUxYTMyZmVjMzYyYTgwLi44ZWYyMjQzNjRjYzAyMjlj
MWE1Y2E4MWRmMmM3ZmFhNzU5YTQyMDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9ydGwtc2Nyb2xsLXRvLWxlZnRtb3N0LWFuZC1yZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9ydGwtc2Nyb2xsLXRvLWxlZnRtb3N0LWFuZC1yZXNpemUuaHRtbApAQCAtNCw5
ICs0LDIxIEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiBvbmxvYWQgPSBmdW5j
dGlvbigpCiB7Ci0gICAgd2luZG93LnJlc2l6ZVRvKDI1MCwgd2luZG93LmlubmVySGVpZ2h0KTsK
LSAgICB3aW5kb3cuc2Nyb2xsVG8oLTEwMDAwMCwgMCk7Ci0gICAgd2luZG93LnJlc2l6ZVRvKDM1
MCwgd2luZG93LmlubmVySGVpZ2h0KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIC8vIEZJWE1FOiBGb3IgcHJlZGlj
dGFibGUgcmVzdWx0cywgd2UgbmVlZCB0byByZXNpemUgdG8gYSBrbm93biB2YWx1ZSBmb3IgaW5u
ZXJXaWR0aCwKKyAgICAvLyByYXRoZXIgdGhhbiBhc3N1bWluZyB0aGF0IGlubmVyV2lkdGggYW5k
IG91dGVyV2lkdGggYXJlIHRoZSBzYW1lLgorICAgIHJlc2l6ZVRvKDI1MCwgb3V0ZXJIZWlnaHQp
OworICAgIHNjcm9sbFRvKC0xMDAwMDAsIDApOworICAgIGFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6
ZScsIGZpbmlzaFRlc3QpOworICAgIHJlc2l6ZVRvKDM1MCwgb3V0ZXJIZWlnaHQpOworICAgIGZ1
bmN0aW9uIGZpbmlzaFRlc3QoKQorICAgIHsKKyAgICAgICAgaWYgKG91dGVyV2lkdGggIT0gMzUw
KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9CiB9CiA8L3NjcmlwdD4K
IDwvaGVhZD4KQEAgLTE2LDQgKzI4LDMgQEAgb25sb2FkID0gZnVuY3Rpb24oKQogICAgICAgICA8
L2Rpdj4KICAgICA8L2JvZHk+CiA8L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNTI4ZWNmNjcxNGEyZjA1MjgzYWE5MWExYTcwOGJmMzFmMDk0
ZDE5YS4uZjUyMTM3YzhiMzU2ZGY4NzRmYzQzN2UzYmYxYmIyYzFhZjg3N2JjNiAxMDA3NTUKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzNzIsMyArMTM3Miw3IEBA
IHdlYmtpdC5vcmcvYi8xMzI0OTEgWyBNb3VudGFpbkxpb24gXSBodHRwL3Rlc3RzL21lZGlhL2hs
cy92aWRlby1jb250cm9scy1saXZlLXN0CiBbIE1vdW50YWluTGlvbiBNYXZlcmlja3MgXSBodHRw
L3Rlc3RzL21pc2Mvd2VidGltaW5nLXNzbC5waHAgWyBTa2lwIF0KIFsgTW91bnRhaW5MaW9uIE1h
dmVyaWNrcyBdIGh0dHAvdGVzdHMvbWlzYy93ZWJ0aW1pbmctdHdvLXJlZGlyZWN0cy5waHAgWyBT
a2lwIF0KIFsgTW91bnRhaW5MaW9uIE1hdmVyaWNrcyBdIGZhc3QvcGVyZm9ybWFuY2UgWyBTa2lw
IF0KKworIyBUaGlzIHRlc3QsIG9yaWdpbmFsbHkgd3JpdHRlbiBmb3IgQ2hyb21pdW0sIGhpc3Rv
cmljYWxseSB3YXMgbm90IHRlc3RpbmcgYW55dGhpbmcgb24gTWFjIGJlY2F1c2UKKyMgcmVzaXpp
bmcgZGlkbid0IHdvcmsuIE5vdyB0aGUgdGVzdCBmYWlscy4gSSBiZWxpZXZlIHRoaXMgYnVnIHdh
cyBuZXZlciBmaXhlZCBmb3IgdGhlIE1hYyBwb3J0LgorZmFzdC9kb20vcnRsLXNjcm9sbC10by1s
ZWZ0bW9zdC1hbmQtcmVzaXplLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRl
c3QtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZHluYW1pYy93
aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC1leHBlY3RlZC5wbmcKaW5kZXggZmJhOTVhOWUz
YTIzOTNhMzY2MGQzMWZhZmMxOGQ3YjQxODA0YzExNC4uMmExMmM2OTMwNTA4OTY0MmYwYzhmMWZk
MGQxZDdmNDE5Yzk4ZjZkZiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE0NzU1Cnpj
bWVIT2BDcFJoYG5HTHlQTmxYP3c1WVU5KjtIPCtOZ2AtWDw+Xj5qcnp0SCRRYiRjZ2FtUihGV3My
TnFyWVM4JAp6Q090KUVFfnRzSlMjSCM1bDJNYCg1fEVPeU5ocFhjOV8pTik9OHlSRDZZdUJ3LTAj
YyMrezw7fSpUcUJMKFU3MkoKenw1KjFBOHlsTnRoeUo8JC0hP1cyWTtBMWoyaWtzUlNAfHd8Wnte
JWFgaG9FRD15TmdBPWhIRzBaRzNsdUI3SjxsCnpxZG1OJXFJU25kYEZPXjlOQjxaVjlxWns2ejJg
Pz9GRTd8V2Mlek5ZOS1sK3xfeF9NSVBhIy1UXy0qI287dDlXWgp6Sn1wa2wrR25DPCF1ITtncEtQ
OThVVX14eUJJXjVSMEBvSUxhNTVUUUdwcVYkX0k2RThWbVh0REhZNWV5a29UcEIKenFNMUFyUHJ3
eV5gZ0hzOU9tcTZgYDNyM3dIVXdVPG5QPDgxelBTMD1wVnhEWFBxJUhAUGBIQSU7X3RRaFA3OEgm
CnptVmUlb2BFfU9mJGtIcFN6WlBzQUMrNSNAcE45dzd7TkZQem1TOztaVCZWQTlOQkAxQlVEbXZM
cTY9K0haMm8/Nwp6ZVE7cGxWMmxYLV9ybik2RT9oYHtEcUxqcT1hPDwhM35zM3BVQ0ByMG8jODB+
WlBRKH5QZEY/PzJoalk9RyhpWnMKekwhXyVob2ReNzhPKTVOSGdgWUpUU2RfJXQ2cnl4QDc/c15N
dExOWXw1a0BnVTJnM1ZIQ05jLWRgMml6K3Jjb0tqCnpTO04mcEpFV3k7IyE7aShebDdwVlo7fm1H
bFYqTzx1PjtJMEM5R3h4MihuMjQ5QlUrIUR4eSE2Tyk7ZEtLYVgjSQp6amE2VXNjY0IqOVR4MF5t
KkVgcmpDU05IaCRwS2gyb2lDYFI4dzlFbUM7anN2V25Xcl9DVmcmPXdxN3toRSRBPUsKelkqTX5O
O25IK1ViUT5NNGUtUyN1NmZIeEE1NUslI0c1SF9tUl5RZWF1U3UkRXB5TiRIaUA3aFkyZCslKk5F
QyNiCno8UyVufXRLWEdSNzQhN05Ka3xoUXwze2R6SGx5WnpRSmd8TV48XzcwezMzeVVOVXpqMDBE
fCYjaiZsSiRgPGpNawp6TlNyamxkbGx3RUhnckhSZEVaeEk9bEFoPDxzfF4pdG5OYDVHb2ppWDlQ
IztBUU1TbTdxKDYqU3JqaDZjZk0/dG8KemEweiR3WWZ+aFl1T0VNUzRBYSl1bj1gX0BtQHspTjlw
UWc4P3FsWjQ0ZlBSYzY5WWs3TihsclJnRU1QTExkZldNCnpxMnRBPXpnNEEmKE8lITZrKWN4JDF2
P1A+S2F7U2g+fGg8VyY2RWdJSVo4cTdLa3t7THZuRTFNOXBlPnJTYF8mKAp6dCt8bXtMcFA0UDMh
U0RPMVBLLXM8KS1jSlN3IWhiOWRyRXZ3Zyl6bkk9KzNFcVpwXlRZbVlxX1glRUk0MElNTzYKem9X
Zkl+VS1xZT5AdDheSU41X2M/eFhoWEgwIXclV09jaHBqU0RCY1VSPDFuZ09ZNUomQXxzaDUxdTZq
UCg0cngjCnp7Q29IOC1nPnhIRlBSSyU0ZHsmbjJTOXhDUmwzcXNMR0lQRHN7KH1PRilqbkd6U3pn
S3o5I2twTVFpK3gwQENzZwp6JChgUj0wPDZxcGdFUUlTNSV0WX5JSG8/fERBPmN2P2h7R1htNDQw
TnkxfE41M1p2NnF7UUMyPig8d3EtP2ozWV4KelUtLSM1Zm5SaiM/UWsqdCpVZTd4dH1raEM2QWpX
ZExQaURPJjRhJTBDKn1kRlNCSj13JHpmPFJTbiR5Qnh8SFFECnpPVz9nWWZ8fDg+TkNnaVlleEA0
SjREcyViWTA1fHlKcE9raSNZbXNUOz19TEh2bXdlOT5TXk51bUchcEViUGZYcgp6M0MyVUhRO3E4
S2FmIUZnVHRBLTNwRz1oYDRrPndocT85YWBAcXd8LTdsbVdrSXh1c2s/OTluRFIyPU9BYC1xaEMK
ejckOTl+c1pCZnBeYXQlTDR3fEtAVmZAbj0xP0lLKEo7fUg9WW1eNFM8JGU9KXIyYl5FPTxDb3ly
dUlwbEFfVipDCnp4Vl88RFl9bHc7TU8weT0kJENwQDYjfGxabEMwJDUmMXBKSUpaY05Mbm8rRE83
bENkcDdkKW5TYF95X3EpPiVxJgp6Y0Ixe1dXc35XO3BJclBTISp2QV9sYS1Pb3k2bChkWH5KMnZ1
MHQxMTQ4P3VFRXw/M1Yod25eSjIpZiY9ZnxDMVQKekdqSTxCPl85KEkxVW5talVSbmgtZU5fSE5f
SyhxTk5WNSFzPHQycXF2VCppciFsKmw1QUZQe1oyakQ7fHV1dmFACnomT2QmcWt9Zm5VY318KSN3
IUUxeSNPejJ8YiF4UH0qUT1LTHMxRDdQIVFzZU8+fGxyVWZXU0VCMyt4Mz5LVjYmfAp6KjgwWkBT
YGcmWnY2THl1JT92eTQ0eTJnJnNJOFBLa0xkcyg0VmRYS3h5cmU+cENzQ1lJNExsZjtFZlZOODAr
KG0KempVTzIxc1hBNEtAcS1JR1pjb29Dbm12QkhxYSgzY2dfdiMhKnkoPCQhJWJCU3JZeHU7bihU
N1JxX31CfEBSbXlCCnpXM2BQVzE8dEAxK05wfChJKTs+MzNKaF5DNEBJODlqQ3FtdiRVa1hYSW9N
alQxLTFnQGAyYXxsMHpDOTBXVmllaAp6Sy1XNnhEcTAhYD5VZUdGWipPMEpYUlRMM2NES1k7RGRn
bWlYbFAhPEB4dldIclRVI1JfZ0lRai1MZnxyLW4rP30Kejw0STRjKW1jZ2RPOzVtTk0kS1VBdWo+
Zmc3fDUlMXBDe3RmU2l2Jmdjb3JgVSg+cFM4KXpgNT9OWS1mPExxNl8+CnolVEgkeEcqJiN4P2NE
NiNmNTV9MnJNM3dLUT8rUVA1WDhyUWZaLXhjfEdVbE1abi1SaDt0eGdWUiEmK15ZfTxJKwp6KEBO
KjZrYHRVR0pwLW84SzshU1pgV14pSWpCWjZ+JVlLfiZxY09KcVlPb2hoPmFXZlZiKiRLN0BxPU0w
TjJ1WTsKenllJj1UXn1ed2tIeGdZSGk8MG5seHF8YmU0N2NuVCFQP1QrLWsyRn1XaT19RlhWVUBx
b1BITTVWfnJhaGB0eEFHCno8WHc5T3pkJEJSPVdwanl1X28kKENEUSkpUUsybWBHRmY7PW9nZW5E
V143cWZAP34+eyNrflV1cGM1REVDczhAdgp6QH5kMnBwUjMwdGZIaVQyZlZVKTZrVWB1MnBTSUAq
KyMyNDdvcTMzTHQzPGlLemJkMDVMUUo8Zm1AJEBPSjApVyMKekEmaD17d3djT0kxUFBpPz5jV194
UDdxe0U8QzxvaHh4eUA+VERGflZxTX4wKVZ+STJVV3Y0am5mfG8oNEhDaC1NCnpHNHJ9cXlCTFU+
NyNLZmMyTHNIXnE2UyklVUwkZyk1QWx9aExsOUd6Yj9QaXxifjtFMVVDK2hPYTdvVD92clN9Mwp6
NFR8MWBnajI4Rldub1hvJUY7bnAmZGE2Yj0mT2xzZEtSLXFTO1ptdmY3cG1NNyFMej1NMTRhN0ck
akQoLWJ8PSYKejt2aFR1WFIlOCpWZmtjQ0lBUkZ9eVFCJTV5WmpYdWFOQGt3aHJ+OGNHTkAlSmVp
eW1La2c/PG1jOExhQ2M5MnR6CnpTdnwjcns/P3xKcT5Ra0Erdz9DKiZEMEk3c2pCQVh6b1Mka2lO
cCVMN3llRSsybVElaHBLejdTSXRsTjRKblB+Xgp6PzV7TlImc0JncWhlc2NvS3M2UHlWWXgwans7
aDFAeFN3ektOTGsoNHgwLWhpeDAwbExIaGVtZ1RnYWBoQ19oPGEKekFQMVBAQG1GQDd4ci12YlNY
OzR2U2VpT1JlPmR1ZTx2JDsyZCV3djJCUDxZRChJeyNDdjByb1NPfHp4elp9fFEhCnpOZm5mKUlG
RiN5cER1RUhNViMoKmFmVThqNH00bSVDRyZXRyZBJGB9bXl4NDs7XmNUfCpvQ00oXncmM0NEWDI4
JAp6RlVVNmtzfDlEWTRXKXxWMCYqPXhaJT44PXU3TklDP2xQODlZPFgjVypiVHtvLXphVTloZUE/
K3k8MGMha2hEe3MKenY9PnZxMyU1RjB6RzZBLUhoVzc+QT0rUU9mSnkwODJLOTR4TTV5IUtuJUEp
I2h+fSQxNHgzQHBgcmZxYkVVeypACnojTGZCR3VJOGdoTFBMa2NXZ2JpPHJtWmpJeDtZQmNHbX1U
XllMSUskRnJ4eCs5emVRclpPYSVHdldaKWhsdTtlMgp6eVFnTjlVX05YWFdZbmUrTUdkYTwzYEo9
Y0t2IU90REJyWUY8PTkxdG0tYU8xSXwqcUwwWVRkeSs0OFM8UkVZK3AKejR0WURvIUQmVUY0a31n
YGNJdWZ1RSpZVG11Yn41OW89MnQ1U1RhK1FFRyMtcmRGd09zVUVhdF57bXhKQkJNU2JjCnp5NSRm
Oz00T2R0YWo3dVIoOXk4QSpvUiUkO30kbmlePWcoPz5+JVVsQVJpcWc1blJlYlopPzhFVVF0cjUp
QCQoUgp6MlF7LVAjQndPPUZ0N2VvY0dBI2NzPmFie1V8cF9ic0MjYkc9X2tyOC01JSNeTiFzYFJB
XmZrJVphQVB8V2BPRWsKelFJTTJVMDkoNG5nNWpqWGR6ZFlPN1hvUWRxNHVfMW07UzhmWXcwQCtn
TjthSUhZNHp5WVg0Rj9xdHBGMig1OVlCCnpsU28ySzQ5P34/R3R3IXI7R0w5JHtyK21JRTRoTyhD
VDB3aHZkYFNsNUhzfVNTJG40flF2PGRvPnYxRUsrdSFBVwp6RTlEbUpYTENEJV5AXnglQjBGN3JI
bSU3QEVzMHFneipuSG9na3M9UWtEUlU7YXoqKiVIQHU8clFffWkja21AdE8KejNSSTVhPUchJEso
dWxid0F7WCRtMDh2UylLQVAoaUlta3Baa24malckazJFY3dLMDc3cmN3RnRRcmVwZEVhUGsqCno5
QjJvZmVsSjRFUypzZmg7WGpSODs8QkdQP097bUluPF9Naip3fTZSS0RRdTBjfUMjNGJ6Rm1AclFp
cEsyVGJhdgp6TEpjWTJISSo9MS14PHYtV3JHJkstPWApSGpyUWl+I3pXJH4ra2puTHFJSTA8X1pq
bHJEfSZfYGZSZTVnSnVRNyQKejZYP2AjdUVLd0RBK2BrSzxfRXpob3UoP29JcUMzNzVXRX1pOGpV
YCshfiY2YT9pWmhzXzcxLTJjR2s3OW1sPSsqCnpaQHZlZSV3ZCF9PzJUa35VZEpIZSo7Q2FCMjs9
OUg4azczbGJ0S2ReTmoxWHNEVTVgT2sjR1lITCE3SkZBMEA9MQp6QCQxQFlFSGJfcmFBdFhXSHZt
c0AmdF9jclV8bWlMSH1LeT89Mll6LUtjQXp8NVoweElxZkw1XyNkR051Mj5mKyEKenFWQ35GUCZi
YURjNipnOEc+aXlwU0hwT2xGJFchcjBJJHtBeDU5XkV4KEBJdSVBKWteRzV3ZSpwdjNrO3htJFMt
CnpsRXlrdjNMWlpjPmk1KDBFWHMtPUthJD5Xd1Y+fW4zMHBzPDlVVWpxMCsyY1UpZlB9ZWxPfHx1
eVJLSGB6TFBrXgp6OXEoO3RiJDZHa0ZVI3E1QHd8c0FNNmVvayVBMmN6RjVYWCRFfV8jUmpEayNf
UXZeMzd2PC0zUVMqd0x0M30jPSUKem4oZi19eVJ2fmw2cmRMPWxMX0ZaXmg9JDxxWGxzOW8zMUkz
cj4xUlVGJn4+MDU8bGF6dEo3d1BEd35zUm9RbVBXCnomXlFLbyFzNFdhITlfcHokM3oyZStTKChg
cEcmRFlNX18lU3tlIU5nRXNfU1JEVWxjWG0+UTJ6RkZ7fEFBJER3KQp6bHx7c0kmRTQ/NmAjaXgx
IXlJQWdBV1Z4TCU2bzhrNDw7QWR0aWB1JlpkUjVBVzZGRz8kaEUqcT1oQ3RgT2lNT3YKelhFfHFf
Rlo/UmNTLWhaM3ZTTDh1YzBgZ2I7VD9mPV9vIWEtWV9uNXhCYDc8aipzRiNqJmtTK0R0flEwZDFN
WCVmCnomWHBAWTZuQX1YU0pHfHV6Q0Q/QjE/V2ArdGBhfDtIbDshU1hMKUwmVDJNdVZIVWwtbE04
Zi1BRVl3WjNyTX44Wgp6Z0xgRkViKyl7WWNgZ3JPJVoyQlFLa2lRJVkzVXBYTUlGWjYrYHopaVVf
dzlSSHIjaWUlUlI7MF9Wd0haaU5CWE8KekVUMHYtNHVSR2tseTYtQHxGc3ZmQXc8P1c2U2ReekIt
RXs2Rzk2VDJZbmo+WGZeTyY0KUtLPUwpVD5oIy1mVzNyCnpfJkI/Xys9cjIpMHAjZz5mU2BgR3JI
Vj00MnAzanVZV1FnREF3PlVpY15yQClaSjcjJT5vWl44UmBTK1NRSjd5Qwp6ZVVaYk9ZMTRNemso
bVA1NWVmPXQ2Y15Qclg9Ml9nTiZwPnsmYldVTEZIUil7dFhZa0UhQ3JEai1NRjNkYzkkSkAKenkr
UE9RVy1uUFdQY3pyN2xEIXw+SzIrTnNiTnU+VGooNHJQcD1XR21ndH5TPVc/KkJeSEJPY1BgKzQ/
KmV3VTY7Cnp1SHJlQjlgVjFneGg4dVZTfFlvUmF9c3Z0WXM2YCopeTBQeHpyKzdtdjR2OXlmJER2
ekE7ZXhfb0ctM08pK3Z2Jgp6T0EqNEZfckZ4QEhAR3ooKkFjUTlzTHk4X2QqMjclJlJFISsjZGdp
Q0tIYnppU0l8WWdKVHlnSTY1b0IwbkU1X20KekV4Jj53JUwpYT8tUHRUKz9ZWTFEVjFsSSY4dVg4
KF9jTFU2anEkKGRhbiopK0JoZWRycERqRWtiSCpRRUJBZ3E/CnpObmJZczs/fXo9VEU/KmEoX3FK
JXwzTElRZyp8eW5AZDdRUU5zYX1KdWtCNWdqVjZDdnNAO1NHe2R4JHo+WVQ2YAp6RXVgOCVURTs3
Pl42NU49NUk9V05iZy1+UzJHaXpMJlo7V1BeSnQpOVA7fH5pR09pYD9YRnYodj45PV9DS28yPXoK
ejdfcGB9aWAlVFUlYUdXdlA7XjlnXmRyUEgxXmsrNW0rT05gI1VnfnpvR19XKGN9cld8VUg/aERE
SEMtMXV3I25VCnpHU2koRSs1dUBuZnxtRE5QME0hTkc0aCVOLVA2T1JZcGNVflZmQDdOcHhZdCpF
ZVJpTW9HI1V1UjhjeVFxMXFvfQp6Rkp6VmxAeHhrNXNeVEF+bHtHO2VBP0p1UG5tRyFtRDFKdTtK
anIjV0w8PHpDSGdBR2leNUFyZURISjFLaUN0MlIKemItZWVgYlYtbyMxbHdHUkJHP0gwQVVJOThG
Ti1vYWhDfDw9ZlI3IT17TElMaWozSkQ4bSVAcF9WcnE2aC1kdFJeCnpEa3ZsR3AzXj9gJDFTKTRJ
fH1GeVY3QklTOEstSmRGPVZYcU4jKlM5KmppM2pjaz0kKSVtOzVwJnN8KFVFRGR0Ywp6MmlBUiMy
V304bHdWan05RVN3PXB4Tm15a20taFNFcmxZVF5IQz5uWWBxdkpGeXxEZyRWcTJJZUtsMip6TzM0
a3EKeiM5TjY2WFckMVhUVnJvTHlTUGhNcEk7VUZndV4/YFc9eHNWNHw+WTdkUzl4Zmt9SHlQblVZ
XlJ4OzNrQCNNKHlZCnpNMSZyNkQmMkh+bFU1eHw4JjM7LWI0TlI5U0xWNkspY147U0JBUygxJFIt
WVNOXiRscD80KG0kb0FfRlNJeXt+Ygp6P18zLTtJVlVaRTFTND0yQUgyY3poPmR2REZzR315RVZS
cU5wPUBsVDZuKWIqJl40JnIpdldBZGk2bn5+UHU2VHwKenUwSzNte00wITROTEZoJkhNdFZUaTZZ
NWpXSk1CdTVKd15tRXZya3pHNDxwNlFPVj44c0YmQ0hzQlVvR0gkS0EhCnpxUjhzRUVrSEJJTml1
JUt2QVpXfUNnVEwyQF4tZGZFX0g/cCNtIXdTVjU2JUF0ZUNXR0ojMDdJbHBsWDdsVTJxRAp6Rms7
YWN6bG5mMFhQUV9iKUQzb24/NkZAIWIyfnYpJCo8MX5lVmkqJDYhTzt1YDM7Wjl4RzMjcU4mS3d4
MGt8Xm8KelJ0N1NvTUJwbkNKVUd5RS16JVJ9KmQ9X3J3IzAjWTRsYzxxNy0lSzNVbz1RdEdyUjtK
X01BT1lCSF5zWTNpQGFPCnpJNmZ6MEshUTVXKWgpRGo5R3AqcDElbTJfMVVWTWpOS1Ryc0NNYnUm
UTgwUT5CREg2Kld+WkhTP1l6eUlmOysxRAp6R3tJRD58RDE2M1ZhZClCPFpVNCNlQD18NTJpaTZU
ZTBhaFdaN0BSKlczKD0yPTx+WS09azFSMiNoTiRzRSFOdEQKelByPGdpUmJ6ZiVqMHU3QWAkSkdQ
KlU3XkZKQW43ek4jXiY+JHlYT3clJTh0NiZvbG5sRkIwMEVSdXghJDBiWkRUCno9ZnVYcEIoUzZW
MHQyXnNaYXduMWxKPFBMZ00tej8+WCo1a2JnKEFGVCFDNFchSX0oSyNJJnt2RDskM0w0YV5GTQp6
UnllZjZwJW82VGFBPGA/RHtyKXRXaCsxV3BUSkB6JVR9YGQqUmU1Y0dGWCRybmhhSlUqLURuSlda
Nm9WdHpfOXMKem1hU3lqTnx2bzsqLURuSldaOFFCIWd9ViFkYloqVkZabGxvaHdvPT9IZDFYP197
NGMhd0VYTVI9Rm93VntrOGtmCkdVaXZTI3JWa25iCgpsaXRlcmFsIDE2MTIwCnpjbWVIT1g8WDct
K2N2WVpheDE0V19nMzU3RHRBUjJHam1jSVRodmxCeDIjLTxSNzRpWlhfOFhZWDNWQTNOR3FMawp6
S2ByO0s2dldiYHFDYGFgcCtyU01MX3xkSiNoR1dHbmVYcTFfeC0+cDtRYXBRey01UEsqTGAzMmVZ
bz9weDRaZlYKei0zPn1nTzZuZGJqLTY2Y1Q1WVZQcjBsUHtSXklYdWBwWSU+JEcmKHN8TTstVzVu
KWtyMntCNjY7ZytHK21lIVgtCno1ODJ2VGhnfU1adXNtI2NCPCEldzV4ZWtrOChUWmV2VUB8UDxy
Y1ZDVHdRPG1hQ0o1UWA4eFIwbUZOZzFDRF5LNAp6WEdsQG5NfUxyNiQzRmtDTC1sLT1NbEl+IzR2
JXg/bSkkO0ZPRS1sXnNab3ZVLVJefVNfODVxQFdeP3p7Si1odmwKekBwMXBDOD5le1BAKG59eU90
fD9eeDZacm05V0NEKlNgMEFkem1ONS1lPlV+SEtVcHdwISRYMGdiUzNyY3BOPEdgCnpzQy1pPW8r
e2FOQl52cVQpdXIxP25JLUZ3OUAlfUNJXzxxez9hYFpZVmd6ZHR1OSpfeCtsNyFNKStTYXl7OGF5
Tgp6LUxGIVl1a0hfcl9FKy0ma1BZV0hFOGxqYzd3O3ArdEowWit2KHM2Mi1idGBHYigjbTlAYUp8
UVU5MyN8KE8hK0cKei18cl43KyZwMT5Va0V0YEVUcDkwcng+aWU1X19xO04yPzhWdWU3QylUT0x8
bT1zbUEtdWRRZTwrNTY9dnV5Y0ZvCnojJS0wKCN+YmZINUB2akhXYHZBQTltbDZTPkZaZHtFbk04
dnAhPEJtc2BIMG5FaWFSakdtcyVPYiQpKTgpT1lyJAp6VSN7Sj1lSFJ7YkJrdWVPNVhDY2dwJjdG
VndUR2dPVjxoX2VqM3M0aE1+OzRgQCFXPSRhVFhjfFlQeEM8KWxkQWEKejwpI3ZuVTtWUjdzLXYj
dWs9cENkSkltTVZXZ2B3SD83Rz8jQTl9M2pEOGhRZ3NsbiRkJX43XkAyanNxTW8kQnZQCnpNYGlu
UVokYU9hI0p6I2xnVEE4c2w/NHgqWFRMZlN6Q1VRdkhLZFN4bX5tYmdrVTV7Qio/I1cxNi1uXmNo
dHM7dwp6KHwmb0Q8Ryl5QztwM18kZUFEMlp6UHg9SUtNPEhfMXlkKH5PKm42OUwmcnY9OWg/fHVC
KHU3S3hYTEB9SG9nVVUKems8ek90Qi18SVIrMmQhJHBiSjkmUXNqR2w3LU9JMTkldmVDYDwqPDM4
VU9kZWxqUiMzN2h7TzNNTERWYUtFP2RECnp4YS1Uc2l3fDNjPTBWTkB1KHNvOUhLRVZfWkdFNTQr
ITNLV19sRi1UWVNJOE5XPkpZdGZOIUVTN0l2PylkR3l6dwp6MmhCMDNBdn4/KGgtYX5KUm15O2xr
RW9nWSpyK0dUd281QWhqXiRlYFBnIUEmVFVZNXJGPnUzKWVmaXx2LTFsfjsKekZiQT5PJjZEcCFQ
eGJ2d2J2PD44dllRZmRhX2g/blhHMTVVZ0FkM0N2SEhiIUtaQHtXS1NnOU87YHAxWXJQWmd6Cno7
KSt2NCQ9PHBIRFMzPEYqUjR7dypSYj9FTj1uOGA5PjxRSmZ2d2B1KT5NM2gzKWpzNlZVNm9sJWBf
N2U2SFI4Vwp6SEdKaSs9V18zVGplU0YtKEtmNEF5YGNweUUqSTRucCZKbSN4aE1ufDJ6Qjs/XjUq
KmJ1MUZeUE0jS1okcWJOUTUKeil2Sl9NUkpEdjxaWWFzV0t3WkE3SSN7U0B8TDVuUT9YUWlFWkB7
K3l7ZS0tIUkhc3gpQykxfXU+dDgqVVomT3pLCnp8ODItJmtNV0lab3gxZyN7eEt2c3FXLUAmUXRo
fDgyUD5OXjw2QGtiIyFoXytVUzZjbzhycEBHJnFUYVIyTXU8LQp6T3Yqeml1QyQ1PHJsVlUoX017
a19RNmF1I1M8MGlDMFFxO0cjbXZ7YTNUTXJPVz5FMSZCJnZfZGRidEpZRWFQWGYKenpJVDBERmkr
O0ViNXxRSnhRR2hxT1A4fDUhJjghWUd+QjY9IWEqVzRnJm95WkVKM1N0Nzd2NllOUnluLVN1M2so
CnpiU091eT8pZyMkdD5lT280aV4laTlTQ35mR0FnWDE4MVFlcVBpeHFIeVRgU3NHPGhmMXF6NlVv
cGVJaVQ1NFgrYwp6O0hKSWZPU0JXcjVrdE1YV31LVHdPSkJKVURYcnQ1QiUlUVdPb1RtRkl2dj4o
U0h1cGEjZWZtaUhZKjN9KVhPYHAKemRSLXA7UTw8fUxsOGE8SDFTZUtUMXMjWmFpOEZZUz1OdlNG
QC1NXz9pNUhMcWp8N0ZSYyVwbmRFdEt+OEl6YkNHCnpleU5DdWo3KTZtNFhTZE9jem07JlQqUXMx
eT9pOUJBazFNVUJQPUttey13Tkc2VFEkeUo0Yj5LbjYtejRGcU4kIQp6UTVtSFJOJFYkOzlmd0Z9
WVVQdG9jJH5SMT5EMzdhPVZPJnM9RyRIbUU2dE03dlhfIWhLPkxSX2JgV3BzZzVWKH4Kei1XQHBt
VGclQ3lzWiV1ZTF5TTZNJXQrIWRgcWpqLVNWRT1DMjUxdzxaS2t7dlVZeEVCRUxxdCpURVhhQ1gt
P0xWCnpVWlA+e1dhMDc+JVA1ejMhcmxKVVhuc3pOWGI+TXFlTldYa2hyUVZkWkQ9SHo9R0c2YyQx
TUR+XyhuNj9xNmpuZgp6OWMwcTFuSnk0bzhldkpwb1k9JmNrZ25JUT9QUjgzYClwM2pJXmF4N1My
Kn4zYzBxaCVXMHlmSDYpaDhCVE0obXkKek0+UDNqdSglPGIyIUdLY3JLOD45b2xqO2hiXjFOTVl+
NEZ7TlA4QGMqfE5SdngzMXBpTyE0YDsleUJ7NkIrUU5FCnpSbnw3aUVFVHtXcXBWfURldUsjSUoo
d24re15zQnZwO15TKj9hNmxDMU1oVmhDbFMlPmdSSnBlc2JvMWU1aEZCXwp6KVVkQVdsKXJVUmc0
NDE5eVI0Plp4QTY2NSVURTBlKUEhQkxmT2EmdXg8OVUwSkt0JTBYTHgtKHZ+Jjl9OTR8MU8KeiV6
YWBjb3J0Y0lxMnRObG1uamBHO1dCN3t0NXZXdzAmKGlreHFAKS1CRmxUWEF4P3pwcHUwS2RYbUt4
WDEtYjt1CnojMTI1eWlUakNxcjk1JkcrJHAqX3gmUnA0dXg3WmtYSnI+emxeVTlDY3lfYE9FSDhu
JSNWT0EjdTchUTFmYXBhYgp6KStZSXd4WkhUMVZwY3NMRnV3JXtCamcrPitJQ3d1cihjKldOaGpq
LUQ3TFF7X3NiazM2Njs/VVJaMiFoP0tVR0sKemAyPTRmbVk3RUxwb0xEcjE7X2E+eE1ibkFwNXZj
aW4oeVZtd3JMJHhyPnpJVUk9TFRRSDk1KG03Sjk8VWs7M3FNCnpnSnJYe2g3S3ZHbjM5Y01gbz83
ZEl1QCE7RSYrPU1KQ2txZmpYWjc8d2VlX2VVKVB2VmNxNHwlJmA1am9nUk8hcwp6PmF5OXFqYCtr
QHJhe1hKdn1oYktURWROITFOVEdYbDZqYCt1NCQ4fm5iTVooK1FXcllUQSprdEl+ZGNfVjI9KFgK
ek9fSSlQXmcxJWQ8PkxxN2tFWCotKnBLKWJrIXNtI3R8OSVmPyF5fHJIYndKdV5ZKW1ARmRJbWE2
JmkkXkleRUxICnpgcldrNHV0dDlGJEFoOVJOdlVVaG10fkBrNCNXdTRrVjA2QHFJX00hUnh5RChJ
JHpKbG4qYnBJMWYta042QTJWTgp6MiteZGlmTlJYc2QwOS10bjlrKzNlJXN3NWNxRDQybD52cCVx
aTA9WGg4RktvVWF2TnN4ZTtQbUJfQ3hYMis3ZEsKejVRJkNlc15jfTBVd3lMUnBKKDhBQ3ZtZz5f
SSNeRXluUSthc3hROyY8PTVkKkc1bX1PVkRDNzE9KD9HMUVRfjI4CnpwXzRAKUZ1KyZvN2h6PSV2
QDdgPzs/cGMxYDVuZDg2RzRzJG43M3MmdiZZI0pPcnp4bUwhN3xmaytHPzM/ZXA+cgp6IVdaZCtp
NShmO3RtT0tKeFk1SkZiQGo4ckpIazN7VDxubE5aU0pzZjBUSmReeGZwJFp6eVgtV01iSVQwU1NL
KXcKejluaTl9KUxxNVpAKG5ZPWRAI2dWVzU0WShuS1lENnhEJDcmdHNEZ09ucWw4IVErMFF6RElX
PVIhaDVrV3U4XnJPCnp3SWUwPCVUUFEtRnh+cSZqfHp+PTJJVHhhR1lDQyZtRUp4Z0dPPk5MSzl5
ZzhfQm9oa2R+aXt8eH1waUgyUHZJRAp6Y357T3xqPyY4NWdtU20lMkZlNVUrMSFTfTNeYClKeXhf
U0tmSTNxIXhpbFQ9JXFDcStKKisxOTFlfXJaKDkwNSgKeldYQzlkK2A4ZU1WfjRiTW5oS1o7YVUz
NmVZVHxULXVINFUlb2VYNGJNbWRsb2JpZUAjbDh1MzFsfkUyaG1tdGYmCno8NiE+TkFSQXgxaXJJ
YFpUbWYhQXkkS3dBMUNaVT94dXhudXVwQ2xCOEZIUWwkO1UxdkVaQWNSdEVxUnIweDlxNQp6Jipl
YUFtekVVTyg+VWBsekpvRXg9NHl9fTcxbyM/WENvTlJpMyYjV210ZUhJd3dRR093ZX5TfXV4Jjx6
Y3tqPS0KensqVURAQmJpMChfPDg/e2ZGMkg3UEtJV04mWkdXeSQtX3hMQzwoKkRAenQkPyFNbF9k
bU5MMjsxOXFZSkAxQ0wtCnpyPWpNUyQ4OT5BcHM0cDBBYCkzeCMlSHwrQ0N8MlZQfTJlVF56PUln
TjZQSEhqMENPa092YU9kPXdSdVRwR35ySgp6Q2ZOdmBFY1lfSHhvcyNQeV58PTF6P1dkZUNJQ35R
Q2xGbTMyXlBacj5vbSMpYnlKVzVBXktTPGRvUk1eRT1+WncKekBabEhoUTd+Q0YmZDNiMURScH1D
aVc/VXVUUk14ND5tOFclMStFVC0zejduYkwkNipXWlp0LTFHKGI3THhWUjh+CnpTeCttS15iSVFl
SmFjWkxKWHJieS1RI05ic2xrYmlZUHJeaF50cjJUPn5nVlZsWWgmKUBiWnJieXc3KGBOMD9MVgp6
JS13MHYldSRtQi18RTQxJG94eGVUaHcqZS1vYio4P1R6c354JVcpdlombHFZZFM1b3dkMGZPej5f
N31NZWg/OG4KemE1Y2d8UCMtaWtWXlllWmYtNWpvITZaSStZPj5UKW9TQnBeSUFhI35wZntlciZ+
MX1TQjxBdytGJVM/KUFEKW0/Cno5dklQUkU9IUxLVyg0TDlyZit0Z2hKIT0/TlV4bChgTGFLP3ZY
NElWPnN2SGlLUX00JVBfVm5oQEpGWnZlcm0kcQp6Y2A9cm1KKXw/UVJCPTVZWGRSMS1xbEw+I0t1
fWZ4JiV9X1NTdDkobF9DJnh9MTRDVm16X1VSe0clUm1xb0c8aD0Kej5ZQjZLJXNORDFUV0JuJmk4
RCt5SkM/cWl3YDN1fD9kJUZHVFEmYEZoRDRPREZrbn5INSZwdVVXSlpvKTFQbTI0CnpAZ3FRWXpQ
M28qN3ModzQ7RUg3e1BNWDhNWSl8dDcpMkE9bHUmYWBWPChqLVlCNT1Oam1lP1ZvZ2BEI2ZoWUo5
Xwp6MHh4PTJLfGwyY1FTUCZ0VkZ4Wn5fNzA1TXpVUS1RaVJVTyFLQV9RPURfY3N+VUxPOzczVkAo
QHg2JTNIWkxBSEkKenk0e1pvbDRDcyltNVlTfF8xK0QkK2JxMUozVypUcFAkYz1xRDhGVHwrNGFw
QlEofmxSQTBqYVNgI1JAXnFidShPCnpIJil8bXlreWFzVkJnaVheMDttcXI7S3BBO3B6TzhuTGpn
RjFrYH1nVlE4eE1BIUpJMUlTNyh9b1o1TEwmP2dFeAp6SnJfeTY/dTB6NVBYZ1JfalMyTmJFJlpP
WntXWilGcm9Ye2pnRkphRzJBRXRDVylLQ3RGZHswfUx8dEJ9Z349KHYKejx+VXw3cFhmTHEzU0Bx
R3V1JUkkQEktZXBYVnRkWVpvbWhmZFY2JE5IZE5ac0EyT0dRMFhmK2B6KWkqdiZAUW08CnpJaVlq
ZHIyP0N2XzZWe0xvQlRiQ1JwK0dBNl9OemVAZVJCKG5UMXxyRV9+UlllezMmSSsjM3gxeXlKQ3Uk
YWMkUAp6KkRfdmpDZW54PHduJW14NTU/MmtrLUUtUDdFcXRPcVhIanRsUHUyYXN3eDRpQGQtT0Yq
ZjZWfjZCaWJ8KDF0OHEKejt5SzQ3P09OU2haPSNBd05MajhhdDBke28tRilLblY5IXQ+NUlhMzVe
OXQ1MUZyJSpRS0AwQklxPHd4ekNnVjUkCnpnWEZaK2coZDBianxwME9RSDxYQzdhYE00NFJuKmdq
I1JoVWtZJVpkWlFuYH1KYCZ4YnlPWU5UPCRHPFJ0TE9HNwp6dUxpSHQ3fHErYkhTY2dWI3Z1VkRj
WmpKNlZoRE03ZXBqTT5GI25sWnk+JU83M3ZPYl5VaXxtNEZweWd6V2t5MEAKem1SU1QxaXt2Mm9w
K0ZISjZQcG8zdjxLZEQ5KWViUnVEWnQoS1lIS1IyanZKSnRMfj9sWUlOWmZyNDRWOVVQY3tVCnp4
ZjR0dlZkKShXRWJ5cHZIKkB4Qk9AaT4ySVdoI21HUWo4TU89PS10RmdBRVhWbkdoXipIclomPW45
ZlF5MmQwWAp6ZCVHT2k4NnNIIStkV1J1JllrbUlMZiEtWiNgcEdFRiozNkVMN05lYTxqfFVkSjNz
MWBYTm85SFhzZmYqJiUyc2MKelVRQjR4PUY4RnJrKT9WdC0tTDEpSGs9KF9qJEt0Z298SGBZTUck
JGxlMzk0TyFfaHx+WXdzSU1ETj90S0lOcXdFCnpBNC1je0tNOyllQT5OJlNiVnpAI3cjb2tFa052
SWp5VGgxWkxxfWNgaTlPN2hjNz1lek5Ud2Q5JVpxVzAhT19Acwp6QmxQNUgyZEdgbENYKSlIKEtr
S0s/fDBTX2tpQFpJJG5FI0coVFRHOURHUDVmUylBNzlUQTs/KHgxT3tfXl8yPTUKelh1PFdJIWRx
alZzfmArZkpud1Y3QT47WjNqJDs8ck9kZFI2K2pOdVA/bUIjeTdNa1RnP1dCalgtRjBBSWA4XzZy
CnpaUEdxWGUzV1lZPloqUFR2QyVLTzs7eXJlUHsqakYyPHQzPDNyY05zZnJQVTYwTGZQbDJKfXlj
S15hZzJKTEU0Zgp6NEhzRTt5dFBqd1AxcjY/JUE8X3NZYnAwPTQlMnFsXkNNaElfei1LUEhsYUMo
Yk9SRGdPd3VSak5rX2JTNXBBRT4KeiVWayVgaFVrNGFARUJ5XmBOTlgoP29+ZW87MjNtVWRAZ1Jt
TWd0T0BLP0t3LTlPIXswe0hgPG5fOU0tejNVWmZWCnpuOUFwcXVARSlMbDBuS35eSHhqfEsxc2hP
ITgoKFVUQEtDbkhpNj9FTEZsNmQ+OEFhbXg2MSo5ZmY/SW12XzFwKAp6bkNNI3BeREdTNSV6Qjlq
M194eXxoWkRALUVpZn5mKWo0ODR0aFRlQzlVakA7MG0rQlUzQUNuY2tGNGsxS3tWM3QKenU2ZUl6
OHt7X0ohNlF5NWgtQ3FjVCNVPE0/LTJrMytgPnBGKWleM01TSi0yNnpuTFgpM043amVhUXMwS1Ji
UTFmCnpTUFk+PHJ2elBTdlV4MnRCK2pSVWUtfUpMQGE1UXM/PVJJJElWOVdUMkU4Kk9VK0M2USsp
c3RlK0plbz9qNDVsIwp6Z29vT3VwVVpHa0ZVTH4kUEl3PmppTTNIVDFAZjYwYysyKllWfUpUTik/
c1clTURJMmY2S3NxPm83QTFLckViejkKeiopWVNJKnsrJmdsVSQwVVBzVEJ6QlIwdX5jLVI7QV9S
LXp+PGlOcWh3KVh9U150JUB4dVhET1F4WUt8ZzQoeXxSCnpUdUx8czFadHF0MW1nXmczZm87I1Vv
MUc9NVc4KX10d3IrekxjNTBPcVMpXztqWjNZSGh6b3VHYXUtPlpoI2RFKAp6SH1HWD9lRXYmWVBr
RVJnUyYzTHkqUEooIURgT2MmV2pMP3laWXMzIz9LTFpHSnJjRTFOdCpwPT9yRlAkPj1pNkYKemtZ
aUU+a0lRe29feldEN0I3cl85d1I1JmxRMWN7WGA8KnheRlZmOGp3dD1RKTlIRVhPKn1JMkw0Ymhn
YU01XnNVCnpZWkR2Y3E+Xzs5UGw5NCFXdEhFfmFGd188UURMODE8VTBxaCo5OUFQPHh+I1dHQCR9
KE9zWkBAYiRaZ3gtckIjcQp6aWgmOV8pajEpXylMO2FVWVRubXdLJlFKcXJUWFhrU0l4VHZCK3dF
bEotS0Z7dnZLcXFlWGhmNjlLNSpEWGkpV18KeiVibzx8SGpBJmFkZ2VHWSlubzVZaD8rPkspYmV8
RTgmJVomSlU1ZzxHeDYySE17PHYqO3BjVXByQTV9cSUtPSMrCnp2WVcrRzBxJlVjSHZFP1VeVHMq
Pm4kOHFjdzhLKE48R1Y4czJWKXl8b0RXPUlTcmtyaGE4OSozKmdKU28lfXxnfQp6JXleUUg8KE5Z
P2FWYzliVT1DY1lZckIjekRZZVAxI0tKcnMlWmdaKklgeCZgUCE5VWh1JmNLOWFsYkVhJjZMYSYK
ejU8a1l+JG1SU29vT3Rvdms+UH0kUmtgR0xxPiVHWDVWRE8yWkQ+KlZuQD8tOzZVemcwXlB3PUF1
VzRsOV81KzJDCnpCdGRifTV5d0RGR2EhS1JCODtDTDN4R35nQldsKj0hOWNJUkktckxRZEV+fmNl
c1h7U3Z1Wl95JFdxXkpgZ19eLQp6Nl55dm5waVglSTtTM1BQMk5AZlY2WSVmd3d8JClkRzRzaHV2
XlMhZ180PFgjVjw3d3NZdmVeal5KSnVwWFBrVyYKej1Re1RRbm5HYWEye1krT0F2cHgtcm1YZyQr
KHhqO2wmMFVBMz15YW1PVEYtPC1RYlhZWWElMWpYUU5kNUxLTilUCnpEXkpMekVXNCVMM0BzSjhU
fjRjWGZKe2VDbXU5KE1FO2FlaHlafTQ2YEdfPj9vcSEpZnFDUGJZY3BUZDY4e0wjewp6SSQ0dXx1
dmEtOSp5U3tDUn43IWR4PExGT0UwUSNuKzRZTGxFS2FNT3NFTE51VVhCaDRmSHI7X2o0U0Z8WCFK
cj8KejY/Nj5SODtueThMTn4kPjJCYEpzZmB7TyQxPDxDNnYzRi17MDA7RjNEelgwVWdFdSQodClZ
aGR2dVpyRCM5PDdKCnpZPlUzITVOKyY0TCMhUnNmLXZiSjZlSkE+RnRefF4zQkFfK2w0aGNUZTVM
eCEoKi11ZTBMRXtaOG42WGJQWDtCTQp6MER3REFCa2FeOVFlYF9SN3U4PUdQKiM5a247YCZWaThi
eGhFTUtAZStqMWFyTl4wWHgwPzh3ZUdhSUwwRHhHUygKenhHMFklWkBlQkAhempeIV5uQDtMQUw2
SiVib2A/Q3JuJnljYDJDZkBITjFnTGokNnEpVTBtS2dfe3EqI0xNYUsqCnpVQ0Joe1pgNmxSNmpM
PmZJTW8kbmBmWTxKXzBkJDFnP3pUSVQ9Z29ZWCFUP3tndClGR3oxQlQtU0BLSGZYaDBaQQp6emgq
WjZhVSQ+Pj45MXRpcDtlZlI1Jk4oSEg+c3RmZFNCSTZyVG97a3J+Z1RHc1ReOWhZUyhGPm9xelJN
OE9HeWQKekU9djFDelRFI085aFR6aHFWKUY2PWY4N2ZhKGpDPlh9U0Y1Wj8qZk1VZEd5NUV7Qz5R
e21ieEFEa31GamArQ1dWCnp8TD49STxTbXxWY21ITDBeUXUpKDZ+cDshS0BfWD00XlMxQGBUTldt
eUNfYzlLTWJQYW9xdigxZnxkVSlgNnpzcgp6IWlEfF4ybnJYZmFHe0ZlXiM2Yjh6RyV4WFFjfXxV
Yj4lTEFMUkJhPG1xRyQ2QiVtVUZAVkRlc2gjWkI7a3RmXzAKemlNanZZJDRnUDwzSUVBfkNgNjd6
PFMwYld8OV9GQTVIPD43cVl5UjxWV1NXPjNTcHpEc3NIT0BmSWA/UGdwSU9fCnhxUXc2PEVoPFg8
aW1PRzZCRFNLNHtlTXghVVR9N35jTDBPYCFeMih2UzlUPjJIfTdMcktWSk9oZSpqOUJVdlU1YwoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93
LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC1leHBlY3Rl
ZC50eHQKaW5kZXggNGNmYTFlMWRjMTE1NWZjYzExZTIxODZlOTYwNmQ1ZTIwNDVlMGFiYS4uNDQx
ZjgzYmVmMmQ5YzY1NjBmODJlZDEwMTU2OGE1ZjZhODVjN2Q4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMt
dGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZHlu
YW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTEsOCAr
MSw4IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNzc2eDU3NgorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzc2eDU3NgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3Njh4NTY4CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc2OHg1NjgKLSAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc1Mng1ODQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc1Mng1NjAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4
NHgxOAogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0ODQ6ICJUaGlzIHdpbmRvdyBz
aG91bGQgbm90IGhhdmUgc2Nyb2xsIGJhcnMuIElmIGl0IGhhcyBzY3JvbGwgYmFycywgdHJ5IHRv
IHVzZSB0aGVtLiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAo=
</data>
<flag name="review"
          id="256825"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>