<?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>165798</bug_id>
          
          <creation_ts>2016-12-13 08:36:26 -0800</creation_ts>
          <short_desc>[Readable Streams API] Implement ReadableByteStreamController cancel internal method</short_desc>
          <delta_ts>2016-12-16 02:02:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Romain Bellessort">romain.wkt</reporter>
          <assigned_to name="Romain Bellessort">romain.wkt</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259401</commentid>
    <comment_count>0</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-13 08:36:26 -0800</bug_when>
    <thetext>Implement ReadableByteStreamController cancel internal method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259402</commentid>
    <comment_count>1</comment_count>
      <attachid>297015</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-13 08:57:44 -0800</bug_when>
    <thetext>Created attachment 297015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259696</commentid>
    <comment_count>2</comment_count>
      <attachid>297015</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-12-14 03:44:06 -0800</bug_when>
    <thetext>Comment on attachment 297015
Patch

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

&gt; Source/WebCore/Modules/streams/ReadableByteStreamInternals.js:95
&gt; +        firstDescriptor.bytesFilled = 0;

Could be done as one liner.

&gt; LayoutTests/streams/readable-byte-stream-controller.js:233
&gt; +const test5 = async_test(&quot;Calling cancel() on a readable ReadableStream that is not locked to a reader should return a promise whose fulfillment handler returns undefined&quot;);

Can you use promise_test instead of async_test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259709</commentid>
    <comment_count>3</comment_count>
      <attachid>297086</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-14 06:55:57 -0800</bug_when>
    <thetext>Created attachment 297086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259842</commentid>
    <comment_count>4</comment_count>
      <attachid>297086</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-12-14 12:27:28 -0800</bug_when>
    <thetext>Comment on attachment 297086
Patch

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

&gt; LayoutTests/streams/readable-byte-stream-controller.js:237
&gt; +            assert_unreached(&quot;No error should be thrown when calling cancel() on a readable ReadableStream that is not locked to a reader&quot;);

You do not need that assert_unreached. If you return a rejected promise, the test will be marked as fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260125</commentid>
    <comment_count>5</comment_count>
      <attachid>297191</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-15 05:53:06 -0800</bug_when>
    <thetext>Created attachment 297191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260129</commentid>
    <comment_count>6</comment_count>
      <attachid>297191</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-12-15 07:16:00 -0800</bug_when>
    <thetext>Comment on attachment 297191
Patch

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

