<?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>78664</bug_id>
          
          <creation_ts>2012-02-14 20:17:53 -0800</creation_ts>
          <short_desc>Add -webkit-overflow-scrolling CSS property</short_desc>
          <delta_ts>2012-05-22 15:56:03 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sami Kyostila">skyostil</reporter>
          <assigned_to name="Sami Kyostila">skyostil</assigned_to>
          <cc>abarth</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>andreip</cc>
    
    <cc>anilsson</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dev+webkit</cc>
    
    <cc>dglazkov</cc>
    
    <cc>efidler</cc>
    
    <cc>eoconnor</cc>
    
    <cc>eric</cc>
    
    <cc>gmak</cc>
    
    <cc>jamesr</cc>
    
    <cc>kenneth</cc>
    
    <cc>kevin.cs.oh</cc>
    
    <cc>kpiascik</cc>
    
    <cc>macpherson</cc>
    
    <cc>manyoso</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>noam</cc>
    
    <cc>peter</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>556893</commentid>
    <comment_count>0</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-14 20:17:53 -0800</bug_when>
    <thetext>\Add -webkit-overflow-scrolling CSS property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556894</commentid>
    <comment_count>1</comment_count>
      <attachid>127106</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-14 20:30:12 -0800</bug_when>
    <thetext>Created attachment 127106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556962</commentid>
    <comment_count>2</comment_count>
      <attachid>127106</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 23:33:48 -0800</bug_when>
    <thetext>Comment on attachment 127106
Patch

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

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556963</commentid>
    <comment_count>3</comment_count>
      <attachid>127106</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-14 23:35:28 -0800</bug_when>
    <thetext>Comment on attachment 127106
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Add a CSS property indicating that an element with overflow scrolling
&gt; +        should follow the platform&apos;s behavior for touch scrollable user
&gt; +        interface objects. For instance, this property could enable momentum
&gt; +        scrolling for the element if that is the platform convention.

Could you provide a bit more context here?  Is this a CSS property that iOS WebKit supports?  Is this a new property?  Is there a standard in the works?

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2124
&gt; +        case CSSPropertyWebkitOverflowScrolling:
&gt; +            return style-&gt;useTouchOverflowScrolling() ? CSSPrimitiveValue::createIdentifier(CSSValueTouch) : CSSPrimitiveValue::createIdentifier(CSSValueAuto);

It seems like we&apos;re supposed to use the cssValuePool these days?

&gt; Source/WebCore/css/CSSStyleSelector.cpp:1891
&gt; +    bool hasTouchOverflowScrolling = (style-&gt;overflowX() != OHIDDEN || style-&gt;overflowY() != OHIDDEN) &amp;&amp; style-&gt;useTouchOverflowScrolling();

Should this just be a helper method on style?  sytle-&gt;hasTouchOverflowScrolling()?  That might be confusing with &quot;useTouchOverflowScrolling&quot;.  I&apos;m not sure exactly what this code is tryign to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556965</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-14 23:45:36 -0800</bug_when>
    <thetext>&gt; svg/css/getComputedStyle-basic.xhtml
&gt; fast/css/getComputedStyle/computed-style.html
&gt; fast/css/getComputedStyle/computed-style-without-renderer.html

By the way, these tests commonly fail whenever you introduce a new CSS property.  The correct resolution is to update the expected results to reflect the new property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556981</commentid>
    <comment_count>5</comment_count>
      <attachid>127106</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 00:37:02 -0800</bug_when>
    <thetext>Comment on attachment 127106
Patch

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

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557201</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-15 06:00:32 -0800</bug_when>
    <thetext>Given the recent backlash around -webkit properties, we should think about how to standardize this property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557206</commentid>
    <comment_count>7</comment_count>
      <attachid>127106</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-15 06:03:00 -0800</bug_when>
    <thetext>Comment on attachment 127106
Patch

Two points:
1. I think you should mail webkit-dev saying that you intend to add this property.
2. I wonder if this stuff should be behind an #ifdef since it only makes sense on touch-enabled platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557261</commentid>
    <comment_count>8</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-15 07:29:05 -0800</bug_when>
    <thetext>This property came as iOS specific solution, since they did not kinetic scroll in-region scrollable areas (e.g. scrollable divs) by default. Other webkit-based browsers only support it, because web authors use it for iOS.

In the blackberry port, we support it as a matter of feature detection, but we kinetic scroll &quot;divs&quot; (ok, not only divs) by default.

So do we really want that, or we can just in fact drop it, if iOS implements its behavior by default for all scrollable divs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557285</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-15 08:04:55 -0800</bug_when>
    <thetext>&gt; Given the recent backlash around -webkit properties, we should think about how to standardize this property.

Indeed.  However, given that this feature has been shipping with this name in iOS WebKit for some time, I don&apos;t believe that should block this patch.

&gt; 1. I think you should mail webkit-dev saying that you intend to add this property.

Will do.

&gt; 2. I wonder if this stuff should be behind an #ifdef since it only makes sense on touch-enabled platforms.

That seems quite sensible.

@Sami: Would you be willing to wrap the feature in an ENABLE(OVERFLOW_SCROLLING) ifdef?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557287</commentid>
    <comment_count>10</comment_count>
      <attachid>127106</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-15 08:05:55 -0800</bug_when>
    <thetext>Comment on attachment 127106
Patch

I&apos;m marking this R- because the patch doesn&apos;t have an ENABLE flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557289</commentid>
    <comment_count>11</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 08:16:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Could you provide a bit more context here?  Is this a CSS property that iOS WebKit supports?  Is this a new property?  Is there a standard in the works?

This property is indeed the one introduced by iOS 5 WebKit. Another implementation is in Chrome for Android.

The reason why this needs to be opt-in rather than something that is done for all overflow divs is that an efficient implementation wants to split the scrolling content into its own compositing layer so that it can be translated without having to be repainted. This also gives the div a stacking context, which is not what a simple &quot;overflow: scroll&quot; should do.

I agree this should be standardized to make sure we all agree on the semantics. I&apos;m not aware of any formal specification other than the mention here:

https://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html

I&apos;m new to drafting web standards so I&apos;m open to suggestions here.

&gt; &gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2124
&gt; &gt; +        case CSSPropertyWebkitOverflowScrolling:
&gt; &gt; +            return style-&gt;useTouchOverflowScrolling() ? CSSPrimitiveValue::createIdentifier(CSSValueTouch) : CSSPrimitiveValue::createIdentifier(CSSValueAuto);
&gt; 
&gt; It seems like we&apos;re supposed to use the cssValuePool these days?

I&apos;ll look into it.

&gt; &gt; Source/WebCore/css/CSSStyleSelector.cpp:1891
&gt; &gt; +    bool hasTouchOverflowScrolling = (style-&gt;overflowX() != OHIDDEN || style-&gt;overflowY() != OHIDDEN) &amp;&amp; style-&gt;useTouchOverflowScrolling();
&gt; 
&gt; Should this just be a helper method on style?  sytle-&gt;hasTouchOverflowScrolling()?  That might be confusing with &quot;useTouchOverflowScrolling&quot;.  I&apos;m not sure exactly what this code is tryign to do.

It&apos;s only giving the element a stacking context if it 1) has non-hidden overflow and 2) specifies this new property. On second thought, it might be clearer if the stacking context is always created regardless of whether overflow is hidden or not. I&apos;ll rework this part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557293</commentid>
    <comment_count>12</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 08:24:46 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; 1. I think you should mail webkit-dev saying that you intend to add this property.

Good idea.

&gt; 2. I wonder if this stuff should be behind an #ifdef since it only makes sense on touch-enabled platforms.

Sure, I can do that. That said, I can also see the utility of supporting just the property (without any special scrolling interaction) on all platforms because of the stacking context creation. This way sites using this property would always be laid out correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557297</commentid>
    <comment_count>13</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 08:32:05 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; This property came as iOS specific solution, since they did not kinetic scroll in-region scrollable areas (e.g. scrollable divs) by default. Other webkit-based browsers only support it, because web authors use it for iOS.
&gt; 
&gt; In the blackberry port, we support it as a matter of feature detection, but we kinetic scroll &quot;divs&quot; (ok, not only divs) by default.
&gt; 
&gt; So do we really want that, or we can just in fact drop it, if iOS implements its behavior by default for all scrollable divs?

