<?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>164350</bug_id>
          
          <creation_ts>2016-11-02 16:52:40 -0700</creation_ts>
          <short_desc>REGRESSION (r208025) GraphicsContext state stack assertions loading webkit.org</short_desc>
          <delta_ts>2016-11-02 19:47:28 -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>New Bugs</component>
          <version>WebKit 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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1247569</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-02 16:52:40 -0700</bug_when>
    <thetext>REGRESSION (r208025) GraphicsContext state stack assertions loading webkit.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247574</commentid>
    <comment_count>1</comment_count>
      <attachid>293719</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-02 16:58:57 -0700</bug_when>
    <thetext>Created attachment 293719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247580</commentid>
    <comment_count>2</comment_count>
      <attachid>293719</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-11-02 17:03:57 -0700</bug_when>
    <thetext>Comment on attachment 293719
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        This confused the RenderLayer paintWithTransparency code, triggering mismsatched GrpahicsContext

typo graphics

&gt; Source/WebCore/ChangeLog:17
&gt; +        Rather than depend on the super confusing animation state, use a bool out param from animate() to say

Nit: super-confusing :)

&gt; Source/WebCore/ChangeLog:26
&gt; +        (WebCore::CSSPropertyAnimation::blendProperties): Log after blending so the log shows the blended style.

Haha.

&gt; Source/WebCore/page/animation/CompositeAnimation.cpp:336
&gt; -            bool runningOrFillingForwards = !keyframeAnim-&gt;waitingToStart() &amp;&amp; !keyframeAnim-&gt;postActive();
&gt; -            forceStackingContext |= runningOrFillingForwards &amp;&amp; keyframeAnim-&gt;triggersStackingContext();
&gt; +            forceStackingContext |= didBlendStyle &amp;&amp; keyframeAnim-&gt;triggersStackingContext();

Are you sure that didBlendStyle covers !keyframeAnim-&gt;waitingToStart() &amp;&amp; !keyframeAnim-&gt;postActive()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247583</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-02 17:06:59 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; &gt; Source/WebCore/page/animation/CompositeAnimation.cpp:336
&gt; &gt; -            bool runningOrFillingForwards = !keyframeAnim-&gt;waitingToStart() &amp;&amp; !keyframeAnim-&gt;postActive();
&gt; &gt; -            forceStackingContext |= runningOrFillingForwards &amp;&amp; keyframeAnim-&gt;triggersStackingContext();
&gt; &gt; +            forceStackingContext |= didBlendStyle &amp;&amp; keyframeAnim-&gt;triggersStackingContext();
&gt; 
&gt; Are you sure that didBlendStyle covers !keyframeAnim-&gt;waitingToStart() &amp;&amp;
&gt; !keyframeAnim-&gt;postActive()?

Yes, because animate() only sets it to true when it produces new style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247588</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-02 17:23:19 -0700</bug_when>
    <thetext>https://trac.webkit.org/r208314</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247628</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-02 19:47:28 -0700</bug_when>
    <thetext>Followup to fix reflections asserting in https://trac.webkit.org/r208319</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293719</attachid>
            <date>2016-11-02 16:58:57 -0700</date>
            <delta_ts>2016-11-02 17:03:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164350-20161102165458.patch</filename>
            <type>text/plain</type>
            <size>18252</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdhZThkMjE1YzI5ODY2
