<?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>202650</bug_id>
          
          <creation_ts>2019-10-07 13:22:50 -0700</creation_ts>
          <short_desc>Throw the right exception upon memory exhaustion in Array::slice</short_desc>
          <delta_ts>2020-03-15 04:29:10 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1577456</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-07 13:22:50 -0700</bug_when>
    <thetext>rdar://problem/55255615</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577459</commentid>
    <comment_count>1</comment_count>
      <attachid>380351</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-07 13:29:10 -0700</bug_when>
    <thetext>Created attachment 380351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577625</commentid>
    <comment_count>2</comment_count>
      <attachid>380387</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-07 20:35:03 -0700</bug_when>
    <thetext>Created attachment 380387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577848</commentid>
    <comment_count>3</comment_count>
      <attachid>380447</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-08 11:26:11 -0700</bug_when>
    <thetext>Created attachment 380447
Patch

trivial rebase (exec -&gt; callFrame)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577905</commentid>
    <comment_count>4</comment_count>
      <attachid>380447</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-08 13:14:32 -0700</bug_when>
    <thetext>Comment on attachment 380447
Patch

Lots of red</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577913</commentid>
    <comment_count>5</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-08 13:31:23 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 380447 [details]
&gt; Patch
&gt; 
&gt; Lots of red

Seems like I accidentally resubmitted the old patch instead of the rebased one. I&apos;ll fix it imminently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577931</commentid>
    <comment_count>6</comment_count>
      <attachid>380462</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-08 13:58:52 -0700</bug_when>
    <thetext>Created attachment 380462
Patch

Rebasing again, and attaching the right patch this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581799</commentid>
    <comment_count>7</comment_count>
      <attachid>380462</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-20 21:58:37 -0700</bug_when>
    <thetext>Comment on attachment 380462
Patch

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

&gt; Source/JavaScriptCore/runtime/ArrayBuffer.cpp:298
&gt; +RefPtr&lt;ArrayBuffer&gt; ArrayBuffer::slice(double begin, double end) const

Do callers of these various functions check for exceptions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582015</commentid>
    <comment_count>8</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2019-10-21 13:51:41 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #7)
&gt; Comment on attachment 380462 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=380462&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/ArrayBuffer.cpp:298
&gt; &gt; +RefPtr&lt;ArrayBuffer&gt; ArrayBuffer::slice(double begin, double end) const
&gt; 
&gt; Do callers of these various functions check for exceptions?

As far as I can tell, they are only called from arrayBufferProtoFuncSlice, which is installed as a normal JS function in JSArrayBufferPrototype.cpp at line 116:
JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames-&gt;slice, arrayBufferProtoFuncSlice, static_cast&lt;unsigned&gt;(PropertyAttribute::DontEnum), 2);

So I believe it should be fine (and the fact that all bots are green is encouraging), but I may be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582089</commentid>
    <comment_count>9</comment_count>
      <attachid>380462</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 15:47:23 -0700</bug_when>
    <thetext>Comment on attachment 380462
Patch

Clearing flags on attachment: 380462

Committed r251392: &lt;https://trac.webkit.org/changeset/251392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582090</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-21 15:47:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582091</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-21 15:48:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/56480013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583214</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-23 20:28:59 -0700</bug_when>
    <thetext>Can you check WebCore side too? ArrayBuffer is also used in WebCore.
For example, StructuredClone.cpp is using slice() call.
And WebCore/fileapi/FileReaderLoader.cpp is also using it.

And I prefer renaming it to `trySlice` if it can fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630168</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-15 04:29:10 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #12)
&gt; Can you check WebCore side too? ArrayBuffer is also used in WebCore.
&gt; For example, StructuredClone.cpp is using slice() call.
&gt; And WebCore/fileapi/FileReaderLoader.cpp is also using it.
&gt; 
&gt; And I prefer renaming it to `trySlice` if it can fail.

I&apos;ll fix this issue. https://bugs.webkit.org/show_bug.cgi?id=209121</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380351</attachid>
            <date>2019-10-07 13:29:10 -0700</date>
            <delta_ts>2019-10-07 20:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch202650</filename>
            <type>text/plain</type>
            <size>5300</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
