<?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>120380</bug_id>
          
          <creation_ts>2013-08-27 15:48:28 -0700</creation_ts>
          <short_desc>[iOS] Don&apos;t opt into accelerated composited scrolling for elements with -webkit-overflow-scrolling: touch</short_desc>
          <delta_ts>2013-08-29 13:28:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>anilsson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jkjiang</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>921712</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-27 15:48:28 -0700</bug_when>
    <thetext>On iOS we don&apos;t want to opt into using the accelerated composited scrolling code path for elements with touch overflow scrolling because we use UIKit to handle overflow scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921717</commentid>
    <comment_count>1</comment_count>
      <attachid>209816</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-27 15:53:43 -0700</bug_when>
    <thetext>Created attachment 209816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921724</commentid>
    <comment_count>2</comment_count>
      <attachid>209818</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-27 16:12:19 -0700</bug_when>
    <thetext>Created attachment 209818
Patch with layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921765</commentid>
    <comment_count>3</comment_count>
      <attachid>209818</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-27 18:04:41 -0700</bug_when>
    <thetext>Comment on attachment 209818
Patch with layout tests

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:2060
&gt; +        // On iOS we don&apos;t want to opt into accelerated composited scrolling, which creates scroll bar
&gt; +        // layers in WebCore, because we use UIKit to composite our scroll bars.

This comment is in the wrong place. It should go before the #if, not in the #else side.

I also think that &amp;&amp; !PLATFORM(IOS) should go *after* the ENABLE check.

What the comment does not explain is why ENABLE(ACCELERATED_OVERFLOW_SCROLLING) needs to be true for iOS even though we don’t want to do this. Is there other code wrapped by ACCELERATED_OVERFLOW_SCROLLING we do want?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922231</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-28 16:21:25 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 209818 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=209818&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:2060
&gt; &gt; +        // On iOS we don&apos;t want to opt into accelerated composited scrolling, which creates scroll bar
&gt; &gt; +        // layers in WebCore, because we use UIKit to composite our scroll bars.
&gt; 
&gt; This comment is in the wrong place. It should go before the #if, not in the #else side.

Will move.

&gt; 
&gt; I also think that &amp;&amp; !PLATFORM(IOS) should go *after* the ENABLE check.
&gt; 
&gt; What the comment does not explain is why ENABLE(ACCELERATED_OVERFLOW_SCROLLING) needs to be true for iOS even though we don’t want to do this. 

Maybe using !USE(UIKIT) or !USE(UIKIT_SCROLLING)  or !USE(IOS_SCROLLING) would be more descriptive than !PLATFORM(IOS) in the proposed patch? That is, on iOS we use UIKit for hardware accelerated scrolling of overflow elements instead of the non-accelerated/accelerated compositing code path in WebCore; =&gt; We do not want to opt into the ENABLE(ACCELERATED_OVERFLOW_SCROLLING) guarded code in RenderLayer::updateNeedsCompositedScrolling() (since it is specific to using -webkit-overflow-scroll with the non-UIKit scrolling code path in WebCore).

Alternatively, maybe a better description for this comment would be:

// On iOS we use UIKit for hardware accelerated scrolling of overflow elements instead of the accelerated
// compositing code path in WebCore. So, we never want to force such compositing in WebCore.

On another note, maybe there is a better way to structure this code such that we differentiate the concept of ACCELERATED_OVERFLOW_SCROLLING (&quot;support for CSS property -webkit-overflow-scrolling&quot;) from the implementation used for scrolling (e.g. UIKit)?

Is there other code wrapped by ACCELERATED_OVERFLOW_SCROLLING we do want?

Yes, there is more code wrapped by ACCELERATED_OVERFLOW_SCROLLING that we do want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922232</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-28 16:22:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 209818 [details])
&gt; [...]
&gt; I also think that &amp;&amp; !PLATFORM(IOS) should go *after* the ENABLE check.

