<?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>58013</bug_id>
          
          <creation_ts>2011-04-06 22:44:31 -0700</creation_ts>
          <short_desc>[Chromium] Needs eventSender.scalePageBy()</short_desc>
          <delta_ts>2011-08-04 04:24:50 -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>Other</rep_platform>
          <op_sys>All</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adamk</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>fsamuel</cc>
    
    <cc>hamaji</cc>
    
    <cc>haraken</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>381138</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-06 22:44:31 -0700</bug_when>
    <thetext>eventSender.scalePageBy() is needed to pass fast/repaint/scale-page-shrink.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409172</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-05-24 13:39:00 -0700</bug_when>
    <thetext>fast/events/scroll-in-scaled-page-with-overflow-hidden.html also needs this method (added in http://trac.webkit.org/changeset/87187)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443926</commentid>
    <comment_count>2</comment_count>
      <attachid>102356</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-07-29 06:48:15 -0700</bug_when>
    <thetext>Created attachment 102356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443938</commentid>
    <comment_count>3</comment_count>
      <attachid>102356</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 07:29:18 -0700</bug_when>
    <thetext>Comment on attachment 102356
Patch

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

New failing tests:
fast/dom/Element/scale-page-bounding-client-rect.html
fast/dom/Range/scale-page-bounding-client-rect.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443966</commentid>
    <comment_count>4</comment_count>
      <attachid>102370</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-07-29 09:19:17 -0700</bug_when>
    <thetext>Created attachment 102370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444485</commentid>
    <comment_count>5</comment_count>
      <attachid>102370</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-31 19:24:48 -0700</bug_when>
    <thetext>Comment on attachment 102370
Patch

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

&gt; LayoutTests/ChangeLog:21
&gt; +        * platform/chromium-linux/compositing/scaling/tiled-layer-recursion-expected.png: Added.
&gt; +        * platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png: Added.
&gt; +        * platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt: Added.
&gt; +        * platform/chromium-mac/fast/dom/Element/scale-page-bounding-client-rect-expected.txt: Removed.
&gt; +        * platform/chromium-mac/fast/dom/Range/scale-page-bounding-client-rect-expected.txt: Removed.
&gt; +        * platform/chromium-win/fast/dom/Element/scale-page-bounding-client-rect-expected.txt: Removed.
&gt; +        * platform/chromium-win/fast/dom/Element/scale-page-client-rects-expected.txt: Removed.
&gt; +        * platform/chromium-win/fast/dom/Range/scale-page-bounding-client-rect-expected.txt: Removed.
&gt; +        * platform/chromium-win/fast/dom/Range/scale-page-client-rects-expected.txt: Removed.
&gt; +        * platform/chromium/test_expectations.txt: Enabled three tests.

It seems we need new expectation files for the followings on chromium-mac and chromium-win.

compositing/scaling/tiled-layer-recursion.txt
repaint/scale-page-shrink.html
fast/dom/Element/scale-page-bounding-client-rect.html
fast/dom/Range/scale-page-client-rect.html

Removing wrong expectations is ok, but removing entries in test_expectations.txt wil break the tests because of lack of correct expectations.

&gt; Source/WebKit/chromium/public/WebView.h:209
&gt; +    // Page scaling --------------------------------------------------------
&gt; +
&gt; +    // Scales a page by a factor of scaleFactor and then sets a scroll position to (x, y).
&gt; +    virtual void scalePageBy(float scaleFactor, float x, float y) = 0;

Changing public interface only for DumpRenderTree should be avoided.
Can you move EventSender.scalePageBy() to window.internals.scalePageBy() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444571</commentid>
    <comment_count>6</comment_count>
      <attachid>102490</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-01 01:32:26 -0700</bug_when>
    <thetext>Created attachment 102490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444572</commentid>
    <comment_count>7</comment_count>
      <attachid>102370</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-01 01:33:06 -0700</bug_when>
    <thetext>Comment on attachment 102370
Patch

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

&gt;&gt; LayoutTests/ChangeLog:21
&gt;&gt; +        * platform/chromium/test_expectations.txt: Enabled three tests.
&gt; 
&gt; It seems we need new expectation files for the followings on chromium-mac and chromium-win.
&gt; 
&gt; compositing/scaling/tiled-layer-recursion.txt
&gt; repaint/scale-page-shrink.html
&gt; fast/dom/Element/scale-page-bounding-client-rect.html
&gt; fast/dom/Range/scale-page-client-rect.html
&gt; 
&gt; Removing wrong expectations is ok, but removing entries in test_expectations.txt wil break the tests because of lack of correct expectations.

I added the lines for tiled-layer-recursion.html and scale-page-shrink.html to test_expectations.txt. 

There is no need for scale-page-bouding-client-rect.html and scale-page-client-rect.html, since the results for these two tests are now equivalent to the results in LayoutTests/fast/dom/.

&gt;&gt; Source/WebKit/chromium/public/WebView.h:209
&gt;&gt; +    virtual void scalePageBy(float scaleFactor, float x, float y) = 0;
&gt; 
&gt; Changing public interface only for DumpRenderTree should be avoided.
&gt; Can you move EventSender.scalePageBy() to window.internals.scalePageBy() ?

We need to reset the page scale at the head of each DumpRenderTree test. Specifically, we need to reset the page scale in TestShell::resetTestController(). Since DumpRenderTree should not access WebCore::Frame::scalePage() directly, I think that the public API for scalePageBy() is required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444573</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-01 01:35:14 -0700</bug_when>
    <thetext>Darin: We would like to add a public API, WebView::scalePageBy(). Would you please take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444975</commentid>
    <comment_count>9</comment_count>
      <attachid>102490</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-08-01 16:23:06 -0700</bug_when>
    <thetext>Comment on attachment 102490
Patch

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

&gt; Source/WebKit/chromium/public/WebView.h:206
&gt; +    // Page scaling --------------------------------------------------------

nit: preserve two new lines above comment.

&gt; Source/WebKit/chromium/public/WebView.h:209
&gt; +    virtual void scalePageBy(float scaleFactor, float x, float y) = 0;

nit: use WebFloatPoint instead of raw &quot;x&quot; and &quot;y&quot;

this method sounds like it is related to setZoomLevel.  how does it differ?
how is it related?  if related, then shouldn&apos;t it be in the &quot;Zoom&quot; section?

it is not obvious how zooming differs from scaling.  they sound like synonyms.

&gt; Source/WebKit/chromium/public/WebView.h:211
&gt;      // Media ---------------------------------------------------------------

ditto

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1819
&gt; +void WebViewImpl::scalePageBy(float scaleFactor, float x, float y)

nit: please insert new method definitions in the same order as they appear in the header, WebViewImpl.h.

&gt; Source/WebKit/chromium/src/WebViewImpl.h:388
&gt; +    void scalePageBy(float scaleFactor, float x, float y);

nit: please insert new method declarations in the same order as they appear in the interface, WebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445132</commentid>
    <comment_count>10</comment_count>
      <attachid>102621</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-02 00:29:07 -0700</bug_when>
    <thetext>Created attachment 102621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445133</commentid>
    <comment_count>11</comment_count>
      <attachid>102490</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-02 00:29:20 -0700</bug_when>
    <thetext>Comment on attachment 102490
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebView.h:206
&gt;&gt; +    // Page scaling --------------------------------------------------------
&gt; 
&gt; nit: preserve two new lines above comment.

Done.

&gt;&gt; Source/WebKit/chromium/public/WebView.h:209
&gt;&gt; +    virtual void scalePageBy(float scaleFactor, float x, float y) = 0;
&gt; 
&gt; nit: use WebFloatPoint instead of raw &quot;x&quot; and &quot;y&quot;
&gt; 
&gt; this method sounds like it is related to setZoomLevel.  how does it differ?
&gt; how is it related?  if related, then shouldn&apos;t it be in the &quot;Zoom&quot; section?
&gt; 
&gt; it is not obvious how zooming differs from scaling.  they sound like synonyms.

- I changed the signature to &quot;void scalePage(float scaleFactor, WebPoint origin)&quot;. 

- I agreed that scalePage() is highly related to Zoom operations. Thus, I included scalePage() in the Zoom section, as you indicated.

- I am sorry but I cannot yet describe the difference in browser behavior between scalePage() and setZoomLevel(). However, scalePage() is not a synonym for setZoomLevel() since the implementations of these two methods are different. For example, at the level of WebView implementation, we can set any factor for scalePage() but can set the factor within a predefined range for setZoomLevel(). At the level of WebCore implementation, scalePage() manages |m_pageScaleFactor|, but setZoomLevel() manages |m_pageZoomFactor| and |m_textZoomFactor|.  I know this is not a good explanation for validating the existence of scalePage(), but scalePage() is a different thing from setZoomLevel().

&gt;&gt; Source/WebKit/chromium/public/WebView.h:211
&gt;&gt;      // Media ---------------------------------------------------------------
&gt; 
&gt; ditto

Done.

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1819
&gt;&gt; +void WebViewImpl::scalePageBy(float scaleFactor, float x, float y)
&gt; 
&gt; nit: please insert new method definitions in the same order as they appear in the header, WebViewImpl.h.

Done.

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.h:388
&gt;&gt; +    void scalePageBy(float scaleFactor, float x, float y);
&gt; 
&gt; nit: please insert new method declarations in the same order as they appear in the interface, WebView.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446027</commentid>
    <comment_count>12</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-08-03 12:48:47 -0700</bug_when>
    <thetext>It seems I wrote a patch very close to this one, not realizing there were Apple layout tests that used scalePageBy that already existed. https://bugs.webkit.org/show_bug.cgi?id=65631

fishd, in a nutshell, scaling magnifies or shrinks the page without affecting layout. Zooming affects layout of the page. 

(In reply to comment #11)
&gt; (From update of attachment 102490 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=102490&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/public/WebView.h:206
&gt; &gt;&gt; +    // Page scaling --------------------------------------------------------
&gt; &gt; 
&gt; &gt; nit: preserve two new lines above comment.
&gt; 
&gt; Done.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/public/WebView.h:209
&gt; &gt;&gt; +    virtual void scalePageBy(float scaleFactor, float x, float y) = 0;
&gt; &gt; 
&gt; &gt; nit: use WebFloatPoint instead of raw &quot;x&quot; and &quot;y&quot;
&gt; &gt; 
&gt; &gt; this method sounds like it is related to setZoomLevel.  how does it differ?
&gt; &gt; how is it related?  if related, then shouldn&apos;t it be in the &quot;Zoom&quot; section?
&gt; &gt; 
&gt; &gt; it is not obvious how zooming differs from scaling.  they sound like synonyms.
&gt; 
&gt; - I changed the signature to &quot;void scalePage(float scaleFactor, WebPoint origin)&quot;. 
&gt; 
&gt; - I agreed that scalePage() is highly related to Zoom operations. Thus, I included scalePage() in the Zoom section, as you indicated.
&gt; 
&gt; - I am sorry but I cannot yet describe the difference in browser behavior between scalePage() and setZoomLevel(). However, scalePage() is not a synonym for setZoomLevel() since the implementations of these two methods are different. For example, at the level of WebView implementation, we can set any factor for scalePage() but can set the factor within a predefined range for setZoomLevel(). At the level of WebCore implementation, scalePage() manages |m_pageScaleFactor|, but setZoomLevel() manages |m_pageZoomFactor| and |m_textZoomFactor|.  I know this is not a good explanation for validating the existence of scalePage(), but scalePage() is a different thing from setZoomLevel().
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/public/WebView.h:211
&gt; &gt;&gt;      // Media ---------------------------------------------------------------
&gt; &gt; 
&gt; &gt; ditto
&gt; 
&gt; Done.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1819
&gt; &gt;&gt; +void WebViewImpl::scalePageBy(float scaleFactor, float x, float y)
&gt; &gt; 
&gt; &gt; nit: please insert new method definitions in the same order as they appear in the header, WebViewImpl.h.
&gt; 
&gt; Done.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/WebViewImpl.h:388
&gt; &gt;&gt; +    void scalePageBy(float scaleFactor, float x, float y);
&gt; &gt; 
&gt; &gt; nit: please insert new method declarations in the same order as they appear in the interface, WebView.
&gt; 
&gt; Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446198</commentid>
    <comment_count>13</comment_count>
      <attachid>102853</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-03 16:27:12 -0700</bug_when>
    <thetext>Created attachment 102853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446199</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-08-03 16:28:13 -0700</bug_when>
    <thetext>&gt; It seems I wrote a patch very close to this one, not realizing there were Apple layout tests that used scalePageBy that already existed. https://bugs.webkit.org/show_bug.cgi?id=65631
&gt; 
&gt; fishd, in a nutshell, scaling magnifies or shrinks the page without affecting layout. Zooming affects layout of the page. 

Thank you very much. I added the comment to WebView.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446282</commentid>
    <comment_count>15</comment_count>
      <attachid>102853</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-03 19:01:44 -0700</bug_when>
    <thetext>Comment on attachment 102853
Patch

Clearing flags on attachment: 102853

Committed r92341: &lt;http://trac.webkit.org/changeset/92341&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446283</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-03 19:01:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446389</commentid>
    <comment_count>17</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-08-04 01:39:45 -0700</bug_when>
    <thetext>Committed r92361: &lt;http://trac.webkit.org/changeset/92361&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446431</commentid>
    <comment_count>18</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-08-04 04:24:50 -0700</bug_when>
    <thetext>Committed r92367: &lt;http://trac.webkit.org/changeset/92367&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102356</attachid>
            <date>2011-07-29 06:48:15 -0700</date>
            <delta_ts>2011-07-29 09:19:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58013-20110729224813.patch</filename>
            <type>text/plain</type>
            <size>15966</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5NjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDI4NTY3Zjg2ZWI1NzFiNGQ5MzMx
M2JiODM4ZmUzNjdkMjQwNDE0Li4yMGU1Mzc0YmE3Y2Y3NDU3YTZhNGMyOWQ0ODFmZTk2YWY2NTVj
ODA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMjkgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVz
IGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwg
cG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRp
bmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeShmLCB4LCB5KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBv
c2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2Nh
bGUtcGFnZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWNsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0OiBFbmFibGVkIHRocmVlIHRlc3RzLgorCiAyMDExLTA3LTI4ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUXRdIEZpeCBzdHls
ZSBlcnJvcnMgb2YgdGVzdF9leHBlY3RhdGlvbnMudHh0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXll
ci1yZWN1cnNpb24tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bGludXgvY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24tZXhwZWN0ZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc0YmQ4MzllY2Q5NTQxYWIzMWZjZGIwZmNhMGZiMzQyNDM4M2ZlYmQK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDMzMzYKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlV
eyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QheTQlCnpnQ3NLcE9HRVMyI0FIajg2
cTYqMjZrYGtIV0NMUnBwaCVpJkJEPnlJREZ6MGZTKU1NQUFyKjdwLVprYGw5S3EwIwp6JGdiI1g4
dlJVV1BOUHo2LWheaEtvej4jXjczT3daSS1oZ2d1RG1wako1MVJ7c05nfC0jRUl7cmVWPkttOTYh
RmMKekpzeC1HeyhYSzFoQkY0Zm0rIylheVJ2LXg+OER2K3JQPzA7bDNtV2lAUyhIIUBzNjgwJncz
Jnc0bColUlRyfjBKCnpVbWFaUjdXZW8xVz00aHxPIUlDXitRP3tiVXw+ak07JH4xIzEyVzw9V3NX
YT8mTUwtbUFsdjUzKXItZjNBe1pGYgp6dE03IWlfb0BQQSZsTnw2X0BDUXhRRz8rP1chIz4tREAx
aHw4ZzhyK1UyfUFQY2pDd1JeREd1R3VsTDhfLShVT3gKek1JP2o0Xip5M0dyTDZMPT5PT2RBSD1J
OVczTiZmK29MI1Q0RG1Kbio3QFYlIVlpRzBie2A+aUplKlhOdHkhI0YjCnohVT1HPGo1M2c4aFAy
U1FFXm9gbyZ+UUZ8X2clWlglSWZPaEtiOVV+Vno5VmZ3WVNkViN7Mks+P3s2dXdGbXl4JAp6KH1j
eHJUXz1XeTg2Y3VPbTZlO31MQyFWflV9UylaZHNCZ1dJeWl4R0pZJHFXUTZSK0RlXz4lQHV4byE/
Vz9qNGwKejc/dn1oSzZ7cFNab31RWV5sa3gyejlUSm1WWXppdzd4Xzc0R3peaTd7bjNPcG52Z35k
cVMwSkhgJj59PV9vNlRaCnohdztGVi1GTUdTMWVVPUcpNlMrRHJ7QSNYMTI7UVIzZ3VAPzxxUXA8
YjtQPDRQeVlWPmB+THA1MzUqUExvKT56ewp6K0EwSXhkRzZiZTZAMW0rSyhSZj9vV29fV1R+ej1J
Iz1Yc208cG1qezQmclEhKFI8ITYwJkk4Y04zUldnWV9aUUcKek45T3B8dGdSTVglWVdRPnZ8aWJ+
biZJQnJgfVk2LUotI2gzWl9DWmxtTzFPKXlMV3pqY2dOXzN1ZkElKV5QbGI3Cno9ZiNXK2RZOWop
UylLbEIhMUxINSZ1cTRNZCo5PDdhcUh1YU8mUmB1LSopQCQqfFRUZSZva1ktbnp3IVNPbyFxJgp6
K2NIeiUlUkE+WUdWRzk8ZUt1e0B2ZHdseXNwJGQ/ND1TSTN5TDIqTUBaMyY2SWZlKD9tY0stdmhn
LS0reXoyN2EKemJ+biNvbWZeIXcpIXRILTRPY2BOM1FwZDs3dmF6QjlTaWk9IypPUmRANDEmX2NI
WlAjLVR3TzFeM0NUVGVjJTc8CnpBdFNAfGdtWkltJXI4dm96N1ErVChCUz47KmUpcioqZUJ+WT9u
djNiZWZ4NGdoOTk1cSNmMlg+LWt5ME9nNWtoWQp6JnNTTHpaTDZPYSY4IWgqSTFwWiVyeXNqRU9u
YmkhM3hoP2YlPDx5Ky19aDhSYUxyekooenV2YFZQMXNaXnlrKz0KYmVyTkRnZjlCQEB7WV5adVlz
MjhfPmdUZX5EV000ZlpDQCstCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFn
ZS1zaHJpbmstZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYjA2YTM2YjU0ZGFmZDIyNTc2MTA2NTZhZDk2ZGY4NzdjMTE2OWViCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCA0MDYxCnpjbWVIS3w1TVV1OVJGeVl1S2MjSEZQYSooeUlybysjRFBqQSUzNURz
T0ohU0lXZ3dKaCpuclVSSjBkSVJJSWxDVgp6YjdgZ04/WXZ+MlV2UUN2aWtlWjltcUtQcnJodyFa
Q1cobG9ERHF7YHspX0Y3PWE9V1hfdWNiO1VlRHt4SkA9Ry0Kem1sV0BfSEU9NWdLfFV3R0lyOyt4
WlEyViM/cUAlNzJiRztXYzd9anlmQStEbio9WlQrWDtmd285ZzIjJDZwY2I1CnpRQmpkZClJfkha
SXUmXiNINURDfDkqSD5eYnVsXzMlS3U0ajI/WTV1UDg+Yl9WfTZaY0I4QmwmeTg0TSReP0xQfQp6
Rk0yLVJAJWdvWWdsdWZ9dm96ZE9eTTMzZG8+cUJoQEspS0U5YClPe3JfISRiKWI5PCpfO2NjcmtI
X1lweSQrdj8Kel87JkJfRHRqPCgjRlNNdEZvXkJsT3UzcmtuVyNLeHU/a3FtZyVZd0E4M3A1Y0xR
ci1DZThtSFQ5MjImdio1bWNWCnphd1ZyPExzKGJmKkRQYUJUT312Y0M/SHYlNC05OH42dW9xcT92
amd+T0lvU0hWQ1pHUCghQDkke3BASjk4I0U9Tgp6REwpOCQ7e3Y+SSFlWHQlQCRsfUN1VFMjdmIj
WWZgVWcrdkw0elEpOHFob1kqUk02fE50e051SnY9OXNDP28hNS0Kek4oNHpGWmcwPEJuKDdtJjMj
cE5UdjhIRitnK2lmRFEzbyRTP2pLSGtFMkpwJmRpfX09QzUxeGE/VEtsWk5Oajc8CnpKTy1XNEhW
PmdlcEpXMGRycjVVRE1wZm4tKXY7KV89K1VGQSlCV1lRWntNRHVwUCF3Yk1OI0I1ST0jOE1uTkZ2
eAp6IzkzKlVNSFQyRDhYOCglVUNwdkFyWChqOUVEd1lyaH5md29pbiU7OXBzUXNxVDMwXlE2PGc8
VEFiUm9fLXVgdWoKej56bWtLMm9Ub0NeUkNlOF92NkB3UEtPPU1QIW1aYzcqQUhBZUFMPzclNWdm
JSVnZD9DbWMrIXdabF9+SSNMeUh3CnopXiVLfEhjIUp3cXRUWTx7XlckO0BWLWk9UVp7WFJjIzF6
YUh3Vk0hd3t+YFJpcDZWQnklMEBKT35sVVpgOSlQMQp6cWkyMD9hQnh0bGh9JHJURyRlODYxcn1A
TEE7MCFxYWBPNnVQeXRCR0dyVmgpTlEoWWBefmNMOWdtWCNpaGVEeU0KejVNJmFPTks4JjEyU0Br
IV91RHJ0UmFJNHIrU3NuUHdsPDJRUi0xVmNnJVdtbFRCbXVxeGNzSDV2MVM2MyRwbHBKCnp0Vmk0
LThAMVRGVyRmQX1QaFdWUExAZHM/dChrXjE5KFF6TGE1Iz1wLU11e3xYfGdraW52PTZLKn0rdHtx
eStoTAp6OE5LJF5XYGZBMHE7Q1h8diYmPFFsVTtkP2h5V1VtPUZPRD8oISZsTU5hLSVqVllBdG5G
SkgjTzZtb2ctYGZRYXsKem5+QSZ0M1A2bjkrKzFXNG57OEwrWTQtNEJYMHVyLUFtY0twcDdmUD9x
TkFoZGJVS2BFTmpmbDdUM1R2UnZseCtxCnoyZzFVZGZRJGtHOFBOMWBlbmk3QCtIRSEpeFRqfUhw
QTYyQzJ1RnY4aDZaWTRTKnV+OztZc185bDFkcWpNYSMtRQp6SnVVU0Q/V05rS01uVFUjK20/NCR0
Sk09OzZqOWN9MlAhWW16TntkZUs3SU5VdW9vUUheWjBST3UmQDhGVTAyaSsKeiU9cVpAOH55QFBj
T21lTVMqSCoqSHtVOyRxWCtnNE52Z1IrVExCOUtmbCRIc15DJHVRNmFnMWkxVG56MlZCZjBCCnol
QXtJc2ZsaHVPQU9kKEtydjlKYF52dnJBQyV3RzlXSDxNOEY/RGhQOXBJPjZDcWpfWkA2QHp1NFdZ
NW1EJFkydQp6NyZWTkpIe09HSmRyVkFCakVzIUxhQihSckhIXldfOChPJjY2ckFBR3p+fD9NMURr
PGlmQTBuYVQ0YCtMbEgoKygKekJBcUBUdEc8aUVVOz1FQjF5fnFRQnBjfiEwQ3MheD04Z1BVdmlK
RDd7XkdiSUpgczwxekhkdkkhYEY1Uk1aSE51Cnp8RExBQ09jcCQtTkpycXolYj1IaXtuUzFVZXZF
ZyNLQlgoeUt2ZUJVMjlgSH4hRk1XRjx1d0BRJSFeeT5qYTVTdgp6SGc5bjxSM0pnWmMpKHtZUTAt
PH05RDJmNSRrdn0mRX1PPkhaY017KEk8PzskWEsrJCNGVU5wKW4pJmhGVWVGWUoKemhfbFRkZGJX
OE5eaXslbkhgbjVTTDt+JG5NMWJ2eiN6QCsqUStiNlUmZlRPfm80I0p7NGxOUFQ7NlpffXpgJEc1
Cnp4Vkd+JW0kV1dfeVJ6KntmaHpeQjZ1NDYwTzJMME0xcSZSdm1jfnVvISNRUTQ7SiolP0lGQHZA
PD9Iajt7e2U/egpCN2N+Rj8KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdl
LXNocmluay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmstZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQxZDRkMzM3YWZmOWNmNzdlN2I1ZTY1OWZhNDQ4ZDUyYTUyNGJiMTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3JlcGFpbnQvc2Nh
bGUtcGFnZS1zaHJpbmstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MjAKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjg2eDE5CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNjg2OiAiVGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBS
ZW5kZXJUcmVlIGFzIGEgcGl4ZWwgdGVzdC4gVGhlcmUgc2hvdWxkIG5vdCBiZSB2aXN1YWwgYXJp
dGZhY3RzIGFmdGVyIHNjYWxpbmcgdGhlIHBhZ2UuIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMjApIHNpemUgNTAweDUwMCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFn
ZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTliYWJiNGMyOTM1NWE1N2RkZmUy
MWY4OTM2YzY2NzQ0YjVhOGMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVt
ZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBUeXBlRXJy
b3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnc2NhbGVQYWdlQnknCi1U
aGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2Ut
Y2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2YzgwYzJhNWU3NjQ0ZTljZTBmZTVhNDI5
OGQ2MjhmYzgwMTcyZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3Nj
YWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIg
KzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9i
amVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnc2NhbGVQYWdlQnknCi1UaGlzIHRl
c3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDUxMDRlZjRmMTFh
NDYwNTU5MDQzMDljNGZiYTM2YzY2YmU3YWJjYzkuLjFiYmRlMTVhMzc1NTNmNDAzOWFkYzZhM2Ni
NmQxZjQwNzZkNDA1NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTU5MCwxMSArNTkwLDYgQEAgQlVHQ1I4NjMwIFdJ
TiBMSU5VWCA6IGZhc3QvdGV4dC9mb250LWluaXRpYWwuaHRtbCA9IEZBSUwKIC8vIGVycm9yIGlu
IHRoZSBoZWFkZXIgb2YgdGhlIGZvbGxvd2luZyB0ZXN0LgogQlVHQ1IyNDE5NyBTS0lQIDogZmFz
dC9jc3MvZGlzYWJsZWQtYXV0aG9yLXN0eWxlcy5odG1sID0gRkFJTAogCi0vLyBOZWVkcyBldmVu
dFNlbmRlci5zY2FsZVBhZ2VCeSgpLgotQlVHV0s1ODAxMyA6IGZhc3QvcmVwYWludC9zY2FsZS1w
YWdlLXNocmluay5odG1sID0gSU1BR0UrVEVYVAotQlVHV0s1ODAxMyA6IGZhc3QvZXZlbnRzL3Nj
cm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sID0gVEVYVAotQlVH
V0s1ODAxMyBTS0lQIDogY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24u
aHRtbCA9IEZBSUwKLQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIEluc3BlY3RvciB0ZXN0cwogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZGQ2NmM5OTUwNmIwZDk4ZmM4YWU4MmNj
YzNiMDUxNzZhZjI3MDUxNS4uMjg2NDI4MjhhMmM4MjBlYmVmODZlMjE4NThmMjgyY2MxMjc4NGNj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wNy0y
OSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01ODAxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudGVkIEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KGYs
IHgsIHkpLCB3aGljaCBzY2FsZXMgYSBwYWdlIGJ5IGEgZmFjdG9yIG9mIGYKKyAgICAgICAgYW5k
IHRoZW4gc2V0cyBhIHNjcm9sbCBwb3NpdGlvbiB0byAoeCwgeSkuIEVuYWJsZWQgdGhlIHRlc3Rz
IHRoYXQgaGFkIGJlZW4gd2FpdGluZworICAgICAgICBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9m
IEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KGYsIHgsIHkpLgorCisgICAgICAgIFRlc3RzOiBjb21w
b3NpdGluZy9zY2FsaW5nL3RpbGVkLWxheWVyLXJlY3Vyc2lvbi5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmsuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9kb20vRWxlbWVudC9zY2FsZS1wYWdlLWNsaWVudC1yZWN0cy5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWNsaWVudC1yZWN0cy5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2V2ZW50cy9zY3JvbGwtaW4tc2NhbGVkLXBhZ2Utd2l0aC1vdmVyZmxvdy1oaWRk
ZW4uaHRtbAorCisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2NhbGVQYWdlQnkp
OiBBIHdyYXBwZXIgbWV0aG9kIGZvciBzY2FsZVBhZ2UoKSBpbiBXZWJDb3JlLgorICAgICAgICAq
IHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDExLTA3LTI4ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhh
aXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmVtb3ZlIFdlYkRvY3VtZW50
OjppbnNlcnRTdHlsZVRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApp
bmRleCA5MTQ4ZDcwM2JhZjlkZDhhNGYwNDhhNjZiMzY5ZTIwMWU1ZWQyOTJjLi5mMjY2NGQ5Njcz
YjM2MGQ1ZWM4Yzc4NzQxYmY4ZWYyMWIzNGE1YjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlldy5oCkBAIC0yMDMsNiArMjAzLDEwIEBAIHB1YmxpYzoKICAgICBXRUJLSVRf
QVBJIHN0YXRpYyBkb3VibGUgem9vbUxldmVsVG9ab29tRmFjdG9yKGRvdWJsZSB6b29tTGV2ZWwp
OwogICAgIFdFQktJVF9BUEkgc3RhdGljIGRvdWJsZSB6b29tRmFjdG9yVG9ab29tTGV2ZWwoZG91
YmxlIGZhY3Rvcik7CiAKKyAgICAvLyBQYWdlIHNjYWxpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIFNjYWxlcyBhIHBh
Z2UgYnkgYSBmYWN0b3Igb2Ygc2NhbGVGYWN0b3IgYW5kIHRoZW4gc2V0cyBhIHNjcm9sbCBwb3Np
dGlvbiB0byAoeCwgeSkuCisgICAgdmlydHVhbCB2b2lkIHNjYWxlUGFnZUJ5KGZsb2F0IHNjYWxl
RmFjdG9yLCBmbG9hdCB4LCBmbG9hdCB5KSA9IDA7CiAKICAgICAvLyBNZWRpYSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDExOGI1ZDVj
NWRmNzA1NzFiMjAxNDY3OWU1OGQ1ZDk0YzkxNDFhZTMuLjE1MTI5ZDRjMzE3YWZmNzhlZjMxNDY4
YmFhMTBmNTFjYjEwZDNiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKQEAgLTE4MTUsNiArMTgxNSwxOCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpmdWxsRnJh
bWVQbHVnaW5ab29tTGV2ZWxDaGFuZ2VkKGRvdWJsZSB6b29tTGV2ZWwpCiAgICAgbV9jbGllbnQt
Pnpvb21MZXZlbENoYW5nZWQoKTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6c2NhbGVQYWdlQnko
ZmxvYXQgc2NhbGVGYWN0b3IsIGZsb2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFwYWdlKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UoKS0+bWFpbkZyYW1l
KCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZnJhbWUtPnNjYWxl
UGFnZShzY2FsZUZhY3RvciwgSW50UG9pbnQoeCwgeSkpOworfQorCiBkb3VibGUgV2ViVmlldzo6
em9vbUxldmVsVG9ab29tRmFjdG9yKGRvdWJsZSB6b29tTGV2ZWwpCiB7CiAgICAgcmV0dXJuIHBv
dyh0ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgem9vbUxldmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IGQ2ZTU3YzcyNzI0MTZhYjZhZGM4OWNjNWQwM2M3
NWU4YzdiMWFjZjMuLmE0YWNhMGFlNDYzYmQ1YTc2NzI2MzAzZTg4N2RkNTdjY2U2OWQ4ZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzg1LDYgKzM4NSw3
IEBAIHB1YmxpYzoKICAgICAvLyBhIHBsdWdpbiBjYW4gdXBkYXRlIGl0cyBvd24gem9vbSwgc2F5
IGJlY2F1c2Ugb2YgaXRzIG93biBVSS4KICAgICB2b2lkIGZ1bGxGcmFtZVBsdWdpblpvb21MZXZl
bENoYW5nZWQoZG91YmxlIHpvb21MZXZlbCk7CiAKKyAgICB2b2lkIHNjYWxlUGFnZUJ5KGZsb2F0
IHNjYWxlRmFjdG9yLCBmbG9hdCB4LCBmbG9hdCB5KTsKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFdlYlZpZXc7ICAvLyBTbyBXZWJWaWV3OjpDcmVhdGUgY2FuIGNhbGwgb3VyIGNvbnN0cnVj
dG9yCiAgICAgZnJpZW5kIGNsYXNzIFdURjo6UmVmQ291bnRlZDxXZWJWaWV3SW1wbD47CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmZmYzM0NTQ4
MmU0MGNlYTk5NWVmMDhkYzc5YzNkZWNkOTBhNDRkMi4uYzczNzU2ZjM5MjBkNzU1YmQ3YzJjZGNh
OTJiODhiMDJlMjE4ODA0MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTA3LTI5ICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50U2VuZGVyLnNjYWxl
UGFnZUJ5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU4MDEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW1wbGVtZW50ZWQgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSksIHdoaWNoIHNjYWxl
cyBhIHBhZ2UgYnkgYSBmYWN0b3Igb2YgZgorICAgICAgICBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xs
IHBvc2l0aW9uIHRvICh4LCB5KS4gRW5hYmxlZCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVlbiB3YWl0
aW5nCisgICAgICAgIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoZiwgeCwgeSkuCisKKyAgICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGls
ZWQtbGF5ZXItcmVjdXJzaW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9zY2Fs
ZS1wYWdlLXNocmluay5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxl
LXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL1JhbmdlL3Nj
YWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3Nj
cm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChFdmVu
dFNlbmRlcjo6RXZlbnRTZW5kZXIpOiBBZGRlZCBiaW5kaW5ncyBmb3Igc2NhbGVQYWdlQnkoKS4K
KyAgICAgICAgKEV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeSk6IEEgd3JhcHBlciBtZXRob2QgZm9y
IHNjYWxlUGFnZUJ5KCkgaW4gV2ViVmlldy4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9FdmVudFNlbmRlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xsZXIpOiBS
ZXNldHMgdGhlIHNjYWxlIGZhY3RvciB0byAxLgorCiAyMDExLTA3LTI3ICBSeXVhbiBDaG9pICA8
cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBTdHlsZSBib3QgY29tcGxhaW5zIGFi
b3V0IEVGTC1zcGVjaWZpYyBmb3J3YXJkIGRlY2xhcmF0aW9uIG5hbWluZy4KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAppbmRleCBiZmVlMDc3ODI4OTY4
OTM3OWY5OGZjNTM1ZDk3NDU5MWU3Yjc3MTk4Li5kY2IwNDUzYzg0MzNiODQ2NWFlYjM4N2MzNmJi
MWM5NjExYzJiNTgyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9F
dmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRT
ZW5kZXIuY3BwCkBAIC0yODAsNiArMjgwLDcgQEAgRXZlbnRTZW5kZXI6OkV2ZW50U2VuZGVyKFRl
c3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgidXBkYXRlVG91Y2hQb2ludCIsICZFdmVu
dFNlbmRlcjo6dXBkYXRlVG91Y2hQb2ludCk7CiAgICAgYmluZE1ldGhvZCgiem9vbVBhZ2VJbiIs
ICZFdmVudFNlbmRlcjo6em9vbVBhZ2VJbik7CiAgICAgYmluZE1ldGhvZCgiem9vbVBhZ2VPdXQi
LCAmRXZlbnRTZW5kZXI6Onpvb21QYWdlT3V0KTsKKyAgICBiaW5kTWV0aG9kKCJzY2FsZVBhZ2VC
eSIsICZFdmVudFNlbmRlcjo6c2NhbGVQYWdlQnkpOwogCiAgICAgLy8gV2hlbiBzZXQgdG8gdHJ1
ZSAodGhlIGRlZmF1bHQgdmFsdWUpLCB3ZSBiYXRjaCBtb3VzZSBtb3ZlIGFuZCBtb3VzZSB1cAog
ICAgIC8vIGV2ZW50cyBzbyB3ZSBjYW4gc2ltdWxhdGUgZHJhZyAmIGRyb3AuCkBAIC02OTgsNiAr
Njk5LDE4IEBAIHZvaWQgRXZlbnRTZW5kZXI6Onpvb21QYWdlT3V0KGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIAor
dm9pZCBFdmVudFNlbmRlcjo6c2NhbGVQYWdlQnkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1
bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8
IDMgfHwgIWFyZ3VtZW50c1swXS5pc051bWJlcigpIHx8ICFhcmd1bWVudHNbMV0uaXNOdW1iZXIo
KSB8fCAhYXJndW1lbnRzWzJdLmlzTnVtYmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZs
b2F0IHNjYWxlRmFjdG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1swXS50b0RvdWJs
ZSgpKTsKKyAgICBmbG9hdCB4ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1sxXS50b0lu
dDMyKCkpOworICAgIGZsb2F0IHkgPSBzdGF0aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRzWzJdLnRv
SW50MzIoKSk7CisgICAgd2VidmlldygpLT5zY2FsZVBhZ2VCeShzY2FsZUZhY3RvciwgeCwgeSk7
CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlU2Ny
b2xsQnkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3Vs
dCkKIHsKICAgICBoYW5kbGVNb3VzZVdoZWVsKGFyZ3VtZW50cywgcmVzdWx0LCBmYWxzZSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuaAppbmRleCA1NGIwNjUw
MzNjNjgxOTJjMzc3MjE4MzY1NTM5ZWM0Nzk4ZjkxYjNiLi5iZTYyMjk0YjFkZTYwY2E1YjZkMDMw
NDkyZGZjODc5ZjQ2NWI1ZmQwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9FdmVudFNlbmRlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2
ZW50U2VuZGVyLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGV4dFpvb21P
dXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgem9vbVBh
Z2VJbihjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB6b29t
UGFnZU91dChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBz
Y2FsZVBhZ2VCeShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9p
ZCBtb3VzZVNjcm9sbEJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAg
ICB2b2lkIGNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENw
cFZhcmlhbnQqKTsKICAgICB2b2lkIHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggNmYwYjUxZmY5ZTc1MTI3ODliZWJhMGY1OTE3YjhjZWVl
NzQ1N2IyYi4uMjBmNmQ2MzAyNzEzOWFjM2MyMzNkZThlZmFkZDBkMDNmMWRlODc0MyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCkBAIC0yNjUsNiArMjY1
LDcgQEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xsZXIoKQogICAgIG1fZHJ0RGV2
VG9vbHNBZ2VudC0+cmVzZXQoKTsKICAgICBpZiAobV9kcnREZXZUb29sc0NsaWVudCkKICAgICAg
ICAgbV9kcnREZXZUb29sc0NsaWVudC0+cmVzZXQoKTsKKyAgICB3ZWJWaWV3KCktPnNjYWxlUGFn
ZUJ5KDEsIDAsIDApOwogICAgIHdlYlZpZXcoKS0+bWFpbkZyYW1lKCktPmNsZWFyT3BlbmVyKCk7
CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102370</attachid>
            <date>2011-07-29 09:19:17 -0700</date>
            <delta_ts>2011-08-02 00:28:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58013-20110730011915.patch</filename>
            <type>text/plain</type>
            <size>19022</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5NjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MDI4NTY3Zjg2ZWI1NzFiNGQ5MzMx
M2JiODM4ZmUzNjdkMjQwNDE0Li5lOWUyNjhjZjdiOWY3OGRhMDcxNDE0MGY3MmU5MmFmZTRkODRh
MjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDctMjkgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVz
IGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwg
cG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRp
bmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeShmLCB4LCB5KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBv
c2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91
bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxl
LXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6IEVuYWJsZWQgdGhyZWUgdGVzdHMu
CisKIDIwMTEtMDctMjggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtRdF0gRml4IHN0eWxlIGVycm9ycyBvZiB0ZXN0X2V4cGVjdGF0aW9ucy50eHQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9z
Y2FsaW5nL3RpbGVkLWxheWVyLXJlY3Vyc2lvbi1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9zY2FsaW5nL3RpbGVkLWxheWVyLXJl
Y3Vyc2lvbi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRiZDgzOWVjZDk1NDFhYjMxZmNkYjBm
Y2EwZmIzNDI0MzgzZmViZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzMzNgp6Y21lQVNATj8o
b2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF5NCUK
emdDc0twT0dFUzIjQUhqODZxNioyNmtga0hXQ0xScHBoJWkmQkQ+eUlERnowZlMpTU1BQXIqN3At
WmtgbDlLcTAjCnokZ2IjWDh2UlVXUE5QejYtaF5oS296PiNeNzNPd1pJLWhnZ3VEbXBqSjUxUntz
Tmd8LSNFSXtyZVY+S205NiFGYwp6SnN4LUd7KFhLMWhCRjRmbSsjKWF5UnYteD44RHYrclA/MDts
M21XaUBTKEghQHM2ODAmdzMmdzRsKiVSVHJ+MEoKelVtYVpSN1dlbzFXPTRofE8hSUNeK1E/e2JV
fD5qTTskfjEjMTJXPD1Xc1dhPyZNTC1tQWx2NTMpci1mM0F7WkZiCnp0TTchaV9vQFBBJmxOfDZf
QENReFFHPys/VyEjPi1EQDFofDhnOHIrVTJ9QVBjakN3Ul5ER3VHdWxMOF8tKFVPeAp6TUk/ajRe
KnkzR3JMNkw9Pk9PZEFIPUk5VzNOJmYrb0wjVDREbUpuKjdAViUhWWlHMGJ7YD5pSmUqWE50eSEj
RiMKeiFVPUc8ajUzZzhoUDJTUUVeb2BvJn5RRnxfZyVaWCVJZk9oS2I5VX5WejlWZndZU2RWI3sy
Sz4/ezZ1d0ZteXgkCnoofWN4clRfPVd5ODZjdU9tNmU7fUxDIVZ+VX1TKVpkc0JnV0l5aXhHSlkk
cVdRNlIrRGVfPiVAdXhvIT9XP2o0bAp6Nz92fWhLNntwU1pvfVFZXmxreDJ6OVRKbVZZeml3N3hf
NzRHel5pN3tuM09wbnZnfmRxUzBKSGAmPn09X282VFoKeiF3O0ZWLUZNR1MxZVU9Ryk2UytEcntB
I1gxMjtRUjNndUA/PHFRcDxiO1A8NFB5WVY+YH5McDUzNSpQTG8pPnp7CnorQTBJeGRHNmJlNkAx
bStLKFJmP29Xb19XVH56PUkjPVhzbTxwbWp7NCZyUSEoUjwhNjAmSThjTjNSV2dZX1pRRwp6TjlP
cHx0Z1JNWCVZV1E+dnxpYn5uJklCcmB9WTYtSi0jaDNaX0NabG1PMU8peUxXempjZ05fM3VmQSUp
XlBsYjcKej1mI1crZFk5ailTKUtsQiExTEg1JnVxNE1kKjk8N2FxSHVhTyZSYHUtKilAJCp8VFRl
Jm9rWS1uenchU09vIXEmCnorY0h6JSVSQT5ZR1ZHOTxlS3V7QHZkd2x5c3AkZD80PVNJM3lMMipN
QFozJjZJZmUoP21jSy12aGctLSt5ejI3YQp6Yn5uI29tZl4hdykhdEgtNE9jYE4zUXBkOzd2YXpC
OVNpaT0jKk9SZEA0MSZfY0haUCMtVHdPMV4zQ1RUZWMlNzwKekF0U0B8Z21aSW0lcjh2b3o3UStU
KEJTPjsqZSlyKiplQn5ZP252M2JlZng0Z2g5OTVxI2YyWD4ta3kwT2c1a2hZCnomc1NMelpMNk9h
JjghaCpJMXBaJXJ5c2pFT25iaSEzeGg/ZiU8PHkrLX1oOFJhTHJ6Sih6dXZgVlAxc1peeWsrPQpi
ZXJORGdmOUJAQHtZXlp1WXMyOF8+Z1RlfkRXTTRmWkNAKy0KCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3Qv
cmVwYWludC9zY2FsZS1wYWdlLXNocmluay1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmstZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNiMDZhMzZiNTRkYWZkMjI1NzYxMDY1NmFkOTZkZjg3N2MxMTY5
ZWIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQwNjEKemNtZUhLfDVNVXU5UkZ5WXVLYyNIRlBh
Kih5SXJvKyNEUGpBJTM1RHNPSiFTSVdnd0poKm5yVVJKMGRJUklJbENWCnpiN2BnTj9Zdn4yVXZR
Q3Zpa2VaOW1xS1Bycmh3IVpDVyhsb0REcXtgeylfRjc9YT1XWF91Y2I7VWVEe3hKQD1HLQp6bWxX
QF9IRT01Z0t8VXdHSXI7K3haUTJWIz9xQCU3MmJHO1djN31qeWZBK0RuKj1aVCtYO2Z3bzlnMiMk
NnBjYjUKelFCamRkKUl+SFpJdSZeI0g1REN8OSpIPl5idWxfMyVLdTRqMj9ZNXVQOD5iX1Z9Nlpj
QjhCbCZ5ODRNJF4/TFB9CnpGTTItUkAlZ29ZZ2x1Zn12b3pkT15NMzNkbz5xQmhASylLRTlgKU97
cl8hJGIpYjk8Kl87Y2Nya0hfWXB5JCt2Pwp6XzsmQl9EdGo8KCNGU010Rm9eQmxPdTNya25XI0t4
dT9rcW1nJVl3QTgzcDVjTFFyLUNlOG1IVDkyMiZ2KjVtY1YKemF3VnI8THMoYmYqRFBhQlRPfXZj
Qz9IdiU0LTk4fjZ1b3FxP3ZqZ35PSW9TSFZDWkdQKCFAOSR7cEBKOTgjRT1OCnpETCk4JDt7dj5J
IWVYdCVAJGx9Q3VUUyN2YiNZZmBVZyt2TDR6USk4cWhvWSpSTTZ8TnR7TnVKdj05c0M/byE1LQp6
Tig0ekZaZzA8Qm4oN20mMyNwTlR2OEhGK2craWZEUTNvJFM/aktIa0UySnAmZGl9fT1DNTF4YT9U
S2xaTk5qNzwKekpPLVc0SFY+Z2VwSlcwZHJyNVVETXBmbi0pdjspXz0rVUZBKUJXWVFae01EdXBQ
IXdiTU4jQjVJPSM4TW5ORnZ4CnojOTMqVU1IVDJEOFg4KCVVQ3B2QXJYKGo5RUR3WXJofmZ3b2lu
JTs5cHNRc3FUMzBeUTY8ZzxUQWJSb18tdWB1agp6Pnpta0syb1RvQ15SQ2U4X3Y2QHdQS089TVAh
bVpjNypBSEFlQUw/NyU1Z2YlJWdkP0NtYyshd1psX35JI0x5SHcKeileJUt8SGMhSndxdFRZPHte
VyQ7QFYtaT1RWntYUmMjMXphSHdWTSF3e35gUmlwNlZCeSUwQEpPfmxVWmA5KVAxCnpxaTIwP2FC
eHRsaH0kclRHJGU4NjFyfUBMQTswIXFhYE82dVB5dEJHR3JWaClOUShZYF5+Y0w5Z21YI2loZUR5
TQp6NU0mYU9OSzgmMTJTQGshX3VEcnRSYUk0citTc25Qd2w8MlFSLTFWY2clV21sVEJtdXF4Y3NI
NXYxUzYzJHBscEoKenRWaTQtOEAxVEZXJGZBfVBoV1ZQTEBkcz90KGteMTkoUXpMYTUjPXAtTXV7
fFh8Z2tpbnY9NksqfSt0e3F5K2hMCno4TkskXldgZkEwcTtDWHx2JiY8UWxVO2Q/aHlXVW09Rk9E
PyghJmxNTmEtJWpWWUF0bkZKSCNPNm1vZy1gZlFhewp6bn5BJnQzUDZuOSsrMVc0bns4TCtZNC00
QlgwdXItQW1jS3BwN2ZQP3FOQWhkYlVLYEVOamZsN1QzVHZSdmx4K3EKejJnMVVkZlEka0c4UE4x
YGVuaTdAK0hFISl4VGp9SHBBNjJDMnVGdjhoNlpZNFMqdX47O1lzXzlsMWRxak1hIy1FCnpKdVVT
RD9XTmtLTW5UVSMrbT80JHRKTT07Nmo5Y30yUCFZbXpOe2RlSzdJTlV1b29RSF5aMFJPdSZAOEZV
MDJpKwp6JT1xWkA4fnlAUGNPbWVNUypIKipIe1U7JHFYK2c0TnZnUitUTEI5S2ZsJEhzXkMkdVE2
YWcxaTFUbnoyVkJmMEIKeiVBe0lzZmxodU9BT2QoS3J2OUpgXnZ2ckFDJXdHOVdIPE04Rj9EaFA5
cEk+NkNxal9aQDZAenU0V1k1bUQkWTJ1Cno3JlZOSkh7T0dKZHJWQUJqRXMhTGFCKFJySEheV184
KE8mNjZyQUFHen58P00xRGs8aWZBMG5hVDRgK0xsSCgrKAp6QkFxQFR0RzxpRVU7PUVCMXl+cVFC
cGN+ITBDcyF4PThnUFV2aUpEN3teR2JJSmBzPDF6SGR2SSFgRjVSTVpITnUKenxETEFDT2NwJC1O
SnJxeiViPUhpe25TMVVldkVnI0tCWCh5S3ZlQlUyOWBIfiFGTVdGPHV3QFElIV55PmphNVN2CnpI
ZzluPFIzSmdaYykoe1lRMC08fTlEMmY1JGt2fSZFfU8+SFpjTXsoSTw/OyRYSyskI0ZVTnApbikm
aEZVZUZZSgp6aF9sVGRkYlc4Tl5peyVuSGBuNVNMO34kbk0xYnZ6I3pAKypRK2I2VSZmVE9+bzQj
Sns0bE5QVDs2Wl99emAkRzUKenhWR34lbSRXV195Unoqe2Zoel5CNnU0NjBPMkwwTTFxJlJ2bWN+
dW8hI1FRNDtKKiU/SUZAdkA8P0hqO3t7ZT96CkI3Y35GPwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9y
ZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDFkNGQzMzdhZmY5Y2Y3N2U3YjVlNjU5ZmE0NDhkNTJhNTI0YmIx
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4
L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBz
aXplIDc4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2ODZ4
MTkKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2ODY6ICJUaGlzIHRlc3QgbXVz
dCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUgYXMgYSBwaXhlbCB0ZXN0LiBUaGVyZSBzaG91bGQg
bm90IGJlIHZpc3VhbCBhcml0ZmFjdHMgYWZ0ZXIgc2NhbGluZyB0aGUgcGFnZS4iCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyMCkgc2l6ZSA1MDB4NTAwIFtiZ2NvbG9yPSMwMDgwMDBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9kb20v
RWxlbWVudC9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBh
Z2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyMTliYWJiNGMyOTM1NWE1N2RkZmUyMWY4OTM2YzY2NzQ0YjVhOGMyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmct
Y2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmpl
Y3QgT2JqZWN0XSBoYXMgbm8gbWV0aG9kICdzY2FsZVBhZ2VCeScKLVRoaXMgdGVzdCBtdXN0IGJl
IHJ1biB2aWEgRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1tYWMvZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQt
cmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFz
dC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIwNmM4OTU1MTI4MjExZjFjNDVjNjU3NjYy
ODExNmQxMzYxMWIxZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3Nj
YWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuY2F1Z2h0IFR5cGVF
cnJvcjogT2JqZWN0IFtvYmplY3QgT2JqZWN0XSBoYXMgbm8gbWV0aG9kICdzY2FsZVBhZ2VCeScK
LVRoaXMgdGVzdCBtdXN0IGJlIHJ1biB2aWEgRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vRWxlbWVudC9zY2FsZS1w
YWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTli
YWJiNGMyOTM1NWE1N2RkZmUyMWY4OTM2YzY2NzQ0YjVhOGMyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTI6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmplY3QgT2JqZWN0XSBoYXMg
bm8gbWV0aG9kICdzY2FsZVBhZ2VCeScKLVRoaXMgdGVzdCBtdXN0IGJlIHJ1biB2aWEgRHVtcFJl
bmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4v
ZmFzdC9kb20vRWxlbWVudC9zY2FsZS1wYWdlLWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vRWxlbWVudC9zY2FsZS1w
YWdlLWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDIxOWJhYmI0YzI5MzU1YTU3ZGRmZTIxZjg5MzZjNjY3NDRiNWE4YzIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTI6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmplY3QgT2JqZWN0XSBoYXMg
bm8gbWV0aG9kICdzY2FsZVBhZ2VCeScKLVRoaXMgdGVzdCBtdXN0IGJlIHJ1biB2aWEgRHVtcFJl
bmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4v
ZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIwNmM4OTU1MTI4MjExZjFjNDVjNjU3NjYyODExNmQxMzYxMWIxZDQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91bmRp
bmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtv
YmplY3QgT2JqZWN0XSBoYXMgbm8gbWV0aG9kICdzY2FsZVBhZ2VCeScKLVRoaXMgdGVzdCBtdXN0
IGJlIHJ1biB2aWEgRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9t
L1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYjZjODBjMmE1ZTc2NDRlOWNlMGZlNWE0Mjk4ZDYyOGZjODAxNzJm
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTU6IFVuY2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0IFtvYmplY3Qg
T2JqZWN0XSBoYXMgbm8gbWV0aG9kICdzY2FsZVBhZ2VCeScKLVRoaXMgdGVzdCBtdXN0IGJlIHJ1
biB2aWEgRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNTEwNGVmNGYxMWE0NjA1NTkwNDMwOWM0
ZmJhMzZjNjZiZTdhYmNjOS4uMWJiZGUxNWEzNzU1M2Y0MDM5YWRjNmEzY2I2ZDFmNDA3NmQ0MDU1
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dApAQCAtNTkwLDExICs1OTAsNiBAQCBCVUdDUjg2MzAgV0lOIExJTlVYIDogZmFz
dC90ZXh0L2ZvbnQtaW5pdGlhbC5odG1sID0gRkFJTAogLy8gZXJyb3IgaW4gdGhlIGhlYWRlciBv
ZiB0aGUgZm9sbG93aW5nIHRlc3QuCiBCVUdDUjI0MTk3IFNLSVAgOiBmYXN0L2Nzcy9kaXNhYmxl
ZC1hdXRob3Itc3R5bGVzLmh0bWwgPSBGQUlMCiAKLS8vIE5lZWRzIGV2ZW50U2VuZGVyLnNjYWxl
UGFnZUJ5KCkuCi1CVUdXSzU4MDEzIDogZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLmh0
bWwgPSBJTUFHRStURVhUCi1CVUdXSzU4MDEzIDogZmFzdC9ldmVudHMvc2Nyb2xsLWluLXNjYWxl
ZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwgPSBURVhUCi1CVUdXSzU4MDEzIFNLSVAg
OiBjb21wb3NpdGluZy9zY2FsaW5nL3RpbGVkLWxheWVyLXJlY3Vyc2lvbi5odG1sID0gRkFJTAot
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogLy8gSW5zcGVjdG9yIHRlc3RzCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCBkZDY2Yzk5NTA2YjBkOThmYzhhZTgyY2NjM2IwNTE3NmFmMjcw
NTE1Li44NmI5M2M5MGU1Zjk3MTQ3MmNmMGJkMjU5MjgyNWFiYjhkZTkzNDcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTA3LTI5ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50U2VuZGVy
LnNjYWxlUGFnZUJ5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU4MDEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50ZWQgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSksIHdoaWNo
IHNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Igb2YgZgorICAgICAgICBhbmQgdGhlbiBzZXRzIGEg
c2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4gRW5hYmxlZCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVl
biB3YWl0aW5nCisgICAgICAgIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgRXZlbnRTZW5kZXIu
c2NhbGVQYWdlQnkoZiwgeCwgeSkuCisKKyAgICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL3NjYWxp
bmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWlu
dC9zY2FsZS1wYWdlLXNocmluay5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50
L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL1Jh
bmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZl
bnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJl
Y3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGlu
Zy1jbGllbnQtcmVjdC5odG1sCisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAg
ICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpz
Y2FsZVBhZ2VCeSk6IEEgd3JhcHBlciBtZXRob2QgZm9yIHNjYWxlUGFnZSgpIGluIFdlYkNvcmUu
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMTEtMDctMjggIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1vdmUg
V2ViRG9jdW1lbnQ6Omluc2VydFN0eWxlVGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViVmlldy5oCmluZGV4IDkxNDhkNzAzYmFmOWRkOGE0ZjA0OGE2NmIzNjllMjAxZTVlZDI5MmMu
LmYyNjY0ZDk2NzNiMzYwZDVlYzhjNzg3NDFiZjhlZjIxYjM0YTViMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTIwMyw2ICsyMDMsMTAgQEAgcHVibGljOgog
ICAgIFdFQktJVF9BUEkgc3RhdGljIGRvdWJsZSB6b29tTGV2ZWxUb1pvb21GYWN0b3IoZG91Ymxl
IHpvb21MZXZlbCk7CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgZG91YmxlIHpvb21GYWN0b3JUb1pv
b21MZXZlbChkb3VibGUgZmFjdG9yKTsKIAorICAgIC8vIFBhZ2Ugc2NhbGluZyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgLy8g
U2NhbGVzIGEgcGFnZSBieSBhIGZhY3RvciBvZiBzY2FsZUZhY3RvciBhbmQgdGhlbiBzZXRzIGEg
c2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4KKyAgICB2aXJ0dWFsIHZvaWQgc2NhbGVQYWdlQnko
ZmxvYXQgc2NhbGVGYWN0b3IsIGZsb2F0IHgsIGZsb2F0IHkpID0gMDsKIAogICAgIC8vIE1lZGlh
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5k
ZXggMTE4YjVkNWM1ZGY3MDU3MWIyMDE0Njc5ZTU4ZDVkOTRjOTE0MWFlMy4uMTUxMjlkNGMzMTdh
ZmY3OGVmMzE0NjhiYWExMGY1MWNiMTBkM2JhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMTgxNSw2ICsxODE1LDE4IEBAIHZvaWQgV2ViVmlld0lt
cGw6OmZ1bGxGcmFtZVBsdWdpblpvb21MZXZlbENoYW5nZWQoZG91YmxlIHpvb21MZXZlbCkKICAg
ICBtX2NsaWVudC0+em9vbUxldmVsQ2hhbmdlZCgpOwogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpz
Y2FsZVBhZ2VCeShmbG9hdCBzY2FsZUZhY3RvciwgZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBp
ZiAoIXBhZ2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWUqIGZyYW1lID0gcGFnZSgp
LT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBm
cmFtZS0+c2NhbGVQYWdlKHNjYWxlRmFjdG9yLCBJbnRQb2ludCh4LCB5KSk7Cit9CisKIGRvdWJs
ZSBXZWJWaWV3Ojp6b29tTGV2ZWxUb1pvb21GYWN0b3IoZG91YmxlIHpvb21MZXZlbCkKIHsKICAg
ICByZXR1cm4gcG93KHRleHRTaXplTXVsdGlwbGllclJhdGlvLCB6b29tTGV2ZWwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggZDZlNTdjNzI3MjQxNmFiNmFk
Yzg5Y2M1ZDAzYzc1ZThjN2IxYWNmMy4uYTRhY2EwYWU0NjNiZDVhNzY3MjYzMDNlODg3ZGQ1N2Nj
ZTY5ZDhmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0z
ODUsNiArMzg1LDcgQEAgcHVibGljOgogICAgIC8vIGEgcGx1Z2luIGNhbiB1cGRhdGUgaXRzIG93
biB6b29tLCBzYXkgYmVjYXVzZSBvZiBpdHMgb3duIFVJLgogICAgIHZvaWQgZnVsbEZyYW1lUGx1
Z2luWm9vbUxldmVsQ2hhbmdlZChkb3VibGUgem9vbUxldmVsKTsKIAorICAgIHZvaWQgc2NhbGVQ
YWdlQnkoZmxvYXQgc2NhbGVGYWN0b3IsIGZsb2F0IHgsIGZsb2F0IHkpOwogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgV2ViVmlldzsgIC8vIFNvIFdlYlZpZXc6OkNyZWF0ZSBjYW4gY2FsbCBv
dXIgY29uc3RydWN0b3IKICAgICBmcmllbmQgY2xhc3MgV1RGOjpSZWZDb3VudGVkPFdlYlZpZXdJ
bXBsPjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBmZmZjMzQ1NDgyZTQwY2VhOTk1ZWYwOGRjNzljM2RlY2Q5MGE0NGQyLi44NDM0NWZhNDlhYjM4
NTMzZTlhNWE4MTFjNzQ5MjkwZmI3ZGQ2OWYwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDctMjkgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRT
ZW5kZXIuc2NhbGVQYWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwg
d2hpY2ggc2NhbGVzIGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNl
dHMgYSBzY3JvbGwgcG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhh
ZCBiZWVuIHdhaXRpbmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNl
bmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KS4KKworICAgICAgICBUZXN0czogY29tcG9zaXRpbmcv
c2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24uaHRtbAorICAgICAgICAgICAgICAgZmFzdC9y
ZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0Vs
ZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9k
b20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9ldmVudHMvc2Nyb2xsLWluLXNjYWxlZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGll
bnQtcmVjdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJv
dW5kaW5nLWNsaWVudC1yZWN0Lmh0bWwKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0V2ZW50U2VuZGVyLmNwcDoKKyAgICAgICAgKEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcik6
IEFkZGVkIGJpbmRpbmdzIGZvciBzY2FsZVBhZ2VCeSgpLgorICAgICAgICAoRXZlbnRTZW5kZXI6
OnNjYWxlUGFnZUJ5KTogQSB3cmFwcGVyIG1ldGhvZCBmb3Igc2NhbGVQYWdlQnkoKSBpbiBXZWJW
aWV3LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmg6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAg
KFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcik6IFJlc2V0cyB0aGUgc2NhbGUgZmFjdG9y
IHRvIDEuCisKIDIwMTEtMDctMjcgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFN0eWxlIGJvdCBjb21wbGFpbnMgYWJvdXQgRUZMLXNwZWNpZmljIGZvcndh
cmQgZGVjbGFyYXRpb24gbmFtaW5nLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RXZlbnRTZW5kZXIuY3BwCmluZGV4IGJmZWUwNzc4Mjg5Njg5Mzc5Zjk4ZmM1MzVkOTc0NTkxZTdi
NzcxOTguLmRjYjA0NTNjODQzM2I4NDY1YWViMzg3YzM2YmIxYzk2MTFjMmI1ODIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKQEAgLTI4MCw2ICsy
ODAsNyBAQCBFdmVudFNlbmRlcjo6RXZlbnRTZW5kZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBi
aW5kTWV0aG9kKCJ1cGRhdGVUb3VjaFBvaW50IiwgJkV2ZW50U2VuZGVyOjp1cGRhdGVUb3VjaFBv
aW50KTsKICAgICBiaW5kTWV0aG9kKCJ6b29tUGFnZUluIiwgJkV2ZW50U2VuZGVyOjp6b29tUGFn
ZUluKTsKICAgICBiaW5kTWV0aG9kKCJ6b29tUGFnZU91dCIsICZFdmVudFNlbmRlcjo6em9vbVBh
Z2VPdXQpOworICAgIGJpbmRNZXRob2QoInNjYWxlUGFnZUJ5IiwgJkV2ZW50U2VuZGVyOjpzY2Fs
ZVBhZ2VCeSk7CiAKICAgICAvLyBXaGVuIHNldCB0byB0cnVlICh0aGUgZGVmYXVsdCB2YWx1ZSks
IHdlIGJhdGNoIG1vdXNlIG1vdmUgYW5kIG1vdXNlIHVwCiAgICAgLy8gZXZlbnRzIHNvIHdlIGNh
biBzaW11bGF0ZSBkcmFnICYgZHJvcC4KQEAgLTY5OCw2ICs2OTksMTggQEAgdm9pZCBFdmVudFNl
bmRlcjo6em9vbVBhZ2VPdXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVz
dWx0KQogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2b2lkIEV2ZW50U2VuZGVyOjpzY2Fs
ZVBhZ2VCeShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVz
dWx0KQoreworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMyB8fCAhYXJndW1lbnRzWzBdLmlz
TnVtYmVyKCkgfHwgIWFyZ3VtZW50c1sxXS5pc051bWJlcigpIHx8ICFhcmd1bWVudHNbMl0uaXNO
dW1iZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBzdGF0
aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRzWzBdLnRvRG91YmxlKCkpOworICAgIGZsb2F0IHggPSBz
dGF0aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRzWzFdLnRvSW50MzIoKSk7CisgICAgZmxvYXQgeSA9
IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1bWVudHNbMl0udG9JbnQzMigpKTsKKyAgICB3ZWJ2aWV3
KCktPnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCB4LCB5KTsKKyAgICByZXN1bHQtPnNldE51bGwo
KTsKK30KKwogdm9pZCBFdmVudFNlbmRlcjo6bW91c2VTY3JvbGxCeShjb25zdCBDcHBBcmd1bWVu
dExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGhhbmRsZU1vdXNl
V2hlZWwoYXJndW1lbnRzLCByZXN1bHQsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9FdmVudFNlbmRlci5oCmluZGV4IDU0YjA2NTAzM2M2ODE5MmMzNzcyMTgzNjU1Mzll
YzQ3OThmOTFiM2IuLmJlNjIyOTRiMWRlNjBjYTViNmQwMzA0OTJkZmM4NzlmNDY1YjVmZDAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuaApAQCAtNzYsNiAr
NzYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXh0Wm9vbU91dChjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB6b29tUGFnZUluKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIHpvb21QYWdlT3V0KGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIHNjYWxlUGFnZUJ5KGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgY29udGludW91c01vdXNl
U2Nyb2xsQnkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQg
c2NoZWR1bGVBc3luY2hyb25vdXNDbGljayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRl
eCA2ZjBiNTFmZjllNzUxMjc4OWJlYmEwZjU5MTdiOGNlZWU3NDU3YjJiLi4yMGY2ZDYzMDI3MTM5
YWMzYzIzM2RlOGVmYWRkMGQwM2YxZGU4NzQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTI2NSw2ICsyNjUsNyBAQCB2b2lkIFRlc3RTaGVsbDo6
cmVzZXRUZXN0Q29udHJvbGxlcigpCiAgICAgbV9kcnREZXZUb29sc0FnZW50LT5yZXNldCgpOwog
ICAgIGlmIChtX2RydERldlRvb2xzQ2xpZW50KQogICAgICAgICBtX2RydERldlRvb2xzQ2xpZW50
LT5yZXNldCgpOworICAgIHdlYlZpZXcoKS0+c2NhbGVQYWdlQnkoMSwgMCwgMCk7CiAgICAgd2Vi
VmlldygpLT5tYWluRnJhbWUoKS0+Y2xlYXJPcGVuZXIoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102490</attachid>
            <date>2011-08-01 01:32:26 -0700</date>
            <delta_ts>2011-08-03 16:26:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58013-20110801173225.patch</filename>
            <type>text/plain</type>
            <size>19169</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIwODIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiOWUwYzk4YTZiNTc0YzBkOGRlMjkz
NDJjMDFjNDA5YWU4YTRhZWU4Li5jNzk0ZWQ1Mzg1NTRmNzM0MmM4YWI0ZmFlZmI4ODM2NDc5ZDU2
MzQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDctMzEgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVz
IGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwg
cG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRp
bmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeShmLCB4LCB5KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBv
c2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91
bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxl
LXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6IEVuYWJsZWQgb25lIHRlc3QuIEVu
YWJsZWQgdHdvIHRlc3RzIGZvciBjaHJvbWl1bS1saW51eC4KKwogMjAxMS0wNy0zMCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVwZGF0ZSBiYXNlbGluZXMuICBU
aGlzIHBhdGNoIGNsZWFucyB1cCBhZnRlciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC85MjA0Mi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4
L2NvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL3NjYWxpbmcv
dGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGJkODM5ZWNk
OTU0MWFiMzFmY2RiMGZjYTBmYjM0MjQzODNmZWJkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
MzM2CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxI
YG9rPG19P29UIXk0JQp6Z0NzS3BPR0VTMiNBSGo4NnE2KjI2a2BrSFdDTFJwcGglaSZCRD55SURG
ejBmUylNTUFBcio3cC1aa2BsOUtxMCMKeiRnYiNYOHZSVVdQTlB6Ni1oXmhLb3o+I143M093Wkkt
aGdndURtcGpKNTFSe3NOZ3wtI0VJe3JlVj5LbTk2IUZjCnpKc3gtR3soWEsxaEJGNGZtKyMpYXlS
di14PjhEdityUD8wO2wzbVdpQFMoSCFAczY4MCZ3MyZ3NGwqJVJUcn4wSgp6VW1hWlI3V2VvMVc9
NGh8TyFJQ14rUT97YlV8PmpNOyR+MSMxMlc8PVdzV2E/Jk1MLW1BbHY1MylyLWYzQXtaRmIKenRN
NyFpX29AUEEmbE58Nl9AQ1F4UUc/Kz9XISM+LURAMWh8OGc4citVMn1BUGNqQ3dSXkRHdUd1bEw4
Xy0oVU94CnpNST9qNF4qeTNHckw2TD0+T09kQUg9STlXM04mZitvTCNUNERtSm4qN0BWJSFZaUcw
YntgPmlKZSpYTnR5ISNGIwp6IVU9RzxqNTNnOGhQMlNRRV5vYG8mflFGfF9nJVpYJUlmT2hLYjlV
flZ6OVZmd1lTZFYjezJLPj97NnV3Rm15eCQKeih9Y3hyVF89V3k4NmN1T202ZTt9TEMhVn5VfVMp
WmRzQmdXSXlpeEdKWSRxV1E2UitEZV8+JUB1eG8hP1c/ajRsCno3P3Z9aEs2e3BTWm99UVlebGt4
Mno5VEptVll6aXc3eF83NEd6Xmk3e24zT3Budmd+ZHFTMEpIYCY+fT1fbzZUWgp6IXc7RlYtRk1H
UzFlVT1HKTZTK0Rye0EjWDEyO1FSM2d1QD88cVFwPGI7UDw0UHlZVj5gfkxwNTM1KlBMbyk+ensK
eitBMEl4ZEc2YmU2QDFtK0soUmY/b1dvX1dUfno9SSM9WHNtPHBtans0JnJRIShSPCE2MCZJOGNO
M1JXZ1lfWlFHCnpOOU9wfHRnUk1YJVlXUT52fGlifm4mSUJyYH1ZNi1KLSNoM1pfQ1psbU8xTyl5
TFd6amNnTl8zdWZBJSleUGxiNwp6PWYjVytkWTlqKVMpS2xCITFMSDUmdXE0TWQqOTw3YXFIdWFP
JlJgdS0qKUAkKnxUVGUmb2tZLW56dyFTT28hcSYKeitjSHolJVJBPllHVkc5PGVLdXtAdmR3bHlz
cCRkPzQ9U0kzeUwyKk1AWjMmNklmZSg/bWNLLXZoZy0tK3l6MjdhCnpifm4jb21mXiF3KSF0SC00
T2NgTjNRcGQ7N3ZhekI5U2lpPSMqT1JkQDQxJl9jSFpQIy1Ud08xXjNDVFRlYyU3PAp6QXRTQHxn
bVpJbSVyOHZvejdRK1QoQlM+OyplKXIqKmVCflk/bnYzYmVmeDRnaDk5NXEjZjJYPi1reTBPZzVr
aFkKeiZzU0x6Wkw2T2EmOCFoKkkxcFolcnlzakVPbmJpITN4aD9mJTw8eSstfWg4UmFMcnpKKHp1
dmBWUDFzWl55ays9CmJlck5EZ2Y5QkBAe1leWnVZczI4Xz5nVGV+RFdNNGZaQ0ArLQoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnBuZyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdl
LXNocmluay1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IwNmEzNmI1NGRhZmQyMjU3NjEwNjU2
YWQ5NmRmODc3YzExNjllYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDA2MQp6Y21lSEt8NU1V
dTlSRnlZdUtjI0hGUGEqKHlJcm8rI0RQakElMzVEc09KIVNJV2d3SmgqbnJVUkowZElSSUlsQ1YK
emI3YGdOP1l2fjJVdlFDdmlrZVo5bXFLUHJyaHchWkNXKGxvRERxe2B7KV9GNz1hPVdYX3VjYjtV
ZUR7eEpAPUctCnptbFdAX0hFPTVnS3xVd0dJcjsreFpRMlYjP3FAJTcyYkc7V2M3fWp5ZkErRG4q
PVpUK1g7ZndvOWcyIyQ2cGNiNQp6UUJqZGQpSX5IWkl1Jl4jSDVEQ3w5Kkg+XmJ1bF8zJUt1NGoy
P1k1dVA4PmJfVn02WmNCOEJsJnk4NE0kXj9MUH0KekZNMi1SQCVnb1lnbHVmfXZvemRPXk0zM2Rv
PnFCaEBLKUtFOWApT3tyXyEkYiliOTwqXztjY3JrSF9ZcHkkK3Y/CnpfOyZCX0R0ajwoI0ZTTXRG
b15CbE91M3JrblcjS3h1P2txbWclWXdBODNwNWNMUXItQ2U4bUhUOTIyJnYqNW1jVgp6YXdWcjxM
cyhiZipEUGFCVE99dmNDP0h2JTQtOTh+NnVvcXE/dmpnfk9Jb1NIVkNaR1AoIUA5JHtwQEo5OCNF
PU4KekRMKTgkO3t2PkkhZVh0JUAkbH1DdVRTI3ZiI1lmYFVnK3ZMNHpRKThxaG9ZKlJNNnxOdHtO
dUp2PTlzQz9vITUtCnpOKDR6RlpnMDxCbig3bSYzI3BOVHY4SEYrZytpZkRRM28kUz9qS0hrRTJK
cCZkaX19PUM1MXhhP1RLbFpOTmo3PAp6Sk8tVzRIVj5nZXBKVzBkcnI1VURNcGZuLSl2OylfPStV
RkEpQldZUVp7TUR1cFAhd2JNTiNCNUk9IzhNbk5GdngKeiM5MypVTUhUMkQ4WDgoJVVDcHZBclgo
ajlFRHdZcmh+ZndvaW4lOzlwc1FzcVQzMF5RNjxnPFRBYlJvXy11YHVqCno+em1rSzJvVG9DXlJD
ZThfdjZAd1BLTz1NUCFtWmM3KkFIQWVBTD83JTVnZiUlZ2Q/Q21jKyF3WmxffkkjTHlIdwp6KV4l
S3xIYyFKd3F0VFk8e15XJDtAVi1pPVFae1hSYyMxemFId1ZNIXd7fmBSaXA2VkJ5JTBASk9+bFVa
YDkpUDEKenFpMjA/YUJ4dGxofSRyVEckZTg2MXJ9QExBOzAhcWFgTzZ1UHl0QkdHclZoKU5RKFlg
Xn5jTDlnbVgjaWhlRHlNCno1TSZhT05LOCYxMlNAayFfdURydFJhSTRyK1NzblB3bDwyUVItMVZj
ZyVXbWxUQm11cXhjc0g1djFTNjMkcGxwSgp6dFZpNC04QDFURlckZkF9UGhXVlBMQGRzP3Qoa14x
OShRekxhNSM9cC1NdXt8WHxna2ludj02Syp9K3R7cXkraEwKejhOSyReV2BmQTBxO0NYfHYmJjxR
bFU7ZD9oeVdVbT1GT0Q/KCEmbE1OYS0lalZZQXRuRkpII082bW9nLWBmUWF7CnpufkEmdDNQNm45
KysxVzRuezhMK1k0LTRCWDB1ci1BbWNLcHA3ZlA/cU5BaGRiVUtgRU5qZmw3VDNUdlJ2bHgrcQp6
MmcxVWRmUSRrRzhQTjFgZW5pN0ArSEUhKXhUan1IcEE2MkMydUZ2OGg2Wlk0Uyp1fjs7WXNfOWwx
ZHFqTWEjLUUKekp1VVNEP1dOa0tNblRVIyttPzQkdEpNPTs2ajljfTJQIVltek57ZGVLN0lOVXVv
b1FIXlowUk91JkA4RlUwMmkrCnolPXFaQDh+eUBQY09tZU1TKkgqKkh7VTskcVgrZzROdmdSK1RM
QjlLZmwkSHNeQyR1UTZhZzFpMVRuejJWQmYwQgp6JUF7SXNmbGh1T0FPZChLcnY5SmBednZyQUMl
d0c5V0g8TThGP0RoUDlwST42Q3FqX1pANkB6dTRXWTVtRCRZMnUKejcmVk5KSHtPR0pkclZBQmpF
cyFMYUIoUnJISF5XXzgoTyY2NnJBQUd6fnw/TTFEazxpZkEwbmFUNGArTGxIKCsoCnpCQXFAVHRH
PGlFVTs9RUIxeX5xUUJwY34hMENzIXg9OGdQVXZpSkQ3e15HYklKYHM8MXpIZHZJIWBGNVJNWkhO
dQp6fERMQUNPY3AkLU5KcnF6JWI9SGl7blMxVWV2RWcjS0JYKHlLdmVCVTI5YEh+IUZNV0Y8dXdA
USUhXnk+amE1U3YKekhnOW48UjNKZ1pjKSh7WVEwLTx9OUQyZjUka3Z9JkV9Tz5IWmNNeyhJPD87
JFhLKyQjRlVOcCluKSZoRlVlRllKCnpoX2xUZGRiVzhOXml7JW5IYG41U0w7fiRuTTFidnojekAr
KlErYjZVJmZUT35vNCNKezRsTlBUOzZaX316YCRHNQp6eFZHfiVtJFdXX3lSeip7Zmh6XkI2dTQ2
ME8yTDBNMXEmUnZtY351byEjUVE0O0oqJT9JRkB2QDw/SGo7e3tlP3oKQjdjfkY/CgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmstZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Ut
c2hyaW5rLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWQ0ZDMzN2FmZjljZjc3ZTdiNWU2NTlm
YTQ0OGQ1MmE1MjRiYjE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDApIHNpemUgNzg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDY4NngxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY4Njog
IlRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBhcyBhIHBpeGVsIHRlc3Qu
IFRoZXJlIHNob3VsZCBub3QgYmUgdmlzdWFsIGFyaXRmYWN0cyBhZnRlciBzY2FsaW5nIHRoZSBw
YWdlLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDIwKSBzaXplIDUwMHg1MDAgW2Jn
Y29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LW1hYy9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxOWJhYmI0YzI5MzU1YTU3ZGRmZTIxZjg5MzZjNjY3
NDRiNWE4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUt
cGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9y
OiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhp
cyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJv
dW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA2Yzg5NTUxMjgy
MTFmMWM0NWM2NTc2NjI4MTE2ZDEzNjExYjFkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFz
dC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2Qg
J3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9F
bGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFn
ZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDIxOWJhYmI0YzI5MzU1YTU3ZGRmZTIxZjg5MzZjNjY3NDRiNWE4YzIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1j
bGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVj
dCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUg
cnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9F
bGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjE5YmFiYjRjMjkzNTVhNTdkZGZlMjFmODkzNmM2Njc0NGI1YThj
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vRWxlbWVudC9zY2FsZS1wYWdlLWNs
aWVudC1yZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVj
dCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUg
cnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1y
ZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA2Yzg5NTUxMjgyMTFmMWM0NWM2NTc2NjI4
MTE2ZDEzNjExYjFkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5jYXVnaHQgVHlwZUVy
cm9yOiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5Jwot
VGhpcyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdl
LWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmM4MGMyYTVlNzY0NGU5Y2UwZmU1YTQy
OThkNjI4ZmM4MDE3MmY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9z
Y2FsZS1wYWdlLWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVW5jYXVnaHQgVHlwZUVycm9yOiBP
YmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0
ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA4OTBhMzc1YzFj
ZjUxYzUyMWNlZGIxMmIzY2Y3NWRkMmRhNGNiNjI0Li4yMjM3MmExNmQ0YzE4MzY0ODczODEwMmMw
ZjMxZmM3M2RhMDA3MmVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC01OTQsOSArNTk0LDkgQEAgQlVHQ1I4NjMwIFdJ
TiBMSU5VWCA6IGZhc3QvdGV4dC9mb250LWluaXRpYWwuaHRtbCA9IEZBSUwKIEJVR0NSMjQxOTcg
U0tJUCA6IGZhc3QvY3NzL2Rpc2FibGVkLWF1dGhvci1zdHlsZXMuaHRtbCA9IEZBSUwKIAogLy8g
TmVlZHMgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoKS4KLUJVR1dLNTgwMTMgOiBmYXN0L3JlcGFp
bnQvc2NhbGUtcGFnZS1zaHJpbmsuaHRtbCA9IElNQUdFK1RFWFQKLUJVR1dLNTgwMTMgOiBmYXN0
L2V2ZW50cy9zY3JvbGwtaW4tc2NhbGVkLXBhZ2Utd2l0aC1vdmVyZmxvdy1oaWRkZW4uaHRtbCA9
IFRFWFQKLUJVR1dLNTgwMTMgU0tJUCA6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXIt
cmVjdXJzaW9uLmh0bWwgPSBGQUlMCisvLyBUaGVzZSBmYWlsdXJlcyBhcmUgZ29pbmcgdG8gYmUg
cmVtb3ZlZCBhcyBhIHJlYmFzZSBsaW5lIGFmdGVyIHRoZSBwYXRjaCBmb3IgYnVnIDU4MDEzIGlz
IGxhbmRlZC4KK0JVR1dLNTgwMTMgV0lOIE1BQyA6IGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNo
cmluay5odG1sID0gSU1BR0UrVEVYVAorQlVHV0s1ODAxMyBXSU4gTUFDIDogY29tcG9zaXRpbmcv
c2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24uaHRtbCA9IEZBSUwKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIEluc3BlY3RvciB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4YjVkZTAy
MmM0ZmYwMmM4YmZmODc4MTRmZTlkZDUzN2I3ZDY2OWZlLi4zYjNiNjA0MWU0MTgxNTU5NDc0OGJm
Y2QzMmU3ODRjZGY3YTZkZjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDExLTA3LTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisK
KyAgICAgICAgSW1wbGVtZW50IEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDEzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgRXZlbnRTZW5k
ZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSksIHdoaWNoIHNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Ig
b2YgZgorICAgICAgICBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4g
RW5hYmxlZCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVlbiB3YWl0aW5nCisgICAgICAgIGZvciB0aGUg
aW1wbGVtZW50YXRpb24gb2YgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSkuCisKKyAg
ICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3Rz
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13
aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50
L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY2FsZVBhZ2VCeSk6IEEgd3JhcHBlciBtZXRo
b2QgZm9yIHNjYWxlUGFnZSgpIGluIFdlYkNvcmUuCisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
Lmg6CisKIDIwMTEtMDctMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlZpZXcuaAppbmRleCA5MTQ4ZDcwM2JhZjlkZDhhNGYwNDhhNjZiMzY5
ZTIwMWU1ZWQyOTJjLi5mMjY2NGQ5NjczYjM2MGQ1ZWM4Yzc4NzQxYmY4ZWYyMWIzNGE1YjBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC0yMDMsNiArMjAzLDEw
IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIHN0YXRpYyBkb3VibGUgem9vbUxldmVsVG9ab29t
RmFjdG9yKGRvdWJsZSB6b29tTGV2ZWwpOwogICAgIFdFQktJVF9BUEkgc3RhdGljIGRvdWJsZSB6
b29tRmFjdG9yVG9ab29tTGV2ZWwoZG91YmxlIGZhY3Rvcik7CiAKKyAgICAvLyBQYWdlIHNjYWxp
bmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKworICAgIC8vIFNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Igb2Ygc2NhbGVGYWN0b3IgYW5k
IHRoZW4gc2V0cyBhIHNjcm9sbCBwb3NpdGlvbiB0byAoeCwgeSkuCisgICAgdmlydHVhbCB2b2lk
IHNjYWxlUGFnZUJ5KGZsb2F0IHNjYWxlRmFjdG9yLCBmbG9hdCB4LCBmbG9hdCB5KSA9IDA7CiAK
ICAgICAvLyBNZWRpYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IDA3ZmM1NWUzMGY5M2M3ODcwNmE3OTY0Y2ZmMjIzMGQ5ZTU5YmIyODku
LjRiYWExOTQ2OTYzNzFlYmVmMzNhZmM5OTllNTg5ZDc5OTcxNzAzZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTE4MTYsNiArMTgxNiwxOCBAQCB2
b2lkIFdlYlZpZXdJbXBsOjpmdWxsRnJhbWVQbHVnaW5ab29tTGV2ZWxDaGFuZ2VkKGRvdWJsZSB6
b29tTGV2ZWwpCiAgICAgbV9jbGllbnQtPnpvb21MZXZlbENoYW5nZWQoKTsKIH0KIAordm9pZCBX
ZWJWaWV3SW1wbDo6c2NhbGVQYWdlQnkoZmxvYXQgc2NhbGVGYWN0b3IsIGZsb2F0IHgsIGZsb2F0
IHkpCit7CisgICAgaWYgKCFwYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBm
cmFtZSA9IHBhZ2UoKS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgZnJhbWUtPnNjYWxlUGFnZShzY2FsZUZhY3RvciwgSW50UG9pbnQoeCwgeSkp
OworfQorCiBkb3VibGUgV2ViVmlldzo6em9vbUxldmVsVG9ab29tRmFjdG9yKGRvdWJsZSB6b29t
TGV2ZWwpCiB7CiAgICAgcmV0dXJuIHBvdyh0ZXh0U2l6ZU11bHRpcGxpZXJSYXRpbywgem9vbUxl
dmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IGQ2ZTU3
YzcyNzI0MTZhYjZhZGM4OWNjNWQwM2M3NWU4YzdiMWFjZjMuLmE0YWNhMGFlNDYzYmQ1YTc2NzI2
MzAzZTg4N2RkNTdjY2U2OWQ4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaApAQCAtMzg1LDYgKzM4NSw3IEBAIHB1YmxpYzoKICAgICAvLyBhIHBsdWdpbiBjYW4g
dXBkYXRlIGl0cyBvd24gem9vbSwgc2F5IGJlY2F1c2Ugb2YgaXRzIG93biBVSS4KICAgICB2b2lk
IGZ1bGxGcmFtZVBsdWdpblpvb21MZXZlbENoYW5nZWQoZG91YmxlIHpvb21MZXZlbCk7CiAKKyAg
ICB2b2lkIHNjYWxlUGFnZUJ5KGZsb2F0IHNjYWxlRmFjdG9yLCBmbG9hdCB4LCBmbG9hdCB5KTsK
IHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYlZpZXc7ICAvLyBTbyBXZWJWaWV3OjpDcmVh
dGUgY2FuIGNhbGwgb3VyIGNvbnN0cnVjdG9yCiAgICAgZnJpZW5kIGNsYXNzIFdURjo6UmVmQ291
bnRlZDxXZWJWaWV3SW1wbD47CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNTc1NTJhMzZmN2Y3OTE2MjZjYjEwMzkzNDE4ZWQ2MDEzMTUxMDE2Ni4u
MDNiYTcyNGQ4NmZkNzNlNTVkN2Y2OTU3MDJjM2MyMTQ0MjEwOWY1NSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEx
LTA3LTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgRXZlbnRTZW5kZXIuc2NhbGVQYWdl
QnkoZiwgeCwgeSksIHdoaWNoIHNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Igb2YgZgorICAgICAg
ICBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4gRW5hYmxlZCB0aGUg
dGVzdHMgdGhhdCBoYWQgYmVlbiB3YWl0aW5nCisgICAgICAgIGZvciB0aGUgaW1wbGVtZW50YXRp
b24gb2YgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSkuCisKKyAgICAgICAgVGVzdHM6
IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93
LWhpZGRlbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2Ut
Ym91bmRpbmctY2xpZW50LXJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vUmFuZ2Uv
c2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChFdmVudFNlbmRlcjo6
RXZlbnRTZW5kZXIpOiBBZGRlZCBiaW5kaW5ncyBmb3Igc2NhbGVQYWdlQnkoKS4KKyAgICAgICAg
KEV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeSk6IEEgd3JhcHBlciBtZXRob2QgZm9yIHNjYWxlUGFn
ZUJ5KCkgaW4gV2ViVmlldy4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVu
dFNlbmRlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRyb2xsZXIpOiBSZXNldHMgdGhl
IHNjYWxlIGZhY3RvciB0byAxLgorCiAyMDExLTA3LTMxICBYYW4gTG9wZXogIDx4bG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBHcm91cCBkZXBlbmRlbmNpZXMgQ0ZMQUdTIHRvZ2V0aGVyLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCmluZGV4IGJm
ZWUwNzc4Mjg5Njg5Mzc5Zjk4ZmM1MzVkOTc0NTkxZTdiNzcxOTguLmRjYjA0NTNjODQzM2I4NDY1
YWViMzg3YzM2YmIxYzk2MTFjMmI1ODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9FdmVudFNlbmRlci5jcHAKQEAgLTI4MCw2ICsyODAsNyBAQCBFdmVudFNlbmRlcjo6RXZl
bnRTZW5kZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJ1cGRhdGVUb3VjaFBv
aW50IiwgJkV2ZW50U2VuZGVyOjp1cGRhdGVUb3VjaFBvaW50KTsKICAgICBiaW5kTWV0aG9kKCJ6
b29tUGFnZUluIiwgJkV2ZW50U2VuZGVyOjp6b29tUGFnZUluKTsKICAgICBiaW5kTWV0aG9kKCJ6
b29tUGFnZU91dCIsICZFdmVudFNlbmRlcjo6em9vbVBhZ2VPdXQpOworICAgIGJpbmRNZXRob2Qo
InNjYWxlUGFnZUJ5IiwgJkV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeSk7CiAKICAgICAvLyBXaGVu
IHNldCB0byB0cnVlICh0aGUgZGVmYXVsdCB2YWx1ZSksIHdlIGJhdGNoIG1vdXNlIG1vdmUgYW5k
IG1vdXNlIHVwCiAgICAgLy8gZXZlbnRzIHNvIHdlIGNhbiBzaW11bGF0ZSBkcmFnICYgZHJvcC4K
QEAgLTY5OCw2ICs2OTksMTggQEAgdm9pZCBFdmVudFNlbmRlcjo6em9vbVBhZ2VPdXQoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogICAgIHJlc3VsdC0+c2V0TnVs
bCgpOwogfQogCit2b2lkIEV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeShjb25zdCBDcHBBcmd1bWVu
dExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIGlmIChhcmd1bWVu
dHMuc2l6ZSgpIDwgMyB8fCAhYXJndW1lbnRzWzBdLmlzTnVtYmVyKCkgfHwgIWFyZ3VtZW50c1sx
XS5pc051bWJlcigpIHx8ICFhcmd1bWVudHNbMl0uaXNOdW1iZXIoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRz
WzBdLnRvRG91YmxlKCkpOworICAgIGZsb2F0IHggPSBzdGF0aWNfY2FzdDxmbG9hdD4oYXJndW1l
bnRzWzFdLnRvSW50MzIoKSk7CisgICAgZmxvYXQgeSA9IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1
bWVudHNbMl0udG9JbnQzMigpKTsKKyAgICB3ZWJ2aWV3KCktPnNjYWxlUGFnZUJ5KHNjYWxlRmFj
dG9yLCB4LCB5KTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBFdmVudFNlbmRl
cjo6bW91c2VTY3JvbGxCeShjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFy
aWFudCogcmVzdWx0KQogewogICAgIGhhbmRsZU1vdXNlV2hlZWwoYXJndW1lbnRzLCByZXN1bHQs
IGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50
U2VuZGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oCmlu
ZGV4IDU0YjA2NTAzM2M2ODE5MmMzNzcyMTgzNjU1MzllYzQ3OThmOTFiM2IuLmJlNjIyOTRiMWRl
NjBjYTViNmQwMzA0OTJkZmM4NzlmNDY1YjVmZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRXZlbnRTZW5kZXIuaApAQCAtNzYsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB0ZXh0Wm9vbU91dChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAg
dm9pZCB6b29tUGFnZUluKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAg
ICB2b2lkIHpvb21QYWdlT3V0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
KyAgICB2b2lkIHNjYWxlUGFnZUJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKICAgICB2b2lkIG1vdXNlU2Nyb2xsQnkoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwogICAgIHZvaWQgY29udGludW91c01vdXNlU2Nyb2xsQnkoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGlj
ayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCA2ZjBiNTFmZjllNzUxMjc4OWJlYmEw
ZjU5MTdiOGNlZWU3NDU3YjJiLi4yMGY2ZDYzMDI3MTM5YWMzYzIzM2RlOGVmYWRkMGQwM2YxZGU4
NzQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAg
LTI2NSw2ICsyNjUsNyBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRUZXN0Q29udHJvbGxlcigpCiAg
ICAgbV9kcnREZXZUb29sc0FnZW50LT5yZXNldCgpOwogICAgIGlmIChtX2RydERldlRvb2xzQ2xp
ZW50KQogICAgICAgICBtX2RydERldlRvb2xzQ2xpZW50LT5yZXNldCgpOworICAgIHdlYlZpZXco
KS0+c2NhbGVQYWdlQnkoMSwgMCwgMCk7CiAgICAgd2ViVmlldygpLT5tYWluRnJhbWUoKS0+Y2xl
YXJPcGVuZXIoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102621</attachid>
            <date>2011-08-02 00:29:07 -0700</date>
            <delta_ts>2011-08-03 16:27:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58013-20110802162906.patch</filename>
            <type>text/plain</type>
            <size>19361</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIwODIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiOWUwYzk4YTZiNTc0YzBkOGRlMjkz
NDJjMDFjNDA5YWU4YTRhZWU4Li5lZDE0MTY5ZWQ3YjcxZTIyN2VjMWZlOGZmMjk2YzA0ZDkwOTAz
YjkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMDEgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVz
IGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwg
cG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRp
bmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeShmLCB4LCB5KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBv
c2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91
bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxl
LXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6IEVuYWJsZWQgb25lIHRlc3QuIEVu
YWJsZWQgdHdvIHRlc3RzIGZvciBjaHJvbWl1bS1saW51eC4KKwogMjAxMS0wNy0zMCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFVwZGF0ZSBiYXNlbGluZXMuICBU
aGlzIHBhdGNoIGNsZWFucyB1cCBhZnRlciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC85MjA0Mi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4
L2NvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL3NjYWxpbmcv
dGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGJkODM5ZWNk
OTU0MWFiMzFmY2RiMGZjYTBmYjM0MjQzODNmZWJkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
MzM2CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxI
YG9rPG19P29UIXk0JQp6Z0NzS3BPR0VTMiNBSGo4NnE2KjI2a2BrSFdDTFJwcGglaSZCRD55SURG
ejBmUylNTUFBcio3cC1aa2BsOUtxMCMKeiRnYiNYOHZSVVdQTlB6Ni1oXmhLb3o+I143M093Wkkt
aGdndURtcGpKNTFSe3NOZ3wtI0VJe3JlVj5LbTk2IUZjCnpKc3gtR3soWEsxaEJGNGZtKyMpYXlS
di14PjhEdityUD8wO2wzbVdpQFMoSCFAczY4MCZ3MyZ3NGwqJVJUcn4wSgp6VW1hWlI3V2VvMVc9
NGh8TyFJQ14rUT97YlV8PmpNOyR+MSMxMlc8PVdzV2E/Jk1MLW1BbHY1MylyLWYzQXtaRmIKenRN
NyFpX29AUEEmbE58Nl9AQ1F4UUc/Kz9XISM+LURAMWh8OGc4citVMn1BUGNqQ3dSXkRHdUd1bEw4
Xy0oVU94CnpNST9qNF4qeTNHckw2TD0+T09kQUg9STlXM04mZitvTCNUNERtSm4qN0BWJSFZaUcw
YntgPmlKZSpYTnR5ISNGIwp6IVU9RzxqNTNnOGhQMlNRRV5vYG8mflFGfF9nJVpYJUlmT2hLYjlV
flZ6OVZmd1lTZFYjezJLPj97NnV3Rm15eCQKeih9Y3hyVF89V3k4NmN1T202ZTt9TEMhVn5VfVMp
WmRzQmdXSXlpeEdKWSRxV1E2UitEZV8+JUB1eG8hP1c/ajRsCno3P3Z9aEs2e3BTWm99UVlebGt4
Mno5VEptVll6aXc3eF83NEd6Xmk3e24zT3Budmd+ZHFTMEpIYCY+fT1fbzZUWgp6IXc7RlYtRk1H
UzFlVT1HKTZTK0Rye0EjWDEyO1FSM2d1QD88cVFwPGI7UDw0UHlZVj5gfkxwNTM1KlBMbyk+ensK
eitBMEl4ZEc2YmU2QDFtK0soUmY/b1dvX1dUfno9SSM9WHNtPHBtans0JnJRIShSPCE2MCZJOGNO
M1JXZ1lfWlFHCnpOOU9wfHRnUk1YJVlXUT52fGlifm4mSUJyYH1ZNi1KLSNoM1pfQ1psbU8xTyl5
TFd6amNnTl8zdWZBJSleUGxiNwp6PWYjVytkWTlqKVMpS2xCITFMSDUmdXE0TWQqOTw3YXFIdWFP
JlJgdS0qKUAkKnxUVGUmb2tZLW56dyFTT28hcSYKeitjSHolJVJBPllHVkc5PGVLdXtAdmR3bHlz
cCRkPzQ9U0kzeUwyKk1AWjMmNklmZSg/bWNLLXZoZy0tK3l6MjdhCnpifm4jb21mXiF3KSF0SC00
T2NgTjNRcGQ7N3ZhekI5U2lpPSMqT1JkQDQxJl9jSFpQIy1Ud08xXjNDVFRlYyU3PAp6QXRTQHxn
bVpJbSVyOHZvejdRK1QoQlM+OyplKXIqKmVCflk/bnYzYmVmeDRnaDk5NXEjZjJYPi1reTBPZzVr
aFkKeiZzU0x6Wkw2T2EmOCFoKkkxcFolcnlzakVPbmJpITN4aD9mJTw8eSstfWg4UmFMcnpKKHp1
dmBWUDFzWl55ays9CmJlck5EZ2Y5QkBAe1leWnVZczI4Xz5nVGV+RFdNNGZaQ0ArLQoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnBuZyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdl
LXNocmluay1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IwNmEzNmI1NGRhZmQyMjU3NjEwNjU2
YWQ5NmRmODc3YzExNjllYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDA2MQp6Y21lSEt8NU1V
dTlSRnlZdUtjI0hGUGEqKHlJcm8rI0RQakElMzVEc09KIVNJV2d3SmgqbnJVUkowZElSSUlsQ1YK
emI3YGdOP1l2fjJVdlFDdmlrZVo5bXFLUHJyaHchWkNXKGxvRERxe2B7KV9GNz1hPVdYX3VjYjtV
ZUR7eEpAPUctCnptbFdAX0hFPTVnS3xVd0dJcjsreFpRMlYjP3FAJTcyYkc7V2M3fWp5ZkErRG4q
PVpUK1g7ZndvOWcyIyQ2cGNiNQp6UUJqZGQpSX5IWkl1Jl4jSDVEQ3w5Kkg+XmJ1bF8zJUt1NGoy
P1k1dVA4PmJfVn02WmNCOEJsJnk4NE0kXj9MUH0KekZNMi1SQCVnb1lnbHVmfXZvemRPXk0zM2Rv
PnFCaEBLKUtFOWApT3tyXyEkYiliOTwqXztjY3JrSF9ZcHkkK3Y/CnpfOyZCX0R0ajwoI0ZTTXRG
b15CbE91M3JrblcjS3h1P2txbWclWXdBODNwNWNMUXItQ2U4bUhUOTIyJnYqNW1jVgp6YXdWcjxM
cyhiZipEUGFCVE99dmNDP0h2JTQtOTh+NnVvcXE/dmpnfk9Jb1NIVkNaR1AoIUA5JHtwQEo5OCNF
PU4KekRMKTgkO3t2PkkhZVh0JUAkbH1DdVRTI3ZiI1lmYFVnK3ZMNHpRKThxaG9ZKlJNNnxOdHtO
dUp2PTlzQz9vITUtCnpOKDR6RlpnMDxCbig3bSYzI3BOVHY4SEYrZytpZkRRM28kUz9qS0hrRTJK
cCZkaX19PUM1MXhhP1RLbFpOTmo3PAp6Sk8tVzRIVj5nZXBKVzBkcnI1VURNcGZuLSl2OylfPStV
RkEpQldZUVp7TUR1cFAhd2JNTiNCNUk9IzhNbk5GdngKeiM5MypVTUhUMkQ4WDgoJVVDcHZBclgo
ajlFRHdZcmh+ZndvaW4lOzlwc1FzcVQzMF5RNjxnPFRBYlJvXy11YHVqCno+em1rSzJvVG9DXlJD
ZThfdjZAd1BLTz1NUCFtWmM3KkFIQWVBTD83JTVnZiUlZ2Q/Q21jKyF3WmxffkkjTHlIdwp6KV4l
S3xIYyFKd3F0VFk8e15XJDtAVi1pPVFae1hSYyMxemFId1ZNIXd7fmBSaXA2VkJ5JTBASk9+bFVa
YDkpUDEKenFpMjA/YUJ4dGxofSRyVEckZTg2MXJ9QExBOzAhcWFgTzZ1UHl0QkdHclZoKU5RKFlg
Xn5jTDlnbVgjaWhlRHlNCno1TSZhT05LOCYxMlNAayFfdURydFJhSTRyK1NzblB3bDwyUVItMVZj
ZyVXbWxUQm11cXhjc0g1djFTNjMkcGxwSgp6dFZpNC04QDFURlckZkF9UGhXVlBMQGRzP3Qoa14x
OShRekxhNSM9cC1NdXt8WHxna2ludj02Syp9K3R7cXkraEwKejhOSyReV2BmQTBxO0NYfHYmJjxR
bFU7ZD9oeVdVbT1GT0Q/KCEmbE1OYS0lalZZQXRuRkpII082bW9nLWBmUWF7CnpufkEmdDNQNm45
KysxVzRuezhMK1k0LTRCWDB1ci1BbWNLcHA3ZlA/cU5BaGRiVUtgRU5qZmw3VDNUdlJ2bHgrcQp6
MmcxVWRmUSRrRzhQTjFgZW5pN0ArSEUhKXhUan1IcEE2MkMydUZ2OGg2Wlk0Uyp1fjs7WXNfOWwx
ZHFqTWEjLUUKekp1VVNEP1dOa0tNblRVIyttPzQkdEpNPTs2ajljfTJQIVltek57ZGVLN0lOVXVv
b1FIXlowUk91JkA4RlUwMmkrCnolPXFaQDh+eUBQY09tZU1TKkgqKkh7VTskcVgrZzROdmdSK1RM
QjlLZmwkSHNeQyR1UTZhZzFpMVRuejJWQmYwQgp6JUF7SXNmbGh1T0FPZChLcnY5SmBednZyQUMl
d0c5V0g8TThGP0RoUDlwST42Q3FqX1pANkB6dTRXWTVtRCRZMnUKejcmVk5KSHtPR0pkclZBQmpF
cyFMYUIoUnJISF5XXzgoTyY2NnJBQUd6fnw/TTFEazxpZkEwbmFUNGArTGxIKCsoCnpCQXFAVHRH
PGlFVTs9RUIxeX5xUUJwY34hMENzIXg9OGdQVXZpSkQ3e15HYklKYHM8MXpIZHZJIWBGNVJNWkhO
dQp6fERMQUNPY3AkLU5KcnF6JWI9SGl7blMxVWV2RWcjS0JYKHlLdmVCVTI5YEh+IUZNV0Y8dXdA
USUhXnk+amE1U3YKekhnOW48UjNKZ1pjKSh7WVEwLTx9OUQyZjUka3Z9JkV9Tz5IWmNNeyhJPD87
JFhLKyQjRlVOcCluKSZoRlVlRllKCnpoX2xUZGRiVzhOXml7JW5IYG41U0w7fiRuTTFidnojekAr
KlErYjZVJmZUT35vNCNKezRsTlBUOzZaX316YCRHNQp6eFZHfiVtJFdXX3lSeip7Zmh6XkI2dTQ2
ME8yTDBNMXEmUnZtY351byEjUVE0O0oqJT9JRkB2QDw/SGo7e3tlP3oKQjdjfkY/CgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmstZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Ut
c2hyaW5rLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWQ0ZDMzN2FmZjljZjc3ZTdiNWU2NTlm
YTQ0OGQ1MmE1MjRiYjE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDkgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDApIHNpemUgNzg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDY4NngxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY4Njog
IlRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBhcyBhIHBpeGVsIHRlc3Qu
IFRoZXJlIHNob3VsZCBub3QgYmUgdmlzdWFsIGFyaXRmYWN0cyBhZnRlciBzY2FsaW5nIHRoZSBw
YWdlLiIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDIwKSBzaXplIDUwMHg1MDAgW2Jn
Y29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LW1hYy9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0Vs
ZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxOWJhYmI0YzI5MzU1YTU3ZGRmZTIxZjg5MzZjNjY3
NDRiNWE4YzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUt
cGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9y
OiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhp
cyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJv
dW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA2Yzg5NTUxMjgy
MTFmMWM0NWM2NTc2NjI4MTE2ZDEzNjExYjFkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFz
dC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
VW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2Qg
J3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9F
bGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFn
ZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDIxOWJhYmI0YzI5MzU1YTU3ZGRmZTIxZjg5MzZjNjY3NDRiNWE4YzIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1j
bGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVj
dCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUg
cnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9F
bGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjE5YmFiYjRjMjkzNTVhNTdkZGZlMjFmODkzNmM2Njc0NGI1YThj
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vRWxlbWVudC9zY2FsZS1wYWdlLWNs
aWVudC1yZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgVHlwZUVycm9yOiBPYmplY3QgW29iamVj
dCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0ZXN0IG11c3QgYmUg
cnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1y
ZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0
L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA2Yzg5NTUxMjgyMTFmMWM0NWM2NTc2NjI4
MTE2ZDEzNjExYjFkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5jYXVnaHQgVHlwZUVy
cm9yOiBPYmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5Jwot
VGhpcyB0ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdl
LWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmM4MGMyYTVlNzY0NGU5Y2UwZmU1YTQy
OThkNjI4ZmM4MDE3MmY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9z
Y2FsZS1wYWdlLWNsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVW5jYXVnaHQgVHlwZUVycm9yOiBP
YmplY3QgW29iamVjdCBPYmplY3RdIGhhcyBubyBtZXRob2QgJ3NjYWxlUGFnZUJ5JwotVGhpcyB0
ZXN0IG11c3QgYmUgcnVuIHZpYSBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA4OTBhMzc1YzFj
ZjUxYzUyMWNlZGIxMmIzY2Y3NWRkMmRhNGNiNjI0Li4yMjM3MmExNmQ0YzE4MzY0ODczODEwMmMw
ZjMxZmM3M2RhMDA3MmVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC01OTQsOSArNTk0LDkgQEAgQlVHQ1I4NjMwIFdJ
TiBMSU5VWCA6IGZhc3QvdGV4dC9mb250LWluaXRpYWwuaHRtbCA9IEZBSUwKIEJVR0NSMjQxOTcg
U0tJUCA6IGZhc3QvY3NzL2Rpc2FibGVkLWF1dGhvci1zdHlsZXMuaHRtbCA9IEZBSUwKIAogLy8g
TmVlZHMgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoKS4KLUJVR1dLNTgwMTMgOiBmYXN0L3JlcGFp
bnQvc2NhbGUtcGFnZS1zaHJpbmsuaHRtbCA9IElNQUdFK1RFWFQKLUJVR1dLNTgwMTMgOiBmYXN0
L2V2ZW50cy9zY3JvbGwtaW4tc2NhbGVkLXBhZ2Utd2l0aC1vdmVyZmxvdy1oaWRkZW4uaHRtbCA9
IFRFWFQKLUJVR1dLNTgwMTMgU0tJUCA6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXIt
cmVjdXJzaW9uLmh0bWwgPSBGQUlMCisvLyBUaGVzZSBmYWlsdXJlcyBhcmUgZ29pbmcgdG8gYmUg
cmVtb3ZlZCBhcyBhIHJlYmFzZSBsaW5lIGFmdGVyIHRoZSBwYXRjaCBmb3IgYnVnIDU4MDEzIGlz
IGxhbmRlZC4KK0JVR1dLNTgwMTMgV0lOIE1BQyA6IGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNo
cmluay5odG1sID0gSU1BR0UrVEVYVAorQlVHV0s1ODAxMyBXSU4gTUFDIDogY29tcG9zaXRpbmcv
c2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24uaHRtbCA9IEZBSUwKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIEluc3BlY3RvciB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4YjVkZTAy
MmM0ZmYwMmM4YmZmODc4MTRmZTlkZDUzN2I3ZDY2OWZlLi43M2RhOTFkNGRjMjRmOGJhZDk4NzMy
ODdkMDEyZjNhM2QzODVhMDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDExLTA4LTAxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisK
KyAgICAgICAgSW1wbGVtZW50IEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDEzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgRXZlbnRTZW5k
ZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSksIHdoaWNoIHNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Ig
b2YgZgorICAgICAgICBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4g
RW5hYmxlZCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVlbiB3YWl0aW5nCisgICAgICAgIGZvciB0aGUg
aW1wbGVtZW50YXRpb24gb2YgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSkuCisKKyAg
ICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3Rz
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13
aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50
L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY2FsZVBhZ2UpOiBBIHdyYXBwZXIgbWV0aG9k
IGZvciBzY2FsZVBhZ2UoKSBpbiBXZWJDb3JlLgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5o
OgorCiAyMDExLTA3LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggOTE0OGQ3MDNiYWY5ZGQ4YTRmMDQ4YTY2YjM2OWUy
MDFlNWVkMjkyYy4uYWY0NWEwM2E5MmExZjhkNWY0NDM3ZTA2MThkNGE2MmY1YzNmZWMwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtMjAzLDYgKzIwMyw5IEBA
IHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIHN0YXRpYyBkb3VibGUgem9vbUxldmVsVG9ab29tRmFj
dG9yKGRvdWJsZSB6b29tTGV2ZWwpOwogICAgIFdFQktJVF9BUEkgc3RhdGljIGRvdWJsZSB6b29t
RmFjdG9yVG9ab29tTGV2ZWwoZG91YmxlIGZhY3Rvcik7CiAKKyAgICAvLyBTY2FsZXMgYSBwYWdl
IGJ5IGEgZmFjdG9yIG9mIHNjYWxlRmFjdG9yIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwgcG9zaXRp
b24gdG8gKHgsIHkpLgorICAgIHZpcnR1YWwgdm9pZCBzY2FsZVBhZ2UoZmxvYXQgc2NhbGVGYWN0
b3IsIFdlYlBvaW50IG9yaWdpbikgPSAwOworCiAKICAgICAvLyBNZWRpYSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDA3ZmM1NWUzMGY5
M2M3ODcwNmE3OTY0Y2ZmMjIzMGQ5ZTU5YmIyODkuLmViNzQ2ZjI4NDQ1MGUyMGI1NDcxZTY3M2Iz
NzdjMmFhNzkxZDNhYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKQEAgLTE4MjcsNiArMTgyNywxOCBAQCBkb3VibGUgV2ViVmlldzo6em9vbUZhY3RvclRv
Wm9vbUxldmVsKGRvdWJsZSBmYWN0b3IpCiAgICAgcmV0dXJuIGxvZyhmYWN0b3IpIC8gbG9nKHRl
eHRTaXplTXVsdGlwbGllclJhdGlvKTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6c2NhbGVQYWdl
KGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQb2ludCBvcmlnaW4pCit7CisgICAgaWYgKCFwYWdlKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UoKS0+bWFpbkZyYW1l
KCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZnJhbWUtPnNjYWxl
UGFnZShzY2FsZUZhY3Rvciwgb3JpZ2luKTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6cGVyZm9y
bU1lZGlhUGxheWVyQWN0aW9uKGNvbnN0IFdlYk1lZGlhUGxheWVyQWN0aW9uJiBhY3Rpb24sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViUG9pbnQm
IGxvY2F0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5k
ZXggZDZlNTdjNzI3MjQxNmFiNmFkYzg5Y2M1ZDAzYzc1ZThjN2IxYWNmMy4uZWVjYjc3NTUwOWI4
YjFkNzllMmRlODliMTJiMjVkZmZlMGU0Y2NiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCkBAIC0xNTEsNiArMTUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
ZG91YmxlIHNldFpvb21MZXZlbChib29sIHRleHRPbmx5LCBkb3VibGUgem9vbUxldmVsKTsKICAg
ICB2aXJ0dWFsIHZvaWQgem9vbUxpbWl0c0NoYW5nZWQoZG91YmxlIG1pbmltdW1ab29tTGV2ZWws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhpbXVtWm9vbUxl
dmVsKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2NhbGVQYWdlKGZsb2F0IHNjYWxlRmFjdG9yLCBXZWJQ
b2ludCBvcmlnaW4pOwogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtTWVkaWFQbGF5ZXJBY3Rpb24o
CiAgICAgICAgIGNvbnN0IFdlYk1lZGlhUGxheWVyQWN0aW9uJiBhY3Rpb24sCiAgICAgICAgIGNv
bnN0IFdlYlBvaW50JiBsb2NhdGlvbik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggNTc1NTJhMzZmN2Y3OTE2MjZjYjEwMzkzNDE4ZWQ2MDEzMTUx
MDE2Ni4uNTgyZGMzMWM1NzcwOWZlZmExZGIzNzM2ZjNhZjJlMGQ2ODIzMGFmMiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBA
CisyMDExLTA4LTAxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgSW1wbGVtZW50IEV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgRXZlbnRTZW5kZXIuc2Nh
bGVQYWdlQnkoZiwgeCwgeSksIHdoaWNoIHNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0b3Igb2YgZgor
ICAgICAgICBhbmQgdGhlbiBzZXRzIGEgc2Nyb2xsIHBvc2l0aW9uIHRvICh4LCB5KS4gRW5hYmxl
ZCB0aGUgdGVzdHMgdGhhdCBoYWQgYmVlbiB3YWl0aW5nCisgICAgICAgIGZvciB0aGUgaW1wbGVt
ZW50YXRpb24gb2YgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoZiwgeCwgeSkuCisKKyAgICAgICAg
VGVzdHM6IGNvbXBvc2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92
ZXJmbG93LWhpZGRlbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9FbGVtZW50L3NjYWxl
LXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChFdmVudFNl
bmRlcjo6RXZlbnRTZW5kZXIpOiBBZGRlZCBiaW5kaW5ncyBmb3Igc2NhbGVQYWdlQnkoKS4KKyAg
ICAgICAgKEV2ZW50U2VuZGVyOjpzY2FsZVBhZ2VCeSk6IEEgd3JhcHBlciBtZXRob2QgZm9yIHNj
YWxlUGFnZSgpIGluIFdlYlZpZXcuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpyZXNldFRlc3RDb250cm9sbGVyKTogUmVzZXRz
IHRoZSBzY2FsZSBmYWN0b3IgdG8gMS4KKwogMjAxMS0wNy0zMSAgWGFuIExvcGV6ICA8eGxvcGV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgR3JvdXAgZGVwZW5kZW5jaWVzIENGTEFHUyB0b2dldGhl
ci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVy
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcAppbmRl
eCBiZmVlMDc3ODI4OTY4OTM3OWY5OGZjNTM1ZDk3NDU5MWU3Yjc3MTk4Li44N2ZiNTI0MjU2ZWM3
N2RjZGQ0ZTE2ODYwNTAwZTFkYzZkOTc1ZDMyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRXZlbnRTZW5kZXIuY3BwCkBAIC0yODAsNiArMjgwLDcgQEAgRXZlbnRTZW5kZXI6
OkV2ZW50U2VuZGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgidXBkYXRlVG91
Y2hQb2ludCIsICZFdmVudFNlbmRlcjo6dXBkYXRlVG91Y2hQb2ludCk7CiAgICAgYmluZE1ldGhv
ZCgiem9vbVBhZ2VJbiIsICZFdmVudFNlbmRlcjo6em9vbVBhZ2VJbik7CiAgICAgYmluZE1ldGhv
ZCgiem9vbVBhZ2VPdXQiLCAmRXZlbnRTZW5kZXI6Onpvb21QYWdlT3V0KTsKKyAgICBiaW5kTWV0
aG9kKCJzY2FsZVBhZ2VCeSIsICZFdmVudFNlbmRlcjo6c2NhbGVQYWdlQnkpOwogCiAgICAgLy8g
V2hlbiBzZXQgdG8gdHJ1ZSAodGhlIGRlZmF1bHQgdmFsdWUpLCB3ZSBiYXRjaCBtb3VzZSBtb3Zl
IGFuZCBtb3VzZSB1cAogICAgIC8vIGV2ZW50cyBzbyB3ZSBjYW4gc2ltdWxhdGUgZHJhZyAmIGRy
b3AuCkBAIC02OTgsNiArNjk5LDE4IEBAIHZvaWQgRXZlbnRTZW5kZXI6Onpvb21QYWdlT3V0KGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQtPnNl
dE51bGwoKTsKIH0KIAordm9pZCBFdmVudFNlbmRlcjo6c2NhbGVQYWdlQnkoY29uc3QgQ3BwQXJn
dW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBpZiAoYXJn
dW1lbnRzLnNpemUoKSA8IDMgfHwgIWFyZ3VtZW50c1swXS5pc051bWJlcigpIHx8ICFhcmd1bWVu
dHNbMV0uaXNOdW1iZXIoKSB8fCAhYXJndW1lbnRzWzJdLmlzTnVtYmVyKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGZsb2F0IHNjYWxlRmFjdG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3Vt
ZW50c1swXS50b0RvdWJsZSgpKTsKKyAgICBpbnQgeCA9IGFyZ3VtZW50c1sxXS50b0ludDMyKCk7
CisgICAgaW50IHkgPSBhcmd1bWVudHNbMl0udG9JbnQzMigpOworICAgIHdlYnZpZXcoKS0+c2Nh
bGVQYWdlKHNjYWxlRmFjdG9yLCBXZWJQb2ludCh4LCB5KSk7CisgICAgcmVzdWx0LT5zZXROdWxs
KCk7Cit9CisKIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlU2Nyb2xsQnkoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBoYW5kbGVNb3Vz
ZVdoZWVsKGFyZ3VtZW50cywgcmVzdWx0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRXZlbnRTZW5kZXIuaAppbmRleCA1NGIwNjUwMzNjNjgxOTJjMzc3MjE4MzY1NTM5
ZWM0Nzk4ZjkxYjNiLi5iZTYyMjk0YjFkZTYwY2E1YjZkMDMwNDkyZGZjODc5ZjQ2NWI1ZmQwIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmgKQEAgLTc2LDYg
Kzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGV4dFpvb21PdXQoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgem9vbVBhZ2VJbihjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCB6b29tUGFnZU91dChjb25zdCBDcHBBcmd1
bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBzY2FsZVBhZ2VCeShjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBtb3VzZVNjcm9sbEJ5KGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGNvbnRpbnVvdXNNb3Vz
ZVNjcm9sbEJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lk
IHNjaGVkdWxlQXN5bmNocm9ub3VzQ2xpY2soY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNo
ZWxsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5k
ZXggNmYwYjUxZmY5ZTc1MTI3ODliZWJhMGY1OTE3YjhjZWVlNzQ1N2IyYi4uZjFiOGQyMjcwMTMw
Mjg2MDlmYThmYzk4OTg4OWVlMWY3NGUwNTlmZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0U2hlbGwuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiV2ViVGVz
dGluZ1N1cHBvcnQuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRlICJXZWJQZXJtaXNz
aW9ucy5oIgorI2luY2x1ZGUgIldlYlBvaW50LmgiCiAjaW5jbHVkZSAiV2ViUnVudGltZUZlYXR1
cmVzLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldlYlNl
dHRpbmdzLmgiCkBAIC0yNjUsNiArMjY2LDcgQEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0VGVzdENv
bnRyb2xsZXIoKQogICAgIG1fZHJ0RGV2VG9vbHNBZ2VudC0+cmVzZXQoKTsKICAgICBpZiAobV9k
cnREZXZUb29sc0NsaWVudCkKICAgICAgICAgbV9kcnREZXZUb29sc0NsaWVudC0+cmVzZXQoKTsK
KyAgICB3ZWJWaWV3KCktPnNjYWxlUGFnZSgxLCBXZWJQb2ludCgwLCAwKSk7CiAgICAgd2ViVmll
dygpLT5tYWluRnJhbWUoKS0+Y2xlYXJPcGVuZXIoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102853</attachid>
            <date>2011-08-03 16:27:12 -0700</date>
            <delta_ts>2011-08-03 19:01:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58013-20110804082710.patch</filename>
            <type>text/plain</type>
            <size>19524</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxNjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMWM3MzRjMDAwNGI4YTA2MTcyYjNl
OWEwNTYyYTFlY2FiYmViNGVhLi44MDk0NjE3ZGFiMDNjNjNiN2YzZDY3NWE1MzgxZTQ4NGFiYzc1
YjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMDMgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQ
YWdlQnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTgwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVz
IGEgcGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwg
cG9zaXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRp
bmcKKyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBh
Z2VCeShmLCB4LCB5KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBv
c2l0aW5nL3NjYWxpbmcvdGlsZWQtbGF5ZXItcmVjdXJzaW9uLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2Nh
bGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91
bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtYm91bmRpbmctY2xp
ZW50LXJlY3QtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtLXdpbi9mYXN0L2RvbS9FbGVtZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxl
LXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6IEVuYWJsZWQgb25lIHRlc3QuIEVu
YWJsZWQgdHdvIHRlc3RzIGZvciBjaHJvbWl1bS1saW51eC4KKwogMjAxMS0wOC0wMSAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
YnV0dG9uICsgIk5ldyBzdHlsZSBydWxlIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNp
b24tZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29t
cG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXllci1yZWN1cnNpb24tZXhwZWN0ZWQucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc0YmQ4MzllY2Q5NTQxYWIzMWZjZGIwZmNhMGZiMzQyNDM4M2ZlYmQKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDMzMzYKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5p
MCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QheTQlCnpnQ3NLcE9HRVMyI0FIajg2cTYqMjZrYGtI
V0NMUnBwaCVpJkJEPnlJREZ6MGZTKU1NQUFyKjdwLVprYGw5S3EwIwp6JGdiI1g4dlJVV1BOUHo2
LWheaEtvej4jXjczT3daSS1oZ2d1RG1wako1MVJ7c05nfC0jRUl7cmVWPkttOTYhRmMKekpzeC1H
eyhYSzFoQkY0Zm0rIylheVJ2LXg+OER2K3JQPzA7bDNtV2lAUyhIIUBzNjgwJnczJnc0bColUlRy
fjBKCnpVbWFaUjdXZW8xVz00aHxPIUlDXitRP3tiVXw+ak07JH4xIzEyVzw9V3NXYT8mTUwtbUFs
djUzKXItZjNBe1pGYgp6dE03IWlfb0BQQSZsTnw2X0BDUXhRRz8rP1chIz4tREAxaHw4ZzhyK1Uy
fUFQY2pDd1JeREd1R3VsTDhfLShVT3gKek1JP2o0Xip5M0dyTDZMPT5PT2RBSD1JOVczTiZmK29M
I1Q0RG1Kbio3QFYlIVlpRzBie2A+aUplKlhOdHkhI0YjCnohVT1HPGo1M2c4aFAyU1FFXm9gbyZ+
UUZ8X2clWlglSWZPaEtiOVV+Vno5VmZ3WVNkViN7Mks+P3s2dXdGbXl4JAp6KH1jeHJUXz1XeTg2
Y3VPbTZlO31MQyFWflV9UylaZHNCZ1dJeWl4R0pZJHFXUTZSK0RlXz4lQHV4byE/Vz9qNGwKejc/
dn1oSzZ7cFNab31RWV5sa3gyejlUSm1WWXppdzd4Xzc0R3peaTd7bjNPcG52Z35kcVMwSkhgJj59
PV9vNlRaCnohdztGVi1GTUdTMWVVPUcpNlMrRHJ7QSNYMTI7UVIzZ3VAPzxxUXA8YjtQPDRQeVlW
PmB+THA1MzUqUExvKT56ewp6K0EwSXhkRzZiZTZAMW0rSyhSZj9vV29fV1R+ej1JIz1Yc208cG1q
ezQmclEhKFI8ITYwJkk4Y04zUldnWV9aUUcKek45T3B8dGdSTVglWVdRPnZ8aWJ+biZJQnJgfVk2
LUotI2gzWl9DWmxtTzFPKXlMV3pqY2dOXzN1ZkElKV5QbGI3Cno9ZiNXK2RZOWopUylLbEIhMUxI
NSZ1cTRNZCo5PDdhcUh1YU8mUmB1LSopQCQqfFRUZSZva1ktbnp3IVNPbyFxJgp6K2NIeiUlUkE+
WUdWRzk8ZUt1e0B2ZHdseXNwJGQ/ND1TSTN5TDIqTUBaMyY2SWZlKD9tY0stdmhnLS0reXoyN2EK
emJ+biNvbWZeIXcpIXRILTRPY2BOM1FwZDs3dmF6QjlTaWk9IypPUmRANDEmX2NIWlAjLVR3TzFe
M0NUVGVjJTc8CnpBdFNAfGdtWkltJXI4dm96N1ErVChCUz47KmUpcioqZUJ+WT9udjNiZWZ4NGdo
OTk1cSNmMlg+LWt5ME9nNWtoWQp6JnNTTHpaTDZPYSY4IWgqSTFwWiVyeXNqRU9uYmkhM3hoP2Yl
PDx5Ky19aDhSYUxyekooenV2YFZQMXNaXnlrKz0KYmVyTkRnZjlCQEB7WV5adVlzMjhfPmdUZX5E
V000ZlpDQCstCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmst
ZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC9y
ZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5rLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjA2YTM2
YjU0ZGFmZDIyNTc2MTA2NTZhZDk2ZGY4NzdjMTE2OWViCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCA0MDYxCnpjbWVIS3w1TVV1OVJGeVl1S2MjSEZQYSooeUlybysjRFBqQSUzNURzT0ohU0lXZ3dK
aCpuclVSSjBkSVJJSWxDVgp6YjdgZ04/WXZ+MlV2UUN2aWtlWjltcUtQcnJodyFaQ1cobG9ERHF7
YHspX0Y3PWE9V1hfdWNiO1VlRHt4SkA9Ry0Kem1sV0BfSEU9NWdLfFV3R0lyOyt4WlEyViM/cUAl
NzJiRztXYzd9anlmQStEbio9WlQrWDtmd285ZzIjJDZwY2I1CnpRQmpkZClJfkhaSXUmXiNINURD
fDkqSD5eYnVsXzMlS3U0ajI/WTV1UDg+Yl9WfTZaY0I4QmwmeTg0TSReP0xQfQp6Rk0yLVJAJWdv
WWdsdWZ9dm96ZE9eTTMzZG8+cUJoQEspS0U5YClPe3JfISRiKWI5PCpfO2NjcmtIX1lweSQrdj8K
el87JkJfRHRqPCgjRlNNdEZvXkJsT3UzcmtuVyNLeHU/a3FtZyVZd0E4M3A1Y0xRci1DZThtSFQ5
MjImdio1bWNWCnphd1ZyPExzKGJmKkRQYUJUT312Y0M/SHYlNC05OH42dW9xcT92amd+T0lvU0hW
Q1pHUCghQDkke3BASjk4I0U9Tgp6REwpOCQ7e3Y+SSFlWHQlQCRsfUN1VFMjdmIjWWZgVWcrdkw0
elEpOHFob1kqUk02fE50e051SnY9OXNDP28hNS0Kek4oNHpGWmcwPEJuKDdtJjMjcE5UdjhIRitn
K2lmRFEzbyRTP2pLSGtFMkpwJmRpfX09QzUxeGE/VEtsWk5Oajc8CnpKTy1XNEhWPmdlcEpXMGRy
cjVVRE1wZm4tKXY7KV89K1VGQSlCV1lRWntNRHVwUCF3Yk1OI0I1ST0jOE1uTkZ2eAp6IzkzKlVN
SFQyRDhYOCglVUNwdkFyWChqOUVEd1lyaH5md29pbiU7OXBzUXNxVDMwXlE2PGc8VEFiUm9fLXVg
dWoKej56bWtLMm9Ub0NeUkNlOF92NkB3UEtPPU1QIW1aYzcqQUhBZUFMPzclNWdmJSVnZD9DbWMr
IXdabF9+SSNMeUh3CnopXiVLfEhjIUp3cXRUWTx7XlckO0BWLWk9UVp7WFJjIzF6YUh3Vk0hd3t+
YFJpcDZWQnklMEBKT35sVVpgOSlQMQp6cWkyMD9hQnh0bGh9JHJURyRlODYxcn1ATEE7MCFxYWBP
NnVQeXRCR0dyVmgpTlEoWWBefmNMOWdtWCNpaGVEeU0KejVNJmFPTks4JjEyU0BrIV91RHJ0UmFJ
NHIrU3NuUHdsPDJRUi0xVmNnJVdtbFRCbXVxeGNzSDV2MVM2MyRwbHBKCnp0Vmk0LThAMVRGVyRm
QX1QaFdWUExAZHM/dChrXjE5KFF6TGE1Iz1wLU11e3xYfGdraW52PTZLKn0rdHtxeStoTAp6OE5L
JF5XYGZBMHE7Q1h8diYmPFFsVTtkP2h5V1VtPUZPRD8oISZsTU5hLSVqVllBdG5GSkgjTzZtb2ct
YGZRYXsKem5+QSZ0M1A2bjkrKzFXNG57OEwrWTQtNEJYMHVyLUFtY0twcDdmUD9xTkFoZGJVS2BF
TmpmbDdUM1R2UnZseCtxCnoyZzFVZGZRJGtHOFBOMWBlbmk3QCtIRSEpeFRqfUhwQTYyQzJ1RnY4
aDZaWTRTKnV+OztZc185bDFkcWpNYSMtRQp6SnVVU0Q/V05rS01uVFUjK20/NCR0Sk09OzZqOWN9
MlAhWW16TntkZUs3SU5VdW9vUUheWjBST3UmQDhGVTAyaSsKeiU9cVpAOH55QFBjT21lTVMqSCoq
SHtVOyRxWCtnNE52Z1IrVExCOUtmbCRIc15DJHVRNmFnMWkxVG56MlZCZjBCCnolQXtJc2ZsaHVP
QU9kKEtydjlKYF52dnJBQyV3RzlXSDxNOEY/RGhQOXBJPjZDcWpfWkA2QHp1NFdZNW1EJFkydQp6
NyZWTkpIe09HSmRyVkFCakVzIUxhQihSckhIXldfOChPJjY2ckFBR3p+fD9NMURrPGlmQTBuYVQ0
YCtMbEgoKygKekJBcUBUdEc8aUVVOz1FQjF5fnFRQnBjfiEwQ3MheD04Z1BVdmlKRDd7XkdiSUpg
czwxekhkdkkhYEY1Uk1aSE51Cnp8RExBQ09jcCQtTkpycXolYj1IaXtuUzFVZXZFZyNLQlgoeUt2
ZUJVMjlgSH4hRk1XRjx1d0BRJSFeeT5qYTVTdgp6SGc5bjxSM0pnWmMpKHtZUTAtPH05RDJmNSRr
dn0mRX1PPkhaY017KEk8PzskWEsrJCNGVU5wKW4pJmhGVWVGWUoKemhfbFRkZGJXOE5eaXslbkhg
bjVTTDt+JG5NMWJ2eiN6QCsqUStiNlUmZlRPfm80I0p7NGxOUFQ7NlpffXpgJEc1Cnp4Vkd+JW0k
V1dfeVJ6KntmaHpeQjZ1NDYwTzJMME0xcSZSdm1jfnVvISNRUTQ7SiolP0lGQHZAPD9Iajt7e2U/
egpCN2N+Rj8KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3Jl
cGFpbnQvc2NhbGUtcGFnZS1zaHJpbmstZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZDRkMzM3
YWZmOWNmNzdlN2I1ZTY1OWZhNDQ4ZDUyYTUyNGJiMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1z
aHJpbmstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MjAKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjg2eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNjg2OiAiVGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVl
IGFzIGEgcGl4ZWwgdGVzdC4gVGhlcmUgc2hvdWxkIG5vdCBiZSB2aXN1YWwgYXJpdGZhY3RzIGFm
dGVyIHNjYWxpbmcgdGhlIHBhZ2UuIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjAp
IHNpemUgNTAweDUwMCBbYmdjb2xvcj0jMDA4MDAwXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGlu
Zy1jbGllbnQtcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1tYWMvZmFzdC9kb20vRWxlbWVudC9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE5YmFiYjRjMjkzNTVh
NTdkZGZlMjFmODkzNmM2Njc0NGI1YThjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvZmFzdC9k
b20vRWxlbWVudC9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBV
bmNhdWdodCBUeXBlRXJyb3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAn
c2NhbGVQYWdlQnknCi1UaGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1Jh
bmdlL3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91
bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMDZjODk1NTEyODIxMWYxYzQ1YzY1NzY2MjgxMTZkMTM2MTFiMWQ0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1y
ZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9iamVjdCBbb2JqZWN0IE9iamVj
dF0gaGFzIG5vIG1ldGhvZCAnc2NhbGVQYWdlQnknCi1UaGlzIHRlc3QgbXVzdCBiZSBydW4gdmlh
IER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20v
RWxlbWVudC9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE5YmFiYjRjMjkzNTVhNTdkZGZlMjFmODkzNmM2
Njc0NGI1YThjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9kb20vRWxlbWVudC9zY2Fs
ZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBUeXBlRXJy
b3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnc2NhbGVQYWdlQnknCi1U
aGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFn
ZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL2Zhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTliYWJiNGMyOTM1NWE1N2RkZmUy
MWY4OTM2YzY2NzQ0YjVhOGMyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9FbGVt
ZW50L3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBUeXBlRXJy
b3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnc2NhbGVQYWdlQnknCi1U
aGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2Ut
Ym91bmRpbmctY2xpZW50LXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0td2luL2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtYm91bmRpbmctY2xpZW50LXJl
Y3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDZjODk1NTEy
ODIxMWYxYzQ1YzY1NzY2MjgxMTZkMTM2MTFiMWQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
OiBVbmNhdWdodCBUeXBlRXJyb3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhv
ZCAnc2NhbGVQYWdlQnknCi1UaGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvZG9t
L1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWNsaWVudC1y
ZWN0cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2YzgwYzJh
NWU3NjQ0ZTljZTBmZTVhNDI5OGQ2MjhmYzgwMTcyZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3QvZG9tL1JhbmdlL3NjYWxlLXBhZ2UtY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBVbmNh
dWdodCBUeXBlRXJyb3I6IE9iamVjdCBbb2JqZWN0IE9iamVjdF0gaGFzIG5vIG1ldGhvZCAnc2Nh
bGVQYWdlQnknCi1UaGlzIHRlc3QgbXVzdCBiZSBydW4gdmlhIER1bXBSZW5kZXJUcmVlLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IGVhZDFiYzkyYWRmMjQ1YWEyNGIxYzU0MzBhNjNkYTYwOWZhMTcyODcuLjBiZDk1ZTVl
ZmQwNWFlMTBkNmYyNDBhZTBmNWE5OTE2Nzc2YmJmMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTU5NCw5ICs1OTQs
OSBAQCBCVUdDUjg2MzAgV0lOIExJTlVYIDogZmFzdC90ZXh0L2ZvbnQtaW5pdGlhbC5odG1sID0g
RkFJTAogQlVHQ1IyNDE5NyBTS0lQIDogZmFzdC9jc3MvZGlzYWJsZWQtYXV0aG9yLXN0eWxlcy5o
dG1sID0gRkFJTAogCiAvLyBOZWVkcyBldmVudFNlbmRlci5zY2FsZVBhZ2VCeSgpLgotQlVHV0s1
ODAxMyA6IGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sID0gSU1BR0UrVEVYVAot
QlVHV0s1ODAxMyA6IGZhc3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJm
bG93LWhpZGRlbi5odG1sID0gVEVYVAotQlVHV0s1ODAxMyBTS0lQIDogY29tcG9zaXRpbmcvc2Nh
bGluZy90aWxlZC1sYXllci1yZWN1cnNpb24uaHRtbCA9IEZBSUwKKy8vIFRoZXNlIGZhaWx1cmVz
IGFyZSBnb2luZyB0byBiZSByZW1vdmVkIGFzIGEgcmViYXNlIGxpbmUgYWZ0ZXIgdGhlIHBhdGNo
IGZvciBidWcgNTgwMTMgaXMgbGFuZGVkLgorQlVHV0s1ODAxMyBXSU4gTUFDIDogZmFzdC9yZXBh
aW50L3NjYWxlLXBhZ2Utc2hyaW5rLmh0bWwgPSBJTUFHRStURVhUCitCVUdXSzU4MDEzIFdJTiBN
QUMgOiBjb21wb3NpdGluZy9zY2FsaW5nL3RpbGVkLWxheWVyLXJlY3Vyc2lvbi5odG1sID0gRkFJ
TAogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogLy8gSW5zcGVjdG9yIHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDYxNWU3ZDU4ZTcyNzQ1MDJlMWI2MzcxNzBhYTczM2Q0YzIwZmJiMWMuLjQ5N2Nl
NTBhNjc3YTk4MmYwNTdkMDRkMzBmZTc2Mjk5NmI1MGU2YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMDMgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQYWdl
QnkoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgw
MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBs
ZW1lbnRlZCBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVzIGEg
cGFnZSBieSBhIGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwgcG9z
aXRpb24gdG8gKHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRpbmcK
KyAgICAgICAgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBhZ2VC
eShmLCB4LCB5KS4KKworICAgICAgICBUZXN0czogY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1s
YXllci1yZWN1cnNpb24uaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L3NjYWxlLXBh
Z2Utc2hyaW5rLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFn
ZS1jbGllbnQtcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vUmFuZ2Uvc2NhbGUt
cGFnZS1jbGllbnQtcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvc2Nyb2xs
LWluLXNjYWxlZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1y
ZWN0Lmh0bWwKKworICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjYWxlUGFnZSk6
IEEgd3JhcHBlciBtZXRob2QgZm9yIHNjYWxlUGFnZSgpIGluIFdlYkNvcmUuCisgICAgICAgICog
c3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMTEtMDgtMDEgIEplYW4tbHVjIEJyb3VpbGxldCAgPGpl
YW5sdWNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92aW5nIG9sZCBzb3VyY2UgZmlsZXMg
aW4gZ3lwIGZpbGVzIHRoYXQgc2xvdyBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViVmlldy5oCmluZGV4IDkxNDhkNzAzYmFmOWRkOGE0ZjA0OGE2NmIzNjllMjAxZTVlZDI5MmMu
LmY3ZTJiYjkwMjU5M2JiZDRkZGQ4MjA4MmQ3ODM3MzRiOGU3Y2YyYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTIwMyw2ICsyMDMsMTEgQEAgcHVibGljOgog
ICAgIFdFQktJVF9BUEkgc3RhdGljIGRvdWJsZSB6b29tTGV2ZWxUb1pvb21GYWN0b3IoZG91Ymxl
IHpvb21MZXZlbCk7CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgZG91YmxlIHpvb21GYWN0b3JUb1pv
b21MZXZlbChkb3VibGUgZmFjdG9yKTsKIAorICAgIC8vIFNjYWxlcyBhIHBhZ2UgYnkgYSBmYWN0
b3Igb2Ygc2NhbGVGYWN0b3IgYW5kIHRoZW4gc2V0cyBhIHNjcm9sbCBwb3NpdGlvbiB0byAoeCwg
eSkuCisgICAgLy8gc2NhbGVQYWdlKCkgbWFnbmlmaWVzIGFuZCBzaHJpbmtzIGEgcGFnZSB3aXRo
b3V0IGFmZmVjdGluZyBsYXlvdXQuCisgICAgLy8gT24gdGhlIG90aGVyIGhhbmQsIHpvb21pbmcg
YWZmZWN0cyBsYXlvdXQgb2YgdGhlIHBhZ2UuCisgICAgdmlydHVhbCB2b2lkIHNjYWxlUGFnZShm
bG9hdCBzY2FsZUZhY3RvciwgV2ViUG9pbnQgb3JpZ2luKSA9IDA7CisKIAogICAgIC8vIE1lZGlh
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5k
ZXggMDdmYzU1ZTMwZjkzYzc4NzA2YTc5NjRjZmYyMjMwZDllNTliYjI4OS4uZWI3NDZmMjg0NDUw
ZTIwYjU0NzFlNjczYjM3N2MyYWE3OTFkM2FiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMTgyNyw2ICsxODI3LDE4IEBAIGRvdWJsZSBXZWJWaWV3
Ojp6b29tRmFjdG9yVG9ab29tTGV2ZWwoZG91YmxlIGZhY3RvcikKICAgICByZXR1cm4gbG9nKGZh
Y3RvcikgLyBsb2codGV4dFNpemVNdWx0aXBsaWVyUmF0aW8pOwogfQogCit2b2lkIFdlYlZpZXdJ
bXBsOjpzY2FsZVBhZ2UoZmxvYXQgc2NhbGVGYWN0b3IsIFdlYlBvaW50IG9yaWdpbikKK3sKKyAg
ICBpZiAoIXBhZ2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWUqIGZyYW1lID0gcGFn
ZSgpLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmcmFtZS0+c2NhbGVQYWdlKHNjYWxlRmFjdG9yLCBvcmlnaW4pOworfQorCiB2b2lkIFdlYlZp
ZXdJbXBsOjpwZXJmb3JtTWVkaWFQbGF5ZXJBY3Rpb24oY29uc3QgV2ViTWVkaWFQbGF5ZXJBY3Rp
b24mIGFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJQb2ludCYgbG9jYXRpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAppbmRleCBkNmU1N2M3MjcyNDE2YWI2YWRjODljYzVkMDNjNzVlOGM3YjFhY2Yz
Li5lZWNiNzc1NTA5YjhiMWQ3OWUyZGU4OWIxMmIyNWRmZmUwZTRjY2JlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBkb3VibGUgc2V0Wm9vbUxldmVsKGJvb2wgdGV4dE9ubHksIGRvdWJsZSB6
b29tTGV2ZWwpOwogICAgIHZpcnR1YWwgdm9pZCB6b29tTGltaXRzQ2hhbmdlZChkb3VibGUgbWlu
aW11bVpvb21MZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91Ymxl
IG1heGltdW1ab29tTGV2ZWwpOworICAgIHZpcnR1YWwgdm9pZCBzY2FsZVBhZ2UoZmxvYXQgc2Nh
bGVGYWN0b3IsIFdlYlBvaW50IG9yaWdpbik7CiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1NZWRp
YVBsYXllckFjdGlvbigKICAgICAgICAgY29uc3QgV2ViTWVkaWFQbGF5ZXJBY3Rpb24mIGFjdGlv
biwKICAgICAgICAgY29uc3QgV2ViUG9pbnQmIGxvY2F0aW9uKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOWUxM2QxNmRhNWY1MzQ3NDRhNjI5
NThlYzM1YTJkOTE4YmU0OWQxLi43OGNhZWQyNWM3NzkwZTg1NDliMjJkNmM0YmVkODA1NmIyZmRm
MTUwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMDMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgwMTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRlZCBF
dmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5KSwgd2hpY2ggc2NhbGVzIGEgcGFnZSBieSBh
IGZhY3RvciBvZiBmCisgICAgICAgIGFuZCB0aGVuIHNldHMgYSBzY3JvbGwgcG9zaXRpb24gdG8g
KHgsIHkpLiBFbmFibGVkIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHdhaXRpbmcKKyAgICAgICAg
Zm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdmVudFNlbmRlci5zY2FsZVBhZ2VCeShmLCB4LCB5
KS4KKworICAgICAgICBUZXN0czogY29tcG9zaXRpbmcvc2NhbGluZy90aWxlZC1sYXllci1yZWN1
cnNpb24uaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L3NjYWxlLXBhZ2Utc2hyaW5r
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQt
cmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vUmFuZ2Uvc2NhbGUtcGFnZS1jbGll
bnQtcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvc2Nyb2xsLWluLXNjYWxl
ZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9t
L0VsZW1lbnQvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2RvbS9SYW5nZS9zY2FsZS1wYWdlLWJvdW5kaW5nLWNsaWVudC1yZWN0Lmh0bWwK
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0V2ZW50U2VuZGVyLmNwcDoKKyAg
ICAgICAgKEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcik6IEFkZGVkIGJpbmRpbmdzIGZvciBzY2Fs
ZVBhZ2VCeSgpLgorICAgICAgICAoRXZlbnRTZW5kZXI6OnNjYWxlUGFnZUJ5KTogQSB3cmFwcGVy
IG1ldGhvZCBmb3Igc2NhbGVQYWdlKCkgaW4gV2ViVmlldy4KKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0VGVzdENvbnRy
b2xsZXIpOiBSZXNldHMgdGhlIHNjYWxlIGZhY3RvciB0byAxLgorCiAyMDExLTA4LTAxICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgZ2FyZGVuLW8tbWF0aWMgc2hv
dWxkIGNhbGwgb3B0aW1pemUtYmFzZWxpbmVzIHdoZW4gcmViYXNlbGluaW5nIHRlc3RzCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5jcHAKaW5kZXggYmZlZTA3
NzgyODk2ODkzNzlmOThmYzUzNWQ5NzQ1OTFlN2I3NzE5OC4uODdmYjUyNDI1NmVjNzdkY2RkNGUx
Njg2MDUwMGUxZGM2ZDk3NWQzMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0V2ZW50U2VuZGVyLmNwcApAQCAtMjgwLDYgKzI4MCw3IEBAIEV2ZW50U2VuZGVyOjpFdmVudFNl
bmRlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoInVwZGF0ZVRvdWNoUG9pbnQi
LCAmRXZlbnRTZW5kZXI6OnVwZGF0ZVRvdWNoUG9pbnQpOwogICAgIGJpbmRNZXRob2QoInpvb21Q
YWdlSW4iLCAmRXZlbnRTZW5kZXI6Onpvb21QYWdlSW4pOwogICAgIGJpbmRNZXRob2QoInpvb21Q
YWdlT3V0IiwgJkV2ZW50U2VuZGVyOjp6b29tUGFnZU91dCk7CisgICAgYmluZE1ldGhvZCgic2Nh
bGVQYWdlQnkiLCAmRXZlbnRTZW5kZXI6OnNjYWxlUGFnZUJ5KTsKIAogICAgIC8vIFdoZW4gc2V0
IHRvIHRydWUgKHRoZSBkZWZhdWx0IHZhbHVlKSwgd2UgYmF0Y2ggbW91c2UgbW92ZSBhbmQgbW91
c2UgdXAKICAgICAvLyBldmVudHMgc28gd2UgY2FuIHNpbXVsYXRlIGRyYWcgJiBkcm9wLgpAQCAt
Njk4LDYgKzY5OSwxOCBAQCB2b2lkIEV2ZW50U2VuZGVyOjp6b29tUGFnZU91dChjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiAgICAgcmVzdWx0LT5zZXROdWxsKCk7
CiB9CiAKK3ZvaWQgRXZlbnRTZW5kZXI6OnNjYWxlUGFnZUJ5KGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgaWYgKGFyZ3VtZW50cy5z
aXplKCkgPCAzIHx8ICFhcmd1bWVudHNbMF0uaXNOdW1iZXIoKSB8fCAhYXJndW1lbnRzWzFdLmlz
TnVtYmVyKCkgfHwgIWFyZ3VtZW50c1syXS5pc051bWJlcigpKQorICAgICAgICByZXR1cm47CisK
KyAgICBmbG9hdCBzY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1bWVudHNbMF0u
dG9Eb3VibGUoKSk7CisgICAgaW50IHggPSBhcmd1bWVudHNbMV0udG9JbnQzMigpOworICAgIGlu
dCB5ID0gYXJndW1lbnRzWzJdLnRvSW50MzIoKTsKKyAgICB3ZWJ2aWV3KCktPnNjYWxlUGFnZShz
Y2FsZUZhY3RvciwgV2ViUG9pbnQoeCwgeSkpOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQor
CiB2b2lkIEV2ZW50U2VuZGVyOjptb3VzZVNjcm9sbEJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYg
YXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgaGFuZGxlTW91c2VXaGVlbChh
cmd1bWVudHMsIHJlc3VsdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0V2ZW50U2VuZGVyLmgKaW5kZXggNTRiMDY1MDMzYzY4MTkyYzM3NzIxODM2NTUzOWVjNDc5OGY5
MWIzYi4uYmU2MjI5NGIxZGU2MGNhNWI2ZDAzMDQ5MmRmYzg3OWY0NjViNWZkMCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRXZlbnRTZW5kZXIuaAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9FdmVudFNlbmRlci5oCkBAIC03Niw2ICs3Niw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHRleHRab29tT3V0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENw
cFZhcmlhbnQqKTsKICAgICB2b2lkIHpvb21QYWdlSW4oY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwogICAgIHZvaWQgem9vbVBhZ2VPdXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgc2NhbGVQYWdlQnkoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgbW91c2VTY3JvbGxCeShjb25zdCBDcHBBcmd1
bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBjb250aW51b3VzTW91c2VTY3JvbGxC
eShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBzY2hlZHVs
ZUFzeW5jaHJvbm91c0NsaWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDZmMGI1
MWZmOWU3NTEyNzg5YmViYTBmNTkxN2I4Y2VlZTc0NTdiMmIuLmYxYjhkMjI3MDEzMDI4NjA5ZmE4
ZmM5ODk4ODllZTFmNzRlMDU5ZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIldlYlRlc3RpbmdTdXBw
b3J0LmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViUGVybWlzc2lvbnMuaCIK
KyNpbmNsdWRlICJXZWJQb2ludC5oIgogI2luY2x1ZGUgIldlYlJ1bnRpbWVGZWF0dXJlcy5oIgog
I2luY2x1ZGUgIldlYlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5ncy5o
IgpAQCAtMjY1LDYgKzI2Niw3IEBAIHZvaWQgVGVzdFNoZWxsOjpyZXNldFRlc3RDb250cm9sbGVy
KCkKICAgICBtX2RydERldlRvb2xzQWdlbnQtPnJlc2V0KCk7CiAgICAgaWYgKG1fZHJ0RGV2VG9v
bHNDbGllbnQpCiAgICAgICAgIG1fZHJ0RGV2VG9vbHNDbGllbnQtPnJlc2V0KCk7CisgICAgd2Vi
VmlldygpLT5zY2FsZVBhZ2UoMSwgV2ViUG9pbnQoMCwgMCkpOwogICAgIHdlYlZpZXcoKS0+bWFp
bkZyYW1lKCktPmNsZWFyT3BlbmVyKCk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>