Y2MyYjIyNzFlYWUuLjgzZTQ1MDM5NTcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTA3ICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgdGhlIHJp
Z2h0IGV4Y2VwdGlvbiB1cG9uIG1lbW9yeSBleGhhdXN0aW9uIGluIEFycmF5OjpzbGljZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNjUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJy
YXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxOS0xMC0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFdhc20gbXVsdGktdmFsdWUgcHJvcG9zYWwKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvc3RyZXNzL2FycmF5LXNsaWNlLW1lbW9yeS1leGhhdXN0aW9uLmpzIGIv
SlNUZXN0cy9zdHJlc3MvYXJyYXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmM1NzlkY2UyMTc4Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy9zdHJlc3MvYXJyYXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanMKQEAg
LTAsMCArMSwxMyBAQAorZnVuY3Rpb24gZm9vKCkgeworICBjb25zdCBhID0gW107CisgIGEuX19w
cm90b19fID0ge307CisgIGEuX19kZWZpbmVHZXR0ZXJfXygwLCBmb28pOworICBhLl9fZGVmaW5l
R2V0dGVyX18oMioqMjQsIGZvbyk7CisgIG5ldyBVaW50MzJBcnJheShhKTsKK30KKwordHJ5IHsK
KyAgY29uc3QgYWIgPSBuZXcgQXJyYXlCdWZmZXIoMioqMjgpOworICBuZXcgUHJvbWlzZShmb28p
OworICBhYi5zbGljZSgpOworfSBjYXRjaCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTMxYjdjOWY4ZGYuLjQzMWY2NDllODAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxOS0xMC0wNyAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFRocm93IHRoZSByaWdodCBleGNlcHRpb24gdXBvbiBtZW1vcnkgZXho
YXVzdGlvbiBpbiBBcnJheTo6c2xpY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMjY1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRyaXZpYWwgY2hhbmdlOiBqdXN0IHVzZSB0cnlDcmVhdGUgaW5zdGVh
ZCBvZiBjcmVhdGUsIGFuZCB0aHJvdyBhbiBleGNlcHRpb24gaWYgaXQgZmFpbHMuCisgICAgICAg
IE5vIHNlY3VyaXR5IGltcGxpY2F0aW9uOiB3ZSB3ZXJlIGp1c3QgY3Jhc2hpbmcgaW5zdGVhZCBv
ZiB0aHJvd2luZyBhIGNhdGNoYWJsZSBleGNlcHRpb24uCisKKyAgICAgICAgKiBydW50aW1lL0Fy
cmF5QnVmZmVyLmNwcDoKKyAgICAgICAgKEpTQzo6QXJyYXlCdWZmZXI6OnNsaWNlIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6QXJyYXlCdWZmZXI6OnNsaWNlSW1wbCBjb25zdCk6CisgICAgICAgICog
cnVudGltZS9BcnJheUJ1ZmZlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5QnVmZmVyUHJvdG9GdW5jU2xpY2UpOgor
CiAyMDE5LTEwLTAxICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciB0aGUgV2FzbSBtdWx0aS12YWx1ZSBwcm9wb3NhbApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXIuY3BwCmluZGV4IDY3MWJk
Yjc3MTMyLi4wN2JkYTM4YTZlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5QnVmZmVyLmNwcApAQCAtMjk1LDIxICsyOTUsMjIgQEAgdW5zaWduZWQgQXJyYXlCdWZm
ZXI6OmNsYW1wSW5kZXgoZG91YmxlIGluZGV4KSBjb25zdAogICAgIHJldHVybiBjbGFtcFZhbHVl
KGluZGV4LCAwLCBjdXJyZW50TGVuZ3RoKTsKIH0KIAotUmVmPEFycmF5QnVmZmVyPiBBcnJheUJ1
ZmZlcjo6c2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25zdAorUmVmUHRyPEFycmF5
QnVmZmVyPiBBcnJheUJ1ZmZlcjo6c2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25z
dAogewogICAgIHJldHVybiBzbGljZUltcGwoY2xhbXBJbmRleChiZWdpbiksIGNsYW1wSW5kZXgo
ZW5kKSk7CiB9CiAKLVJlZjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBi
ZWdpbikgY29uc3QKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJs
ZSBiZWdpbikgY29uc3QKIHsKICAgICByZXR1cm4gc2xpY2VJbXBsKGNsYW1wSW5kZXgoYmVnaW4p
LCBieXRlTGVuZ3RoKCkpOwogfQogCi1SZWY8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGlj
ZUltcGwodW5zaWduZWQgYmVnaW4sIHVuc2lnbmVkIGVuZCkgY29uc3QKK1JlZlB0cjxBcnJheUJ1
ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWduZWQgZW5k
KSBjb25zdAogewogICAgIHVuc2lnbmVkIHNpemUgPSBiZWdpbiA8PSBlbmQgPyBlbmQgLSBiZWdp
biA6IDA7Ci0gICAgYXV0byByZXN1bHQgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0
PGNvbnN0IGNoYXIqPihkYXRhKCkpICsgYmVnaW4sIHNpemUpOwotICAgIHJlc3VsdC0+c2V0U2hh
cmluZ01vZGUoc2hhcmluZ01vZGUoKSk7CisgICAgYXV0byByZXN1bHQgPSBBcnJheUJ1ZmZlcjo6
dHJ5Q3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihkYXRhKCkpICsgYmVnaW4sIHNpemUp
OworICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJlc3VsdC0+c2V0U2hhcmluZ01vZGUoc2hhcmlu
Z01vZGUoKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5QnVmZmVyLmgKaW5kZXggN2MwNWJiYzVkMjQuLmU2ZjU1Y2UwYmQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmgKQEAgLTEzMiw4
ICsxMzIsOCBAQCBwdWJsaWM6CiAKICAgICBpbmxpbmUgc2l6ZV90IGdjU2l6ZUVzdGltYXRlSW5C
eXRlcygpIGNvbnN0OwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmPEFycmF5QnVmZmVyPiBz
bGljZShkb3VibGUgYmVnaW4sIGRvdWJsZSBlbmQpIGNvbnN0OwotICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luKSBjb25zdDsKKyAgICBKU19F
WFBPUlRfUFJJVkFURSBSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlKGRvdWJsZSBiZWdpbiwgZG91
YmxlIGVuZCkgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPEFycmF5QnVmZmVy
PiBzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0OwogICAgIAogICAgIGlubGluZSB2b2lkIHBpbigp
OwogICAgIGlubGluZSB2b2lkIHVucGluKCk7CkBAIC0xNTgsNyArMTU4LDcgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgUmVmPEFycmF5QnVmZmVyPiBjcmVhdGVJbnRlcm5hbChBcnJheUJ1ZmZlckNv
bnRlbnRzJiYsIGNvbnN0IHZvaWQqLCB1bnNpZ25lZCk7CiAgICAgc3RhdGljIFJlZlB0cjxBcnJh
eUJ1ZmZlcj4gdHJ5Q3JlYXRlKHVuc2lnbmVkIG51bUVsZW1lbnRzLCB1bnNpZ25lZCBlbGVtZW50
Qnl0ZVNpemUsIEFycmF5QnVmZmVyQ29udGVudHM6OkluaXRpYWxpemF0aW9uUG9saWN5KTsKICAg
ICBBcnJheUJ1ZmZlcihBcnJheUJ1ZmZlckNvbnRlbnRzJiYpOwotICAgIFJlZjxBcnJheUJ1ZmZl
cj4gc2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQpIGNvbnN0OworICAgIFJl
ZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQp
IGNvbnN0OwogICAgIGlubGluZSB1bnNpZ25lZCBjbGFtcEluZGV4KGRvdWJsZSBpbmRleCkgY29u
c3Q7CiAgICAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBjbGFtcFZhbHVlKGRvdWJsZSB4LCB1bnNp
Z25lZCBsZWZ0LCB1bnNpZ25lZCByaWdodCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKaW5kZXggYzk3ODI0
MjQxZWQuLjFiNzdmMGRjY2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcApAQCAtNTcsNiArNTcsOCBAQCBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUJ1ZmZlclByb3RvRnVuY1Ns
aWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZW5kID0gdGhpc09iamVjdC0+aW1wbCgpLT5i
eXRlTGVuZ3RoKCk7CiAgICAgCiAgICAgYXV0byBuZXdCdWZmZXIgPSB0aGlzT2JqZWN0LT5pbXBs
KCktPnNsaWNlKGJlZ2luLCBlbmQpOworICAgIGlmICghbmV3QnVmZmVyKQorICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSkpOwog
ICAgIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY2FsbGVlLT5nbG9iYWxPYmplY3Qodm0p
LT5hcnJheUJ1ZmZlclN0cnVjdHVyZShuZXdCdWZmZXItPnNoYXJpbmdNb2RlKCkpOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380387</attachid>
            <date>2019-10-07 20:35:03 -0700</date>
            <delta_ts>2019-10-08 11:26:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch202650</filename>
            <type>text/plain</type>
            <size>5599</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