There are two issues here: supporting kinetic/momentum scrolls for overflow elements, and being able to scroll overflow elements more efficiently using the compositor. I agree that for the first part does not require any new markup and browsers can just implement it for all scrollable things (that&apos;s what we also do in Chrome for Android).

The second part is trickier since promoting the overflow content into a separate compositing layer also gives it a stacking context (similarly to 3D transforms and opacity). Doing this to all overflow elements would break pages, which is why the mechanism needs to be opt-in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557299</commentid>
    <comment_count>14</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-15 08:34:32 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #8)
&gt; &gt; This property came as iOS specific solution, since they did not kinetic scroll in-region scrollable areas (e.g. scrollable divs) by default. Other webkit-based browsers only support it, because web authors use it for iOS.
&gt; &gt; 
&gt; &gt; In the blackberry port, we support it as a matter of feature detection, but we kinetic scroll &quot;divs&quot; (ok, not only divs) by default.
&gt; &gt; 
&gt; &gt; So do we really want that, or we can just in fact drop it, if iOS implements its behavior by default for all scrollable divs?
&gt; 
&gt; There are two issues here: supporting kinetic/momentum scrolls for overflow elements, and being able to scroll overflow elements more efficiently using the compositor. I agree that for the first part does not require any new markup and browsers can just implement it for all scrollable things (that&apos;s what we also do in Chrome for Android).

so you are saying you want to ask web author to specify in their HTML: &quot;hey scroll this div fast&quot;? When would not he want it?

It is up to the implementation to actually optimize it, in a lower level, even for huge divs, it is possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557310</commentid>
    <comment_count>15</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 08:59:38 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; so you are saying you want to ask web author to specify in their HTML: &quot;hey scroll this div fast&quot;? When would not he want it?
&gt; 
&gt; It is up to the implementation to actually optimize it, in a lower level, even for huge divs, it is possible.

In an ideal world there would be no need for this property, but in practice I don&apos;t believe we can start pulling out arbitrary page elements into layers without complicated logic and more importantly complicated failure modes (e.g., why isn&apos;t this element scrolling fast) -- but I invite you to prove me wrong :)

I think grouping things by stacking contexts is already well established for transforms and opacity and developers will know what to expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557314</commentid>
    <comment_count>16</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-15 09:11:43 -0800</bug_when>
    <thetext>&gt; so you are saying you want to ask web author to specify in their HTML: &quot;hey scroll this div fast&quot;? When would not he want it?

In a layer that scrolls automatically and not based on user input; like an automatically rolling news-feed.

The hint is &quot;The user is going to scroll this div&quot; rather than &quot;something is going to scroll this div&quot;; And that is a web-developer concern rather than an implementation concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557361</commentid>
    <comment_count>17</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-15 10:23:46 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; so you are saying you want to ask web author to specify in their HTML: &quot;hey scroll this div fast&quot;? When would not he want it?
&gt; 
&gt; In a layer that scrolls automatically and not based on user input; like an automatically rolling news-feed.
&gt; 
&gt; The hint is &quot;The user is going to scroll this div&quot; rather than &quot;something is going to scroll this div&quot;; And that is a web-developer concern rather than an implementation concern.

Valid case and I agree.

I still do think introducing another -webkit-xxx prefix without a broad accordance about it is the way to go. Is it planned to be standardized. What does mozilla, ie and opera think? Etc..

I need this functionally, but I am not sure this css properly is the long term way to go. Please correct if I am wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557363</commentid>
    <comment_count>18</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-15 10:24:27 -0800</bug_when>
    <thetext>
&gt; Valid case and I agree.
&gt; 
&gt; I still do think introducing another -webkit-xxx prefix without a broad accordance about it is the way to go. Is it planned to be standardized? What does mozilla, ie and opera think? Etc..

... I still do *not* think...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557390</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-15 10:49:25 -0800</bug_when>
    <thetext>In any case, having this behind a compile-time flag is a prudent way to proceed regardless of whether folks with non-touch browsers decide to enable it.

&gt; I still do think introducing another -webkit-xxx prefix without a broad accordance about it is the way to go. Is it planned to be standardized. What does mozilla, ie and opera think? Etc..

While I agree that we should be more reticent to introduce -webkit- prefixed CSS features in light of Mozilla&apos;s recent blog posts, I&apos;m not sure that concern applies in this case because this property has been shipping in iOS WebKit for a while and therefore isn&apos;t really &quot;new&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557391</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-15 10:50:40 -0800</bug_when>
    <thetext>Antonio, if you have further thoughts on this matter, it might be more productive to reply to the webkit-dev thread on this topic.  If you have specific technical insights about this patch, those would be appropriate to share on this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557682</commentid>
    <comment_count>21</comment_count>
      <attachid>127261</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 15:59:15 -0800</bug_when>
    <thetext>Created attachment 127261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557690</commentid>
    <comment_count>22</comment_count>
      <attachid>127261</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-15 16:08:13 -0800</bug_when>
    <thetext>Comment on attachment 127261
Patch

Looks reasonable.  What else uses this property, since clearly this is only parsing code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557717</commentid>
    <comment_count>23</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-02-15 16:27:19 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Looks reasonable.  What else uses this property, since clearly this is only parsing code?

Thanks.

Right, these are just the parser bits. The next step is to bring in the actual functionality, which is roughly:

1) Extracting touch scrollable elements into separate GraphicsLayers.

2) Registering scrollable layers with the scroll coordinator to allow the platform to implement the scrolling interaction.

3) Various optimizations to avoid unnecessarily invalidating scrollable layer contents.

4) Computing an input event region for scrollable layers so that threaded scrolling won&apos;t interfere with JS callbacks.

I&apos;ll link the respective patches to this bug so folks at home can keep score.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557883</commentid>
    <comment_count>24</comment_count>
      <attachid>127261</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 21:09:25 -0800</bug_when>
    <thetext>Comment on attachment 127261
Patch

Clearing flags on attachment: 127261

