<?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>161928</bug_id>
          
          <creation_ts>2016-09-13 14:24:05 -0700</creation_ts>
          <short_desc>Atomics on ARM don&apos;t require full-system fencing, and other minutiae</short_desc>
          <delta_ts>2016-09-14 11:53:39 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1229310</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-13 14:24:05 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229316</commentid>
    <comment_count>1</comment_count>
      <attachid>288732</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-13 14:36:26 -0700</bug_when>
    <thetext>Created attachment 288732
patch

This should be a pretty simple first-step. Let&apos;s see how it affects performance, and I can follow-up on individual uses one-by-one afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229325</commentid>
    <comment_count>2</comment_count>
      <attachid>288733</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-13 15:08:53 -0700</bug_when>
    <thetext>Created attachment 288733
patch

Fix think-o in debug build. Silly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229326</commentid>
    <comment_count>3</comment_count>
      <attachid>288733</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-13 15:12:00 -0700</bug_when>
    <thetext>Comment on attachment 288733
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229627</commentid>
    <comment_count>4</comment_count>
      <attachid>288830</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-14 10:29:18 -0700</bug_when>
    <thetext>Created attachment 288830
patch

Rebase on top of https://bugs.webkit.org/show_bug.cgi?id=155371 and add ALWAYS_INLINE on the new overloads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229632</commentid>
    <comment_count>5</comment_count>
      <attachid>288830</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-14 10:47:08 -0700</bug_when>
    <thetext>Comment on attachment 288830
patch

Rejecting attachment 288830 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-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 288830, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WTF/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/2073253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229642</commentid>
    <comment_count>6</comment_count>
      <attachid>288834</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-14 11:15:57 -0700</bug_when>
    <thetext>Created attachment 288834
patch

s/OOPS/ggaren/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229643</commentid>
    <comment_count>7</comment_count>
      <attachid>288834</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-14 11:17:28 -0700</bug_when>
    <thetext>Comment on attachment 288834
patch

Rejecting attachment 288834 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;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 288834, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Geoff Garren found in /Volumes/Data/EWS/WebKit/Source/WTF/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/EWS/WebKit/Source/WTF/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/2073404</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229646</commentid>
    <comment_count>8</comment_count>
      <attachid>288835</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-09-14 11:20:53 -0700</bug_when>
    <thetext>Created attachment 288835
patch

I fail at spelingz.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229665</commentid>
    <comment_count>9</comment_count>
      <attachid>288835</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-14 11:53:33 -0700</bug_when>
    <thetext>Comment on attachment 288835
patch

Clearing flags on attachment: 288835

Committed r205921: &lt;http://trac.webkit.org/changeset/205921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229667</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-14 11:53:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288732</attachid>
            <date>2016-09-13 14:36:26 -0700</date>
            <delta_ts>2016-09-13 15:08:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-atomic.patch</filename>
            <type>text/plain</type>
            <size>6672</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBiMjgwZTI3NzY4ZTU2MDZjY2U0NjM1ODRmOWUzNDg0ZTA3ZDk1OGUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDEzIFNlcCAyMDE2IDE0OjMwOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXRvbWlj
CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggfCA1OSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3NWNmZjJkLi4zYmZkNTVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA5LTEzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFw
cGxlLmNvbT4KKworICAgICAgICBBdG9taWNzIG9uIEFSTSBkb24ndCByZXF1aXJlIGZ1bGwtc3lz
dGVtIGZlbmNpbmcsIGFuZCBvdGhlciBtaW51dGlhZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxOTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNtcHhjaGcgdmVyc2lvbnMgd2l0aCBib3RoIHN1
Y2Nlc3MgYW5kIGZhaWx1cmUgbWVtb3J5CisgICAgICAgIG9yZGVyaW5nLiBJbiBzb21lIGludGVy
ZXN0aW5nIGNhc2VzIHdlIGNhbiBjcmFmdCBjb2RlIHdoaWNoIG5lZWRzCisgICAgICAgIGJhcnJp
ZXJzIHdoaWNoIGFyZW4ndCBhcyBzdHJvbmcuCisKKyAgICAgICAgd2Vha0NvbXBhcmVBbmRTd2Fw
IGlzIHN1cGVyIGR1YmlvdXMsIGl0cyAzIHVzZXMgc2VlbQorICAgICAgICBxdWVzdGlvbmFibGUu
Li4gYnV0IGZvciBub3cgSSdtIGp1c3QgYWRkaW5nIGRlYnVnIGFzc2VydHMuCisKKyAgICAgICAg
UmVuYW1lIGFybXY3X2RtYiogZnVuY3Rpb25zIHRvIGFybV9kbWIqIGJlY2F1c2UgdGhleSBhcHBs
eSB0byB2NworICAgICAgICBhbmQgdjggKG9yIG1vcmUgcHJlY2lzZWx5OyB0byBBUk12NydzIEFS
TSBhbmQgVGh1bWIyLCBhcyB3ZWxsIGFzCisgICAgICAgIEFSTXY4J3MgYWFyY2gzMiBBMzIvVDMy
IGFuZCBhYXJjaDY0KS4KKworICAgICAgICBVc2UgaW5uZXItc2hhcmVhYmlsaXR5IGRvbWFpbiBm
b3IgQVJNIGJhcnJpZXJzIGluc3RlYWQgb2YKKyAgICAgICAgZnVsbC1zeXN0ZW0uIFRoaXMgaXMg
d2hhdCBDKysgdXNlcy4KKworICAgICAgICBUaGUgZGVmYXVsdCBjYXNlIGZvciBiYXJyaWVycyBz
aW1wbHkgdXNlZCBhIGNvbXBpbGVyIGJhcnJpZXIuIFRoaXMKKyAgICAgICAgaXMgZ2VuZXJhbGx5
IHdyb25nLCBlLmcuIGZvciBNSVBTLgorCisgICAgICAgICogd3RmL0F0b21pY3MuaDoKKyAgICAg
ICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VXZWFrKTogb2ZmZXIgdHdvLW9yZGVyIHZl
cnNpb24KKyAgICAgICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VTdHJvbmcpOiBvZmZl
ciB0d28tb3JkZXIgdmVyc2lvbgorICAgICAgICAoV1RGOjp3ZWFrQ29tcGFyZUFuZFN3YXApOiBh
IGZldyBhc3NlcnRpb25zCisgICAgICAgIChXVEY6OmFybV9kbWIpOiByZW5hbWUgc2luY2UgaXQg
YXBwbGllcyB0byBBUk12NyBhbmQgdjg7IG1ha2UgaXQgaW5uc2VyLXNoYXJlYWJsZQorICAgICAg
ICAoV1RGOjphcm1fZG1iX3N0KTogcmVuYW1lIHNpbmNlIGl0IGFwcGxpZXMgdG8gQVJNdjcgYW5k
IHY4OyBtYWtlIGl0IGlubnNlci1zaGFyZWFibGUKKyAgICAgICAgKFdURjo6bG9hZExvYWRGZW5j
ZSk6IGluY29ycmVjdCBnZW5lcmFsbHkKKyAgICAgICAgKFdURjo6bG9hZFN0b3JlRmVuY2UpOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OnN0b3JlTG9hZEZlbmNlKTogaW5jb3Jy
ZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjpzdG9yZVN0b3JlRmVuY2UpOiBpbmNvcnJlY3Qg
Z2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2spOiBpbmNvcnJl
Y3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2spOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OmFybVY3X2RtYik6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OmFybVY3X2RtYl9zdCk6IERlbGV0ZWQuCisKIDIwMTYtMDktMTIgIFl1c3Vr
ZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dURl0gSGFzaFRh
YmxlJ3MgcmVoYXNoIGlzIG5vdCBjb21wYXRpYmxlIHRvIFJlZjxUPiBhbmQgQVNhbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oIGIvU291cmNlL1dURi93dGYvQXRvbWljcy5o
CmluZGV4IGNlNGQ1ZGEuLjJiYWE2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0F0b21p
Y3MuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKQEAgLTY3LDYgKzY3LDE4IEBAIHN0
cnVjdCBBdG9taWMgewogICAgICAgICByZXR1cm4gdmFsdWUuY29tcGFyZV9leGNoYW5nZV93ZWFr
KGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyKTsKICAgICB9CiAKKyAgICBib29sIGNv
bXBhcmVFeGNoYW5nZVdlYWsoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRl
ciBvcmRlcl9zdWNjZXNzLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlcl9mYWlsdXJlKQorICAgIHsK
KyNpZiBPUyhXSU5ET1dTKQorICAgICAgICAvLyBXaW5kb3dzIG1ha2VzIHN0cmFuZ2UgYXNzZXJ0
aW9ucyBhYm91dCB0aGUgYXJndW1lbnQgdG8gY29tcGFyZV9leGNoYW5nZV93ZWFrLCBhbmQgYW55
d2F5LAorICAgICAgICAvLyBXaW5kb3dzIGlzIFg4NiBzbyBzZXFfY3N0IGlzIGNoZWFwLgorICAg
ICAgICBvcmRlcl9zdWNjZXNzID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyAgICAgICAg
b3JkZXJfZmFpbHVyZSA9IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisjZW5kaWYKKyAgICAg
ICAgVCBleHBlY3RlZE9yQWN0dWFsID0gZXhwZWN0ZWQ7CisgICAgICAgIHJldHVybiB2YWx1ZS5j
b21wYXJlX2V4Y2hhbmdlX3dlYWsoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXJfc3Vj
Y2Vzcywgb3JkZXJfZmFpbHVyZSk7CisgICAgfQorCiAgICAgYm9vbCBjb21wYXJlRXhjaGFuZ2VT
dHJvbmcoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlciA9IHN0
ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpCiAgICAgewogI2lmIE9TKFdJTkRPV1MpCkBAIC03Niw3
ICs4OCwxOCBAQCBzdHJ1Y3QgQXRvbWljIHsKICAgICAgICAgVCBleHBlY3RlZE9yQWN0dWFsID0g
ZXhwZWN0ZWQ7CiAgICAgICAgIHJldHVybiB2YWx1ZS5jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhl
eHBlY3RlZE9yQWN0dWFsLCBkZXNpcmVkLCBvcmRlcik7CiAgICAgfQotICAgIAorCisgICAgYm9v
bCBjb21wYXJlRXhjaGFuZ2VTdHJvbmcoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9y
eV9vcmRlciBvcmRlcl9zdWNjZXNzLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlcl9mYWlsdXJlKQor
ICAgIHsKKyNpZiBPUyhXSU5ET1dTKQorICAgICAgICAvLyBTZWUgYWJvdmUuCisgICAgICAgIG9y
ZGVyX3N1Y2Nlc3MgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworICAgICAgICBvcmRlcl9m
YWlsdXJlID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyNlbmRpZgorICAgICAgICBUIGV4
cGVjdGVkT3JBY3R1YWwgPSBleHBlY3RlZDsKKyAgICAgICAgcmV0dXJuIHZhbHVlLmNvbXBhcmVf
ZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyX3N1Y2Nlc3Ms
IG9yZGVyX2ZhaWx1cmUpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CiAgICAg
VCBleGNoYW5nZUFuZEFkZChVIGFkZGVuZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXIgPSBzdGQ6
Om1lbW9yeV9vcmRlcl9zZXFfY3N0KQogICAgIHsKQEAgLTEwMyw2ICsxMjYsOCBAQCBzdHJ1Y3Qg
QXRvbWljIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBpbmxpbmUgYm9vbCB3ZWFrQ29tcGFyZUFu
ZFN3YXAodm9sYXRpbGUgVCogbG9jYXRpb24sIFQgZXhwZWN0ZWQsIFQgbmV3VmFsdWUpCiB7Cisg
ICAgQVNTRVJUKGlzUG9pbnRlclR5cGVBbGlnbm1lbnRPa2F5KGxvY2F0aW9uKSAmJiAibmF0dXJh
bCBhbGlnbm1lbnQgcmVxdWlyZWQiKTsKKyAgICBBU1NFUlQoYml0d2lzZV9jYXN0PHN0ZDo6YXRv
bWljPFQ+Kj4obG9jYXRpb24pLT5pc19sb2NrX2ZyZWUoKSAiZXhwZWN0ZWQgbG9jay1mcmVlIHR5
cGUiKTsKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PEF0b21pYzxUPio+KGxvY2F0aW9uKS0+Y29t
cGFyZUV4Y2hhbmdlV2VhayhleHBlY3RlZCwgbmV3VmFsdWUsIHN0ZDo6bWVtb3J5X29yZGVyX3Jl
bGF4ZWQpOwogfQogCkBAIC0xMjIsMjMgKzE0NywyMyBAQCBpbmxpbmUgdm9pZCBjb21waWxlckZl
bmNlKCkKIAogLy8gRnVsbCBtZW1vcnkgZmVuY2UuIE5vIGFjY2Vzc2VzIHdpbGwgZmxvYXQgYWJv
dmUgdGhpcywgYW5kIG5vIGFjY2Vzc2VzIHdpbGwgc2luawogLy8gYmVsb3cgaXQuCi1pbmxpbmUg
dm9pZCBhcm1WN19kbWIoKQoraW5saW5lIHZvaWQgYXJtX2RtYigpCiB7Ci0gICAgYXNtIHZvbGF0
aWxlKCJkbWIgc3kiIDo6OiAibWVtb3J5Iik7CisgICAgYXNtIHZvbGF0aWxlKCJkbWIgaXNoIiA6
OjogIm1lbW9yeSIpOwogfQogCiAvLyBMaWtlIHRoZSBhYm92ZSwgYnV0IG9ubHkgYWZmZWN0cyBz
dG9yZXMuCi1pbmxpbmUgdm9pZCBhcm1WN19kbWJfc3QoKQoraW5saW5lIHZvaWQgYXJtX2RtYl9z
dCgpCiB7Ci0gICAgYXNtIHZvbGF0aWxlKCJkbWIgc3QiIDo6OiAibWVtb3J5Iik7CisgICAgYXNt
IHZvbGF0aWxlKCJkbWIgaXNoc3QiIDo6OiAibWVtb3J5Iik7CiB9CiAKLWlubGluZSB2b2lkIGxv
YWRMb2FkRmVuY2UoKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5j
ZSgpIHsgYXJtVjdfZG1iKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlTG9hZEZlbmNlKCkgeyBhcm1W
N19kbWIoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVTdG9yZUZlbmNlKCkgeyBhcm1WN19kbWJfc3Qo
KTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckFmdGVyTG9jaygpIHsgYXJtVjdfZG1iKCk7
IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKSB7IGFybVY3X2RtYigp
OyB9CitpbmxpbmUgdm9pZCBsb2FkTG9hZEZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGluZSB2
b2lkIGxvYWRTdG9yZUZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIHN0b3JlTG9h
ZEZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIHN0b3JlU3RvcmVGZW5jZSgpIHsg
YXJtX2RtYl9zdCgpOyB9CitpbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQWZ0ZXJMb2NrKCkgeyBh
cm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKSB7IGFy
bV9kbWIoKTsgfQogCiAjZWxpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQogCkBAIC0xNjQsMTIg
KzE4OSwxMiBAQCBpbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBjb21w
aWxlckZlbmNlKCk7IH0KIAogI2Vsc2UKIAotaW5saW5lIHZvaWQgbG9hZExvYWRGZW5jZSgpIHsg
Y29tcGlsZXJGZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5jZSgpIHsgY29tcGls
ZXJGZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBzdG9yZUxvYWRGZW5jZSgpIHsgY29tcGlsZXJGZW5j
ZSgpOyB9Ci1pbmxpbmUgdm9pZCBzdG9yZVN0b3JlRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsg
fQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckFmdGVyTG9jaygpIHsgY29tcGlsZXJGZW5jZSgp
OyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBjb21waWxlckZl
bmNlKCk7IH0KK2lubGluZSB2b2lkIGxvYWRMb2FkRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3RocmVh
ZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgbG9hZFN0
b3JlRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9z
ZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgc3RvcmVMb2FkRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3Ro
cmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgc3Rv
cmVTdG9yZUZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3Jk
ZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJBZnRlckxvY2soKSB7IHN0
ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5s
aW5lIHZvaWQgbWVtb3J5QmFycmllckJlZm9yZVVubG9jaygpIHsgc3RkOjphdG9taWNfdGhyZWFk
X2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpOyB9CiAKICNlbmRpZgogCi0tIAoyLjku
MwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288733</attachid>
            <date>2016-09-13 15:08:53 -0700</date>
            <delta_ts>2016-09-14 10:29:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-atomic.patch</filename>
            <type>text/plain</type>
            <size>6675</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAxNmViOGIwYWM5ZDM5MjliMzQ3MjUwYWM5NjA3NDIxNWM1OTQxZWQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDEzIFNlcCAyMDE2IDE0OjMwOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXRvbWlj
CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggfCA1OSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3NWNmZjJkLi4zYmZkNTVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA5LTEzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFw
cGxlLmNvbT4KKworICAgICAgICBBdG9taWNzIG9uIEFSTSBkb24ndCByZXF1aXJlIGZ1bGwtc3lz
dGVtIGZlbmNpbmcsIGFuZCBvdGhlciBtaW51dGlhZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxOTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNtcHhjaGcgdmVyc2lvbnMgd2l0aCBib3RoIHN1
Y2Nlc3MgYW5kIGZhaWx1cmUgbWVtb3J5CisgICAgICAgIG9yZGVyaW5nLiBJbiBzb21lIGludGVy
ZXN0aW5nIGNhc2VzIHdlIGNhbiBjcmFmdCBjb2RlIHdoaWNoIG5lZWRzCisgICAgICAgIGJhcnJp
ZXJzIHdoaWNoIGFyZW4ndCBhcyBzdHJvbmcuCisKKyAgICAgICAgd2Vha0NvbXBhcmVBbmRTd2Fw
IGlzIHN1cGVyIGR1YmlvdXMsIGl0cyAzIHVzZXMgc2VlbQorICAgICAgICBxdWVzdGlvbmFibGUu
Li4gYnV0IGZvciBub3cgSSdtIGp1c3QgYWRkaW5nIGRlYnVnIGFzc2VydHMuCisKKyAgICAgICAg
UmVuYW1lIGFybXY3X2RtYiogZnVuY3Rpb25zIHRvIGFybV9kbWIqIGJlY2F1c2UgdGhleSBhcHBs
eSB0byB2NworICAgICAgICBhbmQgdjggKG9yIG1vcmUgcHJlY2lzZWx5OyB0byBBUk12NydzIEFS
TSBhbmQgVGh1bWIyLCBhcyB3ZWxsIGFzCisgICAgICAgIEFSTXY4J3MgYWFyY2gzMiBBMzIvVDMy
IGFuZCBhYXJjaDY0KS4KKworICAgICAgICBVc2UgaW5uZXItc2hhcmVhYmlsaXR5IGRvbWFpbiBm
b3IgQVJNIGJhcnJpZXJzIGluc3RlYWQgb2YKKyAgICAgICAgZnVsbC1zeXN0ZW0uIFRoaXMgaXMg
d2hhdCBDKysgdXNlcy4KKworICAgICAgICBUaGUgZGVmYXVsdCBjYXNlIGZvciBiYXJyaWVycyBz
aW1wbHkgdXNlZCBhIGNvbXBpbGVyIGJhcnJpZXIuIFRoaXMKKyAgICAgICAgaXMgZ2VuZXJhbGx5
IHdyb25nLCBlLmcuIGZvciBNSVBTLgorCisgICAgICAgICogd3RmL0F0b21pY3MuaDoKKyAgICAg
ICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VXZWFrKTogb2ZmZXIgdHdvLW9yZGVyIHZl
cnNpb24KKyAgICAgICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VTdHJvbmcpOiBvZmZl
ciB0d28tb3JkZXIgdmVyc2lvbgorICAgICAgICAoV1RGOjp3ZWFrQ29tcGFyZUFuZFN3YXApOiBh
IGZldyBhc3NlcnRpb25zCisgICAgICAgIChXVEY6OmFybV9kbWIpOiByZW5hbWUgc2luY2UgaXQg
YXBwbGllcyB0byBBUk12NyBhbmQgdjg7IG1ha2UgaXQgaW5uc2VyLXNoYXJlYWJsZQorICAgICAg
ICAoV1RGOjphcm1fZG1iX3N0KTogcmVuYW1lIHNpbmNlIGl0IGFwcGxpZXMgdG8gQVJNdjcgYW5k
IHY4OyBtYWtlIGl0IGlubnNlci1zaGFyZWFibGUKKyAgICAgICAgKFdURjo6bG9hZExvYWRGZW5j
ZSk6IGluY29ycmVjdCBnZW5lcmFsbHkKKyAgICAgICAgKFdURjo6bG9hZFN0b3JlRmVuY2UpOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OnN0b3JlTG9hZEZlbmNlKTogaW5jb3Jy
ZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjpzdG9yZVN0b3JlRmVuY2UpOiBpbmNvcnJlY3Qg
Z2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2spOiBpbmNvcnJl
Y3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2spOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OmFybVY3X2RtYik6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OmFybVY3X2RtYl9zdCk6IERlbGV0ZWQuCisKIDIwMTYtMDktMTIgIFl1c3Vr
ZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dURl0gSGFzaFRh
YmxlJ3MgcmVoYXNoIGlzIG5vdCBjb21wYXRpYmxlIHRvIFJlZjxUPiBhbmQgQVNhbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oIGIvU291cmNlL1dURi93dGYvQXRvbWljcy5o
CmluZGV4IGNlNGQ1ZGEuLjI0MTQzNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0F0b21p
Y3MuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKQEAgLTY3LDYgKzY3LDE4IEBAIHN0
cnVjdCBBdG9taWMgewogICAgICAgICByZXR1cm4gdmFsdWUuY29tcGFyZV9leGNoYW5nZV93ZWFr
KGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyKTsKICAgICB9CiAKKyAgICBib29sIGNv
bXBhcmVFeGNoYW5nZVdlYWsoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRl
ciBvcmRlcl9zdWNjZXNzLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlcl9mYWlsdXJlKQorICAgIHsK
KyNpZiBPUyhXSU5ET1dTKQorICAgICAgICAvLyBXaW5kb3dzIG1ha2VzIHN0cmFuZ2UgYXNzZXJ0
aW9ucyBhYm91dCB0aGUgYXJndW1lbnQgdG8gY29tcGFyZV9leGNoYW5nZV93ZWFrLCBhbmQgYW55
d2F5LAorICAgICAgICAvLyBXaW5kb3dzIGlzIFg4NiBzbyBzZXFfY3N0IGlzIGNoZWFwLgorICAg
ICAgICBvcmRlcl9zdWNjZXNzID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyAgICAgICAg
b3JkZXJfZmFpbHVyZSA9IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisjZW5kaWYKKyAgICAg
ICAgVCBleHBlY3RlZE9yQWN0dWFsID0gZXhwZWN0ZWQ7CisgICAgICAgIHJldHVybiB2YWx1ZS5j
b21wYXJlX2V4Y2hhbmdlX3dlYWsoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXJfc3Vj
Y2Vzcywgb3JkZXJfZmFpbHVyZSk7CisgICAgfQorCiAgICAgYm9vbCBjb21wYXJlRXhjaGFuZ2VT
dHJvbmcoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlciA9IHN0
ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpCiAgICAgewogI2lmIE9TKFdJTkRPV1MpCkBAIC03Niw3
ICs4OCwxOCBAQCBzdHJ1Y3QgQXRvbWljIHsKICAgICAgICAgVCBleHBlY3RlZE9yQWN0dWFsID0g
ZXhwZWN0ZWQ7CiAgICAgICAgIHJldHVybiB2YWx1ZS5jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhl
eHBlY3RlZE9yQWN0dWFsLCBkZXNpcmVkLCBvcmRlcik7CiAgICAgfQotICAgIAorCisgICAgYm9v
bCBjb21wYXJlRXhjaGFuZ2VTdHJvbmcoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9y
eV9vcmRlciBvcmRlcl9zdWNjZXNzLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlcl9mYWlsdXJlKQor
ICAgIHsKKyNpZiBPUyhXSU5ET1dTKQorICAgICAgICAvLyBTZWUgYWJvdmUuCisgICAgICAgIG9y
ZGVyX3N1Y2Nlc3MgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworICAgICAgICBvcmRlcl9m
YWlsdXJlID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyNlbmRpZgorICAgICAgICBUIGV4
cGVjdGVkT3JBY3R1YWwgPSBleHBlY3RlZDsKKyAgICAgICAgcmV0dXJuIHZhbHVlLmNvbXBhcmVf
ZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyX3N1Y2Nlc3Ms
IG9yZGVyX2ZhaWx1cmUpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CiAgICAg
VCBleGNoYW5nZUFuZEFkZChVIGFkZGVuZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXIgPSBzdGQ6
Om1lbW9yeV9vcmRlcl9zZXFfY3N0KQogICAgIHsKQEAgLTEwMyw2ICsxMjYsOCBAQCBzdHJ1Y3Qg
QXRvbWljIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBpbmxpbmUgYm9vbCB3ZWFrQ29tcGFyZUFu
ZFN3YXAodm9sYXRpbGUgVCogbG9jYXRpb24sIFQgZXhwZWN0ZWQsIFQgbmV3VmFsdWUpCiB7Cisg
ICAgQVNTRVJUKGlzUG9pbnRlclR5cGVBbGlnbm1lbnRPa2F5KGxvY2F0aW9uKSAmJiAibmF0dXJh
bCBhbGlnbm1lbnQgcmVxdWlyZWQiKTsKKyAgICBBU1NFUlQoYml0d2lzZV9jYXN0PHN0ZDo6YXRv
bWljPFQ+Kj4obG9jYXRpb24pLT5pc19sb2NrX2ZyZWUoKSAmJiAiZXhwZWN0ZWQgbG9jay1mcmVl
IHR5cGUiKTsKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PEF0b21pYzxUPio+KGxvY2F0aW9uKS0+
Y29tcGFyZUV4Y2hhbmdlV2VhayhleHBlY3RlZCwgbmV3VmFsdWUsIHN0ZDo6bWVtb3J5X29yZGVy
X3JlbGF4ZWQpOwogfQogCkBAIC0xMjIsMjMgKzE0NywyMyBAQCBpbmxpbmUgdm9pZCBjb21waWxl
ckZlbmNlKCkKIAogLy8gRnVsbCBtZW1vcnkgZmVuY2UuIE5vIGFjY2Vzc2VzIHdpbGwgZmxvYXQg
YWJvdmUgdGhpcywgYW5kIG5vIGFjY2Vzc2VzIHdpbGwgc2luawogLy8gYmVsb3cgaXQuCi1pbmxp
bmUgdm9pZCBhcm1WN19kbWIoKQoraW5saW5lIHZvaWQgYXJtX2RtYigpCiB7Ci0gICAgYXNtIHZv
bGF0aWxlKCJkbWIgc3kiIDo6OiAibWVtb3J5Iik7CisgICAgYXNtIHZvbGF0aWxlKCJkbWIgaXNo
IiA6OjogIm1lbW9yeSIpOwogfQogCiAvLyBMaWtlIHRoZSBhYm92ZSwgYnV0IG9ubHkgYWZmZWN0
cyBzdG9yZXMuCi1pbmxpbmUgdm9pZCBhcm1WN19kbWJfc3QoKQoraW5saW5lIHZvaWQgYXJtX2Rt
Yl9zdCgpCiB7Ci0gICAgYXNtIHZvbGF0aWxlKCJkbWIgc3QiIDo6OiAibWVtb3J5Iik7CisgICAg
YXNtIHZvbGF0aWxlKCJkbWIgaXNoc3QiIDo6OiAibWVtb3J5Iik7CiB9CiAKLWlubGluZSB2b2lk
IGxvYWRMb2FkRmVuY2UoKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9pZCBsb2FkU3RvcmVG
ZW5jZSgpIHsgYXJtVjdfZG1iKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlTG9hZEZlbmNlKCkgeyBh
cm1WN19kbWIoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVTdG9yZUZlbmNlKCkgeyBhcm1WN19kbWJf
c3QoKTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckFmdGVyTG9jaygpIHsgYXJtVjdfZG1i
KCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKSB7IGFybVY3X2Rt
YigpOyB9CitpbmxpbmUgdm9pZCBsb2FkTG9hZEZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGlu
ZSB2b2lkIGxvYWRTdG9yZUZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIHN0b3Jl
TG9hZEZlbmNlKCkgeyBhcm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIHN0b3JlU3RvcmVGZW5jZSgp
IHsgYXJtX2RtYl9zdCgpOyB9CitpbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQWZ0ZXJMb2NrKCkg
eyBhcm1fZG1iKCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKSB7
IGFybV9kbWIoKTsgfQogCiAjZWxpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQogCkBAIC0xNjQs
MTIgKzE4OSwxMiBAQCBpbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBj
b21waWxlckZlbmNlKCk7IH0KIAogI2Vsc2UKIAotaW5saW5lIHZvaWQgbG9hZExvYWRGZW5jZSgp
IHsgY29tcGlsZXJGZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5jZSgpIHsgY29t
cGlsZXJGZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBzdG9yZUxvYWRGZW5jZSgpIHsgY29tcGlsZXJG
ZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBzdG9yZVN0b3JlRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2Uo
KTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckFmdGVyTG9jaygpIHsgY29tcGlsZXJGZW5j
ZSgpOyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBjb21waWxl
ckZlbmNlKCk7IH0KK2lubGluZSB2b2lkIGxvYWRMb2FkRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3Ro
cmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgbG9h
ZFN0b3JlRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRl
cl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgc3RvcmVMb2FkRmVuY2UoKSB7IHN0ZDo6YXRvbWlj
X3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQg
c3RvcmVTdG9yZUZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlf
b3JkZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJBZnRlckxvY2soKSB7
IHN0ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQor
aW5saW5lIHZvaWQgbWVtb3J5QmFycmllckJlZm9yZVVubG9jaygpIHsgc3RkOjphdG9taWNfdGhy
ZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpOyB9CiAKICNlbmRpZgogCi0tIAoy
LjkuMwoK
</data>
<flag name="review"
          id="312024"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288830</attachid>
            <date>2016-09-14 10:29:18 -0700</date>
            <delta_ts>2016-09-14 11:15:57 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-atomic.patch</filename>
            <type>text/plain</type>
            <size>6697</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAyODUxMGY3YzNlMjhmMzNmMzBhNGY3ZmI5Yjg0ZjJkNDBiZDg0OTI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDEzIFNlcCAyMDE2IDE0OjMwOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXRvbWlj
CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggfCA1OSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAxYTExYjczLi5kODg3YWIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA5LTEzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFw
cGxlLmNvbT4KKworICAgICAgICBBdG9taWNzIG9uIEFSTSBkb24ndCByZXF1aXJlIGZ1bGwtc3lz
dGVtIGZlbmNpbmcsIGFuZCBvdGhlciBtaW51dGlhZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxOTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGNtcHhjaGcgdmVyc2lvbnMgd2l0aCBib3RoIHN1
Y2Nlc3MgYW5kIGZhaWx1cmUgbWVtb3J5CisgICAgICAgIG9yZGVyaW5nLiBJbiBzb21lIGludGVy
ZXN0aW5nIGNhc2VzIHdlIGNhbiBjcmFmdCBjb2RlIHdoaWNoIG5lZWRzCisgICAgICAgIGJhcnJp
ZXJzIHdoaWNoIGFyZW4ndCBhcyBzdHJvbmcuCisKKyAgICAgICAgd2Vha0NvbXBhcmVBbmRTd2Fw
IGlzIHN1cGVyIGR1YmlvdXMsIGl0cyAzIHVzZXMgc2VlbQorICAgICAgICBxdWVzdGlvbmFibGUu
Li4gYnV0IGZvciBub3cgSSdtIGp1c3QgYWRkaW5nIGRlYnVnIGFzc2VydHMuCisKKyAgICAgICAg
UmVuYW1lIGFybXY3X2RtYiogZnVuY3Rpb25zIHRvIGFybV9kbWIqIGJlY2F1c2UgdGhleSBhcHBs
eSB0byB2NworICAgICAgICBhbmQgdjggKG9yIG1vcmUgcHJlY2lzZWx5OyB0byBBUk12NydzIEFS
TSBhbmQgVGh1bWIyLCBhcyB3ZWxsIGFzCisgICAgICAgIEFSTXY4J3MgYWFyY2gzMiBBMzIvVDMy
IGFuZCBhYXJjaDY0KS4KKworICAgICAgICBVc2UgaW5uZXItc2hhcmVhYmlsaXR5IGRvbWFpbiBm
b3IgQVJNIGJhcnJpZXJzIGluc3RlYWQgb2YKKyAgICAgICAgZnVsbC1zeXN0ZW0uIFRoaXMgaXMg
d2hhdCBDKysgdXNlcy4KKworICAgICAgICBUaGUgZGVmYXVsdCBjYXNlIGZvciBiYXJyaWVycyBz
aW1wbHkgdXNlZCBhIGNvbXBpbGVyIGJhcnJpZXIuIFRoaXMKKyAgICAgICAgaXMgZ2VuZXJhbGx5
IHdyb25nLCBlLmcuIGZvciBNSVBTLgorCisgICAgICAgICogd3RmL0F0b21pY3MuaDoKKyAgICAg
ICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VXZWFrKTogb2ZmZXIgdHdvLW9yZGVyIHZl
cnNpb24KKyAgICAgICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VTdHJvbmcpOiBvZmZl
ciB0d28tb3JkZXIgdmVyc2lvbgorICAgICAgICAoV1RGOjp3ZWFrQ29tcGFyZUFuZFN3YXApOiBh
IGZldyBhc3NlcnRpb25zCisgICAgICAgIChXVEY6OmFybV9kbWIpOiByZW5hbWUgc2luY2UgaXQg
YXBwbGllcyB0byBBUk12NyBhbmQgdjg7IG1ha2UgaXQgaW5uc2VyLXNoYXJlYWJsZQorICAgICAg
ICAoV1RGOjphcm1fZG1iX3N0KTogcmVuYW1lIHNpbmNlIGl0IGFwcGxpZXMgdG8gQVJNdjcgYW5k
IHY4OyBtYWtlIGl0IGlubnNlci1zaGFyZWFibGUKKyAgICAgICAgKFdURjo6bG9hZExvYWRGZW5j
ZSk6IGluY29ycmVjdCBnZW5lcmFsbHkKKyAgICAgICAgKFdURjo6bG9hZFN0b3JlRmVuY2UpOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OnN0b3JlTG9hZEZlbmNlKTogaW5jb3Jy
ZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjpzdG9yZVN0b3JlRmVuY2UpOiBpbmNvcnJlY3Qg
Z2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2spOiBpbmNvcnJl
Y3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2spOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OmFybVY3X2RtYik6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OmFybVY3X2RtYl9zdCk6IERlbGV0ZWQuCisKIDIwMTYtMDktMTQgIEpGIEJh
c3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2FzeXMgaW5saW5lIGF0
b21pYyBvcGVyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggYi9T
b3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKaW5kZXggN2Y3NmJkZi4uOWI0N2EwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0F0b21pY3Mu
aApAQCAtNjcsNiArNjcsMTggQEAgc3RydWN0IEF0b21pYyB7CiAgICAgICAgIHJldHVybiB2YWx1
ZS5jb21wYXJlX2V4Y2hhbmdlX3dlYWsoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXIp
OwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb21wYXJlRXhjaGFuZ2VXZWFrKFQg
ZXhwZWN0ZWQsIFQgZGVzaXJlZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXJfc3VjY2Vzcywgc3Rk
OjptZW1vcnlfb3JkZXIgb3JkZXJfZmFpbHVyZSkKKyAgICB7CisjaWYgT1MoV0lORE9XUykKKyAg
ICAgICAgLy8gV2luZG93cyBtYWtlcyBzdHJhbmdlIGFzc2VydGlvbnMgYWJvdXQgdGhlIGFyZ3Vt
ZW50IHRvIGNvbXBhcmVfZXhjaGFuZ2Vfd2VhaywgYW5kIGFueXdheSwKKyAgICAgICAgLy8gV2lu
ZG93cyBpcyBYODYgc28gc2VxX2NzdCBpcyBjaGVhcC4KKyAgICAgICAgb3JkZXJfc3VjY2VzcyA9
IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisgICAgICAgIG9yZGVyX2ZhaWx1cmUgPSBzdGQ6
Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworI2VuZGlmCisgICAgICAgIFQgZXhwZWN0ZWRPckFjdHVh
bCA9IGV4cGVjdGVkOworICAgICAgICByZXR1cm4gdmFsdWUuY29tcGFyZV9leGNoYW5nZV93ZWFr
KGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyX3N1Y2Nlc3MsIG9yZGVyX2ZhaWx1cmUp
OworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb21wYXJlRXhjaGFuZ2VTdHJvbmco
VCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlciA9IHN0ZDo6bWVt
b3J5X29yZGVyX3NlcV9jc3QpCiAgICAgewogI2lmIE9TKFdJTkRPV1MpCkBAIC03Niw3ICs4OCwx
OCBAQCBzdHJ1Y3QgQXRvbWljIHsKICAgICAgICAgVCBleHBlY3RlZE9yQWN0dWFsID0gZXhwZWN0
ZWQ7CiAgICAgICAgIHJldHVybiB2YWx1ZS5jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhleHBlY3Rl
ZE9yQWN0dWFsLCBkZXNpcmVkLCBvcmRlcik7CiAgICAgfQotICAgIAorCisgICAgQUxXQVlTX0lO
TElORSBib29sIGNvbXBhcmVFeGNoYW5nZVN0cm9uZyhUIGV4cGVjdGVkLCBUIGRlc2lyZWQsIHN0
ZDo6bWVtb3J5X29yZGVyIG9yZGVyX3N1Y2Nlc3MsIHN0ZDo6bWVtb3J5X29yZGVyIG9yZGVyX2Zh
aWx1cmUpCisgICAgeworI2lmIE9TKFdJTkRPV1MpCisgICAgICAgIC8vIFNlZSBhYm92ZS4KKyAg
ICAgICAgb3JkZXJfc3VjY2VzcyA9IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisgICAgICAg
IG9yZGVyX2ZhaWx1cmUgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworI2VuZGlmCisgICAg
ICAgIFQgZXhwZWN0ZWRPckFjdHVhbCA9IGV4cGVjdGVkOworICAgICAgICByZXR1cm4gdmFsdWUu
Y29tcGFyZV9leGNoYW5nZV9zdHJvbmcoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXJf
c3VjY2Vzcywgb3JkZXJfZmFpbHVyZSk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VT4KICAgICBBTFdBWVNfSU5MSU5FIFQgZXhjaGFuZ2VBbmRBZGQoVSBhZGRlbmQsIHN0ZDo6bWVt
b3J5X29yZGVyIG9yZGVyID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdCkKICAgICB7CkBAIC0x
MDMsNiArMTI2LDggQEAgc3RydWN0IEF0b21pYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5s
aW5lIGJvb2wgd2Vha0NvbXBhcmVBbmRTd2FwKHZvbGF0aWxlIFQqIGxvY2F0aW9uLCBUIGV4cGVj
dGVkLCBUIG5ld1ZhbHVlKQogeworICAgIEFTU0VSVChpc1BvaW50ZXJUeXBlQWxpZ25tZW50T2th
eShsb2NhdGlvbikgJiYgIm5hdHVyYWwgYWxpZ25tZW50IHJlcXVpcmVkIik7CisgICAgQVNTRVJU
KGJpdHdpc2VfY2FzdDxzdGQ6OmF0b21pYzxUPio+KGxvY2F0aW9uKS0+aXNfbG9ja19mcmVlKCkg
JiYgImV4cGVjdGVkIGxvY2stZnJlZSB0eXBlIik7CiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxB
dG9taWM8VD4qPihsb2NhdGlvbiktPmNvbXBhcmVFeGNoYW5nZVdlYWsoZXhwZWN0ZWQsIG5ld1Zh
bHVlLCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKIH0KIApAQCAtMTIyLDIzICsxNDcsMjMg
QEAgaW5saW5lIHZvaWQgY29tcGlsZXJGZW5jZSgpCiAKIC8vIEZ1bGwgbWVtb3J5IGZlbmNlLiBO
byBhY2Nlc3NlcyB3aWxsIGZsb2F0IGFib3ZlIHRoaXMsIGFuZCBubyBhY2Nlc3NlcyB3aWxsIHNp
bmsKIC8vIGJlbG93IGl0LgotaW5saW5lIHZvaWQgYXJtVjdfZG1iKCkKK2lubGluZSB2b2lkIGFy
bV9kbWIoKQogewotICAgIGFzbSB2b2xhdGlsZSgiZG1iIHN5IiA6OjogIm1lbW9yeSIpOworICAg
IGFzbSB2b2xhdGlsZSgiZG1iIGlzaCIgOjo6ICJtZW1vcnkiKTsKIH0KIAogLy8gTGlrZSB0aGUg
YWJvdmUsIGJ1dCBvbmx5IGFmZmVjdHMgc3RvcmVzLgotaW5saW5lIHZvaWQgYXJtVjdfZG1iX3N0
KCkKK2lubGluZSB2b2lkIGFybV9kbWJfc3QoKQogewotICAgIGFzbSB2b2xhdGlsZSgiZG1iIHN0
IiA6OjogIm1lbW9yeSIpOworICAgIGFzbSB2b2xhdGlsZSgiZG1iIGlzaHN0IiA6OjogIm1lbW9y
eSIpOwogfQogCi1pbmxpbmUgdm9pZCBsb2FkTG9hZEZlbmNlKCkgeyBhcm1WN19kbWIoKTsgfQot
aW5saW5lIHZvaWQgbG9hZFN0b3JlRmVuY2UoKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9p
ZCBzdG9yZUxvYWRGZW5jZSgpIHsgYXJtVjdfZG1iKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlU3Rv
cmVGZW5jZSgpIHsgYXJtVjdfZG1iX3N0KCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJB
ZnRlckxvY2soKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVm
b3JlVW5sb2NrKCkgeyBhcm1WN19kbWIoKTsgfQoraW5saW5lIHZvaWQgbG9hZExvYWRGZW5jZSgp
IHsgYXJtX2RtYigpOyB9CitpbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5jZSgpIHsgYXJtX2RtYigp
OyB9CitpbmxpbmUgdm9pZCBzdG9yZUxvYWRGZW5jZSgpIHsgYXJtX2RtYigpOyB9CitpbmxpbmUg
dm9pZCBzdG9yZVN0b3JlRmVuY2UoKSB7IGFybV9kbWJfc3QoKTsgfQoraW5saW5lIHZvaWQgbWVt
b3J5QmFycmllckFmdGVyTG9jaygpIHsgYXJtX2RtYigpOyB9CitpbmxpbmUgdm9pZCBtZW1vcnlC
YXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBhcm1fZG1iKCk7IH0KIAogI2VsaWYgQ1BVKFg4NikgfHwg
Q1BVKFg4Nl82NCkKIApAQCAtMTY0LDEyICsxODksMTIgQEAgaW5saW5lIHZvaWQgbWVtb3J5QmFy
cmllckJlZm9yZVVubG9jaygpIHsgY29tcGlsZXJGZW5jZSgpOyB9CiAKICNlbHNlCiAKLWlubGlu
ZSB2b2lkIGxvYWRMb2FkRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQg
bG9hZFN0b3JlRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVM
b2FkRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVTdG9yZUZl
bmNlKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJBZnRl
ckxvY2soKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckJl
Zm9yZVVubG9jaygpIHsgY29tcGlsZXJGZW5jZSgpOyB9CitpbmxpbmUgdm9pZCBsb2FkTG9hZEZl
bmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2VxX2Nz
dCk7IH0KK2lubGluZSB2b2lkIGxvYWRTdG9yZUZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRf
ZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIHN0b3JlTG9h
ZEZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2Vx
X2NzdCk7IH0KK2lubGluZSB2b2lkIHN0b3JlU3RvcmVGZW5jZSgpIHsgc3RkOjphdG9taWNfdGhy
ZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpOyB9CitpbmxpbmUgdm9pZCBtZW1v
cnlCYXJyaWVyQWZ0ZXJMb2NrKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1v
cnlfb3JkZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxv
Y2soKSB7IHN0ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0
KTsgfQogCiAjZW5kaWYKIAotLSAKMi45LjMKCg==
</data>
<flag name="commit-queue"
          id="312116"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288834</attachid>
            <date>2016-09-14 11:15:57 -0700</date>
            <delta_ts>2016-09-14 11:20:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-atomic.patch</filename>
            <type>text/plain</type>
            <size>6695</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBkYzQ2NjlhYWE4ZTljOWY1MTZjNGJkNzg4ZjBhY2ViOTgxYjlmZDM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDEzIFNlcCAyMDE2IDE0OjMwOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXRvbWlj
CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggfCA1OSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAxYTExYjczLi45YWZlNWExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA5LTEzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFw
cGxlLmNvbT4KKworICAgICAgICBBdG9taWNzIG9uIEFSTSBkb24ndCByZXF1aXJlIGZ1bGwtc3lz
dGVtIGZlbmNpbmcsIGFuZCBvdGhlciBtaW51dGlhZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxOTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmYgR2FycmVuLgorCisgICAgICAgIEFkZCBjbXB4Y2hnIHZlcnNpb25zIHdpdGggYm90aCBzdWNj
ZXNzIGFuZCBmYWlsdXJlIG1lbW9yeQorICAgICAgICBvcmRlcmluZy4gSW4gc29tZSBpbnRlcmVz
dGluZyBjYXNlcyB3ZSBjYW4gY3JhZnQgY29kZSB3aGljaCBuZWVkcworICAgICAgICBiYXJyaWVy
cyB3aGljaCBhcmVuJ3QgYXMgc3Ryb25nLgorCisgICAgICAgIHdlYWtDb21wYXJlQW5kU3dhcCBp
cyBzdXBlciBkdWJpb3VzLCBpdHMgMyB1c2VzIHNlZW0KKyAgICAgICAgcXVlc3Rpb25hYmxlLi4u
IGJ1dCBmb3Igbm93IEknbSBqdXN0IGFkZGluZyBkZWJ1ZyBhc3NlcnRzLgorCisgICAgICAgIFJl
bmFtZSBhcm12N19kbWIqIGZ1bmN0aW9ucyB0byBhcm1fZG1iKiBiZWNhdXNlIHRoZXkgYXBwbHkg
dG8gdjcKKyAgICAgICAgYW5kIHY4IChvciBtb3JlIHByZWNpc2VseTsgdG8gQVJNdjcncyBBUk0g
YW5kIFRodW1iMiwgYXMgd2VsbCBhcworICAgICAgICBBUk12OCdzIGFhcmNoMzIgQTMyL1QzMiBh
bmQgYWFyY2g2NCkuCisKKyAgICAgICAgVXNlIGlubmVyLXNoYXJlYWJpbGl0eSBkb21haW4gZm9y
IEFSTSBiYXJyaWVycyBpbnN0ZWFkIG9mCisgICAgICAgIGZ1bGwtc3lzdGVtLiBUaGlzIGlzIHdo
YXQgQysrIHVzZXMuCisKKyAgICAgICAgVGhlIGRlZmF1bHQgY2FzZSBmb3IgYmFycmllcnMgc2lt
cGx5IHVzZWQgYSBjb21waWxlciBiYXJyaWVyLiBUaGlzCisgICAgICAgIGlzIGdlbmVyYWxseSB3
cm9uZywgZS5nLiBmb3IgTUlQUy4KKworICAgICAgICAqIHd0Zi9BdG9taWNzLmg6CisgICAgICAg
IChXVEY6OkF0b21pYzo6Y29tcGFyZUV4Y2hhbmdlV2Vhayk6IG9mZmVyIHR3by1vcmRlciB2ZXJz
aW9uCisgICAgICAgIChXVEY6OkF0b21pYzo6Y29tcGFyZUV4Y2hhbmdlU3Ryb25nKTogb2ZmZXIg
dHdvLW9yZGVyIHZlcnNpb24KKyAgICAgICAgKFdURjo6d2Vha0NvbXBhcmVBbmRTd2FwKTogYSBm
ZXcgYXNzZXJ0aW9ucworICAgICAgICAoV1RGOjphcm1fZG1iKTogcmVuYW1lIHNpbmNlIGl0IGFw
cGxpZXMgdG8gQVJNdjcgYW5kIHY4OyBtYWtlIGl0IGlubnNlci1zaGFyZWFibGUKKyAgICAgICAg
KFdURjo6YXJtX2RtYl9zdCk6IHJlbmFtZSBzaW5jZSBpdCBhcHBsaWVzIHRvIEFSTXY3IGFuZCB2
ODsgbWFrZSBpdCBpbm5zZXItc2hhcmVhYmxlCisgICAgICAgIChXVEY6OmxvYWRMb2FkRmVuY2Up
OiBpbmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OmxvYWRTdG9yZUZlbmNlKTogaW5j
b3JyZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjpzdG9yZUxvYWRGZW5jZSk6IGluY29ycmVj
dCBnZW5lcmFsbHkKKyAgICAgICAgKFdURjo6c3RvcmVTdG9yZUZlbmNlKTogaW5jb3JyZWN0IGdl
bmVyYWxseQorICAgICAgICAoV1RGOjptZW1vcnlCYXJyaWVyQWZ0ZXJMb2NrKTogaW5jb3JyZWN0
IGdlbmVyYWxseQorICAgICAgICAoV1RGOjptZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2NrKTogaW5j
b3JyZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjphcm1WN19kbWIpOiBEZWxldGVkLgorICAg
ICAgICAoV1RGOjphcm1WN19kbWJfc3QpOiBEZWxldGVkLgorCiAyMDE2LTA5LTE0ICBKRiBCYXN0
aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdhc3lzIGlubGluZSBhdG9t
aWMgb3BlcmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oIGIvU291
cmNlL1dURi93dGYvQXRvbWljcy5oCmluZGV4IDdmNzZiZGYuLjliNDdhMGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgK
QEAgLTY3LDYgKzY3LDE4IEBAIHN0cnVjdCBBdG9taWMgewogICAgICAgICByZXR1cm4gdmFsdWUu
Y29tcGFyZV9leGNoYW5nZV93ZWFrKGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyKTsK
ICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29tcGFyZUV4Y2hhbmdlV2VhayhUIGV4
cGVjdGVkLCBUIGRlc2lyZWQsIHN0ZDo6bWVtb3J5X29yZGVyIG9yZGVyX3N1Y2Nlc3MsIHN0ZDo6
bWVtb3J5X29yZGVyIG9yZGVyX2ZhaWx1cmUpCisgICAgeworI2lmIE9TKFdJTkRPV1MpCisgICAg
ICAgIC8vIFdpbmRvd3MgbWFrZXMgc3RyYW5nZSBhc3NlcnRpb25zIGFib3V0IHRoZSBhcmd1bWVu
dCB0byBjb21wYXJlX2V4Y2hhbmdlX3dlYWssIGFuZCBhbnl3YXksCisgICAgICAgIC8vIFdpbmRv
d3MgaXMgWDg2IHNvIHNlcV9jc3QgaXMgY2hlYXAuCisgICAgICAgIG9yZGVyX3N1Y2Nlc3MgPSBz
dGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworICAgICAgICBvcmRlcl9mYWlsdXJlID0gc3RkOjpt
ZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyNlbmRpZgorICAgICAgICBUIGV4cGVjdGVkT3JBY3R1YWwg
PSBleHBlY3RlZDsKKyAgICAgICAgcmV0dXJuIHZhbHVlLmNvbXBhcmVfZXhjaGFuZ2Vfd2Vhayhl
eHBlY3RlZE9yQWN0dWFsLCBkZXNpcmVkLCBvcmRlcl9zdWNjZXNzLCBvcmRlcl9mYWlsdXJlKTsK
KyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29tcGFyZUV4Y2hhbmdlU3Ryb25nKFQg
ZXhwZWN0ZWQsIFQgZGVzaXJlZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXIgPSBzdGQ6Om1lbW9y
eV9vcmRlcl9zZXFfY3N0KQogICAgIHsKICNpZiBPUyhXSU5ET1dTKQpAQCAtNzYsNyArODgsMTgg
QEAgc3RydWN0IEF0b21pYyB7CiAgICAgICAgIFQgZXhwZWN0ZWRPckFjdHVhbCA9IGV4cGVjdGVk
OwogICAgICAgICByZXR1cm4gdmFsdWUuY29tcGFyZV9leGNoYW5nZV9zdHJvbmcoZXhwZWN0ZWRP
ckFjdHVhbCwgZGVzaXJlZCwgb3JkZXIpOwogICAgIH0KLSAgICAKKworICAgIEFMV0FZU19JTkxJ
TkUgYm9vbCBjb21wYXJlRXhjaGFuZ2VTdHJvbmcoVCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6
Om1lbW9yeV9vcmRlciBvcmRlcl9zdWNjZXNzLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlcl9mYWls
dXJlKQorICAgIHsKKyNpZiBPUyhXSU5ET1dTKQorICAgICAgICAvLyBTZWUgYWJvdmUuCisgICAg
ICAgIG9yZGVyX3N1Y2Nlc3MgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworICAgICAgICBv
cmRlcl9mYWlsdXJlID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdDsKKyNlbmRpZgorICAgICAg
ICBUIGV4cGVjdGVkT3JBY3R1YWwgPSBleHBlY3RlZDsKKyAgICAgICAgcmV0dXJuIHZhbHVlLmNv
bXBhcmVfZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyX3N1
Y2Nlc3MsIG9yZGVyX2ZhaWx1cmUpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+
CiAgICAgQUxXQVlTX0lOTElORSBUIGV4Y2hhbmdlQW5kQWRkKFUgYWRkZW5kLCBzdGQ6Om1lbW9y
eV9vcmRlciBvcmRlciA9IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpCiAgICAgewpAQCAtMTAz
LDYgKzEyNiw4IEBAIHN0cnVjdCBBdG9taWMgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGlubGlu
ZSBib29sIHdlYWtDb21wYXJlQW5kU3dhcCh2b2xhdGlsZSBUKiBsb2NhdGlvbiwgVCBleHBlY3Rl
ZCwgVCBuZXdWYWx1ZSkKIHsKKyAgICBBU1NFUlQoaXNQb2ludGVyVHlwZUFsaWdubWVudE9rYXko
bG9jYXRpb24pICYmICJuYXR1cmFsIGFsaWdubWVudCByZXF1aXJlZCIpOworICAgIEFTU0VSVChi
aXR3aXNlX2Nhc3Q8c3RkOjphdG9taWM8VD4qPihsb2NhdGlvbiktPmlzX2xvY2tfZnJlZSgpICYm
ICJleHBlY3RlZCBsb2NrLWZyZWUgdHlwZSIpOwogICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8QXRv
bWljPFQ+Kj4obG9jYXRpb24pLT5jb21wYXJlRXhjaGFuZ2VXZWFrKGV4cGVjdGVkLCBuZXdWYWx1
ZSwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7CiB9CiAKQEAgLTEyMiwyMyArMTQ3LDIzIEBA
IGlubGluZSB2b2lkIGNvbXBpbGVyRmVuY2UoKQogCiAvLyBGdWxsIG1lbW9yeSBmZW5jZS4gTm8g
YWNjZXNzZXMgd2lsbCBmbG9hdCBhYm92ZSB0aGlzLCBhbmQgbm8gYWNjZXNzZXMgd2lsbCBzaW5r
CiAvLyBiZWxvdyBpdC4KLWlubGluZSB2b2lkIGFybVY3X2RtYigpCitpbmxpbmUgdm9pZCBhcm1f
ZG1iKCkKIHsKLSAgICBhc20gdm9sYXRpbGUoImRtYiBzeSIgOjo6ICJtZW1vcnkiKTsKKyAgICBh
c20gdm9sYXRpbGUoImRtYiBpc2giIDo6OiAibWVtb3J5Iik7CiB9CiAKIC8vIExpa2UgdGhlIGFi
b3ZlLCBidXQgb25seSBhZmZlY3RzIHN0b3Jlcy4KLWlubGluZSB2b2lkIGFybVY3X2RtYl9zdCgp
CitpbmxpbmUgdm9pZCBhcm1fZG1iX3N0KCkKIHsKLSAgICBhc20gdm9sYXRpbGUoImRtYiBzdCIg
Ojo6ICJtZW1vcnkiKTsKKyAgICBhc20gdm9sYXRpbGUoImRtYiBpc2hzdCIgOjo6ICJtZW1vcnki
KTsKIH0KIAotaW5saW5lIHZvaWQgbG9hZExvYWRGZW5jZSgpIHsgYXJtVjdfZG1iKCk7IH0KLWlu
bGluZSB2b2lkIGxvYWRTdG9yZUZlbmNlKCkgeyBhcm1WN19kbWIoKTsgfQotaW5saW5lIHZvaWQg
c3RvcmVMb2FkRmVuY2UoKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9pZCBzdG9yZVN0b3Jl
RmVuY2UoKSB7IGFybVY3X2RtYl9zdCgpOyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQWZ0
ZXJMb2NrKCkgeyBhcm1WN19kbWIoKTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckJlZm9y
ZVVubG9jaygpIHsgYXJtVjdfZG1iKCk7IH0KK2lubGluZSB2b2lkIGxvYWRMb2FkRmVuY2UoKSB7
IGFybV9kbWIoKTsgfQoraW5saW5lIHZvaWQgbG9hZFN0b3JlRmVuY2UoKSB7IGFybV9kbWIoKTsg
fQoraW5saW5lIHZvaWQgc3RvcmVMb2FkRmVuY2UoKSB7IGFybV9kbWIoKTsgfQoraW5saW5lIHZv
aWQgc3RvcmVTdG9yZUZlbmNlKCkgeyBhcm1fZG1iX3N0KCk7IH0KK2lubGluZSB2b2lkIG1lbW9y
eUJhcnJpZXJBZnRlckxvY2soKSB7IGFybV9kbWIoKTsgfQoraW5saW5lIHZvaWQgbWVtb3J5QmFy
cmllckJlZm9yZVVubG9jaygpIHsgYXJtX2RtYigpOyB9CiAKICNlbGlmIENQVShYODYpIHx8IENQ
VShYODZfNjQpCiAKQEAgLTE2NCwxMiArMTg5LDEyIEBAIGlubGluZSB2b2lkIG1lbW9yeUJhcnJp
ZXJCZWZvcmVVbmxvY2soKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQogCiAjZWxzZQogCi1pbmxpbmUg
dm9pZCBsb2FkTG9hZEZlbmNlKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIGxv
YWRTdG9yZUZlbmNlKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlTG9h
ZEZlbmNlKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlU3RvcmVGZW5j
ZSgpIHsgY29tcGlsZXJGZW5jZSgpOyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQWZ0ZXJM
b2NrKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZv
cmVVbmxvY2soKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQoraW5saW5lIHZvaWQgbG9hZExvYWRGZW5j
ZSgpIHsgc3RkOjphdG9taWNfdGhyZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Qp
OyB9CitpbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5jZSgpIHsgc3RkOjphdG9taWNfdGhyZWFkX2Zl
bmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpOyB9CitpbmxpbmUgdm9pZCBzdG9yZUxvYWRG
ZW5jZSgpIHsgc3RkOjphdG9taWNfdGhyZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9j
c3QpOyB9CitpbmxpbmUgdm9pZCBzdG9yZVN0b3JlRmVuY2UoKSB7IHN0ZDo6YXRvbWljX3RocmVh
ZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0KTsgfQoraW5saW5lIHZvaWQgbWVtb3J5
QmFycmllckFmdGVyTG9jaygpIHsgc3RkOjphdG9taWNfdGhyZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5
X29yZGVyX3NlcV9jc3QpOyB9CitpbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVmb3JlVW5sb2Nr
KCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdCk7
IH0KIAogI2VuZGlmCiAKLS0gCjIuOS4zCgo=
</data>
<flag name="commit-queue"
          id="312119"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288835</attachid>
            <date>2016-09-14 11:20:53 -0700</date>
            <delta_ts>2016-09-14 11:53:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-atomic.patch</filename>
            <type>text/plain</type>
            <size>6697</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBlNTJkMDQyYjg4MDQ4YmE4ZGE0ODNmM2UxNDMyOWM2Mzc4YTEwOTg3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUdWUsIDEzIFNlcCAyMDE2IDE0OjMwOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gYXRvbWlj
CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBTb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggfCA1OSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAxYTExYjczLi4zY2IzZTZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA5LTEzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFw
cGxlLmNvbT4KKworICAgICAgICBBdG9taWNzIG9uIEFSTSBkb24ndCByZXF1aXJlIGZ1bGwtc3lz
dGVtIGZlbmNpbmcsIGFuZCBvdGhlciBtaW51dGlhZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxOTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgQWRkIGNtcHhjaGcgdmVyc2lvbnMgd2l0aCBib3RoIHN1
Y2Nlc3MgYW5kIGZhaWx1cmUgbWVtb3J5CisgICAgICAgIG9yZGVyaW5nLiBJbiBzb21lIGludGVy
ZXN0aW5nIGNhc2VzIHdlIGNhbiBjcmFmdCBjb2RlIHdoaWNoIG5lZWRzCisgICAgICAgIGJhcnJp
ZXJzIHdoaWNoIGFyZW4ndCBhcyBzdHJvbmcuCisKKyAgICAgICAgd2Vha0NvbXBhcmVBbmRTd2Fw
IGlzIHN1cGVyIGR1YmlvdXMsIGl0cyAzIHVzZXMgc2VlbQorICAgICAgICBxdWVzdGlvbmFibGUu
Li4gYnV0IGZvciBub3cgSSdtIGp1c3QgYWRkaW5nIGRlYnVnIGFzc2VydHMuCisKKyAgICAgICAg
UmVuYW1lIGFybXY3X2RtYiogZnVuY3Rpb25zIHRvIGFybV9kbWIqIGJlY2F1c2UgdGhleSBhcHBs
eSB0byB2NworICAgICAgICBhbmQgdjggKG9yIG1vcmUgcHJlY2lzZWx5OyB0byBBUk12NydzIEFS
TSBhbmQgVGh1bWIyLCBhcyB3ZWxsIGFzCisgICAgICAgIEFSTXY4J3MgYWFyY2gzMiBBMzIvVDMy
IGFuZCBhYXJjaDY0KS4KKworICAgICAgICBVc2UgaW5uZXItc2hhcmVhYmlsaXR5IGRvbWFpbiBm
b3IgQVJNIGJhcnJpZXJzIGluc3RlYWQgb2YKKyAgICAgICAgZnVsbC1zeXN0ZW0uIFRoaXMgaXMg
d2hhdCBDKysgdXNlcy4KKworICAgICAgICBUaGUgZGVmYXVsdCBjYXNlIGZvciBiYXJyaWVycyBz
aW1wbHkgdXNlZCBhIGNvbXBpbGVyIGJhcnJpZXIuIFRoaXMKKyAgICAgICAgaXMgZ2VuZXJhbGx5
IHdyb25nLCBlLmcuIGZvciBNSVBTLgorCisgICAgICAgICogd3RmL0F0b21pY3MuaDoKKyAgICAg
ICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VXZWFrKTogb2ZmZXIgdHdvLW9yZGVyIHZl
cnNpb24KKyAgICAgICAgKFdURjo6QXRvbWljOjpjb21wYXJlRXhjaGFuZ2VTdHJvbmcpOiBvZmZl
ciB0d28tb3JkZXIgdmVyc2lvbgorICAgICAgICAoV1RGOjp3ZWFrQ29tcGFyZUFuZFN3YXApOiBh
IGZldyBhc3NlcnRpb25zCisgICAgICAgIChXVEY6OmFybV9kbWIpOiByZW5hbWUgc2luY2UgaXQg
YXBwbGllcyB0byBBUk12NyBhbmQgdjg7IG1ha2UgaXQgaW5uc2VyLXNoYXJlYWJsZQorICAgICAg
ICAoV1RGOjphcm1fZG1iX3N0KTogcmVuYW1lIHNpbmNlIGl0IGFwcGxpZXMgdG8gQVJNdjcgYW5k
IHY4OyBtYWtlIGl0IGlubnNlci1zaGFyZWFibGUKKyAgICAgICAgKFdURjo6bG9hZExvYWRGZW5j
ZSk6IGluY29ycmVjdCBnZW5lcmFsbHkKKyAgICAgICAgKFdURjo6bG9hZFN0b3JlRmVuY2UpOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OnN0b3JlTG9hZEZlbmNlKTogaW5jb3Jy
ZWN0IGdlbmVyYWxseQorICAgICAgICAoV1RGOjpzdG9yZVN0b3JlRmVuY2UpOiBpbmNvcnJlY3Qg
Z2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2spOiBpbmNvcnJl
Y3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6Om1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2spOiBp
bmNvcnJlY3QgZ2VuZXJhbGx5CisgICAgICAgIChXVEY6OmFybVY3X2RtYik6IERlbGV0ZWQuCisg
ICAgICAgIChXVEY6OmFybVY3X2RtYl9zdCk6IERlbGV0ZWQuCisKIDIwMTYtMDktMTQgIEpGIEJh
c3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2FzeXMgaW5saW5lIGF0
b21pYyBvcGVyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggYi9T
b3VyY2UvV1RGL3d0Zi9BdG9taWNzLmgKaW5kZXggN2Y3NmJkZi4uOWI0N2EwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvQXRvbWljcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0F0b21pY3Mu
aApAQCAtNjcsNiArNjcsMTggQEAgc3RydWN0IEF0b21pYyB7CiAgICAgICAgIHJldHVybiB2YWx1
ZS5jb21wYXJlX2V4Y2hhbmdlX3dlYWsoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXIp
OwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb21wYXJlRXhjaGFuZ2VXZWFrKFQg
ZXhwZWN0ZWQsIFQgZGVzaXJlZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXJfc3VjY2Vzcywgc3Rk
OjptZW1vcnlfb3JkZXIgb3JkZXJfZmFpbHVyZSkKKyAgICB7CisjaWYgT1MoV0lORE9XUykKKyAg
ICAgICAgLy8gV2luZG93cyBtYWtlcyBzdHJhbmdlIGFzc2VydGlvbnMgYWJvdXQgdGhlIGFyZ3Vt
ZW50IHRvIGNvbXBhcmVfZXhjaGFuZ2Vfd2VhaywgYW5kIGFueXdheSwKKyAgICAgICAgLy8gV2lu
ZG93cyBpcyBYODYgc28gc2VxX2NzdCBpcyBjaGVhcC4KKyAgICAgICAgb3JkZXJfc3VjY2VzcyA9
IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisgICAgICAgIG9yZGVyX2ZhaWx1cmUgPSBzdGQ6
Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworI2VuZGlmCisgICAgICAgIFQgZXhwZWN0ZWRPckFjdHVh
bCA9IGV4cGVjdGVkOworICAgICAgICByZXR1cm4gdmFsdWUuY29tcGFyZV9leGNoYW5nZV93ZWFr
KGV4cGVjdGVkT3JBY3R1YWwsIGRlc2lyZWQsIG9yZGVyX3N1Y2Nlc3MsIG9yZGVyX2ZhaWx1cmUp
OworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb21wYXJlRXhjaGFuZ2VTdHJvbmco
VCBleHBlY3RlZCwgVCBkZXNpcmVkLCBzdGQ6Om1lbW9yeV9vcmRlciBvcmRlciA9IHN0ZDo6bWVt
b3J5X29yZGVyX3NlcV9jc3QpCiAgICAgewogI2lmIE9TKFdJTkRPV1MpCkBAIC03Niw3ICs4OCwx
OCBAQCBzdHJ1Y3QgQXRvbWljIHsKICAgICAgICAgVCBleHBlY3RlZE9yQWN0dWFsID0gZXhwZWN0
ZWQ7CiAgICAgICAgIHJldHVybiB2YWx1ZS5jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhleHBlY3Rl
ZE9yQWN0dWFsLCBkZXNpcmVkLCBvcmRlcik7CiAgICAgfQotICAgIAorCisgICAgQUxXQVlTX0lO
TElORSBib29sIGNvbXBhcmVFeGNoYW5nZVN0cm9uZyhUIGV4cGVjdGVkLCBUIGRlc2lyZWQsIHN0
ZDo6bWVtb3J5X29yZGVyIG9yZGVyX3N1Y2Nlc3MsIHN0ZDo6bWVtb3J5X29yZGVyIG9yZGVyX2Zh
aWx1cmUpCisgICAgeworI2lmIE9TKFdJTkRPV1MpCisgICAgICAgIC8vIFNlZSBhYm92ZS4KKyAg
ICAgICAgb3JkZXJfc3VjY2VzcyA9IHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3Q7CisgICAgICAg
IG9yZGVyX2ZhaWx1cmUgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0OworI2VuZGlmCisgICAg
ICAgIFQgZXhwZWN0ZWRPckFjdHVhbCA9IGV4cGVjdGVkOworICAgICAgICByZXR1cm4gdmFsdWUu
Y29tcGFyZV9leGNoYW5nZV9zdHJvbmcoZXhwZWN0ZWRPckFjdHVhbCwgZGVzaXJlZCwgb3JkZXJf
c3VjY2Vzcywgb3JkZXJfZmFpbHVyZSk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VT4KICAgICBBTFdBWVNfSU5MSU5FIFQgZXhjaGFuZ2VBbmRBZGQoVSBhZGRlbmQsIHN0ZDo6bWVt
b3J5X29yZGVyIG9yZGVyID0gc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdCkKICAgICB7CkBAIC0x
MDMsNiArMTI2LDggQEAgc3RydWN0IEF0b21pYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogaW5s
aW5lIGJvb2wgd2Vha0NvbXBhcmVBbmRTd2FwKHZvbGF0aWxlIFQqIGxvY2F0aW9uLCBUIGV4cGVj
dGVkLCBUIG5ld1ZhbHVlKQogeworICAgIEFTU0VSVChpc1BvaW50ZXJUeXBlQWxpZ25tZW50T2th
eShsb2NhdGlvbikgJiYgIm5hdHVyYWwgYWxpZ25tZW50IHJlcXVpcmVkIik7CisgICAgQVNTRVJU
KGJpdHdpc2VfY2FzdDxzdGQ6OmF0b21pYzxUPio+KGxvY2F0aW9uKS0+aXNfbG9ja19mcmVlKCkg
JiYgImV4cGVjdGVkIGxvY2stZnJlZSB0eXBlIik7CiAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxB
dG9taWM8VD4qPihsb2NhdGlvbiktPmNvbXBhcmVFeGNoYW5nZVdlYWsoZXhwZWN0ZWQsIG5ld1Zh
bHVlLCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKIH0KIApAQCAtMTIyLDIzICsxNDcsMjMg
QEAgaW5saW5lIHZvaWQgY29tcGlsZXJGZW5jZSgpCiAKIC8vIEZ1bGwgbWVtb3J5IGZlbmNlLiBO
byBhY2Nlc3NlcyB3aWxsIGZsb2F0IGFib3ZlIHRoaXMsIGFuZCBubyBhY2Nlc3NlcyB3aWxsIHNp
bmsKIC8vIGJlbG93IGl0LgotaW5saW5lIHZvaWQgYXJtVjdfZG1iKCkKK2lubGluZSB2b2lkIGFy
bV9kbWIoKQogewotICAgIGFzbSB2b2xhdGlsZSgiZG1iIHN5IiA6OjogIm1lbW9yeSIpOworICAg
IGFzbSB2b2xhdGlsZSgiZG1iIGlzaCIgOjo6ICJtZW1vcnkiKTsKIH0KIAogLy8gTGlrZSB0aGUg
YWJvdmUsIGJ1dCBvbmx5IGFmZmVjdHMgc3RvcmVzLgotaW5saW5lIHZvaWQgYXJtVjdfZG1iX3N0
KCkKK2lubGluZSB2b2lkIGFybV9kbWJfc3QoKQogewotICAgIGFzbSB2b2xhdGlsZSgiZG1iIHN0
IiA6OjogIm1lbW9yeSIpOworICAgIGFzbSB2b2xhdGlsZSgiZG1iIGlzaHN0IiA6OjogIm1lbW9y
eSIpOwogfQogCi1pbmxpbmUgdm9pZCBsb2FkTG9hZEZlbmNlKCkgeyBhcm1WN19kbWIoKTsgfQot
aW5saW5lIHZvaWQgbG9hZFN0b3JlRmVuY2UoKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9p
ZCBzdG9yZUxvYWRGZW5jZSgpIHsgYXJtVjdfZG1iKCk7IH0KLWlubGluZSB2b2lkIHN0b3JlU3Rv
cmVGZW5jZSgpIHsgYXJtVjdfZG1iX3N0KCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJB
ZnRlckxvY2soKSB7IGFybVY3X2RtYigpOyB9Ci1pbmxpbmUgdm9pZCBtZW1vcnlCYXJyaWVyQmVm
b3JlVW5sb2NrKCkgeyBhcm1WN19kbWIoKTsgfQoraW5saW5lIHZvaWQgbG9hZExvYWRGZW5jZSgp
IHsgYXJtX2RtYigpOyB9CitpbmxpbmUgdm9pZCBsb2FkU3RvcmVGZW5jZSgpIHsgYXJtX2RtYigp
OyB9CitpbmxpbmUgdm9pZCBzdG9yZUxvYWRGZW5jZSgpIHsgYXJtX2RtYigpOyB9CitpbmxpbmUg
dm9pZCBzdG9yZVN0b3JlRmVuY2UoKSB7IGFybV9kbWJfc3QoKTsgfQoraW5saW5lIHZvaWQgbWVt
b3J5QmFycmllckFmdGVyTG9jaygpIHsgYXJtX2RtYigpOyB9CitpbmxpbmUgdm9pZCBtZW1vcnlC
YXJyaWVyQmVmb3JlVW5sb2NrKCkgeyBhcm1fZG1iKCk7IH0KIAogI2VsaWYgQ1BVKFg4NikgfHwg
Q1BVKFg4Nl82NCkKIApAQCAtMTY0LDEyICsxODksMTIgQEAgaW5saW5lIHZvaWQgbWVtb3J5QmFy
cmllckJlZm9yZVVubG9jaygpIHsgY29tcGlsZXJGZW5jZSgpOyB9CiAKICNlbHNlCiAKLWlubGlu
ZSB2b2lkIGxvYWRMb2FkRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQg
bG9hZFN0b3JlRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVM
b2FkRmVuY2UoKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgc3RvcmVTdG9yZUZl
bmNlKCkgeyBjb21waWxlckZlbmNlKCk7IH0KLWlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJBZnRl
ckxvY2soKSB7IGNvbXBpbGVyRmVuY2UoKTsgfQotaW5saW5lIHZvaWQgbWVtb3J5QmFycmllckJl
Zm9yZVVubG9jaygpIHsgY29tcGlsZXJGZW5jZSgpOyB9CitpbmxpbmUgdm9pZCBsb2FkTG9hZEZl
bmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2VxX2Nz
dCk7IH0KK2lubGluZSB2b2lkIGxvYWRTdG9yZUZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRf
ZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIHN0b3JlTG9h
ZEZlbmNlKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1vcnlfb3JkZXJfc2Vx
X2NzdCk7IH0KK2lubGluZSB2b2lkIHN0b3JlU3RvcmVGZW5jZSgpIHsgc3RkOjphdG9taWNfdGhy
ZWFkX2ZlbmNlKHN0ZDo6bWVtb3J5X29yZGVyX3NlcV9jc3QpOyB9CitpbmxpbmUgdm9pZCBtZW1v
cnlCYXJyaWVyQWZ0ZXJMb2NrKCkgeyBzdGQ6OmF0b21pY190aHJlYWRfZmVuY2Uoc3RkOjptZW1v
cnlfb3JkZXJfc2VxX2NzdCk7IH0KK2lubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxv
Y2soKSB7IHN0ZDo6YXRvbWljX3RocmVhZF9mZW5jZShzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0
KTsgfQogCiAjZW5kaWYKIAotLSAKMi45LjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>