&gt; LayoutTests/streams/readable-byte-stream-controller.js:164
&gt; +        function(err) {

Sorry for not spotting this one early.
You might be able to use promise_rejects for such cases, something like:
    return promise_rejects(test, myError, rs.getReader().read());

You might want to fix it later on if you wish.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260149</commentid>
    <comment_count>7</comment_count>
      <attachid>297195</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-15 09:10:02 -0800</bug_when>
    <thetext>Created attachment 297195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260161</commentid>
    <comment_count>8</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-12-15 10:05:40 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 297191 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=297191&amp;action=review
&gt; 
&gt; &gt; LayoutTests/streams/readable-byte-stream-controller.js:164
&gt; &gt; +        function(err) {
&gt; 
&gt; Sorry for not spotting this one early.
&gt; You might be able to use promise_rejects for such cases, something like:
&gt;     return promise_rejects(test, myError, rs.getReader().read());
&gt; 
&gt; You might want to fix it later on if you wish.

Thanks for the advice, the new patch uses promise_rejects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260557</commentid>
    <comment_count>9</comment_count>
      <attachid>297195</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-16 02:02:26 -0800</bug_when>
    <thetext>Comment on attachment 297195
Patch

Clearing flags on attachment: 297195

Committed r209915: &lt;http://trac.webkit.org/changeset/209915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260558</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-16 02:02:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297015</attachid>
            <date>2016-12-13 08:57:44 -0800</date>
            <delta_ts>2016-12-14 06:55:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165798-20161213175654.patch</filename>
            <type>text/plain</type>
            <size>7664</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM0ZGM2ZDQzNGI2MmMx
YjVjZTViMTU0MjVmNTVmNTliZWFjNmE4Ni4uOTZhYWI0MGVlYzVjNzE4YWRmM2QzYWQ2YzlhODli
OGIzZjhjMDAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTEzICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyIGNhbmNlbCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudGVkIGNhbmNlbCBtZXRob2Qgb2YgUmVhZGFi
bGVCeXRlU3RyZWFtQ29udHJvbGxlci4KKyAgICAgICAgQWxzbyBmaXhlZCBzbWFsbCBpbmNvbnNp
c3RlbmN5IGluIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbG9zZS4KKworICAgICAgICBB
ZGRlZCBvbmUgdGVzdCB0byBjaGVjayBjYW5jZWwgYmVoYXZpb3VyLiBNb3JlIHRlc3RzIG1heSBi
ZSBhZGRlZCBhcyB0aGUgQVBJIGlzIGltcGxlbWVudGVkLgorCisgICAgICAgICogTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qczoKKyAgICAgICAgKHByaXZhdGVJ
bml0aWFsaXplUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcik6IERlZmluZSBjYW5jZWwgaW50
ZXJuYWwgbWV0aG9kLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbmNl
bCk6IEFkZGVkLgorICAgICAgICAocmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKTog
Rml4ZWQgYmVoYXZpb3VyIChubyB2YWx1ZSBzaG91bGQgYmUgZGVxdWV1ZWQpLgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDogUmVtb3ZlZCBieXRlc0ZpbGxlZCAo
cHJldmlvdXMgYWRkaXRpb24gd2FzIG5vdCBuZWVkZWQpLgorCiAyMDE2LTEyLTEyICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYmluZGluZ3MgZ2VuZXJh
dGlvbiBzdXBwb3J0IGZvciBsZWdhY3kgV2ViQ29yZTo6RGljdGlvbmFyeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFs
cy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1J
bnRlcm5hbHMuanMKaW5kZXggZjhkZjk3ZmQ1ODA3OTk1ZThmMjA2MzJjMWY0Njg0ZjY3YzY0MjY5
MS4uYjA4ZTcxZjJiZDE5MmZjMWU1ZjMxZDAxMzlkZDE4N2JkOTk2Zjg0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFs
cy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3Ry
ZWFtSW50ZXJuYWxzLmpzCkBAIC03MSw3ICs3MSw4IEBAIGZ1bmN0aW9uIHByaXZhdGVJbml0aWFs
aXplUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcihzdHJlYW0sIHVuZGVybHlpbmdCeXRlU291
CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxl
ckVycm9yLgogICAgIH0pOwogCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCBjYW5jZWwgYW5kIHB1
bGwuCisgICAgdGhpcy5AY2FuY2VsID0gQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYW5j
ZWw7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBwdWxsLgogCiAgICAgcmV0dXJuIHRoaXM7CiB9
CkBAIC04NSw2ICs4NiwxOSBAQCBmdW5jdGlvbiBpc1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXIoY29udHJvbGxlcikKICAgICByZXR1cm4gQGlzT2JqZWN0KGNvbnRyb2xsZXIpICYmICEhY29u
dHJvbGxlci5AdW5kZXJseWluZ0J5dGVTb3VyY2U7CiB9CiAKK2Z1bmN0aW9uIHJlYWRhYmxlQnl0
ZVN0cmVhbUNvbnRyb2xsZXJDYW5jZWwoY29udHJvbGxlciwgcmVhc29uKQoreworICAgICJ1c2Ug
c3RyaWN0IjsKKworICAgIGlmIChjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zLmNvbnRlbnQu
bGVuZ3RoID4gMCkgeworICAgICAgICBsZXQgZmlyc3REZXNjcmlwdG9yID0gY29udHJvbGxlci5A
cGVuZGluZ1B1bGxJbnRvc1swXTsKKyAgICAgICAgZmlyc3REZXNjcmlwdG9yLmJ5dGVzRmlsbGVk
ID0gMDsKKyAgICB9CisgICAgY29udHJvbGxlci5AcXVldWUgPSBAbmV3UXVldWUoKTsKKyAgICBj
b250cm9sbGVyLkB0b3RhbFF1ZXVlZEJ5dGVzID0gMDsKKyAgICByZXR1cm4gQHByb21pc2VJbnZv
a2VPck5vb3AoY29udHJvbGxlci5AdW5kZXJseWluZ0J5dGVTb3VyY2UsICJjYW5jZWwiLCBbcmVh
c29uXSk7Cit9CisKIGZ1bmN0aW9uIHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihj
b250cm9sbGVyLCBlKQogewogICAgICJ1c2Ugc3RyaWN0IjsKQEAgLTEwOCw4ICsxMjIsOCBAQCBm
dW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UoY29udHJvbGxlcikKICAg
ICB9CiAKICAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvcy5jb250ZW50Lmxlbmd0
aCA+IDApIHsKLSAgICAgICAgY29uc3QgZmlyc3RQZW5kaW5nUHVsbEludG8gPSBAZGVxdWV1ZVZh
bHVlKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3MpOwotICAgICAgICBpZiAoZmlyc3RQZW5k
aW5nUHVsbEludG8uQGJ5dGVzRmlsbGVkID4gMCkgeworICAgICAgICBjb25zdCBmaXJzdFBlbmRp
bmdQdWxsSW50byA9IGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF07CisgICAgICAgIGlm
IChmaXJzdFBlbmRpbmdQdWxsSW50by5ieXRlc0ZpbGxlZCA+IDApIHsKICAgICAgICAgICAgIGNv
bnN0IGUgPSBuZXcgQFR5cGVFcnJvcigiQ2xvc2UgcmVxdWVzdGVkIHdoaWxlIHRoZXJlIHJlbWFp
biBwZW5kaW5nIGJ5dGVzIik7CiAgICAgICAgICAgICBAcmVhZGFibGVCeXRlU3RyZWFtQ29udHJv
bGxlckVycm9yKGNvbnRyb2xsZXIsIGUpOwogICAgICAgICAgICAgdGhyb3cgZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjNTY3
YzI0NDg3ZjYyOGQ2N2U5ZTJlYjczMzJkMzUzN2JlNzE2ZTk2Li5mOGJiNTliNGI3MTExNzA1MGMw
ZGQ5NzIwN2QwYmQzMWQ0MjY3MTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zNSw3ICszNSw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhhcHBlbmRGcm9tSlMpIFwKICAgICBtYWNybyhhdXRvQWxsb2NhdGVD
aHVua1NpemUpIFwKICAgICBtYWNybyhib2R5KSBcCi0gICAgbWFjcm8oYnl0ZXNGaWxsZWQpIFwK
ICAgICBtYWNybyhjYW5jZWwpIFwKICAgICBtYWNybyhjbG9uZUZvckpTKSBcCiAgICAgbWFjcm8o
Y2xvc2VSZXF1ZXN0ZWQpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MzcwYTYzMTMyYzVlMTRiZGJhZjI5MWZiNjZiZmYx
ZTUwOTllOTQ3Li5hZjZlM2EzYjc1M2FhMTk0Y2MzMWJmMzFhNmIwY2Y1MTI2ZWE3OGM1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMTItMTMgIFJvbWFpbiBCZWxsZXNzb3J0ICA8cm9tYWlu
LmJlbGxlc3NvcnRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIFtSZWFkYWJsZSBTdHJlYW1zIEFQ
SV0gSW1wbGVtZW50IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgY2FuY2VsIGludGVybmFs
IG1ldGhvZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY1Nzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgb25lIHRlc3QgdG8gY2hlY2sgY2FuY2VsIGJlaGF2aW91ci4gTW9yZSB0ZXN0cyBtYXkg
YmUgYWRkZWQgYXMgdGhlIEFQSSBpcyBpbXBsZW1lbnRlZC4KKworICAgICAgICAqIHN0cmVhbXMv
cmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgZXhw
ZWN0YXRpb25zLgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJv
bGxlci5qczogQWRkZWQgb25lIHRlc3QuCisKIDIwMTYtMTItMTIgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBiaW5kaW5ncyBnZW5lcmF0aW9uIHN1cHBv
cnQgZm9yIGxlZ2FjeSBXZWJDb3JlOjpEaWN0aW9uYXJ5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVj
dGVkLnR4dAppbmRleCBiODIwM2Q4NTJkMzdlOGZmMzcwYTA5YTU1MDgxN2I4YzcyNGNkOWNiLi40
ODViNTY4ZTg5MTFkMDMxODAzMTQ0YjIzYzA5NTAwZGFkZGVmNDFiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJv
bGxlci1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDcgQEAgUEFTUyBDYWxsaW5nIHJlYWQoKSBv
biBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0aGF0IGhhcyBiZWVuIGVycm9y
ZWQKIFBBU1MgQ2FsbGluZyByZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRy
b2xsZXIgdGhhdCBoYXMgYmVlbiBjbG9zZWQgc2hvdWxkIG5vdCBiZSByZWplY3RlZCAKIEZBSUwg
Q2FsbGluZyByZWFkKCkgYWZ0ZXIgYSBjaHVuayBoYXMgYmVlbiBlbnF1ZXVlZCBzaG91bGQgcmVz
dWx0IGluIG9idGFpbmluZyBzYWlkIGNodW5rIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIg
ZW5xdWV1ZSgpIGlzIG5vdCBpbXBsZW1lbnRlZAogUEFTUyBCeSBkZWZhdWx0IGluaXRpYWwgdmFs
dWUgb2YgZGVzaXJlZFNpemUgc2hvdWxkIGJlIDEgCitQQVNTIENhbGxpbmcgY2FuY2VsKCkgb24g
YSByZWFkYWJsZSBSZWFkYWJsZVN0cmVhbSB0aGF0IGlzIG5vdCBsb2NrZWQgdG8gYSByZWFkZXIg
c2hvdWxkIHJldHVybiBhIHByb21pc2Ugd2hvc2UgZnVsZmlsbG1lbnQgaGFuZGxlciByZXR1cm5z
IHVuZGVmaW5lZCAKIFBBU1MgQ3JlYXRpbmcgYSBSZWFkYWJsZVN0cmVhbSB3aXRoIGFuIHVuZGVy
bHlpbmdTb3VyY2Ugd2l0aCB0eXBlIHByb3BlcnR5IHNldCB0byAnYnl0ZXMnIHNob3VsZCBzdWNj
ZWVkIAogUEFTUyBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGluc3RhbmNlcyBzaG91bGQg
aGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgCiBQQVNTIENhbGxpbmcgZXJyb3Io
KSB3aXRoIGEgdGhpcyBvYmplY3QgZGlmZmVyZW50IGZyb20gUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlciBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgCkBAIC0yMyw0ICsyNCw1IEBAIFBBU1Mg
Q2FsbGluZyByZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhh
dCBoYXMgYmVlbiBlcnJvcmVkCiBQQVNTIENhbGxpbmcgcmVhZCgpIG9uIGEgcmVhZGVyIGFzc29j
aWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xvc2VkIHNob3VsZCBub3QgYmUg
cmVqZWN0ZWQgCiBGQUlMIENhbGxpbmcgcmVhZCgpIGFmdGVyIGEgY2h1bmsgaGFzIGJlZW4gZW5x
dWV1ZWQgc2hvdWxkIHJlc3VsdCBpbiBvYnRhaW5pbmcgc2FpZCBjaHVuayBSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyIGVucXVldWUoKSBpcyBub3QgaW1wbGVtZW50ZWQKIFBBU1MgQnkgZGVm
YXVsdCBpbml0aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3VsZCBiZSAxIAorUEFTUyBDYWxs
aW5nIGNhbmNlbCgpIG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJlYW0gdGhhdCBpcyBub3QgbG9j
a2VkIHRvIGEgcmVhZGVyIHNob3VsZCByZXR1cm4gYSBwcm9taXNlIHdob3NlIGZ1bGZpbGxtZW50
IGhhbmRsZXIgcmV0dXJucyB1bmRlZmluZWQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci5qcyBiL0xheW91dFRlc3RzL3N0
cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci5qcwppbmRleCBlMjUzOWY1NzY3
YjBjZGYwZWQzODIzNDFkYzRkNGU5ZTg3YjcxMmYzLi41YzI1OWM4MGZmNjYxYmQzZjkxMmJkMjk4
MzliYjc5ODViNjc0ZmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLmpzCkBAIC0yMzAsNCArMjMwLDIyIEBAIHRlc3Qo
ZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyhjb250cm9sbGVyLmRlc2lyZWRTaXplLCAx
LCAiYnkgZGVmYXVsdCBpbml0aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3VsZCBiZSAxIik7
CiB9LCAiQnkgZGVmYXVsdCBpbml0aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3VsZCBiZSAx
Iik7CiAKK2NvbnN0IHRlc3Q1ID0gYXN5bmNfdGVzdCgiQ2FsbGluZyBjYW5jZWwoKSBvbiBhIHJl
YWRhYmxlIFJlYWRhYmxlU3RyZWFtIHRoYXQgaXMgbm90IGxvY2tlZCB0byBhIHJlYWRlciBzaG91
bGQgcmV0dXJuIGEgcHJvbWlzZSB3aG9zZSBmdWxmaWxsbWVudCBoYW5kbGVyIHJldHVybnMgdW5k
ZWZpbmVkIik7Cit0ZXN0NS5zdGVwKGZ1bmN0aW9uKCkgeworCisgICAgY29uc3QgcnMgPSBuZXcg
UmVhZGFibGVTdHJlYW0oeworICAgICAgICB0eXBlOiAiYnl0ZXMiCisgICAgfSk7CisKKyAgICBy
cy5jYW5jZWwoKS50aGVuKAorICAgICAgICB0ZXN0NS5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVzKSB7
CisgICAgICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhyZXMsIHVuZGVmaW5lZCk7CisgICAg
ICAgICAgICB0ZXN0NS5kb25lKCk7CisgICAgICAgIH0pLAorICAgICAgICB0ZXN0NS5zdGVwX2Z1
bmMoZnVuY3Rpb24oZXJyKSB7CisgICAgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJObyBlcnJv
ciBzaG91bGQgYmUgdGhyb3duIHdoZW4gY2FsbGluZyBjYW5jZWwoKSBvbiBhIHJlYWRhYmxlIFJl
YWRhYmxlU3RyZWFtIHRoYXQgaXMgbm90IGxvY2tlZCB0byBhIHJlYWRlciIpOworICAgICAgICB9
KQorICAgICk7Cit9KTsKKwogZG9uZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297086</attachid>
            <date>2016-12-14 06:55:57 -0800</date>
            <delta_ts>2016-12-15 05:52:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165798-20161214155506.patch</filename>
            <type>text/plain</type>
            <size>10393</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU2NmYzOWE3Yzg3ZjQ3
YmI0MTFlMGRjZjFhYTk3YTA2YjgwYjJiZS4uMWY4NDg1NmFkYzA1M2U3NTUyOTIyMmMzYWY3YmRk
M2RjNTNhYjNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTE0ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyIGNhbmNlbCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVu
biBGYWJsZXQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgY2FuY2VsIG1ldGhvZCBvZiBSZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyLgorICAgICAgICBBbHNvIGZpeGVkIHNtYWxsIGluY29uc2lz
dGVuY3kgaW4gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlLgorCisgICAgICAgIEFk
ZGVkIG9uZSB0ZXN0IHRvIGNoZWNrIGNhbmNlbCBiZWhhdmlvdXIuIE1vcmUgdGVzdHMgbWF5IGJl
IGFkZGVkIGFzIHRoZSBBUEkgaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAocHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKTogRGVmaW5lIGNhbmNlbCBpbnRl
cm5hbCBtZXRob2QuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2Vs
KTogQWRkZWQuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UpOiBG
aXhlZCBiZWhhdmlvdXIgKG5vIHZhbHVlIHNob3VsZCBiZSBkZXF1ZXVlZCkuCisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1vdmVkIGJ5dGVzRmlsbGVkIChw
cmV2aW91cyBhZGRpdGlvbiB3YXMgbm90IG5lZWRlZCkuCisKIDIwMTYtMTItMTQgIEVucmlxdWUg
T2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OKHIyMDc4NzktMjA3ODkxKTogW0dTdHJlYW1lcl0gSW50cm9kdWNlZCBtYW55IGxheW91dCB0
ZXN0IGZhaWx1cmVzIGFuZCBjcmFzaGVzLCBib3RzIGV4aXRpbmcgZWFybHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5h
bHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFt
SW50ZXJuYWxzLmpzCmluZGV4IGY4ZGY5N2ZkNTgwNzk5NWU4ZjIwNjMyYzFmNDY4NGY2N2M2NDI2
OTEuLjE1MDczOGI4ZWM2MzQ5ZmM2ZWJlMzJkM2FhMTYyZTc5Njg4MDYzN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5h
bHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFscy5qcwpAQCAtNzEsNyArNzEsOCBAQCBmdW5jdGlvbiBwcml2YXRlSW5pdGlh
bGl6ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLCB1bmRlcmx5aW5nQnl0ZVNv
dQogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJFcnJvci4KICAgICB9KTsKIAotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgY2FuY2VsIGFuZCBw
dWxsLgorICAgIHRoaXMuQGNhbmNlbCA9IEByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2Fu
Y2VsOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcHVsbC4KIAogICAgIHJldHVybiB0aGlzOwog
fQpAQCAtODUsNiArODYsMTcgQEAgZnVuY3Rpb24gaXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyKGNvbnRyb2xsZXIpCiAgICAgcmV0dXJuIEBpc09iamVjdChjb250cm9sbGVyKSAmJiAhIWNv
bnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlOwogfQogCitmdW5jdGlvbiByZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyQ2FuY2VsKGNvbnRyb2xsZXIsIHJlYXNvbikKK3sKKyAgICAidXNl
IHN0cmljdCI7CisKKyAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJbnRvcy5jb250ZW50
Lmxlbmd0aCA+IDApCisgICAgICAgIGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF0uYnl0
ZXNGaWxsZWQgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5ld1F1ZXVlKCk7CisgICAg
Y29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA9IDA7CisgICAgcmV0dXJuIEBwcm9taXNlSW52
b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlLCAiY2FuY2VsIiwgW3Jl
YXNvbl0pOworfQorCiBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRXJyb3Io
Y29udHJvbGxlciwgZSkKIHsKICAgICAidXNlIHN0cmljdCI7CkBAIC0xMDgsOCArMTIwLDcgQEAg
ZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKGNvbnRyb2xsZXIpCiAg
ICAgfQogCiAgICAgaWYgKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3MuY29udGVudC5sZW5n
dGggPiAwKSB7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGVuZGluZ1B1bGxJbnRvID0gQGRlcXVldWVW
YWx1ZShjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zKTsKLSAgICAgICAgaWYgKGZpcnN0UGVu
ZGluZ1B1bGxJbnRvLkBieXRlc0ZpbGxlZCA+IDApIHsKKyAgICAgICAgaWYgKGNvbnRyb2xsZXIu
QHBlbmRpbmdQdWxsSW50b3NbMF0uYnl0ZXNGaWxsZWQgPiAwKSB7CiAgICAgICAgICAgICBjb25z
dCBlID0gbmV3IEBUeXBlRXJyb3IoIkNsb3NlIHJlcXVlc3RlZCB3aGlsZSB0aGVyZSByZW1haW4g
cGVuZGluZyBieXRlcyIpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJFcnJvcihjb250cm9sbGVyLCBlKTsKICAgICAgICAgICAgIHRocm93IGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYzU2N2My
NDQ4N2Y2MjhkNjdlOWUyZWI3MzMyZDM1MzdiZTcxNmU5Ni4uZjhiYjU5YjRiNzExMTcwNTBjMGRk
OTcyMDdkMGJkMzFkNDI2NzEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzUsNyArMzUsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgbWFjcm8oYXBwZW5kRnJvbUpTKSBcCiAgICAgbWFjcm8oYXV0b0FsbG9jYXRlQ2h1
bmtTaXplKSBcCiAgICAgbWFjcm8oYm9keSkgXAotICAgIG1hY3JvKGJ5dGVzRmlsbGVkKSBcCiAg
ICAgbWFjcm8oY2FuY2VsKSBcCiAgICAgbWFjcm8oY2xvbmVGb3JKUykgXAogICAgIG1hY3JvKGNs
b3NlUmVxdWVzdGVkKSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWVkNzBkZjU4MGE4OGFiOWFiZDdjOGRlOGM0ZTUzYjU2
YzJhYjM4MS4uNDJjODM1ZGM3ZTRjM2JlMWQzMGVmNmVhMGQ4MzIxZjJjYzcwOWFiOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTE0ICBSb21haW4gQmVsbGVzc29ydCAgPHJvbWFpbi5i
ZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFibGUgU3RyZWFtcyBBUEld
IEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGNhbmNlbCBpbnRlcm5hbCBt
ZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgQWRk
ZWQgb25lIHRlc3QgdG8gY2hlY2sgY2FuY2VsIGJlaGF2aW91ci4gTW9yZSB0ZXN0cyBtYXkgYmUg
YWRkZWQgYXMgdGhlIEFQSSBpcyBpbXBsZW1lbnRlZC4KKyAgICAgICAgQWxzbyByZXBsYWNlZCBh
c3luY190ZXN0IGJ5IHByb21pc2VfdGVzdCB3aGVyZSBhcHBsaWNhYmxlLgorCisgICAgICAgICog
c3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dDogVXBk
YXRlZCBleHBlY3RhdGlvbnMuCisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVh
bS1jb250cm9sbGVyLmpzOiBBZGRlZCBvbmUgdGVzdC4KKwogMjAxNi0xMi0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVGVzdCBpbmZyYXN0cnVjdHVyZSBz
aG91bGQgYWxsb3cgdG8gZmlsdGVyIG91dCB0ZXh0IG91dHB1dCBiZWZvcmUgZG9pbmcgYSBjb21w
YXJpc29uIHdpdGggdGhlIGJhc2VsaW5lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1z
L3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dApp
bmRleCBiODIwM2Q4NTJkMzdlOGZmMzcwYTA5YTU1MDgxN2I4YzcyNGNkOWNiLi40ODViNTY4ZTg5
MTFkMDMxODAzMTQ0YjIzYzA5NTAwZGFkZGVmNDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci1leHBl
Y3RlZC50eHQKQEAgLTExLDYgKzExLDcgQEAgUEFTUyBDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRl
ciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0aGF0IGhhcyBiZWVuIGVycm9yZWQKIFBBU1Mg
Q2FsbGluZyByZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhh
dCBoYXMgYmVlbiBjbG9zZWQgc2hvdWxkIG5vdCBiZSByZWplY3RlZCAKIEZBSUwgQ2FsbGluZyBy
ZWFkKCkgYWZ0ZXIgYSBjaHVuayBoYXMgYmVlbiBlbnF1ZXVlZCBzaG91bGQgcmVzdWx0IGluIG9i
dGFpbmluZyBzYWlkIGNodW5rIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgZW5xdWV1ZSgp
IGlzIG5vdCBpbXBsZW1lbnRlZAogUEFTUyBCeSBkZWZhdWx0IGluaXRpYWwgdmFsdWUgb2YgZGVz
aXJlZFNpemUgc2hvdWxkIGJlIDEgCitQQVNTIENhbGxpbmcgY2FuY2VsKCkgb24gYSByZWFkYWJs
ZSBSZWFkYWJsZVN0cmVhbSB0aGF0IGlzIG5vdCBsb2NrZWQgdG8gYSByZWFkZXIgc2hvdWxkIHJl
dHVybiBhIHByb21pc2Ugd2hvc2UgZnVsZmlsbG1lbnQgaGFuZGxlciByZXR1cm5zIHVuZGVmaW5l
ZCAKIFBBU1MgQ3JlYXRpbmcgYSBSZWFkYWJsZVN0cmVhbSB3aXRoIGFuIHVuZGVybHlpbmdTb3Vy
Y2Ugd2l0aCB0eXBlIHByb3BlcnR5IHNldCB0byAnYnl0ZXMnIHNob3VsZCBzdWNjZWVkIAogUEFT
UyBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUg
Y29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgCiBQQVNTIENhbGxpbmcgZXJyb3IoKSB3aXRoIGEg
dGhpcyBvYmplY3QgZGlmZmVyZW50IGZyb20gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBz
aG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgCkBAIC0yMyw0ICsyNCw1IEBAIFBBU1MgQ2FsbGluZyBy
ZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVl
biBlcnJvcmVkCiBQQVNTIENhbGxpbmcgcmVhZCgpIG9uIGEgcmVhZGVyIGFzc29jaWF0ZWQgdG8g
YSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xvc2VkIHNob3VsZCBub3QgYmUgcmVqZWN0ZWQg
CiBGQUlMIENhbGxpbmcgcmVhZCgpIGFmdGVyIGEgY2h1bmsgaGFzIGJlZW4gZW5xdWV1ZWQgc2hv
dWxkIHJlc3VsdCBpbiBvYnRhaW5pbmcgc2FpZCBjaHVuayBSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyIGVucXVldWUoKSBpcyBub3QgaW1wbGVtZW50ZWQKIFBBU1MgQnkgZGVmYXVsdCBpbml0
aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3VsZCBiZSAxIAorUEFTUyBDYWxsaW5nIGNhbmNl
bCgpIG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJlYW0gdGhhdCBpcyBub3QgbG9ja2VkIHRvIGEg
cmVhZGVyIHNob3VsZCByZXR1cm4gYSBwcm9taXNlIHdob3NlIGZ1bGZpbGxtZW50IGhhbmRsZXIg
cmV0dXJucyB1bmRlZmluZWQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci5qcyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci5qcwppbmRleCBlMjUzOWY1NzY3YjBjZGYwZWQz
ODIzNDFkYzRkNGU5ZTg3YjcxMmYzLi44MWM3MTYwYTAyYTdjZWUwMDI4ZTc5NDUyNTE4ZjEzYjk4
MzJiZjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3Ry
ZWFtLWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRl
LXN0cmVhbS1jb250cm9sbGVyLmpzCkBAIC0xNDUsOCArMTQ1LDcgQEAgdGVzdChmdW5jdGlvbigp
IHsKICAgICAgICAgfSk7CiB9LCAiQ2FsbGluZyBjbG9zZSgpIGFmdGVyIGNhbGxpbmcgZXJyb3Io
KSBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IiKTsKIAotY29uc3QgdGVzdDIgPSBhc3luY190ZXN0
KCJDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0
aGF0IGhhcyBiZWVuIGVycm9yZWQgc2hvdWxkIGZhaWwgd2l0aCBwcm92aWRlZCBlcnJvciIpOwot
dGVzdDIuc3RlcChmdW5jdGlvbigpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbigpIHsKICAgICBs
ZXQgY29udHJvbGxlcjsKIAogICAgIGNvbnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKHsKQEAg
LTE1OCwxOSArMTU3LDE3IEBAIHRlc3QyLnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgY29uc3QgbXlF
cnJvciA9ICJteSBlcnJvciI7CiAgICAgY29udHJvbGxlci5lcnJvcihteUVycm9yKTsKIAotICAg
IHJzLmdldFJlYWRlcigpLnJlYWQoKS50aGVuKAotICAgICAgICB0ZXN0Mi5zdGVwX2Z1bmMoZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHJzLmdldFJlYWRlcigpLnJlYWQoKS50aGVuKAorICAgICAg
ICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ3JlYWQoKSBzaG91
bGQgcmVqZWN0IG9uIGFuIGVycm9yZWQgc3RyZWFtJyk7Ci0gICAgICAgIH0pLAotICAgICAgICB0
ZXN0Mi5zdGVwX2Z1bmMoZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIH0sCisgICAgICAgIGZ1bmN0
aW9uKGVycikgewogICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhteUVycm9yLCBlcnIpOwotICAg
ICAgICAgICAgdGVzdDIuZG9uZSgpOwotICAgICAgICB9KQorICAgICAgICB9CiAgICAgKTsKLX0p
OworfSwgIkNhbGxpbmcgcmVhZCgpIG9uIGEgcmVhZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9s
bGVyIHRoYXQgaGFzIGJlZW4gZXJyb3JlZCBzaG91bGQgZmFpbCB3aXRoIHByb3ZpZGVkIGVycm9y
Iik7CiAKLWNvbnN0IHRlc3QzID0gYXN5bmNfdGVzdCgiQ2FsbGluZyByZWFkKCkgb24gYSByZWFk
ZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBjbG9zZWQgc2hvdWxk
IG5vdCBiZSByZWplY3RlZCIpOwotdGVzdDMuc3RlcChmdW5jdGlvbigpIHsKK3Byb21pc2VfdGVz
dChmdW5jdGlvbigpIHsKICAgICBsZXQgY29udHJvbGxlcjsKIAogICAgIGNvbnN0IHJzID0gbmV3
IFJlYWRhYmxlU3RyZWFtKHsKQEAgLTE4MiwxOSArMTc5LDE3IEBAIHRlc3QzLnN0ZXAoZnVuY3Rp
b24oKSB7CiAKICAgICBjb250cm9sbGVyLmNsb3NlKCk7CiAKLSAgICBycy5nZXRSZWFkZXIoKS5y
ZWFkKCkudGhlbigKLSAgICAgICAgdGVzdDMuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlcykgeworICAg
IHJldHVybiBycy5nZXRSZWFkZXIoKS5yZWFkKCkudGhlbigKKyAgICAgICAgZnVuY3Rpb24ocmVz
KSB7CiAgICAgICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhyZXMsIHt2YWx1ZTogdW5kZWZp
bmVkLCBkb25lOiB0cnVlfSk7Ci0gICAgICAgICAgICB0ZXN0My5kb25lKCk7Ci0gICAgICAgIH0p
LAotICAgICAgICB0ZXN0My5zdGVwX2Z1bmMoZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIH0sCisg
ICAgICAgIGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgicmVh
ZCgpIHNob3VsZCBiZSBmdWxmaWxsZWQgIG9uIGEgY2xvc2VkIHN0cmVhbSIpOwotICAgICAgICB9
KQorICAgICAgICB9CiAgICAgKTsKLX0pOworfSwgIkNhbGxpbmcgcmVhZCgpIG9uIGEgcmVhZGVy
IGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xvc2VkIHNob3VsZCBu
b3QgYmUgcmVqZWN0ZWQiKTsKIAotY29uc3QgdGVzdDQgPSBhc3luY190ZXN0KCJDYWxsaW5nIHJl
YWQoKSBhZnRlciBhIGNodW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQgaW4gb2J0
YWluaW5nIHNhaWQgY2h1bmsiKTsKLXRlc3Q0LnN0ZXAoZnVuY3Rpb24oKSB7Citwcm9taXNlX3Rl
c3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IGNvbnRyb2xsZXI7CiAKICAgICBjb25zdCBycyA9IG5l
dyBSZWFkYWJsZVN0cmVhbSh7CkBAIC0yMDYsMTYgKzIwMSwxNSBAQCB0ZXN0NC5zdGVwKGZ1bmN0
aW9uKCkgewogCiAgICAgY29udHJvbGxlci5lbnF1ZXVlKCJ0ZXN0Iik7CiAKLSAgICBycy5nZXRS
ZWFkZXIoKS5yZWFkKCkudGhlbigKLSAgICAgICAgdGVzdDQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
cykgeworICAgIHJldHVybiBycy5nZXRSZWFkZXIoKS5yZWFkKCkudGhlbigKKyAgICAgICAgZnVu
Y3Rpb24ocmVzKSB7CiAgICAgICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhyZXMsIHt2YWx1
ZTogInRlc3QiLCBkb25lOiBmYWxzZX0pOwotICAgICAgICAgICAgdGVzdDQuZG9uZSgpOwotICAg
ICAgICB9KSwKLSAgICAgICAgdGVzdDQuc3RlcF9mdW5jKGZ1bmN0aW9uKGVycikgeworICAgICAg
ICB9LAorICAgICAgICBmdW5jdGlvbihlcnIpIHsKICAgICAgICAgICAgIGFzc2VydF91bnJlYWNo
ZWQoInJlYWQoKSBzaG91bGQgYmUgZnVsZmlsbGVkIGFmdGVyIGVucXVldWUiKTsKLSAgICAgICAg
fSkKKyAgICAgICAgfQogICAgICk7Ci19KTsKK30sICJDYWxsaW5nIHJlYWQoKSBhZnRlciBhIGNo
dW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQgaW4gb2J0YWluaW5nIHNhaWQgY2h1
bmsiKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgY29udHJvbGxlcjsKQEAgLTIzMCw0
ICsyMjQsMTkgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xs
ZXIuZGVzaXJlZFNpemUsIDEsICJieSBkZWZhdWx0IGluaXRpYWwgdmFsdWUgb2YgZGVzaXJlZFNp
emUgc2hvdWxkIGJlIDEiKTsKIH0sICJCeSBkZWZhdWx0IGluaXRpYWwgdmFsdWUgb2YgZGVzaXJl
ZFNpemUgc2hvdWxkIGJlIDEiKTsKIAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeworICAgIGNv
bnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKHsKKyAgICAgICAgdHlwZTogImJ5dGVzIgorICAg
IH0pOworCisgICAgcmV0dXJuIHJzLmNhbmNlbCgpLnRoZW4oCisgICAgICAgIGZ1bmN0aW9uKHJl
cykgeworICAgICAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMocmVzLCB1bmRlZmluZWQpOwor
ICAgICAgICB9LAorICAgICAgICBmdW5jdGlvbihlcnIpIHsKKyAgICAgICAgICAgIGFzc2VydF91
bnJlYWNoZWQoIk5vIGVycm9yIHNob3VsZCBiZSB0aHJvd24gd2hlbiBjYWxsaW5nIGNhbmNlbCgp
IG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJlYW0gdGhhdCBpcyBub3QgbG9ja2VkIHRvIGEgcmVh
ZGVyIik7CisgICAgICAgIH0KKyAgICApOworfSwgIkNhbGxpbmcgY2FuY2VsKCkgb24gYSByZWFk
YWJsZSBSZWFkYWJsZVN0cmVhbSB0aGF0IGlzIG5vdCBsb2NrZWQgdG8gYSByZWFkZXIgc2hvdWxk
IHJldHVybiBhIHByb21pc2Ugd2hvc2UgZnVsZmlsbG1lbnQgaGFuZGxlciByZXR1cm5zIHVuZGVm
aW5lZCIpOworCiBkb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297191</attachid>
            <date>2016-12-15 05:53:06 -0800</date>
            <delta_ts>2016-12-15 09:09:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165798-20161215145212.patch</filename>
            <type>text/plain</type>
            <size>10069</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ0M2FjMDVjMjA1Njli
ZWZkMzI0ZDA2YTZhMDcxNmYwMTJkNTY4MC4uZDI3ZWEzMTgzZjI5NDk0MTI1ZTg0ZTQ1YjFlOTRk
MmY2NDYwZmIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTE1ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyIGNhbmNlbCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVu
biBGYWJsZXQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgY2FuY2VsIG1ldGhvZCBvZiBSZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyLgorICAgICAgICBBbHNvIGZpeGVkIHNtYWxsIGluY29uc2lz
dGVuY3kgaW4gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlLgorCisgICAgICAgIEFk
ZGVkIG9uZSB0ZXN0IHRvIGNoZWNrIGNhbmNlbCBiZWhhdmlvdXIuIE1vcmUgdGVzdHMgbWF5IGJl
IGFkZGVkIGFzIHRoZSBBUEkgaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAocHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKTogRGVmaW5lIGNhbmNlbCBpbnRl
cm5hbCBtZXRob2QuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2Vs
KTogQWRkZWQuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UpOiBG
aXhlZCBiZWhhdmlvdXIgKG5vIHZhbHVlIHNob3VsZCBiZSBkZXF1ZXVlZCkuCisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1vdmVkIGJ5dGVzRmlsbGVkIChw
cmV2aW91cyBhZGRpdGlvbiB3YXMgbm90IG5lZWRlZCkuCisKIDIwMTYtMTItMTUgIEFsZWphbmRy
byBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgW09XUl0gVW5za2lwIGZh
c3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC10cmFjay1zdG9wLmh0bWwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGY4ZGY5N2ZkNTgwNzk5NWU4ZjIwNjMyYzFm
NDY4NGY2N2M2NDI2OTEuLjE1MDczOGI4ZWM2MzQ5ZmM2ZWJlMzJkM2FhMTYyZTc5Njg4MDYzN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcwpAQCAtNzEsNyArNzEsOCBAQCBmdW5jdGlvbiBw
cml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLCB1bmRl
cmx5aW5nQnl0ZVNvdQogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJFcnJvci4KICAgICB9KTsKIAotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
Y2FuY2VsIGFuZCBwdWxsLgorICAgIHRoaXMuQGNhbmNlbCA9IEByZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2FuY2VsOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcHVsbC4KIAogICAgIHJl
dHVybiB0aGlzOwogfQpAQCAtODUsNiArODYsMTcgQEAgZnVuY3Rpb24gaXNSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyKGNvbnRyb2xsZXIpCiAgICAgcmV0dXJuIEBpc09iamVjdChjb250cm9s
bGVyKSAmJiAhIWNvbnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlOwogfQogCitmdW5jdGlv
biByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2VsKGNvbnRyb2xsZXIsIHJlYXNvbikK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5jb250ZW50Lmxlbmd0aCA+IDApCisgICAgICAgIGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxs
SW50b3NbMF0uYnl0ZXNGaWxsZWQgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5ld1F1
ZXVlKCk7CisgICAgY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA9IDA7CisgICAgcmV0dXJu
IEBwcm9taXNlSW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlLCAi
Y2FuY2VsIiwgW3JlYXNvbl0pOworfQorCiBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyRXJyb3IoY29udHJvbGxlciwgZSkKIHsKICAgICAidXNlIHN0cmljdCI7CkBAIC0xMDgs
OCArMTIwLDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKGNv
bnRyb2xsZXIpCiAgICAgfQogCiAgICAgaWYgKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3Mu
Y29udGVudC5sZW5ndGggPiAwKSB7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGVuZGluZ1B1bGxJbnRv
ID0gQGRlcXVldWVWYWx1ZShjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zKTsKLSAgICAgICAg
aWYgKGZpcnN0UGVuZGluZ1B1bGxJbnRvLkBieXRlc0ZpbGxlZCA+IDApIHsKKyAgICAgICAgaWYg
KGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF0uYnl0ZXNGaWxsZWQgPiAwKSB7CiAgICAg
ICAgICAgICBjb25zdCBlID0gbmV3IEBUeXBlRXJyb3IoIkNsb3NlIHJlcXVlc3RlZCB3aGlsZSB0
aGVyZSByZW1haW4gcGVuZGluZyBieXRlcyIpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlKTsKICAgICAgICAgICAgIHRocm93IGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
aW5kZXggYzU2N2MyNDQ4N2Y2MjhkNjdlOWUyZWI3MzMyZDM1MzdiZTcxNmU5Ni4uZjhiYjU5YjRi
NzExMTcwNTBjMGRkOTcyMDdkMGJkMzFkNDI2NzEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzUsNyArMzUsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYXBwZW5kRnJvbUpTKSBcCiAgICAgbWFjcm8oYXV0
b0FsbG9jYXRlQ2h1bmtTaXplKSBcCiAgICAgbWFjcm8oYm9keSkgXAotICAgIG1hY3JvKGJ5dGVz
RmlsbGVkKSBcCiAgICAgbWFjcm8oY2FuY2VsKSBcCiAgICAgbWFjcm8oY2xvbmVGb3JKUykgXAog
ICAgIG1hY3JvKGNsb3NlUmVxdWVzdGVkKSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhmYTQxOTZkZDQ4OTc5MDE1M2M5
ZTQ5MGY5ZDEzYWJmNTAzZGQ4MS4uYjVjYWUxMjhmYWE3NjRlNjZhMWY4NWUzNDViNDkzZWQxNWZl
NjhhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTE1ICBSb21haW4gQmVsbGVzc29y
dCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFibGUg
U3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGNhbmNl
bCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisK
KyAgICAgICAgQWRkZWQgb25lIHRlc3QgdG8gY2hlY2sgY2FuY2VsIGJlaGF2aW91ci4gTW9yZSB0
ZXN0cyBtYXkgYmUgYWRkZWQgYXMgdGhlIEFQSSBpcyBpbXBsZW1lbnRlZC4KKyAgICAgICAgQWxz
byByZXBsYWNlZCBhc3luY190ZXN0IGJ5IHByb21pc2VfdGVzdCB3aGVyZSBhcHBsaWNhYmxlLgor
CisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVj
dGVkLnR4dDogVXBkYXRlZCBleHBlY3RhdGlvbnMuCisgICAgICAgICogc3RyZWFtcy9yZWFkYWJs
ZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLmpzOiBBZGRlZCBvbmUgdGVzdC4KKwogMjAxNi0xMi0x
NSAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBbT1dS
XSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXRyYWNr
LXN0b3AuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRl
LXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci1leHBlY3RlZC50eHQKaW5kZXggYjgyMDNkODUy
ZDM3ZThmZjM3MGEwOWE1NTA4MTdiOGM3MjRjZDljYi4uNDg1YjU2OGU4OTExZDAzMTgwMzE0NGIy
M2MwOTUwMGRhZGRlZjQxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CkBAIC0x
MSw2ICsxMSw3IEBAIFBBU1MgQ2FsbGluZyByZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0
byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBlcnJvcmVkCiBQQVNTIENhbGxpbmcgcmVhZCgp
IG9uIGEgcmVhZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xv
c2VkIHNob3VsZCBub3QgYmUgcmVqZWN0ZWQgCiBGQUlMIENhbGxpbmcgcmVhZCgpIGFmdGVyIGEg
Y2h1bmsgaGFzIGJlZW4gZW5xdWV1ZWQgc2hvdWxkIHJlc3VsdCBpbiBvYnRhaW5pbmcgc2FpZCBj
aHVuayBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGVucXVldWUoKSBpcyBub3QgaW1wbGVt
ZW50ZWQKIFBBU1MgQnkgZGVmYXVsdCBpbml0aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3Vs
ZCBiZSAxIAorUEFTUyBDYWxsaW5nIGNhbmNlbCgpIG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJl
YW0gdGhhdCBpcyBub3QgbG9ja2VkIHRvIGEgcmVhZGVyIHNob3VsZCByZXR1cm4gYSBwcm9taXNl
IHdob3NlIGZ1bGZpbGxtZW50IGhhbmRsZXIgcmV0dXJucyB1bmRlZmluZWQgCiBQQVNTIENyZWF0
aW5nIGEgUmVhZGFibGVTdHJlYW0gd2l0aCBhbiB1bmRlcmx5aW5nU291cmNlIHdpdGggdHlwZSBw
cm9wZXJ0eSBzZXQgdG8gJ2J5dGVzJyBzaG91bGQgc3VjY2VlZCAKIFBBU1MgUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlciBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlzdCBv
ZiBwcm9wZXJ0aWVzIAogUEFTUyBDYWxsaW5nIGVycm9yKCkgd2l0aCBhIHRoaXMgb2JqZWN0IGRp
ZmZlcmVudCBmcm9tIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yIApAQCAtMjMsNCArMjQsNSBAQCBQQVNTIENhbGxpbmcgcmVhZCgpIG9uIGEgcmVh
ZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gZXJyb3JlZAogUEFT
UyBDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0
aGF0IGhhcyBiZWVuIGNsb3NlZCBzaG91bGQgbm90IGJlIHJlamVjdGVkIAogRkFJTCBDYWxsaW5n
IHJlYWQoKSBhZnRlciBhIGNodW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQgaW4g
b2J0YWluaW5nIHNhaWQgY2h1bmsgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBlbnF1ZXVl
KCkgaXMgbm90IGltcGxlbWVudGVkCiBQQVNTIEJ5IGRlZmF1bHQgaW5pdGlhbCB2YWx1ZSBvZiBk
ZXNpcmVkU2l6ZSBzaG91bGQgYmUgMSAKK1BBU1MgQ2FsbGluZyBjYW5jZWwoKSBvbiBhIHJlYWRh
YmxlIFJlYWRhYmxlU3RyZWFtIHRoYXQgaXMgbm90IGxvY2tlZCB0byBhIHJlYWRlciBzaG91bGQg
cmV0dXJuIGEgcHJvbWlzZSB3aG9zZSBmdWxmaWxsbWVudCBoYW5kbGVyIHJldHVybnMgdW5kZWZp
bmVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3Ry
ZWFtLWNvbnRyb2xsZXIuanMgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3Ry
ZWFtLWNvbnRyb2xsZXIuanMKaW5kZXggZTI1MzlmNTc2N2IwY2RmMGVkMzgyMzQxZGM0ZDRlOWU4
N2I3MTJmMy4uZTNhZTAyNzExNjc4NzNjNmY0YjkyZDk2MWI1YTcyMjY2OTlkYThlYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVy
LmpzCisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJv
bGxlci5qcwpAQCAtMTQ1LDggKzE0NSw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIH0p
OwogfSwgIkNhbGxpbmcgY2xvc2UoKSBhZnRlciBjYWxsaW5nIGVycm9yKCkgc2hvdWxkIHRocm93
IGEgVHlwZUVycm9yIik7CiAKLWNvbnN0IHRlc3QyID0gYXN5bmNfdGVzdCgiQ2FsbGluZyByZWFk
KCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBl
cnJvcmVkIHNob3VsZCBmYWlsIHdpdGggcHJvdmlkZWQgZXJyb3IiKTsKLXRlc3QyLnN0ZXAoZnVu
Y3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IGNvbnRyb2xsZXI7
CiAKICAgICBjb25zdCBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7CkBAIC0xNTgsMTkgKzE1Nywx
NyBAQCB0ZXN0Mi5zdGVwKGZ1bmN0aW9uKCkgewogICAgIGNvbnN0IG15RXJyb3IgPSAibXkgZXJy
b3IiOwogICAgIGNvbnRyb2xsZXIuZXJyb3IobXlFcnJvcik7CiAKLSAgICBycy5nZXRSZWFkZXIo
KS5yZWFkKCkudGhlbigKLSAgICAgICAgdGVzdDIuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBycy5nZXRSZWFkZXIoKS5yZWFkKCkudGhlbigKKyAgICAgICAgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCdyZWFkKCkgc2hvdWxkIHJlamVjdCBvbiBh
biBlcnJvcmVkIHN0cmVhbScpOwotICAgICAgICB9KSwKLSAgICAgICAgdGVzdDIuc3RlcF9mdW5j
KGZ1bmN0aW9uKGVycikgeworICAgICAgICB9LAorICAgICAgICBmdW5jdGlvbihlcnIpIHsKICAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobXlFcnJvciwgZXJyKTsKLSAgICAgICAgICAgIHRlc3Qy
LmRvbmUoKTsKLSAgICAgICAgfSkKKyAgICAgICAgfQogICAgICk7Ci19KTsKK30sICJDYWxsaW5n
IHJlYWQoKSBvbiBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0aGF0IGhhcyBi
ZWVuIGVycm9yZWQgc2hvdWxkIGZhaWwgd2l0aCBwcm92aWRlZCBlcnJvciIpOwogCi1jb25zdCB0
ZXN0MyA9IGFzeW5jX3Rlc3QoIkNhbGxpbmcgcmVhZCgpIG9uIGEgcmVhZGVyIGFzc29jaWF0ZWQg
dG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xvc2VkIHNob3VsZCBub3QgYmUgcmVqZWN0
ZWQiKTsKLXRlc3QzLnN0ZXAoZnVuY3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7
CiAgICAgbGV0IGNvbnRyb2xsZXI7CiAKICAgICBjb25zdCBycyA9IG5ldyBSZWFkYWJsZVN0cmVh
bSh7CkBAIC0xODIsMTkgKzE3OSwxNCBAQCB0ZXN0My5zdGVwKGZ1bmN0aW9uKCkgewogCiAgICAg
Y29udHJvbGxlci5jbG9zZSgpOwogCi0gICAgcnMuZ2V0UmVhZGVyKCkucmVhZCgpLnRoZW4oCi0g
ICAgICAgIHRlc3QzLnN0ZXBfZnVuYyhmdW5jdGlvbihyZXMpIHsKKyAgICByZXR1cm4gcnMuZ2V0
UmVhZGVyKCkucmVhZCgpLnRoZW4oCisgICAgICAgIGZ1bmN0aW9uKHJlcykgewogICAgICAgICAg
ICAgYXNzZXJ0X29iamVjdF9lcXVhbHMocmVzLCB7dmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1
ZX0pOwotICAgICAgICAgICAgdGVzdDMuZG9uZSgpOwotICAgICAgICB9KSwKLSAgICAgICAgdGVz
dDMuc3RlcF9mdW5jKGZ1bmN0aW9uKGVycikgewotICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hl
ZCgicmVhZCgpIHNob3VsZCBiZSBmdWxmaWxsZWQgIG9uIGEgY2xvc2VkIHN0cmVhbSIpOwotICAg
ICAgICB9KQorICAgICAgICB9CiAgICAgKTsKLX0pOworfSwgIkNhbGxpbmcgcmVhZCgpIG9uIGEg
cmVhZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xvc2VkIHNo
b3VsZCBub3QgYmUgcmVqZWN0ZWQiKTsKIAotY29uc3QgdGVzdDQgPSBhc3luY190ZXN0KCJDYWxs
aW5nIHJlYWQoKSBhZnRlciBhIGNodW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQg
aW4gb2J0YWluaW5nIHNhaWQgY2h1bmsiKTsKLXRlc3Q0LnN0ZXAoZnVuY3Rpb24oKSB7Citwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgbGV0IGNvbnRyb2xsZXI7CiAKICAgICBjb25zdCBy
cyA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7CkBAIC0yMDYsMTYgKzE5OCwxMiBAQCB0ZXN0NC5zdGVw
KGZ1bmN0aW9uKCkgewogCiAgICAgY29udHJvbGxlci5lbnF1ZXVlKCJ0ZXN0Iik7CiAKLSAgICBy
cy5nZXRSZWFkZXIoKS5yZWFkKCkudGhlbigKLSAgICAgICAgdGVzdDQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlcykgeworICAgIHJldHVybiBycy5nZXRSZWFkZXIoKS5yZWFkKCkudGhlbigKKyAgICAg
ICAgZnVuY3Rpb24ocmVzKSB7CiAgICAgICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhyZXMs
IHt2YWx1ZTogInRlc3QiLCBkb25lOiBmYWxzZX0pOwotICAgICAgICAgICAgdGVzdDQuZG9uZSgp
OwotICAgICAgICB9KSwKLSAgICAgICAgdGVzdDQuc3RlcF9mdW5jKGZ1bmN0aW9uKGVycikgewot
ICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgicmVhZCgpIHNob3VsZCBiZSBmdWxmaWxsZWQg
YWZ0ZXIgZW5xdWV1ZSIpOwotICAgICAgICB9KQorICAgICAgICB9CiAgICAgKTsKLX0pOworfSwg
IkNhbGxpbmcgcmVhZCgpIGFmdGVyIGEgY2h1bmsgaGFzIGJlZW4gZW5xdWV1ZWQgc2hvdWxkIHJl
c3VsdCBpbiBvYnRhaW5pbmcgc2FpZCBjaHVuayIpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
IGxldCBjb250cm9sbGVyOwpAQCAtMjMwLDQgKzIxOCwxNiBAQCB0ZXN0KGZ1bmN0aW9uKCkgewog
ICAgIGFzc2VydF9lcXVhbHMoY29udHJvbGxlci5kZXNpcmVkU2l6ZSwgMSwgImJ5IGRlZmF1bHQg
aW5pdGlhbCB2YWx1ZSBvZiBkZXNpcmVkU2l6ZSBzaG91bGQgYmUgMSIpOwogfSwgIkJ5IGRlZmF1
bHQgaW5pdGlhbCB2YWx1ZSBvZiBkZXNpcmVkU2l6ZSBzaG91bGQgYmUgMSIpOwogCitwcm9taXNl
X3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgY29uc3QgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oewor
ICAgICAgICB0eXBlOiAiYnl0ZXMiCisgICAgfSk7CisKKyAgICByZXR1cm4gcnMuY2FuY2VsKCku
dGhlbigKKyAgICAgICAgZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICBhc3NlcnRfb2JqZWN0
X2VxdWFscyhyZXMsIHVuZGVmaW5lZCk7CisgICAgICAgIH0KKyAgICApOworfSwgIkNhbGxpbmcg
Y2FuY2VsKCkgb24gYSByZWFkYWJsZSBSZWFkYWJsZVN0cmVhbSB0aGF0IGlzIG5vdCBsb2NrZWQg
dG8gYSByZWFkZXIgc2hvdWxkIHJldHVybiBhIHByb21pc2Ugd2hvc2UgZnVsZmlsbG1lbnQgaGFu
ZGxlciByZXR1cm5zIHVuZGVmaW5lZCIpOworCiBkb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297195</attachid>
            <date>2016-12-15 09:10:02 -0800</date>
            <delta_ts>2016-12-16 02:02:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165798-20161215180909.patch</filename>
            <type>text/plain</type>
            <size>10118</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ0M2FjMDVjMjA1Njli
ZWZkMzI0ZDA2YTZhMDcxNmYwMTJkNTY4MC4uZDI3ZWEzMTgzZjI5NDk0MTI1ZTg0ZTQ1YjFlOTRk
MmY2NDYwZmIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTE1ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbUmVhZGFibGUgU3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyIGNhbmNlbCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVu
biBGYWJsZXQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgY2FuY2VsIG1ldGhvZCBvZiBSZWFkYWJs
ZUJ5dGVTdHJlYW1Db250cm9sbGVyLgorICAgICAgICBBbHNvIGZpeGVkIHNtYWxsIGluY29uc2lz
dGVuY3kgaW4gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlLgorCisgICAgICAgIEFk
ZGVkIG9uZSB0ZXN0IHRvIGNoZWNrIGNhbmNlbCBiZWhhdmlvdXIuIE1vcmUgdGVzdHMgbWF5IGJl
IGFkZGVkIGFzIHRoZSBBUEkgaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAocHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKTogRGVmaW5lIGNhbmNlbCBpbnRl
cm5hbCBtZXRob2QuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2Vs
KTogQWRkZWQuCisgICAgICAgIChyZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UpOiBG
aXhlZCBiZWhhdmlvdXIgKG5vIHZhbHVlIHNob3VsZCBiZSBkZXF1ZXVlZCkuCisgICAgICAgICog
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOiBSZW1vdmVkIGJ5dGVzRmlsbGVkIChw
cmV2aW91cyBhZGRpdGlvbiB3YXMgbm90IG5lZWRlZCkuCisKIDIwMTYtMTItMTUgIEFsZWphbmRy
byBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgW09XUl0gVW5za2lwIGZh
c3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC10cmFjay1zdG9wLmh0bWwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IGY4ZGY5N2ZkNTgwNzk5NWU4ZjIwNjMyYzFm
NDY4NGY2N2M2NDI2OTEuLjE1MDczOGI4ZWM2MzQ5ZmM2ZWJlMzJkM2FhMTYyZTc5Njg4MDYzN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qcwpAQCAtNzEsNyArNzEsOCBAQCBmdW5jdGlvbiBw
cml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLCB1bmRl
cmx5aW5nQnl0ZVNvdQogICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJFcnJvci4KICAgICB9KTsKIAotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
Y2FuY2VsIGFuZCBwdWxsLgorICAgIHRoaXMuQGNhbmNlbCA9IEByZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyQ2FuY2VsOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcHVsbC4KIAogICAgIHJl
dHVybiB0aGlzOwogfQpAQCAtODUsNiArODYsMTcgQEAgZnVuY3Rpb24gaXNSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyKGNvbnRyb2xsZXIpCiAgICAgcmV0dXJuIEBpc09iamVjdChjb250cm9s
bGVyKSAmJiAhIWNvbnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlOwogfQogCitmdW5jdGlv
biByZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FuY2VsKGNvbnRyb2xsZXIsIHJlYXNvbikK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoY29udHJvbGxlci5AcGVuZGluZ1B1bGxJ
bnRvcy5jb250ZW50Lmxlbmd0aCA+IDApCisgICAgICAgIGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxs
SW50b3NbMF0uYnl0ZXNGaWxsZWQgPSAwOworICAgIGNvbnRyb2xsZXIuQHF1ZXVlID0gQG5ld1F1
ZXVlKCk7CisgICAgY29udHJvbGxlci5AdG90YWxRdWV1ZWRCeXRlcyA9IDA7CisgICAgcmV0dXJu
IEBwcm9taXNlSW52b2tlT3JOb29wKGNvbnRyb2xsZXIuQHVuZGVybHlpbmdCeXRlU291cmNlLCAi
Y2FuY2VsIiwgW3JlYXNvbl0pOworfQorCiBmdW5jdGlvbiByZWFkYWJsZUJ5dGVTdHJlYW1Db250
cm9sbGVyRXJyb3IoY29udHJvbGxlciwgZSkKIHsKICAgICAidXNlIHN0cmljdCI7CkBAIC0xMDgs
OCArMTIwLDcgQEAgZnVuY3Rpb24gcmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKGNv
bnRyb2xsZXIpCiAgICAgfQogCiAgICAgaWYgKGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3Mu
Y29udGVudC5sZW5ndGggPiAwKSB7Ci0gICAgICAgIGNvbnN0IGZpcnN0UGVuZGluZ1B1bGxJbnRv
ID0gQGRlcXVldWVWYWx1ZShjb250cm9sbGVyLkBwZW5kaW5nUHVsbEludG9zKTsKLSAgICAgICAg
aWYgKGZpcnN0UGVuZGluZ1B1bGxJbnRvLkBieXRlc0ZpbGxlZCA+IDApIHsKKyAgICAgICAgaWYg
KGNvbnRyb2xsZXIuQHBlbmRpbmdQdWxsSW50b3NbMF0uYnl0ZXNGaWxsZWQgPiAwKSB7CiAgICAg
ICAgICAgICBjb25zdCBlID0gbmV3IEBUeXBlRXJyb3IoIkNsb3NlIHJlcXVlc3RlZCB3aGlsZSB0
aGVyZSByZW1haW4gcGVuZGluZyBieXRlcyIpOwogICAgICAgICAgICAgQHJlYWRhYmxlQnl0ZVN0
cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlKTsKICAgICAgICAgICAgIHRocm93IGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
aW5kZXggYzU2N2MyNDQ4N2Y2MjhkNjdlOWUyZWI3MzMyZDM1MzdiZTcxNmU5Ni4uZjhiYjU5YjRi
NzExMTcwNTBjMGRkOTcyMDdkMGJkMzFkNDI2NzEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzUsNyArMzUsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYXBwZW5kRnJvbUpTKSBcCiAgICAgbWFjcm8oYXV0
b0FsbG9jYXRlQ2h1bmtTaXplKSBcCiAgICAgbWFjcm8oYm9keSkgXAotICAgIG1hY3JvKGJ5dGVz
RmlsbGVkKSBcCiAgICAgbWFjcm8oY2FuY2VsKSBcCiAgICAgbWFjcm8oY2xvbmVGb3JKUykgXAog
ICAgIG1hY3JvKGNsb3NlUmVxdWVzdGVkKSBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhmYTQxOTZkZDQ4OTc5MDE1M2M5
ZTQ5MGY5ZDEzYWJmNTAzZGQ4MS4uYjVjYWUxMjhmYWE3NjRlNjZhMWY4NWUzNDViNDkzZWQxNWZl
NjhhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEyLTE1ICBSb21haW4gQmVsbGVzc29y
dCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbUmVhZGFibGUg
U3RyZWFtcyBBUEldIEltcGxlbWVudCBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGNhbmNl
bCBpbnRlcm5hbCBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2NTc5OAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisK
KyAgICAgICAgQWRkZWQgb25lIHRlc3QgdG8gY2hlY2sgY2FuY2VsIGJlaGF2aW91ci4gTW9yZSB0
ZXN0cyBtYXkgYmUgYWRkZWQgYXMgdGhlIEFQSSBpcyBpbXBsZW1lbnRlZC4KKyAgICAgICAgQWxz
byByZXBsYWNlZCBhc3luY190ZXN0IGJ5IHByb21pc2VfdGVzdCB3aGVyZSBhcHBsaWNhYmxlLgor
CisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVj
dGVkLnR4dDogVXBkYXRlZCBleHBlY3RhdGlvbnMuCisgICAgICAgICogc3RyZWFtcy9yZWFkYWJs
ZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLmpzOiBBZGRlZCBvbmUgdGVzdC4KKwogMjAxNi0xMi0x
NSAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBbT1dS
XSBVbnNraXAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXRyYWNr
LXN0b3AuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRl
LXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtYnl0ZS1zdHJlYW0tY29udHJvbGxlci1leHBlY3RlZC50eHQKaW5kZXggYjgyMDNkODUy
ZDM3ZThmZjM3MGEwOWE1NTA4MTdiOGM3MjRjZDljYi4uNDg1YjU2OGU4OTExZDAzMTgwMzE0NGIy
M2MwOTUwMGRhZGRlZjQxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1ieXRlLXN0cmVhbS1jb250cm9sbGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtLWNvbnRyb2xsZXItZXhwZWN0ZWQudHh0CkBAIC0x
MSw2ICsxMSw3IEBAIFBBU1MgQ2FsbGluZyByZWFkKCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0
byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBlcnJvcmVkCiBQQVNTIENhbGxpbmcgcmVhZCgp
IG9uIGEgcmVhZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gY2xv
c2VkIHNob3VsZCBub3QgYmUgcmVqZWN0ZWQgCiBGQUlMIENhbGxpbmcgcmVhZCgpIGFmdGVyIGEg
Y2h1bmsgaGFzIGJlZW4gZW5xdWV1ZWQgc2hvdWxkIHJlc3VsdCBpbiBvYnRhaW5pbmcgc2FpZCBj
aHVuayBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIGVucXVldWUoKSBpcyBub3QgaW1wbGVt
ZW50ZWQKIFBBU1MgQnkgZGVmYXVsdCBpbml0aWFsIHZhbHVlIG9mIGRlc2lyZWRTaXplIHNob3Vs
ZCBiZSAxIAorUEFTUyBDYWxsaW5nIGNhbmNlbCgpIG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJl
YW0gdGhhdCBpcyBub3QgbG9ja2VkIHRvIGEgcmVhZGVyIHNob3VsZCByZXR1cm4gYSBwcm9taXNl
IHdob3NlIGZ1bGZpbGxtZW50IGhhbmRsZXIgcmV0dXJucyB1bmRlZmluZWQgCiBQQVNTIENyZWF0
aW5nIGEgUmVhZGFibGVTdHJlYW0gd2l0aCBhbiB1bmRlcmx5aW5nU291cmNlIHdpdGggdHlwZSBw
cm9wZXJ0eSBzZXQgdG8gJ2J5dGVzJyBzaG91bGQgc3VjY2VlZCAKIFBBU1MgUmVhZGFibGVCeXRl
U3RyZWFtQ29udHJvbGxlciBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlzdCBv
ZiBwcm9wZXJ0aWVzIAogUEFTUyBDYWxsaW5nIGVycm9yKCkgd2l0aCBhIHRoaXMgb2JqZWN0IGRp
ZmZlcmVudCBmcm9tIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgc2hvdWxkIHRocm93IGEg
VHlwZUVycm9yIApAQCAtMjMsNCArMjQsNSBAQCBQQVNTIENhbGxpbmcgcmVhZCgpIG9uIGEgcmVh
ZGVyIGFzc29jaWF0ZWQgdG8gYSBjb250cm9sbGVyIHRoYXQgaGFzIGJlZW4gZXJyb3JlZAogUEFT
UyBDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0
aGF0IGhhcyBiZWVuIGNsb3NlZCBzaG91bGQgbm90IGJlIHJlamVjdGVkIAogRkFJTCBDYWxsaW5n
IHJlYWQoKSBhZnRlciBhIGNodW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQgaW4g
b2J0YWluaW5nIHNhaWQgY2h1bmsgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBlbnF1ZXVl
KCkgaXMgbm90IGltcGxlbWVudGVkCiBQQVNTIEJ5IGRlZmF1bHQgaW5pdGlhbCB2YWx1ZSBvZiBk
ZXNpcmVkU2l6ZSBzaG91bGQgYmUgMSAKK1BBU1MgQ2FsbGluZyBjYW5jZWwoKSBvbiBhIHJlYWRh
YmxlIFJlYWRhYmxlU3RyZWFtIHRoYXQgaXMgbm90IGxvY2tlZCB0byBhIHJlYWRlciBzaG91bGQg
cmV0dXJuIGEgcHJvbWlzZSB3aG9zZSBmdWxmaWxsbWVudCBoYW5kbGVyIHJldHVybnMgdW5kZWZp
bmVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3Ry
ZWFtLWNvbnRyb2xsZXIuanMgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3Ry
ZWFtLWNvbnRyb2xsZXIuanMKaW5kZXggZTI1MzlmNTc2N2IwY2RmMGVkMzgyMzQxZGM0ZDRlOWU4
N2I3MTJmMy4uM2QyY2NkNmUwYTk4Nzg0OTFmZDQ4YWE1OTE1MTVhNGEyNzU0MTZlMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbS1jb250cm9sbGVy
LmpzCisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW0tY29udHJv
bGxlci5qcwpAQCAtMTQ1LDggKzE0NSw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgICAgIH0p
OwogfSwgIkNhbGxpbmcgY2xvc2UoKSBhZnRlciBjYWxsaW5nIGVycm9yKCkgc2hvdWxkIHRocm93
IGEgVHlwZUVycm9yIik7CiAKLWNvbnN0IHRlc3QyID0gYXN5bmNfdGVzdCgiQ2FsbGluZyByZWFk
KCkgb24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBl
cnJvcmVkIHNob3VsZCBmYWlsIHdpdGggcHJvdmlkZWQgZXJyb3IiKTsKLXRlc3QyLnN0ZXAoZnVu
Y3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewogICAgIGxldCBjb250cm9s
bGVyOwogCiAgICAgY29uc3QgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oewpAQCAtMTU1LDIyICsx
NTQsMTMgQEAgdGVzdDIuc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgfSwKICAgICAgICAgdHlw
ZTogImJ5dGVzIgogICAgIH0pOwotICAgIGNvbnN0IG15RXJyb3IgPSAibXkgZXJyb3IiOworICAg
IGNvbnN0IG15RXJyb3IgPSBuZXcgRXJyb3IoIm15IGVycm9yIik7CiAgICAgY29udHJvbGxlci5l
cnJvcihteUVycm9yKTsKIAotICAgIHJzLmdldFJlYWRlcigpLnJlYWQoKS50aGVuKAotICAgICAg
ICB0ZXN0Mi5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKCdyZWFkKCkgc2hvdWxkIHJlamVjdCBvbiBhbiBlcnJvcmVkIHN0cmVhbScpOwotICAgICAg
ICB9KSwKLSAgICAgICAgdGVzdDIuc3RlcF9mdW5jKGZ1bmN0aW9uKGVycikgewotICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhteUVycm9yLCBlcnIpOwotICAgICAgICAgICAgdGVzdDIuZG9uZSgp
OwotICAgICAgICB9KQotICAgICk7Ci19KTsKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRl
c3QsIG15RXJyb3IsIHJzLmdldFJlYWRlcigpLnJlYWQoKSk7Cit9LCAiQ2FsbGluZyByZWFkKCkg
b24gYSByZWFkZXIgYXNzb2NpYXRlZCB0byBhIGNvbnRyb2xsZXIgdGhhdCBoYXMgYmVlbiBlcnJv
cmVkIHNob3VsZCBmYWlsIHdpdGggcHJvdmlkZWQgZXJyb3IiKTsKIAotY29uc3QgdGVzdDMgPSBh
c3luY190ZXN0KCJDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRlciBhc3NvY2lhdGVkIHRvIGEgY29u
dHJvbGxlciB0aGF0IGhhcyBiZWVuIGNsb3NlZCBzaG91bGQgbm90IGJlIHJlamVjdGVkIik7Ci10
ZXN0My5zdGVwKGZ1bmN0aW9uKCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewogICAgIGxl
dCBjb250cm9sbGVyOwogCiAgICAgY29uc3QgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oewpAQCAt
MTgyLDE5ICsxNzIsMTQgQEAgdGVzdDMuc3RlcChmdW5jdGlvbigpIHsKIAogICAgIGNvbnRyb2xs
ZXIuY2xvc2UoKTsKIAotICAgIHJzLmdldFJlYWRlcigpLnJlYWQoKS50aGVuKAotICAgICAgICB0
ZXN0My5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVzKSB7CisgICAgcmV0dXJuIHJzLmdldFJlYWRlcigp
LnJlYWQoKS50aGVuKAorICAgICAgICBmdW5jdGlvbihyZXMpIHsKICAgICAgICAgICAgIGFzc2Vy
dF9vYmplY3RfZXF1YWxzKHJlcywge3ZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWV9KTsKLSAg
ICAgICAgICAgIHRlc3QzLmRvbmUoKTsKLSAgICAgICAgfSksCi0gICAgICAgIHRlc3QzLnN0ZXBf
ZnVuYyhmdW5jdGlvbihlcnIpIHsKLSAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInJlYWQo
KSBzaG91bGQgYmUgZnVsZmlsbGVkICBvbiBhIGNsb3NlZCBzdHJlYW0iKTsKLSAgICAgICAgfSkK
KyAgICAgICAgfQogICAgICk7Ci19KTsKK30sICJDYWxsaW5nIHJlYWQoKSBvbiBhIHJlYWRlciBh
c3NvY2lhdGVkIHRvIGEgY29udHJvbGxlciB0aGF0IGhhcyBiZWVuIGNsb3NlZCBzaG91bGQgbm90
IGJlIHJlamVjdGVkIik7CiAKLWNvbnN0IHRlc3Q0ID0gYXN5bmNfdGVzdCgiQ2FsbGluZyByZWFk
KCkgYWZ0ZXIgYSBjaHVuayBoYXMgYmVlbiBlbnF1ZXVlZCBzaG91bGQgcmVzdWx0IGluIG9idGFp
bmluZyBzYWlkIGNodW5rIik7Ci10ZXN0NC5zdGVwKGZ1bmN0aW9uKCkgeworcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKCkgewogICAgIGxldCBjb250cm9sbGVyOwogCiAgICAgY29uc3QgcnMgPSBuZXcg
UmVhZGFibGVTdHJlYW0oewpAQCAtMjA2LDE2ICsxOTEsMTIgQEAgdGVzdDQuc3RlcChmdW5jdGlv
bigpIHsKIAogICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSgidGVzdCIpOwogCi0gICAgcnMuZ2V0UmVh
ZGVyKCkucmVhZCgpLnRoZW4oCi0gICAgICAgIHRlc3Q0LnN0ZXBfZnVuYyhmdW5jdGlvbihyZXMp
IHsKKyAgICByZXR1cm4gcnMuZ2V0UmVhZGVyKCkucmVhZCgpLnRoZW4oCisgICAgICAgIGZ1bmN0
aW9uKHJlcykgewogICAgICAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMocmVzLCB7dmFsdWU6
ICJ0ZXN0IiwgZG9uZTogZmFsc2V9KTsKLSAgICAgICAgICAgIHRlc3Q0LmRvbmUoKTsKLSAgICAg
ICAgfSksCi0gICAgICAgIHRlc3Q0LnN0ZXBfZnVuYyhmdW5jdGlvbihlcnIpIHsKLSAgICAgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoInJlYWQoKSBzaG91bGQgYmUgZnVsZmlsbGVkIGFmdGVyIGVu
cXVldWUiKTsKLSAgICAgICAgfSkKKyAgICAgICAgfQogICAgICk7Ci19KTsKK30sICJDYWxsaW5n
IHJlYWQoKSBhZnRlciBhIGNodW5rIGhhcyBiZWVuIGVucXVldWVkIHNob3VsZCByZXN1bHQgaW4g
b2J0YWluaW5nIHNhaWQgY2h1bmsiKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBsZXQgY29u
dHJvbGxlcjsKQEAgLTIzMCw0ICsyMTEsMTYgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3Nl
cnRfZXF1YWxzKGNvbnRyb2xsZXIuZGVzaXJlZFNpemUsIDEsICJieSBkZWZhdWx0IGluaXRpYWwg
dmFsdWUgb2YgZGVzaXJlZFNpemUgc2hvdWxkIGJlIDEiKTsKIH0sICJCeSBkZWZhdWx0IGluaXRp
YWwgdmFsdWUgb2YgZGVzaXJlZFNpemUgc2hvdWxkIGJlIDEiKTsKIAorcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGNvbnN0IHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKHsKKyAgICAgICAg
dHlwZTogImJ5dGVzIgorICAgIH0pOworCisgICAgcmV0dXJuIHJzLmNhbmNlbCgpLnRoZW4oCisg
ICAgICAgIGZ1bmN0aW9uKHJlcykgeworICAgICAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMo
cmVzLCB1bmRlZmluZWQpOworICAgICAgICB9CisgICAgKTsKK30sICJDYWxsaW5nIGNhbmNlbCgp
IG9uIGEgcmVhZGFibGUgUmVhZGFibGVTdHJlYW0gdGhhdCBpcyBub3QgbG9ja2VkIHRvIGEgcmVh
ZGVyIHNob3VsZCByZXR1cm4gYSBwcm9taXNlIHdob3NlIGZ1bGZpbGxtZW50IGhhbmRsZXIgcmV0
dXJucyB1bmRlZmluZWQiKTsKKwogZG9uZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>