<?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>128500</bug_id>
          
          <creation_ts>2014-02-09 10:17:52 -0800</creation_ts>
          <short_desc>Convert some JSC code over to std::mutex</short_desc>
          <delta_ts>2014-02-09 10:42:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978601</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-09 10:17:52 -0800</bug_when>
    <thetext>Convert some JSC code over to std::mutex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978603</commentid>
    <comment_count>1</comment_count>
      <attachid>223632</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-09 10:20:45 -0800</bug_when>
    <thetext>Created attachment 223632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978606</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-09 10:42:37 -0800</bug_when>
    <thetext>Committed r163752: &lt;http://trac.webkit.org/changeset/163752&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223632</attachid>
            <date>2014-02-09 10:20:45 -0800</date>
            <delta_ts>2014-02-09 10:31:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128500-20140209102107.patch</filename>
            <type>text/plain</type>
            <size>17069</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Zjk3ZDUzNWZmZjgxYTVlYjM2MmYzNjg5NTZjMzM3NzM2MzRjZDU5Li5hNGY3MTYzMjdiZGU3ODNh
NDVhYTA1Mzk2MjNjNTM3YWUxZjhmYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxNC0wMi0wOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIENvbnZlcnQgc29tZSBKU0MgY29kZSBvdmVyIHRvIHN0ZDo6bXV0ZXgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODUwMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQVBJL0pT
VmlydHVhbE1hY2hpbmUubW06CisgICAgICAgICh3cmFwcGVyQ2FjaGVNdXRleCk6CisgICAgICAg
ICgrW0pTVk1XcmFwcGVyQ2FjaGUgYWRkV3JhcHBlcjpmb3JKU0NvbnRleHRHcm91cFJlZjpdKToK
KyAgICAgICAgKCtbSlNWTVdyYXBwZXJDYWNoZSB3cmFwcGVyRm9ySlNDb250ZXh0R3JvdXBSZWY6
XSk6CisgICAgICAgICogaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuaDoKKyAgICAgICAgKiBoZWFw
L1Nsb3RWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6Om1lcmdlT3BhcXVl
Um9vdHMpOgorICAgICAgICAqIGhlYXAvU2xvdFZpc2l0b3JJbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OlNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1ZVJvb3RUcmlTdGF0ZSk6CisgICAgICAgICog
aW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rvci5tbToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5z
cGVjdG9yOjpyZWdpc3RlckRlYnVnZ2FibGUpOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJ
bnNwZWN0b3I6OnVucmVnaXN0ZXJEZWJ1Z2dhYmxlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yOjp1cGRhdGVEZWJ1Z2dhYmxlKToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yOjpzZW5kTWVzc2FnZVRvUmVtb3RlRnJvbnRlbmQpOgorICAgICAgICAoSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yOjpzdG9wKToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9y
OjpzZXR1cFhQQ0Nvbm5lY3Rpb25JZk5lZWRlZCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90
ZUluc3BlY3Rvcjo6eHBjQ29ubmVjdGlvblJlY2VpdmVkTWVzc2FnZSk6CisgICAgICAgIChJbnNw
ZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6eHBjQ29ubmVjdGlvbkZhaWxlZCk6CisgICAgICAgIChJ
bnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6cHVzaExpc3RpbmdTb29uKToKKyAgICAgICAgKElu
c3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpyZWNlaXZlZEluZGljYXRlTWVzc2FnZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJs
ZUNvbm5lY3Rpb24ubW06CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvckRlYnVn
Z2FibGVDb25uZWN0aW9uOjpzZXR1cCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3Bl
Y3RvckRlYnVnZ2FibGVDb25uZWN0aW9uOjpjbG9zZUZyb21EZWJ1Z2dhYmxlKToKKyAgICAgICAg
KEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OmNsb3NlKToK
KyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246
OnNlbmRNZXNzYWdlVG9CYWNrZW5kKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRv
ci5jcHA6CisgICAgICAgIChKU0M6OkRlbWFuZEV4ZWN1dGFibGVBbGxvY2F0b3I6OkRlbWFuZEV4
ZWN1dGFibGVBbGxvY2F0b3IpOgorICAgICAgICAoSlNDOjpEZW1hbmRFeGVjdXRhYmxlQWxsb2Nh
dG9yOjp+RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcik6CisgICAgICAgIChKU0M6OkRlbWFuZEV4
ZWN1dGFibGVBbGxvY2F0b3I6OmJ5dGVzQWxsb2NhdGVkQnlBbGxBbGxvY2F0b3JzKToKKyAgICAg
ICAgKEpTQzo6RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcjo6Ynl0ZXNDb21taXR0ZWRCeUFsbG9j
YWN0b3JzKToKKyAgICAgICAgKEpTQzo6RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcjo6ZHVtcFBy
b2ZpbGVGcm9tQWxsQWxsb2NhdG9ycyk6CisgICAgICAgIChKU0M6OkRlbWFuZEV4ZWN1dGFibGVB
bGxvY2F0b3I6OmFsbG9jYXRvcnNNdXRleCk6CisKIDIwMTQtMDItMDkgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxNjM3MzcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmly
dHVhbE1hY2hpbmUubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hp
bmUubW0KaW5kZXggZjNkNTNhZmFlNzI2YjQ4Y2U4OTliOWE1MjE4ZDcxMjFlZmM4ZTE2Yi4uMWNk
OTRjOTdkYmUzODM5ODAyZmM3ZTZjNjU4OTQ3NGE1ZGNjMDRlMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQpAQCAtMzYsMTIgKzM2LDE1IEBACiAj
aW1wb3J0ICJKU1ZpcnR1YWxNYWNoaW5lSW50ZXJuYWwuaCIKICNpbXBvcnQgIkpTV3JhcHBlck1h
cC5oIgogI2ltcG9ydCAiU2xvdFZpc2l0b3JJbmxpbmVzLmgiCisjaW1wb3J0IDxtdXRleD4KKyNp
bXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBzdGF0aWMgTlNNYXBUYWJsZSAqZ2xvYmFs
V3JhcHBlckNhY2hlID0gMDsKIAotc3RhdGljIE11dGV4JiB3cmFwcGVyQ2FjaGVMb2NrKCkKK3N0
YXRpYyBzdGQ6Om11dGV4JiB3cmFwcGVyQ2FjaGVNdXRleCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChNdXRleCwgbXV0ZXgsICgpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8c3Rk
OjptdXRleD4gbXV0ZXg7CisKICAgICByZXR1cm4gbXV0ZXg7CiB9CiAKQEAgLTY5LDEzICs3Miwx
MyBAQCBzdGF0aWMgTlNNYXBUYWJsZSAqd3JhcHBlckNhY2hlKCkKIAogKyAodm9pZClhZGRXcmFw
cGVyOihKU1ZpcnR1YWxNYWNoaW5lICopd3JhcHBlciBmb3JKU0NvbnRleHRHcm91cFJlZjooSlND
b250ZXh0R3JvdXBSZWYpZ3JvdXAKIHsKLSAgICBNdXRleExvY2tlciBsb2NrZXIod3JhcHBlckNh
Y2hlTG9jaygpKTsKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayh3cmFwcGVy
Q2FjaGVNdXRleCgpKTsKICAgICBOU01hcEluc2VydCh3cmFwcGVyQ2FjaGUoKSwgZ3JvdXAsIHdy
YXBwZXIpOwogfQogCiArIChKU1ZpcnR1YWxNYWNoaW5lICopd3JhcHBlckZvckpTQ29udGV4dEdy
b3VwUmVmOihKU0NvbnRleHRHcm91cFJlZilncm91cAogewotICAgIE11dGV4TG9ja2VyIGxvY2tl
cih3cmFwcGVyQ2FjaGVMb2NrKCkpOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBs
b2NrKHdyYXBwZXJDYWNoZU11dGV4KCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU1ZpcnR1
YWxNYWNoaW5lICo+KE5TTWFwR2V0KHdyYXBwZXJDYWNoZSgpLCBncm91cCkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDVGhyZWFkU2hhcmVkRGF0YS5oCmluZGV4IDkx
NWMyYzk5MTY2MTVlMGY0MjU2Y2M3MTZiZjEwODE5NmM3YmI0NjIuLjgzNjI0ZTUyMDJiNzliN2Yy
NzZmMmM3YjUxZDIzN2U1ZmUwN2I3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0dDVGhyZWFkU2hhcmVkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0dDVGhyZWFkU2hhcmVkRGF0YS5oCkBAIC05Miw3ICs5Miw3IEBAIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV9udW1iZXJPZkFjdGl2ZVBhcmFsbGVsTWFya2VyczsKICAgICBib29sIG1fcGFy
YWxsZWxNYXJrZXJzU2hvdWxkRXhpdDsKIAotICAgIE11dGV4IG1fb3BhcXVlUm9vdHNMb2NrOwor
ICAgIHN0ZDo6bXV0ZXggbV9vcGFxdWVSb290c011dGV4OwogICAgIEhhc2hTZXQ8dm9pZCo+IG1f
b3BhcXVlUm9vdHM7CiAKICAgICBTcGluTG9jayBtX2NvcHlMb2NrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwCmluZGV4IGI5MTI5MjU3OWZkOWVmYzY5YTQ4OGZj
MTA2MDAxMmRmYTA4YThhYzkuLjBhN2VlYTMxNzEyNjUyNTg3NTBmYTA0ZTM3MGE3MjE4NmEwYmU5
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKQEAgLTI0
MCwxMSArMjQwLDkgQEAgdm9pZCBTbG90VmlzaXRvcjo6bWVyZ2VPcGFxdWVSb290cygpCiAgICAg
U3RhY2tTdGF0czo6cHJvYmUoKTsKICAgICBBU1NFUlQoIW1fb3BhcXVlUm9vdHMuaXNFbXB0eSgp
KTsgLy8gU2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW4gb3BhcXVlIHJvb3RzIGFyZSBub24tZW1w
dHkuCiAgICAgewotICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9zaGFyZWQubV9vcGFxdWVS
b290c0xvY2spOwotICAgICAgICBIYXNoU2V0PHZvaWQqPjo6aXRlcmF0b3IgYmVnaW4gPSBtX29w
YXF1ZVJvb3RzLmJlZ2luKCk7Ci0gICAgICAgIEhhc2hTZXQ8dm9pZCo+OjppdGVyYXRvciBlbmQg
PSBtX29wYXF1ZVJvb3RzLmVuZCgpOwotICAgICAgICBmb3IgKEhhc2hTZXQ8dm9pZCo+OjppdGVy
YXRvciBpdGVyID0gYmVnaW47IGl0ZXIgIT0gZW5kOyArK2l0ZXIpCi0gICAgICAgICAgICBtX3No
YXJlZC5tX29wYXF1ZVJvb3RzLmFkZCgqaXRlcik7CisgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxz
dGQ6Om11dGV4PiBsb2NrKG1fc2hhcmVkLm1fb3BhcXVlUm9vdHNNdXRleCk7CisgICAgICAgIGZv
ciAoYXV0byogcm9vdCA6IG1fb3BhcXVlUm9vdHMpCisgICAgICAgICAgICBtX3NoYXJlZC5tX29w
YXF1ZVJvb3RzLmFkZChyb290KTsKICAgICB9CiAgICAgbV9vcGFxdWVSb290cy5jbGVhcigpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3JJbmxp
bmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaApp
bmRleCBjY2QyZTRhZTFjZTMxZDUxNDg2MGNiNTFiMjAwMjAxNzE3OWQyMzc4Li41M2U4ODMyNDg3
ZDY4YjE1MTUzNTdkMTNlNmZlMTM3NjFkNTc4OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaApAQCAtMTc2LDcgKzE3Niw3IEBAIGlubGlu
ZSBUcmlTdGF0ZSBTbG90VmlzaXRvcjo6Y29udGFpbnNPcGFxdWVSb290VHJpU3RhdGUodm9pZCog
cm9vdCkKIHsKICAgICBpZiAobV9vcGFxdWVSb290cy5jb250YWlucyhyb290KSkKICAgICAgICAg
cmV0dXJuIFRydWVUcmlTdGF0ZTsKLSAgICBNdXRleExvY2tlciBsb2NrZXIobV9zaGFyZWQubV9v
cGFxdWVSb290c0xvY2spOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1f
c2hhcmVkLm1fb3BhcXVlUm9vdHNNdXRleCk7CiAgICAgaWYgKG1fc2hhcmVkLm1fb3BhcXVlUm9v
dHMuY29udGFpbnMocm9vdCkpCiAgICAgICAgIHJldHVybiBUcnVlVHJpU3RhdGU7CiAgICAgcmV0
dXJuIE1peGVkVHJpU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCmluZGV4IDRmM2Y0ZTZkNWFkZmM4YWFk
Yzc3MTQ2NjljNTM4ZGI4MjE4NWU5YTIuLjk1ZDliNjRkN2YyNjhmOTc4ZDNhYmViMjFmOTk0NzI3
NWE2MWFiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCkBAIC0zMSw4ICszMSw3IEBACiAjaW1wb3J0ICJS
ZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmgiCiAjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgog
I2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KLSNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgot
I2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgorI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KIAogT0JK
Q19DTEFTUyBOU0RpY3Rpb25hcnk7CiBPQkpDX0NMQVNTIE5TU3RyaW5nOwpAQCAtOTAsNyArODks
NyBAQCBwcml2YXRlOgogICAgIC8vIEFueSBkZWJ1Z2dhYmxlIGNhbiBzZW5kIG1lc3NhZ2VzIG92
ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgogICAgIC8vIFNvIGxvY2sgYWNjZXNzIHRvIGFsbCBtYXBz
IGFuZCBzdGF0ZSBhcyB0aGV5IGNhbiBjaGFuZ2UKICAgICAvLyBmcm9tIGFueSB0aHJlYWQuCi0g
ICAgTXV0ZXggbV9sb2NrOworICAgIHN0ZDo6bXV0ZXggbV9tdXRleDsKIAogICAgIEhhc2hNYXA8
dW5zaWduZWQsIHN0ZDo6cGFpcjxSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlKiwgUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZUluZm8+PiBtX2RlYnVnZ2FibGVNYXA7CiAgICAgSGFzaE1hcDx1bnNp
Z25lZCwgUmVmUHRyPFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uPj4gbV9jb25u
ZWN0aW9uTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvUmVtb3RlSW5zcGVjdG9yLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLm1tCmluZGV4IDE1M2RkMmU4ZDc5ZjY5ODc3MGE3NGVl
MmYzMzQxMDQ4NzgxYmI2ZTUuLjM2NzYyNzc0NTU0OWE5ZjI3MjhhOGI4NmFiYzNmYTcyYjg2YTZh
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1Jl
bW90ZUluc3BlY3Rvci5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVJbnNwZWN0b3IubW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIlJlbW90
ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0Zv
dW5kYXRpb24uaD4KICNpbXBvcnQgPG5vdGlmeS5oPgorI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJl
YWQuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTAwLDcgKzEwMSw3IEBA
IHVuc2lnbmVkIFJlbW90ZUluc3BlY3Rvcjo6bmV4dEF2YWlsYWJsZUlkZW50aWZpZXIoKQogCiB2
b2lkIFJlbW90ZUluc3BlY3Rvcjo6cmVnaXN0ZXJEZWJ1Z2dhYmxlKFJlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGUqIGRlYnVnZ2FibGUpCiB7Ci0gICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fbG9jayk7
CisgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAKICAgICB1
bnNpZ25lZCBpZGVudGlmaWVyID0gbmV4dEF2YWlsYWJsZUlkZW50aWZpZXIoKTsKICAgICBkZWJ1
Z2dhYmxlLT5zZXRJZGVudGlmaWVyKGlkZW50aWZpZXIpOwpAQCAtMTE0LDcgKzExNSw3IEBAIHZv
aWQgUmVtb3RlSW5zcGVjdG9yOjpyZWdpc3RlckRlYnVnZ2FibGUoUmVtb3RlSW5zcGVjdG9yRGVi
dWdnYWJsZSogZGVidWdnYWJsZSkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnVucmVnaXN0ZXJE
ZWJ1Z2dhYmxlKFJlbW90ZUluc3BlY3RvckRlYnVnZ2FibGUqIGRlYnVnZ2FibGUpCiB7Ci0gICAg
TXV0ZXhMb2NrZXIgbG9ja2VyKG1fbG9jayk7CisgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0
ZXg+IGxvY2sobV9tdXRleCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyID0gZGVidWdnYWJs
ZS0+aWRlbnRpZmllcigpOwogICAgIGlmICghaWRlbnRpZmllcikKQEAgLTEzMiw3ICsxMzMsNyBA
QCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6dW5yZWdpc3RlckRlYnVnZ2FibGUoUmVtb3RlSW5zcGVj
dG9yRGVidWdnYWJsZSogZGVidWdnYWJsZQogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6dXBkYXRl
RGVidWdnYWJsZShSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlKiBkZWJ1Z2dhYmxlKQogewotICAg
IE11dGV4TG9ja2VyIGxvY2tlcihtX2xvY2spOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11
dGV4PiBsb2NrKG1fbXV0ZXgpOwogCiAgICAgdW5zaWduZWQgaWRlbnRpZmllciA9IGRlYnVnZ2Fi
bGUtPmlkZW50aWZpZXIoKTsKICAgICBpZiAoIWlkZW50aWZpZXIpCkBAIC0xNDYsNyArMTQ3LDcg
QEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnVwZGF0ZURlYnVnZ2FibGUoUmVtb3RlSW5zcGVjdG9y
RGVidWdnYWJsZSogZGVidWdnYWJsZSkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRNZXNz
YWdlVG9SZW1vdGVGcm9udGVuZCh1bnNpZ25lZCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fbG9jayk7CisgICAgc3RkOjpsb2Nr
X2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAKICAgICBpZiAoIW1feHBjQ29ubmVj
dGlvbikKICAgICAgICAgcmV0dXJuOwpAQCAtMTY2LDcgKzE2Nyw3IEBAIHZvaWQgUmVtb3RlSW5z
cGVjdG9yOjpzZW5kTWVzc2FnZVRvUmVtb3RlRnJvbnRlbmQodW5zaWduZWQgaWRlbnRpZmllciwg
Y29uc3QgU3RyCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydCgpCiB7Ci0gICAgTXV0ZXhM
b2NrZXIgbG9ja2VyKG1fbG9jayk7CisgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxv
Y2sobV9tdXRleCk7CiAKICAgICBpZiAobV9lbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0x
ODIsNyArMTgzLDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0KCkKIAogdm9pZCBSZW1v
dGVJbnNwZWN0b3I6OnN0b3AoKQogewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xvY2spOwor
ICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1fbXV0ZXgpOwogCiAgICAgaWYg
KCFtX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTIwNyw3ICsyMDgsNyBAQCB2b2lkIFJl
bW90ZUluc3BlY3Rvcjo6c3RvcCgpCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXR1cFhQQ0Nv
bm5lY3Rpb25JZk5lZWRlZCgpCiB7Ci0gICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fbG9jayk7Cisg
ICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAKICAgICBpZiAo
bV94cGNDb25uZWN0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0yMjcsNyArMjI4LDcgQEAgdm9p
ZCBSZW1vdGVJbnNwZWN0b3I6OnNldHVwWFBDQ29ubmVjdGlvbklmTmVlZGVkKCkKIAogdm9pZCBS
ZW1vdGVJbnNwZWN0b3I6OnhwY0Nvbm5lY3Rpb25SZWNlaXZlZE1lc3NhZ2UoUmVtb3RlSW5zcGVj
dG9yWFBDQ29ubmVjdGlvbiosIE5TU3RyaW5nICptZXNzYWdlTmFtZSwgTlNEaWN0aW9uYXJ5ICp1
c2VySW5mbykKIHsKLSAgICBNdXRleExvY2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICBzdGQ6Omxv
Y2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX211dGV4KTsKIAogICAgIGlmIChbbWVzc2FnZU5h
bWUgaXNFcXVhbFRvU3RyaW5nOldJUlBlcm1pc3Npb25EZW5pZWRdKSB7CiAgICAgICAgIHN0b3Ao
KTsKQEAgLTI1Miw3ICsyNTMsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6eHBjQ29ubmVjdGlv
blJlY2VpdmVkTWVzc2FnZShSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uKgogCiB2b2lkIFJl
bW90ZUluc3BlY3Rvcjo6eHBjQ29ubmVjdGlvbkZhaWxlZChSZW1vdGVJbnNwZWN0b3JYUENDb25u
ZWN0aW9uKiBjb25uZWN0aW9uKQogewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xvY2spOwor
ICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKG1fbXV0ZXgpOwogICAgIGlmIChj
b25uZWN0aW9uICE9IG1feHBjQ29ubmVjdGlvbikKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNTAs
NyArMzUxLDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnB1c2hMaXN0aW5nU29vbigpCiAKICAg
ICBtX3B1c2hTY2hlZHVsZWQgPSB0cnVlOwogICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3Rp
bWUoRElTUEFUQ0hfVElNRV9OT1csIDAuMDIgKiBOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRf
Z2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBeewotICAg
ICAgICBNdXRleExvY2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJk
PHN0ZDo6bXV0ZXg+IGxvY2sobV9tdXRleCk7CiAgICAgICAgIGlmIChtX3B1c2hTY2hlZHVsZWQp
CiAgICAgICAgICAgICBwdXNoTGlzdGluZ05vdygpOwogICAgIH0pOwpAQCAtNDY3LDcgKzQ2OCw3
IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpyZWNlaXZlZEluZGljYXRlTWVzc2FnZShOU0RpY3Rp
b25hcnkgKnVzZXJJbmZvKQogICAgIEJPT0wgaW5kaWNhdGVFbmFibGVkID0gW1t1c2VySW5mbyBv
YmplY3RGb3JLZXk6V0lSSW5kaWNhdGVFbmFibGVkS2V5XSBib29sVmFsdWVdOwogCiAgICAgZGlz
cGF0Y2hBc3luY09uUXVldWVTYWZlRm9yQW55RGVidWdnYWJsZSheewotICAgICAgICBNdXRleExv
Y2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+
IGxvY2sobV9tdXRleCk7CiAKICAgICAgICAgYXV0byBpdCA9IG1fZGVidWdnYWJsZU1hcC5maW5k
KGlkZW50aWZpZXIpOwogICAgICAgICBpZiAoaXQgPT0gbV9kZWJ1Z2dhYmxlTWFwLmVuZCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3Rl
SW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLmgKaW5k
ZXggMmFjYjY2YWZjYzMxMWFjOGE4MzBmMTczNTFlZWNiNDEyZTRiZjJmOS4uMzRiNzQ4YmM5Y2Nh
ZmZjMDY4OWZhODk4ODk0MDNkNWM2ZWNiOTQxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbi5oCkBAIC0zMSw4ICszMSw4IEBACiAjaW1wb3J0
ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbXBvcnQgIlJlbW90ZUluc3BlY3RvckRl
YnVnZ2FibGUuaCIKICNpbXBvcnQgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CisjaW1wb3J0IDxtdXRl
eD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4K
ICNpbXBvcnQgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBPQkpDX0NMQVNTIE5TU3Ry
aW5nOwpAQCAtNjIsOCArNjIsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhpcyBjb25uZWN0aW9u
IGZyb20gdGhlIFJlbW90ZUluc3BlY3RvciBzaW5nbGV0b24gdG8gdGhlIERlYnVnZ2FibGUKICAg
ICAvLyBjYW4gYmUgdXNlZCBvbiBtdWx0aXBsZSB0aHJlYWRzLiBTbyBhbnkgYWNjZXNzIHRvIHRo
ZSBkZWJ1Z2dhYmxlCi0gICAgLy8gaXRzZWxmIG11c3QgdGFrZSB0aGlzIGxvY2sgdG8gZW5zdXJl
IG1fZGVidWdnYWJsZSBpcyB2YWxpZC4KLSAgICBNdXRleCBtX2RlYnVnZ2FibGVMb2NrOworICAg
IC8vIGl0c2VsZiBtdXN0IHRha2UgdGhpcyBtdXRleCB0byBlbnN1cmUgbV9kZWJ1Z2dhYmxlIGlz
IHZhbGlkLgorICAgIHN0ZDo6bXV0ZXggbV9kZWJ1Z2dhYmxlTXV0ZXg7CiAKICAgICBSZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlKiBtX2RlYnVnZ2FibGU7CiAgICAgZGlzcGF0Y2hfcXVldWVfdCBt
X3F1ZXVlRm9yRGVidWdnYWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckRlYnVnZ2FibGVDb25uZWN0aW9uLm1tIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVi
dWdnYWJsZUNvbm5lY3Rpb24ubW0KaW5kZXggNWZmZmVhNzI0NTI0OWIyY2RjNDg5ZTgzZmM1OWM3
ZWI2OWRmNWQ1NS4uYmRmMjE1ZTAzZDgyMzQ0MzNmZWQ3MjkxZmM2ZGIwNjllOGNmNWNhZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5z
cGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb24ubW0K
QEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlv
bjo6ZGlzcGF0Y2hBc3luY09uRGVidWdnYWJsZSh2b2lkICheYmxvY2sKIAogYm9vbCBSZW1vdGVJ
bnNwZWN0b3JEZWJ1Z2dhYmxlQ29ubmVjdGlvbjo6c2V0dXAoKQogewotICAgIE11dGV4TG9ja2Vy
IGxvY2tlcihtX2RlYnVnZ2FibGVMb2NrKTsKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRl
eD4gbG9jayhtX2RlYnVnZ2FibGVNdXRleCk7CiAKICAgICBpZiAoIW1fZGVidWdnYWJsZSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTE1LDcgKzExNSw3IEBAIGJvb2wgUmVtb3RlSW5zcGVj
dG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OnNldHVwKCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3JE
ZWJ1Z2dhYmxlQ29ubmVjdGlvbjo6Y2xvc2VGcm9tRGVidWdnYWJsZSgpCiB7Ci0gICAgTXV0ZXhM
b2NrZXIgbG9ja2VyKG1fZGVidWdnYWJsZUxvY2spOworICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6
Om11dGV4PiBsb2NrKG1fZGVidWdnYWJsZU11dGV4KTsKIAogICAgIG1fZGVidWdnYWJsZSA9IG51
bGxwdHI7CiB9CkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JEZWJ1Z2dh
YmxlQ29ubmVjdGlvbjo6Y2xvc2UoKQogICAgIHJlZigpOwogICAgIGRpc3BhdGNoQXN5bmNPbkRl
YnVnZ2FibGUoXnsKICAgICAgICAgewotICAgICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1f
ZGVidWdnYWJsZUxvY2spOworICAgICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+
IGxvY2sobV9kZWJ1Z2dhYmxlTXV0ZXgpOwogCiAgICAgICAgICAgICBpZiAobV9kZWJ1Z2dhYmxl
KSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fY29ubmVjdGVkKQpAQCAtMTQzLDcgKzE0Myw3IEBA
IHZvaWQgUmVtb3RlSW5zcGVjdG9yRGVidWdnYWJsZUNvbm5lY3Rpb246OnNlbmRNZXNzYWdlVG9C
YWNrZW5kKE5TU3RyaW5nICptZXNzYWdlCiAgICAgcmVmKCk7CiAgICAgZGlzcGF0Y2hBc3luY09u
RGVidWdnYWJsZSheewogICAgICAgICB7Ci0gICAgICAgICAgICBNdXRleExvY2tlciBsb2NrZXIo
bV9kZWJ1Z2dhYmxlTG9jayk7CisgICAgICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRl
eD4gbG9jayhtX2RlYnVnZ2FibGVNdXRleCk7CiAKICAgICAgICAgICAgIGlmIChtX2RlYnVnZ2Fi
bGUpCiAgICAgICAgICAgICAgICAgbV9kZWJ1Z2dhYmxlLT5kaXNwYXRjaE1lc3NhZ2VGcm9tUmVt
b3RlRnJvbnRlbmQobWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmNwcAppbmRleCA1YWM2Y2M0MTI0YjViYzAxN2ZjZTdiNmJmYmMw
ZWZkMGYyOTZiOTlhLi43YmIyNWQ4NWY5YjEyZWY5OGY4YWMxYzkxMDBlNGQ5MmMzYzRmNDVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5j
cHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJDb2RlUHJvZmlsaW5nLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTWV0YUFsbG9jYXRvci5oPgorI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24u
aD4KICNpZiBFTkFCTEUoQVNTRU1CTEVSX1dYX0VYQ0xVU0lWRSkKICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgpAQCAtNTcsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgRGVtYW5kRXhlY3V0YWJs
ZUFsbG9jYXRvcigpCiAgICAgICAgIDogTWV0YUFsbG9jYXRvcihqaXRBbGxvY2F0aW9uR3JhbnVs
ZSkKICAgICB7Ci0gICAgICAgIE11dGV4TG9ja2VyIGxvY2soYWxsb2NhdG9yc011dGV4KCkpOwor
ICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhhbGxvY2F0b3JzTXV0ZXgo
KSk7CiAgICAgICAgIGFsbG9jYXRvcnMoKS5hZGQodGhpcyk7CiAgICAgICAgIC8vIERvbid0IHBy
ZWFsbG9jYXRlIGFueSBtZW1vcnkgaGVyZS4KICAgICB9CkBAIC02NSw3ICs2Niw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5EZW1hbmRFeGVjdXRhYmxlQWxsb2NhdG9yKCkKICAgICB7CiAgICAg
ICAgIHsKLSAgICAgICAgICAgIE11dGV4TG9ja2VyIGxvY2soYWxsb2NhdG9yc011dGV4KCkpOwor
ICAgICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2soYWxsb2NhdG9yc011
dGV4KCkpOwogICAgICAgICAgICAgYWxsb2NhdG9ycygpLnJlbW92ZSh0aGlzKTsKICAgICAgICAg
fQogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVzZXJ2YXRpb25zLnNpemUoKTsg
KytpKQpAQCAtNzUsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHNpemVfdCBieXRlc0Fs
bG9jYXRlZEJ5QWxsQWxsb2NhdG9ycygpCiAgICAgewogICAgICAgICBzaXplX3QgdG90YWwgPSAw
OwotICAgICAgICBNdXRleExvY2tlciBsb2NrKGFsbG9jYXRvcnNNdXRleCgpKTsKKyAgICAgICAg
c3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2soYWxsb2NhdG9yc011dGV4KCkpOwogICAg
ICAgICBmb3IgKEhhc2hTZXQ8RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcio+Ojpjb25zdF9pdGVy
YXRvciBhbGxvY2F0b3IgPSBhbGxvY2F0b3JzKCkuYmVnaW4oKTsgYWxsb2NhdG9yICE9IGFsbG9j
YXRvcnMoKS5lbmQoKTsgKythbGxvY2F0b3IpCiAgICAgICAgICAgICB0b3RhbCArPSAoKmFsbG9j
YXRvciktPmJ5dGVzQWxsb2NhdGVkKCk7CiAgICAgICAgIHJldHVybiB0b3RhbDsKQEAgLTg0LDcg
Kzg1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBzaXplX3QgYnl0ZXNDb21taXR0ZWRCeUFsbG9j
YWN0b3JzKCkKICAgICB7CiAgICAgICAgIHNpemVfdCB0b3RhbCA9IDA7Ci0gICAgICAgIE11dGV4
TG9ja2VyIGxvY2soYWxsb2NhdG9yc011dGV4KCkpOworICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8
c3RkOjptdXRleD4gbG9jayhhbGxvY2F0b3JzTXV0ZXgoKSk7CiAgICAgICAgIGZvciAoSGFzaFNl
dDxEZW1hbmRFeGVjdXRhYmxlQWxsb2NhdG9yKj46OmNvbnN0X2l0ZXJhdG9yIGFsbG9jYXRvciA9
IGFsbG9jYXRvcnMoKS5iZWdpbigpOyBhbGxvY2F0b3IgIT0gYWxsb2NhdG9ycygpLmVuZCgpOyAr
K2FsbG9jYXRvcikKICAgICAgICAgICAgIHRvdGFsICs9ICgqYWxsb2NhdG9yKS0+Ynl0ZXNDb21t
aXR0ZWQoKTsKICAgICAgICAgcmV0dXJuIHRvdGFsOwpAQCAtOTMsNyArOTQsNyBAQCBwdWJsaWM6
CiAjaWYgRU5BQkxFKE1FVEFfQUxMT0NBVE9SX1BST0ZJTEUpCiAgICAgc3RhdGljIHZvaWQgZHVt
cFByb2ZpbGVGcm9tQWxsQWxsb2NhdG9ycygpCiAgICAgewotICAgICAgICBNdXRleExvY2tlciBs
b2NrKGFsbG9jYXRvcnNNdXRleCgpKTsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0
ZXg+IGxvY2soYWxsb2NhdG9yc011dGV4KCkpOwogICAgICAgICBmb3IgKEhhc2hTZXQ8RGVtYW5k
RXhlY3V0YWJsZUFsbG9jYXRvcio+Ojpjb25zdF9pdGVyYXRvciBhbGxvY2F0b3IgPSBhbGxvY2F0
b3JzKCkuYmVnaW4oKTsgYWxsb2NhdG9yICE9IGFsbG9jYXRvcnMoKS5lbmQoKTsgKythbGxvY2F0
b3IpCiAgICAgICAgICAgICAoKmFsbG9jYXRvciktPmR1bXBQcm9maWxlKCk7CiAgICAgfQpAQCAt
MTM4LDkgKzEzOSwxMSBAQCBwcml2YXRlOgogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhh
c2hTZXQ8RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcio+LCBzQWxsb2NhdG9ycywgKCkpOwogICAg
ICAgICByZXR1cm4gc0FsbG9jYXRvcnM7CiAgICAgfQotICAgIHN0YXRpYyBNdXRleCYgYWxsb2Nh
dG9yc011dGV4KCkKKworICAgIHN0YXRpYyBzdGQ6Om11dGV4JiBhbGxvY2F0b3JzTXV0ZXgoKQog
ICAgIHsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNdXRleCwgbXV0ZXgsICgpKTsKKyAg
ICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPHN0ZDo6bXV0ZXg+IG11dGV4OworCiAgICAgICAg
IHJldHVybiBtdXRleDsKICAgICB9CiB9Owo=
</data>
<flag name="review"
          id="247687"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>