Y2MyYjIyNzFlYWUuLjgzZTQ1MDM5NTcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTA3ICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgdGhlIHJp
Z2h0IGV4Y2VwdGlvbiB1cG9uIG1lbW9yeSBleGhhdXN0aW9uIGluIEFycmF5OjpzbGljZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNjUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJy
YXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxOS0xMC0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFdhc20gbXVsdGktdmFsdWUgcHJvcG9zYWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCmluZGV4IGUzMWI3YzlmOGRmLi40MzFmNjQ5ZTgwMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTAtMDcgIFJvYmluIE1vcmlz
c2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBUaHJvdyB0aGUgcmlnaHQgZXhj
ZXB0aW9uIHVwb24gbWVtb3J5IGV4aGF1c3Rpb24gaW4gQXJyYXk6OnNsaWNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcml2aWFsIGNoYW5nZToganVz
dCB1c2UgdHJ5Q3JlYXRlIGluc3RlYWQgb2YgY3JlYXRlLCBhbmQgdGhyb3cgYW4gZXhjZXB0aW9u
IGlmIGl0IGZhaWxzLgorICAgICAgICBObyBzZWN1cml0eSBpbXBsaWNhdGlvbjogd2Ugd2VyZSBq
dXN0IGNyYXNoaW5nIGluc3RlYWQgb2YgdGhyb3dpbmcgYSBjYXRjaGFibGUgZXhjZXB0aW9uLgor
CisgICAgICAgICogcnVudGltZS9BcnJheUJ1ZmZlci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5
QnVmZmVyOjpzbGljZSBjb25zdCk6CisgICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjpzbGljZUlt
cGwgY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlCdWZmZXIuaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheUJ1
ZmZlclByb3RvRnVuY1NsaWNlKToKKwogMjAxOS0xMC0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFdhc20gbXVs
dGktdmFsdWUgcHJvcG9zYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5QnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5
QnVmZmVyLmNwcAppbmRleCA2NzFiZGI3NzEzMi4uMDdiZGEzOGE2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5jcHAKQEAgLTI5NSwyMSArMjk1LDIy
IEBAIHVuc2lnbmVkIEFycmF5QnVmZmVyOjpjbGFtcEluZGV4KGRvdWJsZSBpbmRleCkgY29uc3QK
ICAgICByZXR1cm4gY2xhbXBWYWx1ZShpbmRleCwgMCwgY3VycmVudExlbmd0aCk7CiB9CiAKLVJl
ZjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBiZWdpbiwgZG91YmxlIGVu
ZCkgY29uc3QKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBi
ZWdpbiwgZG91YmxlIGVuZCkgY29uc3QKIHsKICAgICByZXR1cm4gc2xpY2VJbXBsKGNsYW1wSW5k
ZXgoYmVnaW4pLCBjbGFtcEluZGV4KGVuZCkpOwogfQogCi1SZWY8QXJyYXlCdWZmZXI+IEFycmF5
QnVmZmVyOjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFy
cmF5QnVmZmVyOjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNsaWNl
SW1wbChjbGFtcEluZGV4KGJlZ2luKSwgYnl0ZUxlbmd0aCgpKTsKIH0KIAotUmVmPEFycmF5QnVm
ZmVyPiBBcnJheUJ1ZmZlcjo6c2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQp
IGNvbnN0CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGljZUltcGwodW5zaWdu
ZWQgYmVnaW4sIHVuc2lnbmVkIGVuZCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBzaXplID0gYmVn
aW4gPD0gZW5kID8gZW5kIC0gYmVnaW4gOiAwOwotICAgIGF1dG8gcmVzdWx0ID0gQXJyYXlCdWZm
ZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSgpKSArIGJlZ2luLCBzaXpl
KTsKLSAgICByZXN1bHQtPnNldFNoYXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOworICAgIGF1dG8g
cmVzdWx0ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4o
ZGF0YSgpKSArIGJlZ2luLCBzaXplKTsKKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXN1bHQt
PnNldFNoYXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCmluZGV4IDdjMDVi
YmM1ZDI0Li5lNmY1NWNlMGJkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheUJ1ZmZlci5oCkBAIC0xMzIsOCArMTMyLDggQEAgcHVibGljOgogCiAgICAgaW5saW5lIHNp
emVfdCBnY1NpemVFc3RpbWF0ZUluQnl0ZXMoKSBjb25zdDsKIAotICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25z
dDsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlKGRvdWJsZSBi
ZWdpbikgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPEFycmF5QnVmZmVyPiBz
bGljZShkb3VibGUgYmVnaW4sIGRvdWJsZSBlbmQpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luKSBjb25zdDsKICAgICAK
ICAgICBpbmxpbmUgdm9pZCBwaW4oKTsKICAgICBpbmxpbmUgdm9pZCB1bnBpbigpOwpAQCAtMTU4
LDcgKzE1OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFJlZjxBcnJheUJ1ZmZlcj4gY3JlYXRl
SW50ZXJuYWwoQXJyYXlCdWZmZXJDb250ZW50cyYmLCBjb25zdCB2b2lkKiwgdW5zaWduZWQpOwog
ICAgIHN0YXRpYyBSZWZQdHI8QXJyYXlCdWZmZXI+IHRyeUNyZWF0ZSh1bnNpZ25lZCBudW1FbGVt
ZW50cywgdW5zaWduZWQgZWxlbWVudEJ5dGVTaXplLCBBcnJheUJ1ZmZlckNvbnRlbnRzOjpJbml0
aWFsaXphdGlvblBvbGljeSk7CiAgICAgQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXJDb250ZW50cyYm
KTsKLSAgICBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWdu
ZWQgZW5kKSBjb25zdDsKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25l
ZCBiZWdpbiwgdW5zaWduZWQgZW5kKSBjb25zdDsKICAgICBpbmxpbmUgdW5zaWduZWQgY2xhbXBJ
bmRleChkb3VibGUgaW5kZXgpIGNvbnN0OwogICAgIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2xh
bXBWYWx1ZShkb3VibGUgeCwgdW5zaWduZWQgbGVmdCwgdW5zaWduZWQgcmlnaHQpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90
b3R5cGUuY3BwCmluZGV4IGM5NzgyNDI0MWVkLi4xYjc3ZjBkY2NhMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5j
cHAKQEAgLTU3LDYgKzU3LDggQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlCdWZmZXJQcm90b0Z1bmNTbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIGVuZCA9
IHRoaXNPYmplY3QtPmltcGwoKS0+Ynl0ZUxlbmd0aCgpOwogICAgIAogICAgIGF1dG8gbmV3QnVm
ZmVyID0gdGhpc09iamVjdC0+aW1wbCgpLT5zbGljZShiZWdpbiwgZW5kKTsKKyAgICBpZiAoIW5l
d0J1ZmZlcikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5
RXJyb3IoZXhlYywgc2NvcGUpKTsKICAgICAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNh
bGxlZS0+Z2xvYmFsT2JqZWN0KHZtKS0+YXJyYXlCdWZmZXJTdHJ1Y3R1cmUobmV3QnVmZmVyLT5z
aGFyaW5nTW9kZSgpKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwCmluZGV4IDdhZDcwODQxMTAyLi43Y2IyMzI4NmY0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tCb3guY3BwCkBAIC05OCwxMCArOTgsMTAgQEAgTW9ja0luaXRpYWxpemF0aW9uQm94OjpN
b2NrSW5pdGlhbGl6YXRpb25Cb3goQXJyYXlCdWZmZXIqIGRhdGEpCiAKICAgICB3aGlsZSAob2Zm
c2V0IDwgbV9sZW5ndGgpIHsKICAgICAgICAgYXV0byBzdWJCdWZmZXIgPSBkYXRhLT5zbGljZShv
ZmZzZXQpOwotICAgICAgICBpZiAoTW9ja0JveDo6cGVla1R5cGUoc3ViQnVmZmVyLnB0cigpKSAh
PSBNb2NrVHJhY2tCb3g6OnR5cGUoKSkKKyAgICAgICAgaWYgKE1vY2tCb3g6OnBlZWtUeXBlKHN1
YkJ1ZmZlci5nZXQoKSkgIT0gTW9ja1RyYWNrQm94Ojp0eXBlKCkpCiAgICAgICAgICAgICBicmVh
azsKIAotICAgICAgICBNb2NrVHJhY2tCb3ggdHJhY2tCb3goc3ViQnVmZmVyLnB0cigpKTsKKyAg
ICAgICAgTW9ja1RyYWNrQm94IHRyYWNrQm94KHN1YkJ1ZmZlci5nZXQoKSk7CiAgICAgICAgIG9m
ZnNldCArPSB0cmFja0JveC5sZW5ndGgoKTsKICAgICAgICAgbV90cmFja3MuYXBwZW5kKHRyYWNr
Qm94KTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380447</attachid>
            <date>2019-10-08 11:26:11 -0700</date>
            <delta_ts>2019-10-08 13:58:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch202650</filename>
            <type>text/plain</type>
            <size>5599</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
