<?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>161793</bug_id>
          
          <creation_ts>2016-09-09 05:37:21 -0700</creation_ts>
          <short_desc>JSDOMBindings&apos; toArguments() should return a more descriptive object</short_desc>
          <delta_ts>2016-09-20 11:55:21 -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>Bindings</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>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1228096</commentid>
    <comment_count>0</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-09-09 05:37:21 -0700</bug_when>
    <thetext>JSDOMBindings&apos; toArguments() returns a std::pair of argumentIndex and Optional. In JS bindings code generator, use of &quot;.first&quot; and &quot;.second&quot; to access to members is hard to read. 

We should use a struct instead to be able to name the members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228105</commentid>
    <comment_count>1</comment_count>
      <attachid>288400</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-09-09 07:06:13 -0700</bug_when>
    <thetext>Created attachment 288400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228138</commentid>
    <comment_count>2</comment_count>
      <attachid>288400</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-09 09:11:20 -0700</bug_when>
    <thetext>Comment on attachment 288400
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:357
&gt; +struct VariadicHelperResult {

Would something simpler work? E.g.

struct Result {
    size_t argumentIndex;
    Optional&lt;Container&gt; arguments;
}

Also, could we declare this struct inside the VariadicHelper struct?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:-1107
&gt; -    

In the future, please try to avoid this kind of unrelated spacing changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228139</commentid>
    <comment_count>3</comment_count>
      <attachid>288400</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-09 09:13:14 -0700</bug_when>
    <thetext>Comment on attachment 288400
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3993
&gt; +            $value = &quot;WTFMove($name.arguments.value())&quot;;

Why is this change needed? wouldn&apos;t this work?
$value = &quot;WTFMove(*$name.arguments)&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229112</commentid>
    <comment_count>4</comment_count>
      <attachid>288681</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-09-13 01:52:21 -0700</bug_when>
    <thetext>Created attachment 288681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229113</commentid>
    <comment_count>5</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-09-13 01:56:40 -0700</bug_when>
    <thetext>Thanks for the review.

&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:357
&gt; &gt; +struct VariadicHelperResult {
&gt; 
&gt; Would something simpler work? E.g.
&gt; 
&gt; struct Result {
&gt;     size_t argumentIndex;
&gt;     Optional&lt;Container&gt; arguments;
&gt; }
&gt; 
&gt; Also, could we declare this struct inside the VariadicHelper struct?
Ok, done in the uploaded patch. 

&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:-1107
&gt; &gt; -    
&gt; 
&gt; In the future, please try to avoid this kind of unrelated spacing changes.
Ok, I thought it was good to remove trailing whitespaces. 

&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3993
&gt; &gt; +            $value = &quot;WTFMove($name.arguments.value())&quot;;
&gt; 
&gt; Why is this change needed? wouldn&apos;t this work?
&gt; $value = &quot;WTFMove(*$name.arguments)&quot;;
Yes, it works also but it seems that value() is generally used in WebKit  instead of * with Optional value (c.f. Bug 158835#c14).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231039</commentid>
    <comment_count>6</comment_count>
      <attachid>288681</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-19 02:02:50 -0700</bug_when>
    <thetext>Comment on attachment 288681
Patch

Clearing flags on attachment: 288681

Committed r206090: &lt;http://trac.webkit.org/changeset/206090&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231040</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-19 02:02:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231305</commentid>
    <comment_count>8</comment_count>
      <attachid>288681</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-19 13:55:47 -0700</bug_when>
    <thetext>Comment on attachment 288681
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:363
&gt; +        Result(size_t argumentIndex, Optional&lt;Container&gt;&amp;&amp; arguments)
&gt; +            : argumentIndex(argumentIndex)
&gt; +            , arguments(WTFMove(arguments))
&gt; +        {
&gt; +        }

We should not include this constructor. Member-wise initialization should accomplish the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231821</commentid>
    <comment_count>9</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2016-09-20 11:55:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 288681 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=288681&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMBinding.h:363
&gt; &gt; +        Result(size_t argumentIndex, Optional&lt;Container&gt;&amp;&amp; arguments)
&gt; &gt; +            : argumentIndex(argumentIndex)
&gt; &gt; +            , arguments(WTFMove(arguments))
&gt; &gt; +        {
&gt; &gt; +        }
&gt; 
&gt; We should not include this constructor. Member-wise initialization should
&gt; accomplish the same thing.

Ok, I filed bug 162298 for this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288400</attachid>
            <date>2016-09-09 07:06:13 -0700</date>
            <delta_ts>2016-09-13 01:52:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161793-20160909160344.patch</filename>
            <type>text/plain</type>
            <size>11628</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjljMTUwZDRmNzFkY2Nm
NTFmMzc1YWIzZDU4MjQ0ZmJlNGE2ODE5Zi4uYzRkYmY2NmMwZjc0MmQ2ZTcwNzE3NGY1OTRhNTBi
YWM2OGNkMGRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTA5LTA5ICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBKU0RP
TUJpbmRpbmdzJyB0b0FyZ3VtZW50cygpIHNob3VsZCByZXR1cm4gYSBtb3JlIGRlc2NyaXB0aXZl
IG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYxNzkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVwbGFjZSBzdGQ6OnBhaXIgd2l0aCBuZXcgVmFyaWFkaWNIZWxwZXJSZXN1bHQgY2xhc3Mgd2l0
aCBtb3JlCisgICAgICAgIHJlYWRhYmxlIG1lbWJlcnMgbmFtZXMuCisKKyAgICAgICAgTm8gYWRk
aXRpb25hbCB0ZXN0cyByZXF1aXJlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6VmFyaWFkaWNIZWxwZXJSZXN1bHQ6OlZhcmlhZGlj
SGVscGVyUmVzdWx0KTogTmV3LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVQ
cm9wZXJ0aWVzSGFzaFRhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9u
T3JDb25zdHJ1Y3Rvcik6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAg
ICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKToKKyAgICAgICAgKEpTVmFsdWVUb05hdGl2ZSk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Qx
Mik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGlj
U3RyaW5nTWV0aG9kKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uVmFyaWFkaWNEb3VibGVNZXRob2QpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25WYXJpYWRpY05vZGVNZXRob2QpOgorCiAyMDE2LTA5LTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICB2MzogV2ViQ29udGVudCBjcmFz
aCBkdWUgdG8gUkVMRUFTRV9BU1NFUlQgaW4gV2ViQ29yZTogV2ViQ29yZTo6U3R5bGVSZXNvbHZl
cjo6c3R5bGVGb3JFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCmluZGV4IDVmNjJhYjBlZTg0OTM2N2RlNjZmN2UwNTRmZjFhMzY4YTA5NmNlMWMuLjcxMmM4
MDk3N2M2ZTk0NTdhYTc5YTY4ZjYxYmZlMjc2ZTMyNDQ2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zNTMsMTEgKzM1MywzMSBAQCBzdHJ1Y3QgVmFy
aWFkaWNIZWxwZXJCYXNlPEpTQ2xhc3MsIERPTUNsYXNzLCB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p
ZjwhSlNET01PYmplYwogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEluZGV4VHlwZSwg
dHlwZW5hbWUgQXJndW1lbnRzVHlwZT4KK3N0cnVjdCBWYXJpYWRpY0hlbHBlclJlc3VsdCB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgSSwgdHlwZW5hbWUgQT4KKyAgICBWYXJpYWRpY0hlbHBlclJl
c3VsdChJJiYgYXJndW1lbnRJbmRleCwgQSYmIGFyZ3VtZW50cykKKyAgICAgICAgOiBhcmd1bWVu
dEluZGV4KHN0ZDo6Zm9yd2FyZDxJPihhcmd1bWVudEluZGV4KSkKKyAgICAgICAgLCBhcmd1bWVu
dHMoc3RkOjpmb3J3YXJkPEE+KGFyZ3VtZW50cykpCisgICAgeworICAgIH0KKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEksIHR5cGVuYW1lIEE+CisgICAgVmFyaWFkaWNIZWxwZXJSZXN1bHQoVmFy
aWFkaWNIZWxwZXJSZXN1bHQ8SSwgQT4mJiBvdGhlcikKKyAgICAgICAgOiBhcmd1bWVudEluZGV4
KHN0ZDo6Zm9yd2FyZDxJPihvdGhlci5hcmd1bWVudEluZGV4KSkKKyAgICAgICAgLCBhcmd1bWVu
dHMoc3RkOjpmb3J3YXJkPEE+KG90aGVyLmFyZ3VtZW50cykpCisgICAgeworICAgIH0KKworICAg
IEluZGV4VHlwZSBhcmd1bWVudEluZGV4OworICAgIEFyZ3VtZW50c1R5cGUgYXJndW1lbnRzOwor
fTsKKwogdGVtcGxhdGU8dHlwZW5hbWUgSlNDbGFzcywgdHlwZW5hbWUgRE9NQ2xhc3M+CiBzdHJ1
Y3QgVmFyaWFkaWNIZWxwZXIgOiBwdWJsaWMgVmFyaWFkaWNIZWxwZXJCYXNlPEpTQ2xhc3MsIERP
TUNsYXNzPiB7CiAgICAgdXNpbmcgSXRlbSA9IHR5cGVuYW1lIFZhcmlhZGljSGVscGVyQmFzZTxK
U0NsYXNzLCBET01DbGFzcz46Okl0ZW07CiAgICAgdXNpbmcgQ29udGFpbmVyID0gVmVjdG9yPEl0
ZW0+OwotICAgIHVzaW5nIFJlc3VsdCA9IHR5cGVuYW1lIHN0ZDo6cGFpcjxzaXplX3QsIE9wdGlv
bmFsPENvbnRhaW5lcj4+OworICAgIHVzaW5nIFJlc3VsdCA9IFZhcmlhZGljSGVscGVyUmVzdWx0
PHNpemVfdCwgT3B0aW9uYWw8Q29udGFpbmVyPj47CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBW
YXJpYWRpY0hlbHBlcj4gdHlwZW5hbWUgVmFyaWFkaWNIZWxwZXI6OlJlc3VsdCB0b0FyZ3VtZW50
cyhKU0M6OkV4ZWNTdGF0ZSYsIHNpemVfdCBzdGFydEluZGV4ID0gMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGMxZTNj
ZjFkM2U2ZjIwMzc2N2Y5MmE4MzQ0MmY3OTgyYTFmOTdkOTguLjA5YTgwZDA3NmQ5YmVjMzExMDQ2
MDlhYzQ0NzZlMjY0ODkwNGU1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xMTA0LDcgKzExMDQsNyBAQCBzdWIgR2Vu
ZXJhdGVIZWFkZXIKICAgICBpZiAoJGhhc1BhcmVudCAmJiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0In0pIHsKICAgICAgICAgJGhlYWRl
ckluY2x1ZGVzeyIkaW50ZXJmYWNlTmFtZS5oIn0gPSAxOwogICAgIH0KLSAgICAKKwogICAgICRo
ZWFkZXJJbmNsdWRlc3siU1ZHRWxlbWVudC5oIn0gPSAxIGlmICRjbGFzc05hbWUgPX4gL15KU1NW
Ry87CiAKICAgICBteSAkaW1wbFR5cGUgPSBHZXRJbXBsQ2xhc3NOYW1lKCRpbnRlcmZhY2VOYW1l
KTsKQEAgLTExNzIsNyArMTE3Miw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgICAgICAkY2xhc3NOYW1lKiBwdHIgPSBuZXcgKE5vdE51bGws
IEpTQzo6YWxsb2NhdGVDZWxsPCRjbGFzc05hbWU+KGdsb2JhbE9iamVjdC0+dm0oKS5oZWFwKSkg
JGNsYXNzTmFtZShzdHJ1Y3R1cmUsICpnbG9iYWxPYmplY3QpO1xuIik7CiAgICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICIgICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0
LT52bSgpKTtcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICAgICByZXR1
cm4gcHRyO1xuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgfVxuXG4iKTsg
IAorICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIH1cblxuIik7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlSW5IZWFkZXIoJGltcGxUeXBlKSB1bmxlc3Mg
JHN2Z1Byb3BlcnR5T3JMaXN0UHJvcGVydHlUeXBlOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAiICAgIHN0YXRpYyAkY2xhc3NOYW1lKiBjcmVhdGUoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPCRpbXBsVHlwZT4mJiBp
bXBsKVxuIik7CkBAIC0xMjIyLDcgKzEyMjIsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAg
ICAgfHwgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tR2V0T3duUHJv
cGVydHlTbG90QW5kRGVzY3JpcHRvciJ9CiAgICAgICAgIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QifQogICAgICAgICB8fCAkaGFz
TmFtZWRHZXR0ZXI7Ci0gICAgCisKICAgICBteSAkaGFzR2V0dGVyID0gSW5zdGFuY2VPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3QoJGludGVyZmFjZSk7CiAKICAgICBpZiAoJGhhc05hbWVkR2V0
dGVyKSB7CkBAIC0xMzE2LDcgKzEzMTYsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAjIEN1
c3RvbSBnZXRPd25Qcm9wZXJ0eU5hbWVzIGZ1bmN0aW9uCiAgICAgaWYgKCRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSJ9IHx8ICRpbmRleGVk
R2V0dGVyRnVuY3Rpb24gfHwgJG5hbWVkR2V0dGVyRnVuY3Rpb24pIHsKICAgICAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTQzo6
SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lQXJyYXkmLCBKU0M6
OkVudW1lcmF0aW9uTW9kZSA9IEpTQzo6RW51bWVyYXRpb25Nb2RlKCkpO1xuIik7Ci0gICAgICAg
ICRzdHJ1Y3R1cmVGbGFnc3siSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIn0gPSAxOyAg
ICAgICAKKyAgICAgICAgJHN0cnVjdHVyZUZsYWdzeyJKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5
TmFtZXMifSA9IDE7CiAgICAgfQogCiAgICAgIyBDdXN0b20gZGVmaW5lT3duUHJvcGVydHkgZnVu
Y3Rpb24KQEAgLTEzMjgsNyArMTMyOCw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAgICAgIyBD
dXN0b20gcHJldmVudEV4dGVuc2lvbnMgZnVuY3Rpb24uCiAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIiAgICBzdGF0aWMgYm9vbCBwcmV2ZW50RXh0ZW5zaW9ucyhKU0M6OkpTT2JqZWN0KiwgSlND
OjpFeGVjU3RhdGUqKTtcbiIpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
dXN0b21QcmV2ZW50RXh0ZW5zaW9ucyJ9OwotICAgIAorCiAgICAgIyBPdmVycmlkZSB0b0Jvb2xl
YW4gdG8gcmV0dXJuIGZhbHNlIGZvciBvYmplY3RzIHRoYXQgd2FudCB0byAnTWFzcXVlcmFkZXNB
c1VuZGVmaW5lZCcuCiAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJN
YXNxdWVyYWRlc0FzVW5kZWZpbmVkIn0pIHsKICAgICAgICAgJHN0cnVjdHVyZUZsYWdzeyJKU0M6
Ok1hc3F1ZXJhZGVzQXNVbmRlZmluZWQifSA9IDE7CkBAIC0xNjA5LDcgKzE2MDksNyBAQCBzdWIg
R2VuZXJhdGVQcm9wZXJ0aWVzSGFzaFRhYmxlCiAgICAgIyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJl
IGZ1bmN0aW9ucyBvbiAkaW50ZXJmYWNlLgogICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGludGVy
ZmFjZS0+bmFtZTsKICAgICBteSAkY2xhc3NOYW1lID0gIkpTJGludGVyZmFjZU5hbWUiOwotICAg
IAorCiAgICAgIyAtIEFkZCBhbGwgcHJvcGVydGllcyBpbiBhIGhhc2h0YWJsZSBkZWZpbml0aW9u
CiAgICAgbXkgJHByb3BlcnR5Q291bnQgPSAkaXNJbnN0YW5jZSA/IEluc3RhbmNlUHJvcGVydHlD
b3VudCgkaW50ZXJmYWNlKSA6IFByb3RvdHlwZVByb3BlcnR5Q291bnQoJGludGVyZmFjZSk7CiAK
QEAgLTE5NTYsNyArMTk1Niw3IEBAIHN1YiBHZW5lcmF0ZU92ZXJsb2FkZWRGdW5jdGlvbk9yQ29u
c3RydWN0b3IKICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgJHtmdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogc3RhdGUp
XG4iKTsKICAgICB9Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsgICAgCisgICAgcHVz
aChAaW1wbENvbnRlbnQsIDw8RU5EKTsKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTIzNjMsNyAr
MjM2Myw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGNvbmRpdGlvbmFsU3Ry
aW5nOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChOZWVkc0NvbnN0cnVjdG9y
UHJvcGVydHkoJGludGVyZmFjZSkpIHsKICAgICAgICAgICAgIG15ICRnZXR0ZXIgPSAianMiIC4g
JGludGVyZmFjZU5hbWUgLiAiQ29uc3RydWN0b3IiOwogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJKU0M6OkVuY29kZWRKU1ZhbHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTtcbiIpOwpAQCAtMjQyNyw3ICsy
NDI3LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIGlmICgkY29u
ZGl0aW9uYWwpIHsKICAgICAgICAgICAgICAgICAkY29uZGl0aW9uYWxzeyRuYW1lfSA9ICRjb25k
aXRpb25hbDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICAkaGFz
aFNpemUrKzsKICAgICAgICAgfQogCkBAIC0yNDc4LDcgKzI0NzgsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgaWYgKCRjb25kaXRpb25hbCkgewogICAgICAgICAg
ICAgICAgICRjb25kaXRpb25hbHN7JG5hbWV9ID0gJGNvbmRpdGlvbmFsOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgCisKICAgICAgICAgICAgICRoYXNoU2l6ZSsrOwogICAgICAgICB9CiAK
QEAgLTI1MjcsNyArMjUyNyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAg
IGlmICgkY29uZGl0aW9uYWwpIHsKICAgICAgICAgICAgICRjb25kaXRpb25hbHN7JG5hbWV9ID0g
JGNvbmRpdGlvbmFsOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgICRoYXNoU2l6ZSsr
OwogICAgIH0KIApAQCAtMzk4NywxMCArMzk4NywxMCBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2sKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBpZiAoISRuYW1lLnNlY29uZClcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRB
cnJheSwgIiAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCB0aHJv
d1Njb3BlLCAkbmFtZS5maXJzdCwgXCIkbmFtZVwiLCBcIiR2aXNpYmxlSW50ZXJmYWNlTmFtZVwi
LCAkcXVvdGVkRnVuY3Rpb25OYW1lLCBcIiR0eXBlXCIpO1xuIik7CisgICAgICAgICAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghJG5hbWUuYXJndW1lbnRzKVxuIik7CisgICAg
ICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gdGhyb3dBcmd1
bWVudFR5cGVFcnJvcigqc3RhdGUsIHRocm93U2NvcGUsICRuYW1lLmFyZ3VtZW50SW5kZXgsIFwi
JG5hbWVcIiwgXCIkdmlzaWJsZUludGVyZmFjZU5hbWVcIiwgJHF1b3RlZEZ1bmN0aW9uTmFtZSwg
XCIkdHlwZVwiKTtcbiIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgJHZhbHVlID0gIldU
Rk1vdmUoKiRuYW1lLnNlY29uZCkiOworICAgICAgICAgICAgJHZhbHVlID0gIldURk1vdmUoJG5h
bWUuYXJndW1lbnRzLnZhbHVlKCkpIjsKIAogICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRv
ci0+SXNFbnVtVHlwZSgkdHlwZSkpIHsKICAgICAgICAgICAgIG15ICRjbGFzc05hbWUgPSBHZXRF
bnVtZXJhdGlvbkNsYXNzTmFtZSgkaW50ZXJmYWNlLCAkdHlwZSk7CkBAIC00NzQ3LDcgKzQ3NDcs
NyBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAoInZhbHVlVG9VU1ZTdHJp
bmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2soc3RhdGUsICR2YWx1ZSkiLCAxKSBpZiAkc2lnbmF0
dXJlLT5pc051bGxhYmxlOwogICAgICAgICByZXR1cm4gKCJ2YWx1ZVRvVVNWU3RyaW5nKHN0YXRl
LCAkdmFsdWUpIiwgMSk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKCR0eXBlIGVxICJTZXJpYWxp
emVkU2NyaXB0VmFsdWUiKSB7CiAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJTZXJpYWxpemVk
U2NyaXB0VmFsdWUuaCIsICRjb25kaXRpb25hbCk7CiAgICAgICAgIHJldHVybiAoIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKHN0YXRlLCAkdmFsdWUsIDAsIDApIiwgMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3Bw
CmluZGV4IDJiYjdmMTRhOWNhOWRhMjU5NTY3NWE2MWM5YTRmNTg0MDFlYzM0OTMuLjE1NzllMjA3
ZjNlZmE4NGIzMjU4MjhiNDUwMmUwOWYzZmExNTIyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02NTQ5LDkg
KzY1NDksOSBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlw
ZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEyKEV4ZWNTdAogICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkpOwogICAgIGF1dG8mIGltcGwg
PSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CiAgICAgYXV0byBibG9iQXJncyA9IHRvQXJndW1lbnRz
PFZhcmlhZGljSGVscGVyPEpTQmxvYiwgQmxvYj4+KCpzdGF0ZSwgMCk7Ci0gICAgaWYgKCFibG9i
QXJncy5zZWNvbmQpCi0gICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0
ZSwgdGhyb3dTY29wZSwgYmxvYkFyZ3MuZmlyc3QsICJibG9iQXJncyIsICJUZXN0T2JqZWN0Iiwg
Im92ZXJsb2FkZWRNZXRob2QiLCAiQmxvYiIpOwotICAgIGltcGwub3ZlcmxvYWRlZE1ldGhvZChX
VEZNb3ZlKCpibG9iQXJncy5zZWNvbmQpKTsKKyAgICBpZiAoIWJsb2JBcmdzLmFyZ3VtZW50cykK
KyAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCB0aHJvd1Njb3Bl
LCBibG9iQXJncy5hcmd1bWVudEluZGV4LCAiYmxvYkFyZ3MiLCAiVGVzdE9iamVjdCIsICJvdmVy
bG9hZGVkTWV0aG9kIiwgIkJsb2IiKTsKKyAgICBpbXBsLm92ZXJsb2FkZWRNZXRob2QoV1RGTW92
ZShibG9iQXJncy5hcmd1bWVudHMudmFsdWUoKSkpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKQEAgLTcwODQsNyArNzA4NCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25WYXJpYWRpY1N0cmlu
Z01ldGhvZChFeGVjCiAgICAgYXV0byB0YWlsID0gdG9Bcmd1bWVudHM8VmFyaWFkaWNIZWxwZXI8
SlNDOjpKU1ZhbHVlLCBTdHJpbmc+Pigqc3RhdGUsIDEpOwogICAgIGlmIChVTkxJS0VMWSh0aHJv
d1Njb3BlLmV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKLSAgICBpbXBsLnZhcmlhZGljU3RyaW5nTWV0aG9kKFdURk1vdmUoaGVhZCks
IFdURk1vdmUoKnRhaWwuc2Vjb25kKSk7CisgICAgaW1wbC52YXJpYWRpY1N0cmluZ01ldGhvZChX
VEZNb3ZlKGhlYWQpLCBXVEZNb3ZlKHRhaWwuYXJndW1lbnRzLnZhbHVlKCkpKTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCkBAIC03MTA3LDcgKzcxMDcs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uVmFyaWFkaWNEb3VibGVNZXRob2QoRXhlYwogICAgIGF1dG8gdGFpbCA9IHRvQXJndW1lbnRz
PFZhcmlhZGljSGVscGVyPEpTQzo6SlNWYWx1ZSwgZG91YmxlPj4oKnN0YXRlLCAxKTsKICAgICBp
ZiAoVU5MSUtFTFkodGhyb3dTY29wZS5leGNlcHRpb24oKSkpCiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgaW1wbC52YXJpYWRpY0RvdWJsZU1ldGhv
ZChXVEZNb3ZlKGhlYWQpLCBXVEZNb3ZlKCp0YWlsLnNlY29uZCkpOworICAgIGltcGwudmFyaWFk
aWNEb3VibGVNZXRob2QoV1RGTW92ZShoZWFkKSwgV1RGTW92ZSh0YWlsLmFyZ3VtZW50cy52YWx1
ZSgpKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIApA
QCAtNzEyOCw5ICs3MTI4LDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGljTm9kZU1ldGhvZChFeGVjU3QKICAgICBpZiAoVU5M
SUtFTFkoIWhlYWQpKQogICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3Rh
dGUsIHRocm93U2NvcGUsIDAsICJoZWFkIiwgIlRlc3RPYmplY3QiLCAidmFyaWFkaWNOb2RlTWV0
aG9kIiwgIk5vZGUiKTsKICAgICBhdXRvIHRhaWwgPSB0b0FyZ3VtZW50czxWYXJpYWRpY0hlbHBl
cjxKU05vZGUsIE5vZGU+Pigqc3RhdGUsIDEpOwotICAgIGlmICghdGFpbC5zZWNvbmQpCi0gICAg
ICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgdGhyb3dTY29wZSwgdGFp
bC5maXJzdCwgInRhaWwiLCAiVGVzdE9iamVjdCIsICJ2YXJpYWRpY05vZGVNZXRob2QiLCAiTm9k
ZSIpOwotICAgIGltcGwudmFyaWFkaWNOb2RlTWV0aG9kKCpoZWFkLCBXVEZNb3ZlKCp0YWlsLnNl
Y29uZCkpOworICAgIGlmICghdGFpbC5hcmd1bWVudHMpCisgICAgICAgIHJldHVybiB0aHJvd0Fy
Z3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgdGhyb3dTY29wZSwgdGFpbC5hcmd1bWVudEluZGV4LCAi
dGFpbCIsICJUZXN0T2JqZWN0IiwgInZhcmlhZGljTm9kZU1ldGhvZCIsICJOb2RlIik7CisgICAg
aW1wbC52YXJpYWRpY05vZGVNZXRob2QoKmhlYWQsIFdURk1vdmUodGFpbC5hcmd1bWVudHMudmFs
dWUoKSkpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288681</attachid>
            <date>2016-09-13 01:52:21 -0700</date>
            <delta_ts>2016-09-19 02:02:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161793-20160913104946.patch</filename>
            <type>text/plain</type>
            <size>6373</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVmNmJjNmJlNzk4NTkw
NWZkODdjNzMyMDAyNjRiNTdjOWJhM2IzMy4uZWNhM2U2ZDdjMzkxM2VlZDBjNTJlOTQyNzQ4YTlm
NDE4NWQzNGMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA5LTEzICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBKU0RP
TUJpbmRpbmdzJyB0b0FyZ3VtZW50cygpIHNob3VsZCByZXR1cm4gYSBtb3JlIGRlc2NyaXB0aXZl
IG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYxNzkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVwbGFjZSBzdGQ6OnBhaXIgd2l0aCBuZXcgVmFyaWFkaWNIZWxwZXJSZXN1bHQgY2xhc3Mgd2l0
aCBtb3JlCisgICAgICAgIHJlYWRhYmxlIG1lbWJlcnMgbmFtZXMuCisKKyAgICAgICAgTm8gYWRk
aXRpb25hbCB0ZXN0cyByZXF1aXJlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6VmFyaWFkaWNIZWxwZXI6OlJlc3VsdDo6UmVzdWx0
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEyKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uVmFyaWFkaWNTdHJpbmdNZXRob2QpOgorICAgICAgICAoV2Vi
Q29yZTo6anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25WYXJpYWRpY0RvdWJsZU1ldGhvZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGljTm9kZU1l
dGhvZCk6CisKIDIwMTYtMDktMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtXaW5dIFdhcm5pbmcgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaAppbmRleCAwZjcyYTAzMzJiOGEyMzkyOGJkNTBhYjQzMWUzYmVkMzIw
ODAwMDk4Li45ZjcwMzhhY2IyOTRjOGY0NTA2ZTkzMjhmMjQxOTNiNGIyOTVmNjY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzU0LDcgKzM1NCwxNiBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBKU0NsYXNzLCB0eXBlbmFtZSBET01DbGFzcz4KIHN0cnVjdCBW
YXJpYWRpY0hlbHBlciA6IHB1YmxpYyBWYXJpYWRpY0hlbHBlckJhc2U8SlNDbGFzcywgRE9NQ2xh
c3M+IHsKICAgICB1c2luZyBJdGVtID0gdHlwZW5hbWUgVmFyaWFkaWNIZWxwZXJCYXNlPEpTQ2xh
c3MsIERPTUNsYXNzPjo6SXRlbTsKICAgICB1c2luZyBDb250YWluZXIgPSBWZWN0b3I8SXRlbT47
Ci0gICAgdXNpbmcgUmVzdWx0ID0gdHlwZW5hbWUgc3RkOjpwYWlyPHNpemVfdCwgT3B0aW9uYWw8
Q29udGFpbmVyPj47CisKKyAgICBzdHJ1Y3QgUmVzdWx0IHsKKyAgICAgICAgUmVzdWx0KHNpemVf
dCBhcmd1bWVudEluZGV4LCBPcHRpb25hbDxDb250YWluZXI+JiYgYXJndW1lbnRzKQorICAgICAg
ICAgICAgOiBhcmd1bWVudEluZGV4KGFyZ3VtZW50SW5kZXgpCisgICAgICAgICAgICAsIGFyZ3Vt
ZW50cyhXVEZNb3ZlKGFyZ3VtZW50cykpCisgICAgICAgIHsKKyAgICAgICAgfQorICAgICAgICBz
aXplX3QgYXJndW1lbnRJbmRleDsKKyAgICAgICAgT3B0aW9uYWw8Q29udGFpbmVyPiBhcmd1bWVu
dHM7CisgICAgfTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFZhcmlhZGljSGVscGVyPiB0eXBl
bmFtZSBWYXJpYWRpY0hlbHBlcjo6UmVzdWx0IHRvQXJndW1lbnRzKEpTQzo6RXhlY1N0YXRlJiwg
c2l6ZV90IHN0YXJ0SW5kZXggPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZGRkNjUwZGZlOTQwMThlODJhMzE3MDU0
YTIzYTFlNDA0YzM3YmY3Ny4uZWYxMTI5MGMyODAyYWIxOTMwNTg5MTJhZmFkZGU0NjU4YzIxYThm
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KQEAgLTM5ODcsMTAgKzM5ODcsMTAgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0No
ZWNrCiAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpO1xuIik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
aWYgKCEkbmFtZS5zZWNvbmQpXG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgICAgIHJldHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgdGhyb3dT
Y29wZSwgJG5hbWUuZmlyc3QsIFwiJG5hbWVcIiwgXCIkdmlzaWJsZUludGVyZmFjZU5hbWVcIiwg
JHF1b3RlZEZ1bmN0aW9uTmFtZSwgXCIkdHlwZVwiKTtcbiIpOworICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoISRuYW1lLmFyZ3VtZW50cylcbiIpOworICAgICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIHRocm93QXJndW1l
bnRUeXBlRXJyb3IoKnN0YXRlLCB0aHJvd1Njb3BlLCAkbmFtZS5hcmd1bWVudEluZGV4LCBcIiRu
YW1lXCIsIFwiJHZpc2libGVJbnRlcmZhY2VOYW1lXCIsICRxdW90ZWRGdW5jdGlvbk5hbWUsIFwi
JHR5cGVcIik7XG4iKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICR2YWx1ZSA9ICJXVEZN
b3ZlKCokbmFtZS5zZWNvbmQpIjsKKyAgICAgICAgICAgICR2YWx1ZSA9ICJXVEZNb3ZlKCRuYW1l
LmFyZ3VtZW50cy52YWx1ZSgpKSI7CiAKICAgICAgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3It
PklzRW51bVR5cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICBteSAkY2xhc3NOYW1lID0gR2V0RW51
bWVyYXRpb25DbGFzc05hbWUoJGludGVyZmFjZSwgJHR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA2ZGJh
ZGVjZGMxNDk2YjA2YzdjZGYxZmUyMTNjMWQyMjkxYTg4MjZiLi4wZTg2N2I1NmRiMjhmZDA5YWQ1
MzlmYWFmYmFkY2Q4MjI2ZTU2N2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNjU0OSw5ICs2NTQ5LDkgQEAg
c3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92
ZXJsb2FkZWRNZXRob2QxMihFeGVjU3QKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNh
c3RlZFRoaXMsIEpTVGVzdE9iajo6aW5mbygpKTsKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhp
cy0+d3JhcHBlZCgpOwogICAgIGF1dG8gYmxvYkFyZ3MgPSB0b0FyZ3VtZW50czxWYXJpYWRpY0hl
bHBlcjxKU0Jsb2IsIEJsb2I+Pigqc3RhdGUsIDApOwotICAgIGlmICghYmxvYkFyZ3Muc2Vjb25k
KQotICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIHRocm93U2Nv
cGUsIGJsb2JBcmdzLmZpcnN0LCAiYmxvYkFyZ3MiLCAiVGVzdE9iamVjdCIsICJvdmVybG9hZGVk
TWV0aG9kIiwgIkJsb2IiKTsKLSAgICBpbXBsLm92ZXJsb2FkZWRNZXRob2QoV1RGTW92ZSgqYmxv
YkFyZ3Muc2Vjb25kKSk7CisgICAgaWYgKCFibG9iQXJncy5hcmd1bWVudHMpCisgICAgICAgIHJl
dHVybiB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKCpzdGF0ZSwgdGhyb3dTY29wZSwgYmxvYkFyZ3Mu
YXJndW1lbnRJbmRleCwgImJsb2JBcmdzIiwgIlRlc3RPYmplY3QiLCAib3ZlcmxvYWRlZE1ldGhv
ZCIsICJCbG9iIik7CisgICAgaW1wbC5vdmVybG9hZGVkTWV0aG9kKFdURk1vdmUoYmxvYkFyZ3Mu
YXJndW1lbnRzLnZhbHVlKCkpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogfQogCkBAIC03MDg0LDcgKzcwODQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVmFyaWFkaWNTdHJpbmdNZXRob2QoRXhl
YwogICAgIGF1dG8gdGFpbCA9IHRvQXJndW1lbnRzPFZhcmlhZGljSGVscGVyPEpTQzo6SlNWYWx1
ZSwgU3RyaW5nPj4oKnN0YXRlLCAxKTsKICAgICBpZiAoVU5MSUtFTFkodGhyb3dTY29wZS5leGNl
cHRpb24oKSkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
Ci0gICAgaW1wbC52YXJpYWRpY1N0cmluZ01ldGhvZChXVEZNb3ZlKGhlYWQpLCBXVEZNb3ZlKCp0
YWlsLnNlY29uZCkpOworICAgIGltcGwudmFyaWFkaWNTdHJpbmdNZXRob2QoV1RGTW92ZShoZWFk
KSwgV1RGTW92ZSh0YWlsLmFyZ3VtZW50cy52YWx1ZSgpKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIApAQCAtNzEwNyw3ICs3MTA3LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGlj
RG91YmxlTWV0aG9kKEV4ZWMKICAgICBhdXRvIHRhaWwgPSB0b0FyZ3VtZW50czxWYXJpYWRpY0hl
bHBlcjxKU0M6OkpTVmFsdWUsIGRvdWJsZT4+KCpzdGF0ZSwgMSk7CiAgICAgaWYgKFVOTElLRUxZ
KHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwotICAgIGltcGwudmFyaWFkaWNEb3VibGVNZXRob2QoV1RGTW92ZSho
ZWFkKSwgV1RGTW92ZSgqdGFpbC5zZWNvbmQpKTsKKyAgICBpbXBsLnZhcmlhZGljRG91YmxlTWV0
aG9kKFdURk1vdmUoaGVhZCksIFdURk1vdmUodGFpbC5hcmd1bWVudHMudmFsdWUoKSkpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKQEAgLTcxMjgsOSAr
NzEyOCw5IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25WYXJpYWRpY05vZGVNZXRob2QoRXhlY1N0CiAgICAgaWYgKFVOTElLRUxZKCFoZWFk
KSkKICAgICAgICAgcmV0dXJuIHRocm93QXJndW1lbnRUeXBlRXJyb3IoKnN0YXRlLCB0aHJvd1Nj
b3BlLCAwLCAiaGVhZCIsICJUZXN0T2JqZWN0IiwgInZhcmlhZGljTm9kZU1ldGhvZCIsICJOb2Rl
Iik7CiAgICAgYXV0byB0YWlsID0gdG9Bcmd1bWVudHM8VmFyaWFkaWNIZWxwZXI8SlNOb2RlLCBO
b2RlPj4oKnN0YXRlLCAxKTsKLSAgICBpZiAoIXRhaWwuc2Vjb25kKQotICAgICAgICByZXR1cm4g
dGhyb3dBcmd1bWVudFR5cGVFcnJvcigqc3RhdGUsIHRocm93U2NvcGUsIHRhaWwuZmlyc3QsICJ0
YWlsIiwgIlRlc3RPYmplY3QiLCAidmFyaWFkaWNOb2RlTWV0aG9kIiwgIk5vZGUiKTsKLSAgICBp
bXBsLnZhcmlhZGljTm9kZU1ldGhvZCgqaGVhZCwgV1RGTW92ZSgqdGFpbC5zZWNvbmQpKTsKKyAg
ICBpZiAoIXRhaWwuYXJndW1lbnRzKQorICAgICAgICByZXR1cm4gdGhyb3dBcmd1bWVudFR5cGVF
cnJvcigqc3RhdGUsIHRocm93U2NvcGUsIHRhaWwuYXJndW1lbnRJbmRleCwgInRhaWwiLCAiVGVz
dE9iamVjdCIsICJ2YXJpYWRpY05vZGVNZXRob2QiLCAiTm9kZSIpOworICAgIGltcGwudmFyaWFk
aWNOb2RlTWV0aG9kKCpoZWFkLCBXVEZNb3ZlKHRhaWwuYXJndW1lbnRzLnZhbHVlKCkpKTsKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>