Will move the conjunct !PLATFORM(IOS) after the conjunct ENABLE(ACCELERATED_OVERFLOW_SCROLLING).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922285</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-28 18:19:57 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Maybe using !USE(UIKIT) or !USE(UIKIT_SCROLLING)  or !USE(IOS_SCROLLING) would be more descriptive than !PLATFORM(IOS) in the proposed patch?

Yes, might be a way to improve this later, but not if this is the only place we have such an #if.

&gt; On another note, maybe there is a better way to structure this code such that we differentiate the concept of ACCELERATED_OVERFLOW_SCROLLING (&quot;support for CSS property -webkit-overflow-scrolling&quot;) from the implementation used for scrolling (e.g. UIKit)?

I don’t think that support for the CSS property -webkit-overflow-scrolling should be considered *accelerated* overflow scrolling, so I think you are describing it wrong.

&gt;&gt; Is there other code wrapped by ACCELERATED_OVERFLOW_SCROLLING we do want?
&gt; 
&gt; Yes, there is more code wrapped by ACCELERATED_OVERFLOW_SCROLLING that we do want.

OK, too bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922307</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-08-28 19:12:22 -0700</bug_when>
    <thetext>We should ask other webkit clients if they care about accelerated scrolling. Maybe our UIKit version is the only one we need to maintain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922412</commentid>
    <comment_count>8</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-08-29 05:36:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; We should ask other webkit clients if they care about accelerated scrolling. Maybe our UIKit version is the only one we need to maintain.

BlackBerry used to care. Arvid, Jacky?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922431</commentid>
    <comment_count>9</comment_count>
    <who name="Arvid Nilsson">anilsson</who>
    <bug_when>2013-08-29 06:34:01 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; We should ask other webkit clients if they care about accelerated scrolling. Maybe our UIKit version is the only one we need to maintain.
&gt; 
&gt; BlackBerry used to care. Arvid, Jacky?

I believe our accelerated scrolling code isn&apos;t fully upstreamed, i.e. there are some #if BLACKBERRY&apos;s that we haven&apos;t upstreamed. And since we haven&apos;t upstreamed all of it it wouldn&apos;t be fair to ask the upstream community to maintain this bit of code for us... What do you think Jacky?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922454</commentid>
    <comment_count>10</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2013-08-29 07:42:52 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; We should ask other webkit clients if they care about accelerated scrolling. Maybe our UIKit version is the only one we need to maintain.
&gt; &gt; 
&gt; &gt; BlackBerry used to care. Arvid, Jacky?
&gt; 
&gt; I believe our accelerated scrolling code isn&apos;t fully upstreamed, i.e. there are some #if BLACKBERRY&apos;s that we haven&apos;t upstreamed. And since we haven&apos;t upstreamed all of it it wouldn&apos;t be fair to ask the upstream community to maintain this bit of code for us... What do you think Jacky?

I agree with Arvid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922639</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-08-29 13:28:59 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; [...]
&gt; I don’t think that support for the CSS property -webkit-overflow-scrolling should be considered *accelerated* overflow scrolling, so I think you are describing it wrong.

Currently we guard the CSS property -webkit-overflow-scrolling behind the ENABLE(ACCELERATED_OVERFLOW_SCROLLING) guard.

From talking with Simon Fraser today on IRC, it only makes sense to support the CSS property -webkit-overflow-scrolling together with accelerated composited scrolling as the purpose of this property is for developers to explicitly opt into hardware accelerated, native-style, scrolling. That is, it doesn&apos;t make sense to support this CSS property with repaint-based scrolling.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209816</attachid>
            <date>2013-08-27 15:53:43 -0700</date>
            <delta_ts>2013-08-27 16:12:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120380-20130827155342.patch</filename>
            <type>text/plain</type>
            <size>1974</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRkMTkyZDc0NTU3NGM1
