<?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>158302</bug_id>
          
          <creation_ts>2016-06-02 05:41:34 -0700</creation_ts>
          <short_desc>Creating a TouchList with non Touch items should throw an exception</short_desc>
          <delta_ts>2016-06-10 08:58:20 -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>WebCore Misc.</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="Nael Ouedraogo">nael.ouedp</reporter>
          <assigned_to name="Nael Ouedraogo">nael.ouedp</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198515</commentid>
    <comment_count>0</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-02 05:41:34 -0700</bug_when>
    <thetext>Creating a TouchList with non Touch items should throw an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198523</commentid>
    <comment_count>1</comment_count>
      <attachid>280330</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-02 06:34:02 -0700</bug_when>
    <thetext>Created attachment 280330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198527</commentid>
    <comment_count>2</comment_count>
      <attachid>280331</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-02 08:41:50 -0700</bug_when>
    <thetext>Created attachment 280331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198529</commentid>
    <comment_count>3</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-02 08:49:29 -0700</bug_when>
    <thetext>This patch would also permit to fix an issue related to a discussion in bug 157985. It will make it possible to pass a Ref&amp;&amp; instead of RefPtr&amp;&amp; in TouchList::append().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198544</commentid>
    <comment_count>4</comment_count>
      <attachid>280331</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:25:50 -0700</bug_when>
    <thetext>Comment on attachment 280331
