<?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>184167</bug_id>
          
          <creation_ts>2018-03-29 18:32:06 -0700</creation_ts>
          <short_desc>Remove CXX_REFERENCE_QUALIFIED_FUNCTIONS</short_desc>
          <delta_ts>2018-03-30 13:05:11 -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>Web Template Framework</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>
          
          <blocked>184164</blocked>
    
    <blocked>184190</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jfbastien</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1410473</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-29 18:32:06 -0700</bug_when>
    <thetext>Remove COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS), it&apos;s supported by all compilers WebKit supports (it&apos;s a C++11 feature, *detection* of it with __has_extension was added to clang on May 13th 2011, and VS2015 / GCC support it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410476</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-29 18:33:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/39023130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410477</commentid>
    <comment_count>2</comment_count>
      <attachid>336829</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-29 18:35:03 -0700</bug_when>
    <thetext>Created attachment 336829
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410505</commentid>
    <comment_count>3</comment_count>
      <attachid>336829</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-29 20:10:49 -0700</bug_when>
    <thetext>Comment on attachment 336829
patch

Let&apos;s enable Optional.h&apos;s OPTIONAL_HAS_MOVE_ACCESSORS too!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410511</commentid>
    <comment_count>4</comment_count>
      <attachid>336837</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-29 20:38:58 -0700</bug_when>
    <thetext>Created attachment 336837
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410512</commentid>
    <comment_count>5</comment_count>
      <attachid>336837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-29 20:40:28 -0700</bug_when>
    <thetext>Comment on attachment 336837
patch for landing

Rejecting attachment 336837 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 336837, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
d at 1 with fuzz 3.
patching file Source/WTF/wtf/Compiler.h
patching file Source/WTF/wtf/Optional.h
patching file Source/WTF/wtf/Ref.h
patching file Source/WTF/wtf/RefPtr.h
patching file Source/WTF/wtf/text/WTFString.cpp
patching file Source/WTF/wtf/text/WTFString.h
Hunk #1 FAILED at 299.
1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/text/WTFString.h.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/7143574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410517</commentid>
    <comment_count>6</comment_count>
      <attachid>336838</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-29 20:45:35 -0700</bug_when>
    <thetext>Created attachment 336838
patch for landing, rebased onto my other patch which touched WTFString.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410531</commentid>
    <comment_count>7</comment_count>
      <attachid>336838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-29 21:17:07 -0700</bug_when>
    <thetext>Comment on attachment 336838
patch for landing, rebased onto my other patch which touched WTFString.h

Rejecting attachment 336838 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
urces/UnifiedSource15.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource15.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource2.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource2.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.webkit.org/results/7143638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410534</commentid>
    <comment_count>8</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-29 21:19:47 -0700</bug_when>
    <thetext>Interesting, the change makes some things rvalue references instead of lvalues, which causes some static asserts. Will fix tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410668</commentid>
    <comment_count>9</comment_count>
      <attachid>336871</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-30 11:00:58 -0700</bug_when>
    <thetext>Created attachment 336871
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410678</commentid>
    <comment_count>10</comment_count>
      <attachid>336871</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 11:32:04 -0700</bug_when>
    <thetext>Comment on attachment 336871
patch

Rejecting attachment 336871 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
urces/UnifiedSource15.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource15.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource2.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource2.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.webkit.org/results/7149511</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410683</commentid>
    <comment_count>11</comment_count>
      <attachid>336874</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-03-30 11:39:35 -0700</bug_when>
    <thetext>Created attachment 336874
patch

Fix more bad moves. My local build is borked, starting it from scratch so I&apos;m not sure I got all of them yet...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410697</commentid>
    <comment_count>12</comment_count>
      <attachid>336874</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 12:17:00 -0700</bug_when>
    <thetext>Comment on attachment 336874
patch

Clearing flags on attachment: 336874

Committed r230113: &lt;https://trac.webkit.org/changeset/230113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410698</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 12:17:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336829</attachid>
            <date>2018-03-29 18:35:03 -0700</date>
            <delta_ts>2018-03-29 20:38:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Remove-CXX_REFERENCE_QUALIFIED_FUNCTIONS.patch</filename>
            <type>text/plain</type>
            <size>5517</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBmNDI5ZTJlOTIyYTRiM2U1NTIxYjM4OGZjMWEwMWYzNjA1NTY2ZjU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI5IE1hciAyMDE4IDE4OjMyOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl
IENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUwoKLS0tCiBTb3VyY2UvV1RGL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0
Zi9Db21waWxlci5oICAgICAgICAgfCAgMyAtLS0KIFNvdXJjZS9XVEYvd3RmL1JlZi5oICAgICAg
ICAgICAgICB8ICA0IC0tLS0KIFNvdXJjZS9XVEYvd3RmL1JlZlB0ci5oICAgICAgICAgICB8ICA0
IC0tLS0KIFNvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcCB8IDEyIC0tLS0tLS0tLS0t
LQogU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaCAgIHwgIDQgLS0tLQogNiBmaWxlcyBj
aGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwZTNkZjgu
LmE4YjQ5YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDMtMjkgIEpGIEJhc3RpZW4gIDxq
ZmJhc3RpZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBDWFhfUkVGRVJFTkNFX1FVQUxJ
RklFRF9GVU5DVElPTlMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NDE2NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzkwMjMxMzA+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIENPTVBJTEVS
X1NVUFBPUlRTKENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyksIGl0J3MKKyAgICAg
ICAgc3VwcG9ydGVkIGJ5IGFsbCBjb21waWxlcnMgV2ViS2l0IHN1cHBvcnRzIChpdCdzIGEgQysr
MTEgZmVhdHVyZSwKKyAgICAgICAgKmRldGVjdGlvbiogb2YgaXQgd2l0aCBfX2hhc19leHRlbnNp
b24gd2FzIGFkZGVkIHRvIGNsYW5nIG9uIE1heQorICAgICAgICAxM3RoIDIwMTEsIGFuZCBWUzIw
MTUgLyBHQ0Mgc3VwcG9ydCBpdCkuCisKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIuaDoKKyAgICAg
ICAgKiB3dGYvUmVmLmg6CisgICAgICAgICogd3RmL1JlZlB0ci5oOgorICAgICAgICAqIHd0Zi90
ZXh0L1dURlN0cmluZy5jcHA6CisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6CisKIDIw
MTgtMDMtMjkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzAwNjIuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAppbmRleCBjMTBk
NzljLi5lOWUzYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNkZWZpbmUgV1RG
X0NPTVBJTEVSX0NMQU5HIDEKICNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0JMT0NLUyBD
T01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShibG9ja3MpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9T
VVBQT1JUU19DX1NUQVRJQ19BU1NFUlQgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUoY19zdGF0
aWNfYXNzZXJ0KQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1JFRkVSRU5DRV9R
VUFMSUZJRURfRlVOQ1RJT05TIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGN4eF9yZWZlcmVu
Y2VfcXVhbGlmaWVkX2Z1bmN0aW9ucykKICNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NY
WF9FWENFUFRJT05TIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGN4eF9leGNlcHRpb25zKQog
I2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQlVJTFRJTl9JU19UUklWSUFMTFlfQ09QWUFC
TEUgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUoaXNfdHJpdmlhbGx5X2NvcHlhYmxlKQogCkBA
IC04OSw3ICs4OCw2IEBACiAvKiBOb3RlOiBUaGlzIHNlY3Rpb24gbXVzdCBjb21lIGFmdGVyIHRo
ZSBDbGFuZyBzZWN0aW9uIHNpbmNlIHdlIGNoZWNrICFDT01QSUxFUihDTEFORykgaGVyZS4gKi8K
ICNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmICFDT01QSUxFUihDTEFORykKICNkZWZpbmUg
V1RGX0NPTVBJTEVSX0dDQyAxCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfUkVG
RVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgMQogCiAjZGVmaW5lIEdDQ19WRVJTSU9OIChfX0dO
VUNfXyAqIDEwMDAwICsgX19HTlVDX01JTk9SX18gKiAxMDAgKyBfX0dOVUNfUEFUQ0hMRVZFTF9f
KQogI2RlZmluZSBHQ0NfVkVSU0lPTl9BVF9MRUFTVChtYWpvciwgbWlub3IsIHBhdGNoKSAoR0ND
X1ZFUlNJT04gPj0gKG1ham9yICogMTAwMDAgKyBtaW5vciAqIDEwMCArIHBhdGNoKSkKQEAgLTEy
OCw3ICsxMjYsNiBAQAogI2lmIGRlZmluZWQoX01TQ19WRVIpCiAKICNkZWZpbmUgV1RGX0NPTVBJ
TEVSX01TVkMgMQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1JFRkVSRU5DRV9R
VUFMSUZJRURfRlVOQ1RJT05TIDEKIAogI2lmIF9NU0NfVkVSIDwgMTkxMAogI2Vycm9yICJQbGVh
c2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBXZWJLaXQgcmVxdWlyZXMg
VlMyMDE3IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UmVmLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAppbmRleCAxYWFkNzZmLi4zYjMxNThkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWYuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaApA
QCAtMTI1LDEyICsxMjUsOCBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBYLCB0
eXBlbmFtZSBZPiBSZWY8VCwgUHRyVHJhaXRzPiByZXBsYWNlKFJlZjxYLCBZPiYmKSBXQVJOX1VO
VVNFRF9SRVRVUk47CiAKLSNpZiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJ
RklFRF9GVU5DVElPTlMpCiAgICAgUmVmIGNvcHlSZWYoKSAmJiA9IGRlbGV0ZTsKICAgICBSZWYg
Y29weVJlZigpIGNvbnN0ICYgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZigqbV9wdHIp
OyB9Ci0jZWxzZQotICAgIFJlZiBjb3B5UmVmKCkgY29uc3QgV0FSTl9VTlVTRURfUkVUVVJOIHsg
cmV0dXJuIFJlZigqbV9wdHIpOyB9Ci0jZW5kaWYKIAogICAgIFQmIGxlYWtSZWYoKSBXQVJOX1VO
VVNFRF9SRVRVUk4KICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaCBi
L1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCmluZGV4IDYzNjVmNjQuLjUyMjA4NTM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIu
aApAQCAtOTksMTIgKzk5LDggQEAgcHVibGljOgogCiAgICAgc3RhdGljIFQqIGhhc2hUYWJsZURl
bGV0ZWRWYWx1ZSgpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCi0jaWYg
Q09NUElMRVJfU1VQUE9SVFMoQ1hYX1JFRkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TKQogICAg
IFJlZlB0ciBjb3B5UmVmKCkgJiYgPSBkZWxldGU7CiAgICAgUmVmUHRyIGNvcHlSZWYoKSBjb25z
dCAmIFdBUk5fVU5VU0VEX1JFVFVSTiB7IHJldHVybiBSZWZQdHIobV9wdHIpOyB9Ci0jZWxzZQot
ICAgIFJlZlB0ciBjb3B5UmVmKCkgY29uc3QgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJl
ZlB0cihtX3B0cik7IH0KLSNlbmRpZgogCiBwcml2YXRlOgogICAgIGZyaWVuZCBSZWZQdHIgYWRv
cHRSZWY8VCwgUHRyVHJhaXRzPihUKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1dURlN0cmluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKaW5kZXgg
NzI3MzNmZS4uNWZlNzUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJp
bmcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcApAQCAtNjc4LDgg
KzY3OCw2IEBAIGZsb2F0IFN0cmluZzo6dG9GbG9hdChib29sKiBvaykgY29uc3QKICAgICByZXR1
cm4gbV9pbXBsLT50b0Zsb2F0KG9rKTsKIH0KIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9S
RUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUykKLQogU3RyaW5nIFN0cmluZzo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QgJgogewogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyBmdW5jdGlvbiwgYW5k
IHRoZSBtYW55IG90aGVycyBsaWtlIGl0LCBiZSBpbmxpbmVkPwpAQCAtNjk3LDE2ICs2OTUsNiBA
QCBTdHJpbmcgU3RyaW5nOjppc29sYXRlZENvcHkoKSAmJgogICAgIHJldHVybiBtX2ltcGwgPyBt
X2ltcGwtPmlzb2xhdGVkQ29weSgpIDogU3RyaW5nIHsgfTsKIH0KIAotI2Vsc2UKLQotU3RyaW5n
IFN0cmluZzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogU2hvdWxkIHRo
aXMgZnVuY3Rpb24sIGFuZCB0aGUgbWFueSBvdGhlcnMgbGlrZSBpdCwgYmUgaW5saW5lZD8KLSAg
ICByZXR1cm4gbV9pbXBsID8gbV9pbXBsLT5pc29sYXRlZENvcHkoKSA6IFN0cmluZyB7IH07Ci19
Ci0KLSNlbmRpZgotCiBib29sIFN0cmluZzo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkg
Y29uc3QKIHsKICAgICAvLyBBdG9taWNTdHJpbmdzIGFyZSBub3Qgc2FmZSB0byBzZW5kIGJldHdl
ZW4gdGhyZWFkcyBhcyB+U3RyaW5nSW1wbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1dURlN0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCBh
NWFmMGFhLi4yNTczMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmlu
Zy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKQEAgLTI5OSwxMiArMjk5
LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBwZXJjZW50YWdlKGludCYgcGVyY2VudGFnZSkgY29u
c3Q7CiAKLSNpZiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5D
VElPTlMpCiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIFN0cmluZyBpc29sYXRlZENvcHkoKSBj
b25zdCAmOwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBTdHJpbmcgaXNvbGF0ZWRDb3B5KCkg
JiY7Ci0jZWxzZQotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBTdHJpbmcgaXNvbGF0ZWRDb3B5
KCkgY29uc3Q7Ci0jZW5kaWYKIAogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBib29sIGlzU2Fm
ZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCi0tIAoyLjkuMwoK
</data>
<flag name="review"
          id="355314"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
    <flag name="commit-queue"
          id="355315"
          type_id="3"
          status="-"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336837</attachid>
            <date>2018-03-29 20:38:58 -0700</date>
            <delta_ts>2018-03-29 20:45:35 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>0001-Remove-CXX_REFERENCE_QUALIFIED_FUNCTIONS-and-optiona.patch</filename>
            <type>text/plain</type>
            <size>9426</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzNTk2NWNiYTEyNzg5ZWU3MGIzYjZlNWZiOGM5YTQxNGViOTBlM2RmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI5IE1hciAyMDE4IDE4OjMyOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl
IENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyBhbmQgb3B0aW9uYWwncwogZXF1aXZh
bGVudAoKLS0tCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAgICAgICAgICAgICAgfCAyNCArKysrKysr
KysrKysrKysrKwogU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCAgICAgICAgIHwgIDMgLS0tCiBT
b3VyY2UvV1RGL3d0Zi9PcHRpb25hbC5oICAgICAgICAgfCA1NyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XVEYvd3RmL1JlZi5oICAgICAgICAgICAgICB8
ICA0IC0tLQogU291cmNlL1dURi93dGYvUmVmUHRyLmggICAgICAgICAgIHwgIDQgLS0tCiBTb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAgfCAxMiAtLS0tLS0tLS0KIFNvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmggICB8ICA0IC0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNl
cnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIwZTNkZjguLmUxZjc0OGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTgtMDMtMjkgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMg
YW5kIG9wdGlvbmFsJ3MgZXF1aXZhbGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MTY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTAyMzEz
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFJlbW92
ZSBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpLCBp
dCdzCisgICAgICAgIHN1cHBvcnRlZCBieSBhbGwgY29tcGlsZXJzIFdlYktpdCBzdXBwb3J0cyAo
aXQncyBhIEMrKzExIGZlYXR1cmUsCisgICAgICAgICpkZXRlY3Rpb24qIG9mIGl0IHdpdGggX19o
YXNfZXh0ZW5zaW9uIHdhcyBhZGRlZCB0byBjbGFuZyBvbiBNYXkKKyAgICAgICAgMTN0aCAyMDEx
LCBhbmQgVlMyMDE1IC8gR0NDIHN1cHBvcnQgaXQpLgorCisgICAgICAgIE9wdGlvbmFsLmggaGFk
IGEgc2ltaWxhciB0aGluZywgZGl0Y2ggaXQgdG9vLgorCisgICAgICAgICogd3RmL0NvbXBpbGVy
Lmg6CisgICAgICAgICogd3RmL09wdGlvbmFsLmg6CisgICAgICAgIChzdGQ6Om9wdGlvbmFsOjpj
b250YWluZWRfdmFsIGNvbnN0KToKKyAgICAgICAgKHN0ZDo6b3B0aW9uYWw6OmNvbnRhaW5lZF92
YWwpOgorICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAgICAgKiB3dGYvUmVmUHRyLmg6CisgICAg
ICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZTdHJp
bmcuaDoKKwogMjAxOC0wMy0yOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMDA2Mi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5o
CmluZGV4IGMxMGQ3OWMuLmU5ZTNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvbXBp
bGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtNjYsNyArNjYsNiBAQAog
I2RlZmluZSBXVEZfQ09NUElMRVJfQ0xBTkcgMQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9S
VFNfQkxPQ0tTIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGJsb2NrcykKICNkZWZpbmUgV1RG
X0NPTVBJTEVSX1NVUFBPUlRTX0NfU1RBVElDX0FTU0VSVCBDT01QSUxFUl9IQVNfQ0xBTkdfRkVB
VFVSRShjX3N0YXRpY19hc3NlcnQpCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUo
Y3h4X3JlZmVyZW5jZV9xdWFsaWZpZWRfZnVuY3Rpb25zKQogI2RlZmluZSBXVEZfQ09NUElMRVJf
U1VQUE9SVFNfQ1hYX0VYQ0VQVElPTlMgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUoY3h4X2V4
Y2VwdGlvbnMpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19CVUlMVElOX0lTX1RSSVZJ
QUxMWV9DT1BZQUJMRSBDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShpc190cml2aWFsbHlfY29w
eWFibGUpCiAKQEAgLTg5LDcgKzg4LDYgQEAKIC8qIE5vdGU6IFRoaXMgc2VjdGlvbiBtdXN0IGNv
bWUgYWZ0ZXIgdGhlIENsYW5nIHNlY3Rpb24gc2luY2Ugd2UgY2hlY2sgIUNPTVBJTEVSKENMQU5H
KSBoZXJlLiAqLwogI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgIUNPTVBJTEVSKENMQU5H
KQogI2RlZmluZSBXVEZfQ09NUElMRVJfR0NDIDEKLSNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBP
UlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyAxCiAKICNkZWZpbmUgR0NDX1ZF
UlNJT04gKF9fR05VQ19fICogMTAwMDAgKyBfX0dOVUNfTUlOT1JfXyAqIDEwMCArIF9fR05VQ19Q
QVRDSExFVkVMX18pCiAjZGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwg
cGF0Y2gpIChHQ0NfVkVSU0lPTiA+PSAobWFqb3IgKiAxMDAwMCArIG1pbm9yICogMTAwICsgcGF0
Y2gpKQpAQCAtMTI4LDcgKzEyNiw2IEBACiAjaWYgZGVmaW5lZChfTVNDX1ZFUikKIAogI2RlZmlu
ZSBXVEZfQ09NUElMRVJfTVNWQyAxCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgMQogCiAjaWYgX01TQ19WRVIgPCAxOTEwCiAj
ZXJyb3IgIlBsZWFzZSB1c2UgYSBuZXdlciB2ZXJzaW9uIG9mIFZpc3VhbCBTdHVkaW8uIFdlYktp
dCByZXF1aXJlcyBWUzIwMTcgb3IgbmV3ZXIgdG8gY29tcGlsZS4iCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9PcHRpb25hbC5oIGIvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAppbmRleCBk
OWU1OGQ3Li5hM2ZjNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25hbC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmgKQEAgLTExMywxNCArMTEzLDYgQEAKICMgICBk
ZWZpbmUgT1BUSU9OQUxfQ09OU1RFWFBSX0lOSVRfTElTVAogIyBlbmRpZgogCi0vLyBGSVhNRTog
VG8gbWFrZSB0aGUgcmVzdWx0IG9mIHZhbHVlKCkgdHlwZSBjb25zaXN0ZW50IGFtb25nIHRoZSBj
b21waWxlcnMsIHdlIG5vdyBpbnRlbnRpb25hbGx5IGRpc2FibGVzIG1vdmUgYWNjZXNzb3JzLgot
IyAgIGRlZmluZSBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMgMAotLy8gIyBpZiBkZWZpbmVk
IFRSMl9PUFRJT05BTF9DTEFOR18zXzVfQU5EX0hJR0hURVJfICYmIChkZWZpbmVkIF9fY3BsdXNw
bHVzKSAmJiAoX19jcGx1c3BsdXMgIT0gMjAxMTAzTCkKLS8vICMgICBkZWZpbmUgT1BUSU9OQUxf
SEFTX01PVkVfQUNDRVNTT1JTIDEKLS8vICMgZWxzZQotLy8gIyAgIGRlZmluZSBPUFRJT05BTF9I
QVNfTU9WRV9BQ0NFU1NPUlMgMAotLy8gIyBlbmRpZgotCiAjIC8vIEluIEMrKzExIGNvbnN0ZXhw
ciBpbXBsaWVzIGNvbnN0LCBzbyB3ZSBuZWVkIHRvIG1ha2Ugbm9uLWNvbnN0IG1lbWJlcnMgYWxz
byBub24tY29uc3RleHByCiAjIGlmIChkZWZpbmVkIF9fY3BsdXNwbHVzKSAmJiAoX19jcGx1c3Bs
dXMgPT0gMjAxMTAzTCkKICMgICBkZWZpbmUgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIKQEAg
LTM5NiwxMyArMzg4LDggQEAgY2xhc3Mgb3B0aW9uYWwgOiBwcml2YXRlIE9wdGlvbmFsQmFzZTxU
PgogCiAjIGlmIE9QVElPTkFMX0hBU19USElTX1JWQUxVRV9SRUZTID09IDEKICAgY29uc3RleHBy
IGNvbnN0IFQmIGNvbnRhaW5lZF92YWwoKSBjb25zdCYgeyByZXR1cm4gT3B0aW9uYWxCYXNlPFQ+
OjpzdG9yYWdlXy52YWx1ZV87IH0KLSMgICBpZiBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMg
PT0gMQogICBPUFRJT05BTF9NVVRBQkxFX0NPTlNURVhQUiBUJiYgY29udGFpbmVkX3ZhbCgpICYm
IHsgcmV0dXJuIHN0ZDo6bW92ZShPcHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXyk7IH0K
ICAgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIgVCYgY29udGFpbmVkX3ZhbCgpICYgeyByZXR1
cm4gT3B0aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV87IH0KLSMgICBlbHNlCi0gIFQmIGNv
bnRhaW5lZF92YWwoKSAmIHsgcmV0dXJuIE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFnZV8udmFsdWVf
OyB9Ci0gIFQmJiBjb250YWluZWRfdmFsKCkgJiYgeyByZXR1cm4gc3RkOjptb3ZlKE9wdGlvbmFs
QmFzZTxUPjo6c3RvcmFnZV8udmFsdWVfKTsgfQotIyAgIGVuZGlmCiAjIGVsc2UKICAgY29uc3Rl
eHByIGNvbnN0IFQmIGNvbnRhaW5lZF92YWwoKSBjb25zdCB7IHJldHVybiBPcHRpb25hbEJhc2U8
VD46OnN0b3JhZ2VfLnZhbHVlXzsgfQogICBUJiBjb250YWluZWRfdmFsKCkgeyByZXR1cm4gT3B0
aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV87IH0KQEAgLTUzOCw4ICs1MjUsNiBAQCBwdWJs
aWM6CiAgICAgcmV0dXJuIFRSMl9PUFRJT05BTF9BU1NFUlRFRF9FWFBSRVNTSU9OKGluaXRpYWxp
emVkKCksIGRhdGFwdHIoKSk7CiAgIH0KIAotIyBpZiBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NP
UlMgPT0gMQotCiAgIE9QVElPTkFMX01VVEFCTEVfQ09OU1RFWFBSIFQqIG9wZXJhdG9yIC0+KCkg
ewogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwgYXNzZXJ0IGZ1bmN0aW9u
IHRoYXQgY2FuIGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRleHQuCiAgICAgLy8gQ09O
U1RFWFBSX0FTU0VSVChpbml0aWFsaXplZCgpKTsKQEAgLTU4MCwzNiArNTY1LDYgQEAgcHVibGlj
OgogICAgIHJldHVybiBzdGQ6Om1vdmUoY29udGFpbmVkX3ZhbCgpKTsKICAgfQogCi0jIGVsc2UK
LQotICBUKiBvcGVyYXRvciAtPigpIHsKLSAgICBhc3NlcnQgKGluaXRpYWxpemVkKCkpOwotICAg
IHJldHVybiBkYXRhcHRyKCk7Ci0gIH0KLQotICBjb25zdGV4cHIgVCBjb25zdCYgb3BlcmF0b3Ig
KigpIGNvbnN0IHsKLSAgICByZXR1cm4gVFIyX09QVElPTkFMX0FTU0VSVEVEX0VYUFJFU1NJT04o
aW5pdGlhbGl6ZWQoKSwgY29udGFpbmVkX3ZhbCgpKTsKLSAgfQotCi0gIFQmIG9wZXJhdG9yICoo
KSB7Ci0gICAgYXNzZXJ0IChpbml0aWFsaXplZCgpKTsKLSAgICByZXR1cm4gY29udGFpbmVkX3Zh
bCgpOwotICB9Ci0KLSAgY29uc3RleHByIFQgY29uc3QmIHZhbHVlKCkgY29uc3QgewotICAgIC8v
IEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwgYXNzZXJ0IGZ1bmN0aW9uIHRoYXQgY2Fu
IGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRleHQuCi0gICAgLy8gcmV0dXJuIGluaXRp
YWxpemVkKCkgPyBjb250YWluZWRfdmFsKCkgOiAodGhyb3cgYmFkX29wdGlvbmFsX2FjY2Vzcygi
YmFkIG9wdGlvbmFsIGFjY2VzcyIpLCBjb250YWluZWRfdmFsKCkpOwotICAgIHJldHVybiBjb250
YWluZWRfdmFsKCk7Ci0gIH0KLQotICBUJiB2YWx1ZSgpIHsKLSAgICAvLyBGSVhNRTogV2UgbmVl
ZCB0byBvZmZlciBzcGVjaWFsIGFzc2VydCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHVuZGVy
IHRoZSBjb250ZXhwciBjb250ZXh0LgotICAgIC8vIHJldHVybiBpbml0aWFsaXplZCgpID8gY29u
dGFpbmVkX3ZhbCgpIDogKHRocm93IGJhZF9vcHRpb25hbF9hY2Nlc3MoImJhZCBvcHRpb25hbCBh
Y2Nlc3MiKSwgY29udGFpbmVkX3ZhbCgpKTsKLSAgICByZXR1cm4gY29udGFpbmVkX3ZhbCgpOwot
ICB9Ci0KLSMgZW5kaWYKLQogIyBpZiBPUFRJT05BTF9IQVNfVEhJU19SVkFMVUVfUkVGUyA9PSAx
CiAKICAgdGVtcGxhdGUgPGNsYXNzIFY+CkBAIC02MTgsMjQgKzU3MywxMiBAQCBwdWJsaWM6CiAg
ICAgcmV0dXJuICp0aGlzID8gKip0aGlzIDogZGV0YWlsXzo6Y29udmVydDxUPihkZXRhaWxfOjpj
b25zdGV4cHJfZm9yd2FyZDxWPih2KSk7CiAgIH0KIAotIyAgIGlmIE9QVElPTkFMX0hBU19NT1ZF
X0FDQ0VTU09SUyA9PSAxCi0KICAgdGVtcGxhdGUgPGNsYXNzIFY+CiAgIE9QVElPTkFMX01VVEFC
TEVfQ09OU1RFWFBSIFQgdmFsdWVfb3IoViYmIHYpICYmCiAgIHsKICAgICByZXR1cm4gKnRoaXMg
PyBkZXRhaWxfOjpjb25zdGV4cHJfbW92ZShjb25zdF9jYXN0PG9wdGlvbmFsPFQ+Jj4oKnRoaXMp
LmNvbnRhaW5lZF92YWwoKSkgOiBkZXRhaWxfOjpjb252ZXJ0PFQ+KGRldGFpbF86OmNvbnN0ZXhw
cl9mb3J3YXJkPFY+KHYpKTsKICAgfQogCi0jICAgZWxzZQotCi0gIHRlbXBsYXRlIDxjbGFzcyBW
PgotICBUIHZhbHVlX29yKFYmJiB2KSAmJgotICB7Ci0gICAgcmV0dXJuICp0aGlzID8gZGV0YWls
Xzo6Y29uc3RleHByX21vdmUoY29uc3RfY2FzdDxvcHRpb25hbDxUPiY+KCp0aGlzKS5jb250YWlu
ZWRfdmFsKCkpIDogZGV0YWlsXzo6Y29udmVydDxUPihkZXRhaWxfOjpjb25zdGV4cHJfZm9yd2Fy
ZDxWPih2KSk7Ci0gIH0KLQotIyAgIGVuZGlmCi0KICMgZWxzZQogCiAgIHRlbXBsYXRlIDxjbGFz
cyBWPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmLmggYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaAppbmRleCAxYWFkNzZmLi4zYjMxNThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaApAQCAtMTI1LDEyICsxMjUsOCBAQCBwdWJs
aWM6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBYLCB0eXBlbmFtZSBZPiBSZWY8VCwgUHRyVHJh
aXRzPiByZXBsYWNlKFJlZjxYLCBZPiYmKSBXQVJOX1VOVVNFRF9SRVRVUk47CiAKLSNpZiBDT01Q
SUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpCiAgICAgUmVm
IGNvcHlSZWYoKSAmJiA9IGRlbGV0ZTsKICAgICBSZWYgY29weVJlZigpIGNvbnN0ICYgV0FSTl9V
TlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZigqbV9wdHIpOyB9Ci0jZWxzZQotICAgIFJlZiBjb3B5
UmVmKCkgY29uc3QgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZigqbV9wdHIpOyB9Ci0j
ZW5kaWYKIAogICAgIFQmIGxlYWtSZWYoKSBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5o
CmluZGV4IDYzNjVmNjQuLjUyMjA4NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQ
dHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaApAQCAtOTksMTIgKzk5LDggQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIFQqIGhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIHsgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1JF
RkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TKQogICAgIFJlZlB0ciBjb3B5UmVmKCkgJiYgPSBk
ZWxldGU7CiAgICAgUmVmUHRyIGNvcHlSZWYoKSBjb25zdCAmIFdBUk5fVU5VU0VEX1JFVFVSTiB7
IHJldHVybiBSZWZQdHIobV9wdHIpOyB9Ci0jZWxzZQotICAgIFJlZlB0ciBjb3B5UmVmKCkgY29u
c3QgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZlB0cihtX3B0cik7IH0KLSNlbmRpZgog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBSZWZQdHIgYWRvcHRSZWY8VCwgUHRyVHJhaXRzPihUKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKaW5kZXggNzI3MzNmZS4uNWZlNzUyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmNwcApAQCAtNjc4LDggKzY3OCw2IEBAIGZsb2F0IFN0cmluZzo6
dG9GbG9hdChib29sKiBvaykgY29uc3QKICAgICByZXR1cm4gbV9pbXBsLT50b0Zsb2F0KG9rKTsK
IH0KIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNU
SU9OUykKLQogU3RyaW5nIFN0cmluZzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QgJgogewogICAgIC8v
IEZJWE1FOiBTaG91bGQgdGhpcyBmdW5jdGlvbiwgYW5kIHRoZSBtYW55IG90aGVycyBsaWtlIGl0
LCBiZSBpbmxpbmVkPwpAQCAtNjk3LDE2ICs2OTUsNiBAQCBTdHJpbmcgU3RyaW5nOjppc29sYXRl
ZENvcHkoKSAmJgogICAgIHJldHVybiBtX2ltcGwgPyBtX2ltcGwtPmlzb2xhdGVkQ29weSgpIDog
U3RyaW5nIHsgfTsKIH0KIAotI2Vsc2UKLQotU3RyaW5nIFN0cmluZzo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKLXsKLSAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgZnVuY3Rpb24sIGFuZCB0aGUgbWFu
eSBvdGhlcnMgbGlrZSBpdCwgYmUgaW5saW5lZD8KLSAgICByZXR1cm4gbV9pbXBsID8gbV9pbXBs
LT5pc29sYXRlZENvcHkoKSA6IFN0cmluZyB7IH07Ci19Ci0KLSNlbmRpZgotCiBib29sIFN0cmlu
Zzo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKIHsKICAgICAvLyBBdG9taWNT
dHJpbmdzIGFyZSBub3Qgc2FmZSB0byBzZW5kIGJldHdlZW4gdGhyZWFkcyBhcyB+U3RyaW5nSW1w
bCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNl
L1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCBhNWFmMGFhLi4yNTczMTIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvV1RGU3RyaW5nLmgKQEAgLTI5OSwxMiArMjk5LDggQEAgcHVibGljOgogCiAgICAgYm9v
bCBwZXJjZW50YWdlKGludCYgcGVyY2VudGFnZSkgY29uc3Q7CiAKLSNpZiBDT01QSUxFUl9TVVBQ
T1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpCiAgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIFN0cmluZyBpc29sYXRlZENvcHkoKSBjb25zdCAmOwogICAgIFdURl9FWFBPUlRf
U1RSSU5HX0FQSSBTdHJpbmcgaXNvbGF0ZWRDb3B5KCkgJiY7Ci0jZWxzZQotICAgIFdURl9FWFBP
UlRfU1RSSU5HX0FQSSBTdHJpbmcgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7Ci0jZW5kaWYKIAogICAg
IFdURl9FWFBPUlRfU1RSSU5HX0FQSSBib29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgp
IGNvbnN0OwogCi0tIAoyLjkuMwoK
</data>
<flag name="commit-queue"
          id="355324"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336838</attachid>
            <date>2018-03-29 20:45:35 -0700</date>
            <delta_ts>2018-03-30 11:00:58 -0700</delta_ts>
            <desc>patch for landing, rebased onto my other patch which touched WTFString.h</desc>
            <filename>0001-Remove-CXX_REFERENCE_QUALIFIED_FUNCTIONS-and-optiona.patch</filename>
            <type>text/plain</type>
            <size>9452</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSA3Yjc2YjhiMzk5NDAxOGNmNGU3MGQ0NjkwNDI2NTZiMWZiYWY2N2M4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI5IE1hciAyMDE4IDE4OjMyOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl
IENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyBhbmQgb3B0aW9uYWwncwogZXF1aXZh
bGVudAoKLS0tCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAgICAgICAgICAgICAgfCAyNCArKysrKysr
KysrKysrKysrKwogU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCAgICAgICAgIHwgIDMgLS0tCiBT
b3VyY2UvV1RGL3d0Zi9PcHRpb25hbC5oICAgICAgICAgfCA1NyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9XVEYvd3RmL1JlZi5oICAgICAgICAgICAgICB8
ICA0IC0tLQogU291cmNlL1dURi93dGYvUmVmUHRyLmggICAgICAgICAgIHwgIDQgLS0tCiBTb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAgfCAxMiAtLS0tLS0tLS0KIFNvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmggICB8ICA0IC0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNl
cnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNhMmY1NzcuLmI2YmMxZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTgtMDMtMjkgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMg
YW5kIG9wdGlvbmFsJ3MgZXF1aXZhbGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MTY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTAyMzEz
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFJlbW92
ZSBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpLCBp
dCdzCisgICAgICAgIHN1cHBvcnRlZCBieSBhbGwgY29tcGlsZXJzIFdlYktpdCBzdXBwb3J0cyAo
aXQncyBhIEMrKzExIGZlYXR1cmUsCisgICAgICAgICpkZXRlY3Rpb24qIG9mIGl0IHdpdGggX19o
YXNfZXh0ZW5zaW9uIHdhcyBhZGRlZCB0byBjbGFuZyBvbiBNYXkKKyAgICAgICAgMTN0aCAyMDEx
LCBhbmQgVlMyMDE1IC8gR0NDIHN1cHBvcnQgaXQpLgorCisgICAgICAgIE9wdGlvbmFsLmggaGFk
IGEgc2ltaWxhciB0aGluZywgZGl0Y2ggaXQgdG9vLgorCisgICAgICAgICogd3RmL0NvbXBpbGVy
Lmg6CisgICAgICAgICogd3RmL09wdGlvbmFsLmg6CisgICAgICAgIChzdGQ6Om9wdGlvbmFsOjpj
b250YWluZWRfdmFsIGNvbnN0KToKKyAgICAgICAgKHN0ZDo6b3B0aW9uYWw6OmNvbnRhaW5lZF92
YWwpOgorICAgICAgICAqIHd0Zi9SZWYuaDoKKyAgICAgICAgKiB3dGYvUmVmUHRyLmg6CisgICAg
ICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZTdHJp
bmcuaDoKKwogMjAxOC0wMy0yOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5j
b20+CiAKICAgICAgICAgTVNWQyBfX2ZvcmNlaW5saW5lIHNsb3dzIGRvd24gSlNDIHJlbGVhc2Ug
YnVpbGQgZml2ZWZvbGQgYWZ0ZXIgcjIyOTM5MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Q29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggMzNiODAzOC4uMzFh
NGYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9Db21waWxlci5oCkBAIC02Niw3ICs2Niw2IEBACiAjZGVmaW5lIFdURl9DT01QSUxF
Ul9DTEFORyAxCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19CTE9DS1MgQ09NUElMRVJf
SEFTX0NMQU5HX0ZFQVRVUkUoYmxvY2tzKQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNf
Q19TVEFUSUNfQVNTRVJUIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGNfc3RhdGljX2Fzc2Vy
dCkKLSNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVE
X0ZVTkNUSU9OUyBDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShjeHhfcmVmZXJlbmNlX3F1YWxp
ZmllZF9mdW5jdGlvbnMpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfRVhDRVBU
SU9OUyBDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShjeHhfZXhjZXB0aW9ucykKICNkZWZpbmUg
V1RGX0NPTVBJTEVSX1NVUFBPUlRTX0JVSUxUSU5fSVNfVFJJVklBTExZX0NPUFlBQkxFIENPTVBJ
TEVSX0hBU19DTEFOR19GRUFUVVJFKGlzX3RyaXZpYWxseV9jb3B5YWJsZSkKIApAQCAtODksNyAr
ODgsNiBAQAogLyogTm90ZTogVGhpcyBzZWN0aW9uIG11c3QgY29tZSBhZnRlciB0aGUgQ2xhbmcg
c2VjdGlvbiBzaW5jZSB3ZSBjaGVjayAhQ09NUElMRVIoQ0xBTkcpIGhlcmUuICovCiAjaWYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKSAmJiAhQ09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIFdURl9DT01Q
SUxFUl9HQ0MgMQotI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1JFRkVSRU5DRV9R
VUFMSUZJRURfRlVOQ1RJT05TIDEKIAogI2RlZmluZSBHQ0NfVkVSU0lPTiAoX19HTlVDX18gKiAx
MDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAwICsgX19HTlVDX1BBVENITEVWRUxfXykKICNkZWZp
bmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFqb3IsIG1pbm9yLCBwYXRjaCkgKEdDQ19WRVJTSU9O
ID49IChtYWpvciAqIDEwMDAwICsgbWlub3IgKiAxMDAgKyBwYXRjaCkpCkBAIC0xMjgsNyArMTI2
LDYgQEAKICNpZiBkZWZpbmVkKF9NU0NfVkVSKQogCiAjZGVmaW5lIFdURl9DT01QSUxFUl9NU1ZD
IDEKLSNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVE
X0ZVTkNUSU9OUyAxCiAKICNpZiBfTVNDX1ZFUiA8IDE5MTAKICNlcnJvciAiUGxlYXNlIHVzZSBh
IG5ld2VyIHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpby4gV2ViS2l0IHJlcXVpcmVzIFZTMjAxNyBv
ciBuZXdlciB0byBjb21waWxlLiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFs
LmggYi9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25hbC5oCmluZGV4IGQ5ZTU4ZDcuLmEzZmM1ODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmgKKysrIGIvU291cmNlL1dURi93dGYv
T3B0aW9uYWwuaApAQCAtMTEzLDE0ICsxMTMsNiBAQAogIyAgIGRlZmluZSBPUFRJT05BTF9DT05T
VEVYUFJfSU5JVF9MSVNUCiAjIGVuZGlmCiAKLS8vIEZJWE1FOiBUbyBtYWtlIHRoZSByZXN1bHQg
b2YgdmFsdWUoKSB0eXBlIGNvbnNpc3RlbnQgYW1vbmcgdGhlIGNvbXBpbGVycywgd2Ugbm93IGlu
dGVudGlvbmFsbHkgZGlzYWJsZXMgbW92ZSBhY2Nlc3NvcnMuCi0jICAgZGVmaW5lIE9QVElPTkFM
X0hBU19NT1ZFX0FDQ0VTU09SUyAwCi0vLyAjIGlmIGRlZmluZWQgVFIyX09QVElPTkFMX0NMQU5H
XzNfNV9BTkRfSElHSFRFUl8gJiYgKGRlZmluZWQgX19jcGx1c3BsdXMpICYmIChfX2NwbHVzcGx1
cyAhPSAyMDExMDNMKQotLy8gIyAgIGRlZmluZSBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMg
MQotLy8gIyBlbHNlCi0vLyAjICAgZGVmaW5lIE9QVElPTkFMX0hBU19NT1ZFX0FDQ0VTU09SUyAw
Ci0vLyAjIGVuZGlmCi0KICMgLy8gSW4gQysrMTEgY29uc3RleHByIGltcGxpZXMgY29uc3QsIHNv
IHdlIG5lZWQgdG8gbWFrZSBub24tY29uc3QgbWVtYmVycyBhbHNvIG5vbi1jb25zdGV4cHIKICMg
aWYgKGRlZmluZWQgX19jcGx1c3BsdXMpICYmIChfX2NwbHVzcGx1cyA9PSAyMDExMDNMKQogIyAg
IGRlZmluZSBPUFRJT05BTF9NVVRBQkxFX0NPTlNURVhQUgpAQCAtMzk2LDEzICszODgsOCBAQCBj
bGFzcyBvcHRpb25hbCA6IHByaXZhdGUgT3B0aW9uYWxCYXNlPFQ+CiAKICMgaWYgT1BUSU9OQUxf
SEFTX1RISVNfUlZBTFVFX1JFRlMgPT0gMQogICBjb25zdGV4cHIgY29uc3QgVCYgY29udGFpbmVk
X3ZhbCgpIGNvbnN0JiB7IHJldHVybiBPcHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXzsg
fQotIyAgIGlmIE9QVElPTkFMX0hBU19NT1ZFX0FDQ0VTU09SUyA9PSAxCiAgIE9QVElPTkFMX01V
VEFCTEVfQ09OU1RFWFBSIFQmJiBjb250YWluZWRfdmFsKCkgJiYgeyByZXR1cm4gc3RkOjptb3Zl
KE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFnZV8udmFsdWVfKTsgfQogICBPUFRJT05BTF9NVVRBQkxF
X0NPTlNURVhQUiBUJiBjb250YWluZWRfdmFsKCkgJiB7IHJldHVybiBPcHRpb25hbEJhc2U8VD46
OnN0b3JhZ2VfLnZhbHVlXzsgfQotIyAgIGVsc2UKLSAgVCYgY29udGFpbmVkX3ZhbCgpICYgeyBy
ZXR1cm4gT3B0aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV87IH0KLSAgVCYmIGNvbnRhaW5l
ZF92YWwoKSAmJiB7IHJldHVybiBzdGQ6Om1vdmUoT3B0aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52
YWx1ZV8pOyB9Ci0jICAgZW5kaWYKICMgZWxzZQogICBjb25zdGV4cHIgY29uc3QgVCYgY29udGFp
bmVkX3ZhbCgpIGNvbnN0IHsgcmV0dXJuIE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFnZV8udmFsdWVf
OyB9CiAgIFQmIGNvbnRhaW5lZF92YWwoKSB7IHJldHVybiBPcHRpb25hbEJhc2U8VD46OnN0b3Jh
Z2VfLnZhbHVlXzsgfQpAQCAtNTM4LDggKzUyNSw2IEBAIHB1YmxpYzoKICAgICByZXR1cm4gVFIy
X09QVElPTkFMX0FTU0VSVEVEX0VYUFJFU1NJT04oaW5pdGlhbGl6ZWQoKSwgZGF0YXB0cigpKTsK
ICAgfQogCi0jIGlmIE9QVElPTkFMX0hBU19NT1ZFX0FDQ0VTU09SUyA9PSAxCi0KICAgT1BUSU9O
QUxfTVVUQUJMRV9DT05TVEVYUFIgVCogb3BlcmF0b3IgLT4oKSB7CiAgICAgLy8gRklYTUU6IFdl
IG5lZWQgdG8gb2ZmZXIgc3BlY2lhbCBhc3NlcnQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB1
bmRlciB0aGUgY29udGV4cHIgY29udGV4dC4KICAgICAvLyBDT05TVEVYUFJfQVNTRVJUKGluaXRp
YWxpemVkKCkpOwpAQCAtNTgwLDM2ICs1NjUsNiBAQCBwdWJsaWM6CiAgICAgcmV0dXJuIHN0ZDo6
bW92ZShjb250YWluZWRfdmFsKCkpOwogICB9CiAKLSMgZWxzZQotCi0gIFQqIG9wZXJhdG9yIC0+
KCkgewotICAgIGFzc2VydCAoaW5pdGlhbGl6ZWQoKSk7Ci0gICAgcmV0dXJuIGRhdGFwdHIoKTsK
LSAgfQotCi0gIGNvbnN0ZXhwciBUIGNvbnN0JiBvcGVyYXRvciAqKCkgY29uc3QgewotICAgIHJl
dHVybiBUUjJfT1BUSU9OQUxfQVNTRVJURURfRVhQUkVTU0lPTihpbml0aWFsaXplZCgpLCBjb250
YWluZWRfdmFsKCkpOwotICB9Ci0KLSAgVCYgb3BlcmF0b3IgKigpIHsKLSAgICBhc3NlcnQgKGlu
aXRpYWxpemVkKCkpOwotICAgIHJldHVybiBjb250YWluZWRfdmFsKCk7Ci0gIH0KLQotICBjb25z
dGV4cHIgVCBjb25zdCYgdmFsdWUoKSBjb25zdCB7Ci0gICAgLy8gRklYTUU6IFdlIG5lZWQgdG8g
b2ZmZXIgc3BlY2lhbCBhc3NlcnQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB1bmRlciB0aGUg
Y29udGV4cHIgY29udGV4dC4KLSAgICAvLyByZXR1cm4gaW5pdGlhbGl6ZWQoKSA/IGNvbnRhaW5l
ZF92YWwoKSA6ICh0aHJvdyBiYWRfb3B0aW9uYWxfYWNjZXNzKCJiYWQgb3B0aW9uYWwgYWNjZXNz
IiksIGNvbnRhaW5lZF92YWwoKSk7Ci0gICAgcmV0dXJuIGNvbnRhaW5lZF92YWwoKTsKLSAgfQot
Ci0gIFQmIHZhbHVlKCkgewotICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwg
YXNzZXJ0IGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRl
eHQuCi0gICAgLy8gcmV0dXJuIGluaXRpYWxpemVkKCkgPyBjb250YWluZWRfdmFsKCkgOiAodGhy
b3cgYmFkX29wdGlvbmFsX2FjY2VzcygiYmFkIG9wdGlvbmFsIGFjY2VzcyIpLCBjb250YWluZWRf
dmFsKCkpOwotICAgIHJldHVybiBjb250YWluZWRfdmFsKCk7Ci0gIH0KLQotIyBlbmRpZgotCiAj
IGlmIE9QVElPTkFMX0hBU19USElTX1JWQUxVRV9SRUZTID09IDEKIAogICB0ZW1wbGF0ZSA8Y2xh
c3MgVj4KQEAgLTYxOCwyNCArNTczLDEyIEBAIHB1YmxpYzoKICAgICByZXR1cm4gKnRoaXMgPyAq
KnRoaXMgOiBkZXRhaWxfOjpjb252ZXJ0PFQ+KGRldGFpbF86OmNvbnN0ZXhwcl9mb3J3YXJkPFY+
KHYpKTsKICAgfQogCi0jICAgaWYgT1BUSU9OQUxfSEFTX01PVkVfQUNDRVNTT1JTID09IDEKLQog
ICB0ZW1wbGF0ZSA8Y2xhc3MgVj4KICAgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIgVCB2YWx1
ZV9vcihWJiYgdikgJiYKICAgewogICAgIHJldHVybiAqdGhpcyA/IGRldGFpbF86OmNvbnN0ZXhw
cl9tb3ZlKGNvbnN0X2Nhc3Q8b3B0aW9uYWw8VD4mPigqdGhpcykuY29udGFpbmVkX3ZhbCgpKSA6
IGRldGFpbF86OmNvbnZlcnQ8VD4oZGV0YWlsXzo6Y29uc3RleHByX2ZvcndhcmQ8Vj4odikpOwog
ICB9CiAKLSMgICBlbHNlCi0KLSAgdGVtcGxhdGUgPGNsYXNzIFY+Ci0gIFQgdmFsdWVfb3IoViYm
IHYpICYmCi0gIHsKLSAgICByZXR1cm4gKnRoaXMgPyBkZXRhaWxfOjpjb25zdGV4cHJfbW92ZShj
b25zdF9jYXN0PG9wdGlvbmFsPFQ+Jj4oKnRoaXMpLmNvbnRhaW5lZF92YWwoKSkgOiBkZXRhaWxf
Ojpjb252ZXJ0PFQ+KGRldGFpbF86OmNvbnN0ZXhwcl9mb3J3YXJkPFY+KHYpKTsKLSAgfQotCi0j
ICAgZW5kaWYKLQogIyBlbHNlCiAKICAgdGVtcGxhdGUgPGNsYXNzIFY+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9SZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZi5oCmluZGV4IDFhYWQ3NmYu
LjNiMzE1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZi5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1JlZi5oCkBAIC0xMjUsMTIgKzEyNSw4IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFgsIHR5cGVuYW1lIFk+IFJlZjxULCBQdHJUcmFpdHM+IHJlcGxhY2UoUmVmPFgs
IFk+JiYpIFdBUk5fVU5VU0VEX1JFVFVSTjsKIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9S
RUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUykKICAgICBSZWYgY29weVJlZigpICYmID0gZGVs
ZXRlOwogICAgIFJlZiBjb3B5UmVmKCkgY29uc3QgJiBXQVJOX1VOVVNFRF9SRVRVUk4geyByZXR1
cm4gUmVmKCptX3B0cik7IH0KLSNlbHNlCi0gICAgUmVmIGNvcHlSZWYoKSBjb25zdCBXQVJOX1VO
VVNFRF9SRVRVUk4geyByZXR1cm4gUmVmKCptX3B0cik7IH0KLSNlbmRpZgogCiAgICAgVCYgbGVh
a1JlZigpIFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1JlZlB0ci5oIGIvU291cmNlL1dURi93dGYvUmVmUHRyLmgKaW5kZXggNjM2NWY2NC4uNTIy
MDg1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1JlZlB0ci5oCkBAIC05OSwxMiArOTksOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
VCogaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4o
LTEpOyB9CiAKLSNpZiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9G
VU5DVElPTlMpCiAgICAgUmVmUHRyIGNvcHlSZWYoKSAmJiA9IGRlbGV0ZTsKICAgICBSZWZQdHIg
Y29weVJlZigpIGNvbnN0ICYgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZlB0cihtX3B0
cik7IH0KLSNlbHNlCi0gICAgUmVmUHRyIGNvcHlSZWYoKSBjb25zdCBXQVJOX1VOVVNFRF9SRVRV
Uk4geyByZXR1cm4gUmVmUHRyKG1fcHRyKTsgfQotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgZnJp
ZW5kIFJlZlB0ciBhZG9wdFJlZjxULCBQdHJUcmFpdHM+KFQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmNwcAppbmRleCA3MjczM2ZlLi41ZmU3NTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1dURlN0cmluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcu
Y3BwCkBAIC02NzgsOCArNjc4LDYgQEAgZmxvYXQgU3RyaW5nOjp0b0Zsb2F0KGJvb2wqIG9rKSBj
b25zdAogICAgIHJldHVybiBtX2ltcGwtPnRvRmxvYXQob2spOwogfQogCi0jaWYgQ09NUElMRVJf
U1VQUE9SVFMoQ1hYX1JFRkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TKQotCiBTdHJpbmcgU3Ry
aW5nOjppc29sYXRlZENvcHkoKSBjb25zdCAmCiB7CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlz
IGZ1bmN0aW9uLCBhbmQgdGhlIG1hbnkgb3RoZXJzIGxpa2UgaXQsIGJlIGlubGluZWQ/CkBAIC02
OTcsMTYgKzY5NSw2IEBAIFN0cmluZyBTdHJpbmc6Omlzb2xhdGVkQ29weSgpICYmCiAgICAgcmV0
dXJuIG1faW1wbCA/IG1faW1wbC0+aXNvbGF0ZWRDb3B5KCkgOiBTdHJpbmcgeyB9OwogfQogCi0j
ZWxzZQotCi1TdHJpbmcgU3RyaW5nOjppc29sYXRlZENvcHkoKSBjb25zdAotewotICAgIC8vIEZJ
WE1FOiBTaG91bGQgdGhpcyBmdW5jdGlvbiwgYW5kIHRoZSBtYW55IG90aGVycyBsaWtlIGl0LCBi
ZSBpbmxpbmVkPwotICAgIHJldHVybiBtX2ltcGwgPyBtX2ltcGwtPmlzb2xhdGVkQ29weSgpIDog
U3RyaW5nIHsgfTsKLX0KLQotI2VuZGlmCi0KIGJvb2wgU3RyaW5nOjppc1NhZmVUb1NlbmRUb0Fu
b3RoZXJUaHJlYWQoKSBjb25zdAogewogICAgIC8vIEF0b21pY1N0cmluZ3MgYXJlIG5vdCBzYWZl
IHRvIHNlbmQgYmV0d2VlbiB0aHJlYWRzIGFzIH5TdHJpbmdJbXBsKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0
cmluZy5oCmluZGV4IGI0ODdkMGEuLmUxMWQyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaApA
QCAtMjk5LDEyICsyOTksOCBAQCBwdWJsaWM6CiAKICAgICBib29sIHBlcmNlbnRhZ2UoaW50JiBw
ZXJjZW50YWdlKSBjb25zdDsKIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9SRUZFUkVOQ0Vf
UVVBTElGSUVEX0ZVTkNUSU9OUykKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGlzb2xh
dGVkQ29weSgpIGNvbnN0ICY7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBpc29sYXRl
ZENvcHkoKSAmJjsKLSNlbHNlCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBpc29sYXRl
ZENvcHkoKSBjb25zdDsKLSNlbmRpZgogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNT
YWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3Q7CiAKLS0gCjIuOS4zCgo=
</data>
<flag name="commit-queue"
          id="355325"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336871</attachid>
            <date>2018-03-30 11:00:58 -0700</date>
            <delta_ts>2018-03-30 11:39:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Remove-CXX_REFERENCE_QUALIFIED_FUNCTIONS-and-optiona.patch</filename>
            <type>text/plain</type>
            <size>10518</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSA0M2FlMzlkMDQ2ZmEyOGI5OTZkMGY3NWVlY2E0NGE1OWFlZjc1MjZlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI5IE1hciAyMDE4IDE4OjMyOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl
IENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyBhbmQgb3B0aW9uYWwncwogZXF1aXZh
bGVudAoKLS0tCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgMjQgKysrKysrKysrKysKIFNvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggICAgICAgICAgICAg
ICAgICAgICAgfCAgMyAtLQogU291cmNlL1dURi93dGYvT3B0aW9uYWwuaCAgICAgICAgICAgICAg
ICAgICAgICB8IDU3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBTb3VyY2UvV1RGL3d0Zi9S
ZWYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgLS0KIFNvdXJjZS9XVEYvd3RmL1Jl
ZlB0ci5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAtLQogU291cmNlL1dURi93dGYvdGV4
dC9XVEZTdHJpbmcuY3BwICAgICAgICAgICAgICB8IDEyIC0tLS0tLQogU291cmNlL1dURi93dGYv
dGV4dC9XVEZTdHJpbmcuaCAgICAgICAgICAgICAgICB8ICA0IC0tCiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRVbmlvbi5oIHwgIDIgKy0KIDggZmlsZXMgY2hhbmdlZCwg
MjUgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBhMmViZmRlLi40MDAxNWQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE4LTAzLTI5ICBKRiBCYXN0aWVuICA8amZiYXN0aWVu
QGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQ1hYX1JFRkVSRU5DRV9RVUFMSUZJRURfRlVO
Q1RJT05TIGFuZCBvcHRpb25hbCdzIGVxdWl2YWxlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDE2NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzkwMjMxMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAg
ICBSZW1vdmUgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1JFRkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJ
T05TKSwgaXQncworICAgICAgICBzdXBwb3J0ZWQgYnkgYWxsIGNvbXBpbGVycyBXZWJLaXQgc3Vw
cG9ydHMgKGl0J3MgYSBDKysxMSBmZWF0dXJlLAorICAgICAgICAqZGV0ZWN0aW9uKiBvZiBpdCB3
aXRoIF9faGFzX2V4dGVuc2lvbiB3YXMgYWRkZWQgdG8gY2xhbmcgb24gTWF5CisgICAgICAgIDEz
dGggMjAxMSwgYW5kIFZTMjAxNSAvIEdDQyBzdXBwb3J0IGl0KS4KKworICAgICAgICBPcHRpb25h
bC5oIGhhZCBhIHNpbWlsYXIgdGhpbmcsIGRpdGNoIGl0IHRvby4KKworICAgICAgICAqIHd0Zi9D
b21waWxlci5oOgorICAgICAgICAqIHd0Zi9PcHRpb25hbC5oOgorICAgICAgICAoc3RkOjpvcHRp
b25hbDo6Y29udGFpbmVkX3ZhbCBjb25zdCk6CisgICAgICAgIChzdGQ6Om9wdGlvbmFsOjpjb250
YWluZWRfdmFsKToKKyAgICAgICAgKiB3dGYvUmVmLmg6CisgICAgICAgICogd3RmL1JlZlB0ci5o
OgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5jcHA6CisgICAgICAgICogd3RmL3RleHQv
V1RGU3RyaW5nLmg6CisKKzIwMTgtMDMtMjkgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUu
Y29tPgorCiAgICAgICAgIFVzZSBGb3J3YXJkLmggaW5zdGVhZCBvZiBmb3J3YXJkLWRlY2xhcmlu
ZyBXVEY6OlN0cmluZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg0MTcyCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTAyNjE0Nj4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5o
CmluZGV4IDMzYjgwMzguLjMxYTRmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvbXBp
bGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtNjYsNyArNjYsNiBAQAog
I2RlZmluZSBXVEZfQ09NUElMRVJfQ0xBTkcgMQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9S
VFNfQkxPQ0tTIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGJsb2NrcykKICNkZWZpbmUgV1RG
X0NPTVBJTEVSX1NVUFBPUlRTX0NfU1RBVElDX0FTU0VSVCBDT01QSUxFUl9IQVNfQ0xBTkdfRkVB
VFVSRShjX3N0YXRpY19hc3NlcnQpCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUo
Y3h4X3JlZmVyZW5jZV9xdWFsaWZpZWRfZnVuY3Rpb25zKQogI2RlZmluZSBXVEZfQ09NUElMRVJf
U1VQUE9SVFNfQ1hYX0VYQ0VQVElPTlMgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUoY3h4X2V4
Y2VwdGlvbnMpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19CVUlMVElOX0lTX1RSSVZJ
QUxMWV9DT1BZQUJMRSBDT01QSUxFUl9IQVNfQ0xBTkdfRkVBVFVSRShpc190cml2aWFsbHlfY29w
eWFibGUpCiAKQEAgLTg5LDcgKzg4LDYgQEAKIC8qIE5vdGU6IFRoaXMgc2VjdGlvbiBtdXN0IGNv
bWUgYWZ0ZXIgdGhlIENsYW5nIHNlY3Rpb24gc2luY2Ugd2UgY2hlY2sgIUNPTVBJTEVSKENMQU5H
KSBoZXJlLiAqLwogI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgIUNPTVBJTEVSKENMQU5H
KQogI2RlZmluZSBXVEZfQ09NUElMRVJfR0NDIDEKLSNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBP
UlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyAxCiAKICNkZWZpbmUgR0NDX1ZF
UlNJT04gKF9fR05VQ19fICogMTAwMDAgKyBfX0dOVUNfTUlOT1JfXyAqIDEwMCArIF9fR05VQ19Q
QVRDSExFVkVMX18pCiAjZGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwg
cGF0Y2gpIChHQ0NfVkVSU0lPTiA+PSAobWFqb3IgKiAxMDAwMCArIG1pbm9yICogMTAwICsgcGF0
Y2gpKQpAQCAtMTI4LDcgKzEyNiw2IEBACiAjaWYgZGVmaW5lZChfTVNDX1ZFUikKIAogI2RlZmlu
ZSBXVEZfQ09NUElMRVJfTVNWQyAxCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhf
UkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMgMQogCiAjaWYgX01TQ19WRVIgPCAxOTEwCiAj
ZXJyb3IgIlBsZWFzZSB1c2UgYSBuZXdlciB2ZXJzaW9uIG9mIFZpc3VhbCBTdHVkaW8uIFdlYktp
dCByZXF1aXJlcyBWUzIwMTcgb3IgbmV3ZXIgdG8gY29tcGlsZS4iCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9PcHRpb25hbC5oIGIvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAppbmRleCBk
OWU1OGQ3Li5hM2ZjNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PcHRpb25hbC5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmgKQEAgLTExMywxNCArMTEzLDYgQEAKICMgICBk
ZWZpbmUgT1BUSU9OQUxfQ09OU1RFWFBSX0lOSVRfTElTVAogIyBlbmRpZgogCi0vLyBGSVhNRTog
VG8gbWFrZSB0aGUgcmVzdWx0IG9mIHZhbHVlKCkgdHlwZSBjb25zaXN0ZW50IGFtb25nIHRoZSBj
b21waWxlcnMsIHdlIG5vdyBpbnRlbnRpb25hbGx5IGRpc2FibGVzIG1vdmUgYWNjZXNzb3JzLgot
IyAgIGRlZmluZSBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMgMAotLy8gIyBpZiBkZWZpbmVk
IFRSMl9PUFRJT05BTF9DTEFOR18zXzVfQU5EX0hJR0hURVJfICYmIChkZWZpbmVkIF9fY3BsdXNw
bHVzKSAmJiAoX19jcGx1c3BsdXMgIT0gMjAxMTAzTCkKLS8vICMgICBkZWZpbmUgT1BUSU9OQUxf
SEFTX01PVkVfQUNDRVNTT1JTIDEKLS8vICMgZWxzZQotLy8gIyAgIGRlZmluZSBPUFRJT05BTF9I
QVNfTU9WRV9BQ0NFU1NPUlMgMAotLy8gIyBlbmRpZgotCiAjIC8vIEluIEMrKzExIGNvbnN0ZXhw
ciBpbXBsaWVzIGNvbnN0LCBzbyB3ZSBuZWVkIHRvIG1ha2Ugbm9uLWNvbnN0IG1lbWJlcnMgYWxz
byBub24tY29uc3RleHByCiAjIGlmIChkZWZpbmVkIF9fY3BsdXNwbHVzKSAmJiAoX19jcGx1c3Bs
dXMgPT0gMjAxMTAzTCkKICMgICBkZWZpbmUgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIKQEAg
LTM5NiwxMyArMzg4LDggQEAgY2xhc3Mgb3B0aW9uYWwgOiBwcml2YXRlIE9wdGlvbmFsQmFzZTxU
PgogCiAjIGlmIE9QVElPTkFMX0hBU19USElTX1JWQUxVRV9SRUZTID09IDEKICAgY29uc3RleHBy
IGNvbnN0IFQmIGNvbnRhaW5lZF92YWwoKSBjb25zdCYgeyByZXR1cm4gT3B0aW9uYWxCYXNlPFQ+
OjpzdG9yYWdlXy52YWx1ZV87IH0KLSMgICBpZiBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMg
PT0gMQogICBPUFRJT05BTF9NVVRBQkxFX0NPTlNURVhQUiBUJiYgY29udGFpbmVkX3ZhbCgpICYm
IHsgcmV0dXJuIHN0ZDo6bW92ZShPcHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXyk7IH0K
ICAgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIgVCYgY29udGFpbmVkX3ZhbCgpICYgeyByZXR1
cm4gT3B0aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV87IH0KLSMgICBlbHNlCi0gIFQmIGNv
bnRhaW5lZF92YWwoKSAmIHsgcmV0dXJuIE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFnZV8udmFsdWVf
OyB9Ci0gIFQmJiBjb250YWluZWRfdmFsKCkgJiYgeyByZXR1cm4gc3RkOjptb3ZlKE9wdGlvbmFs
QmFzZTxUPjo6c3RvcmFnZV8udmFsdWVfKTsgfQotIyAgIGVuZGlmCiAjIGVsc2UKICAgY29uc3Rl
eHByIGNvbnN0IFQmIGNvbnRhaW5lZF92YWwoKSBjb25zdCB7IHJldHVybiBPcHRpb25hbEJhc2U8
VD46OnN0b3JhZ2VfLnZhbHVlXzsgfQogICBUJiBjb250YWluZWRfdmFsKCkgeyByZXR1cm4gT3B0
aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV87IH0KQEAgLTUzOCw4ICs1MjUsNiBAQCBwdWJs
aWM6CiAgICAgcmV0dXJuIFRSMl9PUFRJT05BTF9BU1NFUlRFRF9FWFBSRVNTSU9OKGluaXRpYWxp
emVkKCksIGRhdGFwdHIoKSk7CiAgIH0KIAotIyBpZiBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NP
UlMgPT0gMQotCiAgIE9QVElPTkFMX01VVEFCTEVfQ09OU1RFWFBSIFQqIG9wZXJhdG9yIC0+KCkg
ewogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwgYXNzZXJ0IGZ1bmN0aW9u
IHRoYXQgY2FuIGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRleHQuCiAgICAgLy8gQ09O
U1RFWFBSX0FTU0VSVChpbml0aWFsaXplZCgpKTsKQEAgLTU4MCwzNiArNTY1LDYgQEAgcHVibGlj
OgogICAgIHJldHVybiBzdGQ6Om1vdmUoY29udGFpbmVkX3ZhbCgpKTsKICAgfQogCi0jIGVsc2UK
LQotICBUKiBvcGVyYXRvciAtPigpIHsKLSAgICBhc3NlcnQgKGluaXRpYWxpemVkKCkpOwotICAg
IHJldHVybiBkYXRhcHRyKCk7Ci0gIH0KLQotICBjb25zdGV4cHIgVCBjb25zdCYgb3BlcmF0b3Ig
KigpIGNvbnN0IHsKLSAgICByZXR1cm4gVFIyX09QVElPTkFMX0FTU0VSVEVEX0VYUFJFU1NJT04o
aW5pdGlhbGl6ZWQoKSwgY29udGFpbmVkX3ZhbCgpKTsKLSAgfQotCi0gIFQmIG9wZXJhdG9yICoo
KSB7Ci0gICAgYXNzZXJ0IChpbml0aWFsaXplZCgpKTsKLSAgICByZXR1cm4gY29udGFpbmVkX3Zh
bCgpOwotICB9Ci0KLSAgY29uc3RleHByIFQgY29uc3QmIHZhbHVlKCkgY29uc3QgewotICAgIC8v
IEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwgYXNzZXJ0IGZ1bmN0aW9uIHRoYXQgY2Fu
IGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRleHQuCi0gICAgLy8gcmV0dXJuIGluaXRp
YWxpemVkKCkgPyBjb250YWluZWRfdmFsKCkgOiAodGhyb3cgYmFkX29wdGlvbmFsX2FjY2Vzcygi
YmFkIG9wdGlvbmFsIGFjY2VzcyIpLCBjb250YWluZWRfdmFsKCkpOwotICAgIHJldHVybiBjb250
YWluZWRfdmFsKCk7Ci0gIH0KLQotICBUJiB2YWx1ZSgpIHsKLSAgICAvLyBGSVhNRTogV2UgbmVl
ZCB0byBvZmZlciBzcGVjaWFsIGFzc2VydCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHVuZGVy
IHRoZSBjb250ZXhwciBjb250ZXh0LgotICAgIC8vIHJldHVybiBpbml0aWFsaXplZCgpID8gY29u
dGFpbmVkX3ZhbCgpIDogKHRocm93IGJhZF9vcHRpb25hbF9hY2Nlc3MoImJhZCBvcHRpb25hbCBh
Y2Nlc3MiKSwgY29udGFpbmVkX3ZhbCgpKTsKLSAgICByZXR1cm4gY29udGFpbmVkX3ZhbCgpOwot
ICB9Ci0KLSMgZW5kaWYKLQogIyBpZiBPUFRJT05BTF9IQVNfVEhJU19SVkFMVUVfUkVGUyA9PSAx
CiAKICAgdGVtcGxhdGUgPGNsYXNzIFY+CkBAIC02MTgsMjQgKzU3MywxMiBAQCBwdWJsaWM6CiAg
ICAgcmV0dXJuICp0aGlzID8gKip0aGlzIDogZGV0YWlsXzo6Y29udmVydDxUPihkZXRhaWxfOjpj
b25zdGV4cHJfZm9yd2FyZDxWPih2KSk7CiAgIH0KIAotIyAgIGlmIE9QVElPTkFMX0hBU19NT1ZF
X0FDQ0VTU09SUyA9PSAxCi0KICAgdGVtcGxhdGUgPGNsYXNzIFY+CiAgIE9QVElPTkFMX01VVEFC
TEVfQ09OU1RFWFBSIFQgdmFsdWVfb3IoViYmIHYpICYmCiAgIHsKICAgICByZXR1cm4gKnRoaXMg
PyBkZXRhaWxfOjpjb25zdGV4cHJfbW92ZShjb25zdF9jYXN0PG9wdGlvbmFsPFQ+Jj4oKnRoaXMp
LmNvbnRhaW5lZF92YWwoKSkgOiBkZXRhaWxfOjpjb252ZXJ0PFQ+KGRldGFpbF86OmNvbnN0ZXhw
cl9mb3J3YXJkPFY+KHYpKTsKICAgfQogCi0jICAgZWxzZQotCi0gIHRlbXBsYXRlIDxjbGFzcyBW
PgotICBUIHZhbHVlX29yKFYmJiB2KSAmJgotICB7Ci0gICAgcmV0dXJuICp0aGlzID8gZGV0YWls
Xzo6Y29uc3RleHByX21vdmUoY29uc3RfY2FzdDxvcHRpb25hbDxUPiY+KCp0aGlzKS5jb250YWlu
ZWRfdmFsKCkpIDogZGV0YWlsXzo6Y29udmVydDxUPihkZXRhaWxfOjpjb25zdGV4cHJfZm9yd2Fy
ZDxWPih2KSk7Ci0gIH0KLQotIyAgIGVuZGlmCi0KICMgZWxzZQogCiAgIHRlbXBsYXRlIDxjbGFz
cyBWPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmLmggYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaAppbmRleCAxYWFkNzZmLi4zYjMxNThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9S
ZWYuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWYuaApAQCAtMTI1LDEyICsxMjUsOCBAQCBwdWJs
aWM6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBYLCB0eXBlbmFtZSBZPiBSZWY8VCwgUHRyVHJh
aXRzPiByZXBsYWNlKFJlZjxYLCBZPiYmKSBXQVJOX1VOVVNFRF9SRVRVUk47CiAKLSNpZiBDT01Q
SUxFUl9TVVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpCiAgICAgUmVm
IGNvcHlSZWYoKSAmJiA9IGRlbGV0ZTsKICAgICBSZWYgY29weVJlZigpIGNvbnN0ICYgV0FSTl9V
TlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZigqbV9wdHIpOyB9Ci0jZWxzZQotICAgIFJlZiBjb3B5
UmVmKCkgY29uc3QgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZigqbV9wdHIpOyB9Ci0j
ZW5kaWYKIAogICAgIFQmIGxlYWtSZWYoKSBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5o
CmluZGV4IDYzNjVmNjQuLjUyMjA4NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZQ
dHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaApAQCAtOTksMTIgKzk5LDggQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIFQqIGhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIHsgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1JF
RkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TKQogICAgIFJlZlB0ciBjb3B5UmVmKCkgJiYgPSBk
ZWxldGU7CiAgICAgUmVmUHRyIGNvcHlSZWYoKSBjb25zdCAmIFdBUk5fVU5VU0VEX1JFVFVSTiB7
IHJldHVybiBSZWZQdHIobV9wdHIpOyB9Ci0jZWxzZQotICAgIFJlZlB0ciBjb3B5UmVmKCkgY29u
c3QgV0FSTl9VTlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZlB0cihtX3B0cik7IH0KLSNlbmRpZgog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBSZWZQdHIgYWRvcHRSZWY8VCwgUHRyVHJhaXRzPihUKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKaW5kZXggNzI3MzNmZS4uNWZlNzUyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmNwcApAQCAtNjc4LDggKzY3OCw2IEBAIGZsb2F0IFN0cmluZzo6
dG9GbG9hdChib29sKiBvaykgY29uc3QKICAgICByZXR1cm4gbV9pbXBsLT50b0Zsb2F0KG9rKTsK
IH0KIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNU
SU9OUykKLQogU3RyaW5nIFN0cmluZzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QgJgogewogICAgIC8v
IEZJWE1FOiBTaG91bGQgdGhpcyBmdW5jdGlvbiwgYW5kIHRoZSBtYW55IG90aGVycyBsaWtlIGl0
LCBiZSBpbmxpbmVkPwpAQCAtNjk3LDE2ICs2OTUsNiBAQCBTdHJpbmcgU3RyaW5nOjppc29sYXRl
ZENvcHkoKSAmJgogICAgIHJldHVybiBtX2ltcGwgPyBtX2ltcGwtPmlzb2xhdGVkQ29weSgpIDog
U3RyaW5nIHsgfTsKIH0KIAotI2Vsc2UKLQotU3RyaW5nIFN0cmluZzo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKLXsKLSAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgZnVuY3Rpb24sIGFuZCB0aGUgbWFu
eSBvdGhlcnMgbGlrZSBpdCwgYmUgaW5saW5lZD8KLSAgICByZXR1cm4gbV9pbXBsID8gbV9pbXBs
LT5pc29sYXRlZENvcHkoKSA6IFN0cmluZyB7IH07Ci19Ci0KLSNlbmRpZgotCiBib29sIFN0cmlu
Zzo6aXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFkKCkgY29uc3QKIHsKICAgICAvLyBBdG9taWNT
dHJpbmdzIGFyZSBub3Qgc2FmZSB0byBzZW5kIGJldHdlZW4gdGhyZWFkcyBhcyB+U3RyaW5nSW1w
bCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNl
L1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCBiNDg3ZDBhLi5lMTFkMmNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvV1RGU3RyaW5nLmgKQEAgLTI5OSwxMiArMjk5LDggQEAgcHVibGljOgogCiAgICAgYm9v
bCBwZXJjZW50YWdlKGludCYgcGVyY2VudGFnZSkgY29uc3Q7CiAKLSNpZiBDT01QSUxFUl9TVVBQ
T1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpCiAgICAgV1RGX0VYUE9SVF9Q
UklWQVRFIFN0cmluZyBpc29sYXRlZENvcHkoKSBjb25zdCAmOwogICAgIFdURl9FWFBPUlRfUFJJ
VkFURSBTdHJpbmcgaXNvbGF0ZWRDb3B5KCkgJiY7Ci0jZWxzZQotICAgIFdURl9FWFBPUlRfUFJJ
VkFURSBTdHJpbmcgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7Ci0jZW5kaWYKIAogICAgIFdURl9FWFBP
UlRfUFJJVkFURSBib29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRVbmlvbi5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0VW5pb24uaAppbmRleCAz
MWE0ZjMyLi5hZTgzOTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUNvbnZlcnRVbmlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
Q29udmVydFVuaW9uLmgKQEAgLTE3Miw3ICsxNzIsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
PiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1bHRDb252ZXJ0ZXI8SURM
VQogICAgICAgICBjb25zdGV4cHIgYm9vbCBoYXNOdWxsVHlwZSA9IGJyaWdhbmQ6OmFueTxUeXBl
TGlzdCwgc3RkOjppc19zYW1lPElETE51bGwsIGJyaWdhbmQ6Ol8xPj46OnZhbHVlOwogICAgICAg
ICBpZiAoaGFzTnVsbFR5cGUpIHsKICAgICAgICAgICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9y
TnVsbCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1vdmU8V1RGOjpDaGVja01vdmVQ
YXJhbWV0ZXI+KENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUsIElETE51bGwsIGhhc051
bGxUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVlKCkpOworICAgICAgICAgICAgICAg
IHJldHVybiBDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5UeXBlLCBJRExOdWxsLCBoYXNOdWxs
VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpOwogICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICAvLyAyLiBMZXQgdHlwZXMgYmUgdGhlIGZsYXR0ZW5lZCBtZW1iZXIgdHlwZXMg
b2YgdGhlIHVuaW9uIHR5cGUuCi0tIAoyLjkuMwoK
</data>
<flag name="commit-queue"
          id="355355"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336874</attachid>
            <date>2018-03-30 11:39:35 -0700</date>
            <delta_ts>2018-03-30 12:17:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Remove-CXX_REFERENCE_QUALIFIED_FUNCTIONS-and-optiona.patch</filename>
            <type>text/plain</type>
            <size>19073</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBlMjljNDM3MGU4YjM1ZGQ1NzliMjQwOGY4MTQyODMzYWI5ZjUyNjNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDI5IE1hciAyMDE4IDE4OjMyOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl
IENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyBhbmQgb3B0aW9uYWwncwogZXF1aXZh
bGVudAoKLS0tCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgMjQgKysrKysrKysrKysKIFNvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggICAgICAgICAgICAg
ICAgICAgICAgfCAgMyAtLQogU291cmNlL1dURi93dGYvT3B0aW9uYWwuaCAgICAgICAgICAgICAg
ICAgICAgICB8IDU3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBTb3VyY2UvV1RGL3d0Zi9S
ZWYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgLS0KIFNvdXJjZS9XVEYvd3RmL1Jl
ZlB0ci5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAtLQogU291cmNlL1dURi93dGYvdGV4
dC9XVEZTdHJpbmcuY3BwICAgICAgICAgICAgICB8IDEyIC0tLS0tLQogU291cmNlL1dURi93dGYv
dGV4dC9XVEZTdHJpbmcuaCAgICAgICAgICAgICAgICB8ICA0IC0tCiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRVbmlvbi5oIHwgMzYgKysrKysrKystLS0tLS0tLQogOCBm
aWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxMDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA2
NTA5OTY2Li5mMjg4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTAzLTI5ICBKRiBCYXN0
aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQ1hYX1JFRkVSRU5D
RV9RVUFMSUZJRURfRlVOQ1RJT05TIGFuZCBvcHRpb25hbCdzIGVxdWl2YWxlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDE2NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzkwMjMxMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1
enVraS4KKworICAgICAgICBSZW1vdmUgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1JFRkVSRU5DRV9R
VUFMSUZJRURfRlVOQ1RJT05TKSwgaXQncworICAgICAgICBzdXBwb3J0ZWQgYnkgYWxsIGNvbXBp
bGVycyBXZWJLaXQgc3VwcG9ydHMgKGl0J3MgYSBDKysxMSBmZWF0dXJlLAorICAgICAgICAqZGV0
ZWN0aW9uKiBvZiBpdCB3aXRoIF9faGFzX2V4dGVuc2lvbiB3YXMgYWRkZWQgdG8gY2xhbmcgb24g
TWF5CisgICAgICAgIDEzdGggMjAxMSwgYW5kIFZTMjAxNSAvIEdDQyBzdXBwb3J0IGl0KS4KKwor
ICAgICAgICBPcHRpb25hbC5oIGhhZCBhIHNpbWlsYXIgdGhpbmcsIGRpdGNoIGl0IHRvby4KKwor
ICAgICAgICAqIHd0Zi9Db21waWxlci5oOgorICAgICAgICAqIHd0Zi9PcHRpb25hbC5oOgorICAg
ICAgICAoc3RkOjpvcHRpb25hbDo6Y29udGFpbmVkX3ZhbCBjb25zdCk6CisgICAgICAgIChzdGQ6
Om9wdGlvbmFsOjpjb250YWluZWRfdmFsKToKKyAgICAgICAgKiB3dGYvUmVmLmg6CisgICAgICAg
ICogd3RmL1JlZlB0ci5oOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5jcHA6CisgICAg
ICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6CisKIDIwMTgtMDMtMzAgIEpGIEJhc3RpZW4gIDxq
ZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBXVEZfTEFaWV9JTlNUQU5U
SUFURQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYv
d3RmL0NvbXBpbGVyLmgKaW5kZXggMzNiODAzOC4uMzFhNGYzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC02
Niw3ICs2Niw2IEBACiAjZGVmaW5lIFdURl9DT01QSUxFUl9DTEFORyAxCiAjZGVmaW5lIFdURl9D
T01QSUxFUl9TVVBQT1JUU19CTE9DS1MgQ09NUElMRVJfSEFTX0NMQU5HX0ZFQVRVUkUoYmxvY2tz
KQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ19TVEFUSUNfQVNTRVJUIENPTVBJTEVS
X0hBU19DTEFOR19GRUFUVVJFKGNfc3RhdGljX2Fzc2VydCkKLSNkZWZpbmUgV1RGX0NPTVBJTEVS
X1NVUFBPUlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyBDT01QSUxFUl9IQVNf
Q0xBTkdfRkVBVFVSRShjeHhfcmVmZXJlbmNlX3F1YWxpZmllZF9mdW5jdGlvbnMpCiAjZGVmaW5l
IFdURl9DT01QSUxFUl9TVVBQT1JUU19DWFhfRVhDRVBUSU9OUyBDT01QSUxFUl9IQVNfQ0xBTkdf
RkVBVFVSRShjeHhfZXhjZXB0aW9ucykKICNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0JV
SUxUSU5fSVNfVFJJVklBTExZX0NPUFlBQkxFIENPTVBJTEVSX0hBU19DTEFOR19GRUFUVVJFKGlz
X3RyaXZpYWxseV9jb3B5YWJsZSkKIApAQCAtODksNyArODgsNiBAQAogLyogTm90ZTogVGhpcyBz
ZWN0aW9uIG11c3QgY29tZSBhZnRlciB0aGUgQ2xhbmcgc2VjdGlvbiBzaW5jZSB3ZSBjaGVjayAh
Q09NUElMRVIoQ0xBTkcpIGhlcmUuICovCiAjaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiAh
Q09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIFdURl9DT01QSUxFUl9HQ0MgMQotI2RlZmluZSBXVEZf
Q09NUElMRVJfU1VQUE9SVFNfQ1hYX1JFRkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TIDEKIAog
I2RlZmluZSBHQ0NfVkVSU0lPTiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICog
MTAwICsgX19HTlVDX1BBVENITEVWRUxfXykKICNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1Qo
bWFqb3IsIG1pbm9yLCBwYXRjaCkgKEdDQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwICsgbWlu
b3IgKiAxMDAgKyBwYXRjaCkpCkBAIC0xMjgsNyArMTI2LDYgQEAKICNpZiBkZWZpbmVkKF9NU0Nf
VkVSKQogCiAjZGVmaW5lIFdURl9DT01QSUxFUl9NU1ZDIDEKLSNkZWZpbmUgV1RGX0NPTVBJTEVS
X1NVUFBPUlRTX0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyAxCiAKICNpZiBfTVND
X1ZFUiA8IDE5MTAKICNlcnJvciAiUGxlYXNlIHVzZSBhIG5ld2VyIHZlcnNpb24gb2YgVmlzdWFs
IFN0dWRpby4gV2ViS2l0IHJlcXVpcmVzIFZTMjAxNyBvciBuZXdlciB0byBjb21waWxlLiIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09wdGlvbmFsLmggYi9Tb3VyY2UvV1RGL3d0Zi9PcHRp
b25hbC5oCmluZGV4IGQ5ZTU4ZDcuLmEzZmM1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L09wdGlvbmFsLmgKKysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaApAQCAtMTEzLDE0ICsx
MTMsNiBAQAogIyAgIGRlZmluZSBPUFRJT05BTF9DT05TVEVYUFJfSU5JVF9MSVNUCiAjIGVuZGlm
CiAKLS8vIEZJWE1FOiBUbyBtYWtlIHRoZSByZXN1bHQgb2YgdmFsdWUoKSB0eXBlIGNvbnNpc3Rl
bnQgYW1vbmcgdGhlIGNvbXBpbGVycywgd2Ugbm93IGludGVudGlvbmFsbHkgZGlzYWJsZXMgbW92
ZSBhY2Nlc3NvcnMuCi0jICAgZGVmaW5lIE9QVElPTkFMX0hBU19NT1ZFX0FDQ0VTU09SUyAwCi0v
LyAjIGlmIGRlZmluZWQgVFIyX09QVElPTkFMX0NMQU5HXzNfNV9BTkRfSElHSFRFUl8gJiYgKGRl
ZmluZWQgX19jcGx1c3BsdXMpICYmIChfX2NwbHVzcGx1cyAhPSAyMDExMDNMKQotLy8gIyAgIGRl
ZmluZSBPUFRJT05BTF9IQVNfTU9WRV9BQ0NFU1NPUlMgMQotLy8gIyBlbHNlCi0vLyAjICAgZGVm
aW5lIE9QVElPTkFMX0hBU19NT1ZFX0FDQ0VTU09SUyAwCi0vLyAjIGVuZGlmCi0KICMgLy8gSW4g
QysrMTEgY29uc3RleHByIGltcGxpZXMgY29uc3QsIHNvIHdlIG5lZWQgdG8gbWFrZSBub24tY29u
c3QgbWVtYmVycyBhbHNvIG5vbi1jb25zdGV4cHIKICMgaWYgKGRlZmluZWQgX19jcGx1c3BsdXMp
ICYmIChfX2NwbHVzcGx1cyA9PSAyMDExMDNMKQogIyAgIGRlZmluZSBPUFRJT05BTF9NVVRBQkxF
X0NPTlNURVhQUgpAQCAtMzk2LDEzICszODgsOCBAQCBjbGFzcyBvcHRpb25hbCA6IHByaXZhdGUg
T3B0aW9uYWxCYXNlPFQ+CiAKICMgaWYgT1BUSU9OQUxfSEFTX1RISVNfUlZBTFVFX1JFRlMgPT0g
MQogICBjb25zdGV4cHIgY29uc3QgVCYgY29udGFpbmVkX3ZhbCgpIGNvbnN0JiB7IHJldHVybiBP
cHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXzsgfQotIyAgIGlmIE9QVElPTkFMX0hBU19N
T1ZFX0FDQ0VTU09SUyA9PSAxCiAgIE9QVElPTkFMX01VVEFCTEVfQ09OU1RFWFBSIFQmJiBjb250
YWluZWRfdmFsKCkgJiYgeyByZXR1cm4gc3RkOjptb3ZlKE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFn
ZV8udmFsdWVfKTsgfQogICBPUFRJT05BTF9NVVRBQkxFX0NPTlNURVhQUiBUJiBjb250YWluZWRf
dmFsKCkgJiB7IHJldHVybiBPcHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXzsgfQotIyAg
IGVsc2UKLSAgVCYgY29udGFpbmVkX3ZhbCgpICYgeyByZXR1cm4gT3B0aW9uYWxCYXNlPFQ+Ojpz
dG9yYWdlXy52YWx1ZV87IH0KLSAgVCYmIGNvbnRhaW5lZF92YWwoKSAmJiB7IHJldHVybiBzdGQ6
Om1vdmUoT3B0aW9uYWxCYXNlPFQ+OjpzdG9yYWdlXy52YWx1ZV8pOyB9Ci0jICAgZW5kaWYKICMg
ZWxzZQogICBjb25zdGV4cHIgY29uc3QgVCYgY29udGFpbmVkX3ZhbCgpIGNvbnN0IHsgcmV0dXJu
IE9wdGlvbmFsQmFzZTxUPjo6c3RvcmFnZV8udmFsdWVfOyB9CiAgIFQmIGNvbnRhaW5lZF92YWwo
KSB7IHJldHVybiBPcHRpb25hbEJhc2U8VD46OnN0b3JhZ2VfLnZhbHVlXzsgfQpAQCAtNTM4LDgg
KzUyNSw2IEBAIHB1YmxpYzoKICAgICByZXR1cm4gVFIyX09QVElPTkFMX0FTU0VSVEVEX0VYUFJF
U1NJT04oaW5pdGlhbGl6ZWQoKSwgZGF0YXB0cigpKTsKICAgfQogCi0jIGlmIE9QVElPTkFMX0hB
U19NT1ZFX0FDQ0VTU09SUyA9PSAxCi0KICAgT1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIgVCog
b3BlcmF0b3IgLT4oKSB7CiAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gb2ZmZXIgc3BlY2lhbCBh
c3NlcnQgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB1bmRlciB0aGUgY29udGV4cHIgY29udGV4
dC4KICAgICAvLyBDT05TVEVYUFJfQVNTRVJUKGluaXRpYWxpemVkKCkpOwpAQCAtNTgwLDM2ICs1
NjUsNiBAQCBwdWJsaWM6CiAgICAgcmV0dXJuIHN0ZDo6bW92ZShjb250YWluZWRfdmFsKCkpOwog
ICB9CiAKLSMgZWxzZQotCi0gIFQqIG9wZXJhdG9yIC0+KCkgewotICAgIGFzc2VydCAoaW5pdGlh
bGl6ZWQoKSk7Ci0gICAgcmV0dXJuIGRhdGFwdHIoKTsKLSAgfQotCi0gIGNvbnN0ZXhwciBUIGNv
bnN0JiBvcGVyYXRvciAqKCkgY29uc3QgewotICAgIHJldHVybiBUUjJfT1BUSU9OQUxfQVNTRVJU
RURfRVhQUkVTU0lPTihpbml0aWFsaXplZCgpLCBjb250YWluZWRfdmFsKCkpOwotICB9Ci0KLSAg
VCYgb3BlcmF0b3IgKigpIHsKLSAgICBhc3NlcnQgKGluaXRpYWxpemVkKCkpOwotICAgIHJldHVy
biBjb250YWluZWRfdmFsKCk7Ci0gIH0KLQotICBjb25zdGV4cHIgVCBjb25zdCYgdmFsdWUoKSBj
b25zdCB7Ci0gICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gb2ZmZXIgc3BlY2lhbCBhc3NlcnQgZnVu
Y3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB1bmRlciB0aGUgY29udGV4cHIgY29udGV4dC4KLSAgICAv
LyByZXR1cm4gaW5pdGlhbGl6ZWQoKSA/IGNvbnRhaW5lZF92YWwoKSA6ICh0aHJvdyBiYWRfb3B0
aW9uYWxfYWNjZXNzKCJiYWQgb3B0aW9uYWwgYWNjZXNzIiksIGNvbnRhaW5lZF92YWwoKSk7Ci0g
ICAgcmV0dXJuIGNvbnRhaW5lZF92YWwoKTsKLSAgfQotCi0gIFQmIHZhbHVlKCkgewotICAgIC8v
IEZJWE1FOiBXZSBuZWVkIHRvIG9mZmVyIHNwZWNpYWwgYXNzZXJ0IGZ1bmN0aW9uIHRoYXQgY2Fu
IGJlIHVzZWQgdW5kZXIgdGhlIGNvbnRleHByIGNvbnRleHQuCi0gICAgLy8gcmV0dXJuIGluaXRp
YWxpemVkKCkgPyBjb250YWluZWRfdmFsKCkgOiAodGhyb3cgYmFkX29wdGlvbmFsX2FjY2Vzcygi
YmFkIG9wdGlvbmFsIGFjY2VzcyIpLCBjb250YWluZWRfdmFsKCkpOwotICAgIHJldHVybiBjb250
YWluZWRfdmFsKCk7Ci0gIH0KLQotIyBlbmRpZgotCiAjIGlmIE9QVElPTkFMX0hBU19USElTX1JW
QUxVRV9SRUZTID09IDEKIAogICB0ZW1wbGF0ZSA8Y2xhc3MgVj4KQEAgLTYxOCwyNCArNTczLDEy
IEBAIHB1YmxpYzoKICAgICByZXR1cm4gKnRoaXMgPyAqKnRoaXMgOiBkZXRhaWxfOjpjb252ZXJ0
PFQ+KGRldGFpbF86OmNvbnN0ZXhwcl9mb3J3YXJkPFY+KHYpKTsKICAgfQogCi0jICAgaWYgT1BU
SU9OQUxfSEFTX01PVkVfQUNDRVNTT1JTID09IDEKLQogICB0ZW1wbGF0ZSA8Y2xhc3MgVj4KICAg
T1BUSU9OQUxfTVVUQUJMRV9DT05TVEVYUFIgVCB2YWx1ZV9vcihWJiYgdikgJiYKICAgewogICAg
IHJldHVybiAqdGhpcyA/IGRldGFpbF86OmNvbnN0ZXhwcl9tb3ZlKGNvbnN0X2Nhc3Q8b3B0aW9u
YWw8VD4mPigqdGhpcykuY29udGFpbmVkX3ZhbCgpKSA6IGRldGFpbF86OmNvbnZlcnQ8VD4oZGV0
YWlsXzo6Y29uc3RleHByX2ZvcndhcmQ8Vj4odikpOwogICB9CiAKLSMgICBlbHNlCi0KLSAgdGVt
cGxhdGUgPGNsYXNzIFY+Ci0gIFQgdmFsdWVfb3IoViYmIHYpICYmCi0gIHsKLSAgICByZXR1cm4g
KnRoaXMgPyBkZXRhaWxfOjpjb25zdGV4cHJfbW92ZShjb25zdF9jYXN0PG9wdGlvbmFsPFQ+Jj4o
KnRoaXMpLmNvbnRhaW5lZF92YWwoKSkgOiBkZXRhaWxfOjpjb252ZXJ0PFQ+KGRldGFpbF86OmNv
bnN0ZXhwcl9mb3J3YXJkPFY+KHYpKTsKLSAgfQotCi0jICAgZW5kaWYKLQogIyBlbHNlCiAKICAg
dGVtcGxhdGUgPGNsYXNzIFY+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWYuaCBiL1Nv
dXJjZS9XVEYvd3RmL1JlZi5oCmluZGV4IDFhYWQ3NmYuLjNiMzE1OGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1JlZi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZi5oCkBAIC0xMjUsMTIg
KzEyNSw4IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFgsIHR5cGVuYW1lIFk+
IFJlZjxULCBQdHJUcmFpdHM+IHJlcGxhY2UoUmVmPFgsIFk+JiYpIFdBUk5fVU5VU0VEX1JFVFVS
TjsKIAotI2lmIENPTVBJTEVSX1NVUFBPUlRTKENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNU
SU9OUykKICAgICBSZWYgY29weVJlZigpICYmID0gZGVsZXRlOwogICAgIFJlZiBjb3B5UmVmKCkg
Y29uc3QgJiBXQVJOX1VOVVNFRF9SRVRVUk4geyByZXR1cm4gUmVmKCptX3B0cik7IH0KLSNlbHNl
Ci0gICAgUmVmIGNvcHlSZWYoKSBjb25zdCBXQVJOX1VOVVNFRF9SRVRVUk4geyByZXR1cm4gUmVm
KCptX3B0cik7IH0KLSNlbmRpZgogCiAgICAgVCYgbGVha1JlZigpIFdBUk5fVU5VU0VEX1JFVFVS
TgogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5oIGIvU291cmNlL1dU
Ri93dGYvUmVmUHRyLmgKaW5kZXggNjM2NWY2NC4uNTIyMDg1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1JlZlB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCkBAIC05OSwx
MiArOTksOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgVCogaGFzaFRhYmxlRGVsZXRlZFZhbHVl
KCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oLTEpOyB9CiAKLSNpZiBDT01QSUxFUl9T
VVBQT1JUUyhDWFhfUkVGRVJFTkNFX1FVQUxJRklFRF9GVU5DVElPTlMpCiAgICAgUmVmUHRyIGNv
cHlSZWYoKSAmJiA9IGRlbGV0ZTsKICAgICBSZWZQdHIgY29weVJlZigpIGNvbnN0ICYgV0FSTl9V
TlVTRURfUkVUVVJOIHsgcmV0dXJuIFJlZlB0cihtX3B0cik7IH0KLSNlbHNlCi0gICAgUmVmUHRy
IGNvcHlSZWYoKSBjb25zdCBXQVJOX1VOVVNFRF9SRVRVUk4geyByZXR1cm4gUmVmUHRyKG1fcHRy
KTsgfQotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIFJlZlB0ciBhZG9wdFJlZjxULCBQ
dHJUcmFpdHM+KFQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5n
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAppbmRleCA3MjczM2ZlLi41
ZmU3NTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCkBAIC02NzgsOCArNjc4LDYgQEAg
ZmxvYXQgU3RyaW5nOjp0b0Zsb2F0KGJvb2wqIG9rKSBjb25zdAogICAgIHJldHVybiBtX2ltcGwt
PnRvRmxvYXQob2spOwogfQogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1JFRkVSRU5DRV9R
VUFMSUZJRURfRlVOQ1RJT05TKQotCiBTdHJpbmcgU3RyaW5nOjppc29sYXRlZENvcHkoKSBjb25z
dCAmCiB7CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIGZ1bmN0aW9uLCBhbmQgdGhlIG1hbnkg
b3RoZXJzIGxpa2UgaXQsIGJlIGlubGluZWQ/CkBAIC02OTcsMTYgKzY5NSw2IEBAIFN0cmluZyBT
dHJpbmc6Omlzb2xhdGVkQ29weSgpICYmCiAgICAgcmV0dXJuIG1faW1wbCA/IG1faW1wbC0+aXNv
bGF0ZWRDb3B5KCkgOiBTdHJpbmcgeyB9OwogfQogCi0jZWxzZQotCi1TdHJpbmcgU3RyaW5nOjpp
c29sYXRlZENvcHkoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyBmdW5jdGlv
biwgYW5kIHRoZSBtYW55IG90aGVycyBsaWtlIGl0LCBiZSBpbmxpbmVkPwotICAgIHJldHVybiBt
X2ltcGwgPyBtX2ltcGwtPmlzb2xhdGVkQ29weSgpIDogU3RyaW5nIHsgfTsKLX0KLQotI2VuZGlm
Ci0KIGJvb2wgU3RyaW5nOjppc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdAogewog
ICAgIC8vIEF0b21pY1N0cmluZ3MgYXJlIG5vdCBzYWZlIHRvIHNlbmQgYmV0d2VlbiB0aHJlYWRz
IGFzIH5TdHJpbmdJbXBsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCmluZGV4IGI0ODdkMGEuLmUx
MWQyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaApAQCAtMjk5LDEyICsyOTksOCBAQCBwdWJs
aWM6CiAKICAgICBib29sIHBlcmNlbnRhZ2UoaW50JiBwZXJjZW50YWdlKSBjb25zdDsKIAotI2lm
IENPTVBJTEVSX1NVUFBPUlRTKENYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUykKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGlzb2xhdGVkQ29weSgpIGNvbnN0ICY7CiAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBpc29sYXRlZENvcHkoKSAmJjsKLSNlbHNlCi0gICAg
V1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKLSNlbmRpZgog
CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNTYWZlVG9TZW5kVG9Bbm90aGVyVGhyZWFk
KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
Q29udmVydFVuaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRV
bmlvbi5oCmluZGV4IDMxYTRmMzIuLjdiYTkxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydFVuaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Db252ZXJ0VW5pb24uaApAQCAtMTcyLDcgKzE3Miw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIFQ+IHN0cnVjdCBDb252ZXJ0ZXI8SURMVW5pb248VC4uLj4+IDogRGVmYXVs
dENvbnZlcnRlcjxJRExVCiAgICAgICAgIGNvbnN0ZXhwciBib29sIGhhc051bGxUeXBlID0gYnJp
Z2FuZDo6YW55PFR5cGVMaXN0LCBzdGQ6OmlzX3NhbWU8SURMTnVsbCwgYnJpZ2FuZDo6XzE+Pjo6
dmFsdWU7CiAgICAgICAgIGlmIChoYXNOdWxsVHlwZSkgewogICAgICAgICAgICAgaWYgKHZhbHVl
LmlzVW5kZWZpbmVkT3JOdWxsKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bW92ZTxX
VEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwg
SURMTnVsbCwgaGFzTnVsbFR5cGU+Ojpjb252ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUoKSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUsIElE
TE51bGwsIGhhc051bGxUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVlKCk7CiAgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIDIuIExldCB0eXBlcyBiZSB0aGUgZmxhdHRlbmVk
IG1lbWJlciB0eXBlcyBvZiB0aGUgdW5pb24gdHlwZS4KQEAgLTE4Miw3ICsxODIsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBUPiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERl
ZmF1bHRDb252ZXJ0ZXI8SURMVQogICAgICAgICBpZiAoaGFzRGljdGlvbmFyeVR5cGUpIHsKICAg
ICAgICAgICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gICAgIDEuIElmIHR5cGVzIGluY2x1ZGVzIGEgZGljdGlvbmFyeSB0eXBlLCB0aGVuIHJl
dHVybiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgViB0byB0aGF0IGRpY3Rpb25hcnkgdHlwZS4K
LSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVy
PihDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5UeXBlLCBEaWN0aW9uYXJ5VHlwZSwgaGFzRGlj
dGlvbmFyeVR5cGU+Ojpjb252ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUoKSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUsIERpY3Rpb25hcnlU
eXBlLCBoYXNEaWN0aW9uYXJ5VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTIzMCw4ICsyMzAsOCBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZS4uLiBUPiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1bHRD
b252ZXJ0ZXI8SURMVQogICAgICAgICAgICAgYXV0byBhcnJheUJ1ZmZlciA9IEpTQzo6SlNBcnJh
eUJ1ZmZlcjo6dG9XcmFwcGVkKHZtLCB2YWx1ZSk7CiAgICAgICAgICAgICBpZiAoYXJyYXlCdWZm
ZXIpIHsKICAgICAgICAgICAgICAgICBpZiAoaGFzQXJyYXlCdWZmZXJUeXBlKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25k
aXRpb25hbFJldHVybmVyPFJldHVyblR5cGUsIGhhc0FycmF5QnVmZmVyVHlwZT46OmdldChXVEZN
b3ZlKGFycmF5QnVmZmVyKSkudmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bW92ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJu
VHlwZSwgT2JqZWN0VHlwZSwgaGFzT2JqZWN0VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52
YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFsUmV0dXJuZXI8
UmV0dXJuVHlwZSwgaGFzQXJyYXlCdWZmZXJUeXBlPjo6Z2V0KFdURk1vdmUoYXJyYXlCdWZmZXIp
KS52YWx1ZSgpOworICAgICAgICAgICAgICAgIHJldHVybiBDb25kaXRpb25hbENvbnZlcnRlcjxS
ZXR1cm5UeXBlLCBPYmplY3RUeXBlLCBoYXNPYmplY3RUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFs
dWUpLnZhbHVlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMjQwLDggKzI0MCw4
IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFQ+IHN0cnVjdCBDb252ZXJ0ZXI8SURMVW5pb248VC4u
Lj4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExVCiAgICAgICAgICAgICBhdXRvIGFycmF5QnVmZmVy
VmlldyA9IEpTQzo6SlNBcnJheUJ1ZmZlclZpZXc6OnRvV3JhcHBlZCh2bSwgdmFsdWUpOwogICAg
ICAgICAgICAgaWYgKGFycmF5QnVmZmVyVmlldykgewogICAgICAgICAgICAgICAgIGlmIChoYXNB
cnJheUJ1ZmZlclZpZXdUeXBlKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptb3Zl
PFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbFJldHVybmVyPFJldHVyblR5cGUs
IGhhc0FycmF5QnVmZmVyVmlld1R5cGU+OjpnZXQoV1RGTW92ZShhcnJheUJ1ZmZlclZpZXcpKS52
YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3Zl
UGFyYW1ldGVyPihDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5UeXBlLCBPYmplY3RUeXBlLCBo
YXNPYmplY3RUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVlKCkpOworICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gQ29uZGl0aW9uYWxSZXR1cm5lcjxSZXR1cm5UeXBlLCBoYXNBcnJh
eUJ1ZmZlclZpZXdUeXBlPjo6Z2V0KFdURk1vdmUoYXJyYXlCdWZmZXJWaWV3KSkudmFsdWUoKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwg
T2JqZWN0VHlwZSwgaGFzT2JqZWN0VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTI1Myw4ICsyNTMsOCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZS4uLiBUPiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1
bHRDb252ZXJ0ZXI8SURMVQogICAgICAgICAgICAgYXV0byBkYXRhVmlldyA9IEpTQzo6SlNEYXRh
Vmlldzo6dG9XcmFwcGVkKHZtLCB2YWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGF0YVZpZXcpIHsK
ICAgICAgICAgICAgICAgICBpZiAoaGFzRGF0YVZpZXdUeXBlKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbFJl
dHVybmVyPFJldHVyblR5cGUsIGhhc0RhdGFWaWV3VHlwZT46OmdldChXVEZNb3ZlKGRhdGFWaWV3
KSkudmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bW92ZTxXVEY6OkNoZWNr
TW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwgT2JqZWN0VHlw
ZSwgaGFzT2JqZWN0VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFsUmV0dXJuZXI8UmV0dXJuVHlwZSwgaGFz
RGF0YVZpZXdUeXBlPjo6Z2V0KFdURk1vdmUoZGF0YVZpZXcpKS52YWx1ZSgpOworICAgICAgICAg
ICAgICAgIHJldHVybiBDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5UeXBlLCBPYmplY3RUeXBl
LCBoYXNPYmplY3RUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVlKCk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIApAQCAtMzA3LDcgKzMwNyw3IEBAIHRlbXBsYXRlPHR5cGVuYW1l
Li4uIFQ+IHN0cnVjdCBDb252ZXJ0ZXI8SURMVW5pb248VC4uLj4+IDogRGVmYXVsdENvbnZlcnRl
cjxJRExVCiAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IEpTQzo6aXRlcmF0
b3JNZXRob2Qoc3RhdGUsIG9iamVjdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBSZXR1cm5UeXBlKCkpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFtZXRob2QuaXNVbmRlZmluZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbFNl
cXVlbmNlQ29udmVydGVyPFJldHVyblR5cGUsIFNlcXVlbmNlVHlwZSwgaGFzU2VxdWVuY2VUeXBl
Pjo6Y29udmVydChzdGF0ZSwgb2JqZWN0LCBtZXRob2QpLnZhbHVlKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBDb25kaXRpb25hbFNlcXVlbmNlQ29udmVydGVyPFJldHVy
blR5cGUsIFNlcXVlbmNlVHlwZSwgaGFzU2VxdWVuY2VUeXBlPjo6Y29udmVydChzdGF0ZSwgb2Jq
ZWN0LCBtZXRob2QpLnZhbHVlKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgICAgICAgICAvLyAgICAgMi4gSWYgdHlwZXMgaW5jbHVkZXMgYSBmcm96ZW4gYXJyYXkgdHlw
ZSwgdGhlbjoKQEAgLTMyMCwyNCArMzIwLDI0IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFQ+IHN0
cnVjdCBDb252ZXJ0ZXI8SURMVW5pb248VC4uLj4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExVCiAg
ICAgICAgICAgICAgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IEpTQzo6aXRlcmF0b3JNZXRob2Qo
c3RhdGUsIG9iamVjdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBSZXR1cm5UeXBlKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFt
ZXRob2QuaXNVbmRlZmluZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
c3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbFNlcXVlbmNlQ29u
dmVydGVyPFJldHVyblR5cGUsIEZyb3plbkFycmF5VHlwZSwgaGFzRnJvemVuQXJyYXlUeXBlPjo6
Y29udmVydChzdGF0ZSwgb2JqZWN0LCBtZXRob2QpLnZhbHVlKCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBDb25kaXRpb25hbFNlcXVlbmNlQ29udmVydGVyPFJldHVyblR5
cGUsIEZyb3plbkFycmF5VHlwZSwgaGFzRnJvemVuQXJyYXlUeXBlPjo6Y29udmVydChzdGF0ZSwg
b2JqZWN0LCBtZXRob2QpLnZhbHVlKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgICAgICAgICAvLyAgICAgMy4gSWYgdHlwZXMgaW5jbHVkZXMgYSBkaWN0aW9uYXJ5IHR5
cGUsIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YKICAgICAgICAgICAgICAgICAgICAgLy8gICAg
ICAgIGNvbnZlcnRpbmcgViB0byB0aGF0IGRpY3Rpb25hcnkgdHlwZS4KICAgICAgICAgICAgICAg
ICAgICAgaWYgKGhhc0RpY3Rpb25hcnlUeXBlKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bW92ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0
ZXI8UmV0dXJuVHlwZSwgRGljdGlvbmFyeVR5cGUsIGhhc0RpY3Rpb25hcnlUeXBlPjo6Y29udmVy
dChzdGF0ZSwgdmFsdWUpLnZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUsIERpY3Rpb25hcnlUeXBlLCBoYXNEaWN0
aW9uYXJ5VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpOwogCiAgICAgICAgICAg
ICAgICAgICAgIC8vICAgICA0LiBJZiB0eXBlcyBpbmNsdWRlcyBhIHJlY29yZCB0eXBlLCB0aGVu
IHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgViB0byB0aGF0IHJlY29yZCB0eXBlLgog
ICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUmVjb3JkVHlwZSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om1vdmU8V1RGOjpDaGVja01vdmVQYXJhbWV0ZXI+KENvbmRpdGlv
bmFsQ29udmVydGVyPFJldHVyblR5cGUsIFJlY29yZFR5cGUsIGhhc1JlY29yZFR5cGU+Ojpjb252
ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwgUmVjb3JkVHlwZSwgaGFzUmVjb3Jk
VHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpOwogCiAgICAgICAgICAgICAgICAg
ICAgIC8vICAgICA1LiBJZiB0eXBlcyBpbmNsdWRlcyBhIGNhbGxiYWNrIGludGVyZmFjZSB0eXBl
LCB0aGVuIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgViB0byB0aGF0IGludGVyZmFj
ZSB0eXBlLgogICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIChGSVhNRTogQWRkIHN1cHBv
cnQgZm9yIGNhbGxiYWNrIGludGVyZmFjZSB0eXBlIGFuZCBzdGVwIDEyLjUpCiAKICAgICAgICAg
ICAgICAgICAgICAgLy8gICAgIDYuIElmIHR5cGVzIGluY2x1ZGVzIG9iamVjdCwgdGhlbiByZXR1
cm4gdGhlIElETCB2YWx1ZSB0aGF0IGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgVi4KICAg
ICAgICAgICAgICAgICAgICAgaWYgKGhhc09iamVjdFR5cGUpCi0gICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25h
bENvbnZlcnRlcjxSZXR1cm5UeXBlLCBPYmplY3RUeXBlLCBoYXNPYmplY3RUeXBlPjo6Y29udmVy
dChzdGF0ZSwgdmFsdWUpLnZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUsIE9iamVjdFR5cGUsIGhhc09iamVjdFR5
cGU+Ojpjb252ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUoKTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTM0Nyw3ICszNDcsNyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZS4uLiBUPiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1bHRDb252
ZXJ0ZXI8SURMVQogICAgICAgICBjb25zdGV4cHIgYm9vbCBoYXNCb29sZWFuVHlwZSA9IGJyaWdh
bmQ6OmFueTxUeXBlTGlzdCwgc3RkOjppc19zYW1lPElETEJvb2xlYW4sIGJyaWdhbmQ6Ol8xPj46
OnZhbHVlOwogICAgICAgICBpZiAoaGFzQm9vbGVhblR5cGUpIHsKICAgICAgICAgICAgIGlmICh2
YWx1ZS5pc0Jvb2xlYW4oKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptb3ZlPFdURjo6
Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5UeXBlLCBJRExC
b29sZWFuLCBoYXNCb29sZWFuVHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJuVHlwZSwg
SURMQm9vbGVhbiwgaGFzQm9vbGVhblR5cGU+Ojpjb252ZXJ0KHN0YXRlLCB2YWx1ZSkudmFsdWUo
KTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgLy8gMTMuIElmIFYgaXMgYSBOdW1iZXIg
dmFsdWUsIHRoZW46CkBAIC0zNTUsMjEgKzM1NSwyMSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
PiBzdHJ1Y3QgQ29udmVydGVyPElETFVuaW9uPFQuLi4+PiA6IERlZmF1bHRDb252ZXJ0ZXI8SURM
VQogICAgICAgICBjb25zdGV4cHIgYm9vbCBoYXNOdW1lcmljVHlwZSA9IGJyaWdhbmQ6OnNpemU8
TnVtZXJpY1R5cGVMaXN0Pjo6dmFsdWUgIT0gMDsKICAgICAgICAgaWYgKGhhc051bWVyaWNUeXBl
KSB7CiAgICAgICAgICAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gc3RkOjptb3ZlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyPihDb25kaXRpb25hbENvbnZl
cnRlcjxSZXR1cm5UeXBlLCBOdW1lcmljVHlwZSwgaGFzTnVtZXJpY1R5cGU+Ojpjb252ZXJ0KHN0
YXRlLCB2YWx1ZSkudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFs
Q29udmVydGVyPFJldHVyblR5cGUsIE51bWVyaWNUeXBlLCBoYXNOdW1lcmljVHlwZT46OmNvbnZl
cnQoc3RhdGUsIHZhbHVlKS52YWx1ZSgpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICAv
LyAxNC4gSWYgdHlwZXMgaW5jbHVkZXMgYSBzdHJpbmcgdHlwZSwgdGhlbiByZXR1cm4gdGhlIHJl
c3VsdCBvZiBjb252ZXJ0aW5nIFYgdG8gdGhhdCB0eXBlLgogICAgICAgICBjb25zdGV4cHIgYm9v
bCBoYXNTdHJpbmdUeXBlID0gYnJpZ2FuZDo6c2l6ZTxTdHJpbmdUeXBlTGlzdD46OnZhbHVlICE9
IDA7CiAgICAgICAgIGlmIChoYXNTdHJpbmdUeXBlKQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bW92ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0dXJu
VHlwZSwgU3RyaW5nVHlwZSwgaGFzU3RyaW5nVHlwZT46OmNvbnZlcnQoc3RhdGUsIHZhbHVlKS52
YWx1ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBDb25kaXRpb25hbENvbnZlcnRlcjxSZXR1cm5U
eXBlLCBTdHJpbmdUeXBlLCBoYXNTdHJpbmdUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZh
bHVlKCk7CiAKICAgICAgICAgLy8gMTUuIElmIHR5cGVzIGluY2x1ZGVzIGEgbnVtZXJpYyB0eXBl
LCB0aGVuIHJldHVybiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgViB0byB0aGF0IG51bWVyaWMg
dHlwZS4KICAgICAgICAgaWYgKGhhc051bWVyaWNUeXBlKQotICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bW92ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlcj4oQ29uZGl0aW9uYWxDb252ZXJ0ZXI8UmV0
dXJuVHlwZSwgTnVtZXJpY1R5cGUsIGhhc051bWVyaWNUeXBlPjo6Y29udmVydChzdGF0ZSwgdmFs
dWUpLnZhbHVlKCkpOworICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFsQ29udmVydGVyPFJl
dHVyblR5cGUsIE51bWVyaWNUeXBlLCBoYXNOdW1lcmljVHlwZT46OmNvbnZlcnQoc3RhdGUsIHZh
bHVlKS52YWx1ZSgpOwogCiAgICAgICAgIC8vIDE2LiBJZiB0eXBlcyBpbmNsdWRlcyBhIGJvb2xl
YW4sIHRoZW4gcmV0dXJuIHRoZSByZXN1bHQgb2YgY29udmVydGluZyBWIHRvIGJvb2xlYW4uCiAg
ICAgICAgIGlmIChoYXNCb29sZWFuVHlwZSkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om1vdmU8
V1RGOjpDaGVja01vdmVQYXJhbWV0ZXI+KENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUs
IElETEJvb2xlYW4sIGhhc0Jvb2xlYW5UeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVl
KCkpOworICAgICAgICAgICAgcmV0dXJuIENvbmRpdGlvbmFsQ29udmVydGVyPFJldHVyblR5cGUs
IElETEJvb2xlYW4sIGhhc0Jvb2xlYW5UeXBlPjo6Y29udmVydChzdGF0ZSwgdmFsdWUpLnZhbHVl
KCk7CiAKICAgICAgICAgLy8gMTcuIFRocm93IGEgVHlwZUVycm9yLgogICAgICAgICB0aHJvd1R5
cGVFcnJvcigmc3RhdGUsIHNjb3BlKTsKLS0gCjIuOS4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>