YTJmMTQyNjc0NzBjNWM3YjEzNzM2ZmY3Yy4uZjdjNGY0MGUzNGQ2NzIwZTk0MjNjYzA0MmEwM2My
YzUyYWY2ODY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA4LTI3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEb24ndCBvcHQg
aW50byBhY2NlbGVyYXRlZCBjb21wb3NpdGVkIHNjcm9sbGluZyBmb3IgZWxlbWVudHMKKyAgICAg
ICAgd2l0aCAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDM4MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUyB3ZSBkb24ndCB3YW50IHRv
IG9wdCBpbnRvIGFjY2VsZXJhdGVkIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB3aGljaCBjcmVhdGVz
CisgICAgICAgIGEgbGF5ZXIgZm9yIGVhY2ggc2Nyb2xsIGJhciBpbiBXZWJDb3JlLCBiZWNhdXNl
IHdlIHVzZSBVSUtpdCB0byBjb21wb3NpdGUgb3VyCisgICAgICAgIHNjcm9sbCBiYXJzLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcpOgorCiAyMDEzLTA4LTI3
ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDbGVh
biBDbGFzc0xpc3QgYW5kIERPTVNldHRhYmxlVG9rZW5MaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBjYTU1YWM1ZTc5M2QyNDMzNjZiOTI3ZDdjN2FhYzlh
YWFmODQ3MWUzLi5kNzNkN2I2YjJiNzU3YzJkMTM2MGM3MDA0NDg3NWFkNTIzMGJhYTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIwNTMsOSArMjA1Mywx
MSBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKQog
ICAgICAgICAgICAgJiYgY2FuQmVTdGFja2luZ0NvbnRhaW5lcigpCiAgICAgICAgICAgICAmJiAh
aGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoKTsKIAotI2lmIEVOQUJMRShBQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpCisjaWYgIVBMQVRGT1JNKElPUykgJiYgRU5BQkxFKEFD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykKICAgICAgICAgbV9uZWVkc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcgPSBmb3JjZVVzZUNvbXBvc2l0ZWRTY3JvbGxpbmcgfHwgcmVuZGVyZXIoKS5zdHls
ZSgpLT51c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKCk7CiAjZWxzZQorICAgICAgICAvLyBPbiBp
T1Mgd2UgZG9uJ3Qgd2FudCB0byBvcHQgaW50byBhY2NlbGVyYXRlZCBjb21wb3NpdGVkIHNjcm9s
bGluZywgd2hpY2ggY3JlYXRlcyBzY3JvbGwgYmFyCisgICAgICAgIC8vIGxheWVycyBpbiBXZWJD
b3JlLCBiZWNhdXNlIHdlIHVzZSBVSUtpdCB0byBjb21wb3NpdGUgb3VyIHNjcm9sbCBiYXJzLgog
ICAgICAgICBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyA9IGZvcmNlVXNlQ29tcG9zaXRlZFNj
cm9sbGluZzsKICNlbmRpZgogICAgICAgICAvLyBXZSBnYXRoZXIgYSBib29sZWFuIHZhbHVlIGZv
ciB1c2Ugd2l0aCBHb29nbGUgVU1BIGhpc3RvZ3JhbXMgdG8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209818</attachid>
            <date>2013-08-27 16:12:19 -0700</date>
            <delta_ts>2013-08-27 18:04:41 -0700</delta_ts>
            <desc>Patch with layout tests</desc>
            <filename>bug-120380-20130827161218.patch</filename>
            <type>text/plain</type>
            <size>20645</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRkMTkyZDc0NTU3NGM1
