<?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>132280</bug_id>
          
          <creation_ts>2014-04-28 08:33:52 -0700</creation_ts>
          <short_desc>[ATK] Deprecate usage of logAccessibilityEvents() in layout tests</short_desc>
          <delta_ts>2014-05-30 09:47:41 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</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="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004596</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-04-28 08:33:52 -0700</bug_when>
    <thetext>platform/gtk/accessibility/aria-table-hierarchy.html [ Failure Pass ]
  platform/gtk/accessibility/aria-toggle-button-role.html [ Failure Pass ]
  platform/gtk/accessibility/button-accessible-name.html [ Failure Pass ]
  platform/gtk/accessibility/caret-browsing-select-focus.html [ Failure Pass ]
  platform/gtk/accessibility/caret-browsing-text-focus.html [ Failure Pass ]
  platform/gtk/accessibility/entry-and-password.html [ Failure Pass ]
  platform/gtk/accessibility/input-slider.html [ Failure Pass ]
  platform/gtk/accessibility/list-items-always-exposed.html [ Failure Pass ]
  platform/gtk/accessibility/media-controls-panel-title.html [ Failure Pass ]
  platform/gtk/accessibility/media-emits-object-replacement.html [ Failure Pass ]
  platform/gtk/accessibility/name-from-label.html [ Failure Pass ]
  platform/gtk/accessibility/object-with-title.html [ Failure Pass ]
  platform/gtk/accessibility/remapped-aria-crash.html [ Failure Pass ]
  platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html [ Failure Pass ]
  platform/gtk/accessibility/spans-paragraphs-and-divs.html [ Failure Pass ]
  platform/gtk/accessibility/spans.html [ Failure Pass ]
  platform/gtk/accessibility/table-hierarchy.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-embedded-objects.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-newlines.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-preformatted.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-simple.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-special-chars.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-textarea.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-textinput.html [ Failure Pass ]
  platform/gtk/accessibility/text-at-offset-wrapped-lines.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-combo-box.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-embedded-objects.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-entry-and-password.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-extraneous-whitespace.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-formatted.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-heading.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-list-items.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-simple.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-table-cells.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-range-with-link.html [ Failure Pass ]
  platform/gtk/accessibility/text-for-table.html [ Failure Pass ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004597</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-04-28 08:34:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/16742674&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012377</commentid>
    <comment_count>2</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-29 01:20:40 -0700</bug_when>
    <thetext>I&apos;ve tried hardly to get these tests failing in my local build (playing with different values of --repeat-each and --iterations) and could not get a single failure yet.

Also, I took a look to the archived test results in build.webkit.org and I can&apos;t see any of these tests failing in the latest builds either so I&apos;m thinking that whatever the issue might be when you file this bug and added all these tests to TestExpectations might be gone now.

Would you be ok with me trying to remove then from here and see what the bots have to say about them now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012386</commentid>
    <comment_count>3</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-29 03:00:12 -0700</bug_when>
    <thetext>I&apos;ve checked the results over time using Carlos&apos; WebKit test hunter[1], and I can&apos;t see any of these tests failing since 3 weeks ago (last failure was with [2]), which I&apos;m not sure can be considered as &quot;flaky enough&quot; to put them in the TestExpectations file.

Calvaris, what do you think?

[1] https://github.com/clopez/webkit-testhunter
[2] http://trac.webkit.org/changeset/168469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012387</commentid>
    <comment_count>4</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-05-29 03:05:00 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I&apos;ve checked the results over time using Carlos&apos; WebKit test hunter[1], and I can&apos;t see any of these tests failing since 3 weeks ago (last failure was with [2]), which I&apos;m not sure can be considered as &quot;flaky enough&quot; to put them in the TestExpectations file.
&gt; 
&gt; Calvaris, what do you think?
&gt; 
&gt; [1] https://github.com/clopez/webkit-testhunter
&gt; [2] http://trac.webkit.org/changeset/168469

By using the script I still see some text failures not so long ago so they still fail, though you consider those do not happen ofter enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012389</commentid>
    <comment_count>5</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-29 03:21:37 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; I&apos;ve checked the results over time using Carlos&apos; WebKit test hunter[1], and I can&apos;t see any of these tests failing since 3 weeks ago (last failure was with [2]), which I&apos;m not sure can be considered as &quot;flaky enough&quot; to put them in the TestExpectations file.
&gt; &gt; 
&gt; &gt; Calvaris, what do you think?
&gt; &gt; 
&gt; &gt; [1] https://github.com/clopez/webkit-testhunter
&gt; &gt; [2] http://trac.webkit.org/changeset/168469
&gt; 
&gt; By using the script I still see some text failures not so long ago so they still fail, though you consider those do not happen ofter enough.

Good point. I&apos;ve just found the text diff for one of those tests (platform/gtk/accessibility/text-at-offset-newlines.html) in r168469 and this is what I saw: 

--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/platform/gtk/accessibility/text-at-offset-newlines-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/platform/gtk/accessibility/text-at-offset-newlines-actual.txt
@@ -1,3 +1,24 @@
+Accessibility object emitted &quot;state-change:busy = 1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 48
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;children-changed:add = -1&quot; / Name: &quot;(No name)&quot; / Role: 93
+Accessibility object emitted &quot;property-change:accessible-parent&quot; / Name: &quot;(No name)&quot; / Role: 71
 This is a test. This is the second sentence. And this the third.
 
 This tests the ability to get element text for different granularities and offsets.


This is very weird. For some reason, the test is enabling &quot;logging accessibility events&quot; (as if accessibilityController.logAccessibilityEvents()) was called for those tests, which is not), and that is causing that all that text is being dumped &quot;accidentally&quot;, therefore causing the text failure. This is *clearly* the cause of that problem.