ZmMwNDhhYzUxYzBkNGE1MmM2OWU0OTczOC4uZDMxNTlkOGJiMTZiZmRjZjIzNTBhZGQ1MjhiYWQ2
ZGY5ZWMxMTM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE2LTExLTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyMDgwMjUpIEdyYXBoaWNzQ29udGV4dCBzdGF0ZSBzdGFjayBhc3NlcnRpb25zIGxvYWRpbmcg
d2Via2l0Lm9yZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY0MzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWZ0ZXIgcjIwODAyNSBpdCBhcyBwb3NzaWJsZSBmb3IgS2V5ZnJhbWVBbmltYXRpb246OmFu
aW1hdGUoKSB0byBwcm9kdWNlIGEgUmVuZGVyU3R5bGUKKyAgICAgICAgd2l0aCBhIG5vbi0xIG9w
YWNpdHksIGJ1dCB3aXRob3V0IHRoZSBleHBsaWNpdCB6LWluZGV4IHRoYXQgdHJpZ2dlcnMgc3Rh
Y2tpbmcgY29udGV4dC4KKyAgICAgICAgVGhpcyBjb25mdXNlZCB0aGUgUmVuZGVyTGF5ZXIgcGFp
bnRXaXRoVHJhbnNwYXJlbmN5IGNvZGUsIHRyaWdnZXJpbmcgbWlzbXNhdGNoZWQgR3JwYWhpY3ND
b250ZXh0CisgICAgICAgIHNhdmUvcmVzdG9yZXMuCisKKyAgICAgICAgVGhpcyBvY2N1cnJlZCB3
aGVuIHRoZSBydW5uaW5nT3JGaWxsaW5nRm9yd2FyZHMgc3RhdGUgd2FzIG1pcy1jb21wdXRlZC4g
a2V5ZnJhbWVBbmltLT5hbmltYXRlKCkKKyAgICAgICAgY2FuIHNwaXQgb3V0IGEgbmV3IHN0eWxl
IHdoZW4gaW4gdGhlIFN0YXJ0V2FpdFRpbWVyIHNvbWV0aW1lcywgc28gIiFrZXlmcmFtZUFuaW0t
PndhaXRpbmdUb1N0YXJ0KCkgJiYgIWtleWZyYW1lQW5pbS0+cG9zdEFjdGl2ZSgpIgorICAgICAg
ICBnYXZlIHRoZSB3cm9uZyBhbnN3c2VyLgorCisgICAgICAgIFJhdGhlciB0aGFuIGRlcGVuZCBv
biB0aGUgc3VwZXIgY29uZnVzaW5nIGFuaW1hdGlvbiBzdGF0ZSwgdXNlIGEgYm9vbCBvdXQgcGFy
YW0gZnJvbSBhbmltYXRlKCkgdG8gc2F5CisgICAgICAgIHdoZW4gaXQgYWN0dWFsbHkgcHJvZHVj
ZWQgYSBuZXcgc3R5bGUsIGFuZCB3aGVuIHRydWUsIGRvIHRoZSBzZXRaSW5kZXgoMCkuCisgICAg
ICAgIAorICAgICAgICBUZXN0IHdhcyByZWR1Y2VkIGZyb20gd2Via2l0Lm9yZy4KKworICAgICAg
ICBUZXN0OiBhbmltYXRpb25zL3N0YWNraW5nLWR1cmluZy1vcGFjaXR5LWFuaW1hdGlvbi5odG1s
CisKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6CisgICAgICAgICog
cGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyk6IExvZyBhZnRlciBibGVu
ZGluZyBzbyB0aGUgbG9nIHNob3dzIHRoZSBibGVuZGVkIHN0eWxlLgorICAgICAgICAqIHBhZ2Uv
YW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21w
b3NpdGVBbmltYXRpb246OmFuaW1hdGUpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxp
Y2l0QW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjph
bmltYXRlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oOgor
ICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OktleWZyYW1lQW5pbWF0aW9uOjphbmltYXRlKToKKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6
OnJlc3RvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3Jt
Q0FMYXllckNvY29hLm1tOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyOjpkcmF3TGF5ZXJDb250
ZW50cyk6IE5vIGZ1bmN0aW9uYWwgY2hhbmdlLCBidXQgY3JlYXRlZCBzY29wZSBmb3IgdGhlCisg
ICAgICAgIEdyYXBoaWNzQ29udGV4dCBzbyB0aGF0IGl0IGRpZG4ndCBvdXRsaXZlIHRoZSBDR0Nv
bnRleHRSZXN0b3JlR1N0YXRlKGNvbnRleHQpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6YmVnaW5UcmFuc3BhcmVu
Y3lMYXllcnMpOiBOZXcgYXNzZXJ0aW9uIHRoYXQgY2F0Y2hlcyB0aGUgcHJvYmxlbSBlYXJsaWVy
LgorCiAyMDE2LTEwLTMxICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW5hbWUgVmlld1N0YXRlIHRvIEFjdGl2aXR5U3RhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaAppbmRleCBhNzRmMDFlMzRh
OTkzZTRiMzdhNGU1YTM1ZjE3NGMyM2Q4ZDdlOTU1Li5kNzA5NTMxYjcwYjdlOGFmYmVjNTg5MzIx
NzMyMDZhODUwYzM1NjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQmFzZS5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHVibGljOgogICAgIGRvdWJsZSBwcm9n
cmVzcyhkb3VibGUgc2NhbGUgPSAxLCBkb3VibGUgb2Zmc2V0ID0gMCwgY29uc3QgVGltaW5nRnVu
Y3Rpb24qID0gbnVsbHB0cikgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIGFu
aW1hdGlvbiBzdGF0ZSBjaGFuZ2VkLgotICAgIHZpcnR1YWwgYm9vbCBhbmltYXRlKENvbXBvc2l0
ZUFuaW1hdGlvbiosIFJlbmRlckVsZW1lbnQqLCBjb25zdCBSZW5kZXJTdHlsZSogLypjdXJyZW50
U3R5bGUqLywgY29uc3QgUmVuZGVyU3R5bGUqIC8qdGFyZ2V0U3R5bGUqLywgc3RkOjp1bmlxdWVf
cHRyPFJlbmRlclN0eWxlPiYgLyphbmltYXRlZFN0eWxlKi8pID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgYW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJFbGVtZW50KiwgY29uc3QgUmVu
ZGVyU3R5bGUqIC8qY3VycmVudFN0eWxlKi8sIGNvbnN0IFJlbmRlclN0eWxlKiAvKnRhcmdldFN0
eWxlKi8sIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIC8qYW5pbWF0ZWRTdHlsZSovLCBi
b29sJiBkaWRCbGVuZFN0eWxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGdldEFuaW1hdGVkU3R5
bGUoc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiYgLyphbmltYXRlZFN0eWxlKi8pID0gMDsK
IAogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlRXh0ZW50T2ZUcmFuc2Zvcm1BbmltYXRpb24oTGF5
b3V0UmVjdCYpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAppbmRleCAxZmRhMjk4ODE2OGZiODQyNjM5
YmQ4NWFlY2I3ZGVkMmU0NjNkYTEzLi4yYjlkZjQ2ZGZiMDAyNmE5NWIwYWIxYmYzOGIwNmU3MTI3
NGFmNjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9w
ZXJ0eUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NT
UHJvcGVydHlBbmltYXRpb24uY3BwCkBAIC0xNTc2LDEwICsxNTc2LDEwIEBAIGJvb2wgQ1NTUHJv
cGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmlt
LCBDU1NQcm9wZXJ0CiAKICAgICBBbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFwcGVy
ID0gQ1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVyTWFwOjpzaW5nbGV0b24oKS53cmFwcGVyRm9y
UHJvcGVydHkocHJvcCk7CiAgICAgaWYgKHdyYXBwZXIpIHsKKyAgICAgICAgd3JhcHBlci0+Ymxl
bmQoYW5pbSwgZHN0LCBhLCBiLCBwcm9ncmVzcyk7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgICAg
ICB3cmFwcGVyLT5sb2dCbGVuZChhLCBiLCBkc3QsIHByb2dyZXNzKTsKICNlbmRpZgotICAgICAg
ICB3cmFwcGVyLT5ibGVuZChhbmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKICAgICAgICAgcmV0
dXJuICF3cmFwcGVyLT5hbmltYXRpb25Jc0FjY2VsZXJhdGVkKCkgfHwgIWFuaW0tPmlzQWNjZWxl
cmF0ZWQoKTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHAKaW5kZXggYjIwM2QzYzEz
MWJmMTJjYmE4YTJmYTllMTc1ZWE2MTUzYjkyNDM3My4uN2MwZmVhNTEzMmVhNGJhMThlYTFiNDky
YzcyYTVjZDc0YTJlMmNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3BwCkBAIC0yOTksMTAgKzI5OSwxMiBAQCBib29sIENv
bXBvc2l0ZUFuaW1hdGlvbjo6YW5pbWF0ZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3Qg
UmVuZGVyU3R5bGUqIGN1cgogICAgICAgICAvLyB0byBmaWxsIGluIGEgUmVuZGVyU3R5bGUqJiBv
bmx5IGlmIG5lZWRlZC4KICAgICAgICAgYm9vbCBjaGVja0ZvclN0YWNraW5nQ29udGV4dCA9IGZh
bHNlOwogICAgICAgICBmb3IgKGF1dG8mIHRyYW5zaXRpb24gOiBtX3RyYW5zaXRpb25zLnZhbHVl
cygpKSB7Ci0gICAgICAgICAgICBpZiAodHJhbnNpdGlvbi0+YW5pbWF0ZSh0aGlzLCAmcmVuZGVy
ZXIsIGN1cnJlbnRTdHlsZSwgJnRhcmdldFN0eWxlLCBibGVuZGVkU3R5bGUpKQorICAgICAgICAg
ICAgYm9vbCBkaWRCbGVuZFN0eWxlID0gZmFsc2U7CisgICAgICAgICAgICBpZiAodHJhbnNpdGlv
bi0+YW5pbWF0ZSh0aGlzLCAmcmVuZGVyZXIsIGN1cnJlbnRTdHlsZSwgJnRhcmdldFN0eWxlLCBi
bGVuZGVkU3R5bGUsIGRpZEJsZW5kU3R5bGUpKQogICAgICAgICAgICAgICAgIGFuaW1hdGlvblN0
YXRlQ2hhbmdlZCA9IHRydWU7CiAKLSAgICAgICAgICAgIGNoZWNrRm9yU3RhY2tpbmdDb250ZXh0
IHw9IFdpbGxDaGFuZ2VEYXRhOjpwcm9wZXJ0eUNyZWF0ZXNTdGFja2luZ0NvbnRleHQodHJhbnNp
dGlvbi0+YW5pbWF0aW5nUHJvcGVydHkoKSk7CisgICAgICAgICAgICBpZiAoZGlkQmxlbmRTdHls
ZSkKKyAgICAgICAgICAgICAgICBjaGVja0ZvclN0YWNraW5nQ29udGV4dCB8PSBXaWxsQ2hhbmdl
RGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KHRyYW5zaXRpb24tPmFuaW1hdGlu
Z1Byb3BlcnR5KCkpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGJsZW5kZWRTdHlsZSAmJiBj
aGVja0ZvclN0YWNraW5nQ29udGV4dCkgewpAQCAtMzI3LDExICszMjksMTEgQEAgYm9vbCBDb21w
b3NpdGVBbmltYXRpb246OmFuaW1hdGUoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IFJl
bmRlclN0eWxlKiBjdXIKICAgICBmb3IgKGF1dG8mIG5hbWUgOiBtX2tleWZyYW1lQW5pbWF0aW9u
T3JkZXJNYXApIHsKICAgICAgICAgUmVmUHRyPEtleWZyYW1lQW5pbWF0aW9uPiBrZXlmcmFtZUFu
aW0gPSBtX2tleWZyYW1lQW5pbWF0aW9ucy5nZXQobmFtZSk7CiAgICAgICAgIGlmIChrZXlmcmFt
ZUFuaW0pIHsKLSAgICAgICAgICAgIGlmIChrZXlmcmFtZUFuaW0tPmFuaW1hdGUodGhpcywgJnJl
bmRlcmVyLCBjdXJyZW50U3R5bGUsICZ0YXJnZXRTdHlsZSwgYmxlbmRlZFN0eWxlKSkKKyAgICAg
ICAgICAgIGJvb2wgZGlkQmxlbmRTdHlsZSA9IGZhbHNlOworICAgICAgICAgICAgaWYgKGtleWZy
YW1lQW5pbS0+YW5pbWF0ZSh0aGlzLCAmcmVuZGVyZXIsIGN1cnJlbnRTdHlsZSwgJnRhcmdldFN0
eWxlLCBibGVuZGVkU3R5bGUsIGRpZEJsZW5kU3R5bGUpKQogICAgICAgICAgICAgICAgIGFuaW1h
dGlvblN0YXRlQ2hhbmdlZCA9IHRydWU7CiAKLSAgICAgICAgICAgIGJvb2wgcnVubmluZ09yRmls
bGluZ0ZvcndhcmRzID0gIWtleWZyYW1lQW5pbS0+d2FpdGluZ1RvU3RhcnQoKSAmJiAha2V5ZnJh
bWVBbmltLT5wb3N0QWN0aXZlKCk7Ci0gICAgICAgICAgICBmb3JjZVN0YWNraW5nQ29udGV4dCB8
PSBydW5uaW5nT3JGaWxsaW5nRm9yd2FyZHMgJiYga2V5ZnJhbWVBbmltLT50cmlnZ2Vyc1N0YWNr
aW5nQ29udGV4dCgpOworICAgICAgICAgICAgZm9yY2VTdGFja2luZ0NvbnRleHQgfD0gZGlkQmxl
bmRTdHlsZSAmJiBrZXlmcmFtZUFuaW0tPnRyaWdnZXJzU3RhY2tpbmdDb250ZXh0KCk7CiAgICAg
ICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0lt
cGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCAxNmJkN2Q0MjNlMjI3MjRhYWQ3MDQ2OTA2NTFkZWY5
YjdiZmQ0Njk2Li43MTZiZWE4MjQ5MDQ5MmM0M2JjZTE3NzQ5ZDFmZmI1MjEyN2NjY2ZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24u
Y3BwCkBAIC02MSw3ICs2MSw3IEBAIGJvb2wgSW1wbGljaXRBbmltYXRpb246OnNob3VsZFNlbmRF
dmVudEZvckxpc3RlbmVyKERvY3VtZW50OjpMaXN0ZW5lclR5cGUgaW5MaXN0CiAgICAgcmV0dXJu
IG1fb2JqZWN0LT5kb2N1bWVudCgpLmhhc0xpc3RlbmVyVHlwZShpbkxpc3RlbmVyVHlwZSk7CiB9
CiAKLWJvb2wgSW1wbGljaXRBbmltYXRpb246OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uKiwg
UmVuZGVyRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyU3R5bGUqIHRh
cmdldFN0eWxlLCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0eWxlKQor
Ym9vbCBJbXBsaWNpdEFuaW1hdGlvbjo6YW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5k
ZXJFbGVtZW50KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0
U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUsIGJvb2wm
IGRpZEJsZW5kU3R5bGUpCiB7CiAgICAgLy8gSWYgd2UgZ2V0IHRoaXMgZmFyIGFuZCB0aGUgYW5p
bWF0aW9uIGlzIGRvbmUsIGl0IG1lYW5zIHdlIGFyZSBjbGVhbmluZyB1cCBhIGp1c3QgZmluaXNo
ZWQgYW5pbWF0aW9uLgogICAgIC8vIFNvIGp1c3QgcmV0dXJuLiBFdmVyeXRoaW5nIGlzIGFscmVh
ZHkgYWxsIGNsZWFuZWQgdXAuCkBAIC04NSw2ICs4NSw4IEBAIGJvb2wgSW1wbGljaXRBbmltYXRp
b246OmFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uKiwgUmVuZGVyRWxlbWVudCosIGNvbnN0IFJl
bmRlCiAKICAgICAvLyBGaXJlIHRoZSBzdGFydCB0aW1lb3V0IGlmIG5lZWRlZAogICAgIGZpcmVB
bmltYXRpb25FdmVudHNJZk5lZWRlZCgpOworICAgIAorICAgIGRpZEJsZW5kU3R5bGUgPSB0cnVl
OwogICAgIHJldHVybiBzdGF0ZSgpICE9IG9sZFN0YXRlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaAppbmRleCA3ZjM4ZDhkMGNh
ZThkMmRkM2U3ZTc2YjNjZGQ5YzllNTQ5NDgzOTEyLi42OGM0MDdhNTkzZTlkNGI1NzVmOTNkYTZk
YWNhMThkZmE4YWEyMTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9JbXBsaWNpdEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0ltcGxpY2l0QW5pbWF0aW9uLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQg
cGF1c2VBbmltYXRpb24oZG91YmxlIHRpbWVPZmZzZXQpIG92ZXJyaWRlOwogICAgIHZvaWQgZW5k
QW5pbWF0aW9uKCkgb3ZlcnJpZGU7CiAKLSAgICBib29sIGFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0
aW9uKiwgUmVuZGVyRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIGNv
bnN0IFJlbmRlclN0eWxlKiB0YXJnZXRTdHlsZSwgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxl
PiYgYW5pbWF0ZWRTdHlsZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBhbmltYXRlKENvbXBvc2l0ZUFu
aW1hdGlvbiosIFJlbmRlckVsZW1lbnQqLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxl
LCBjb25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJT
dHlsZT4mIGFuaW1hdGVkU3R5bGUsIGJvb2wmIGRpZEJsZW5kU3R5bGUpIG92ZXJyaWRlOwogICAg
IHZvaWQgZ2V0QW5pbWF0ZWRTdHlsZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmlt
YXRlZFN0eWxlKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc2V0KGNvbnN0IFJlbmRlclN0eWxlKiB0
byk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1l
QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5p
bWF0aW9uLmNwcAppbmRleCBlYzc4YmU3ZjFjOGI2OWJiODY3OTdmOGYxNGM0MmIzOWY1YWM1M2Fi
Li5kMzE0YzNiMzdjMDc0M2NmYzM1OWU1NTA4ZjY5NzQ1Yzc0OGZmYTQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCkBAIC0x
MjQsNyArMTI0LDcgQEAgdm9pZCBLZXlmcmFtZUFuaW1hdGlvbjo6ZmV0Y2hJbnRlcnZhbEVuZHBv
aW50c0ZvclByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHkKICAgICBwcm9nID0gcHJvZ3Jl
c3Moc2NhbGUsIG9mZnNldCwgcHJldktleWZyYW1lLnRpbWluZ0Z1bmN0aW9uKG5hbWUoKSkpOwog
fQogCi1ib29sIEtleWZyYW1lQW5pbWF0aW9uOjphbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiog
Y29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJFbGVtZW50KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBj
b25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUsIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHls
ZT4mIGFuaW1hdGVkU3R5bGUpCitib29sIEtleWZyYW1lQW5pbWF0aW9uOjphbmltYXRlKENvbXBv
c2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJFbGVtZW50KiwgY29uc3Qg
UmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUsIHN0ZDo6dW5pcXVl
X3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUsIGJvb2wmIGRpZEJsZW5kU3R5bGUpCiB7
CiAgICAgLy8gRmlyZSB0aGUgc3RhcnQgdGltZW91dCBpZiBuZWVkZWQKICAgICBmaXJlQW5pbWF0
aW9uRXZlbnRzSWZOZWVkZWQoKTsKQEAgLTE3OSw2ICsxNzksNyBAQCBib29sIEtleWZyYW1lQW5p
bWF0aW9uOjphbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBS
ZW5kZXJFbAogICAgICAgICBDU1NQcm9wZXJ0eUFuaW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzKHRo
aXMsIHByb3BlcnR5SUQsIGFuaW1hdGVkU3R5bGUuZ2V0KCksIGZyb21TdHlsZSwgdG9TdHlsZSwg
cHJvZ3Jlc3MpOwogICAgIH0KICAgICAKKyAgICBkaWRCbGVuZFN0eWxlID0gdHJ1ZTsKICAgICBy
ZXR1cm4gc3RhdGUoKSAhPSBvbGRTdGF0ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKaW5kZXggNDk5YzAyN2RjNzU1NjY5YmQ2
YTAzZjAzYzI1YWE0YWNkNzU3NjA0ZS4uZjQ4NjMxMWE4ZjdlZWNjMGJjOGVjOGE0NzUzMDE4Mzg5
M2NiMGVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJh
bWVBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFt
ZUFuaW1hdGlvbi5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCByZW5kZXJlciwgY29tcG9z
aXRlQW5pbWF0aW9uLCB1bmFuaW1hdGVkU3R5bGUpKTsKICAgICB9CiAKLSAgICBib29sIGFuaW1h
dGUoQ29tcG9zaXRlQW5pbWF0aW9uKiwgUmVuZGVyRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxl
KiBjdXJyZW50U3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB0YXJnZXRTdHlsZSwgc3RkOjp1bmlx
dWVfcHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBh
bmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiosIFJlbmRlckVsZW1lbnQqLCBjb25zdCBSZW5kZXJT
dHlsZSogY3VycmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogdGFyZ2V0U3R5bGUsIHN0ZDo6
dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUsIGJvb2wmIGRpZEJsZW5kU3R5
bGUpIG92ZXJyaWRlOwogICAgIHZvaWQgZ2V0QW5pbWF0ZWRTdHlsZShzdGQ6OnVuaXF1ZV9wdHI8
UmVuZGVyU3R5bGU+Jikgb3ZlcnJpZGU7CiAKICAgICBib29sIGNvbXB1dGVFeHRlbnRPZlRyYW5z
Zm9ybUFuaW1hdGlvbihMYXlvdXRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCA4
OGI3ZjViOTE1ZTQ3YzU4MWE3MjhkNjVlZDMzMGIxN2ZlNTgxZDM5Li4yMDk5YTFkZmJkNTg5OThl
MWUxMjczMDcyYzkwZDVmOTg0OWMzYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKQEAgLTM2Nyw2ICszNjcsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6cmVzdG9yZSgpCiAgICAgICAgIExPR19FUlJPUigiRVJST1Ig
dm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlc3RvcmUoKSBzdGFjayBpcyBlbXB0eSIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorCiAgICAgbV9zdGF0ZSA9IG1fc3RhY2subGFzdCgpOwogICAgIG1f
c3RhY2sucmVtb3ZlTGFzdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCmlu
ZGV4IDdjNzhlNDQwNjkwYjBmMzU5ZmJmNDkyMWQ2OWE5OTY1ODJmMDExZDcuLmEzMWY2NWJkZDVm
MjUwN2I4MzM2Y2EyZDhlMWE0YTBjOWU2ODZjZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXll
ckNvY29hLm1tCkBAIC0xMDY3LDQ2ICsxMDY3LDQ4IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyOjpk
cmF3TGF5ZXJDb250ZW50cyhDR0NvbnRleHRSZWYgY29udGV4dCwgV2ViQ29yZTo6UGxhdGZvcm1D
CiAgICAgW05TR3JhcGhpY3NDb250ZXh0IHNldEN1cnJlbnRDb250ZXh0OmxheWVyQ29udGV4dF07
CiAjZW5kaWYKICAgICAKLSAgICBHcmFwaGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0KGNvbnRl
eHQpOwotICAgIGdyYXBoaWNzQ29udGV4dC5zZXRJc0NBTGF5ZXJDb250ZXh0KHRydWUpOwotICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRJc0FjY2VsZXJhdGVkQ29udGV4dChwbGF0Zm9ybUNBTGF5ZXIt
PmFjY2VsZXJhdGVzRHJhd2luZygpKTsKLSAgICAKLSAgICBpZiAoIWxheWVyQ29udGVudHMtPnBs
YXRmb3JtQ0FMYXllckNvbnRlbnRzT3BhcXVlKCkpIHsKLSAgICAgICAgLy8gVHVybiBvZmYgZm9u
dCBzbW9vdGhpbmcgdG8gaW1wcm92ZSB0aGUgYXBwZWFyYW5jZSBvZiB0ZXh0IHJlbmRlcmVkIG9u
dG8gYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLgotICAgICAgICBncmFwaGljc0NvbnRleHQuc2V0
U2hvdWxkU21vb3RoRm9udHMoZmFsc2UpOwotICAgIH0KLSAgICAKKyAgICB7CisgICAgICAgIEdy
YXBoaWNzQ29udGV4dCBncmFwaGljc0NvbnRleHQoY29udGV4dCk7CisgICAgICAgIGdyYXBoaWNz
Q29udGV4dC5zZXRJc0NBTGF5ZXJDb250ZXh0KHRydWUpOworICAgICAgICBncmFwaGljc0NvbnRl
eHQuc2V0SXNBY2NlbGVyYXRlZENvbnRleHQocGxhdGZvcm1DQUxheWVyLT5hY2NlbGVyYXRlc0Ry
YXdpbmcoKSk7CisgICAgICAgIAorICAgICAgICBpZiAoIWxheWVyQ29udGVudHMtPnBsYXRmb3Jt
Q0FMYXllckNvbnRlbnRzT3BhcXVlKCkpIHsKKyAgICAgICAgICAgIC8vIFR1cm4gb2ZmIGZvbnQg
c21vb3RoaW5nIHRvIGltcHJvdmUgdGhlIGFwcGVhcmFuY2Ugb2YgdGV4dCByZW5kZXJlZCBvbnRv
IGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4KKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRTaG91bGRTbW9vdGhGb250cyhmYWxzZSk7CisgICAgICAgIH0KKyAgICAgICAgCiAjaWYgUExB
VEZPUk0oTUFDKQotICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIGdldCB0aGUgY2xpcCBmcm9tIHRo
ZSBjb250ZXh0LCBiZWNhdXNlIGl0IG1heSBiZSBzaWduaWZpY2FudGx5Ci0gICAgLy8gc21hbGxl
ciB0aGFuIHRoZSBsYXllciBib3VuZHMgKGUuZy4gdGlsZWQgbGF5ZXJzKQotICAgIFRoZW1lTWFj
OjpzZXRGb2N1c1JpbmdDbGlwUmVjdChDR0NvbnRleHRHZXRDbGlwQm91bmRpbmdCb3goY29udGV4
dCkpOworICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBnZXQgdGhlIGNsaXAgZnJvbSB0aGUg
Y29udGV4dCwgYmVjYXVzZSBpdCBtYXkgYmUgc2lnbmlmaWNhbnRseQorICAgICAgICAvLyBzbWFs
bGVyIHRoYW4gdGhlIGxheWVyIGJvdW5kcyAoZS5nLiB0aWxlZCBsYXllcnMpCisgICAgICAgIFRo
ZW1lTWFjOjpzZXRGb2N1c1JpbmdDbGlwUmVjdChDR0NvbnRleHRHZXRDbGlwQm91bmRpbmdCb3go
Y29udGV4dCkpOwogI2VuZGlmCi0gICAgCi0gICAgZm9yIChjb25zdCBhdXRvJiByZWN0IDogZGly
dHlSZWN0cykgewotICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIo
Z3JhcGhpY3NDb250ZXh0KTsKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmNsaXAocmVjdCk7CiAg
ICAgICAgIAotICAgICAgICBsYXllckNvbnRlbnRzLT5wbGF0Zm9ybUNBTGF5ZXJQYWludENvbnRl
bnRzKHBsYXRmb3JtQ0FMYXllciwgZ3JhcGhpY3NDb250ZXh0LCByZWN0KTsKLSAgICB9Ci0gICAg
CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgcmVjdCA6IGRpcnR5UmVjdHMpIHsKKyAgICAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihncmFwaGljc0NvbnRleHQp
OworICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LmNsaXAocmVjdCk7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGxheWVyQ29udGVudHMtPnBsYXRmb3JtQ0FMYXllclBhaW50Q29udGVudHMo
cGxhdGZvcm1DQUxheWVyLCBncmFwaGljc0NvbnRleHQsIHJlY3QpOworICAgICAgICB9CisgICAg
ICAgIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBmb250QW50aWFsaWFzaW5nU3RhdGUucmVzdG9y
ZSgpOworICAgICAgICBmb250QW50aWFsaWFzaW5nU3RhdGUucmVzdG9yZSgpOwogI2Vsc2UKLSAg
ICBUaGVtZU1hYzo6c2V0Rm9jdXNSaW5nQ2xpcFJlY3QoRmxvYXRSZWN0KCkpOwotICAgIAotICAg
IFtOU0dyYXBoaWNzQ29udGV4dCByZXN0b3JlR3JhcGhpY3NTdGF0ZV07CisgICAgICAgIFRoZW1l
TWFjOjpzZXRGb2N1c1JpbmdDbGlwUmVjdChGbG9hdFJlY3QoKSk7CisgICAgICAgIAorICAgICAg
ICBbTlNHcmFwaGljc0NvbnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVdOwogI2VuZGlmCi0gICAg
CisgICAgfQorCisgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKKwogICAgIC8v
IFJlLWZldGNoIHRoZSBsYXllciBvd25lciwgc2luY2UgPHJkYXI6Ly9wcm9ibGVtLzkxMjUxNTE+
IGluZGljYXRlcyB0aGF0IGl0IG1pZ2h0IGhhdmUgYmVlbiBkZXN0cm95ZWQgZHVyaW5nIHBhaW50
aW5nLgogICAgIGxheWVyQ29udGVudHMgPSBwbGF0Zm9ybUNBTGF5ZXItPm93bmVyKCk7CiAgICAg
QVNTRVJUKGxheWVyQ29udGVudHMpOwogICAgIAotICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUo
Y29udGV4dCk7Ci0gICAgCiAgICAgLy8gQWx3YXlzIHVwZGF0ZSB0aGUgcmVwYWludCBjb3VudCBz
byB0aGF0IGl0J3MgYWNjdXJhdGUgZXZlbiBpZiB0aGUgY291bnQgaXRzZWxmIGlzIG5vdCBzaG93
bi4gVGhpcyB3aWxsIGJlIHVzZWZ1bAogICAgIC8vIGZvciB0aGUgV2ViIEluc3BlY3RvciBmZWVk
aW5nIHRoaXMgaW5mb3JtYXRpb24gdGhyb3VnaCB0aGUgTGF5ZXJUcmVlQWdlbnQuCiAgICAgaW50
IHJlcGFpbnRDb3VudCA9IGxheWVyQ29udGVudHMtPnBsYXRmb3JtQ0FMYXllckluY3JlbWVudFJl
cGFpbnRDb3VudChwbGF0Zm9ybUNBTGF5ZXIpOwotICAgIAorCiAgICAgaWYgKCFwbGF0Zm9ybUNB
TGF5ZXItPnVzZXNUaWxlZEJhY2tpbmdMYXllcigpICYmIGxheWVyQ29udGVudHMgJiYgbGF5ZXJD
b250ZW50cy0+cGxhdGZvcm1DQUxheWVyU2hvd1JlcGFpbnRDb3VudGVyKHBsYXRmb3JtQ0FMYXll
cikpCiAgICAgICAgIGRyYXdSZXBhaW50SW5kaWNhdG9yKGNvbnRleHQsIHBsYXRmb3JtQ0FMYXll
ciwgcmVwYWludENvdW50LCBudWxscHRyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDI1OTVjMzQzMTI0MTJkNTA4N2NiMGNjMjJjNjIwMWIwZDg5NjY0
MWEuLjAxYTJiYWIzOWRjMjlmODJjMzdlYzc0MGIxNDgwZmIwNjZlMTI4ZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTgwOSw2ICsxODA5LDcgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcnMoR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0LCBjb25zdCBMYXllclAKICAgICAgICAgYW5jZXN0b3ItPmJlZ2luVHJhbnNwYXJlbmN5
TGF5ZXJzKGNvbnRleHQsIHBhaW50aW5nSW5mbywgZGlydHlSZWN0KTsKICAgICAKICAgICBpZiAo
cGFpbnRzV2l0aFRyYW5zcGFyZW5jeShwYWludGluZ0luZm8ucGFpbnRCZWhhdmlvcikpIHsKKyAg
ICAgICAgQVNTRVJUKGlzU3RhY2tpbmdDb250ZXh0KCkpOwogICAgICAgICBtX3VzZWRUcmFuc3Bh
cmVuY3kgPSB0cnVlOwogICAgICAgICBjb250ZXh0LnNhdmUoKTsKICAgICAgICAgTGF5b3V0UmVj
dCBhZGp1c3RlZENsaXBSZWN0ID0gcGFpbnRpbmdFeHRlbnQoKnRoaXMsIHBhaW50aW5nSW5mby5y
b290TGF5ZXIsIGRpcnR5UmVjdCwgcGFpbnRpbmdJbmZvLnBhaW50QmVoYXZpb3IpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDk0ZDk0YmRjZGUwMzIyZjE4ZGI2NTg4ZTI2NDA3OTU3MmY4ZGQ1NjIuLjZjYjhlZjU4ODM4ODY3
MzZmZjAyODYwZDZlYTZjNjI3M2Q2Mjc1ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0x
MS0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyMjA4MDI1KSBHcmFwaGljc0NvbnRleHQgc3RhdGUgc3RhY2sgYXNzZXJ0aW9u
cyBsb2FkaW5nIHdlYmtpdC5vcmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2NDM1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYW5pbWF0aW9ucy9zdGFja2luZy1kdXJpbmctb3BhY2l0eS1hbmltYXRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb25zL3N0YWNraW5nLWR1
cmluZy1vcGFjaXR5LWFuaW1hdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxNi0xMS0wMSAgRGV2aW4g
Um91c3NvICA8ZGNyb3Vzc28rd2Via2l0QGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBGaXggZG91YmxlIHJlbW92ZSBvZiBSZXNvdXJjZUNvbGxlY3Rpb24gaWYgdHlwZSBjaGFu
Z2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3N0YWNraW5nLWR1cmluZy1v
cGFjaXR5LWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3N0
YWNraW5nLWR1cmluZy1vcGFjaXR5LWFuaW1hdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Yjc2OTU0MjFjNjI0MjVjOThhNGVkOThkZTdkMTZlMDIxY2FhZmY0YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvc3RhY2tpbmctZHVyaW5nLW9wYWNpdHktYW5pbWF0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3Qgc2hvdWxkIG5vdCBjcmFz
aCBvciBhc3NlcnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3N0YWNraW5n
LWR1cmluZy1vcGFjaXR5LWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9z
dGFja2luZy1kdXJpbmctb3BhY2l0eS1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTVmM2Ez
YmIwZDk4Y2I3NTlkN2RiY2RlYmZlZjYxMzljN2UxMThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYW5pbWF0aW9ucy9zdGFja2luZy1kdXJpbmctb3BhY2l0eS1hbmltYXRpb24uaHRt
bApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+CisgICAgLmJhY2tncm91bmQtaW1hZ2UgeworICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7CisgICAgICAgIGhlaWdodDogMDsKKyAgICAgICAg
cGFkZGluZy1ib3R0b206IDgwJTsKKyAgICAgICAgb3BhY2l0eTogMC4xOworICAgIH0KKworICAg
IC50aWxlIHsKKyAgICAgICAgYW5pbWF0aW9uOiBmYWRlLWluIDAuNHM7CisgICAgfQorCisgICAg
QGtleWZyYW1lcyBmYWRlLWluIHsKKyAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IH0KKyAgICAg
ICAgdG8gICB7IG9wYWNpdHk6IDE7IH0KKyAgICB9CisKKzwvc3R5bGU+Cis8c2NyaXB0PgorICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InRpbGUiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLWltYWdlIj48L2Rpdj4KKyAgICAgICAgPHA+VGhp
cyB0ZXN0IHNob3VsZCBub3QgY3Jhc2ggb3IgYXNzZXJ0LjwvcD4KKyAgICA8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="316566"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>