Patch

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

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:136
&gt; +    for (size_t i = 0; i &lt; state.argumentCount(); i++) {

++i

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:143
&gt;      return toJS(&amp;state, globalObject(), touchList);

return toJSNewlyCreated(&amp;state, globalObject(), WTFMove(touchList));

&gt; LayoutTests/fast/events/touch/script-tests/document-create-touch-list-crash.js:19
&gt;  

Can you add a test to make sure we do not throw if createTouchList() is called without parameter and no make sure that the list length is 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198546</commentid>
    <comment_count>5</comment_count>
      <attachid>280331</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:29:24 -0700</bug_when>
    <thetext>Comment on attachment 280331
Patch

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

&gt; LayoutTests/fast/events/touch/script-tests/document-create-touch-list-crash.js:8
&gt; +shouldThrow(&apos;document.createTouchList(undefined).item(0)&apos;);

I don&apos;t believe document.createTouchList(undefined) should throw. A variadic parameter is considered optional in Web IDL. So passing undefined should be equivalent to not passing any parameter in this case (since there is no default value for the parameter).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198547</commentid>
    <comment_count>6</comment_count>
      <attachid>280331</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:31:03 -0700</bug_when>
    <thetext>Comment on attachment 280331
Patch

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

&gt;&gt; LayoutTests/fast/events/touch/script-tests/document-create-touch-list-crash.js:8
&gt;&gt; +shouldThrow(&apos;document.createTouchList(undefined).item(0)&apos;);
&gt; 
&gt; I don&apos;t believe document.createTouchList(undefined) should throw. A variadic parameter is considered optional in Web IDL. So passing undefined should be equivalent to not passing any parameter in this case (since there is no default value for the parameter).

See:
https://heycam.github.io/webidl/#es-overloads (step 10.4)

Also from the IDL spec:
An argument is considered to be an optional argument if it is declared with the optional keyword. The final argument of a variadic operation is also considered to be an optional argument. Declaring an argument to be optional indicates that the argument value can be omitted when the operation is invoked. The final argument in an operation must not explicitly be declared to be optional if the operation is variadic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198548</commentid>
    <comment_count>7</comment_count>
      <attachid>280331</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:34:26 -0700</bug_when>
    <thetext>Comment on attachment 280331
Patch

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

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:137
&gt; +        auto* item = JSTouch::toWrapped(state.argument(i));

Should be state.uncheckedArgument(i)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198549</commentid>
    <comment_count>8</comment_count>
      <attachid>280331</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-02 09:37:09 -0700</bug_when>
    <thetext>Comment on attachment 280331
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:137
&gt;&gt; +        auto* item = JSTouch::toWrapped(state.argument(i));
&gt; 
&gt; Should be state.uncheckedArgument(i)

Maybe something like this:
JSValue argument = state.uncheckedArgument(I);
If (argument.isUndefined())
    continue;
auto* touch = JSTouch::toWrapped(argument);
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199590</commentid>
    <comment_count>9</comment_count>
      <attachid>280602</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-06 09:48:03 -0700</bug_when>
    <thetext>Created attachment 280602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199591</commentid>
    <comment_count>10</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-06 09:52:53 -0700</bug_when>
    <thetext>Thanks for the review.

Ok I modified tests in uploaded patch. It is checked that no exception is thrown when createTouchList() is called without parameter. The list length is also checked.

Concerning support of &quot;undefined&quot; arguments, it seems that they should be converted to the type of the variadic as would be done for non-optional arguments (c.f. http://heycam.github.io/webidl/#es-overloads. step 16. last sentence of the note).
Conversion of Touch objects from undefined should thus throw a TypeError exception as per section 4.2.19 (http://heycam.github.io/webidl/#es-object).

I also tried to remove the custom binding since probably not necessary here but a compilation error is observed in GObject binding code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199668</commentid>
    <comment_count>11</comment_count>
      <attachid>280602</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-06 12:19:31 -0700</bug_when>
    <thetext>Comment on attachment 280602
Patch

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

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:137
&gt; +        if (!state.uncheckedArgument(i).inherits(JSTouch::info()))

Why not null check the value returned by JSTouch::toWrapped() instead? JSTouch::toWrapped() already does a inherits(JSTouch::info()) check internally.

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:138
&gt; +            return JSValue::decode(throwArgumentTypeError(state, i, &quot;touches&quot;, &quot;Document&quot;, &quot;createTouchList&quot;, &quot;TouchList&quot;));

The last parameter should probably be &quot;Touch&quot;.

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:140
&gt; +        auto* item = JSTouch::toWrapped(state.argument(i));

uncheckedArgument(i)

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:142
&gt; +        touchList-&gt;append(item);

In a follow-up patch, we should update append() to take a reference instead of a raw pointer.

&gt; LayoutTests/fast/events/touch/document-create-touch-list-crash-expected.txt:14
&gt; +PASS document.createTouchList(t, document, t2); threw exception TypeError: Argument 2 (&apos;touches&apos;) to Document.createTouchList must be an instance of TouchList.

The message should probably says &quot;... Must be an instance of Touch.&quot;, not TouchList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199968</commentid>
    <comment_count>12</comment_count>
      <attachid>280683</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-07 01:28:37 -0700</bug_when>
    <thetext>Created attachment 280683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199975</commentid>
    <comment_count>13</comment_count>
      <attachid>280683</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-07 01:59:32 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

r=me
Might be worth looking at updating the binding generated code for variadics and applying it for touch lists and more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199980</commentid>
    <comment_count>14</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-07 02:41:27 -0700</bug_when>
    <thetext>Thanks for reviews. 

I made the corrections suggested by Chris in the uploaded patch. 
I file also a new bug (bug 158469) to pass a Ref instead of RefPtr in TouchList::append() method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199985</commentid>
    <comment_count>15</comment_count>
      <attachid>280683</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-07 03:05:27 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

Clearing flags on attachment: 280683

Committed r201747: &lt;http://trac.webkit.org/changeset/201747&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199986</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-07 03:05:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200059</commentid>
    <comment_count>17</comment_count>
      <attachid>280683</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-07 08:58:51 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

Darn, Youenn stole my review :) Anyway, belated lgtm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201132</commentid>
    <comment_count>18</comment_count>
      <attachid>280683</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-09 20:31:36 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

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

&gt; Source/WebCore/bindings/js/JSDocumentCustom.cpp:143
&gt;      auto touchList = TouchList::create();
&gt;  
&gt; -    for (size_t i = 0; i &lt; state.argumentCount(); i++)
&gt; -        touchList-&gt;append(JSTouch::toWrapped(state.argument(i)));
&gt; +    for (size_t i = 0; i &lt; state.argumentCount(); ++i) {
&gt; +        auto* item = JSTouch::toWrapped(state.uncheckedArgument(i));
&gt; +        if (!item)
&gt; +            return JSValue::decode(throwArgumentTypeError(state, i, &quot;touches&quot;, &quot;Document&quot;, &quot;createTouchList&quot;, &quot;Touch&quot;));
&gt;  
&gt; -    return toJS(&amp;state, globalObject(), touchList);
&gt; +        touchList-&gt;append(item);
&gt; +    }
&gt; +    return toJSNewlyCreated(&amp;state, globalObject(), WTFMove(touchList));

Paragraphing here is a little peculiar. If there’s a space before the loop, then I suggest a space after the loop too.

&gt; Source/WebCore/dom/Document.idl:304
&gt; -    [NewObject, Custom, RaisesException] TouchList createTouchList();
&gt; +    [NewObject, Custom] TouchList createTouchList(Touch... touches);

What was the rationale for removing RaisesException?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201133</commentid>
    <comment_count>19</comment_count>
      <attachid>280683</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-09 20:32:33 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

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

&gt;&gt; Source/WebCore/dom/Document.idl:304
&gt;&gt; +    [NewObject, Custom] TouchList createTouchList(Touch... touches);
&gt; 
&gt; What was the rationale for removing RaisesException?

Oh, I understand now. The only exception that can occur is in argument handling, not in the function itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201134</commentid>
    <comment_count>20</comment_count>
      <attachid>280683</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-09 20:34:20 -0700</bug_when>
    <thetext>Comment on attachment 280683
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/Document.idl:304
&gt;&gt;&gt; +    [NewObject, Custom] TouchList createTouchList(Touch... touches);
&gt;&gt; 
&gt;&gt; What was the rationale for removing RaisesException?
&gt; 
&gt; Oh, I understand now. The only exception that can occur is in argument handling, not in the function itself.

Well, it is marked as [Custom] so [NewObject] and [RaisesException] have no impact anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201243</commentid>
    <comment_count>21</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-06-10 08:58:20 -0700</bug_when>
    <thetext>For a regular binding only NewObject attribute is needed for createTouchList. 
Thus to remove the custom binding we need just to delete &quot;Custom&quot; word.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280330</attachid>
            <date>2016-06-02 06:34:02 -0700</date>
            <delta_ts>2016-06-02 08:41:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158302-20160602153520.patch</filename>
            <type>text/plain</type>
            <size>7280</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZjY2I2MTkwN2U2MTM2
YzUyYTJlYjE2NjU0NTZiNzJhODViMWNkMC4uNjZmMzZmOWRhZTY1MWFhZmFhYzM5MWI3NDdjZTI1
MDM2OWNkNDMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA2LTAyICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDcmVh
dGluZyBhIFRvdWNoTGlzdCB3aXRoIG5vbiBUb3VjaCBpdGVtcyBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTgzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBP
bmx5IFRvdWNoIGl0ZW1zIHNob3VsZCBiZSBwYXNzZWQgdG8gQ3JlYXRlVG91Y2hMaXN0IGZ1bmN0
aW9uIGFzIHBlciBzcGVjaWZpY2F0aW9uCisgICAgICAgIChodHRwczovL3czYy5naXRodWIuaW8v
dG91Y2gtZXZlbnRzLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudC1pbnRlcmZhY2UpLgorICAg
ICAgICBDcmVhdGVUb3VjaExpc3QgZnVuY3Rpb24gYmVoYXZpb3IgaXMgbW9kaWZpZWQuIEFuIGV4
Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiBub24gVG91Y2ggaXRlbXMKKyAgICAgICAgYXJlIHBhc3Nl
ZCBhcyBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgYWRkaW5nIG51bGwgaXRlbXMgaW4gdGhlIFRvdWNo
TGlzdC4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhl
ciBiZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEb2N1
bWVudDo6Y3JlYXRlVG91Y2hMaXN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCiAy
MDE2LTA2LTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbV2F5bGFuZF0gUGxhdGZvcm1EaXNwbGF5V2F5bGFuZCBkZXN0cnVjdG9yIGlzIHN1
cGVyIGNyYXNoeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1
bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcAppbmRleCA4MGVjMThlMzVhZjkwY2Y4YjU3ZDM2YTAwZTVhOTQ4NDRkM2Q1OGJkLi40
NTE5OGVmZDRjM2RmMTNjZWYyOTRmNjA0MWU0ODYyMDNhMTQyNWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTMzLDkgKzEzMywx
MyBAQCBKU1ZhbHVlIEpTRG9jdW1lbnQ6OmNyZWF0ZVRvdWNoTGlzdChFeGVjU3RhdGUmIHN0YXRl
KQogewogICAgIGF1dG8gdG91Y2hMaXN0ID0gVG91Y2hMaXN0OjpjcmVhdGUoKTsKIAotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyBpKyspCi0gICAgICAg
IHRvdWNoTGlzdC0+YXBwZW5kKEpTVG91Y2g6OnRvV3JhcHBlZChzdGF0ZS5hcmd1bWVudChpKSkp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyBpKysp
IHsKKyAgICAgICAgYXV0byogaXRlbSA9IEpTVG91Y2g6OnRvV3JhcHBlZChzdGF0ZS5hcmd1bWVu
dChpKSk7CisgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcigmc3RhdGUsICJDYW5ub3QgY3JlYXRlIGEgVG91Y2hMaXN0IGZyb20gbm9uLVRvdWNoIGl0
ZW1zIik7CiAKKyAgICAgICAgdG91Y2hMaXN0LT5hcHBlbmQoaXRlbSk7CisgICAgfQogICAgIHJl
dHVybiB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0KCksIHRvdWNoTGlzdCk7CiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGUxM2Q3MGQ4Y2YwZjlmMDllMmQ2ZDQyMWRiNTUw
NzljNzAzNWVkODcuLjg3NWViYmFkNzgyNGQwZWUxYTJlMGQyZDliMmIwNTY0N2U4YmFiMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzAxLDcgKzMwMSw3IEBACiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBsb25nIHdlYmtp
dFJhZGl1c1kgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdFJvdGF0aW9uQW5nbGUg
PSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2Via2l0Rm9yY2UgPSBOYU4pOwotICAgIFtO
ZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hM
aXN0KCk7CisgICAgW05ld09iamVjdCwgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoTGlz
dCBjcmVhdGVUb3VjaExpc3QoVG91Y2guLi4gdG91Y2hlcyk7CiAjZW5kaWYKIAogI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJi
MTgwNzI4YzFlNjc5ZWFkNGZmNmY1MTU2ZWUzOTE4MGMyOTk2MjEuLmUzYzNhNGUwZTRjNTUyMTU1
MjBjZDViOGE1NDhhMDAyNmU3OGM4OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0wNi0w
MiAgTmFlbCBPdWVkcmFvZ28gIDxuYWVsLm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CisKKyAgICAg
ICAgQ3JlYXRpbmcgYSBUb3VjaExpc3Qgd2l0aCBub24gVG91Y2ggaXRlbXMgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU4MzAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgT25seSBUb3VjaCBpdGVtcyBzaG91bGQgYmUgcGFzc2VkIHRvIENyZWF0ZVRvdWNoTGlz
dCBmdW5jdGlvbiBhcworICAgICAgICBwZXIgc3BlY2lmaWNhdGlvbiAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3RvdWNoLWV2ZW50cy8jZXh0ZW5zaW9ucy10by10aGUtZG9jdW1lbnQtaW50ZXJmYWNl
KS4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhlciBi
ZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKyAgICAgICAgKiBmYXN0L2V2
ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3Vj
aC1saXN0LWNyYXNoLmpzOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL3NjcmlwdC10ZXN0
cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qczoKKwogMjAxNi0wNi0wMSAgQmVuamFtaW4g
UG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBTb21lIHNldHRl
cnMgZm9yIGNvbXBvbmVudHMgb2YgRGF0ZSBkbyBub3QgdGltZUNsaXAoKSB0aGVpciByZXN1bHQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0
ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dAppbmRleCAyMTM4NmVjYzI1
NjIxMWNkMTJjNDQ3ZWFkNWRmOGY1ZjYwOGE0MGM3Li42YTZkMjM3YjZjZDA4ZTQ4MmYyMzk2ZjI5
NDNlNDY4Y2UyOTA4MDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtZXhwZWN0ZWQu
dHh0CkBAIC0xNyw2ICsxNyw3IEBAIFBBU1MgdHMudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEy
MzQxCiBQQVNTIHRzLnRvdWNoZXNbMF0uY2xpZW50WCBpcyA2MAogUEFTUyB0cy50b3VjaGVzWzFd
LnNjcmVlblkgaXMgMTIwCiBQQVNTIHRzLmN0cmxLZXkgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5j
cmVhdGVUb3VjaExpc3QoMSwgMikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNy
ZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5vbi1Ub3VjaCBpdGVtcy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0
LWNyYXNoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2Rv
Y3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLmpzCmluZGV4IDVhYzAxYTVjODc1NmE2NWM4
YmZhNjA0N2I0MWI1YWU5MGEwYjg3ZTcuLjMwNDhhNTUzM2ExZGIwMDkyN2ZiYjVlMjQ5MzZiMjIy
NmI5MTBiOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Njcmlw
dC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNo
LWxpc3QtY3Jhc2guanMKQEAgLTEsMTkgKzEsMjAgQEAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0IFdlYktpdCBkb2Vzbid0IGNyYXNoIHdoZW4gdGhlIGRvY3VtZW50LmNyZWF0
ZVRvdWNoTGlzdCBBUEkgaXMgY2FsbGVkIHdpdGggbm9uLVRvdWNoIHBhcmFtZXRlcnMiKTsKIAot
c2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0ZW0oMCkn
KTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHsiYSI6MX0pLml0ZW0o
MCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1
KSkuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0
cmluZyIpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KG51bGwpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRvdWNo
TGlzdChkb2N1bWVudCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRv
dWNoTGlzdCh7ImEiOjF9KS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1lbnQuY3JlYXRl
VG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCgic3RyaW5nIikuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3Vt
ZW50LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1l
bnQuY3JlYXRlVG91Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKScpOwogCiB2YXIgdCA9IGRvY3Vt
ZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgZG9jdW1lbnQuYm9keSwgMTIzNDEsIDYwLCA2NSwgMTAw
LCAxMDUpOwogdmFyIHQyID0gZG9jdW1lbnQuY3JlYXRlVG91Y2god2luZG93LCBkb2N1bWVudC5i
b2R5LCAxMjM0MiwgNTAsIDU1LCAxMTUsIDEyMCk7Ci12YXIgdGwgPSBkb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QodCwgZG9jdW1lbnQsIHQyKTsKIAotc2hvdWxkQmUoJ3RsLmxlbmd0aCcsICczJyk7
CitzaG91bGRUaHJvdygnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHQsIGRvY3VtZW50LCB0Mik7
Jyk7CisKK3ZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh0LCB0Mik7CitzaG91bGRC
ZSgndGwubGVuZ3RoJywgJzInKTsKIHNob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgwKScpOwotc2hv
dWxkQmVOdWxsKCd0bC5pdGVtKDEpJyk7Ci1zaG91bGRCZU5vbk51bGwoJ3RsLml0ZW0oMiknKTsK
K3Nob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgxKScpOwogCiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3Rz
L2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzCmluZGV4IDU2
ZGU1MjQ3YTY2YTUzZTFmZjA0OTdhNjFmMDBhNTFmZTM3MDM1NGEuLmU2YTQ1OTUxYzQxNmFiZGEw
NjcwNTE1MzBkYmIxNTVmMWVkZDcwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL3NjcmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3Jl
YXRlLXRvdWNoLWxpc3QuanMKQEAgLTM3LDEwICszNyw3IEBAIHRyeSB7CiB9CiAKIC8vIFRlc3Qg
Y3JlYXRlVG91Y2hMaXN0IHdpdGggaW52YWxpZCBhcmd1bWVudHMgd2hpY2ggdGhyb3dzIGV4Y2Vw
dGlvbnMuCi10cnkgewotICAgIHZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgxLCAy
KTsKLX0gY2F0Y2goZSkgewotICAgIHRlc3RGYWlsZWQoIkFuIGV4Y2VwdGlvbiB3YXMgdGhyb3du
OiAiICsgZS5tZXNzYWdlKTsKLX0KK3Nob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVUb3VjaExp
c3QoMSwgMikiKTsKKwogaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280331</attachid>
            <date>2016-06-02 08:41:50 -0700</date>
            <delta_ts>2016-06-06 09:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158302-20160602174308.patch</filename>
            <type>text/plain</type>
            <size>9389</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZjY2I2MTkwN2U2MTM2
YzUyYTJlYjE2NjU0NTZiNzJhODViMWNkMC4uNjZmMzZmOWRhZTY1MWFhZmFhYzM5MWI3NDdjZTI1
MDM2OWNkNDMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA2LTAyICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDcmVh
dGluZyBhIFRvdWNoTGlzdCB3aXRoIG5vbiBUb3VjaCBpdGVtcyBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTgzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBP
bmx5IFRvdWNoIGl0ZW1zIHNob3VsZCBiZSBwYXNzZWQgdG8gQ3JlYXRlVG91Y2hMaXN0IGZ1bmN0
aW9uIGFzIHBlciBzcGVjaWZpY2F0aW9uCisgICAgICAgIChodHRwczovL3czYy5naXRodWIuaW8v
dG91Y2gtZXZlbnRzLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudC1pbnRlcmZhY2UpLgorICAg
ICAgICBDcmVhdGVUb3VjaExpc3QgZnVuY3Rpb24gYmVoYXZpb3IgaXMgbW9kaWZpZWQuIEFuIGV4
Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiBub24gVG91Y2ggaXRlbXMKKyAgICAgICAgYXJlIHBhc3Nl
ZCBhcyBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgYWRkaW5nIG51bGwgaXRlbXMgaW4gdGhlIFRvdWNo
TGlzdC4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhl
ciBiZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEb2N1
bWVudDo6Y3JlYXRlVG91Y2hMaXN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCiAy
MDE2LTA2LTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbV2F5bGFuZF0gUGxhdGZvcm1EaXNwbGF5V2F5bGFuZCBkZXN0cnVjdG9yIGlzIHN1
cGVyIGNyYXNoeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1
bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcAppbmRleCA4MGVjMThlMzVhZjkwY2Y4YjU3ZDM2YTAwZTVhOTQ4NDRkM2Q1OGJkLi40
NTE5OGVmZDRjM2RmMTNjZWYyOTRmNjA0MWU0ODYyMDNhMTQyNWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTMzLDkgKzEzMywx
MyBAQCBKU1ZhbHVlIEpTRG9jdW1lbnQ6OmNyZWF0ZVRvdWNoTGlzdChFeGVjU3RhdGUmIHN0YXRl
KQogewogICAgIGF1dG8gdG91Y2hMaXN0ID0gVG91Y2hMaXN0OjpjcmVhdGUoKTsKIAotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyBpKyspCi0gICAgICAg
IHRvdWNoTGlzdC0+YXBwZW5kKEpTVG91Y2g6OnRvV3JhcHBlZChzdGF0ZS5hcmd1bWVudChpKSkp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGUuYXJndW1lbnRDb3VudCgpOyBpKysp
IHsKKyAgICAgICAgYXV0byogaXRlbSA9IEpTVG91Y2g6OnRvV3JhcHBlZChzdGF0ZS5hcmd1bWVu
dChpKSk7CisgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcigmc3RhdGUsICJDYW5ub3QgY3JlYXRlIGEgVG91Y2hMaXN0IGZyb20gbm9uLVRvdWNoIGl0
ZW1zIik7CiAKKyAgICAgICAgdG91Y2hMaXN0LT5hcHBlbmQoaXRlbSk7CisgICAgfQogICAgIHJl
dHVybiB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0KCksIHRvdWNoTGlzdCk7CiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGUxM2Q3MGQ4Y2YwZjlmMDllMmQ2ZDQyMWRiNTUw
NzljNzAzNWVkODcuLjg3NWViYmFkNzgyNGQwZWUxYTJlMGQyZDliMmIwNTY0N2U4YmFiMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzAxLDcgKzMwMSw3IEBACiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBsb25nIHdlYmtp
dFJhZGl1c1kgPSAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdFJvdGF0aW9uQW5nbGUg
PSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgd2Via2l0Rm9yY2UgPSBOYU4pOwotICAgIFtO
ZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hM
aXN0KCk7CisgICAgW05ld09iamVjdCwgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIFRvdWNoTGlz
dCBjcmVhdGVUb3VjaExpc3QoVG91Y2guLi4gdG91Y2hlcyk7CiAjZW5kaWYKIAogI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJi
MTgwNzI4YzFlNjc5ZWFkNGZmNmY1MTU2ZWUzOTE4MGMyOTk2MjEuLmZhYzc2NWIxMjNhZjU0OTQ3
MmNmMDlhOWM2M2JiNzRkN2U5YjdiNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNi0wNi0w
MiAgTmFlbCBPdWVkcmFvZ28gIDxuYWVsLm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CisKKyAgICAg
ICAgQ3JlYXRpbmcgYSBUb3VjaExpc3Qgd2l0aCBub24gVG91Y2ggaXRlbXMgc2hvdWxkIHRocm93
IGFuIGV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU4MzAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgT25seSBUb3VjaCBpdGVtcyBzaG91bGQgYmUgcGFzc2VkIHRvIENyZWF0ZVRvdWNoTGlz
dCBmdW5jdGlvbiBhcworICAgICAgICBwZXIgc3BlY2lmaWNhdGlvbiAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3RvdWNoLWV2ZW50cy8jZXh0ZW5zaW9ucy10by10aGUtZG9jdW1lbnQtaW50ZXJmYWNl
KS4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhlciBi
ZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKworICAgICAgICAqIGZhc3Qv
ZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlz
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3Rz
L2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLmpzOgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL3NjcmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qczoKKwog
MjAxNi0wNi0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBTb21lIHNldHRlcnMgZm9yIGNvbXBvbmVudHMgb2YgRGF0ZSBkbyBub3QgdGlt
ZUNsaXAoKSB0aGVpciByZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNy
YXNoLWV4cGVjdGVkLnR4dAppbmRleCA4NDg3MTJhZTJjOTVhZjg3MGI1ZjEwNzg4YmViN2U2NjFj
NDBlYzI3Li45YjcxMDg0NTFiMjExMGRlODI3MGVjODEwZTRiN2M1MjhhN2RiYjZmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gt
bGlzdC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91
Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0zLDE2
ICszLDE2IEBAIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgV2ViS2l0IGRvZXNuJ3QgY3Jhc2ggd2hl
biB0aGUgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IEFQCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCiAKIAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0ZW0oMCkg
aXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoeyJhIjoxfSkuaXRlbSgwKSBp
cyBudWxsCi1QQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdChuZXcgQXJyYXkoNSkpLml0ZW0o
MCkgaXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0cmluZyIpLml0ZW0o
MCkgaXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QobnVsbCkuaXRlbSgwKSBp
cyBudWxsCi1QQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh1bmRlZmluZWQpLml0ZW0oMCkg
aXMgbnVsbAotUEFTUyB0bC5sZW5ndGggaXMgMworUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExp
c3QoZG9jdW1lbnQpLml0ZW0oMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNy
ZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5vbi1Ub3VjaCBpdGVtcy4KK1BBU1MgZG9jdW1lbnQuY3Jl
YXRlVG91Y2hMaXN0KHsiYSI6MX0pLml0ZW0oMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Q2Fubm90IGNyZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5vbi1Ub3VjaCBpdGVtcy4KK1BBU1MgZG9j
dW1lbnQuY3JlYXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBDYW5ub3QgY3JlYXRlIGEgVG91Y2hMaXN0IGZyb20gbm9uLVRvdWNoIGl0
ZW1zLgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0cmluZyIpLml0ZW0oMCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNyZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5v
bi1Ub3VjaCBpdGVtcy4KK1BBU1MgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KG51bGwpLml0ZW0o
MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNyZWF0ZSBhIFRvdWNoTGlzdCBm
cm9tIG5vbi1Ub3VjaCBpdGVtcy4KK1BBU1MgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHVuZGVm
aW5lZCkuaXRlbSgwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDYW5ub3QgY3JlYXRlIGEg
VG91Y2hMaXN0IGZyb20gbm9uLVRvdWNoIGl0ZW1zLgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3Vj
aExpc3QodCwgZG9jdW1lbnQsIHQyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90
IGNyZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5vbi1Ub3VjaCBpdGVtcy4KK1BBU1MgdGwubGVuZ3Ro
IGlzIDIKIFBBU1MgdGwuaXRlbSgwKSBpcyBub24tbnVsbC4KLVBBU1MgdGwuaXRlbSgxKSBpcyBu
dWxsCi1QQVNTIHRsLml0ZW0oMikgaXMgbm9uLW51bGwuCitQQVNTIHRsLml0ZW0oMSkgaXMgbm9u
LW51bGwuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0
ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dAppbmRleCAyMTM4NmVjYzI1
NjIxMWNkMTJjNDQ3ZWFkNWRmOGY1ZjYwOGE0MGM3Li42YTZkMjM3YjZjZDA4ZTQ4MmYyMzk2ZjI5
NDNlNDY4Y2UyOTA4MDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtZXhwZWN0ZWQu
dHh0CkBAIC0xNyw2ICsxNyw3IEBAIFBBU1MgdHMudG91Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEy
MzQxCiBQQVNTIHRzLnRvdWNoZXNbMF0uY2xpZW50WCBpcyA2MAogUEFTUyB0cy50b3VjaGVzWzFd
LnNjcmVlblkgaXMgMTIwCiBQQVNTIHRzLmN0cmxLZXkgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5j
cmVhdGVUb3VjaExpc3QoMSwgMikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IGNy
ZWF0ZSBhIFRvdWNoTGlzdCBmcm9tIG5vbi1Ub3VjaCBpdGVtcy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0
LWNyYXNoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2Rv
Y3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLmpzCmluZGV4IDVhYzAxYTVjODc1NmE2NWM4
YmZhNjA0N2I0MWI1YWU5MGEwYjg3ZTcuLjMwNDhhNTUzM2ExZGIwMDkyN2ZiYjVlMjQ5MzZiMjIy
NmI5MTBiOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Njcmlw
dC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNo
LWxpc3QtY3Jhc2guanMKQEAgLTEsMTkgKzEsMjAgQEAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0IFdlYktpdCBkb2Vzbid0IGNyYXNoIHdoZW4gdGhlIGRvY3VtZW50LmNyZWF0
ZVRvdWNoTGlzdCBBUEkgaXMgY2FsbGVkIHdpdGggbm9uLVRvdWNoIHBhcmFtZXRlcnMiKTsKIAot
c2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0ZW0oMCkn
KTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHsiYSI6MX0pLml0ZW0o
MCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1
KSkuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0
cmluZyIpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KG51bGwpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRvdWNo
TGlzdChkb2N1bWVudCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRv
dWNoTGlzdCh7ImEiOjF9KS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1lbnQuY3JlYXRl
VG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCgic3RyaW5nIikuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3Vt
ZW50LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1l
bnQuY3JlYXRlVG91Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKScpOwogCiB2YXIgdCA9IGRvY3Vt
ZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgZG9jdW1lbnQuYm9keSwgMTIzNDEsIDYwLCA2NSwgMTAw
LCAxMDUpOwogdmFyIHQyID0gZG9jdW1lbnQuY3JlYXRlVG91Y2god2luZG93LCBkb2N1bWVudC5i
b2R5LCAxMjM0MiwgNTAsIDU1LCAxMTUsIDEyMCk7Ci12YXIgdGwgPSBkb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QodCwgZG9jdW1lbnQsIHQyKTsKIAotc2hvdWxkQmUoJ3RsLmxlbmd0aCcsICczJyk7
CitzaG91bGRUaHJvdygnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHQsIGRvY3VtZW50LCB0Mik7
Jyk7CisKK3ZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh0LCB0Mik7CitzaG91bGRC
ZSgndGwubGVuZ3RoJywgJzInKTsKIHNob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgwKScpOwotc2hv
dWxkQmVOdWxsKCd0bC5pdGVtKDEpJyk7Ci1zaG91bGRCZU5vbk51bGwoJ3RsLml0ZW0oMiknKTsK
K3Nob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgxKScpOwogCiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3Rz
L2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzCmluZGV4IDU2
ZGU1MjQ3YTY2YTUzZTFmZjA0OTdhNjFmMDBhNTFmZTM3MDM1NGEuLmU2YTQ1OTUxYzQxNmFiZGEw
NjcwNTE1MzBkYmIxNTVmMWVkZDcwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL3NjcmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3Jl
YXRlLXRvdWNoLWxpc3QuanMKQEAgLTM3LDEwICszNyw3IEBAIHRyeSB7CiB9CiAKIC8vIFRlc3Qg
Y3JlYXRlVG91Y2hMaXN0IHdpdGggaW52YWxpZCBhcmd1bWVudHMgd2hpY2ggdGhyb3dzIGV4Y2Vw
dGlvbnMuCi10cnkgewotICAgIHZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgxLCAy
KTsKLX0gY2F0Y2goZSkgewotICAgIHRlc3RGYWlsZWQoIkFuIGV4Y2VwdGlvbiB3YXMgdGhyb3du
OiAiICsgZS5tZXNzYWdlKTsKLX0KK3Nob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVUb3VjaExp
c3QoMSwgMikiKTsKKwogaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280602</attachid>
            <date>2016-06-06 09:48:03 -0700</date>
            <delta_ts>2016-06-07 01:28:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158302-20160606184926.patch</filename>
            <type>text/plain</type>
            <size>10007</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc5ZjUyMjRmYmUwYWJk
NTQ4NGNhMTZhN2NkMGQxZTRiNTc5ZTcxMC4uNGNkMDMxM2M3YWNhNDgzMDk2NzFkZDg3MjIzM2Fl
YWMzMTY4NDYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA2LTA2ICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDcmVh
dGluZyBhIFRvdWNoTGlzdCB3aXRoIG5vbiBUb3VjaCBpdGVtcyBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTgzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBP
bmx5IFRvdWNoIGl0ZW1zIHNob3VsZCBiZSBwYXNzZWQgdG8gQ3JlYXRlVG91Y2hMaXN0IGZ1bmN0
aW9uIGFzIHBlciBzcGVjaWZpY2F0aW9uCisgICAgICAgIChodHRwczovL3czYy5naXRodWIuaW8v
dG91Y2gtZXZlbnRzLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudC1pbnRlcmZhY2UpLgorICAg
ICAgICBDcmVhdGVUb3VjaExpc3QgZnVuY3Rpb24gYmVoYXZpb3IgaXMgbW9kaWZpZWQuIEFuIGV4
Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiBub24gVG91Y2ggaXRlbXMKKyAgICAgICAgYXJlIHBhc3Nl
ZCBhcyBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgYWRkaW5nIG51bGwgaXRlbXMgaW4gdGhlIFRvdWNo
TGlzdC4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhl
ciBiZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEb2N1
bWVudDo6Y3JlYXRlVG91Y2hMaXN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCiAy
MDE2LTA2LTA1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGV4
cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBzcHJpbmcgYmFzZWQgQ1NTIGFuaW1hdGlvbnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggODBl
YzE4ZTM1YWY5MGNmOGI1N2QzNmEwMGU1YTk0ODQ0ZDNkNThiZC4uNzhmMmRjYmQzNGUxZDkwNzUx
ZmU5MDgzNTQ5NzUwMWExNWU4ZmUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTEzMywxMCArMTMzLDE1IEBAIEpTVmFsdWUgSlNE
b2N1bWVudDo6Y3JlYXRlVG91Y2hMaXN0KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CiAgICAgYXV0byB0
b3VjaExpc3QgPSBUb3VjaExpc3Q6OmNyZWF0ZSgpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBzdGF0ZS5hcmd1bWVudENvdW50KCk7IGkrKykKLSAgICAgICAgdG91Y2hMaXN0LT5hcHBl
bmQoSlNUb3VjaDo6dG9XcmFwcGVkKHN0YXRlLmFyZ3VtZW50KGkpKSk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBzdGF0ZS5hcmd1bWVudENvdW50KCk7ICsraSkgeworICAgICAgICBpZiAo
IXN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KGkpLmluaGVyaXRzKEpTVG91Y2g6OmluZm8oKSkpCisg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKHRocm93QXJndW1lbnRUeXBlRXJyb3Io
c3RhdGUsIGksICJ0b3VjaGVzIiwgIkRvY3VtZW50IiwgImNyZWF0ZVRvdWNoTGlzdCIsICJUb3Vj
aExpc3QiKSk7CiAKLSAgICByZXR1cm4gdG9KUygmc3RhdGUsIGdsb2JhbE9iamVjdCgpLCB0b3Vj
aExpc3QpOworICAgICAgICBhdXRvKiBpdGVtID0gSlNUb3VjaDo6dG9XcmFwcGVkKHN0YXRlLmFy
Z3VtZW50KGkpKTsKKyAgICAgICAgQVNTRVJUKGl0ZW0pOworICAgICAgICB0b3VjaExpc3QtPmFw
cGVuZChpdGVtKTsKKyAgICB9CisgICAgcmV0dXJuIHRvSlNOZXdseUNyZWF0ZWQoJnN0YXRlLCBn
bG9iYWxPYmplY3QoKSwgV1RGTW92ZSh0b3VjaExpc3QpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAppbmRleCBlMTNkNzBkOGNmMGY5ZjA5ZTJkNmQ0MjFkYjU1MDc5YzcwMzVl
ZDg3Li42YzFmOTU2YzUwYTgxMzVlZmM1ZDUxNzk5NjRlNWJjNWU5ZTIzOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwKQEAgLTMwMSw3ICszMDEsNyBAQAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgbG9uZyB3ZWJraXRSYWRpdXNZ
ID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIHVucmVzdHJpY3RlZCBmbG9hdCB3ZWJraXRSb3RhdGlvbkFuZ2xlID0gTmFOLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u
YWwgdW5yZXN0cmljdGVkIGZsb2F0IHdlYmtpdEZvcmNlID0gTmFOKTsKLSAgICBbTmV3T2JqZWN0
LCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdCgpOwor
ICAgIFtOZXdPYmplY3QsIEN1c3RvbV0gVG91Y2hMaXN0IGNyZWF0ZVRvdWNoTGlzdChUb3VjaC4u
LiB0b3VjaGVzKTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAm
JiBMQU5HVUFHRV9KQVZBU0NSSVBUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2ZhNTk0NGYwM2IxOGRhOTdjYjM4MWQwODM5
ZDIwYjEyODc3YmI3MS4uZmE4OWI1MjEyNzljMzJiZTMzODZhNjk0ZWM3YTBmZGIxOWZmZWQxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA2LTA2ICBOYWVsIE91ZWRyYW9nbyAgPG5hZWwu
b3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDcmVhdGluZyBhIFRvdWNoTGlzdCB3
aXRoIG5vbiBUb3VjaCBpdGVtcyBzaG91bGQgdGhyb3cgYW4gZXhjZXB0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzMDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IFRvdWNoIGl0ZW1zIHNo
b3VsZCBiZSBwYXNzZWQgdG8gQ3JlYXRlVG91Y2hMaXN0IGZ1bmN0aW9uIGFzCisgICAgICAgIHBl
ciBzcGVjaWZpY2F0aW9uIChodHRwczovL3czYy5naXRodWIuaW8vdG91Y2gtZXZlbnRzLyNleHRl
bnNpb25zLXRvLXRoZS1kb2N1bWVudC1pbnRlcmZhY2UpLgorCisgICAgICAgIFRlc3RzIGhhdmUg
YmVlbiBtb2RpZmllZCB0byBjaGVjayB3aGV0aGVyIGJlaGF2aW9yIG9mIENyZWF0ZVRvdWNoTGlz
dCBpcyBjb3JyZWN0LgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3Jl
YXRlLXRvdWNoLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxp
c3QtY3Jhc2guanM6CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2Rv
Y3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzOgorCiAyMDE2LTA2LTA1ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBz
cHJpbmcgYmFzZWQgQ1NTIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1s
aXN0LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA4NDg3MTJhZTJjOTVhZjg3MGI1ZjEwNzg4YmVi
N2U2NjFjNDBlYzI3Li42NjM3NWU0NjhjNjdlMmMyNTZlMTQyYmRlMzZkMzMwZWU0YzJhMDI4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUt
dG91Y2gtbGlzdC1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0CkBA
IC0zLDE2ICszLDE4IEBAIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgV2ViS2l0IGRvZXNuJ3QgY3Jh
c2ggd2hlbiB0aGUgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IEFQCiBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCiAKIAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0
ZW0oMCkgaXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoeyJhIjoxfSkuaXRl
bSgwKSBpcyBudWxsCi1QQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdChuZXcgQXJyYXkoNSkp
Lml0ZW0oMCkgaXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0cmluZyIp
Lml0ZW0oMCkgaXMgbnVsbAotUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QobnVsbCkuaXRl
bSgwKSBpcyBudWxsCi1QQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh1bmRlZmluZWQpLml0
ZW0oMCkgaXMgbnVsbAotUEFTUyB0bC5sZW5ndGggaXMgMworUEFTUyBkb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QoZG9jdW1lbnQpLml0ZW0oMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3RvdWNoZXMnKSB0byBEb2N1bWVudC5jcmVhdGVUb3VjaExpc3QgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBUb3VjaExpc3QuCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh7
ImEiOjF9KS5pdGVtKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCd0
b3VjaGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgVG91Y2hMaXN0LgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QobmV3IEFycmF5KDUp
KS5pdGVtKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCd0b3VjaGVz
JykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVG91
Y2hMaXN0LgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0cmluZyIpLml0ZW0oMCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3RvdWNoZXMnKSB0byBEb2N1
bWVudC5jcmVhdGVUb3VjaExpc3QgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUb3VjaExpc3QuCitQ
QVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCd0b3VjaGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91
Y2hMaXN0IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVG91Y2hMaXN0LgorUEFTUyBkb2N1bWVudC5j
cmVhdGVUb3VjaExpc3QodW5kZWZpbmVkKS5pdGVtKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCd0b3VjaGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVG91Y2hMaXN0LgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3Vj
aExpc3QoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgZG9jdW1lbnQuY3JlYXRlVG91
Y2hMaXN0KCkubGVuZ3RoIGlzIDAKK1BBU1MgZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHQsIGRv
Y3VtZW50LCB0Mik7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCd0b3Vj
aGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
VG91Y2hMaXN0LgorUEFTUyB0bC5sZW5ndGggaXMgMgogUEFTUyB0bC5pdGVtKDApIGlzIG5vbi1u
dWxsLgotUEFTUyB0bC5pdGVtKDEpIGlzIG51bGwKLVBBU1MgdGwuaXRlbSgyKSBpcyBub24tbnVs
bC4KK1BBU1MgdGwuaXRlbSgxKSBpcyBub24tbnVsbC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtZXhw
ZWN0ZWQudHh0CmluZGV4IDIxMzg2ZWNjMjU2MjExY2QxMmM0NDdlYWQ1ZGY4ZjVmNjA4YTQwYzcu
Ljc2OWUwY2Y3ZDVhMzY2N2ZmMzViYmE3ZGE0MWI4YWMyZGFmZDRjNGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1j
cmVhdGUtdG91Y2gtbGlzdC1leHBlY3RlZC50eHQKQEAgLTE3LDYgKzE3LDcgQEAgUEFTUyB0cy50
b3VjaGVzWzBdLmlkZW50aWZpZXIgaXMgMTIzNDEKIFBBU1MgdHMudG91Y2hlc1swXS5jbGllbnRY
IGlzIDYwCiBQQVNTIHRzLnRvdWNoZXNbMV0uc2NyZWVuWSBpcyAxMjAKIFBBU1MgdHMuY3RybEtl
eSBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgxLCAyKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgndG91Y2hlcycpIHRvIERvY3VtZW50LmNyZWF0
ZVRvdWNoTGlzdCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRvdWNoTGlzdC4KIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3Vj
aC1saXN0LWNyYXNoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRl
c3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLmpzCmluZGV4IDVhYzAxYTVjODc1
NmE2NWM4YmZhNjA0N2I0MWI1YWU5MGEwYjg3ZTcuLmJmYTRlZjY2NDM1YTI5ZjExMTBlMDQwMDg2
ODYwNGYxNzVhZTVlZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L3NjcmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC5qcworKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRl
LXRvdWNoLWxpc3QtY3Jhc2guanMKQEAgLTEsMTkgKzEsMjIgQEAKIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3QgZW5zdXJlcyB0aGF0IFdlYktpdCBkb2Vzbid0IGNyYXNoIHdoZW4gdGhlIGRvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCBBUEkgaXMgY2FsbGVkIHdpdGggbm9uLVRvdWNoIHBhcmFtZXRlcnMi
KTsKIAotc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0
ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHsiYSI6MX0p
Lml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KG5ldyBB
cnJheSg1KSkuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExp
c3QoInN0cmluZyIpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91
Y2hMaXN0KG51bGwpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91
Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0
ZVRvdWNoTGlzdChkb2N1bWVudCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNy
ZWF0ZVRvdWNoTGlzdCh7ImEiOjF9KS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1lbnQu
Y3JlYXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2Rv
Y3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgic3RyaW5nIikuaXRlbSgwKScpOworc2hvdWxkVGhyb3co
J2RvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygn
ZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkTm90
VGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgpJyk7CitzaG91bGRCZSgnZG9jdW1lbnQu
Y3JlYXRlVG91Y2hMaXN0KCkubGVuZ3RoJywgJzAnKTsKIAogdmFyIHQgPSBkb2N1bWVudC5jcmVh
dGVUb3VjaCh3aW5kb3csIGRvY3VtZW50LmJvZHksIDEyMzQxLCA2MCwgNjUsIDEwMCwgMTA1KTsK
IHZhciB0MiA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgZG9jdW1lbnQuYm9keSwgMTIz
NDIsIDUwLCA1NSwgMTE1LCAxMjApOwotdmFyIHRsID0gZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KHQsIGRvY3VtZW50LCB0Mik7CiAKLXNob3VsZEJlKCd0bC5sZW5ndGgnLCAnMycpOworc2hvdWxk
VGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh0LCBkb2N1bWVudCwgdDIpOycpOworCit2
YXIgdGwgPSBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QodCwgdDIpOworc2hvdWxkQmUoJ3RsLmxl
bmd0aCcsJzInKTsKIHNob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxs
KCd0bC5pdGVtKDEpJyk7Ci1zaG91bGRCZU5vbk51bGwoJ3RsLml0ZW0oMiknKTsKK3Nob3VsZEJl
Tm9uTnVsbCgndGwuaXRlbSgxKScpOwogCiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50
LWNyZWF0ZS10b3VjaC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2Ny
aXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzCmluZGV4IDU2ZGU1MjQ3YTY2
YTUzZTFmZjA0OTdhNjFmMDBhNTFmZTM3MDM1NGEuLmU2YTQ1OTUxYzQxNmFiZGEwNjcwNTE1MzBk
YmIxNTVmMWVkZDcwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L3NjcmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNo
LWxpc3QuanMKQEAgLTM3LDEwICszNyw3IEBAIHRyeSB7CiB9CiAKIC8vIFRlc3QgY3JlYXRlVG91
Y2hMaXN0IHdpdGggaW52YWxpZCBhcmd1bWVudHMgd2hpY2ggdGhyb3dzIGV4Y2VwdGlvbnMuCi10
cnkgewotICAgIHZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgxLCAyKTsKLX0gY2F0
Y2goZSkgewotICAgIHRlc3RGYWlsZWQoIkFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duOiAiICsgZS5t
ZXNzYWdlKTsKLX0KK3Nob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoMSwgMiki
KTsKKwogaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280683</attachid>
            <date>2016-06-07 01:28:37 -0700</date>
            <delta_ts>2016-06-07 03:05:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158302-20160607103001.patch</filename>
            <type>text/plain</type>
            <size>9944</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDlkOTFiOTYzYzZmN2Zl
ZjQwZDBkOTg5Y2ZjNmYyNmIyNGQyOWY4NS4uZDE0Y2RlNzNjNTYwNTg3M2MzYWMwNmU5NTRjMDMw
NmNmZWU4MjkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA2LTA3ICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDcmVh
dGluZyBhIFRvdWNoTGlzdCB3aXRoIG5vbiBUb3VjaCBpdGVtcyBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTgzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBP
bmx5IFRvdWNoIGl0ZW1zIHNob3VsZCBiZSBwYXNzZWQgdG8gQ3JlYXRlVG91Y2hMaXN0IGZ1bmN0
aW9uIGFzIHBlciBzcGVjaWZpY2F0aW9uCisgICAgICAgIChodHRwczovL3czYy5naXRodWIuaW8v
dG91Y2gtZXZlbnRzLyNleHRlbnNpb25zLXRvLXRoZS1kb2N1bWVudC1pbnRlcmZhY2UpLgorICAg
ICAgICBDcmVhdGVUb3VjaExpc3QgZnVuY3Rpb24gYmVoYXZpb3IgaXMgbW9kaWZpZWQuIEFuIGV4
Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiBub24gVG91Y2ggaXRlbXMKKyAgICAgICAgYXJlIHBhc3Nl
ZCBhcyBwYXJhbWV0ZXJzIGluc3RlYWQgb2YgYWRkaW5nIG51bGwgaXRlbXMgaW4gdGhlIFRvdWNo
TGlzdC4KKworICAgICAgICBUZXN0cyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gY2hlY2sgd2hldGhl
ciBiZWhhdmlvciBvZiBDcmVhdGVUb3VjaExpc3QgaXMgY29ycmVjdC4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNEb2N1
bWVudDo6Y3JlYXRlVG91Y2hMaXN0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCiAy
MDE2LTA2LTA2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAxNzM1LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAppbmRleCBlY2U1MGNmOTZjNGFkMzc1
MTNkZDRjZDdlYWRlOGM2ZTgyNjRlNGY3Li40YmNjZmI5M2M2Y2QyYjZhNjY0ZjcxMjljODU4YmU1
ODgwNmM5NTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3Vt
ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50
Q3VzdG9tLmNwcApAQCAtMTMzLDEwICsxMzMsMTQgQEAgSlNWYWx1ZSBKU0RvY3VtZW50OjpjcmVh
dGVUb3VjaExpc3QoRXhlY1N0YXRlJiBzdGF0ZSkKIHsKICAgICBhdXRvIHRvdWNoTGlzdCA9IFRv
dWNoTGlzdDo6Y3JlYXRlKCk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRlLmFy
Z3VtZW50Q291bnQoKTsgaSsrKQotICAgICAgICB0b3VjaExpc3QtPmFwcGVuZChKU1RvdWNoOjp0
b1dyYXBwZWQoc3RhdGUuYXJndW1lbnQoaSkpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHN0YXRlLmFyZ3VtZW50Q291bnQoKTsgKytpKSB7CisgICAgICAgIGF1dG8qIGl0ZW0gPSBKU1Rv
dWNoOjp0b1dyYXBwZWQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgICAgICBpZiAo
IWl0ZW0pCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKHRocm93QXJndW1lbnRU
eXBlRXJyb3Ioc3RhdGUsIGksICJ0b3VjaGVzIiwgIkRvY3VtZW50IiwgImNyZWF0ZVRvdWNoTGlz
dCIsICJUb3VjaCIpKTsKIAotICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0KCks
IHRvdWNoTGlzdCk7CisgICAgICAgIHRvdWNoTGlzdC0+YXBwZW5kKGl0ZW0pOworICAgIH0KKyAg
ICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZCgmc3RhdGUsIGdsb2JhbE9iamVjdCgpLCBXVEZNb3Zl
KHRvdWNoTGlzdCkpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IGUx
M2Q3MGQ4Y2YwZjlmMDllMmQ2ZDQyMWRiNTUwNzljNzAzNWVkODcuLjZjMWY5NTZjNTBhODEzNWVm
YzVkNTE3OTk2NGU1YmM1ZTllMjM4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMzAx
LDcgKzMwMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBsb25nIHdlYmtpdFJhZGl1c1kgPSAwLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVk
IGZsb2F0IHdlYmtpdFJvdGF0aW9uQW5nbGUgPSBOYU4sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
d2Via2l0Rm9yY2UgPSBOYU4pOwotICAgIFtOZXdPYmplY3QsIEN1c3RvbSwgUmFpc2VzRXhjZXB0
aW9uXSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KCk7CisgICAgW05ld09iamVjdCwgQ3VzdG9t
XSBUb3VjaExpc3QgY3JlYXRlVG91Y2hMaXN0KFRvdWNoLi4uIHRvdWNoZXMpOwogI2VuZGlmCiAK
ICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNzM2Mzk1NDgzMTc1NWM5OTUwMzI1Y2M5NTdkY2EyYTdmMDgxZmJhLi5lMzQwYTA0
Yjg4NTc1OWVkNDAyY2QyYjIwY2NiNmUwM2M1M2Q1MmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTYtMDYtMDcgIE5hZWwgT3VlZHJhb2dvICA8bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZy
PgorCisgICAgICAgIENyZWF0aW5nIGEgVG91Y2hMaXN0IHdpdGggbm9uIFRvdWNoIGl0ZW1zIHNo
b3VsZCB0aHJvdyBhbiBleGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODMwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE9ubHkgVG91Y2ggaXRlbXMgc2hvdWxkIGJlIHBhc3NlZCB0byBDcmVh
dGVUb3VjaExpc3QgZnVuY3Rpb24gYXMKKyAgICAgICAgcGVyIHNwZWNpZmljYXRpb24gKGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby90b3VjaC1ldmVudHMvI2V4dGVuc2lvbnMtdG8tdGhlLWRvY3VtZW50
LWludGVyZmFjZSkuCisKKyAgICAgICAgVGVzdHMgaGF2ZSBiZWVuIG1vZGlmaWVkIHRvIGNoZWNr
IHdoZXRoZXIgYmVoYXZpb3Igb2YgQ3JlYXRlVG91Y2hMaXN0IGlzIGNvcnJlY3QuCisKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRl
LXRvdWNoLWxpc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL3Nj
cmlwdC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC5qczoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxp
c3QuanM6CisKIDIwMTYtMDYtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBBU1NFUlRJT04gZmFpbGVkIGluIGdldC1ieS1wbmFtZS5qcyB3aGVuIHJ1
biB3aXRoIEpTQ191c2VMTElOVD1mYWxzZSBhbmQgMiBvdGhlciBjb25maWd1cmF0aW9ucwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3JlYXRlLXRv
dWNoLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91
Y2gvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDg0
ODcxMmFlMmM5NWFmODcwYjVmMTA3ODhiZWI3ZTY2MWM0MGVjMjcuLmU2Mjc2NTM4M2E5NjllZDlk
ZjlmYzlkNDUyNTgxMWQyMWEzMWJlNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gt
bGlzdC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTMsMTYgKzMsMTggQEAgVGhpcyB0ZXN0IGVuc3Vy
ZXMgdGhhdCBXZWJLaXQgZG9lc24ndCBjcmFzaCB3aGVuIHRoZSBkb2N1bWVudC5jcmVhdGVUb3Vj
aExpc3QgQVAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGRvY3VtZW50LmNy
ZWF0ZVRvdWNoTGlzdChkb2N1bWVudCkuaXRlbSgwKSBpcyBudWxsCi1QQVNTIGRvY3VtZW50LmNy
ZWF0ZVRvdWNoTGlzdCh7ImEiOjF9KS5pdGVtKDApIGlzIG51bGwKLVBBU1MgZG9jdW1lbnQuY3Jl
YXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKSBpcyBudWxsCi1QQVNTIGRvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCgic3RyaW5nIikuaXRlbSgwKSBpcyBudWxsCi1QQVNTIGRvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApIGlzIG51bGwKLVBBU1MgZG9jdW1lbnQuY3Jl
YXRlVG91Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKSBpcyBudWxsCi1QQVNTIHRsLmxlbmd0aCBp
cyAzCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdChkb2N1bWVudCkuaXRlbSgwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgndG91Y2hlcycpIHRvIERvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRvdWNoLgorUEFTUyBkb2N1
bWVudC5jcmVhdGVUb3VjaExpc3QoeyJhIjoxfSkuaXRlbSgwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgndG91Y2hlcycpIHRvIERvY3VtZW50LmNyZWF0ZVRvdWNoTGlz
dCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRvdWNoLgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3Vj
aExpc3QobmV3IEFycmF5KDUpKS5pdGVtKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCd0b3VjaGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0IG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgVG91Y2guCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgic3Ry
aW5nIikuaXRlbSgwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgndG91
Y2hlcycpIHRvIERvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IFRvdWNoLgorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QobnVsbCkuaXRlbSgwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgndG91Y2hlcycpIHRvIERvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFRvdWNoLgorUEFTUyBkb2N1
bWVudC5jcmVhdGVUb3VjaExpc3QodW5kZWZpbmVkKS5pdGVtKDApIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCd0b3VjaGVzJykgdG8gRG9jdW1lbnQuY3JlYXRlVG91Y2hM
aXN0IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVG91Y2guCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRv
dWNoTGlzdCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBkb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QoKS5sZW5ndGggaXMgMAorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QodCwg
ZG9jdW1lbnQsIHQyKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3Rv
dWNoZXMnKSB0byBEb2N1bWVudC5jcmVhdGVUb3VjaExpc3QgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBUb3VjaC4KK1BBU1MgdGwubGVuZ3RoIGlzIDIKIFBBU1MgdGwuaXRlbSgwKSBpcyBub24tbnVs
bC4KLVBBU1MgdGwuaXRlbSgxKSBpcyBudWxsCi1QQVNTIHRsLml0ZW0oMikgaXMgbm9uLW51bGwu
CitQQVNTIHRsLml0ZW0oMSkgaXMgbm9uLW51bGwuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWV4cGVj
dGVkLnR4dAppbmRleCAyMTM4NmVjYzI1NjIxMWNkMTJjNDQ3ZWFkNWRmOGY1ZjYwOGE0MGM3Li4w
OTE2NzQyMzNkYjkzNTVlODhmMmNlODBiYWI1YTVmNWI0NjYxMzE1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZG9jdW1lbnQtY3Jl
YXRlLXRvdWNoLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xNyw2ICsxNyw3IEBAIFBBU1MgdHMudG91
Y2hlc1swXS5pZGVudGlmaWVyIGlzIDEyMzQxCiBQQVNTIHRzLnRvdWNoZXNbMF0uY2xpZW50WCBp
cyA2MAogUEFTUyB0cy50b3VjaGVzWzFdLnNjcmVlblkgaXMgMTIwCiBQQVNTIHRzLmN0cmxLZXkg
aXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoMSwgMikgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ3RvdWNoZXMnKSB0byBEb2N1bWVudC5jcmVhdGVU
b3VjaExpc3QgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUb3VjaC4KIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0
LWNyYXNoLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2Rv
Y3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LWNyYXNoLmpzCmluZGV4IDVhYzAxYTVjODc1NmE2NWM4
YmZhNjA0N2I0MWI1YWU5MGEwYjg3ZTcuLmJmYTRlZjY2NDM1YTI5ZjExMTBlMDQwMDg2ODYwNGYx
NzVhZTVlZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Njcmlw
dC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC1jcmFzaC5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNo
LWxpc3QtY3Jhc2guanMKQEAgLTEsMTkgKzEsMjIgQEAKIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0IFdlYktpdCBkb2Vzbid0IGNyYXNoIHdoZW4gdGhlIGRvY3VtZW50LmNyZWF0
ZVRvdWNoTGlzdCBBUEkgaXMgY2FsbGVkIHdpdGggbm9uLVRvdWNoIHBhcmFtZXRlcnMiKTsKIAot
c2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoZG9jdW1lbnQpLml0ZW0oMCkn
KTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHsiYSI6MX0pLml0ZW0o
MCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KG5ldyBBcnJheSg1
KSkuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoInN0
cmluZyIpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KG51bGwpLml0ZW0oMCknKTsKLXNob3VsZEJlTnVsbCgnZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0
KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRvdWNo
TGlzdChkb2N1bWVudCkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50LmNyZWF0ZVRv
dWNoTGlzdCh7ImEiOjF9KS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1lbnQuY3JlYXRl
VG91Y2hMaXN0KG5ldyBBcnJheSg1KSkuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3VtZW50
LmNyZWF0ZVRvdWNoTGlzdCgic3RyaW5nIikuaXRlbSgwKScpOworc2hvdWxkVGhyb3coJ2RvY3Vt
ZW50LmNyZWF0ZVRvdWNoTGlzdChudWxsKS5pdGVtKDApJyk7CitzaG91bGRUaHJvdygnZG9jdW1l
bnQuY3JlYXRlVG91Y2hMaXN0KHVuZGVmaW5lZCkuaXRlbSgwKScpOworc2hvdWxkTm90VGhyb3co
J2RvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgpJyk7CitzaG91bGRCZSgnZG9jdW1lbnQuY3JlYXRl
VG91Y2hMaXN0KCkubGVuZ3RoJywgJzAnKTsKIAogdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVUb3Vj
aCh3aW5kb3csIGRvY3VtZW50LmJvZHksIDEyMzQxLCA2MCwgNjUsIDEwMCwgMTA1KTsKIHZhciB0
MiA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoKHdpbmRvdywgZG9jdW1lbnQuYm9keSwgMTIzNDIsIDUw
LCA1NSwgMTE1LCAxMjApOwotdmFyIHRsID0gZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KHQsIGRv
Y3VtZW50LCB0Mik7CiAKLXNob3VsZEJlKCd0bC5sZW5ndGgnLCAnMycpOworc2hvdWxkVGhyb3co
J2RvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCh0LCBkb2N1bWVudCwgdDIpOycpOworCit2YXIgdGwg
PSBkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QodCwgdDIpOworc2hvdWxkQmUoJ3RsLmxlbmd0aCcs
JzInKTsKIHNob3VsZEJlTm9uTnVsbCgndGwuaXRlbSgwKScpOwotc2hvdWxkQmVOdWxsKCd0bC5p
dGVtKDEpJyk7Ci1zaG91bGRCZU5vbk51bGwoJ3RsLml0ZW0oMiknKTsKK3Nob3VsZEJlTm9uTnVs
bCgndGwuaXRlbSgxKScpOwogCiBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRlc3RzL2RvY3VtZW50LWNyZWF0
ZS10b3VjaC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvc2NyaXB0LXRl
c3RzL2RvY3VtZW50LWNyZWF0ZS10b3VjaC1saXN0LmpzCmluZGV4IDU2ZGU1MjQ3YTY2YTUzZTFm
ZjA0OTdhNjFmMDBhNTFmZTM3MDM1NGEuLmU2YTQ1OTUxYzQxNmFiZGEwNjcwNTE1MzBkYmIxNTVm
MWVkZDcwMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL3Njcmlw
dC10ZXN0cy9kb2N1bWVudC1jcmVhdGUtdG91Y2gtbGlzdC5qcworKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy90b3VjaC9zY3JpcHQtdGVzdHMvZG9jdW1lbnQtY3JlYXRlLXRvdWNoLWxpc3Qu
anMKQEAgLTM3LDEwICszNyw3IEBAIHRyeSB7CiB9CiAKIC8vIFRlc3QgY3JlYXRlVG91Y2hMaXN0
IHdpdGggaW52YWxpZCBhcmd1bWVudHMgd2hpY2ggdGhyb3dzIGV4Y2VwdGlvbnMuCi10cnkgewot
ICAgIHZhciB0bCA9IGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCgxLCAyKTsKLX0gY2F0Y2goZSkg
ewotICAgIHRlc3RGYWlsZWQoIkFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duOiAiICsgZS5tZXNzYWdl
KTsKLX0KK3Nob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVUb3VjaExpc3QoMSwgMikiKTsKKwog
aXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>