Now, to be honest, I&apos;m not sure why that thing happens, although it sounds like related to the setup/teardown processes that happens for every single test, which seems indeed to be flaky, at least in what it relates to logAccessibilityEvents() which now I reckon that has not been a very good idea right from the start :/, as it has presented many problems and, on top of that, it should not be needed if we had addNotificationListener() implemented, which we do have now.

Also, the only tests actually using logAccessibilityEvents() these days in GTK/EFL are this ones: 

  platform/gtk/accessibility/aria-slider-required-attributes.html
  platform/gtk/accessibility/combo-box-collapsed-selection-changed.html

So, all in all, perhaps it&apos;s better to adapt those tests not to use logAccessibilityEvents() at all, and replace the implementation in WKTR with a dummy one, so it does not cause more harm anymore (we can&apos;t simply remove it, since logAccessibilityEvents() is implemented in the win port).

I&apos;ll work on this change soon, probably tomorrow (as today I need to leave early due to personal matters)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012436</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-29 09:04:11 -0700</bug_when>
    <thetext>Indeed, after doing some local tests I&apos;m pretty sure we are better off deprecating the logAccessibilityEvents() method and using addNotificationListener instead, so I&apos;m now renaming this bug and soon proposing a patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012602</commentid>
    <comment_count>7</comment_count>
      <attachid>232293</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-30 06:55:13 -0700</bug_when>
    <thetext>Created attachment 232293
Patch proposal

Attaching a new patch deprecating logAccessibilityEvents() from ATK&apos;s implementation of the WKTR.

With regard to the following tests listed as &quot;Failure&quot; in TestExpectations:

  1. platform/gtk/accessibility/aria-slider-required-attributes.html
  2. platform/gtk/accessibility/combo-box-collapsed-selection-changed.html

...I&apos;ll tackle those in separate bugs, since there are different things to do in each case to migrate out of logAccessibilityEvents().