YTJmMTQyNjc0NzBjNWM3YjEzNzM2ZmY3Yy4uMDVkMmNkMGMyZDU2MWM0NDU1N2ZlNmRhNTQ2MmY2
OTMwNDU1ODUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA4LTI3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEb24ndCBvcHQg
aW50byBhY2NlbGVyYXRlZCBjb21wb3NpdGVkIHNjcm9sbGluZyBmb3IgZWxlbWVudHMgd2l0aCAt
d2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUyB3ZSBkb24ndCB3YW50IHRvIG9wdCBpbnRv
IGFjY2VsZXJhdGVkIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB3aGljaCBjcmVhdGVzCisgICAgICAg
IGEgbGF5ZXIgZm9yIGVhY2ggc2Nyb2xsIGJhciBpbiBXZWJDb3JlLCBiZWNhdXNlIHdlIHVzZSBV
SUtpdCB0byBjb21wb3NpdGUgb3VyCisgICAgICAgIHNjcm9sbCBiYXJzLgorCisgICAgICAgIFRl
c3RzOiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ct
c2Nyb2xsLXRvdWNoLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvaXBob25lL3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXpl
Lmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Nj
cm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC5odG1sCisgICAgICAgICAg
ICAgICBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvc2Nyb2xsaW5n
LWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZU5lZWRz
Q29tcG9zaXRlZFNjcm9sbGluZyk6CisKIDIwMTMtMDgtMjcgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENsZWFuIENsYXNzTGlzdCBhbmQgRE9NU2V0
dGFibGVUb2tlbkxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IGNhNTVhYzVlNzkzZDI0MzM2NmI5MjdkN2M3YWFjOWFhYWY4NDcxZTMuLmQ3M2Q3YjZiMmI3
NTdjMmQxMzYwYzcwMDQ0ODc1YWQ1MjMwYmFhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtMjA1Myw5ICsyMDUzLDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpCiAgICAgICAgICAgICAmJiBjYW5CZVN0
YWNraW5nQ29udGFpbmVyKCkKICAgICAgICAgICAgICYmICFoYXNPdXRPZkZsb3dQb3NpdGlvbmVk
RGVzY2VuZGFudCgpOwogCi0jaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykKKyNpZiAhUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKQogICAgICAgICBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyA9IGZvcmNlVXNlQ29t
cG9zaXRlZFNjcm9sbGluZyB8fCByZW5kZXJlcigpLnN0eWxlKCktPnVzZVRvdWNoT3ZlcmZsb3dT
Y3JvbGxpbmcoKTsKICNlbHNlCisgICAgICAgIC8vIE9uIGlPUyB3ZSBkb24ndCB3YW50IHRvIG9w
dCBpbnRvIGFjY2VsZXJhdGVkIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLCB3aGljaCBjcmVhdGVzIHNj
cm9sbCBiYXIKKyAgICAgICAgLy8gbGF5ZXJzIGluIFdlYkNvcmUsIGJlY2F1c2Ugd2UgdXNlIFVJ
S2l0IHRvIGNvbXBvc2l0ZSBvdXIgc2Nyb2xsIGJhcnMuCiAgICAgICAgIG1fbmVlZHNDb21wb3Np
dGVkU2Nyb2xsaW5nID0gZm9yY2VVc2VDb21wb3NpdGVkU2Nyb2xsaW5nOwogI2VuZGlmCiAgICAg
ICAgIC8vIFdlIGdhdGhlciBhIGJvb2xlYW4gdmFsdWUgZm9yIHVzZSB3aXRoIEdvb2dsZSBVTUEg
aGlzdG9ncmFtcyB0bwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDllZDFhYjc2MGY3NGZhNzZhYzczNDkxZDg1ZGY5NzRiYTk0
ZTUzYTMuLmJhODk0NzJlYjdlYTJmOGZkMTU2YTUyMWQ3ZTQzMGU1YjNiNTdmYmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMy0wOC0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CisKKyAgICAgICAgW2lPU10gRG9uJ3Qgb3B0IGludG8gYWNjZWxlcmF0ZWQgY29tcG9zaXRl
ZCBzY3JvbGxpbmcgZm9yIGVsZW1lbnRzIHdpdGggLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6
IHRvdWNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjAzODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgaU9TLXNwZWNpZmljIGV4cGVjdGVkIHJlc3VsdHMgZm9yIHRlc3RzIExheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LXthdXRvLXdpdGgtdG91Y2gsCisgICAgICAgIGF1
dG8td2l0aC10b3VjaC10b2dnbGUsIG92ZXJsYXktd2l0aC10b3VjaH0uaHRtbC4KKworICAgICAg
ICBBZGRpdGlvbmFsbHksIGFkZCBtb3JlIGlPUy1zcGVjaWZpYyB0ZXN0cy4KKworICAgICAgICAq
IHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
YXV0by13aXRoLXRvdWNoLWV4cGVjdGVkLnR4dDogQWRkZWQ7IGlPUy1zcGVjaWZpYyByZXN1bHQu
CisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9jb21wb3NpdGluZy9vdmVyZmxv
dy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9nZ2xlLWV4cGVjdGVkLnR4dDogQWRkZWQ7IGlP
Uy1zcGVjaWZpYyByZXN1bHQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9j
b21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2gtZXhwZWN0ZWQu
dHh0OiBBZGRlZDsgaU9TLXNwZWNpZmljIHJlc3VsdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhv
bmUvc2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbC10b3VjaC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Ny
b2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsaW5n
LWFuY2VzdG9yLWNsaXAtc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmct
YW5jZXN0b3ItY2xpcC1zaXplLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvaXBob25lL3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3It
Y2xpcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lw
aG9uZS9zY3JvbGxpbmcvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25l
L3Njcm9sbGluZy9zY3JvbGxpbmctY29udGVudC1jbGlwLXRvLXZpZXdwb3J0Lmh0bWw6IEFkZGVk
LgorCiAyMDEzLTA4LTI3ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBjZWxsIHdpZHRoIC8gb2Zmc2V0VG9wIGluY29ycmVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVy
Zmxvdy1hdXRvLXdpdGgtdG91Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aXBob25lLXNpbXVsYXRvci9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgt
dG91Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNjg5NDk5NTgwODZlYTY1YmY1MDY1ZTQx
YTA2YjQ2NDdhYmVhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
cGhvbmUtc2ltdWxhdG9yL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10
b3VjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAg
KGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgIChib3VuZHMgMTAwMC4wMCAxMDAwLjAwKQorICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkK
KyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC10b2dnbGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9jb21w
b3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9nZ2xlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MDY4OTQ5OTU4MDg2ZWE2NWJmNTA2NWU0MWEwNmI0NjQ3YWJlYWE0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRv
ci9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9nZ2xlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgw
MC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChi
b3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRz
IDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAgICAg
ICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgICAgICAgICAgKGJvdW5kcyAxMDAwLjAwIDEwMDAuMDApCisgICAgICAgICAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCisgICAg
ICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCisp
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ctb3ZlcmxheS13aXRoLXRvdWNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvY29tcG9zaXRpbmcvb3Zl
cmZsb3cvb3ZlcmZsb3ctb3ZlcmxheS13aXRoLXRvdWNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MDY4OTQ5OTU4MDg2ZWE2NWJmNTA2NWU0MWEwNmI0NjQ3YWJlYWE0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9jb21wb3NpdGluZy9v
dmVyZmxvdy9vdmVyZmxvdy1vdmVybGF5LXdpdGgtdG91Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjYgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNo
aWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAw
KQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAo
cG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAg
ICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRz
IDEwMDAuMDAgMTAwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAg
ICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUvc2Nyb2xsaW5nL292ZXJm
bG93LXNjcm9sbC10b3VjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMjNjMTIwYmQ4Y2I0MzM5YzgzNDA1M2UxMTlmMmYyZTViY2Vj
MTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9pcGhvbmUvc2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbC10b3VjaC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw4NCBAQAorIAorIAorIAorIChHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDQKKyAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMTguMDAgMTguMDApCisgICAgICAgICAgKGJvdW5k
cyAyMDIuMDAgMjAyLjAwKQorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBv
c2l0aW9uIDEuMDAgMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyAyMDAuMDAgMjAwLjAwKQor
ICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVy
CisgICAgICAgICAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAuMDApCisgICAgICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAp
CisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDI0NC4wMCAxOC4wMCkKKyAgICAgICAgICAoYm91
bmRzIDIwMi4wMCAyMDIuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAo
cG9zaXRpb24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIG9yaWdpbiAwLjAwIDUw
LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAuMDApCisgICAgICAgICAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAg
ICAgICAgIChib3VuZHMgMjAwLjAwIDQwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gMTguMDAgMjQ1LjAwKQorICAgICAgICAgIChib3VuZHMgMjAyLjAwIDIw
Mi4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEK
KyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAw
IDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAg
ICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgIChwb3NpdGlvbiAyNDQuMDAgMjQ1LjAwKQorICAgICAgICAgIChib3VuZHMgMjAyLjAw
IDIwMi4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVu
IDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAx
LjAwIDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgb3JpZ2luIDAuMDAgNTAuMDApCisgICAg
ICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVu
IDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAyMDAuMDAgNDAwLjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3Zl
cmZsb3ctc2Nyb2xsLXRvdWNoLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjcwN2RlYmZmMWY3N2YwODlmMWQ4Y2NkMGMxNDhkMGMzMDVkYjA4ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Nj
cm9sbGluZy9vdmVyZmxvdy1zY3JvbGwtdG91Y2guaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICBodG1sIHsKKyAgICAg
IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKKyAgICB9CisKKyAgICAub3ZlcmZs
b3cgeworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgIG1h
cmdpbjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgIH0KKyAgICAKKyAgICAudGFsbCB7CisgICAgICBoZWlnaHQ6
IDQwMHB4OworICAgIH0KKyAgICAKKyAgICAuc2hvcnQgeworICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICB9CisKKyAgICAuc2Nyb2xsIHsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgfQor
CisgICAgLmF1dG8geworICAgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgfQorCisgICAgLmNvbnRl
bnRzIHsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICB9CisgIDwvc3R5bGU+
CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKKyAgICBmdW5jdGlvbiB0ZXN0U2Nyb2xsYWJpbGl0eShlbGVtZW50
KQorICAgIHsKKyAgICAgIC8vIFRoaXMgd2lsbCBjYXVzZSBzY3JvbGxlZCBlbGVtZW50cyB3aWxs
IGhhdmUgYSAnYm91bmRzIG9yaWdpbicgb2YgeT01MCBpbiB0aGVpciBsYXllci4KKyAgICAgIGVs
ZW1lbnQuc2Nyb2xsVG9wID0gNTA7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRvVGVzdCgp
CisgICAgeworICAgICAgdmFyIGRpdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdib2R5
ID4gZGl2Lm92ZXJmbG93Jyk7CisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpdnMubGVuZ3Ro
OyArK2kpCisgICAgICAgIHRlc3RTY3JvbGxhYmlsaXR5KGRpdnNbaV0pOworICAgICAgCisgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHRzJykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQo
ZG9jdW1lbnQpOworICAgIH0KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRv
VGVzdCwgZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xh
c3M9Im92ZXJmbG93IHNjcm9sbCI+CisgICAgPGRpdiBjbGFzcz0ic2hvcnQgY29udGVudHMiPjwv
ZGl2PgorICA8L2Rpdj4KKworICA8ZGl2IGNsYXNzPSJvdmVyZmxvdyBzY3JvbGwiPgorICAgIDxk
aXYgY2xhc3M9InRhbGwgY29udGVudHMiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGJyPgorCisgIDxk
aXYgY2xhc3M9Im92ZXJmbG93IGF1dG8iPgorICAgIDxkaXYgY2xhc3M9InNob3J0IGNvbnRlbnRz
Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBjbGFzcz0ib3ZlcmZsb3cgYXV0byI+CisgICAg
PGRpdiBjbGFzcz0idGFsbCBjb250ZW50cyI+PC9kaXY+CisgIDwvZGl2PgorICAKKyAgPHByZSBp
ZD0icmVzdWx0cyI+VGhpcyB0ZXN0IHJlcXVpcmVzIERSVC48L3ByZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBo
b25lL3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxp
bmcvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI4OGFmOWYzZjQ0ZDc1YTExZDRhY2EyYmUzNzgxOGQ4YzU4ZDIxZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3Jv
bGxpbmcvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNDEgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgMzIwLjAwIDQ1MS4wMCkKKyAg
KGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyAzMjAuMDAgNDUx
LjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMzAyLjAwIDQwMi4wMCkK
KyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDAp
CisgICAgICAgICAgICAgIChib3VuZHMgb3JpZ2luIDAuMDAgMzAuMDApCisgICAgICAgICAgICAg
IChib3VuZHMgMzAwLjAwIDQwMC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDAu
MDAgOTAwLjAwKQorICAgICAgICAgICAgICAgICAgKHVzaW5nVGlsZWRMYXllciAxKQorICAgICAg
ICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVu
IDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMjAuMDAgNTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5k
cyAyNjAuMDAgODAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAg
ICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAoYm91bmRzIDI2MC4wMCA4MDAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCisgICAgICAgICAg
ICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Nj
cm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Njcm9sbGlu
Zy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wOGNhMTk0ZDgzMjQ3M2UxMTg5ZDU4YTk3NDhkOTBkZjdkMWJjOWNhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUv
c2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNDEgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgMzMwLjAwIDQ3
MS4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyAz
MzAuMDAgNDcxLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMzIyLjAw
IDQyMi4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVu
IDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAx
MS4wMCAxMS4wMCkKKyAgICAgICAgICAgICAgKGJvdW5kcyBvcmlnaW4gMC4wMCAzMC4wMCkKKyAg
ICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgNDAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDMwMC4wMCA5MDAuMDApCisgICAgICAgICAgICAgICAgICAodXNpbmdUaWxlZExheWVy
IDEpCisgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAg
ICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyMC4wMCA1MC4wMCkKKyAgICAgICAgICAgICAgICAg
ICAgICAoYm91bmRzIDI2MC4wMCA4MDAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGNoaWxk
cmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMjYwLjAwIDgwMC4wMCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisg
ICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRv
ci9pcGhvbmUvc2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbGluZy1hbmNlc3Rvci1jbGlwLXNpemUu
aHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Njcm9s
bGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGJmZTU4ZmMyOTkwMTY2Y2Y3M2MyYWZmNzMwY2NiODNkMWVjNmNmZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvaXBob25lL3Njcm9s
bGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0b3ItY2xpcC1zaXplLmh0bWwKQEAgLTAsMCAr
MSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgPHNjcmlwdD4KKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwor
ICAgIGZ1bmN0aW9uIGRvU2Nyb2xsKCkKKyAgICB7CisgICAgICB2YXIgb3ZlcmZsb3cgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnc2Nyb2xsZXInKTsKKyAgICAgIG92ZXJmbG93LnNjcm9sbFRv
cCA9IDMwOworCisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxh
eWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgfQorICAgIAorICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgZG9TY3JvbGwsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+CisgIDxzdHls
ZT4KKyAgICAjc2Nyb2xsZXIgeworICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICAgIC13ZWJr
aXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKKyAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAg
IGhlaWdodDogNDAwcHg7CisgICAgICBib3JkZXI6IDExcHggc29saWQgYmxhY2s7CisgICAgfQor
ICAgIAorICAgIC5jb2x1bW4geworICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgIG1hcmdp
bjogNTBweCAyMHB4OworICAgICAgd2lkdGg6IDI2MHB4OworICAgICAgaGVpZ2h0OiA4MDBweDsK
KyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICB9CisgICAgLmNvbnRlbnRzIHsKKyAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgICAgd2lkdGg6IDEwMCU7
CisgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgICB9Cisg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGlkPSJzY3JvbGxlciI+CisgICAg
PGRpdiBjbGFzcz0iY29sdW1uIj4KKyAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnRzIj48L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2Vz
IGhlcmUgaW4gRFJULjwvcHJlPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZs
b3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNsaXAuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lw
aG9uZS1zaW11bGF0b3IvaXBob25lL3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxpbmctYW5jZXN0
b3ItY2xpcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhZGVmNjAxMmIyYjBhOTQ3NGZiZTNmMTk0NDNjN2Mz
OGI0Mjk3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUt
c2ltdWxhdG9yL2lwaG9uZS9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsaW5nLWFuY2VzdG9yLWNs
aXAuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgor
ICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworCisgICAgZnVuY3Rpb24gZG9TY3JvbGwoKQorICAgIHsKKyAgICAgIHZh
ciBvdmVyZmxvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JvbGxlcicpOworICAgICAg
b3ZlcmZsb3cuc2Nyb2xsVG9wID0gMzA7CisKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICB9CisgICAgCisg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Njcm9sbCwgZmFsc2UpOworICA8
L3NjcmlwdD4KKyAgPHN0eWxlPgorICAgICNzY3JvbGxlciB7CisgICAgICBvdmVyZmxvdzogc2Ny
b2xsOworICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgICAgd2lk
dGg6IDMwMHB4OworICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgIH0KKyAgICAKKyAgICAuY29sdW1uIHsKKyAgICAgIG92ZXJmbG93OiBoaWRk
ZW47CisgICAgICBtYXJnaW46IDUwcHggMjBweDsKKyAgICAgIHdpZHRoOiAyNjBweDsKKyAgICAg
IGhlaWdodDogODAwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgfQorICAg
IC5jb250ZW50cyB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKKyAg
ICAgIHdpZHRoOiAxMDAlOworICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgYmFja2dyb3VuZDog
Z3JlZW47CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBpZD0i
c2Nyb2xsZXIiPgorICAgIDxkaXYgY2xhc3M9ImNvbHVtbiI+CisgICAgICA8ZGl2IGNsYXNzPSJj
b250ZW50cyI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8cHJlIGlkPSJsYXllcnMi
PkxheWVyIHRyZWUgZ29lcyBoZXJlIGluIERSVC48L3ByZT4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUv
c2Nyb2xsaW5nL3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUvc2Nyb2xsaW5n
L3Njcm9sbGluZy1jb250ZW50LWNsaXAtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk0YWViNjNjZjBmZjNiZDcyNzY4YWYxNzFlMmFkZmNlYWZmZGMwNzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3Jv
bGxpbmcvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNiBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyAzMjAuMDAgMzgxLjAwKQor
ICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDMyMC4wMCAz
ODEuMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgIChib3VuZHMgMzIwLjAwIDM0MC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAzMjAuMDAgMzQwLjAw
KQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDMyMC4wMCAxMjI0LjAwKQorICAgICAgICAg
ICAgICAgICAgKHVzaW5nVGlsZWRMYXllciAxKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
KQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2lwaG9uZS9zY3Jv
bGxpbmcvc2Nyb2xsaW5nLWNvbnRlbnQtY2xpcC10by12aWV3cG9ydC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUvc2Nyb2xsaW5nL3Njcm9sbGluZy1j
b250ZW50LWNsaXAtdG8tdmlld3BvcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzdiOTIxMmM3MTRjMTU4
NDYzZTUzYWY0ODYxZGM5N2Q4ZThiYjgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9pcGhvbmUvc2Nyb2xsaW5nL3Njcm9sbGluZy1jb250
ZW50LWNsaXAtdG8tdmlld3BvcnQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD1kZXZpY2Utd2lkdGgiPgorICAgCisgIDxzdHlsZT4KKyAgICBib2R5IHsKKyAgICAgIG1hcmdp
bjogMDsKKyAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKKyAgICB9CisK
KyAgICAuc2Nyb2xsZXIgeworICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgaGVpZ2h0OiAzMjBw
eDsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICBwYWRkaW5nOiAxMHB4OworICAgIH0K
KyAgICAKKyAgICAuY29sdW1uIHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIHdp
ZHRoOiAyODBweDsKKyAgICAgIGhlaWdodDogMTIwMHB4OworICAgICAgYmFja2dyb3VuZDogc2ls
dmVyOworICAgICAgYm9yZGVyOiAycHggc29saWQgYmx1ZTsKKyAgICAgIHotaW5kZXg6IDA7Cisg
ICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIAorICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwg
PSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgfSwgdHJ1
ZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgPGRpdiBjbGFzcz0ic2Nyb2xs
ZXIiPgorICAgIDxkaXYgY2xhc3M9ImNvbHVtbiI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8
cHJlIGlkPSJsYXllcnMiPkxheWVyIHRyZWUgZ29lcyBoZXJlIGluIERSVDwvcHJlPgorPC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="231869"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>