<?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>129485</bug_id>
          
          <creation_ts>2014-02-28 08:15:53 -0800</creation_ts>
          <short_desc>[CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region&apos;s padding</short_desc>
          <delta_ts>2014-03-10 09:23:22 -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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Radu Stavila">stavila</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>985565</commentid>
    <comment_count>0</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-02-28 08:15:53 -0800</bug_when>
    <thetext>Hovering over the flowed content while using the mouse wheel to scroll the region doesn&apos;t work properly. See LayoutTests/fast/regions/scrollable-single-region.html for a sample.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988880</commentid>
    <comment_count>1</comment_count>
      <attachid>226300</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-03-10 06:26:25 -0700</bug_when>
    <thetext>Created attachment 226300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988885</commentid>
    <comment_count>2</comment_count>
      <attachid>226300</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-03-10 07:01:28 -0700</bug_when>
    <thetext>Comment on attachment 226300
Patch

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

r- because of the padding box issue. Also, don&apos;t forget about the CLs.

&gt; Source/WebCore/rendering/RenderNamedFlowFragment.cpp:258
&gt; +    ASSERT(&amp;fragmentContainer() == o);

We should also assert o == container() as the other implementations of offsetFromContainer do.

&gt; Source/WebCore/rendering/RenderNamedFlowThread.cpp:381
&gt; +        IntRect fragmentAbsoluteRect(roundedIntPoint(fragmentContainer.localToAbsolute()), roundedIntSize(fragmentContainer.paddingBoxRect().size()));

I&apos;m not sure this is correct. For example, if you have a region chain with two regions.
The first region: padding-bottom: 100px, overflow: hidden.
The second region: margin-top: -100px, padding: 0px, overflow: hidden.

For a point found above the padding of the first region, fragmentFromAbsolutePointAndBox() will return the first region, not the second one, right? We should use the visualOverflow rectangles in each region to correctly determine this. Also, in the stacking order of the region layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988886</commentid>
    <comment_count>3</comment_count>
      <attachid>226300</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-03-10 07:33:48 -0700</bug_when>
    <thetext>Comment on attachment 226300
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderNamedFlowFragment.cpp:258
&gt;&gt; +    ASSERT(&amp;fragmentContainer() == o);
&gt; 
&gt; We should also assert o == container() as the other implementations of offsetFromContainer do.

OK.

&gt;&gt; Source/WebCore/rendering/RenderNamedFlowThread.cpp:381
&gt;&gt; +        IntRect fragmentAbsoluteRect(roundedIntPoint(fragmentContainer.localToAbsolute()), roundedIntSize(fragmentContainer.paddingBoxRect().size()));
&gt; 
&gt; I&apos;m not sure this is correct. For example, if you have a region chain with two regions.
&gt; The first region: padding-bottom: 100px, overflow: hidden.
&gt; The second region: margin-top: -100px, padding: 0px, overflow: hidden.
&gt; 
&gt; For a point found above the padding of the first region, fragmentFromAbsolutePointAndBox() will return the first region, not the second one, right? We should use the visualOverflow rectangles in each region to correctly determine this. Also, in the stacking order of the region layers.

This is part of the old code, it&apos;s not code added by this patch. Also, a flowed scrollable element will always have a range of just one region, which means we will not encounter the situation you describe. If this situation changes, a better solution should be found for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988887</commentid>
    <comment_count>4</comment_count>
      <attachid>226302</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2014-03-10 07:42:08 -0700</bug_when>
    <thetext>Created attachment 226302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988891</commentid>
    <comment_count>5</comment_count>
      <attachid>226302</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2014-03-10 08:37:48 -0700</bug_when>
    <thetext>Comment on attachment 226302
Patch

r=me. Please add a bug to track either rename the function with something like &quot;...ForScrolling&quot; or, even better, file a bug to implement this at a layer level. Right now you won&apos;t get a positive result if you scroll over the overflow of a region, thus not scrolling the region container as it should happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988899</commentid>
    <comment_count>6</comment_count>
      <attachid>226302</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-10 09:23:19 -0700</bug_when>
    <thetext>Comment on attachment 226302
Patch

Clearing flags on attachment: 226302

Committed r165377: &lt;http://trac.webkit.org/changeset/165377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988900</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-10 09:23:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226300</attachid>
            <date>2014-03-10 06:26:25 -0700</date>
            <delta_ts>2014-03-10 07:42:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>129485.patch</filename>
            <type>text/plain</type>
            <size>13311</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGxhYmxlLXNp
bmdsZS1yZWdpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93aGVl
bC1zY3JvbGxhYmxlLXNpbmdsZS1yZWdpb24tZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi42YzU3YjgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lvbi1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgc3R5bGU9ImZvbnQ6
IDE2cHgvMS4yNSBtb25vc3BhY2U7Ij4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMjUwLCAyNTApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5jb250aW51
b3VzTW91c2VTY3JvbGxCeSgwLCAtMTIwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKworICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjY29udGFp
bmVyIHsKKyAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBncmVlbjsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDMwMHB4OworICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxl
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjcmVnaW9uIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogNjAwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAg
ICAgICAgICBib3JkZXI6IHRoaWNrIHNvbGlkIHJlZDsKKyAgICAgICAgICAgICAgICBwYWRkaW5n
OiA1MHB4OworICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICNpbm5lckRpdiB7CisgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4
OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAjaW5uZXJEaXY6aG92ZXIKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisKKyAgICA8Ym9keSBvbmxvYWQ9InRlc3RT
Y3JvbGwoKSI+CisgICAgICAgIDxhIHN0eWxlPSJmb250LXNpemU6IDE0cHgiIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0ODUiPltDU1MgUmVnaW9uc10g
U2Nyb2xsaW5nIHJlZ2lvbnMgd2l0aCB0aGUgbW91c2Ugd2hlZWwgb25seSB3b3JrcyBwcm9wZXJs
eSBpZiBob3ZlcmluZyBvdmVyIHRoZSByZWdpb24ncyBwYWRkaW5nPC9hPgorICAgICAgICA8cD5U
aGlzIHRlc3QgcGFzc2VzIGlmIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6cmVkIj5yZWdpb248L3Nw
YW4+IHByb3Blcmx5IHNjcm9sbHMgaXRzIGNvbnRlbnQgdXNpbmcgdGhlIG1vdXNlIHdoZWVsLjwv
cD4KKworICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPgorICAgICAgICAgICAgPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgICAgICAgICAgICAgICA8ZGl2PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFByYWVzZW50IGludGVyZHVtLCBzYXBpZW4g
dml0YWUgZmF1Y2lidXMgc3VzY2lwaXQsIG1hc3NhIHVybmEgc2FnaXR0aXMgbGliZXJvLCBhYyBp
bXBlcmRpZXQgZWxpdCBsYWN1cyBhIGxpZ3VsYS4gTWF1cmlzIGEgb3JjaSBzZW0uPC9kaXY+Cisg
ICAgICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPjwvZGl2PgorICAgICAgICAgICAgICAg
IDxkaXYgc3R5bGU9ImNvbG9yOnJlZCI+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gUHJhZXNlbnQgaW50ZXJkdW0sIHNhcGllbiB2aXRhZSBm
YXVjaWJ1cyBzdXNjaXBpdCwgbWFzc2EgdXJuYSBzYWdpdHRpcyBsaWJlcm8sIGFjIGltcGVyZGll
dCBlbGl0IGxhY3VzIGEgbGlndWxhLiBNYXVyaXMgYSBvcmNpIHNlbS4gTnVsbGFtIHVsbGFtY29y
cGVyIG9ybmFyZSBwb3J0dGl0b3IuIE1vcmJpIGxhb3JlZXQgcGVsbGVudGVzcXVlIGRpYW0sIHZp
dGFlIGhlbmRyZXJpdCBzZW0gZnJpbmdpbGxhIGlkLiBNYWVjZW5hcyBydXRydW0gbGFjaW5pYSBs
b2JvcnRpcy4gUHJhZXNlbnQgZWxpdCBsZWN0dXMsIHBvcnR0aXRvciBzZWQgc2VtcGVyIHZlbCwg
ZnJpbmdpbGxhIGlkIGRvbG9yLiBTZWQgbGFjdXMgbmlzbCwgcnV0cnVtIHNpdCBhbWV0IGV1aXNt
b2QgYSwgdnVscHV0YXRlIHF1aXMgZWxpdC4gRnVzY2UgY29tbW9kbyBkdWkgcXVpcyBsYWN1cyB2
aXZlcnJhIHZlbCBlZ2VzdGFzIHZlbGl0IHRlbXB1cy4gRG9uZWMgdXQgc2FwaWVuIHNpdCBhbWV0
IHB1cnVzIGx1Y3R1cyBmZXJtZW50dW0uIERvbmVjIGVsZWlmZW5kIHByZXRpdW0gbmVxdWUgcXVp
cyBiaWJlbmR1bS4gVmVzdGlidWx1bSBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1cyBvcmNp
IGx1Y3R1cyBldCB1bHRyaWNlcyBwb3N1ZXJlIGN1YmlsaWEgQ3VyYWU7IE5hbSBjb25ndWUgZGFw
aWJ1cyBtaSwgaWQgdWx0cmljaWVzIGVzdCBzYWdpdHRpcyBldC4gSW50ZWdlciBwb3N1ZXJlLCBl
cm9zIHZpdGFlIGxhb3JlZXQgY29uZ3VlLCB0b3J0b3IgcHVydXMgZXVpc21vZCBuaWJoLCBldSBw
b3J0YSBwdXJ1cyBhcmN1IGlkIHR1cnBpcy4gRG9uZWMgdml0YWUgdWx0cmljaWVzIG5pYmguIE51
bGxhbSBpbiB1cm5hIGRvbG9yLCBhdCBmcmluZ2lsbGEgbG9yZW0uIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuPC9kaXY+CisgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbGFibGUtc2luZ2xl
LXJlZ2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzODZlNTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xs
YWJsZS1zaW5nbGUtcmVnaW9uLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbCBzdHlsZT0iZm9udDogMTZweC8xLjI1IG1vbm9zcGFjZTsiPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyNTAsIDI1MCk7CisgICAgICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5KDAsIC0xMjApOworICAgICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorCisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgICNjb250YWluZXIgeworICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNv
bGlkIGdyZWVuOworICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAgICAgICAgICAg
ICAgb3ZlcmZsb3c6IHZpc2libGU7CisgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86
IGZsb3c7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNyZWdpb24geworICAgICAgICAg
ICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAg
ICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OworICAgICAgICAgICAgICAgIGJv
cmRlcjogdGhpY2sgc29saWQgcmVkOworICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7Cisg
ICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgI2lubmVyRGl2IHsKKyAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9y
OiByZWQ7CisgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICNpbm5lckRpdjpob3ZlcgorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICAgICAgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKworICAgIDxib2R5PgorICAgICAgICA8YSBzdHlsZT0iZm9u
dC1zaXplOiAxNHB4IiBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI5NDg1Ij5bQ1NTIFJlZ2lvbnNdIFNjcm9sbGluZyByZWdpb25zIHdpdGggdGhlIG1vdXNl
IHdoZWVsIG9ubHkgd29ya3MgcHJvcGVybHkgaWYgaG92ZXJpbmcgb3ZlciB0aGUgcmVnaW9uJ3Mg
cGFkZGluZzwvYT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgPHNwYW4gc3R5
bGU9ImNvbG9yOnJlZCI+cmVnaW9uPC9zcGFuPiBwcm9wZXJseSBzY3JvbGxzIGl0cyBjb250ZW50
IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC48L3A+CisKKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48
L2Rpdj4KKworICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGRpdj5M
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBQ
cmFlc2VudCBpbnRlcmR1bSwgc2FwaWVuIHZpdGFlIGZhdWNpYnVzIHN1c2NpcGl0LCBtYXNzYSB1
cm5hIHNhZ2l0dGlzIGxpYmVybywgYWMgaW1wZXJkaWV0IGVsaXQgbGFjdXMgYSBsaWd1bGEuIE1h
dXJpcyBhIG9yY2kgc2VtLjwvZGl2PgorICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPjwv
ZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6cmVkIj5Mb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBQcmFlc2VudCBpbnRlcmR1
bSwgc2FwaWVuIHZpdGFlIGZhdWNpYnVzIHN1c2NpcGl0LCBtYXNzYSB1cm5hIHNhZ2l0dGlzIGxp
YmVybywgYWMgaW1wZXJkaWV0IGVsaXQgbGFjdXMgYSBsaWd1bGEuIE1hdXJpcyBhIG9yY2kgc2Vt
LiBOdWxsYW0gdWxsYW1jb3JwZXIgb3JuYXJlIHBvcnR0aXRvci4gTW9yYmkgbGFvcmVldCBwZWxs
ZW50ZXNxdWUgZGlhbSwgdml0YWUgaGVuZHJlcml0IHNlbSBmcmluZ2lsbGEgaWQuIE1hZWNlbmFz
IHJ1dHJ1bSBsYWNpbmlhIGxvYm9ydGlzLiBQcmFlc2VudCBlbGl0IGxlY3R1cywgcG9ydHRpdG9y
IHNlZCBzZW1wZXIgdmVsLCBmcmluZ2lsbGEgaWQgZG9sb3IuIFNlZCBsYWN1cyBuaXNsLCBydXRy
dW0gc2l0IGFtZXQgZXVpc21vZCBhLCB2dWxwdXRhdGUgcXVpcyBlbGl0LiBGdXNjZSBjb21tb2Rv
IGR1aSBxdWlzIGxhY3VzIHZpdmVycmEgdmVsIGVnZXN0YXMgdmVsaXQgdGVtcHVzLiBEb25lYyB1
dCBzYXBpZW4gc2l0IGFtZXQgcHVydXMgbHVjdHVzIGZlcm1lbnR1bS4gRG9uZWMgZWxlaWZlbmQg
cHJldGl1bSBuZXF1ZSBxdWlzIGJpYmVuZHVtLiBWZXN0aWJ1bHVtIGFudGUgaXBzdW0gcHJpbWlz
IGluIGZhdWNpYnVzIG9yY2kgbHVjdHVzIGV0IHVsdHJpY2VzIHBvc3VlcmUgY3ViaWxpYSBDdXJh
ZTsgTmFtIGNvbmd1ZSBkYXBpYnVzIG1pLCBpZCB1bHRyaWNpZXMgZXN0IHNhZ2l0dGlzIGV0LiBJ
bnRlZ2VyIHBvc3VlcmUsIGVyb3Mgdml0YWUgbGFvcmVldCBjb25ndWUsIHRvcnRvciBwdXJ1cyBl
dWlzbW9kIG5pYmgsIGV1IHBvcnRhIHB1cnVzIGFyY3UgaWQgdHVycGlzLiBEb25lYyB2aXRhZSB1
bHRyaWNpZXMgbmliaC4gTnVsbGFtIGluIHVybmEgZG9sb3IsIGF0IGZyaW5naWxsYSBsb3JlbS4g
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAxZGJjMjYxLi5hMmE3YjgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDUsMTMgKzQ1LDEzIEBACiAjaW5jbHVk
ZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94UmVnaW9uSW5mby5oIgogI2luY2x1
ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCi0jaW5jbHVkZSAiUmVuZGVyRmxvd1RocmVhZC5oIgog
I2luY2x1ZGUgIlJlbmRlckdlb21ldHJ5TWFwLmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgi
CiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGFibGVDZWxsLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCkBAIC03ODEsNyArNzgxLDcgQEAgYm9vbCBSZW5kZXJCb3g6OnNj
cm9sbChTY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxh
cml0eSwKICAgICBSZW5kZXJCbG9jayogbmV4dFNjcm9sbEJsb2NrID0gY29udGFpbmluZ0Jsb2Nr
KCk7CiAgICAgaWYgKG5leHRTY3JvbGxCbG9jayAmJiBuZXh0U2Nyb2xsQmxvY2stPmlzUmVuZGVy
TmFtZWRGbG93VGhyZWFkKCkpIHsKICAgICAgICAgQVNTRVJUKHN0YXJ0Qm94KTsKLSAgICAgICAg
bmV4dFNjcm9sbEJsb2NrID0gdG9SZW5kZXJGbG93VGhyZWFkKG5leHRTY3JvbGxCbG9jayktPnJl
Z2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KHdoZWVsRXZlbnRBYnNvbHV0ZVBvaW50LCAqc3Rh
cnRCb3gpOworICAgICAgICBuZXh0U2Nyb2xsQmxvY2sgPSB0b1JlbmRlck5hbWVkRmxvd1RocmVh
ZChuZXh0U2Nyb2xsQmxvY2spLT5mcmFnbWVudEZyb21BYnNvbHV0ZVBvaW50QW5kQm94KHdoZWVs
RXZlbnRBYnNvbHV0ZVBvaW50LCAqc3RhcnRCb3gpOwogICAgIH0KIAogICAgIGlmIChuZXh0U2Ny
b2xsQmxvY2sgJiYgIW5leHRTY3JvbGxCbG9jay0+aXNSZW5kZXJWaWV3KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggNGE1Y2QyMy4uNzVj
ZDljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cApAQCAtNDM2LDI4ICs0MzYsNiBAQCBSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJlYWQ6OnJl
Z2lvbkF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiBjbGFtcEJveCwgTAogICAgIHJldHVy
biByZWdpb24gPyBjbGFtcEJveC0+Y2xhbXBUb1N0YXJ0QW5kRW5kUmVnaW9ucyhyZWdpb24pIDog
MDsKIH0KIAotUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gcm9tQWJzb2x1
dGVQb2ludEFuZEJveChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCwgY29uc3QgUmVuZGVy
Qm94JiBmbG93ZWRCb3gpCi17Ci0gICAgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IG51bGxw
dHI7Ci0gICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBudWxscHRyOwotICAgIGdldFJlZ2lv
blJhbmdlRm9yQm94KCZmbG93ZWRCb3gsIHN0YXJ0UmVnaW9uLCBlbmRSZWdpb24pOwotCi0gICAg
aWYgKCFzdGFydFJlZ2lvbikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBmb3IgKGF1
dG8gaXRlciA9IG1fcmVnaW9uTGlzdC5maW5kKHN0YXJ0UmVnaW9uKSwgZW5kID0gbV9yZWdpb25M
aXN0LmVuZCgpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7Ci0gICAgICAgIFJlbmRlclJlZ2lvbiog
cmVnaW9uID0gKml0ZXI7Ci0gICAgICAgIEludFJlY3QgcmVnaW9uQWJzb2x1dGVSZWN0KHJvdW5k
ZWRJbnRQb2ludChyZWdpb24tPmxvY2FsVG9BYnNvbHV0ZSgpKSwgcm91bmRlZEludFNpemUocmVn
aW9uLT5mcmFtZVJlY3QoKS5zaXplKCkpKTsKLSAgICAgICAgaWYgKHJlZ2lvbkFic29sdXRlUmVj
dC5jb250YWlucyhhYnNvbHV0ZVBvaW50KSkKLSAgICAgICAgICAgIHJldHVybiByZWdpb247Ci0K
LSAgICAgICAgaWYgKHJlZ2lvbiA9PSBlbmRSZWdpb24pCi0gICAgICAgICAgICBicmVhazsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQogTGF5b3V0UG9pbnQgUmVuZGVyRmxvd1Ro
cmVhZDo6YWRqdXN0ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplY3QmIGJveE1vZGVsT2JqZWN0LCBjb25zdCBMYXlvdXRQb2ludCYgc3RhcnRQ
b2ludCkKIHsKICAgICBMYXlvdXRQb2ludCByZWZlcmVuY2VQb2ludCA9IHN0YXJ0UG9pbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCAyM2QwZjI1
Li44MjNhYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmgKQEAgLTEwNCw4ICsxMDQsNiBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJSZWdpb24qIHJlZ2lv
bkF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRM
YXN0UmVnaW9uID0gZmFsc2UsIFJlZ2lvbkF1dG9HZW5lcmF0aW9uUG9saWN5ID0gQWxsb3dSZWdp
b25BdXRvR2VuZXJhdGlvbik7CiAKLSAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbkZyb21BYnNvbHV0
ZVBvaW50QW5kQm94KGNvbnN0IEludFBvaW50JiwgY29uc3QgUmVuZGVyQm94JiBmbG93ZWRCb3gp
OwotCiAgICAgYm9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aDsgfQogICAgIGJvb2wgcmVnaW9u
c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVV
bmlmb3JtTG9naWNhbEhlaWdodDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcAppbmRleCAzNTVjNTUyLi42YjcxMDE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFn
bWVudC5jcHAKQEAgLTI1Miw2ICsyNTIsMTIgQEAgYm9vbCBSZW5kZXJOYW1lZEZsb3dGcmFnbWVu
dDo6c2hvdWxkQ2xpcEZsb3dUaHJlYWRDb250ZW50KCkgY29uc3QKICAgICAKICAgICByZXR1cm4g
aXNMYXN0UmVnaW9uKCkgJiYgKHN0eWxlKCkucmVnaW9uRnJhZ21lbnQoKSA9PSBCcmVha1JlZ2lv
bkZyYWdtZW50KTsKIH0KKyAgICAKK0xheW91dFNpemUgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQ6
Om9mZnNldEZyb21Db250YWluZXIoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBMYXlvdXRQb2ludCYs
IGJvb2wqKSBjb25zdAoreworICAgIEFTU0VSVCgmZnJhZ21lbnRDb250YWluZXIoKSA9PSBvKTsK
KyAgICByZXR1cm4gdG9wTGVmdExvY2F0aW9uT2Zmc2V0KCk7Cit9CiAKIHZvaWQgUmVuZGVyTmFt
ZWRGbG93RnJhZ21lbnQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0
VW5pdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dGcmFnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxv
d0ZyYWdtZW50LmgKaW5kZXggYjFlYzlkNC4uNzY5Y2JjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKQEAgLTY4LDYgKzY4LDgg
QEAgcHVibGljOgogICAgIFJlbmRlckxheWVyJiBmcmFnbWVudENvbnRhaW5lckxheWVyKCkgY29u
c3Q7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZENsaXBGbG93VGhyZWFkQ29udGVudCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIAorICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBvZmZzZXRGcm9t
Q29udGFpbmVyKFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFBvaW50JiwgYm9vbCogb2Zmc2V0
RGVwZW5kc09uUG9pbnQgPSAwKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgaXNQc2V1ZG9F
bGVtZW50UmVnaW9uKCkgY29uc3QgeyByZXR1cm4gcGFyZW50KCkgJiYgcGFyZW50KCktPmlzUHNl
dWRvRWxlbWVudCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggNmRiNDc0Yi4uMWRkMWZlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTM2
Niw2ICszNjYsMjkgQEAgTGF5b3V0UmVjdCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRlY29yYXRp
b25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxvd0ZyYWdtZW50KGMKICAgICByZXR1cm4gdmlzdWFs
T3ZlcmZsb3dSZWN0OwogfQogCitSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogUmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpmcmFnbWVudEZyb21BYnNvbHV0ZVBvaW50QW5kQm94KGNvbnN0IEludFBvaW50
JiBhYnNvbHV0ZVBvaW50LCBjb25zdCBSZW5kZXJCb3gmIGZsb3dlZEJveCkKK3sKKyAgICBSZW5k
ZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKKyAgICBSZW5kZXJSZWdpb24qIGVuZFJl
Z2lvbiA9IG51bGxwdHI7CisgICAgZ2V0UmVnaW9uUmFuZ2VGb3JCb3goJmZsb3dlZEJveCwgc3Rh
cnRSZWdpb24sIGVuZFJlZ2lvbik7CisgICAgCisgICAgaWYgKCFzdGFydFJlZ2lvbikKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgZm9yIChhdXRvIGl0ZXIgPSBtX3JlZ2lvbkxp
c3QuZmluZChzdGFydFJlZ2lvbiksIGVuZCA9IG1fcmVnaW9uTGlzdC5lbmQoKTsgaXRlciAhPSBl
bmQ7ICsraXRlcikgeworICAgICAgICBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogZnJhZ21lbnQg
PSB0b1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50KCppdGVyKTsKKyAgICAgICAgUmVuZGVyQmxvY2tG
bG93JiBmcmFnbWVudENvbnRhaW5lciA9IGZyYWdtZW50LT5mcmFnbWVudENvbnRhaW5lcigpOwor
ICAgICAgICBJbnRSZWN0IGZyYWdtZW50QWJzb2x1dGVSZWN0KHJvdW5kZWRJbnRQb2ludChmcmFn
bWVudENvbnRhaW5lci5sb2NhbFRvQWJzb2x1dGUoKSksIHJvdW5kZWRJbnRTaXplKGZyYWdtZW50
Q29udGFpbmVyLnBhZGRpbmdCb3hSZWN0KCkuc2l6ZSgpKSk7CisgICAgICAgIGlmIChmcmFnbWVu
dEFic29sdXRlUmVjdC5jb250YWlucyhhYnNvbHV0ZVBvaW50KSkKKyAgICAgICAgICAgIHJldHVy
biBmcmFnbWVudDsKKyAgICAgICAgCisgICAgICAgIGlmIChmcmFnbWVudCA9PSBlbmRSZWdpb24p
CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3coTGF5b3V0VW5p
dCBvbGRDbGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRzKQogewogICAgIFJlbmRl
ckZsb3dUaHJlYWQ6OmNvbXB1dGVPdmVyZmxvdyhvbGRDbGllbnRBZnRlckVkZ2UsIHJlY29tcHV0
ZUZsb2F0cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmgKaW5kZXggNWFkMGZhYS4uYmVjNzExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtNzAsNiArNzAsOCBAQCBwdWJs
aWM6CiAKICAgICBMYXlvdXRSZWN0IGRlY29yYXRpb25zQ2xpcFJlY3RGb3JCb3hJbk5hbWVkRmxv
d0ZyYWdtZW50KGNvbnN0IFJlbmRlckJveCYsIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50JikgY29u
c3Q7CiAKKyAgICBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogZnJhZ21lbnRGcm9tQWJzb2x1dGVQ
b2ludEFuZEJveChjb25zdCBJbnRQb2ludCYsIGNvbnN0IFJlbmRlckJveCYgZmxvd2VkQm94KTsK
KwogICAgIHZvaWQgcmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50RWxlbWVudChFbGVtZW50Jik7CiAg
ICAgdm9pZCB1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1lbnQoRWxlbWVudCYpOwogICAg
IGNvbnN0IE5hbWVkRmxvd0NvbnRlbnRFbGVtZW50cyYgY29udGVudEVsZW1lbnRzKCkgY29uc3Qg
eyByZXR1cm4gbV9jb250ZW50RWxlbWVudHM7IH0K
</data>
<flag name="review"
          id="250528"
          type_id="1"
          status="-"
          setter="abucur"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226302</attachid>
            <date>2014-03-10 07:42:08 -0700</date>
            <delta_ts>2014-03-10 09:23:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>129485.patch</filename>
            <type>text/plain</type>
            <size>15667</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNDljNWU0Li41MjBhMWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDMt
MTAgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc10gU2Nyb2xsaW5nIHJlZ2lvbnMgd2l0aCB0aGUgbW91c2Ugd2hlZWwgb25seSB3b3JrcyBw
cm9wZXJseSBpZiBob3ZlcmluZyBvdmVyIHRoZSByZWdpb24ncyBwYWRkaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk0ODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBsYXlvdXQgdGVzdHMg
Zm9yIHNjcm9sbGluZyByZWdpb25zIHVzaW5nIHRoZSBtb3VzZSB3aGVlbC4KKworICAgICAgICAq
IGZhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGxhYmxlLXNpbmdsZS1yZWdpb24tZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbGFibGUtc2luZ2xl
LXJlZ2lvbi5odG1sOiBBZGRlZC4KKwogMjAxNC0wMy0xMCAgTWlobmVhIE92aWRlbmllICA8bWlo
bmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTUmVnaW9uc10gRml4IGJyb2tlbiBwYXRocyBp
biBzb21lIHJlZ2lvbnMgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy93aGVlbC1zY3JvbGxhYmxlLXNpbmdsZS1yZWdpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93aGVlbC1zY3JvbGxhYmxlLXNpbmdsZS1yZWdpb24tZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzU3YjgzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNjcm9sbGFibGUtc2lu
Z2xlLXJlZ2lvbi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWwgc3R5bGU9ImZvbnQ6IDE2cHgvMS4yNSBtb25vc3BhY2U7Ij4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMjUwLCAyNTApOworICAgICAgICAgICAgICAgICAg
ICBldmVudFNlbmRlci5jb250aW51b3VzTW91c2VTY3JvbGxCeSgwLCAtMTIwKTsKKyAgICAgICAg
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMCwgMCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKworICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBz
b2xpZCBncmVlbjsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4OworICAgICAgICAgICAg
ICAgIG92ZXJmbG93OiB2aXNpYmxlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjcmVn
aW9uIHsKKyAgICAgICAgICAgICAgICB3aWR0aDogNjAwcHg7CisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAyMDBweDsKKyAgICAgICAgICAgICAgICBib3JkZXI6IHRoaWNrIHNvbGlkIHJlZDsKKyAg
ICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4OworICAgICAgICAgICAgICAgIG92ZXJmbG93OiBz
Y3JvbGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNpbm5lckRpdiB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgICAgIG1h
cmdpbi1sZWZ0OiAzMHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjaW5uZXJEaXY6
aG92ZXIKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisKKyAg
ICA8Ym9keSBvbmxvYWQ9InRlc3RTY3JvbGwoKSI+CisgICAgICAgIDxhIHN0eWxlPSJmb250LXNp
emU6IDE0cHgiIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Mjk0ODUiPltDU1MgUmVnaW9uc10gU2Nyb2xsaW5nIHJlZ2lvbnMgd2l0aCB0aGUgbW91c2Ugd2hl
ZWwgb25seSB3b3JrcyBwcm9wZXJseSBpZiBob3ZlcmluZyBvdmVyIHRoZSByZWdpb24ncyBwYWRk
aW5nPC9hPgorICAgICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSA8c3BhbiBzdHlsZT0i
Y29sb3I6cmVkIj5yZWdpb248L3NwYW4+IHByb3Blcmx5IHNjcm9sbHMgaXRzIGNvbnRlbnQgdXNp
bmcgdGhlIG1vdXNlIHdoZWVsLjwvcD4KKworICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPgorICAg
ICAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgICAgICAgICA8ZGl2PkxvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFByYWVz
ZW50IGludGVyZHVtLCBzYXBpZW4gdml0YWUgZmF1Y2lidXMgc3VzY2lwaXQsIG1hc3NhIHVybmEg
c2FnaXR0aXMgbGliZXJvLCBhYyBpbXBlcmRpZXQgZWxpdCBsYWN1cyBhIGxpZ3VsYS4gTWF1cmlz
IGEgb3JjaSBzZW0uPC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0iaW5uZXJEaXYiPjwv
ZGl2PgorICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOnJlZCI+TG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gUHJhZXNlbnQgaW50
ZXJkdW0sIHNhcGllbiB2aXRhZSBmYXVjaWJ1cyBzdXNjaXBpdCwgbWFzc2EgdXJuYSBzYWdpdHRp
cyBsaWJlcm8sIGFjIGltcGVyZGlldCBlbGl0IGxhY3VzIGEgbGlndWxhLiBNYXVyaXMgYSBvcmNp
IHNlbS4gTnVsbGFtIHVsbGFtY29ycGVyIG9ybmFyZSBwb3J0dGl0b3IuIE1vcmJpIGxhb3JlZXQg
cGVsbGVudGVzcXVlIGRpYW0sIHZpdGFlIGhlbmRyZXJpdCBzZW0gZnJpbmdpbGxhIGlkLiBNYWVj
ZW5hcyBydXRydW0gbGFjaW5pYSBsb2JvcnRpcy4gUHJhZXNlbnQgZWxpdCBsZWN0dXMsIHBvcnR0
aXRvciBzZWQgc2VtcGVyIHZlbCwgZnJpbmdpbGxhIGlkIGRvbG9yLiBTZWQgbGFjdXMgbmlzbCwg
cnV0cnVtIHNpdCBhbWV0IGV1aXNtb2QgYSwgdnVscHV0YXRlIHF1aXMgZWxpdC4gRnVzY2UgY29t
bW9kbyBkdWkgcXVpcyBsYWN1cyB2aXZlcnJhIHZlbCBlZ2VzdGFzIHZlbGl0IHRlbXB1cy4gRG9u
ZWMgdXQgc2FwaWVuIHNpdCBhbWV0IHB1cnVzIGx1Y3R1cyBmZXJtZW50dW0uIERvbmVjIGVsZWlm
ZW5kIHByZXRpdW0gbmVxdWUgcXVpcyBiaWJlbmR1bS4gVmVzdGlidWx1bSBhbnRlIGlwc3VtIHBy
aW1pcyBpbiBmYXVjaWJ1cyBvcmNpIGx1Y3R1cyBldCB1bHRyaWNlcyBwb3N1ZXJlIGN1YmlsaWEg
Q3VyYWU7IE5hbSBjb25ndWUgZGFwaWJ1cyBtaSwgaWQgdWx0cmljaWVzIGVzdCBzYWdpdHRpcyBl
dC4gSW50ZWdlciBwb3N1ZXJlLCBlcm9zIHZpdGFlIGxhb3JlZXQgY29uZ3VlLCB0b3J0b3IgcHVy
dXMgZXVpc21vZCBuaWJoLCBldSBwb3J0YSBwdXJ1cyBhcmN1IGlkIHR1cnBpcy4gRG9uZWMgdml0
YWUgdWx0cmljaWVzIG5pYmguIE51bGxhbSBpbiB1cm5hIGRvbG9yLCBhdCBmcmluZ2lsbGEgbG9y
ZW0uIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVs
aXQuPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3doZWVsLXNj
cm9sbGFibGUtc2luZ2xlLXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3do
ZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjAzODZlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsYWJsZS1zaW5nbGUtcmVnaW9uLmh0bWwKQEAgLTAsMCArMSw1
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBzdHlsZT0iZm9udDogMTZweC8xLjI1IG1vbm9z
cGFjZTsiPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgb25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyNTAsIDI1MCk7
CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5
KDAsIC0xMjApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygw
LCAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorCisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNjb250YWluZXIgeworICAgICAgICAg
ICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGdyZWVuOworICAgICAgICAgICAgICAgIGhlaWdodDog
MzAwcHg7CisgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CisgICAgICAgICAgICAg
ICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICNyZWdpb24geworICAgICAgICAgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmbG93
OworICAgICAgICAgICAgICAgIGJvcmRlcjogdGhpY2sgc29saWQgcmVkOworICAgICAgICAgICAg
ICAgIHBhZGRpbmc6IDUwcHg7CisgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgI2lubmVyRGl2IHsKKyAgICAgICAgICAgICAgICB3
aWR0aDogMzAwcHg7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6
IDMwcHg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNpbm5lckRpdjpob3ZlcgorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKworICAgIDxib2R5Pgor
ICAgICAgICA8YSBzdHlsZT0iZm9udC1zaXplOiAxNHB4IiBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NDg1Ij5bQ1NTIFJlZ2lvbnNdIFNjcm9sbGluZyBy
ZWdpb25zIHdpdGggdGhlIG1vdXNlIHdoZWVsIG9ubHkgd29ya3MgcHJvcGVybHkgaWYgaG92ZXJp
bmcgb3ZlciB0aGUgcmVnaW9uJ3MgcGFkZGluZzwvYT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IHBh
c3NlcyBpZiB0aGUgPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI+cmVnaW9uPC9zcGFuPiBwcm9wZXJs
eSBzY3JvbGxzIGl0cyBjb250ZW50IHVzaW5nIHRoZSBtb3VzZSB3aGVlbC48L3A+CisKKyAgICAg
ICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKworICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIi
PgorICAgICAgICAgICAgPGRpdj5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0
dXIgYWRpcGlzY2luZyBlbGl0LiBQcmFlc2VudCBpbnRlcmR1bSwgc2FwaWVuIHZpdGFlIGZhdWNp
YnVzIHN1c2NpcGl0LCBtYXNzYSB1cm5hIHNhZ2l0dGlzIGxpYmVybywgYWMgaW1wZXJkaWV0IGVs
aXQgbGFjdXMgYSBsaWd1bGEuIE1hdXJpcyBhIG9yY2kgc2VtLjwvZGl2PgorICAgICAgICAgICAg
PGRpdiBpZD0iaW5uZXJEaXYiPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6
cmVkIj5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBl
bGl0LiBQcmFlc2VudCBpbnRlcmR1bSwgc2FwaWVuIHZpdGFlIGZhdWNpYnVzIHN1c2NpcGl0LCBt
YXNzYSB1cm5hIHNhZ2l0dGlzIGxpYmVybywgYWMgaW1wZXJkaWV0IGVsaXQgbGFjdXMgYSBsaWd1
bGEuIE1hdXJpcyBhIG9yY2kgc2VtLiBOdWxsYW0gdWxsYW1jb3JwZXIgb3JuYXJlIHBvcnR0aXRv
ci4gTW9yYmkgbGFvcmVldCBwZWxsZW50ZXNxdWUgZGlhbSwgdml0YWUgaGVuZHJlcml0IHNlbSBm
cmluZ2lsbGEgaWQuIE1hZWNlbmFzIHJ1dHJ1bSBsYWNpbmlhIGxvYm9ydGlzLiBQcmFlc2VudCBl
bGl0IGxlY3R1cywgcG9ydHRpdG9yIHNlZCBzZW1wZXIgdmVsLCBmcmluZ2lsbGEgaWQgZG9sb3Iu
IFNlZCBsYWN1cyBuaXNsLCBydXRydW0gc2l0IGFtZXQgZXVpc21vZCBhLCB2dWxwdXRhdGUgcXVp
cyBlbGl0LiBGdXNjZSBjb21tb2RvIGR1aSBxdWlzIGxhY3VzIHZpdmVycmEgdmVsIGVnZXN0YXMg
dmVsaXQgdGVtcHVzLiBEb25lYyB1dCBzYXBpZW4gc2l0IGFtZXQgcHVydXMgbHVjdHVzIGZlcm1l
bnR1bS4gRG9uZWMgZWxlaWZlbmQgcHJldGl1bSBuZXF1ZSBxdWlzIGJpYmVuZHVtLiBWZXN0aWJ1
bHVtIGFudGUgaXBzdW0gcHJpbWlzIGluIGZhdWNpYnVzIG9yY2kgbHVjdHVzIGV0IHVsdHJpY2Vz
IHBvc3VlcmUgY3ViaWxpYSBDdXJhZTsgTmFtIGNvbmd1ZSBkYXBpYnVzIG1pLCBpZCB1bHRyaWNp
ZXMgZXN0IHNhZ2l0dGlzIGV0LiBJbnRlZ2VyIHBvc3VlcmUsIGVyb3Mgdml0YWUgbGFvcmVldCBj
b25ndWUsIHRvcnRvciBwdXJ1cyBldWlzbW9kIG5pYmgsIGV1IHBvcnRhIHB1cnVzIGFyY3UgaWQg
dHVycGlzLiBEb25lYyB2aXRhZSB1bHRyaWNpZXMgbmliaC4gTnVsbGFtIGluIHVybmEgZG9sb3Is
IGF0IGZyaW5naWxsYSBsb3JlbS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3Rl
dHVyIGFkaXBpc2NpbmcgZWxpdC48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc1YzIyMDAuLjZiMGNkYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNC0wMy0xMCAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBhZG9iZS5jb20+
CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBTY3JvbGxpbmcgcmVnaW9ucyB3aXRoIHRoZSBtb3Vz
ZSB3aGVlbCBvbmx5IHdvcmtzIHByb3Blcmx5IGlmIGhvdmVyaW5nIG92ZXIgdGhlIHJlZ2lvbidz
IHBhZGRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyOTQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gc2VhcmNoaW5nIGZvciB0aGUgcmVnaW9uIHVuZGVyIHRoZSBtb3VzZSBwb2ludGVyICh0
byBpZGVudGlmeSB3aGljaCByZWdpb24gdG8gc2Nyb2xsKSwgCisgICAgICAgIHRoZSBsb2NhbFRv
QWJzb2x1dGUgbWV0aG9kIG11c3QgYmUgY2FsbGVkIG9uIHRoZSByZWdpb24gY29udGFpbmVyLCBu
b3QgdGhlIHJlZ2lvbiBpdHNlbGYuCisgICAgICAgIEFsc28sIHdoZW4gY2FsbGluZyB0aGUgb2Zm
c2V0RnJvbUNvbnRhaW5lciBtZXRob2Qgb24gYSBuYW1lZCBmbG93IGZyYWdtZW50LAorICAgICAg
ICBpdCBtdXN0IG9ubHkgdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gdGhlIGJvcmRlciBhbmQgcGFk
ZGluZyBvZiB0aGUgZnJhZ21lbnQgY29udGFpbmVyLAorICAgICAgICBub3QgaXRzIHNjcm9sbGVk
IG9mZnNldC4KKworICAgICAgICBUZXN0OiBmYXN0L3JlZ2lvbnMvd2hlZWwtc2Nyb2xsYWJsZS1z
aW5nbGUtcmVnaW9uLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzY3JvbGwpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6b2Zmc2V0RnJvbUNv
bnRhaW5lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmZyYWdtZW50RnJvbUFic29sdXRlUG9p
bnRBbmRCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaDoK
KwogMjAxNC0wMy0xMCAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVudXNlZCBkaXNwYXRjaFN0b3JhZ2VFdmVudCgpIGZyb20gU3RvcmFn
ZUFyZWFTeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDFkYmMy
NjEuLmEyYTdiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00
NSwxMyArNDUsMTMgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJC
b3hSZWdpb25JbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyRmxleGlibGVCb3guaCIKLSNpbmNsdWRl
ICJSZW5kZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVkZSAiUmVuZGVyR2VvbWV0cnlNYXAuaCIKICNp
bmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgi
CiAjaW5jbHVkZSAiUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJO
YW1lZEZsb3dUaHJlYWQuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZUNlbGwuaCIKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKQEAgLTc4MSw3ICs3ODEs
NyBAQCBib29sIFJlbmRlckJveDo6c2Nyb2xsKFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNj
cm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LAogICAgIFJlbmRlckJsb2NrKiBuZXh0U2Nyb2xs
QmxvY2sgPSBjb250YWluaW5nQmxvY2soKTsKICAgICBpZiAobmV4dFNjcm9sbEJsb2NrICYmIG5l
eHRTY3JvbGxCbG9jay0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgewogICAgICAgICBBU1NF
UlQoc3RhcnRCb3gpOwotICAgICAgICBuZXh0U2Nyb2xsQmxvY2sgPSB0b1JlbmRlckZsb3dUaHJl
YWQobmV4dFNjcm9sbEJsb2NrKS0+cmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRCb3god2hlZWxF
dmVudEFic29sdXRlUG9pbnQsICpzdGFydEJveCk7CisgICAgICAgIG5leHRTY3JvbGxCbG9jayA9
IHRvUmVuZGVyTmFtZWRGbG93VGhyZWFkKG5leHRTY3JvbGxCbG9jayktPmZyYWdtZW50RnJvbUFi
c29sdXRlUG9pbnRBbmRCb3god2hlZWxFdmVudEFic29sdXRlUG9pbnQsICpzdGFydEJveCk7CiAg
ICAgfQogCiAgICAgaWYgKG5leHRTY3JvbGxCbG9jayAmJiAhbmV4dFNjcm9sbEJsb2NrLT5pc1Jl
bmRlclZpZXcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAppbmRleCA0YTVjZDIzLi43NWNkOWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC00MzYsMjggKzQzNiw2IEBAIFJlbmRlclJlZ2lv
biogUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uQXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gq
IGNsYW1wQm94LCBMCiAgICAgcmV0dXJuIHJlZ2lvbiA/IGNsYW1wQm94LT5jbGFtcFRvU3RhcnRB
bmRFbmRSZWdpb25zKHJlZ2lvbikgOiAwOwogfQogCi1SZW5kZXJSZWdpb24qIFJlbmRlckZsb3dU
aHJlYWQ6OnJlZ2lvbkZyb21BYnNvbHV0ZVBvaW50QW5kQm94KGNvbnN0IEludFBvaW50JiBhYnNv
bHV0ZVBvaW50LCBjb25zdCBSZW5kZXJCb3gmIGZsb3dlZEJveCkKLXsKLSAgICBSZW5kZXJSZWdp
b24qIHN0YXJ0UmVnaW9uID0gbnVsbHB0cjsKLSAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9
IG51bGxwdHI7Ci0gICAgZ2V0UmVnaW9uUmFuZ2VGb3JCb3goJmZsb3dlZEJveCwgc3RhcnRSZWdp
b24sIGVuZFJlZ2lvbik7Ci0KLSAgICBpZiAoIXN0YXJ0UmVnaW9uKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLQotICAgIGZvciAoYXV0byBpdGVyID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRS
ZWdpb24pLCBlbmQgPSBtX3JlZ2lvbkxpc3QuZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsK
LSAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAqaXRlcjsKLSAgICAgICAgSW50UmVjdCBy
ZWdpb25BYnNvbHV0ZVJlY3Qocm91bmRlZEludFBvaW50KHJlZ2lvbi0+bG9jYWxUb0Fic29sdXRl
KCkpLCByb3VuZGVkSW50U2l6ZShyZWdpb24tPmZyYW1lUmVjdCgpLnNpemUoKSkpOwotICAgICAg
ICBpZiAocmVnaW9uQWJzb2x1dGVSZWN0LmNvbnRhaW5zKGFic29sdXRlUG9pbnQpKQotICAgICAg
ICAgICAgcmV0dXJuIHJlZ2lvbjsKLQotICAgICAgICBpZiAocmVnaW9uID09IGVuZFJlZ2lvbikK
LSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiBudWxscHRyOwotfQotCiBM
YXlvdXRQb2ludCBSZW5kZXJGbG93VGhyZWFkOjphZGp1c3RlZFBvc2l0aW9uUmVsYXRpdmVUb09m
ZnNldFBhcmVudChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYgYm94TW9kZWxPYmplY3QsIGNv
bnN0IExheW91dFBvaW50JiBzdGFydFBvaW50KQogewogICAgIExheW91dFBvaW50IHJlZmVyZW5j
ZVBvaW50ID0gc3RhcnRQb2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxv
d1RocmVhZC5oCmluZGV4IDIzZDBmMjUuLjgyM2FjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtMTA0LDggKzEwNCw2IEBAIHB1YmxpYzoKIAog
ICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uQXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqLCBM
YXlvdXRVbml0LCBib29sIGV4dGVuZExhc3RSZWdpb24gPSBmYWxzZSwgUmVnaW9uQXV0b0dlbmVy
YXRpb25Qb2xpY3kgPSBBbGxvd1JlZ2lvbkF1dG9HZW5lcmF0aW9uKTsKIAotICAgIFJlbmRlclJl
Z2lvbiogcmVnaW9uRnJvbUFic29sdXRlUG9pbnRBbmRCb3goY29uc3QgSW50UG9pbnQmLCBjb25z
dCBSZW5kZXJCb3gmIGZsb3dlZEJveCk7Ci0KICAgICBib29sIHJlZ2lvbnNIYXZlVW5pZm9ybUxv
Z2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdp
ZHRoOyB9CiAgICAgYm9vbCByZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWdpb25zSGF2ZVVuaWZvcm1Mb2dpY2FsSGVpZ2h0OyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwCmlu
ZGV4IDM1NWM1NTIuLjAxODQ4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcApAQCAtMjUyLDYgKzI1MiwxNCBAQCBib29s
IFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpzaG91bGRDbGlwRmxvd1RocmVhZENvbnRlbnQoKSBj
b25zdAogICAgIAogICAgIHJldHVybiBpc0xhc3RSZWdpb24oKSAmJiAoc3R5bGUoKS5yZWdpb25G
cmFnbWVudCgpID09IEJyZWFrUmVnaW9uRnJhZ21lbnQpOwogfQorICAgIAorTGF5b3V0U2l6ZSBS
ZW5kZXJOYW1lZEZsb3dGcmFnbWVudDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3Qq
IG8sIGNvbnN0IExheW91dFBvaW50JiwgYm9vbCopIGNvbnN0Cit7CisgICAgQVNTRVJUKCZmcmFn
bWVudENvbnRhaW5lcigpID09IG8pOworICAgIEFTU0VSVChjb250YWluZXIoKSA9PSBvKTsKKyAg
ICBVTlVTRURfUEFSQU0obyk7CisgICAgcmV0dXJuIHRvcExlZnRMb2NhdGlvbk9mZnNldCgpOwor
fQogCiB2b2lkIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpsYXlvdXRCbG9jayhib29sIHJlbGF5
b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oCmluZGV4IGIxZWM5ZDQuLjc2OWNiYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVu
dC5oCkBAIC02OCw2ICs2OCw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJMYXllciYgZnJhZ21lbnRD
b250YWluZXJMYXllcigpIGNvbnN0OwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDbGlw
Rmxvd1RocmVhZENvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICAKKyAgICB2aXJ0dWFsIExh
eW91dFNpemUgb2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRQ
b2ludCYsIGJvb2wqIG9mZnNldERlcGVuZHNPblBvaW50ID0gMCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICBib29sIGlzUHNldWRvRWxlbWVudFJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIHBhcmVudCgp
ICYmIHBhcmVudCgpLT5pc1BzZXVkb0VsZW1lbnQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDZkYjQ3NGIuLjFk
ZDFmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dUaHJlYWQuY3BwCkBAIC0zNjYsNiArMzY2LDI5IEBAIExheW91dFJlY3QgUmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpkZWNvcmF0aW9uc0NsaXBSZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFnbWVudChj
CiAgICAgcmV0dXJuIHZpc3VhbE92ZXJmbG93UmVjdDsKIH0KIAorUmVuZGVyTmFtZWRGbG93RnJh
Z21lbnQqIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZnJhZ21lbnRGcm9tQWJzb2x1dGVQb2ludEFu
ZEJveChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCwgY29uc3QgUmVuZGVyQm94JiBmbG93
ZWRCb3gpCit7CisgICAgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IG51bGxwdHI7CisgICAg
UmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSBudWxscHRyOworICAgIGdldFJlZ2lvblJhbmdlRm9y
Qm94KCZmbG93ZWRCb3gsIHN0YXJ0UmVnaW9uLCBlbmRSZWdpb24pOworICAgIAorICAgIGlmICgh
c3RhcnRSZWdpb24pCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIAorICAgIGZvciAoYXV0
byBpdGVyID0gbV9yZWdpb25MaXN0LmZpbmQoc3RhcnRSZWdpb24pLCBlbmQgPSBtX3JlZ2lvbkxp
c3QuZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgUmVuZGVyTmFtZWRGbG93
RnJhZ21lbnQqIGZyYWdtZW50ID0gdG9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudCgqaXRlcik7Cisg
ICAgICAgIFJlbmRlckJsb2NrRmxvdyYgZnJhZ21lbnRDb250YWluZXIgPSBmcmFnbWVudC0+ZnJh
Z21lbnRDb250YWluZXIoKTsKKyAgICAgICAgSW50UmVjdCBmcmFnbWVudEFic29sdXRlUmVjdChy
b3VuZGVkSW50UG9pbnQoZnJhZ21lbnRDb250YWluZXIubG9jYWxUb0Fic29sdXRlKCkpLCByb3Vu
ZGVkSW50U2l6ZShmcmFnbWVudENvbnRhaW5lci5wYWRkaW5nQm94UmVjdCgpLnNpemUoKSkpOwor
ICAgICAgICBpZiAoZnJhZ21lbnRBYnNvbHV0ZVJlY3QuY29udGFpbnMoYWJzb2x1dGVQb2ludCkp
CisgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnQ7CisgICAgICAgIAorICAgICAgICBpZiAoZnJh
Z21lbnQgPT0gZW5kUmVnaW9uKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAg
IHJldHVybiBudWxscHRyOworfQorCiB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6Y29tcHV0
ZU92ZXJmbG93KExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFZGdlLCBib29sIHJlY29tcHV0ZUZs
b2F0cykKIHsKICAgICBSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3cob2xkQ2xpZW50
QWZ0ZXJFZGdlLCByZWNvbXB1dGVGbG9hdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCmluZGV4IDVhZDBmYWEuLmJlYzcxMTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKQEAg
LTcwLDYgKzcwLDggQEAgcHVibGljOgogCiAgICAgTGF5b3V0UmVjdCBkZWNvcmF0aW9uc0NsaXBS
ZWN0Rm9yQm94SW5OYW1lZEZsb3dGcmFnbWVudChjb25zdCBSZW5kZXJCb3gmLCBSZW5kZXJOYW1l
ZEZsb3dGcmFnbWVudCYpIGNvbnN0OwogCisgICAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIGZy
YWdtZW50RnJvbUFic29sdXRlUG9pbnRBbmRCb3goY29uc3QgSW50UG9pbnQmLCBjb25zdCBSZW5k
ZXJCb3gmIGZsb3dlZEJveCk7CisKICAgICB2b2lkIHJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVs
ZW1lbnQoRWxlbWVudCYpOwogICAgIHZvaWQgdW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVt
ZW50KEVsZW1lbnQmKTsKICAgICBjb25zdCBOYW1lZEZsb3dDb250ZW50RWxlbWVudHMmIGNvbnRl
bnRFbGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudEVsZW1lbnRzOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>