<?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>168595</bug_id>
          
          <creation_ts>2017-02-20 07:25:04 -0800</creation_ts>
          <short_desc>Add &apos;webglcontextchanged&apos; WebGLContextEvent</short_desc>
          <delta_ts>2017-03-09 01:38:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kdmitrenko</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>noam</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1278920</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-02-20 07:25:04 -0800</bug_when>
    <thetext>Add &apos;webglcontextchanged&apos; WebGLContextEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278922</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-20 07:26:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/30604254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278925</commentid>
    <comment_count>2</comment_count>
      <attachid>302145</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-02-20 07:35:08 -0800</bug_when>
    <thetext>Created attachment 302145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278928</commentid>
    <comment_count>3</comment_count>
      <attachid>302145</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-02-20 07:45:12 -0800</bug_when>
    <thetext>Comment on attachment 302145
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsContext3D.h:1434
&gt; +    // FIXME: Layering violation.

Would be nicer with a bug link to go with it.

&gt; LayoutTests/fast/canvas/webgl/webglcontextchangedevent.html:1
&gt; +&lt;script&gt;

You could use the JS test helpers here (js-test-pre.js and js-test-post.js) which would remove some boilerplate here and the custom log function.

&gt; LayoutTests/fast/canvas/webgl/webglcontextchangedevent.html:25
&gt; +    let handleChangedEvent = (event) =&gt; {

Weird to use a `let` here vs. a `const`. You could/should also just declare a function just like you are above for `log`.

&gt; LayoutTests/fast/canvas/webgl/webglcontextchangedevent.html:35
&gt; +        let gl = c.getContext(&quot;webgl&quot;);

Use `const`.

&gt; LayoutTests/fast/canvas/webgl/webglcontextchangedevent.html:40
&gt; +    let gl = document.querySelector(&quot;canvas&quot;).getContext(&quot;webgl&quot;);

Use `const`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278931</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-02-20 07:49:40 -0800</bug_when>
    <thetext>Committed r212637: &lt;http://trac.webkit.org/changeset/212637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278948</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-20 09:13:53 -0800</bug_when>
    <thetext>Reverted r212637 for reason:

This change broke iOS builds.

Committed r212639: &lt;http://trac.webkit.org/changeset/212639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278949</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-02-20 09:14:23 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Reverted r212637 for reason:
&gt; 
&gt; This change broke iOS builds.
&gt; 
&gt; Committed r212639: &lt;http://trac.webkit.org/changeset/212639&gt;

Link to failure:
https://build.webkit.org/builders/Apple%20iOS%2010%20Simulator%20Debug%20%28Build%29/builds/4292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278968</commentid>
    <comment_count>7</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-02-20 09:54:45 -0800</bug_when>
    <thetext>Reverted r212639 for reason:

Have a fix for the linker error on iOS.

Committed r212650: &lt;http://trac.webkit.org/changeset/212650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278969</commentid>
    <comment_count>8</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-02-20 09:57:07 -0800</bug_when>
    <thetext>Fix for iOS build:
Committed r212651: &lt;http://trac.webkit.org/changeset/212651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285259</commentid>
    <comment_count>9</comment_count>
    <who name="Kirill S. Dmitrenko">kdmitrenko</who>
    <bug_when>2017-03-09 01:38:50 -0800</bug_when>
    <thetext>Am I right to say that `webglcontextchanged` works as initially proposed: as an API user I&apos;ll have to re-query context limits and capabilities and, if some&apos;s changed, recreate some resources? Or, if limits and capabilities change&apos;ll cause some of my application&apos;s resources to invalidate, `webglcontextlost`&apos;ll be generated?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302145</attachid>
            <date>2017-02-20 07:35:08 -0800</date>
            <delta_ts>2017-02-20 07:45:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168595-20170221023221.patch</filename>
            <type>text/plain</type>
            <size>15310</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNmNTNkYzE5OTUwZDMw
NzdmYjA2MDY4ZDdmMTg3YmNhM2ZkZGVmYi4uNDZlNWFhZTkzYjFhNzM4OWYxNGI5N2U3NzVlZjk5
MDRmODlhNWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTAyLTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgJ3dlYmdsY29udGV4dGNo
YW5nZWQnIFdlYkdMQ29udGV4dEV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjg1OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNjA0MjU0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBh
IG5ldyBldmVudCB0aGF0IGlzIGRpc3BhdGNoZWQgd2hlbiB0aGUgR3JhcGhpY3NDb250ZXh0M0QK
KyAgICAgICAgbm90aWNlcyB0aGF0IHRoZSBhY3RpdmUgR1BVIGhhcyBjaGFuZ2VkLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsY29udGV4dGNoYW5nZWRldmVudC5odG1s
CisKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOiBBZGQgJ3dlYmdsY29udGV4dGNoYW5nZWQn
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZGlzcGF0Y2hDb250
ZXh0Q2hhbmdlZEV2ZW50KTogRGlzcGF0Y2ggdGhlIG5ldyBldmVudC4KKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnNpbXVsYXRlQ29udGV4dENoYW5nZWQpOiBU
ZWxsIHRoZSBHcmFwaGljc0NvbnRleHQzRCB0bworICAgICAgICBwcmV0ZW5kIHRoZXJlIHdhcyBh
IEdQVSBzd2l0Y2guIFRoaXMgaXMgY2FsbGVkIGZyb20gSW50ZXJuYWxzIGZvciB0ZXN0aW5nLgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDogRXhwb3J0IHRo
ZSBpbnRlcmZhY2Ugc28gSW50ZXJuYWxzIGNhbiBzZWUgaXQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6c2ltdWxhdGVDb250ZXh0Q2hhbmdlZCk6IFRlbGwgdGhlIEdyYXBoaWNz
Q29udGV4dDNETWFuYWdlcgorICAgICAgICB0aGF0IGl0IHNob3VsZCBwcmV0ZW5kIGEgR1BVIGNo
YW5nZSBoYXMgaGFwcGVuZWQsIHdoaWNoIGNhdXNlcyBpdCB0byBub3RpZnkgYWxsIHRoZQorICAg
ICAgICBhY3RpdmUgY29udGV4dHMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaDoKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGlj
c0NvbnRleHQzRE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNETWFu
YWdlcjo6dXBkYXRlQWxsQ29udGV4dHMpOiBUZWxsIHRoZSBHcmFwaGljc0NvbnRleHQzRHMKKyAg
ICAgICAgdG8gdGVsbCB0aGVpciBXZWJHTFJlbmRlcmluZ0NvbnRleHRzIHRvIGRpc3BhdGNoIGFu
IGV2ZW50LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnNpbXVsYXRlQ29u
dGV4dENoYW5nZWQpOiBGYWtlIHRoZSBkaXNwbGF5IGNoYW5nZS4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmRpc3BhdGNoQ29udGV4dENoYW5nZWRO
b3RpZmljYXRpb24pOiBUZWxsIHRoZSBXZWJHTFJlbmRlcmluZ0NvbnRleHQKKyAgICAgICAgdGhh
dCBhIGNoYW5nZSBoYXMgb2NjdXJyZWQsIGFuZCB0aGF0IGl0IHNob3VsZCBkaXNwYXRjaCBhbiBl
dmVudC4gVGhpcyBpcyBhIGxheWVyaW5nCisgICAgICAgIHZpb2xhdGlvbiB3aGljaCB3aWxsIG5l
ZWQgdG8gYmUgZml4ZWQgKGFsdGhvdWdoIHdpdGggb3RoZXIgY29tbXVuaWNhdGlvbiBmcm9tIEdD
M0QgYmFjaworICAgICAgICB0byBXZWJHTCkuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzaW11bGF0ZVdlYkdMQ29udGV4dENo
YW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDE3LTAyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KIAogICAgICAgICBBY3RpdmF0ZS9kZWFjdGl2YXRlIGhpZ2ggcGVyZm9ybWFuY2UgR1BV
IHdoZW4gcmVxdWVzdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA4NzdmZmI3MDRhZWRh
ZmExMzFkMzAzMGQ3MzhkYjA1YWQ5ZDk4YTExLi4zZWM3MWMxNmY0ODExNjFlNTA1NDI3YzdjOGEz
NjEwZjU2NDg2NjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTI0Miw2ICsyNDIsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFj
cm8od2FpdGluZykgXAogICAgIG1hY3JvKHdhaXRpbmdmb3JrZXkpIFwKKyAgICBtYWNybyh3ZWJn
bGNvbnRleHRjaGFuZ2VkKSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcikg
XAogICAgIG1hY3JvKHdlYmdsY29udGV4dGxvc3QpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRy
ZXN0b3JlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBmZTNjYjBjMzAzOTM1OTA4OTZhOTg1NzUy
ODE3M2JmMGFkNzM3YzQyLi4wNzk1MzVhMDYxNGRkNTc4NGZhMTFkMDViZWU0MDU0ZjJmZWM0YTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNTYzMSw2ICs1NjMxLDE3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgY2FudmFzKCkuZGlz
cGF0Y2hFdmVudChXZWJHTENvbnRleHRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJnbGNv
bnRleHRyZXN0b3JlZEV2ZW50LCBmYWxzZSwgdHJ1ZSwgZW1wdHlTdHJpbmcoKSkpOwogfQogCit2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dENoYW5nZWRFdmVu
dCgpCit7CisgICAgY2FudmFzKCkuZGlzcGF0Y2hFdmVudChXZWJHTENvbnRleHRFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRjaGFuZ2VkRXZlbnQsIGZhbHNlLCB0cnVlLCBl
bXB0eVN0cmluZygpKSk7Cit9CisKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6c2lt
dWxhdGVDb250ZXh0Q2hhbmdlZCgpCit7CisgICAgaWYgKG1fY29udGV4dCkKKyAgICAgICAgbV9j
b250ZXh0LT5zaW11bGF0ZUNvbnRleHRDaGFuZ2VkKCk7Cit9CisKIFN0cmluZyBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjplbnN1cmVOb3ROdWxsKGNvbnN0IFN0cmluZyYgdGV4dCkgY29uc3QK
IHsKICAgICBpZiAodGV4dC5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAppbmRleCAxODMzNGViZThiYzdl
YWUxNjBkZjBkNzdhMDBmZjUyOGU5N2Y4ZTg4Li42YmI3ZDQ0ZDM5MmIyYmRkMmM5ZWZjNGUyNmEz
YzkzN2MzZTExMDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC0zNDAsNiArMzQwLDggQEAgcHVibGljOgog
ICAgIHZvaWQgcmVjeWNsZUNvbnRleHQoKTsKICAgICB2b2lkIGZvcmNlUmVzdG9yZUNvbnRleHQo
KTsKICAgICB2b2lkIGxvc2VDb250ZXh0SW1wbChMb3N0Q29udGV4dE1vZGUpOworICAgIHZvaWQg
ZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZEV2ZW50KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
aW11bGF0ZUNvbnRleHRDaGFuZ2VkKCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQzRCogZ3JhcGhp
Y3NDb250ZXh0M0QoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQuZ2V0KCk7IH0KICAgICBXZWJH
TENvbnRleHRHcm91cCogY29udGV4dEdyb3VwKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0R3Jv
dXAuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKaW5kZXggNjNiNjRjZGViZDI1OTVhN2I5YTI2MmIx
NjllMTQ0NmRmNTJiYzc2OS4uMTE2OThiZWYwNzk3MDhlNGE4NDFmZTY0NWNlN2E0Njc2Y2FkZjFl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5pZGwKQEAgLTUxLDYgKzUxLDcgQEAgdHlwZWRlZiAoSW1hZ2VEYXRh
IG9yIEhUTUxJbWFnZUVsZW1lbnQgb3IgSFRNTENhbnZhc0VsZW1lbnQgb3IgSFRNTFZpZGVvRWxl
bWVudCkKICAgICBEb05vdENoZWNrQ29uc3RhbnRzLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9u
LAogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JU
LAogXSBpbnRlcmZhY2UgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSB7CiAKICAgICAvLyBiYWNr
LXJlZmVyZW5jZSB0byB0aGUgY2FudmFzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKaW5kZXggNzZiYWI3YzdiMWFiOGI1
MzNkODVmYzg3ZjFkMDgzNTlkM2Y0N2VmYS4uMmIyY2QxY2YyNjg1MDdjMmQ4MmVlZDdlMzI1NTc2
MDY5Y2QwNTdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0M0QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcApAQCAtNjU5LDYgKzY1OSwxMCBAQCB1bnNpZ25lZCBH
cmFwaGljc0NvbnRleHQzRDo6Z2V0Q2hhbm5lbEJpdHNCeUZvcm1hdChHQzNEZW51bSBmb3JtYXQp
CiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpzZXRDb250ZXh0VmlzaWJpbGl0eShib29sKQogewog
fQorCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpzaW11bGF0ZUNvbnRleHRDaGFuZ2VkKCkKK3sK
K30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA1ZjI1ZTNh
OWY4MDU0OGM5MDM1MjVmNjcxMmRmOGJkYmJhMjkxMWQ4Li4wZGZlOTM1ZjIyZTIwYTIwZThhNzJj
ZDQ4OTE2ZmY0NjA4Y2ExMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTExMzMsNiArMTEzMyw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGZvcmNlQ29udGV4dExvc3QoKTsKICAgICB2b2lkIHJlY3ljbGVDb250ZXh0
KCk7CiAKKyAgICB2b2lkIGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb24oKTsKKyAg
ICB2b2lkIHNpbXVsYXRlQ29udGV4dENoYW5nZWQoKTsKKwogICAgIHZvaWQgcGFpbnRSZW5kZXJp
bmdSZXN1bHRzVG9DYW52YXMoSW1hZ2VCdWZmZXIqKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBw
YWludFJlbmRlcmluZ1Jlc3VsdHNUb0ltYWdlRGF0YSgpOwogICAgIGJvb2wgcGFpbnRDb21wb3Np
dGVkUmVzdWx0c1RvQ2FudmFzKEltYWdlQnVmZmVyKik7CkBAIC0xNDI3LDcgKzE0MzAsOCBAQCBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZT4gbV9wcml2YXRlOwogI2Vu
ZGlmCi0gICAgCisKKyAgICAvLyBGSVhNRTogTGF5ZXJpbmcgdmlvbGF0aW9uLgogICAgIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UqIG1fd2ViZ2xDb250ZXh0OwogCiAgICAgYm9vbCBtX2lzRm9y
V2ViR0wyIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbQppbmRleCBhY2FlMzczZTZk
NDFmNmYyMWM5MDY2YzcwZTFmNzM5OTQ3NGY3N2Y1Li4zNWEwY2Q4YzgwMzBmNzMzOGNhMDY5ZDgy
ZmVmNDU3N2ZkNTU4ZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCkBAIC0xODksOCArMTg5
LDEwIEBAIHN0YXRpYyB2b2lkIGRpc3BsYXlXYXNSZWNvbmZpZ3VyZWQoQ0dEaXJlY3REaXNwbGF5
SUQsIENHRGlzcGxheUNoYW5nZVN1bW1hcnlGbGFnCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNETWFu
YWdlcjo6dXBkYXRlQWxsQ29udGV4dHMoKQogewogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBmb3Ig
KGF1dG8qIGNvbnRleHQgOiBtX2NvbnRleHRzKQorICAgIGZvciAoYXV0byogY29udGV4dCA6IG1f
Y29udGV4dHMpIHsKICAgICAgICAgY29udGV4dC0+dXBkYXRlQ0dMQ29udGV4dCgpOworICAgICAg
ICBjb250ZXh0LT5kaXNwYXRjaENvbnRleHRDaGFuZ2VkTm90aWZpY2F0aW9uKCk7CisgICAgfQog
I2VuZGlmCiB9CiAKQEAgLTcyMCw2ICs3MjIsMTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
c2V0RXJyb3JNZXNzYWdlQ2FsbGJhY2soc3RkOjp1bmlxdWVfcHRyPEVycm9yTWVzc2FnZUNhbGwK
IHsKIH0KIAordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6c2ltdWxhdGVDb250ZXh0Q2hhbmdlZCgp
Cit7CisgICAgbWFuYWdlcigpLnVwZGF0ZUFsbENvbnRleHRzKCk7Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShHUkFQSElDU19DT05URVhUXzNEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggMTUzNmZhZjQyMGY0OWFiYWY3MTQ4ZDI5ZDQ2
MzQ2MDVhYTYyNDA2NS4uZDY5ZDYyZDIyMDNjOGQ1ZGQ4YTJlMjBkMDVmNTM5OGQwZWU5NjMzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC0x
ODk1LDYgKzE4OTUsMTQgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6cmVjeWNsZUNvbnRleHQo
KQogI2VuZGlmCiB9CiAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRpc3BhdGNoQ29udGV4dENo
YW5nZWROb3RpZmljYXRpb24oKQoreworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAobV93ZWJn
bENvbnRleHQpCisgICAgICAgIG1fd2ViZ2xDb250ZXh0LT5kaXNwYXRjaENvbnRleHRDaGFuZ2Vk
RXZlbnQoKTsKKyNlbmRpZgorfQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJE
RGlyZWN0KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxm
b3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIs
IEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4ZWxzKQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDZkMjZkNTU2ZTMzZTk1Y2ExYmI0NGI4ZWRmM2FlMmJmZGE1OGExMGUuLmNiYjE0Zjc1
ODQ0NGNjMGJjYjdiZTMyYjA2ZmNjMWQ0YzA0YjU1ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTEzNCw2ICsxMzQsNyBAQAogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIldlYkNv
cmVKU0NsaWVudERhdGEuaCIKKyNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgi
CiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSAiV3JpdGluZ0RpcmVjdGlvbi5o
IgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCkBAIC0zNzEyLDQgKzM3MTMsMTIgQEAgdm9p
ZCBJbnRlcm5hbHM6OnNldEFzUnVubmluZ1VzZXJTY3JpcHRzKERvY3VtZW50JiBkb2N1bWVudCkK
ICAgICAgICAgZG9jdW1lbnQucGFnZSgpLT5zZXRBc1J1bm5pbmdVc2VyU2NyaXB0cygpOwogfQog
CisjaWYgRU5BQkxFKFdFQkdMKQordm9pZCBJbnRlcm5hbHM6OnNpbXVsYXRlV2ViR0xDb250ZXh0
Q2hhbmdlZChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJiBjb250ZXh0KQoreworICAgIGNvbnRl
eHQuc2ltdWxhdGVDb250ZXh0Q2hhbmdlZCgpOworfQorI2VuZGlmCisKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZjVjMDhhODdkZmQ3
OGE0NmU3NjA0MDFhYzMwOWFmYTQzYzM4M2Q0OC4uNDczYTM0NDY4M2RkYTBkZDNjN2JmYmNkZDgy
ZGEyZTI2N2NiM2RiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC03MSw2ICs3
MSw3IEBAIGNsYXNzIFNvdXJjZUJ1ZmZlcjsKIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBUaW1l
UmFuZ2VzOwogY2xhc3MgVHlwZUNvbnZlcnNpb25zOworY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTsKIGNsYXNzIFhNTEh0dHBSZXF1ZXN0OwogCiBjbGFzcyBJbnRlcm5hbHMgZmluYWwg
OiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcm5hbHM+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyIHsKQEAgLTUzMSw2ICs1MzIsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRB
c1J1bm5pbmdVc2VyU2NyaXB0cyhEb2N1bWVudCYpOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAg
IHZvaWQgc2ltdWxhdGVXZWJHTENvbnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1bWVu
dCYpOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAxNTViNzBiNGFiZjc1NjQ1YjE1MmQ4NjUxZDA4ZjQ4
YTk1M2RhNDUxLi44YmJiOWRlM2Y1NDFkNTJlODU5NWJkNDYzZWEyOWU1NjAxZTUwOWUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC01MDQsNCArNTA0LDYgQEAgZW51bSBF
dmVudFRocm90dGxpbmdCZWhhdmlvciB7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIHNl
dEFzUnVubmluZ1VzZXJTY3JpcHRzKCk7CiAKICAgICB2b2lkIGRpc2FibGVUaWxlU2l6ZVVwZGF0
ZURlbGF5KCk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgc2ltdWxhdGVXZWJHTENv
bnRleHRDaGFuZ2VkKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgY29udGV4dCk7CiB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdkMzJhNTU0OGMzMTBiZTBlMDRkMjk2YmU0OWVhYTMxYWE4ZjJiOWMuLjk5MDliMmI1OTU2
NmRjNjNiYjJiNmM5MTJkNzNiMjU1YzEyZDk1ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
Ny0wMi0yMCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkICd3
ZWJnbGNvbnRleHRjaGFuZ2VkJyBXZWJHTENvbnRleHRFdmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NTk1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zMDYwNDI1ND4KKworICAgICAgICBBZGQgYSBuZXcgd2ViZ2xjb250ZXh0Y2hhbmdlZCBl
dmVudC4gVGhpcyB0ZXN0IG9ubHkKKyAgICAgICAgcnVucyBvbiBDb2NvYSBwbGF0Zm9ybXMgYXQg
dGhlIG1vbWVudCwgYmVjYXVzZSBpdAorICAgICAgICBuZWVkcyBHcmFwaGljc0NvbnRleHQzRCB0
byBrZWVwIHRyYWNrIG9mIGFsbAorICAgICAgICBhY3RpdmUgY29udGV4dHMgaW4gb3JkZXIgdG8g
ZGlzcGF0Y2ggZXZlbnRzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2xjb250ZXh0Y2hhbmdlZGV2ZW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2xjb250
ZXh0Y2hhbmdlZGV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDE3LTAyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBB
Y3RpdmF0ZS9kZWFjdGl2YXRlIGhpZ2ggcGVyZm9ybWFuY2UgR1BVIHdoZW4gcmVxdWVzdGVkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbGNvbnRleHRjaGFu
Z2VkZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2Vi
Z2xjb250ZXh0Y2hhbmdlZGV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2ZmYjVmNzc5
YjJhYTk3Y2MxZDZmYTBjYzA1MTc5ZTk1Mjc5ZTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2xjb250ZXh0Y2hhbmdlZGV2ZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDggQEAKKyAgCitXZSBzaG91bGQgc2VlIHRocmVlIGNoYW5nZWQgZXZl
bnRzLgorCitTYXcgd2ViZ2xjb250ZXh0Y2hhbmdlZCBldmVudC4KKworU2F3IHdlYmdsY29udGV4
dGNoYW5nZWQgZXZlbnQuCisKK1NhdyB3ZWJnbGNvbnRleHRjaGFuZ2VkIGV2ZW50LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2xjb250ZXh0Y2hhbmdlZGV2
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbGNvbnRleHRjaGFu
Z2VkZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWQ3N2I3OTZlZjA5NTA5ZWJkNTY5OTFhMDJjOTE1
OGEwMWJiODM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvd2ViZ2xjb250ZXh0Y2hhbmdlZGV2ZW50Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPHNjcmlw
dD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBsb2cobXNn
KQoreworICAgIGxldCBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgIHAudGV4
dENvbnRlbnQgPSBtc2c7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwKTsKK30KKwor
ZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIGxvZygiVGhpcyB0ZXN0IG11c3QgcnVuIGluc2lkZSBEUlQvV0tUUi4iKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGxvZygiV2Ugc2hvdWxkIHNlZSB0aHJlZSBjaGFuZ2VkIGV2
ZW50cy4iKTsKKworICAgIGxldCBjaGFuZ2VkRXZlbnRzU2VlbiA9IDA7CisKKyAgICBsZXQgaGFu
ZGxlQ2hhbmdlZEV2ZW50ID0gKGV2ZW50KSA9PiB7CisgICAgICAgIGxvZygiU2F3IHdlYmdsY29u
dGV4dGNoYW5nZWQgZXZlbnQuIik7CisgICAgICAgIGNoYW5nZWRFdmVudHNTZWVuKys7CisgICAg
ICAgIGlmIChjaGFuZ2VkRXZlbnRzU2VlbiA9PSAzKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisgICAgfQorCisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiY2Fu
dmFzIikuZm9yRWFjaCgoYykgPT4KKyAgICB7CisgICAgICAgIGMuYWRkRXZlbnRMaXN0ZW5lcigi
d2ViZ2xjb250ZXh0Y2hhbmdlZCIsIGhhbmRsZUNoYW5nZWRFdmVudCwgZmFsc2UpOworICAgICAg
ICBsZXQgZ2wgPSBjLmdldENvbnRleHQoIndlYmdsIik7CisgICAgICAgIGdsLmNsZWFyQ29sb3Io
MSwgMCwgMCwgMSk7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworICAg
IH0pOworCisgICAgbGV0IGdsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIikuZ2V0
Q29udGV4dCgid2ViZ2wiKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNpbXVsYXRlV2ViR0xDb250
ZXh0Q2hhbmdlZChnbCk7Cit9CisKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBy
dW5UZXN0LCBmYWxzZSk7Cis8L3NjcmlwdD4KKworPGNhbnZhcz48L2NhbnZhcz4KKzxjYW52YXM+
PC9jYW52YXM+Cis8Y2FudmFzPjwvY2FudmFzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA5N2EyMTNkNmU5YzJlYmMwZTA1OGM3OWVmMzAwYTA3MDJhZTM1
ZTE1Li4wZmE1OGVmMjQ2YmQ0OTE3ODQ1MzEzYTkzYTZjMDFmOGY1MjNiNDNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjY1LDYgKzY2NSw5IEBAIHdl
YmtpdC5vcmcvYi8xNTM0NjYgaW5zcGVjdG9yL3NhbXBsaW5nLXByb2ZpbGVyIFsgU2tpcCBdCiAj
IFRoaXMgcmVxdWlyZXMgYSBzcGVjaWZpYyBmb250IG9uIE1hYwogZmFzdC90ZXh0L2hpZHBpLXRl
eHQtc2VsZWN0aW9uLWdhcC1iZXR3ZWVuLXdvcmRzLmh0bWwgWyBTa2lwIF0KIAorIyB3ZWJnbGNv
bnRleHRjaGFuZ2VkIGV2ZW50IG5vdCBzdXBwb3J0ZWQKK2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
Y29udGV4dGNoYW5nZWRldmVudC5odG1sIFsgU2tpcCBdCisKICMgVGVzdCByZXF1aXJlcyBoYXJk
Y29kZWQgZm9udCBuYW1lcywgd2hpY2ggSSBkbyBub3QgaGF2ZSBmb3IgdGhpcyBwb3J0LgogZmFz
dC90ZXh0L2hhbi1nZW5lcmljLWZvbnQtZmFtaWxpZXMuaHRtbCBbIFdvbnRGaXggXQogZmFzdC90
ZXh0L2hhbmd1bC1nZW5lcmljLWZvbnQtZmFtaWxpZXMuaHRtbCBbIFdvbnRGaXggXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTI5N2E0NjdjMzg0ZjNj
OTA2ZWE0ZjhhOTg3ODlhNzhhMWQ1NjY5Li43NGMwNDkxZTFiMTQ3Y2Y3MTNiMzhmYjYwNGQ3YWZh
YzY4MmNlNmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzc4NCwzICszNzg0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJy
dGMgWyBTa2lwIF0KIAogIyBXZWJDcnlwdG8gdGVzdHMgYXJlIGZhaWxpbmcuCiB3ZWJraXQub3Jn
L2IvMTY1MDkwIGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkgWyBTa2lwIF0KKworIyB3ZWJnbGNv
bnRleHRjaGFuZ2VkIGV2ZW50IG5vdCBzdXBwb3J0ZWQKK2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
Y29udGV4dGNoYW5nZWRldmVudC5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="review"
          id="323870"
          type_id="1"
          status="+"
          setter="graouts"
    />
          </attachment>
      

    </bug>

</bugzilla>