Please review. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012614</commentid>
    <comment_count>8</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-30 08:21:02 -0700</bug_when>
    <thetext>Committed r169485: &lt;http://trac.webkit.org/changeset/169485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012615</commentid>
    <comment_count>9</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-30 08:22:12 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Committed r169485: &lt;http://trac.webkit.org/changeset/169485&gt;

Sorry, this was a mistake. This bug is still open</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012625</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-05-30 09:47:41 -0700</bug_when>
    <thetext>Committed r169487: &lt;http://trac.webkit.org/changeset/169487&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232293</attachid>
            <date>2014-05-30 06:55:13 -0700</date>
            <delta_ts>2014-05-30 08:52:02 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2014-05-30-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>13118</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA2M2YyNGM2ZWI5NDM1ZWE4OGU2M2JkZDM2MjgyZDQ1M2FhZWVjN2JjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogRnJpLCAzMCBNYXkgMjAxNCAxNDozNDowMCArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIDIwMTQtMDUtMzAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KCiAgICAgICAgW0FUS10gRGVwcmVjYXRlIHVzYWdlIG9mIGxvZ0FjY2Vzc2liaWxp
dHlFdmVudHMoKSBpbiBsYXlvdXQgdGVzdHMKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMjgwCgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKICAgICAgICBSZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgbG9nQWNjZXNzaWJpbGl0eUV2
ZW50cygpIGZvciBBVEsgYmFzZWQKICAgICAgICBwb3J0cywgYXMgdGhpcyBoYXMgcHJvdmVkIHRv
IGJlIGEgZmxha3kgbWV0aG9kIG9mIGNoZWNraW5nIHRoYXQKICAgICAgICBBVEsgZXZlbnRzIGFy
ZSBiZWluZyBwcm9wZXJseSBlbWl0dGVkLiBJbnN0ZWFkLCBpdCdzIGJldHRlciB0byB1c2UKICAg
ICAgICB0aGUgYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoKSBmdW5jdGlvbnMgYW5kIHByb3ZpZGUg
YSBKUyBjYWxsYmFjawogICAgICAgIHRvIGNoZWNrIHRoYXQgdGhlIHJpZ2h0IGV2ZW50cyBhcmUg
YmVpbmcgZW1taXR0ZWQgZnJvbSB0aGUgdGVzdHMuCgogICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwOgogICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRz
KTogUmVwbGFjZWQKICAgICAgICB3aXRoIGR1bW15IGltcGxlbWVudGF0aW9uLgogICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXJBdGsuY3BwOgogICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKTogUmVtb3ZlZAoKMjAxNC0wNS0zMCAg
TWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgoKICAgICAgICBb
QVRLXSBEZXByZWNhdGUgdXNhZ2Ugb2YgbG9nQWNjZXNzaWJpbGl0eUV2ZW50cygpIGluIGxheW91
dCB0ZXN0cwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzIyODAKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFJlbW92
ZWQgMzYgZmxha3kgZXhwZWN0YXRpb25zIGZyb20gVGVzdEV4cGVjdGF0aW9ucyBmb3IgdGVzdHMg
dGhhdAogICAgICAgIHdlcmUgb2Nhc3Npb25hbGx5IHNob3dpbmcgdGhlIG91dHB1dCBvZiBsb2dB
Y2Nlc3NpYmlsaXR5RXZlbnRzKCkKICAgICAgICBldmVuIGlmIHRoZXkgZGlkIG5vdCBtYWtlIHVz
ZSBvZiB0aGF0IGZlYXR1cmUgKHRodXMgdGhlIGZsYWtpbmVzcykuCgogICAgICAgICogcGxhdGZv
cm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFVwZGF0ZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrKwogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgICAgICAgICAgfCAzOCAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IDE5ICsrKysrKysrKysrCiAuLi4vYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
QXRrLmNwcCAgICAgICAgICAgICB8IDE5ICsrLS0tLS0tLS0tCiAuLi4vYXRrL0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcCAgICB8IDMyIC0tLS0tLS0tLS0tLS0tLS0tLQog
Li4uL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oICAgICAgfCAgMSAt
CiA2IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDg4IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBjNjhkNzE3Li45ZGJlNjYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDUtMzAg
IE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbQVRLXSBEZXByZWNhdGUgdXNhZ2Ugb2YgbG9nQWNjZXNzaWJpbGl0eUV2ZW50cygpIGluIGxh
eW91dCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMyMjgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlZCAzNiBmbGFreSBleHBlY3RhdGlvbnMgZnJvbSBUZXN0RXhwZWN0YXRpb25zIGZv
ciB0ZXN0cyB0aGF0CisgICAgICAgIHdlcmUgb2Nhc3Npb25hbGx5IHNob3dpbmcgdGhlIG91dHB1
dCBvZiBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCkKKyAgICAgICAgZXZlbiBpZiB0aGV5IGRpZCBu
b3QgbWFrZSB1c2Ugb2YgdGhhdCBmZWF0dXJlICh0aHVzIHRoZSBmbGFraW5lc3MpLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFVwZGF0ZWQuCisKIDIwMTQtMDUt
MzAgIEphcmVrIEN6ZWthbHNraSAgPGphcmVrY3pla0Bwb2N6dGEub25ldC5wbD4KIAogICAgICAg
ICBbQVRLXSBDb252ZXJ0IGNhcmV0IG9mZnNldCB0ZXN0cyBmcm9tIHRlc3RhdGsuYy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTliYmNlNS4uNTBjOWY3
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgyNSw0
NCArODI1LDYgQEAgd2Via2l0Lm9yZy9iLzEzMjI3NyBmYXN0L2ltYWdlcy9pbWFnZS1tYXAtem9v
bS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMzIyNzcgZmFzdC9pbWFnZXMv
aW1hZ2VtYXAtY2FzZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMzIyNzcg
ZmFzdC9pbWFnZXMvaW1hZ2VtYXAtZHluYW1pYy1hcmVhLXVwZGF0ZXMuaHRtbCBbIEZhaWx1cmUg
UGFzcyBdCiAKLSNBY2Nlc3NpYmlsaXR5Ci13ZWJraXQub3JnL2IvMTMyMjgwIHBsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L2FyaWEtdGFibGUtaGllcmFyY2h5Lmh0bWwgWyBGYWlsdXJlIFBhc3Mg
XQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXRv
Z2dsZS1idXR0b24tcm9sZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIy
ODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYnV0dG9uLWFjY2Vzc2libGUtbmFtZS5odG1s
IFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvY2FyZXQtYnJvd3Npbmctc2VsZWN0LWZvY3VzLmh0bWwgWyBGYWlsdXJlIFBhc3Mg
XQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9jYXJldC1i
cm93c2luZy10ZXh0LWZvY3VzLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEz
MjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9lbnRyeS1hbmQtcGFzc3dvcmQuaHRtbCBb
IEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvMTMyMjgwIHBsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L2lucHV0LXNsaWRlci5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8x
MzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGlzdC1pdGVtcy1hbHdheXMtZXhwb3Nl
ZC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvbWVkaWEtY29udHJvbHMtcGFuZWwtdGl0bGUuaHRtbCBbIEZhaWx1cmUg
UGFzcyBdCi13ZWJraXQub3JnL2IvMTMyMjgwIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21l
ZGlhLWVtaXRzLW9iamVjdC1yZXBsYWNlbWVudC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtp
dC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbmFtZS1mcm9tLWxhYmVs
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsv
YWNjZXNzaWJpbGl0eS9vYmplY3Qtd2l0aC10aXRsZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdl
YmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvcmVtYXBwZWQtYXJp
YS1jcmFzaC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvcmVwbGFjZWQtb2JqZWN0cy1pbi1hbm9ueW1vdXMtYmxvY2tz
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsv
YWNjZXNzaWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWwgWyBGYWlsdXJlIFBh
c3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFu
cy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Vi
a2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWF0LW9mZnNl
dC1lbWJlZGRlZC1vYmplY3RzLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEz
MjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWF0LW9mZnNldC1uZXdsaW5lcy5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvdGV4dC1hdC1vZmZzZXQtcHJlZm9ybWF0dGVkLmh0bWwgWyBGYWlsdXJlIFBh
c3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0
LWF0LW9mZnNldC1zaW1wbGUuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvMTMy
MjgwIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtYXQtb2Zmc2V0LXNwZWNpYWwtY2hh
cnMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvMTMyMjgwIHBsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L3RleHQtYXQtb2Zmc2V0LXRleHRhcmVhLmh0bWwgWyBGYWlsdXJlIFBh
c3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0
LWF0LW9mZnNldC10ZXh0aW5wdXQuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2Iv
MTMyMjgwIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtYXQtb2Zmc2V0LXdyYXBwZWQt
bGluZXMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvMTMyMjgwIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWNvbWJvLWJveC5odG1sIFsgRmFpbHVy
ZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGV4dC1mb3ItcmFuZ2UtZW1iZWRkZWQtb2JqZWN0cy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdl
YmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFu
Z2UtZW50cnktYW5kLXBhc3N3b3JkLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9i
LzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci1yYW5nZS1leHRyYW5l
b3VzLXdoaXRlc3BhY2UuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvMTMyMjgw
IHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RleHQtZm9yLXJhbmdlLWZvcm1hdHRlZC5odG1s
IFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvdGV4dC1mb3ItcmFuZ2UtaGVhZGluZy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdl
YmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFu
Z2UtbGlzdC1pdGVtcy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi8xMzIyODAg
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFuZ2Utc2ltcGxlLmh0bWwgWyBG
YWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS90ZXh0LWZvci1yYW5nZS10YWJsZS1jZWxscy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdl
YmtpdC5vcmcvYi8xMzIyODAgcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGV4dC1mb3ItcmFu
Z2Utd2l0aC1saW5rLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQotd2Via2l0Lm9yZy9iLzEzMjI4MCBw
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90ZXh0LWZvci10YWJsZS5odG1sIFsgRmFpbHVyZSBQ
YXNzIF0KLQogd2Via2l0Lm9yZy9iLzEzMjQyNSBmYXN0L211bHRpY29sL3Njcm9sbGluZy1vdmVy
Zmxvdy5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xMzI0MjUgZmFzdC9tdWx0
aWNvbC9zcGFuL3NwYW4tYXMtaW1tZWRpYXRlLWNoaWxkLWdlbmVyYXRlZC1jb250ZW50Lmh0bWwg
WyBGYWlsdXJlIFBhc3MgXQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNTllOTVkYy4uMjNmNzVhNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTA1LTMwICBN
YXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0FUS10gRGVwcmVjYXRlIHVzYWdlIG9mIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKSBpbiBsYXlv
dXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzMjI4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbW92ZSBpbXBsZW1lbnRhdGlvbiBvZiBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCkgZm9yIEFU
SyBiYXNlZAorICAgICAgICBwb3J0cywgYXMgdGhpcyBoYXMgcHJvdmVkIHRvIGJlIGEgZmxha3kg
bWV0aG9kIG9mIGNoZWNraW5nIHRoYXQKKyAgICAgICAgQVRLIGV2ZW50cyBhcmUgYmVpbmcgcHJv
cGVybHkgZW1pdHRlZC4gSW5zdGVhZCwgaXQncyBiZXR0ZXIgdG8gdXNlCisgICAgICAgIHRoZSBh
ZGROb3RpZmljYXRpb25MaXN0ZW5lcigpIGZ1bmN0aW9ucyBhbmQgcHJvdmlkZSBhIEpTIGNhbGxi
YWNrCisgICAgICAgIHRvIGNoZWNrIHRoYXQgdGhlIHJpZ2h0IGV2ZW50cyBhcmUgYmVpbmcgZW1t
aXR0ZWQgZnJvbSB0aGUgdGVzdHMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHA6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKTogUmVw
bGFjZWQKKyAgICAgICAgd2l0aCBkdW1teSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
SGFuZGxlckF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25I
YW5kbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKTogUmVtb3ZlZAorCiAyMDE0LTA1LTMwICBK
YXJlayBDemVrYWxza2kgIDxqYXJla2N6ZWtAcG9jenRhLm9uZXQucGw+CiAKICAgICAgICAgW0FU
S10gQWRkZWQgbmV3IGFjY2Vzc2liaWxpdHkgc2lnbmFsOiB0ZXh0LWNhcmV0LW1vdmVkLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCmluZGV4IGVhMGY0ZWEu
LjkzNTI3NzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5j
cHAKQEAgLTQzLDIzICs0Myw4IEBAIG5hbWVzcGFjZSBXVFIgewogCiB2b2lkIEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCkKIHsKLSAgICAvLyBFbnN1cmUg
bm8gY2FsbGJhY2tzIGFyZSBjb25uZWN0ZWQgYmVmb3JlLgotICAgIHJlc2V0VG9Db25zaXN0ZW50
U3RhdGUoKTsKLQotICAgIC8vIEVuc3VyZSB0aGF0IGFjY2Vzc2liaWxpdHkgaXMgaW5pdGlhbGl6
ZWQgZm9yIHRoZSBXZWJWaWV3IGJ5IHF1ZXJ5aW5nIGZvcgotICAgIC8vIHRoZSByb290IGFjY2Vz
c2libGUgb2JqZWN0LCB3aGljaCB3aWxsIGNyZWF0ZSB0aGUgZnVsbCBoaWVyYXJjaHkuCi0gICAg
cm9vdEVsZW1lbnQoKTsKLQotICAgIGlmICghbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyKQot
ICAgICAgICBtX2dsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIgPSBBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uSGFuZGxlcjo6Y3JlYXRlKCk7Ci0gICAgbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVy
LT5sb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCk7Ci0KLSAgICAvLyBFbnN1cmUgdGhlIEF0ayBpbnRl
cmZhY2UgdHlwZXMgYXJlIHJlZ2lzdGVyZWQsIG90aGVyd2lzZQotICAgIC8vIHRoZSBBdGtEb2N1
bWVudCBzaWduYWwgaGFuZGxlcnMgYmVsb3cgd29uJ3QgZ2V0IHJlZ2lzdGVyZWQuCi0gICAgR09i
amVjdCogZHVtbXlBeE9iamVjdCA9IEdfT0JKRUNUKGdfb2JqZWN0X25ldyhBVEtfVFlQRV9PQkpF
Q1QsIG51bGxwdHIpKTsKLSAgICBBdGtPYmplY3QqIGR1bW15Tm9PcEF4T2JqZWN0ID0gYXRrX25v
X29wX29iamVjdF9uZXcoZHVtbXlBeE9iamVjdCk7Ci0gICAgZ19vYmplY3RfdW5yZWYoR19PQkpF
Q1QoZHVtbXlOb09wQXhPYmplY3QpKTsKLSAgICBnX29iamVjdF91bnJlZihkdW1teUF4T2JqZWN0
KTsKKyAgICAvLyBObyBsb25nZXIgaW1wbGVtZW50ZWQgZm9yIEFUSy4gVXNlIGFkZE5vdGlmaWNh
dGlvbkxpc3RlbmVyKCkgaW5zdGVhZCB0bworICAgIC8vIGNoZWNrIHRoYXQgcmVsZXZhbnQgQVRL
IHNpZ25hbHMgYXJlIGJlaW5nIGVtbWl0dGVkIGluIHJlc3BvbnNlIHRvIGV2ZW50cy4KIH0KIAog
dm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0
ay5jcHAKaW5kZXggM2Q2NzdiZC4uMjhjZTJkNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRs
ZXJBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcApAQCAtNDMsMjkgKzQzLDYg
QEAgdHlwZWRlZiBIYXNoTWFwPEF0a09iamVjdCosIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25I
YW5kbGVyKj4gTm90aWZpY2F0aW9uSGFuZGwKIFdURjo6VmVjdG9yPHVuc2lnbmVkPiBsaXN0ZW5l
cklkczsKIE5vdGlmaWNhdGlvbkhhbmRsZXJzTWFwIG5vdGlmaWNhdGlvbkhhbmRsZXJzOwogQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIqIGdsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIg
PSBudWxscHRyOwotYm9vbCBsb2dnaW5nQWNjZXNzaWJpbGl0eUV2ZW50cyA9IGZhbHNlOwotCi12
b2lkIHByaW50QWNjZXNzaWJpbGl0eUV2ZW50KEF0a09iamVjdCogYWNjZXNzaWJsZSwgY29uc3Qg
Y2hhciogc2lnbmFsTmFtZSwgY29uc3QgY2hhciogc2lnbmFsVmFsdWUpCi17Ci0gICAgLy8gRG8g
bm90IGhhbmRsZSBzdGF0ZS1jaGFuZ2U6ZGVmdW5jdCBzaWduYWxzLCBhcyB0aGUgQXRrT2JqZWN0
Ci0gICAgLy8gYXNzb2NpYXRlZCB0byB0aGVtIHdpbGwgbm90IGJlIHZhbGlkIGF0IHRoaXMgcG9p
bnQgYWxyZWFkeS4KLSAgICBpZiAoIXNpZ25hbE5hbWUgfHwgIWdfc3RyY21wMChzaWduYWxOYW1l
LCAic3RhdGUtY2hhbmdlOmRlZnVuY3QiKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFh
Y2Nlc3NpYmxlIHx8ICFBVEtfSVNfT0JKRUNUKGFjY2Vzc2libGUpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBjb25zdCBjaGFyKiBvYmplY3ROYW1lID0gYXRrX29iamVjdF9nZXRfbmFtZShhY2Nl
c3NpYmxlKTsKLSAgICBBdGtSb2xlIG9iamVjdFJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKGFj
Y2Vzc2libGUpOwotCi0gICAgLy8gVHJ5IHRvIGFsd2F5cyBwcm92aWRlIGEgbmFtZSB0byBiZSBs
b2dnZWQgZm9yIHRoZSBvYmplY3QuCi0gICAgaWYgKCFvYmplY3ROYW1lIHx8ICpvYmplY3ROYW1l
ID09ICdcMCcpCi0gICAgICAgIG9iamVjdE5hbWUgPSAiKE5vIG5hbWUpIjsKLQotICAgIEdVbmlx
dWVQdHI8Y2hhcj4gc2lnbmFsTmFtZUFuZFZhbHVlKHNpZ25hbFZhbHVlID8gZ19zdHJkdXBfcHJp
bnRmKCIlcyA9ICVzIiwgc2lnbmFsTmFtZSwgc2lnbmFsVmFsdWUpIDogZ19zdHJkdXAoc2lnbmFs
TmFtZSkpOwotICAgIEdVbmlxdWVQdHI8Y2hhcj4gYWNjZXNzaWJpbGl0eUV2ZW50U3RyaW5nKGdf
c3RyZHVwX3ByaW50ZigiQWNjZXNzaWJpbGl0eSBvYmplY3QgZW1pdHRlZCBcIiVzXCIgLyBOYW1l
OiBcIiVzXCIgLyBSb2xlOiAlZFxuIiwgc2lnbmFsTmFtZUFuZFZhbHVlLmdldCgpLCBvYmplY3RO
YW1lLCBvYmplY3RSb2xlKSk7Ci0gICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLm91dHB1dFRl
eHQoU3RyaW5nOjpmcm9tVVRGOChhY2Nlc3NpYmlsaXR5RXZlbnRTdHJpbmcuZ2V0KCkpKTsKLX0K
IAogZ2Jvb2xlYW4gYXhPYmplY3RFdmVudExpc3RlbmVyKEdTaWduYWxJbnZvY2F0aW9uSGludCog
c2lnbmFsSGludCwgdW5zaWduZWQgbnVtUGFyYW1WYWx1ZXMsIGNvbnN0IEdWYWx1ZSogcGFyYW1W
YWx1ZXMsIGdwb2ludGVyIGRhdGEpCiB7CkBAIC0xMjUsOSArMTAyLDYgQEAgZ2Jvb2xlYW4gYXhP
YmplY3RFdmVudExpc3RlbmVyKEdTaWduYWxJbnZvY2F0aW9uSGludCogc2lnbmFsSGludCwgdW5z
aWduZWQgbnVtUGEKICAgICB9IGVsc2UKICAgICAgICAgc2lnbmFsTmFtZS5yZXNldChnX3N0cmR1
cChzaWduYWxRdWVyeS5zaWduYWxfbmFtZSkpOwogCi0gICAgaWYgKGxvZ2dpbmdBY2Nlc3NpYmls
aXR5RXZlbnRzKQotICAgICAgICBwcmludEFjY2Vzc2liaWxpdHlFdmVudChhY2Nlc3NpYmxlLCBz
aWduYWxOYW1lLmdldCgpLCBzaWduYWxWYWx1ZS5nZXQoKSk7Ci0KICAgICBpZiAoIWpzQ29udGV4
dCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTE3NCwxMiArMTQ4LDYgQEAgQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbkhhbmRsZXI6On5BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxl
cigpCiAgICAgZGlzY29ubmVjdEFjY2Vzc2liaWxpdHlDYWxsYmFja3MoKTsKIH0KIAotdm9pZCBB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlcjo6bG9nQWNjZXNzaWJpbGl0eUV2ZW50cygp
Ci17Ci0gICAgY29ubmVjdEFjY2Vzc2liaWxpdHlDYWxsYmFja3MoKTsKLSAgICBsb2dnaW5nQWNj
ZXNzaWJpbGl0eUV2ZW50cyA9IHRydWU7Ci19Ci0KIHZvaWQgQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXI6OnNldE5vdGlmaWNhdGlvbkZ1bmN0aW9uQ2FsbGJhY2soSlNWYWx1ZVJlZiBu
b3RpZmljYXRpb25GdW5jdGlvbkNhbGxiYWNrKQogewogICAgIGlmICghbm90aWZpY2F0aW9uRnVu
Y3Rpb25DYWxsYmFjaykgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25IYW5kbGVyQXRrLmgKaW5kZXggMzQ0M2JjZS4uYzg0ZTRkYyAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkhhbmRsZXJBdGsuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCkBAIC00
Miw3ICs0Miw2IEBAIHB1YmxpYzoKICAgICBHUmVmUHRyPEF0a09iamVjdD4gcGxhdGZvcm1FbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUVsZW1lbnQ7IH0KICAgICB2b2lkIHNldE5v
dGlmaWNhdGlvbkZ1bmN0aW9uQ2FsbGJhY2soSlNWYWx1ZVJlZik7CiAgICAgSlNWYWx1ZVJlZiBu
b3RpZmljYXRpb25GdW5jdGlvbkNhbGxiYWNrKCkgY29uc3QgeyByZXR1cm4gbV9ub3RpZmljYXRp
b25GdW5jdGlvbkNhbGxiYWNrOyB9Ci0gICAgdm9pZCBsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCk7
CiAKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIoKTsKLS0g
CjEuOS4wCgo=
</data>
<flag name="review"
          id="256789"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>