Committed r107881: &lt;http://trac.webkit.org/changeset/107881&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557884</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 21:09:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630853</commentid>
    <comment_count>26</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-22 15:49:51 -0700</bug_when>
    <thetext>I think we need to revert the ENABLE(OVERFLOW_SCROLLING) part of the patch in Chromium, since that causes overflow to create new stacking context which changes the z-ordering on desktop pages: http://code.google.com/p/chromium/issues/detail?id=128325.  We have to figure out how to get this code landed and keep WebKit&apos;s behavior fairly consistent without changing breaking a ton of pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630859</commentid>
    <comment_count>27</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-22 15:56:03 -0700</bug_when>
    <thetext>It also looks like the logic this patch added to CSSStyleSelector.cpp doesn&apos;t quite match the iOS5 code drop :(</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127106</attachid>
            <date>2012-02-14 20:30:12 -0800</date>
            <delta_ts>2012-02-15 15:59:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78664-20120214203011.patch</filename>
            <type>text/plain</type>
            <size>14647</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFkODhhMTBiZGZiYmYy
M2Q0MzVhZTZlM2NiZTg0ZGRkMGU4Zjg5My4uNjMxYzAxYjZlZTFkMjczNzRkMDBlNTViNzI1NTk4
NWUxNmQ5MTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAyLTE0ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgLXdlYmtpdC1v
dmVyZmxvdy1zY3JvbGxpbmcgQ1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIENTUyBwcm9wZXJ0eSBpbmRpY2F0aW5nIHRoYXQg
YW4gZWxlbWVudCB3aXRoIG92ZXJmbG93IHNjcm9sbGluZworICAgICAgICBzaG91bGQgZm9sbG93
IHRoZSBwbGF0Zm9ybSdzIGJlaGF2aW9yIGZvciB0b3VjaCBzY3JvbGxhYmxlIHVzZXIKKyAgICAg
ICAgaW50ZXJmYWNlIG9iamVjdHMuIEZvciBpbnN0YW5jZSwgdGhpcyBwcm9wZXJ0eSBjb3VsZCBl
bmFibGUgbW9tZW50dW0KKyAgICAgICAgc2Nyb2xsaW5nIGZvciB0aGUgZWxlbWVudCBpZiB0aGF0
IGlzIHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uLgorCisgICAgICAgIFRoZSBwcm9wZXJ0eSBoYXMg
dHdvIHBvc3NpYmxlIHZhbHVlczogYXV0byAoZGVmYXVsdCkgYW5kIHRvdWNoLiBUaGUKKyAgICAg
ICAgZm9ybWVyIGRvZXMgbm90IGFsdGVyIG92ZXJmbG93IHNjcm9sbGluZyBiZWhhdmlvciwgd2hp
bGUgdGhlIGxhdHRlcgorICAgICAgICBhY3RpdmF0ZXMgdG91Y2ggc2Nyb2xsaW5nLiBBcyBhIHNp
ZGUgZWZmZWN0LCBlbmFibGluZyB0b3VjaCBzY3JvbGxpbmcKKyAgICAgICAgYWxzbyBjYXVzZXMg
YW4gZWxlbWVudCB0byBnYWluIGEgc3RhY2tpbmcgY29udGV4dC4KKworICAgICAgICBUZXN0OiBj
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29u
dGV4dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAg
ICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNlbGVjdG9yOjphZGp1c3RSZW5kZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0
ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJh
dG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
Lmg6CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKwogMjAxMi0wMi0xNCAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBkZWxldGVJ
bnNpZ25pZmljYW50VGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBiYzA5ZGRkNzFjNzdhOGMxNzU0NTFmZmVkOWU0NThj
MjBmNzdjNTMxLi5lMzkyOGQ3ZGU3MTM1MmZlNTI5NWVmMTJiOWU0ZTFlYjNiNGNkZDc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMjY2LDYgKzI2Niw3IEBAIHN0YXRpYyBjb25zdCBpbnQgY29tcHV0ZWRQcm9wZXJ0aWVz
W10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0LAogICAgIENTU1Byb3BlcnR5
V2Via2l0TWFza1NpemUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXROYnNwTW9kZSwKKyAgICBDU1NQ
cm9wZXJ0eVdlYmtpdE92ZXJmbG93U2Nyb2xsaW5nLAogICAgIENTU1Byb3BlcnR5V2Via2l0UGVy
c3BlY3RpdmUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRQZXJzcGVjdGl2ZU9yaWdpbiwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdFByaW50Q29sb3JBZGp1c3QsCkBAIC0yMTE5LDYgKzIxMjAsOCBAQCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFy
Z2luVG9wQ29sbGFwc2U6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5CZWZv
cmVDb2xsYXBzZToKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVl
KHN0eWxlLT5tYXJnaW5CZWZvcmVDb2xsYXBzZSgpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdE92ZXJmbG93U2Nyb2xsaW5nOgorICAgICAgICAgICAgcmV0dXJuIHN0eWxlLT51c2VU
b3VjaE92ZXJmbG93U2Nyb2xsaW5nKCkgPyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRp
ZmllcihDU1NWYWx1ZVRvdWNoKSA6IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVy
KENTU1ZhbHVlQXV0byk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRQZXJzcGVjdGl2
ZToKICAgICAgICAgICAgIGlmICghc3R5bGUtPmhhc1BlcnNwZWN0aXZlKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
Tm9uZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGFiNzYwNTFiZTM4ZDcxMzcyN2Q2
NTE0MDI1NGRjNDkxZGZlMWQ3OWQuLmI3MTlhMjU5NjQyNDhhNDEzYTIwYTkzMzVhOWE3MTY0MGY5
MzdhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMDkyLDYgKzIwOTIsMTIgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKworICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRPdmVyZmxvd1Njcm9sbGluZzoKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8
fCBpZCA9PSBDU1NWYWx1ZVRvdWNoKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVl
OworICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBzaG9ydGhhbmQgcHJvcGVydGllcyAqLwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kOiB7CiAgICAgICAgIC8vIFBvc2l0aW9uIG11
c3QgY29tZSBiZWZvcmUgY29sb3IgaW4gdGhpcyBhcnJheSBiZWNhdXNlIGEgcGxhaW4gb2xkICIw
IiBpcyBhIGxlZ2FsIGNvbG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCBhYzFj
NzljNDEwYTg5MzdmOWQ4MDZjZmNiMzYxNDJiMmE2YWM3NmU1Li45Njc5ZjUxYzQwN2YzYWVlYmJh
OGU3OThlNjIxNmU3OTEzMjQ4OGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAg
LTMzMyw2ICszMzMsNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KHVu
c2lnbmVkIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdExpbmVHcmlkOgog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRMaW5lU25hcDoKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0TmJzcE1vZGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE92ZXJmbG93U2Nyb2xs
aW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRQcmludENvbG9yQWRqdXN0OgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRSdGxPcmRlcmluZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0VGV4dENvbWJpbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4
IGQ1YTNiZmQzODNjM2M4M2Y1MTQ1NjRhNjE3NDVkNDJjMjZiMTMzYjcuLmY5YjMyZGNjMWE3ZWZh
N2Q5NjZjODk5ZThmMDA3OTAwZmQ5YjFiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCkBAIC0zNzksMyArMzc5LDQgQEAgei1pbmRleAogI2lmIGRlZmluZWQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAmJiBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQKIC13ZWJraXQt
ZGFzaGJvYXJkLXJlZ2lvbgogI2VuZGlmCistd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDYzOWI5ZjAzZjk0MmVmZGQ2
MjljYTQ1ZDQzNjY2ZWRmNWY1NGViNTkuLjk0ODEwMDVhMjA0OGRlMGI1MTFjNjhiYzE1MGVjZTlj
YTM2NjhkMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTE4
ODgsOCArMTg4OCw5IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YWRqdXN0UmVuZGVyU3R5bGUo
UmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50CiAgICAgLy8gQXV0byB6LWlu
ZGV4IGJlY29tZXMgMCBmb3IgdGhlIHJvb3QgZWxlbWVudCBhbmQgdHJhbnNwYXJlbnQgb2JqZWN0
cy4gIFRoaXMgcHJldmVudHMKICAgICAvLyBjYXNlcyB3aGVyZSBvYmplY3RzIHRoYXQgc2hvdWxk
IGJlIGJsZW5kZWQgYXMgYSBzaW5nbGUgdW5pdCBlbmQgdXAgd2l0aCBhIG5vbi10cmFuc3BhcmVu
dAogICAgIC8vIG9iamVjdCB3ZWRnZWQgaW4gYmV0d2VlbiB0aGVtLiAgQXV0byB6LWluZGV4IGFs
c28gYmVjb21lcyAwIGZvciBvYmplY3RzIHRoYXQgc3BlY2lmeSB0cmFuc2Zvcm1zL21hc2tzL3Jl
ZmxlY3Rpb25zLgorICAgIGJvb2wgaGFzVG91Y2hPdmVyZmxvd1Njcm9sbGluZyA9IChzdHlsZS0+
b3ZlcmZsb3dYKCkgIT0gT0hJRERFTiB8fCBzdHlsZS0+b3ZlcmZsb3dZKCkgIT0gT0hJRERFTikg
JiYgc3R5bGUtPnVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoKTsKICAgICBpZiAoc3R5bGUtPmhh
c0F1dG9aSW5kZXgoKSAmJiAoKGUgJiYgZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkg
PT0gZSkgfHwgc3R5bGUtPm9wYWNpdHkoKSA8IDEuMGYKLSAgICAgICAgfHwgc3R5bGUtPmhhc1Ry
YW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IHN0eWxlLT5oYXNNYXNrKCkgfHwgc3R5bGUtPmJv
eFJlZmxlY3QoKSB8fCBzdHlsZS0+aGFzRmlsdGVyKCkpKQorICAgICAgICB8fCBzdHlsZS0+aGFz
VHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5KCkgfHwgc3R5bGUtPmhhc01hc2soKSB8fCBzdHlsZS0+
Ym94UmVmbGVjdCgpIHx8IHN0eWxlLT5oYXNGaWx0ZXIoKSB8fCBoYXNUb3VjaE92ZXJmbG93U2Ny
b2xsaW5nKSkKICAgICAgICAgc3R5bGUtPnNldFpJbmRleCgwKTsKIAogICAgIC8vIFRleHRhcmVh
IGNvbnNpZGVycyBvdmVyZmxvdyB2aXNpYmxlIGFzIGF1dG8uCkBAIC0zNzEzLDYgKzM3MTQsMTMg
QEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUg
KnZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCisgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdE92ZXJmbG93U2Nyb2xsaW5nOiB7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FO
RF9JTklUSUFMKHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcsIFVzZVRvdWNoT3ZlcmZsb3dTY3Jv
bGxpbmcpOworICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIG1fc3R5bGUtPnNldFVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcocHJpbWl0aXZl
VmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVUb3VjaCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbG9yQ29ycmVjdGlvbjoKICAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShjb2xvclNwYWNlLCBDb2xv
clNwYWNlKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgppbmRleCBkZDVjMjdjODMxOTAzZWU5OWMwNzFjY2U5MDQ1YTNlNjA0ZWM1YzgyLi5iNDQ3
NDdmYWYxMDgzZTJlNjZmNGNjNmJmY2NkMzcyZjdiNWQ4NGVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODAyLDYgKzgwMiwxMCBAQCBuby1saW1pdAogbWFudWFs
CiAvLyBhdXRvCiAKKy8vIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nCisvLyBhdXRvCit0b3Vj
aAorCiAvLyAtd2Via2l0LXdyaXRpbmctbW9kZQogLy8gU1ZHIGNvbXBhdGliaWxpdHkKIGxyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDU2MGVl
MWMwZGFhNjY5NDAxODllNTE5NGZmODAxZmNhY2EwMWI0M2IuLjY1NzE2MzdhZmIyNWRiZTc1MTNk
ZmViN2RhNDMyMzcwMjk5NDAxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCkBAIC05NDMsNiArOTQzLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCiAgICAgQ29sb3IgdGFwSGlnaGxpZ2h0Q29sb3IoKSBjb25zdCB7IHJldHVy
biByYXJlSW5oZXJpdGVkRGF0YS0+dGFwSGlnaGxpZ2h0Q29sb3I7IH0KICNlbmRpZgorICAgIGJv
b2wgdXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0
ZWREYXRhLT51c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nOyB9CiAgICAgYm9vbCB0ZXh0U2l6ZUFk
anVzdCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2l6ZUFkanVzdDsg
fQogICAgIEVUZXh0U2VjdXJpdHkgdGV4dFNlY3VyaXR5KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8RVRleHRTZWN1cml0eT4ocmFyZUluaGVyaXRlZERhdGEtPnRleHRTZWN1cml0eSk7IH0K
IApAQCAtMTM0Nyw2ICsxMzQ4LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CiAgICAgdm9pZCBzZXRUYXBIaWdobGlnaHRDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFS
KHJhcmVJbmhlcml0ZWREYXRhLCB0YXBIaWdobGlnaHRDb2xvciwgYyk7IH0KICNlbmRpZgorICAg
IHZvaWQgc2V0VXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhib29sIHYpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgdXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZywgdik7IH0KICAgICBib29s
IHNldFRleHRTaXplQWRqdXN0KGJvb2wpOwogICAgIHZvaWQgc2V0VGV4dFNlY3VyaXR5KEVUZXh0
U2VjdXJpdHkgYVRleHRTZWN1cml0eSkgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0
U2VjdXJpdHksIGFUZXh0U2VjdXJpdHkpOyB9CiAKQEAgLTE2NDcsNiArMTY0OSw3IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHN0YXRpYyBDb2xvciBpbml0aWFsVGFw
SGlnaGxpZ2h0Q29sb3IoKTsKICNlbmRpZgorICAgIHN0YXRpYyBib29sIGluaXRpYWxVc2VUb3Vj
aE92ZXJmbG93U2Nyb2xsaW5nKCkgeyByZXR1cm4gZmFsc2U7IH0KICNpZiBFTkFCTEUoREFTSEJP
QVJEX1NVUFBPUlQpCiAgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxTdHlsZURhc2hib2FyZFJlZ2lv
bj4mIGluaXRpYWxEYXNoYm9hcmRSZWdpb25zKCk7CiAgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxT
dHlsZURhc2hib2FyZFJlZ2lvbj4mIG5vbmVEYXNoYm9hcmRSZWdpb25zKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggNjA4NTYwMWY1Y2ZlOGU3NWMyM2Y2Yjg0ZDQ3ZDVlZTQ2NGMwMjZhOS4uNDQ5
NjUyNmVlOGVkOTllN2UxZGExMTNhNjcxMjdkYjc0NGM2OWM4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cApAQCAtNTQsNiArNTQsNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhKCkKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6OmluaXRpYWxM
aW5lQm94Q29udGFpbigpKQogICAgICwgbV9pbWFnZVJlbmRlcmluZyhSZW5kZXJTdHlsZTo6aW5p
dGlhbEltYWdlUmVuZGVyaW5nKCkpCiAgICAgLCBtX2xpbmVTbmFwKFJlbmRlclN0eWxlOjppbml0
aWFsTGluZVNuYXAoKSkKKyAgICAsIHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoUmVuZGVyU3R5
bGU6OmluaXRpYWxVc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKCkpCiAgICAgLCBoeXBoZW5hdGlv
bkxpbWl0QmVmb3JlKC0xKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEFmdGVyKC0xKQogICAgICwg
aHlwaGVuYXRpb25MaW1pdExpbmVzKC0xKQpAQCAtOTgsNiArOTksNyBAQCBTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRl
ZERhdGEmIG8pCiAgICAgLCBtX2xpbmVCb3hDb250YWluKG8ubV9saW5lQm94Q29udGFpbikKICAg
ICAsIG1faW1hZ2VSZW5kZXJpbmcoby5tX2ltYWdlUmVuZGVyaW5nKQogICAgICwgbV9saW5lU25h
cChvLm1fbGluZVNuYXApCisgICAgLCB1c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKG8udXNlVG91
Y2hPdmVyZmxvd1Njcm9sbGluZykKICAgICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRp
b25TdHJpbmcpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlKG8uaHlwaGVuYXRpb25MaW1p
dEJlZm9yZSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcihvLmh5cGhlbmF0aW9uTGltaXRB
ZnRlcikKQEAgLTE0OSw2ICsxNTEsNyBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9w
ZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICAgICAgICAg
JiYgd29yZFdyYXAgPT0gby53b3JkV3JhcAogICAgICAgICAmJiBuYnNwTW9kZSA9PSBvLm5ic3BN
b2RlCiAgICAgICAgICYmIGtodG1sTGluZUJyZWFrID09IG8ua2h0bWxMaW5lQnJlYWsKKyAgICAg
ICAgJiYgdXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZyA9PSBvLnVzZVRvdWNoT3ZlcmZsb3dTY3Jv
bGxpbmcKICAgICAgICAgJiYgdGV4dFNpemVBZGp1c3QgPT0gby50ZXh0U2l6ZUFkanVzdAogICAg
ICAgICAmJiByZXNpemUgPT0gby5yZXNpemUKICAgICAgICAgJiYgdXNlclNlbGVjdCA9PSBvLnVz
ZXJTZWxlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDA3MjFmMDY3Y2UxNzEyOWJlYzJlNjhmZjJjZTUy
ZGUyZjQ3ODE5ODIuLjUwZDllMDRjMGJiMDljNmMxMmIzNmM4MTA0NWM0YTFiNzhmOWRjNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaApAQCAtOTIsNiArOTIsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ1NTIEltYWdl
IFZhbHVlcyBMZXZlbCAzCiAgICAgdW5zaWduZWQgbV9pbWFnZVJlbmRlcmluZyA6IDI7IC8vIEVJ
bWFnZVJlbmRlcmluZwogICAgIHVuc2lnbmVkIG1fbGluZVNuYXAgOiAyOyAvLyBMaW5lU25hcAor
ICAgIHVuc2lnbmVkIHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmc6IDE7CiAKICAgICBBdG9taWNT
dHJpbmcgaHlwaGVuYXRpb25TdHJpbmc7CiAgICAgc2hvcnQgaHlwaGVuYXRpb25MaW1pdEJlZm9y
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA0M2U5Y2E1ZTNjYzFlYWZkZWRlMzRmOTgyZGEzMWU4M2I1YzNiYzY0Li5iZjk3
YzhmMTA1YjE4OTA2ZWNmMjI0ZTk3OGZhZTE5MGU2Nzc0NDg3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMDItMTQgIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBzdGFja2luZyBjb250ZXh0IHRlc3QgZm9yIC13ZWJraXQtb3ZlcmZsb3ctc2Ny
b2xsaW5nIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzg2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNYWtlIHN1cmUgYSBzdGFja2luZyBjb250ZXh0IGlzIGNyZWF0ZWQgZm9yIGVs
ZW1lbnRzIHdpdGggdG91Y2ggb3ZlcmZsb3cgc2Nyb2xsaW5nLgorCisgICAgICAgICogY29tcG9z
aXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRleHQt
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3Vj
aC1zdGFja2luZy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTE0ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIGRlbGV0ZUluc2lnbmlm
aWNhbnRUZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9v
dmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC1leHBlY3RlZC5wbmcgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gt
c3RhY2tpbmctY29udGV4dC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdhZWQzY2Y0YzQ3ZWNl
MmZiZjdhZDExMTk4MzU0NWVmMTc5YzI3YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2NAp6
Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxt
fT9vVCF1N3IKemxTRmZLTHNKWCRHPXMhczNzWkJtNnImViNXODxfJExuOUwtIT15RTlPUlg2Z3hE
SSlgSUVHWnJkMyhvQHRIblhVCnpfMkFzcF9xeX07KmZ3ckI9PEtAY2w0c3FJN1lXelMpRyNvLXND
aDVQITBeRzBpSkwofFozNj5DNSstQis9SnVgWQp6d2Fmb3huKFolUldibDk5I0w2SGI5S3Bhfipm
eyhjKFo8RSEqJSV0YTNsQjBlYmEzaTBHfFZfSyRgfW9WKFVkVG4KcjNyMkluWGY3RGQxKjVyT0cj
QWgoN3N4Z1dAVURKLUNPalY0MVpNRGJePmJQMGwrWGtLVF9HQn4KCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJm
bG93LXNjcm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFj
a2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODU5NmUyMzEwZDhkYTZhMTYz
OWY3MGE0MGVkMWFkMzMxYmI5MDdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRl
eHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4LDgpIHNp
emUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDgpIHNpemUg
NTB4NTAKK2xheWVyIGF0ICg4LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHpJOiAxIHtESVZ9IGF0ICgwLDApIHNpemUgNTB4NTAgW2JnY29sb3I9I0ZGMDAwMF0KK2xh
eWVyIGF0ICg4LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICg4LDgpIHNpemUgNTB4NTAgW2JnY29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFj
a2luZy1jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlj
NDhkMmNhNmEyY2E5NWJkNjFmZDA4MDdiOTM1MjYzZDc2MDY3OGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91
Y2gtc3RhY2tpbmctY29udGV4dC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5ib3gg
eworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgd2lkdGg6IDUwcHg7CisgICAgICBo
ZWlnaHQ6IDUwcHg7CisgICAgfQorCisgICAgLnNjcm9sbGFibGUgeworICAgICAgLXdlYmtpdC1v
dmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgIH0KKworICAgIC5pbmRpY2F0b3IgeworICAg
ICAgYmFja2dyb3VuZDogcmVkOworICAgICAgei1pbmRleDogMTsKKyAgICB9CisKKyAgICAudGVz
dCB7CisgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKworICA8IS0tIENoZWNrIHRoYXQgdG91Y2ggb3ZlcmZsb3cgc2Nyb2xsYWJsZSBl
bGVtZW50cyBnZXQgYSBzdGFja2luZyBjb250ZXh0LiAtLT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xs
YWJsZSBib3giPgorICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciBib3giPjwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0idGVzdCBib3giPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127261</attachid>
            <date>2012-02-15 15:59:15 -0800</date>
            <delta_ts>2012-02-15 21:09:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78664-20120215155914.patch</filename>
            <type>text/plain</type>
            <size>20620</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3ODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgxODMyZWFmNDdlYjBl
NmJlYzZkZWYxOGVhZjc3YWFhMTczOGExYi4uODE5ODVmN2M4MGU1NzMyOTc2MWM3M2YyMTdiNzQ1
OWQ3NWEwODMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTAyLTE1ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGQgLXdlYmtpdC1v
dmVyZmxvdy1zY3JvbGxpbmcgQ1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIENTUyBwcm9wZXJ0eSBpbmRpY2F0aW5nIHRoYXQg
YW4gZWxlbWVudCB3aXRoIG92ZXJmbG93IHNjcm9sbGluZworICAgICAgICBzaG91bGQgZm9sbG93
IHRoZSBwbGF0Zm9ybSdzIGJlaGF2aW9yIGZvciB0b3VjaCBzY3JvbGxhYmxlIHVzZXIKKyAgICAg
ICAgaW50ZXJmYWNlIG9iamVjdHMuIEZvciBpbnN0YW5jZSwgdGhpcyBwcm9wZXJ0eSBjb3VsZCBl
bmFibGUgbW9tZW50dW0KKyAgICAgICAgc2Nyb2xsaW5nIGZvciB0aGUgZWxlbWVudCBpZiB0aGF0
IGlzIHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uLgorCisgICAgICAgIFRoZSBwcm9wZXJ0eSBoYXMg
dHdvIHBvc3NpYmxlIHZhbHVlczogYXV0byAoZGVmYXVsdCkgYW5kIHRvdWNoLiBUaGUKKyAgICAg
ICAgZm9ybWVyIGRvZXMgbm90IGFsdGVyIG92ZXJmbG93IHNjcm9sbGluZyBiZWhhdmlvciwgd2hp
bGUgdGhlIGxhdHRlcgorICAgICAgICBhY3RpdmF0ZXMgdG91Y2ggc2Nyb2xsaW5nLgorCisgICAg
ICAgIEFzIGEgc2lkZSBlZmZlY3QsIGVuYWJsaW5nIHRvdWNoIHNjcm9sbGluZyBhbHNvIGNhdXNl
cyBhbiBlbGVtZW50IHRvCisgICAgICAgIGdhaW4gYSBzdGFja2luZyBjb250ZXh0LiBUaGlzIGlz
IHRvIGFsbG93IHRoZSBpbXBsZW1lbnRhdGlvbiB0byBwcm9tb3RlCisgICAgICAgIHRoZSBzY3Jv
bGxpbmcgY29udGVudHMgaW50byBhIHJlbmRlciBsYXllciwgd2hpY2ggY2FuIGJlIHRyYW5zbGF0
ZWQgbW9yZQorICAgICAgICBlZmZpY2llbnRseS4KKworICAgICAgICBUaGlzIHByb3BlcnR5IHdh
cyBpbnRyb2R1Y2VkIHdpdGggaU9TIDUgV2ViS2l0LiBBbm90aGVyIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIGlzIGluIENocm9tZSBmb3IgQW5kcm9pZC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gt
c3RhY2tpbmctY29udGV4dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphZGp1c3RSZW5kZXJTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAg
KiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmg6CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKwogMjAx
Mi0wMi0xNSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6ICJNaW51cyIgKERlbGV0ZSkgYnV0dG9uIGRpc2FwcGVhcnMgZm9y
IGhvdmVyZWQgd2F0Y2ggZXhwcmVzc2lvbiBpbiBXYXRjaGVzIHBhbmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggYTJkYjkyOWU1ZWFmNmYyYjlhNzQzNTRhODNkMjVjYjhmMTUwNmE2ZS4u
MmFhM2ExYzkzMWY4MjI5Y2VlYzBjYmM5MzNmODUzNjZjYWIyMjY3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMi0xNSAgU2FtaSBLeW9zdGlsYSAg
PHNreW9zdGlsQGdvb2dsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIC13ZWJraXQtb3ZlcmZsb3ct
c2Nyb2xsaW5nIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzg2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTItMDItMTQgIFRha2FzaGkgVG95
b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFByb3ZpZGUgU29ja2V0
U3RyZWFtSGFuZGxlSW50ZXJuYWw6OnRvV2ViU29ja2V0U3RyZWFtSGFuZGxlKFNvY2tldFN0cmVh
bUhhbmRsZSopLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCBiYzA5ZGRkNzFjNzdhOGMxNzU0NTFmZmVkOWU0NThjMjBmNzdj
NTMxLi5hM2ZhNzA4Y2E1N2UzZTUzODIyY2Q0NmQ5MjUxYzE2ZTA1YjIxOGM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
MjY2LDYgKzI2Niw5IEBAIHN0YXRpYyBjb25zdCBpbnQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0LAogICAgIENTU1Byb3BlcnR5V2Via2l0
TWFza1NpemUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXROYnNwTW9kZSwKKyNpZiBFTkFCTEUoT1ZF
UkZMT1dfU0NST0xMSU5HKQorICAgIENTU1Byb3BlcnR5V2Via2l0T3ZlcmZsb3dTY3JvbGxpbmcs
CisjZW5kaWYKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZlLAogICAgIENTU1Byb3Bl
cnR5V2Via2l0UGVyc3BlY3RpdmVPcmlnaW4sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRQcmludENv
bG9yQWRqdXN0LApAQCAtMjExOSw2ICsyMTIyLDEyIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVy
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Ub3BDb2xsYXBzZToKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcmdpbkJlZm9yZUNvbGxhcHNlOgogICAgICAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPm1hcmdpbkJlZm9yZUNv
bGxhcHNlKCkpOworI2lmIEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzoKKyAgICAgICAgICAgIGlmICghc3R5
bGUtPnVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
Y3NzVmFsdWVQb29sLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBdXRvKTsKKyAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZVRvdWNoKTsKKyNlbmRpZgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3Rp
dmU6CiAgICAgICAgICAgICBpZiAoIXN0eWxlLT5oYXNQZXJzcGVjdGl2ZSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZU5vbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBhYjc2MDUxYmUzOGQ3MTM3Mjdk
NjUxNDAyNTRkYzQ5MWRmZTFkNzlkLi44NDRmYmY0YmViNzI5MDY4ZDYzMjA2MzA0ZWJlN2MxYTk1
MmRmM2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjA5Miw2ICsyMDkyLDE0IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoT1ZFUkZMT1df
U0NST0xMSU5HKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzoK
KyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZVRvdWNoKQor
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsKKyNlbmRp
ZgorCiAgICAgICAgIC8qIHNob3J0aGFuZCBwcm9wZXJ0aWVzICovCiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJhY2tncm91bmQ6IHsKICAgICAgICAgLy8gUG9zaXRpb24gbXVzdCBjb21lIGJlZm9yZSBj
b2xvciBpbiB0aGlzIGFycmF5IGJlY2F1c2UgYSBwbGFpbiBvbGQgIjAiIGlzIGEgbGVnYWwgY29s
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IGFjMWM3OWM0MTBhODkzN2Y5ZDgw
NmNmY2IzNjE0MmIyYTZhYzc2ZTUuLjA2YTQ4YWIwZjlhYTBiYjFmYWNiZWE4MWI4YmE0NjZhMjgw
OTM4Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtMzMzLDYgKzMzMyw5IEBA
IGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5zaWduZWQgcHJvcGVydHlJ
RCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZUdyaWQ6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdExpbmVTbmFwOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXROYnNwTW9kZToK
KyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRPdmVyZmxvd1Njcm9sbGluZzoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRQ
cmludENvbG9yQWRqdXN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRSdGxPcmRlcmluZzoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGQ1YTNiZmQzODNjM2M4M2Y1MTQ1NjRhNjE3NDVkNDJj
MjZiMTMzYjcuLmRlNDUyMzBjN2VmZjFjN2M4YWY5NzllMTY3OWI4NGE1MzhhZWJlMDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNzksMyArMzc5LDYgQEAgei1p
bmRleAogI2lmIGRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAmJiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQKIC13ZWJraXQtZGFzaGJvYXJkLXJlZ2lvbgogI2VuZGlmCisjaWYgZGVm
aW5lZChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HKQorLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxp
bmcKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGYx
OGNmNjYxYzI3MjZkNGZiNDJiYmQ2ZDQyOWRkOGEzMGM2MTZjMDAuLjZhY2MyYjcwNzYxMGE1N2Vm
YzMzY2IxZWJiODE5MmYzNmZmYTkwZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAKQEAgLTE5MDMsNyArMTkwMywxMiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFk
anVzdFJlbmRlclN0eWxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudAog
ICAgIC8vIGNhc2VzIHdoZXJlIG9iamVjdHMgdGhhdCBzaG91bGQgYmUgYmxlbmRlZCBhcyBhIHNp
bmdsZSB1bml0IGVuZCB1cCB3aXRoIGEgbm9uLXRyYW5zcGFyZW50CiAgICAgLy8gb2JqZWN0IHdl
ZGdlZCBpbiBiZXR3ZWVuIHRoZW0uICBBdXRvIHotaW5kZXggYWxzbyBiZWNvbWVzIDAgZm9yIG9i
amVjdHMgdGhhdCBzcGVjaWZ5IHRyYW5zZm9ybXMvbWFza3MvcmVmbGVjdGlvbnMuCiAgICAgaWYg
KHN0eWxlLT5oYXNBdXRvWkluZGV4KCkgJiYgKChlICYmIGUtPmRvY3VtZW50KCktPmRvY3VtZW50
RWxlbWVudCgpID09IGUpIHx8IHN0eWxlLT5vcGFjaXR5KCkgPCAxLjBmCi0gICAgICAgIHx8IHN0
eWxlLT5oYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBzdHlsZS0+aGFzTWFzaygpIHx8
IHN0eWxlLT5ib3hSZWZsZWN0KCkgfHwgc3R5bGUtPmhhc0ZpbHRlcigpKSkKKyAgICAgICAgfHwg
c3R5bGUtPmhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IHN0eWxlLT5oYXNNYXNrKCkg
fHwgc3R5bGUtPmJveFJlZmxlY3QoKSB8fCBzdHlsZS0+aGFzRmlsdGVyKCkKKyNpZiBFTkFCTEUo
T1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICAgICAvLyBUb3VjaCBvdmVyZmxvdyBzY3JvbGxpbmcg
Y3JlYXRlcyBhIHN0YWNraW5nIGNvbnRleHQuCisgICAgICAgIHx8IHN0eWxlLT51c2VUb3VjaE92
ZXJmbG93U2Nyb2xsaW5nKCkKKyNlbmRpZgorICAgICAgICApKQogICAgICAgICBzdHlsZS0+c2V0
WkluZGV4KDApOwogCiAgICAgLy8gVGV4dGFyZWEgY29uc2lkZXJzIG92ZXJmbG93IHZpc2libGUg
YXMgYXV0by4KQEAgLTM3MjUsNiArMzczMCwxNSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzogeworICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTCh1c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nLCBVc2VUb3VjaE92ZXJmbG93
U2Nyb2xsaW5nKTsKKyAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBtX3N0eWxlLT5zZXRVc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKHByaW1p
dGl2ZVZhbHVlLT5nZXRJZGVudCgpID09IENTU1ZhbHVlVG91Y2gpOworICAgICAgICByZXR1cm47
CisgICAgfQorI2VuZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbG9yQ29ycmVjdGlv
bjoKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShjb2xv
clNwYWNlLCBDb2xvclNwYWNlKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgppbmRleCBkZDVjMjdjODMxOTAzZWU5OWMwNzFjY2U5MDQ1YTNlNjA0
ZWM1YzgyLi5kZWExNmEwN2MwZGFjYWM3MWRhN2UwMWYyYTdkYmFmYjdjYTUwZjgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODAyLDYgKzgwMiwxMiBAQCBuby1s
aW1pdAogbWFudWFsCiAvLyBhdXRvCiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9PVkVSRkxPV19TQ1JP
TExJTkcpCisvLyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZworLy8gYXV0bwordG91Y2gKKyNl
bmRpZgorCiAvLyAtd2Via2l0LXdyaXRpbmctbW9kZQogLy8gU1ZHIGNvbXBhdGliaWxpdHkKIGxy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDU2
MGVlMWMwZGFhNjY5NDAxODllNTE5NGZmODAxZmNhY2EwMWI0M2IuLmQ1YWI4ZjRlNjljOGFjMWM2
YjNlZTVlZWFkMzVlM2M3YzZlYWQ3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCkBAIC05NDMsNiArOTQzLDkgQEAgcHVibGljOgogI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCiAgICAgQ29sb3IgdGFwSGlnaGxpZ2h0Q29sb3IoKSBjb25zdCB7IHJl
dHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGFwSGlnaGxpZ2h0Q29sb3I7IH0KICNlbmRpZgorI2lm
IEVOQUJMRShPVkVSRkxPV19TQ1JPTExJTkcpCisgICAgYm9vbCB1c2VUb3VjaE92ZXJmbG93U2Ny
b2xsaW5nKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnVzZVRvdWNoT3ZlcmZs
b3dTY3JvbGxpbmc7IH0KKyNlbmRpZgogICAgIGJvb2wgdGV4dFNpemVBZGp1c3QoKSBjb25zdCB7
IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNpemVBZGp1c3Q7IH0KICAgICBFVGV4dFNl
Y3VyaXR5IHRleHRTZWN1cml0eSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUZXh0U2Vj
dXJpdHk+KHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2VjdXJpdHkpOyB9CiAKQEAgLTEzNDcsNiAr
MTM1MCw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHZvaWQgc2V0
VGFwSGlnaGxpZ2h0Q29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVk
RGF0YSwgdGFwSGlnaGxpZ2h0Q29sb3IsIGMpOyB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoT1ZFUkZM
T1dfU0NST0xMSU5HKQorICAgIHZvaWQgc2V0VXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhib29s
IHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdXNlVG91Y2hPdmVyZmxvd1Njcm9sbGlu
Zywgdik7IH0KKyNlbmRpZgogICAgIGJvb2wgc2V0VGV4dFNpemVBZGp1c3QoYm9vbCk7CiAgICAg
dm9pZCBzZXRUZXh0U2VjdXJpdHkoRVRleHRTZWN1cml0eSBhVGV4dFNlY3VyaXR5KSB7IFNFVF9W
QVIocmFyZUluaGVyaXRlZERhdGEsIHRleHRTZWN1cml0eSwgYVRleHRTZWN1cml0eSk7IH0KIApA
QCAtMTY0Nyw2ICsxNjUzLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAg
ICAgc3RhdGljIENvbG9yIGluaXRpYWxUYXBIaWdobGlnaHRDb2xvcigpOwogI2VuZGlmCisjaWYg
RU5BQkxFKE9WRVJGTE9XX1NDUk9MTElORykKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsVXNlVG91
Y2hPdmVyZmxvd1Njcm9sbGluZygpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgc3RhdGljIGNvbnN0IFZlY3RvcjxTdHlsZURhc2hi
b2FyZFJlZ2lvbj4mIGluaXRpYWxEYXNoYm9hcmRSZWdpb25zKCk7CiAgICAgc3RhdGljIGNvbnN0
IFZlY3RvcjxTdHlsZURhc2hib2FyZFJlZ2lvbj4mIG5vbmVEYXNoYm9hcmRSZWdpb25zKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKaW5kZXggNjA4NTYwMWY1Y2ZlOGU3NWMyM2Y2Yjg0ZDQ3ZDVlZTQ2NGMw
MjZhOS4uMzQzZmE3ZTg5MzEyNTk5YWRmOWY5MGYxZGE4ZjVmM2U0YWNjNjM3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmNwcApAQCAtNTQsNiArNTQsOSBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKCkKICAgICAsIG1fbGluZUJveENvbnRhaW4oUmVuZGVyU3R5bGU6
OmluaXRpYWxMaW5lQm94Q29udGFpbigpKQogICAgICwgbV9pbWFnZVJlbmRlcmluZyhSZW5kZXJT
dHlsZTo6aW5pdGlhbEltYWdlUmVuZGVyaW5nKCkpCiAgICAgLCBtX2xpbmVTbmFwKFJlbmRlclN0
eWxlOjppbml0aWFsTGluZVNuYXAoKSkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQor
ICAgICwgdXNlVG91Y2hPdmVyZmxvd1Njcm9sbGluZyhSZW5kZXJTdHlsZTo6aW5pdGlhbFVzZVRv
dWNoT3ZlcmZsb3dTY3JvbGxpbmcoKSkKKyNlbmRpZgogICAgICwgaHlwaGVuYXRpb25MaW1pdEJl
Zm9yZSgtMSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcigtMSkKICAgICAsIGh5cGhlbmF0
aW9uTGltaXRMaW5lcygtMSkKQEAgLTk4LDYgKzEwMSw5IEBAIFN0eWxlUmFyZUluaGVyaXRlZERh
dGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYg
bykKICAgICAsIG1fbGluZUJveENvbnRhaW4oby5tX2xpbmVCb3hDb250YWluKQogICAgICwgbV9p
bWFnZVJlbmRlcmluZyhvLm1faW1hZ2VSZW5kZXJpbmcpCiAgICAgLCBtX2xpbmVTbmFwKG8ubV9s
aW5lU25hcCkKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgICwgdXNlVG91Y2hP
dmVyZmxvd1Njcm9sbGluZyhvLnVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcpCisjZW5kaWYKICAg
ICAsIGh5cGhlbmF0aW9uU3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCiAgICAgLCBoeXBoZW5h
dGlvbkxpbWl0QmVmb3JlKG8uaHlwaGVuYXRpb25MaW1pdEJlZm9yZSkKICAgICAsIGh5cGhlbmF0
aW9uTGltaXRBZnRlcihvLmh5cGhlbmF0aW9uTGltaXRBZnRlcikKQEAgLTE0OSw2ICsxNTUsOSBA
QCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICAgICAgICAgJiYgd29yZFdyYXAgPT0gby53b3JkV3Jh
cAogICAgICAgICAmJiBuYnNwTW9kZSA9PSBvLm5ic3BNb2RlCiAgICAgICAgICYmIGtodG1sTGlu
ZUJyZWFrID09IG8ua2h0bWxMaW5lQnJlYWsKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5H
KQorICAgICAgICAmJiB1c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nID09IG8udXNlVG91Y2hPdmVy
Zmxvd1Njcm9sbGluZworI2VuZGlmCiAgICAgICAgICYmIHRleHRTaXplQWRqdXN0ID09IG8udGV4
dFNpemVBZGp1c3QKICAgICAgICAgJiYgcmVzaXplID09IG8ucmVzaXplCiAgICAgICAgICYmIHVz
ZXJTZWxlY3QgPT0gby51c2VyU2VsZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCAwNzIxZjA2N2NlMTcx
MjliZWMyZTY4ZmYyY2U1MmRlMmY0NzgxOTgyLi5kMDQzZjVjYjU0YjY5YzA3ZmQyMjQ2OGUxY2U1
MjlmYmQ4N2M2ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTkyLDYgKzkyLDkgQEAgcHVibGljOgog
ICAgIC8vIENTUyBJbWFnZSBWYWx1ZXMgTGV2ZWwgMwogICAgIHVuc2lnbmVkIG1faW1hZ2VSZW5k
ZXJpbmcgOiAyOyAvLyBFSW1hZ2VSZW5kZXJpbmcKICAgICB1bnNpZ25lZCBtX2xpbmVTbmFwIDog
MjsgLy8gTGluZVNuYXAKKyNpZiBFTkFCTEUoT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIHVuc2ln
bmVkIHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmc6IDE7CisjZW5kaWYKIAogICAgIEF0b21pY1N0
cmluZyBoeXBoZW5hdGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QmVmb3Jl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCmluZGV4IDRjY2EyNjc5NTBjYThiOTg2
NDUzMTA2ZWRjYTQzNWYyNDQ0NjIzODguLmJhMWM2ZWFjZDliZmI0ZjE5MmZmYTgyZWM0ODM1OWQ3
YTZkMDNhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTczLDYgKzcz
LDcgQEAKICAgICAgICdFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTwoZW5hYmxlX211dGF0aW9u
X29ic2VydmVycyknLAogICAgICAgJ0VOQUJMRV9OT1RJRklDQVRJT05TPTEnLAogICAgICAgJ0VO
QUJMRV9PUklFTlRBVElPTl9FVkVOVFM9MCcsCisgICAgICAnRU5BQkxFX09WRVJGTE9XX1NDUk9M
TElORz0xJywKICAgICAgICdFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQST0xJywKICAgICAgICdF
TkFCTEVfUE9JTlRFUl9MT0NLPTEnLAogICAgICAgJ0VOQUJMRV9QUk9HUkVTU19UQUc9MScsCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMTk0YzU2NGFhM2RlNGM4YWI3MmJiNjYyYzFhMjk1NzlhMDQwNjEzNS4uMTAxMjdjMDI2
OTk5NzVmM2I2YmQ1YWYzZjdjOGQ3ZmYxZDZiZWNiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEyLTAyLTE1ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBBZGQgc3RhY2tpbmcgY29udGV4dCB0ZXN0IGZvciAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGlu
ZyBDU1MgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc4NjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBzdXJlIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkIGZvciBlbGVtZW50
cyB3aXRoIHRvdWNoIG92ZXJmbG93IHNjcm9sbGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVj
dGVkLnR4dDogQWRkZWQgbmV3IHByb3BlcnR5LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13
aW4vc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dDogRGl0dG8uCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
c2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1z
Y3JvbGxpbmctdG91Y2gtc3RhY2tpbmctY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNj
cm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTE1
ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAgICAg
W1RleG1hcF0gU3VwcG9ydCBmaWx0ZXJzIGluIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtZXhwZWN0ZWQudHh0CmluZGV4IGYwNzI1NTZhNDJhODU4YTc5ZmIxYjUyZmNjOTNmNTEzNmYy
MTBlNTcuLjk1MmUwNzZmYmVlNTgzM2VhOGFlMzdlYTlmODE2YWQyMmJjNTZiZGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHls
ZS1leHBlY3RlZC50eHQKQEAgLTE4NSw2ICsxODUsNyBAQCB6b29tOiAxOwogLXdlYmtpdC1tYXNr
LXJlcGVhdDogcmVwZWF0OwogLXdlYmtpdC1tYXNrLXNpemU6IGF1dG87CiAtd2Via2l0LW5ic3At
bW9kZTogbm9ybWFsOworLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87CiAtd2Via2l0
LXBlcnNwZWN0aXZlOiBub25lOwogLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IDM5MnB4IDI4
OHB4OwogLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGVjb25vbXk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1
dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IDM2MWFlZjMxZDY0
YTljYzUwYTRhYjljYmFjN2Y5OTBmMjVhYzhiZTYuLjc0Mzc4ODJmYzU4NTNkZDk2YmJjYzU4YzZj
NzRjOWZjZjU3NWNlNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LXdpbi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdp
bi9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVy
ZXItZXhwZWN0ZWQudHh0CkBAIC0xODQsNiArMTg0LDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4g
ZWxlbWVudCB3aG9zZSBwYXJlbnQncyAnZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIC13
ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdAogICAgIC13ZWJraXQtbWFzay1zaXplOiBhdXRvCiAg
ICAgLXdlYmtpdC1uYnNwLW1vZGU6IG5vcm1hbAorICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xs
aW5nOiBhdXRvCiAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogbm9uZQogICAgIC13ZWJraXQtcGVy
c3BlY3RpdmUtb3JpZ2luOiA1MCUgNTAlCiAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6
IGVjb25vbXkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9z
dmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBl
Y3RlZC50eHQKaW5kZXggNjc3MTNjODQ0MzUyYmZkNWI0MmRlNmQ1OWViZTBlZjdhYWRkOGFiNS4u
NzljMzgzNTM2NzZmYTBkYWYyN2JiNTgxMGE5MDhkYzk4ZjE1ODc3NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1i
YXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTM2OCw2ICsz
NjgsOCBAQCByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtbWFzay1zaXplKSA6
IGF1dG8KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1tYXNrLXNpemUp
IDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFs
dWUoLXdlYmtpdC1uYnNwLW1vZGUpIDogbm9ybWFsCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKC13ZWJraXQtbmJzcC1tb2RlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCity
ZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nKSA6
IGF1dG8KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1vdmVyZmxvdy1z
Y3JvbGxpbmcpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFBy
b3BlcnR5VmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2ZSkgOiBub25lCiByZWN0OiBzdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcGVyc3BlY3RpdmUpIDogW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2
ZS1vcmlnaW4pIDogMHB4IDBweApAQCAtODgyLDYgKzg4NCw4IEBAIGc6IHN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoLXdlYmtpdC1tYXNrLXNpemUpIDogYXV0bwogZzogc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgtd2Via2l0LW1hc2stc2l6ZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQog
Zzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LW5ic3AtbW9kZSkgOiBub3JtYWwKIGc6
IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1uYnNwLW1vZGUpIDogW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1vdmVy
Zmxvdy1zY3JvbGxpbmcpIDogYXV0bworZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Vi
a2l0LW92ZXJmbG93LXNjcm9sbGluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzog
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXBlcnNwZWN0aXZlKSA6IG5vbmUKIGc6IHN0
eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1wZXJzcGVjdGl2ZSkgOiBbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXBlcnNw
ZWN0aXZlLW9yaWdpbikgOiAwcHggMHB4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gt
c3RhY2tpbmctY29udGV4dC1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tp
bmctY29udGV4dC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdhZWQzY2Y0YzQ3ZWNlMmZiZjdh
ZDExMTk4MzU0NWVmMTc5YzI3YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2NAp6Y21lQVNA
Tj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF1
N3IKemxTRmZLTHNKWCRHPXMhczNzWkJtNnImViNXODxfJExuOUwtIT15RTlPUlg2Z3hESSlgSUVH
WnJkMyhvQHRIblhVCnpfMkFzcF9xeX07KmZ3ckI9PEtAY2w0c3FJN1lXelMpRyNvLXNDaDVQITBe
RzBpSkwofFozNj5DNSstQis9SnVgWQp6d2Fmb3huKFolUldibDk5I0w2SGI5S3BhfipmeyhjKFo8
RSEqJSV0YTNsQjBlYmEzaTBHfFZfSyRgfW9WKFVkVG4KcjNyMkluWGY3RGQxKjVyT0cjQWgoN3N4
Z1dAVURKLUNPalY0MVpNRGJePmJQMGwrWGtLVF9HQn4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292
ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93
L292ZXJmbG93LXNjcm9sbGluZy10b3VjaC1zdGFja2luZy1jb250ZXh0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lODU5NmUyMzEwZDhkYTZhMTYzOWY3MGE0MGVkMWFkMzMxYmI5MDdjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctc2Nyb2xsaW5nLXRvdWNoLXN0YWNraW5nLWNvbnRleHQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKK2xheWVyIGF0ICg4LDgpIHNpemUgNTB4NTAK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDgpIHNpemUgNTB4NTAKK2xh
eWVyIGF0ICg4LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAx
IHtESVZ9IGF0ICgwLDApIHNpemUgNTB4NTAgW2JnY29sb3I9I0ZGMDAwMF0KK2xheWVyIGF0ICg4
LDgpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDgp
IHNpemUgNTB4NTAgW2JnY29sb3I9IzAwODAwMF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXNjcm9sbGluZy10
b3VjaC1zdGFja2luZy1jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmct
Y29udGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljNDhkMmNhNmEyY2E5NWJkNjFmZDA4MDdiOTM1MjYz
ZDc2MDY3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxpbmctdG91Y2gtc3RhY2tpbmct
Y29udGV4dC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5ib3ggeworICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgICAgd2lkdGg6IDUwcHg7CisgICAgICBoZWlnaHQ6IDUwcHg7
CisgICAgfQorCisgICAgLnNjcm9sbGFibGUgeworICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3Jv
bGxpbmc6IHRvdWNoOworICAgIH0KKworICAgIC5pbmRpY2F0b3IgeworICAgICAgYmFja2dyb3Vu
ZDogcmVkOworICAgICAgei1pbmRleDogMTsKKyAgICB9CisKKyAgICAudGVzdCB7CisgICAgICBi
YWNrZ3JvdW5kOiBncmVlbjsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKwor
ICA8IS0tIENoZWNrIHRoYXQgdG91Y2ggb3ZlcmZsb3cgc2Nyb2xsYWJsZSBlbGVtZW50cyBnZXQg
YSBzdGFja2luZyBjb250ZXh0LiAtLT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xsYWJsZSBib3giPgor
ICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciBib3giPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBj
bGFzcz0idGVzdCBib3giPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>