Y2MyYjIyNzFlYWUuLjgzZTQ1MDM5NTcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTA3ICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgdGhlIHJp
Z2h0IGV4Y2VwdGlvbiB1cG9uIG1lbW9yeSBleGhhdXN0aW9uIGluIEFycmF5OjpzbGljZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNjUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJy
YXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxOS0xMC0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFdhc20gbXVsdGktdmFsdWUgcHJvcG9zYWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCmluZGV4IGUzMWI3YzlmOGRmLi40MzFmNjQ5ZTgwMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMTAtMDcgIFJvYmluIE1vcmlz
c2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBUaHJvdyB0aGUgcmlnaHQgZXhj
ZXB0aW9uIHVwb24gbWVtb3J5IGV4aGF1c3Rpb24gaW4gQXJyYXk6OnNsaWNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcml2aWFsIGNoYW5nZToganVz
dCB1c2UgdHJ5Q3JlYXRlIGluc3RlYWQgb2YgY3JlYXRlLCBhbmQgdGhyb3cgYW4gZXhjZXB0aW9u
IGlmIGl0IGZhaWxzLgorICAgICAgICBObyBzZWN1cml0eSBpbXBsaWNhdGlvbjogd2Ugd2VyZSBq
dXN0IGNyYXNoaW5nIGluc3RlYWQgb2YgdGhyb3dpbmcgYSBjYXRjaGFibGUgZXhjZXB0aW9uLgor
CisgICAgICAgICogcnVudGltZS9BcnJheUJ1ZmZlci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5
QnVmZmVyOjpzbGljZSBjb25zdCk6CisgICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjpzbGljZUlt
cGwgY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlCdWZmZXIuaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheUJ1
ZmZlclByb3RvRnVuY1NsaWNlKToKKwogMjAxOS0xMC0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhf
bWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFdhc20gbXVs
dGktdmFsdWUgcHJvcG9zYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5QnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5
QnVmZmVyLmNwcAppbmRleCA2NzFiZGI3NzEzMi4uMDdiZGEzOGE2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5jcHAKQEAgLTI5NSwyMSArMjk1LDIy
IEBAIHVuc2lnbmVkIEFycmF5QnVmZmVyOjpjbGFtcEluZGV4KGRvdWJsZSBpbmRleCkgY29uc3QK
ICAgICByZXR1cm4gY2xhbXBWYWx1ZShpbmRleCwgMCwgY3VycmVudExlbmd0aCk7CiB9CiAKLVJl
ZjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBiZWdpbiwgZG91YmxlIGVu
ZCkgY29uc3QKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBi
ZWdpbiwgZG91YmxlIGVuZCkgY29uc3QKIHsKICAgICByZXR1cm4gc2xpY2VJbXBsKGNsYW1wSW5k
ZXgoYmVnaW4pLCBjbGFtcEluZGV4KGVuZCkpOwogfQogCi1SZWY8QXJyYXlCdWZmZXI+IEFycmF5
QnVmZmVyOjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFy
cmF5QnVmZmVyOjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNsaWNl
SW1wbChjbGFtcEluZGV4KGJlZ2luKSwgYnl0ZUxlbmd0aCgpKTsKIH0KIAotUmVmPEFycmF5QnVm
ZmVyPiBBcnJheUJ1ZmZlcjo6c2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQp
IGNvbnN0CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGljZUltcGwodW5zaWdu
ZWQgYmVnaW4sIHVuc2lnbmVkIGVuZCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBzaXplID0gYmVn
aW4gPD0gZW5kID8gZW5kIC0gYmVnaW4gOiAwOwotICAgIGF1dG8gcmVzdWx0ID0gQXJyYXlCdWZm
ZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSgpKSArIGJlZ2luLCBzaXpl
KTsKLSAgICByZXN1bHQtPnNldFNoYXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOworICAgIGF1dG8g
cmVzdWx0ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4o
ZGF0YSgpKSArIGJlZ2luLCBzaXplKTsKKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXN1bHQt
PnNldFNoYXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCmluZGV4IDdjMDVi
YmM1ZDI0Li5lNmY1NWNlMGJkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheUJ1ZmZlci5oCkBAIC0xMzIsOCArMTMyLDggQEAgcHVibGljOgogCiAgICAgaW5saW5lIHNp
emVfdCBnY1NpemVFc3RpbWF0ZUluQnl0ZXMoKSBjb25zdDsKIAotICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25z
dDsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlKGRvdWJsZSBi
ZWdpbikgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPEFycmF5QnVmZmVyPiBz
bGljZShkb3VibGUgYmVnaW4sIGRvdWJsZSBlbmQpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luKSBjb25zdDsKICAgICAK
ICAgICBpbmxpbmUgdm9pZCBwaW4oKTsKICAgICBpbmxpbmUgdm9pZCB1bnBpbigpOwpAQCAtMTU4
LDcgKzE1OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFJlZjxBcnJheUJ1ZmZlcj4gY3JlYXRl
SW50ZXJuYWwoQXJyYXlCdWZmZXJDb250ZW50cyYmLCBjb25zdCB2b2lkKiwgdW5zaWduZWQpOwog
ICAgIHN0YXRpYyBSZWZQdHI8QXJyYXlCdWZmZXI+IHRyeUNyZWF0ZSh1bnNpZ25lZCBudW1FbGVt
ZW50cywgdW5zaWduZWQgZWxlbWVudEJ5dGVTaXplLCBBcnJheUJ1ZmZlckNvbnRlbnRzOjpJbml0
aWFsaXphdGlvblBvbGljeSk7CiAgICAgQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXJDb250ZW50cyYm
KTsKLSAgICBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWdu
ZWQgZW5kKSBjb25zdDsKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25l
ZCBiZWdpbiwgdW5zaWduZWQgZW5kKSBjb25zdDsKICAgICBpbmxpbmUgdW5zaWduZWQgY2xhbXBJ
bmRleChkb3VibGUgaW5kZXgpIGNvbnN0OwogICAgIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2xh
bXBWYWx1ZShkb3VibGUgeCwgdW5zaWduZWQgbGVmdCwgdW5zaWduZWQgcmlnaHQpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90
b3R5cGUuY3BwCmluZGV4IGM5NzgyNDI0MWVkLi4xYjc3ZjBkY2NhMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5j
cHAKQEAgLTU3LDYgKzU3LDggQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlCdWZmZXJQcm90b0Z1bmNTbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgIGVuZCA9
IHRoaXNPYmplY3QtPmltcGwoKS0+Ynl0ZUxlbmd0aCgpOwogICAgIAogICAgIGF1dG8gbmV3QnVm
ZmVyID0gdGhpc09iamVjdC0+aW1wbCgpLT5zbGljZShiZWdpbiwgZW5kKTsKKyAgICBpZiAoIW5l
d0J1ZmZlcikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5
RXJyb3IoZXhlYywgc2NvcGUpKTsKICAgICAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNh
bGxlZS0+Z2xvYmFsT2JqZWN0KHZtKS0+YXJyYXlCdWZmZXJTdHJ1Y3R1cmUobmV3QnVmZmVyLT5z
aGFyaW5nTW9kZSgpKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwCmluZGV4IDdhZDcwODQxMTAyLi43Y2IyMzI4NmY0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tCb3guY3BwCkBAIC05OCwxMCArOTgsMTAgQEAgTW9ja0luaXRpYWxpemF0aW9uQm94OjpN
b2NrSW5pdGlhbGl6YXRpb25Cb3goQXJyYXlCdWZmZXIqIGRhdGEpCiAKICAgICB3aGlsZSAob2Zm
c2V0IDwgbV9sZW5ndGgpIHsKICAgICAgICAgYXV0byBzdWJCdWZmZXIgPSBkYXRhLT5zbGljZShv
ZmZzZXQpOwotICAgICAgICBpZiAoTW9ja0JveDo6cGVla1R5cGUoc3ViQnVmZmVyLnB0cigpKSAh
PSBNb2NrVHJhY2tCb3g6OnR5cGUoKSkKKyAgICAgICAgaWYgKE1vY2tCb3g6OnBlZWtUeXBlKHN1
YkJ1ZmZlci5nZXQoKSkgIT0gTW9ja1RyYWNrQm94Ojp0eXBlKCkpCiAgICAgICAgICAgICBicmVh
azsKIAotICAgICAgICBNb2NrVHJhY2tCb3ggdHJhY2tCb3goc3ViQnVmZmVyLnB0cigpKTsKKyAg
ICAgICAgTW9ja1RyYWNrQm94IHRyYWNrQm94KHN1YkJ1ZmZlci5nZXQoKSk7CiAgICAgICAgIG9m
ZnNldCArPSB0cmFja0JveC5sZW5ndGgoKTsKICAgICAgICAgbV90cmFja3MuYXBwZW5kKHRyYWNr
Qm94KTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380462</attachid>
            <date>2019-10-08 13:58:52 -0700</date>
            <delta_ts>2019-10-21 15:47:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch202650</filename>
            <type>text/plain</type>
            <size>5588</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NDk4NzliYjAwY2UuLmVjMDA4N2E4MTE2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTA3ICBSb2Jp
biBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgdGhlIHJp
Z2h0IGV4Y2VwdGlvbiB1cG9uIG1lbW9yeSBleGhhdXN0aW9uIGluIEFycmF5OjpzbGljZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNjUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJy
YXktc2xpY2UtbWVtb3J5LWV4aGF1c3Rpb24uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwog
MjAxOS0xMC0wNyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBB
bGxvdyBPU1IgZXhpdCB0byB0aGUgTExJbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE2
NTFmOGJkOGI4Li5kZmI0Y2I2OThjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTktMTAtMDcgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNv
bT4KKworICAgICAgICBUaHJvdyB0aGUgcmlnaHQgZXhjZXB0aW9uIHVwb24gbWVtb3J5IGV4aGF1
c3Rpb24gaW4gQXJyYXk6OnNsaWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUcml2aWFsIGNoYW5nZToganVzdCB1c2UgdHJ5Q3JlYXRlIGluc3RlYWQg
b2YgY3JlYXRlLCBhbmQgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGl0IGZhaWxzLgorICAgICAgICBO
byBzZWN1cml0eSBpbXBsaWNhdGlvbjogd2Ugd2VyZSBqdXN0IGNyYXNoaW5nIGluc3RlYWQgb2Yg
dGhyb3dpbmcgYSBjYXRjaGFibGUgZXhjZXB0aW9uLgorCisgICAgICAgICogcnVudGltZS9BcnJh
eUJ1ZmZlci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjpzbGljZSBjb25zdCk6Cisg
ICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjpzbGljZUltcGwgY29uc3QpOgorICAgICAgICAqIHJ1
bnRpbWUvQXJyYXlCdWZmZXIuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheUJ1ZmZlclByb3RvRnVuY1NsaWNlKToKKwog
MjAxOS0xMC0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAg
IFtKU0NdIENsZWFuIHVwIFRodW5rR2VuZXJhdG9yJ3MgbmF0aXZlQ2FsbFRyYW1wb2xpbmUgZ2Vu
ZXJhdG9yIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5QnVmZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVy
LmNwcAppbmRleCA2NzFiZGI3NzEzMi4uMDdiZGEzOGE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5jcHAKQEAgLTI5NSwyMSArMjk1LDIyIEBAIHVu
c2lnbmVkIEFycmF5QnVmZmVyOjpjbGFtcEluZGV4KGRvdWJsZSBpbmRleCkgY29uc3QKICAgICBy
ZXR1cm4gY2xhbXBWYWx1ZShpbmRleCwgMCwgY3VycmVudExlbmd0aCk7CiB9CiAKLVJlZjxBcnJh
eUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBiZWdpbiwgZG91YmxlIGVuZCkgY29u
c3QKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBiZWdpbiwg
ZG91YmxlIGVuZCkgY29uc3QKIHsKICAgICByZXR1cm4gc2xpY2VJbXBsKGNsYW1wSW5kZXgoYmVn
aW4pLCBjbGFtcEluZGV4KGVuZCkpOwogfQogCi1SZWY8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVy
OjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVm
ZmVyOjpzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNsaWNlSW1wbChj
bGFtcEluZGV4KGJlZ2luKSwgYnl0ZUxlbmd0aCgpKTsKIH0KIAotUmVmPEFycmF5QnVmZmVyPiBB
cnJheUJ1ZmZlcjo6c2xpY2VJbXBsKHVuc2lnbmVkIGJlZ2luLCB1bnNpZ25lZCBlbmQpIGNvbnN0
CitSZWZQdHI8QXJyYXlCdWZmZXI+IEFycmF5QnVmZmVyOjpzbGljZUltcGwodW5zaWduZWQgYmVn
aW4sIHVuc2lnbmVkIGVuZCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBzaXplID0gYmVnaW4gPD0g
ZW5kID8gZW5kIC0gYmVnaW4gOiAwOwotICAgIGF1dG8gcmVzdWx0ID0gQXJyYXlCdWZmZXI6OmNy
ZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSgpKSArIGJlZ2luLCBzaXplKTsKLSAg
ICByZXN1bHQtPnNldFNoYXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOworICAgIGF1dG8gcmVzdWx0
ID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oZGF0YSgp
KSArIGJlZ2luLCBzaXplKTsKKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXN1bHQtPnNldFNo
YXJpbmdNb2RlKHNoYXJpbmdNb2RlKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCmluZGV4IDdjMDViYmM1ZDI0
Li5lNmY1NWNlMGJkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1
ZmZlci5oCkBAIC0xMzIsOCArMTMyLDggQEAgcHVibGljOgogCiAgICAgaW5saW5lIHNpemVfdCBn
Y1NpemVFc3RpbWF0ZUluQnl0ZXMoKSBjb25zdDsKIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFJl
ZjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25zdDsKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlKGRvdWJsZSBiZWdpbikg
Y29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPEFycmF5QnVmZmVyPiBzbGljZShk
b3VibGUgYmVnaW4sIGRvdWJsZSBlbmQpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIFJl
ZlB0cjxBcnJheUJ1ZmZlcj4gc2xpY2UoZG91YmxlIGJlZ2luKSBjb25zdDsKICAgICAKICAgICBp
bmxpbmUgdm9pZCBwaW4oKTsKICAgICBpbmxpbmUgdm9pZCB1bnBpbigpOwpAQCAtMTU4LDcgKzE1
OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIFJlZjxBcnJheUJ1ZmZlcj4gY3JlYXRlSW50ZXJu
YWwoQXJyYXlCdWZmZXJDb250ZW50cyYmLCBjb25zdCB2b2lkKiwgdW5zaWduZWQpOwogICAgIHN0
YXRpYyBSZWZQdHI8QXJyYXlCdWZmZXI+IHRyeUNyZWF0ZSh1bnNpZ25lZCBudW1FbGVtZW50cywg
dW5zaWduZWQgZWxlbWVudEJ5dGVTaXplLCBBcnJheUJ1ZmZlckNvbnRlbnRzOjpJbml0aWFsaXph
dGlvblBvbGljeSk7CiAgICAgQXJyYXlCdWZmZXIoQXJyYXlCdWZmZXJDb250ZW50cyYmKTsKLSAg
ICBSZWY8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25lZCBiZWdpbiwgdW5zaWduZWQgZW5k
KSBjb25zdDsKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlSW1wbCh1bnNpZ25lZCBiZWdp
biwgdW5zaWduZWQgZW5kKSBjb25zdDsKICAgICBpbmxpbmUgdW5zaWduZWQgY2xhbXBJbmRleChk
b3VibGUgaW5kZXgpIGNvbnN0OwogICAgIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2xhbXBWYWx1
ZShkb3VibGUgeCwgdW5zaWduZWQgbGVmdCwgdW5zaWduZWQgcmlnaHQpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUu
Y3BwCmluZGV4IGIxMTAxNjBmMzE2Li4xZmVhNzQzZjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKQEAg
LTU1LDYgKzU1LDggQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlC
dWZmZXJQcm90b0Z1bmNTbGljZShKU0dsb2JhbE9iamVjdCogZ2wKICAgICAgICAgZW5kID0gdGhp
c09iamVjdC0+aW1wbCgpLT5ieXRlTGVuZ3RoKCk7CiAgICAgCiAgICAgYXV0byBuZXdCdWZmZXIg
PSB0aGlzT2JqZWN0LT5pbXBsKCktPnNsaWNlKGJlZ2luLCBlbmQpOworICAgIGlmICghbmV3QnVm
ZmVyKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlFcnJv
cihjYWxsRnJhbWUsIHNjb3BlKSk7CiAgICAgCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBn
bG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3RydWN0dXJlKG5ld0J1ZmZlci0+c2hhcmluZ01vZGUo
KSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrQm94LmNwcAppbmRleCA3YWQ3MDg0MTEwMi4uN2NiMjMyODZmNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmNw
cApAQCAtOTgsMTAgKzk4LDEwIEBAIE1vY2tJbml0aWFsaXphdGlvbkJveDo6TW9ja0luaXRpYWxp
emF0aW9uQm94KEFycmF5QnVmZmVyKiBkYXRhKQogCiAgICAgd2hpbGUgKG9mZnNldCA8IG1fbGVu
Z3RoKSB7CiAgICAgICAgIGF1dG8gc3ViQnVmZmVyID0gZGF0YS0+c2xpY2Uob2Zmc2V0KTsKLSAg
ICAgICAgaWYgKE1vY2tCb3g6OnBlZWtUeXBlKHN1YkJ1ZmZlci5wdHIoKSkgIT0gTW9ja1RyYWNr
Qm94Ojp0eXBlKCkpCisgICAgICAgIGlmIChNb2NrQm94OjpwZWVrVHlwZShzdWJCdWZmZXIuZ2V0
KCkpICE9IE1vY2tUcmFja0JveDo6dHlwZSgpKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAg
ICAgTW9ja1RyYWNrQm94IHRyYWNrQm94KHN1YkJ1ZmZlci5wdHIoKSk7CisgICAgICAgIE1vY2tU
cmFja0JveCB0cmFja0JveChzdWJCdWZmZXIuZ2V0KCkpOwogICAgICAgICBvZmZzZXQgKz0gdHJh
Y2tCb3gubGVuZ3RoKCk7CiAgICAgICAgIG1fdHJhY2tzLmFwcGVuZCh0cmFja0JveCk7CiAgICAg
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>