<?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>129321</bug_id>
          
          <creation_ts>2014-02-25 12:33:04 -0800</creation_ts>
          <short_desc>REGRESSION(r164638): Broke Windows build. (Requested by bfulgham on #webkit).</short_desc>
          <delta_ts>2014-02-25 12:37:22 -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>
          
          <blocked>129058</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>andersca</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984434</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 12:33:04 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/164638 broke the build:
Broke Windows build. (Requested by bfulgham on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984436</commentid>
    <comment_count>1</comment_count>
      <attachid>225170</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 12:33:29 -0800</bug_when>
    <thetext>Created attachment 225170
ROLLOUT of r164638

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984440</commentid>
    <comment_count>2</comment_count>
      <attachid>225170</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 12:37:20 -0800</bug_when>
    <thetext>Comment on attachment 225170
ROLLOUT of r164638

Clearing flags on attachment: 225170

Committed r164662: &lt;http://trac.webkit.org/changeset/164662&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984441</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 12:37:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225170</attachid>
            <date>2014-02-25 12:33:29 -0800</date>
            <delta_ts>2014-02-25 12:37:20 -0800</delta_ts>
            <desc>ROLLOUT of r164638</desc>
            <filename>bug-129321-20140225123328.patch</filename>
            <type>text/plain</type>
            <size>25465</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg0ZDUxYWZmODk3ZGY0
OGYwYjM5NWQ2ZjVlNmVjN2JhZjUyNTU5ZS4uOTg2NzIwMTc0NjhhNTg4YzY2N2Q1ZWE1NzMxM2U2
ODEwYTkzMGU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE0LTAyLTI1ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTY0NjM4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xNjQ2MzgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyOTMyMQorCisgICAgICAgIEJyb2tlIFdpbmRvd3MgYnVpbGQuIChSZXF1ZXN0ZWQg
YnkgYmZ1bGdoYW0gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5o
OgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGROb2Rlc0xhenlTbmFwc2hvdDo6dGFrZVNuYXBzaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OkNoaWxkTm9kZXNMYXp5U25hcHNob3Q6Omhhc1NuYXBzaG90
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbnN1cmVB
dHRyTm9kZUxpc3RGb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dHJp
YnV0ZXMpOgorICAgICAgICAqIGRvbS9FbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zLmg6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zOjpFbGVtZW50SXRlcmF0b3JB
c3NlcnRpb25zKToKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50UmFyZURhdGE6OnNldEF0dHJpYnV0ZU1hcCk6CisgICAgICAgICogZG9tL011dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb246Om9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKToKKyAgICAgICAg
KFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNsZWFyVHJhbnNpZW50UmVn
aXN0cmF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uOjphZGRSZWdpc3RyYXRpb25Ob2Rlc1RvU2V0KToKKyAgICAgICAgKiBkb20vTXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hbWVkTm9kZU1hcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hbWVkTm9kZU1hcDo6TmFtZWROb2RlTWFwKToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjplbnN1cmVSYXJlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlOjpkaWRNb3ZlVG9OZXdEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpl
bnN1cmVFdmVudFRhcmdldERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlZ2lzdGVyTXV0YXRp
b25PYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjp1bnJlZ2lzdGVyTXV0YXRpb25P
YnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpub3RpZnlNdXRhdGlvbk9ic2VydmVy
c05vZGVXaWxsRGV0YWNoKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGRvbS9O
b2RlUmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUxpc3RzTm9kZURhdGE6Ok5vZGVMaXN0c05vZGVE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVNdXRhdGlvbk9ic2VydmVyRGF0YTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVNdXRhdGlvbk9ic2VydmVyRGF0YTo6Tm9kZU11dGF0
aW9uT2JzZXJ2ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0YTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0YTo6Y2xlYXJOb2RlTGlzdHMpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZVJhcmVEYXRhOjplbnN1cmVOb2RlTGlzdHMpOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZVJhcmVEYXRhOjplbnN1cmVNdXRhdGlvbk9ic2VydmVyRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6Ok5vZGVSYXJlRGF0YSk6CisgICAgICAgICogZG9t
L1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6cmVi
dWlsZFByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKToKKwogMjAxNC0wMi0yNSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTaG93IHN0YXR1
cyBpbWFnZSB3aGVuIHBsYXlpbmcgdmlkZW8gdG8gZXh0ZXJuYWwgZGV2aWNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NvbnRhaW5lck5vZGUuaAppbmRleCA1NGU4OGY2Nzc2YTRhOGJjN2IzZjdhN2E1MTYyMTRjZmJj
YTg2M2M2Li4xN2RjNTM2YjUxYzU3NjQwZjc4YWNlMTM0NTZkNDczMjE2YWIyNzM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAgLTI2LDcgKzI2LDggQEAKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIk5vZGUuaCIKLSNpbmNsdWRlIDxt
ZW1vcnk+CisKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yODcsNyArMjg4LDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgaWYgKGhhc1NuYXBzaG90KCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIG1fY2hpbGROb2RlcyA9IHN0ZDo6bWFrZV91bmlxdWU8VmVjdG9yPFJlZlB0cjxOb2RlPj4+
KCk7CisgICAgICAgIG1fY2hpbGROb2RlcyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8UmVmUHRyPE5v
ZGU+PigpKTsKICAgICAgICAgTm9kZSogbm9kZSA9IG1fY3VycmVudE5vZGUuZ2V0KCk7CiAgICAg
ICAgIHdoaWxlIChub2RlKSB7CiAgICAgICAgICAgICBtX2NoaWxkTm9kZXMtPmFwcGVuZChub2Rl
KTsKQEAgLTI5Niw3ICsyOTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgQ2hpbGROb2Rlc0xh
enlTbmFwc2hvdCogbmV4dFNuYXBzaG90KCkgeyByZXR1cm4gbV9uZXh0U25hcHNob3Q7IH0KLSAg
ICBib29sIGhhc1NuYXBzaG90KCkgeyByZXR1cm4gISFtX2NoaWxkTm9kZXM7IH0KKyAgICBib29s
IGhhc1NuYXBzaG90KCkgeyByZXR1cm4gISFtX2NoaWxkTm9kZXMuZ2V0KCk7IH0KIAogICAgIHN0
YXRpYyB2b2lkIHRha2VDaGlsZE5vZGVzTGF6eVNuYXBzaG90KCkKICAgICB7CkBAIC0zMTIsNyAr
MzEzLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxOb2RlPiBtX2N1cnJlbnROb2RlOwogICAg
IHVuc2lnbmVkIG1fY3VycmVudEluZGV4OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVm
UHRyPE5vZGU+Pj4gbV9jaGlsZE5vZGVzOyAvLyBMYXppbHkgaW5zdGFudGlhdGVkLgorICAgIE93
blB0cjxWZWN0b3I8UmVmUHRyPE5vZGU+Pj4gbV9jaGlsZE5vZGVzOyAvLyBMYXppbHkgaW5zdGFu
dGlhdGVkLgogICAgIENoaWxkTm9kZXNMYXp5U25hcHNob3QqIG1fbmV4dFNuYXBzaG90OwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDg1MTQ0NjFmNjZmZGQ2NDYwYWExOTYyYWY3Yzc2
MjNmN2RkMTlhMGUuLjc5ZDE1NzlkYjlkNTBlMzg2NWQwOTJmMzI0YWFhYTE1ZjI0NjczNDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTc4LDcgKzc4LDYgQEAKICNpbmNsdWRlICJYTUxOU05h
bWVzLmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgot
I2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvQml0VmVjdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtOTQs
NyArOTMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZShj
b25zdCBFbGVtZW50JiBlbGVtZW50KQogfQogCiB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8QXR0cj4+
IEF0dHJOb2RlTGlzdDsKLXR5cGVkZWYgSGFzaE1hcDxFbGVtZW50Kiwgc3RkOjp1bmlxdWVfcHRy
PEF0dHJOb2RlTGlzdD4+IEF0dHJOb2RlTGlzdE1hcDsKK3R5cGVkZWYgSGFzaE1hcDxFbGVtZW50
KiwgT3duUHRyPEF0dHJOb2RlTGlzdD4+IEF0dHJOb2RlTGlzdE1hcDsKIAogc3RhdGljIEF0dHJO
b2RlTGlzdE1hcCYgYXR0ck5vZGVMaXN0TWFwKCkKIHsKQEAgLTExOCw3ICsxMTcsNyBAQCBzdGF0
aWMgQXR0ck5vZGVMaXN0JiBlbnN1cmVBdHRyTm9kZUxpc3RGb3JFbGVtZW50KEVsZW1lbnQqIGVs
ZW1lbnQpCiAgICAgfQogICAgIEFTU0VSVCghYXR0ck5vZGVMaXN0TWFwKCkuY29udGFpbnMoZWxl
bWVudCkpOwogICAgIGVsZW1lbnQtPnNldEhhc1N5bnRoZXRpY0F0dHJDaGlsZE5vZGVzKHRydWUp
OwotICAgIEF0dHJOb2RlTGlzdE1hcDo6QWRkUmVzdWx0IHJlc3VsdCA9IGF0dHJOb2RlTGlzdE1h
cCgpLmFkZChlbGVtZW50LCBzdGQ6Om1ha2VfdW5pcXVlPEF0dHJOb2RlTGlzdD4oKSk7CisgICAg
QXR0ck5vZGVMaXN0TWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gYXR0ck5vZGVMaXN0TWFwKCkuYWRk
KGVsZW1lbnQsIGFkb3B0UHRyKG5ldyBBdHRyTm9kZUxpc3QpKTsKICAgICByZXR1cm4gKnJlc3Vs
dC5pdGVyYXRvci0+dmFsdWU7CiB9CiAKQEAgLTM1Miw3ICszNTEsNyBAQCBOYW1lZE5vZGVNYXAq
IEVsZW1lbnQ6OmF0dHJpYnV0ZXMoKSBjb25zdAogICAgIGlmIChOYW1lZE5vZGVNYXAqIGF0dHJp
YnV0ZU1hcCA9IHJhcmVEYXRhLmF0dHJpYnV0ZU1hcCgpKQogICAgICAgICByZXR1cm4gYXR0cmli
dXRlTWFwOwogCi0gICAgcmFyZURhdGEuc2V0QXR0cmlidXRlTWFwKHN0ZDo6bWFrZV91bmlxdWU8
TmFtZWROb2RlTWFwPihjb25zdF9jYXN0PEVsZW1lbnQmPigqdGhpcykpKTsKKyAgICByYXJlRGF0
YS5zZXRBdHRyaWJ1dGVNYXAoTmFtZWROb2RlTWFwOjpjcmVhdGUoY29uc3RfY2FzdDxFbGVtZW50
Jj4oKnRoaXMpKSk7CiAgICAgcmV0dXJuIHJhcmVEYXRhLmF0dHJpYnV0ZU1hcCgpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaAppbmRleCBh
OWFhMzg0Y2I3ZDYxY2NjZTNhZTBiNWM4Y2E5YzViZTAyNDI2OWFhLi5jMDU0YmEzNzE1NGFiMTVj
OTg5MGI2MjVkOTMzNGE1NDA1NDBmM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50SXRlcmF0b3JBc3NlcnRpb25zLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgotI2luY2x1ZGUgPG1lbW9yeT4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgY29uc3QgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiAgICAgdWludDY0X3QgbV9pbml0aWFsRE9N
VHJlZVZlcnNpb247Ci0gICAgc3RkOjp1bmlxdWVfcHRyPE5vRXZlbnREaXNwYXRjaEFzc2VydGlv
bj4gbV9ub0V2ZW50RGlzcGF0Y2hBc3NlcnRpb247CisgICAgT3duUHRyPE5vRXZlbnREaXNwYXRj
aEFzc2VydGlvbj4gbV9ub0V2ZW50RGlzcGF0Y2hBc3NlcnRpb247CiB9OwogCiBpbmxpbmUgRWxl
bWVudEl0ZXJhdG9yQXNzZXJ0aW9uczo6RWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucygpCkBAIC01
NCw3ICs1Myw3IEBAIGlubGluZSBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zOjpFbGVtZW50SXRl
cmF0b3JBc3NlcnRpb25zKCkKIGlubGluZSBFbGVtZW50SXRlcmF0b3JBc3NlcnRpb25zOjpFbGVt
ZW50SXRlcmF0b3JBc3NlcnRpb25zKGNvbnN0IEVsZW1lbnQqIGZpcnN0KQogICAgIDogbV9kb2N1
bWVudChmaXJzdCA/ICZmaXJzdC0+ZG9jdW1lbnQoKSA6IG51bGxwdHIpCiAgICAgLCBtX2luaXRp
YWxET01UcmVlVmVyc2lvbihtX2RvY3VtZW50ID8gbV9kb2N1bWVudC0+ZG9tVHJlZVZlcnNpb24o
KSA6IDApCi0gICAgLCBtX25vRXZlbnREaXNwYXRjaEFzc2VydGlvbihtX2RvY3VtZW50ID8gc3Rk
OjptYWtlX3VuaXF1ZTxOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24+KCkgOiBudWxscHRyKQorICAg
ICwgbV9ub0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24obV9kb2N1bWVudCA/IGFkb3B0UHRyKG5ldyBO
b0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24pIDogbnVsbHB0cikKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IGRjMDk2YTYyNTJmMDhmYjUzNDViZTRmZjY4YzdiZDY0
Zjc2NDQ5ODIuLjBjNWFlNmY3OWZiYmY1MWY0MTdiZTAyNTg2MWQwMjFiMjcyZmJmZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTMwLDEzICszMCwxNCBAQAogI2luY2x1
ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAi
U3R5bGVJbmhlcml0ZWREYXRhLmgiCi0jaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50UmFyZURhdGEg
OiBwdWJsaWMgTm9kZVJhcmVEYXRhIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBFbGVtZW50UmFy
ZURhdGEoUmVuZGVyRWxlbWVudCopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPEVsZW1lbnRSYXJl
RGF0YT4gY3JlYXRlKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihu
ZXcgRWxlbWVudFJhcmVEYXRhKHJlbmRlcmVyKSk7IH0KKwogICAgIH5FbGVtZW50UmFyZURhdGEo
KTsKIAogICAgIHZvaWQgc2V0QmVmb3JlUHNldWRvRWxlbWVudChQYXNzUmVmUHRyPFBzZXVkb0Vs
ZW1lbnQ+KTsKQEAgLTkyLDcgKzkzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hhZG93Um9v
dChQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QpIHsgbV9zaGFkb3dSb290ID0gc2hh
ZG93Um9vdDsgfQogCiAgICAgTmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVNYXAoKSBjb25zdCB7IHJl
dHVybiBtX2F0dHJpYnV0ZU1hcC5nZXQoKTsgfQotICAgIHZvaWQgc2V0QXR0cmlidXRlTWFwKHN0
ZDo6dW5pcXVlX3B0cjxOYW1lZE5vZGVNYXA+IGF0dHJpYnV0ZU1hcCkgeyBtX2F0dHJpYnV0ZU1h
cCA9IHN0ZDo6bW92ZShhdHRyaWJ1dGVNYXApOyB9CisgICAgdm9pZCBzZXRBdHRyaWJ1dGVNYXAo
UGFzc093blB0cjxOYW1lZE5vZGVNYXA+IGF0dHJpYnV0ZU1hcCkgeyBtX2F0dHJpYnV0ZU1hcCA9
IGF0dHJpYnV0ZU1hcDsgfQogCiAgICAgUmVuZGVyU3R5bGUqIGNvbXB1dGVkU3R5bGUoKSBjb25z
dCB7IHJldHVybiBtX2NvbXB1dGVkU3R5bGUuZ2V0KCk7IH0KICAgICB2b2lkIHNldENvbXB1dGVk
U3R5bGUoUGFzc1JlZjxSZW5kZXJTdHlsZT4gY29tcHV0ZWRTdHlsZSkgeyBtX2NvbXB1dGVkU3R5
bGUgPSBzdGQ6Om1vdmUoY29tcHV0ZWRTdHlsZSk7IH0KQEAgLTE0OSwxMSArMTUwLDEyIEBAIHBy
aXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERhdGFzZXRET01TdHJpbmdNYXA+IG1fZGF0YXNl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xhc3NMaXN0PiBtX2NsYXNzTGlzdDsKICAgICBSZWZQ
dHI8U2hhZG93Um9vdD4gbV9zaGFkb3dSb290OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxOYW1lZE5v
ZGVNYXA+IG1fYXR0cmlidXRlTWFwOworICAgIE93blB0cjxOYW1lZE5vZGVNYXA+IG1fYXR0cmli
dXRlTWFwOwogCiAgICAgUmVmUHRyPFBzZXVkb0VsZW1lbnQ+IG1fYmVmb3JlUHNldWRvRWxlbWVu
dDsKICAgICBSZWZQdHI8UHNldWRvRWxlbWVudD4gbV9hZnRlclBzZXVkb0VsZW1lbnQ7CiAKKyAg
ICBleHBsaWNpdCBFbGVtZW50UmFyZURhdGEoUmVuZGVyRWxlbWVudCopOwogICAgIHZvaWQgcmVs
ZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDVlN2Fi
NTMxNTU5ZmI2OGEwMzY5MDQzMzk0OTc4OTE3MjMwNzk1MWEuLjEyZTBiNDQxZjBlNGY3ZWMwZDJk
ZmMyZDdlNGMxNjAwNzMxYWQ2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0
YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTM2LDYgKzM2LDExIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorUGFzc093blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
PiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlv
bk9ic2VydmVyPiBvYnNlcnZlciwgTm9kZSogcmVnaXN0cmF0aW9uTm9kZSwgTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMgb3B0aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+JiBhdHRyaWJ1
dGVGaWx0ZXIpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uKG9ic2VydmVyLCByZWdpc3RyYXRpb25Ob2RlLCBvcHRpb25zLCBhdHRyaWJ1dGVG
aWx0ZXIpKTsKK30KKwogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbihQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyLCBO
b2RlKiByZWdpc3RyYXRpb25Ob2RlLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zLCBj
b25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlcikKICAgICA6IG1fb2Jz
ZXJ2ZXIob2JzZXJ2ZXIpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbk5vZGUocmVnaXN0cmF0aW9uTm9k
ZSkKQEAgLTY3LDcgKzcyLDcgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpv
YnNlcnZlZFN1YnRyZWVOb2RlV2lsbERldGFjaChOb2RlKiBub2RlKQogICAgIG1fb2JzZXJ2ZXIt
PnNldEhhc1RyYW5zaWVudFJlZ2lzdHJhdGlvbigpOwogCiAgICAgaWYgKCFtX3RyYW5zaWVudFJl
Z2lzdHJhdGlvbk5vZGVzKSB7Ci0gICAgICAgIG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMg
PSBzdGQ6Om1ha2VfdW5pcXVlPE5vZGVIYXNoU2V0PigpOworICAgICAgICBtX3RyYW5zaWVudFJl
Z2lzdHJhdGlvbk5vZGVzID0gYWRvcHRQdHIobmV3IE5vZGVIYXNoU2V0KTsKIAogICAgICAgICBB
U1NFUlQoIW1fcmVnaXN0cmF0aW9uTm9kZUtlZXBBbGl2ZSk7CiAgICAgICAgIG1fcmVnaXN0cmF0
aW9uTm9kZUtlZXBBbGl2ZSA9IG1fcmVnaXN0cmF0aW9uTm9kZTsgLy8gQmFsYW5jZWQgaW4gY2xl
YXJUcmFuc2llbnRSZWdpc3RyYXRpb25zLgpAQCAtODIsMTAgKzg3LDEwIEBAIHZvaWQgTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6Y2xlYXJUcmFuc2llbnRSZWdpc3RyYXRpb25zKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgaXRlciA6ICptX3RyYW5zaWVu
dFJlZ2lzdHJhdGlvbk5vZGVzKQotICAgICAgICBpdGVyLT51bnJlZ2lzdGVyVHJhbnNpZW50TXV0
YXRpb25PYnNlcnZlcih0aGlzKTsKKyAgICBmb3IgKE5vZGVIYXNoU2V0OjppdGVyYXRvciBpdGVy
ID0gbV90cmFuc2llbnRSZWdpc3RyYXRpb25Ob2Rlcy0+YmVnaW4oKTsgaXRlciAhPSBtX3RyYW5z
aWVudFJlZ2lzdHJhdGlvbk5vZGVzLT5lbmQoKTsgKytpdGVyKQorICAgICAgICAoKml0ZXIpLT51
bnJlZ2lzdGVyVHJhbnNpZW50TXV0YXRpb25PYnNlcnZlcih0aGlzKTsKIAotICAgIG1fdHJhbnNp
ZW50UmVnaXN0cmF0aW9uTm9kZXMgPSBudWxscHRyOworICAgIG1fdHJhbnNpZW50UmVnaXN0cmF0
aW9uTm9kZXMuY2xlYXIoKTsKIAogICAgIEFTU0VSVChtX3JlZ2lzdHJhdGlvbk5vZGVLZWVwQWxp
dmUpOwogICAgIG1fcmVnaXN0cmF0aW9uTm9kZUtlZXBBbGl2ZSA9IDA7IC8vIEJhbGFuY2VkIGlu
IG9ic2VydmVTdWJ0cmVlTm9kZVdpbGxEZXRhY2guCkBAIC0xMjEsOCArMTI2LDggQEAgdm9pZCBN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjphZGRSZWdpc3RyYXRpb25Ob2Rlc1RvU2V0KEhh
c2hTZXQ8Tm9kZSo+JiBub2QKICAgICBub2Rlcy5hZGQobV9yZWdpc3RyYXRpb25Ob2RlKTsKICAg
ICBpZiAoIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMpCiAgICAgICAgIHJldHVybjsKLSAg
ICBmb3IgKGF1dG8mIGl0ZXIgOiAqbV90cmFuc2llbnRSZWdpc3RyYXRpb25Ob2RlcykKLSAgICAg
ICAgbm9kZXMuYWRkKGl0ZXIuZ2V0KCkpOworICAgIGZvciAoTm9kZUhhc2hTZXQ6OmNvbnN0X2l0
ZXJhdG9yIGl0ZXIgPSBtX3RyYW5zaWVudFJlZ2lzdHJhdGlvbk5vZGVzLT5iZWdpbigpOyBpdGVy
ICE9IG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmVuZCgpOyArK2l0ZXIpCisgICAgICAg
IG5vZGVzLmFkZChpdGVyLT5nZXQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oCmlu
ZGV4IGQ1OTA5Y2M0MzI0NWQ0ODg5MWQ5NTczMjZmMjM0YmI5NTFlMjgxMDYuLjVhZjZjMzU3ZWE4
YTRiNTk1ZmI2MzA5ZGY5OWViODFkN2VmMzllMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2Rl
ZmluZSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uX2gKIAogI2luY2x1ZGUgIk11dGF0aW9u
T2JzZXJ2ZXIuaCIKLSNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdIYXNoLmg+CkBAIC00Myw3ICs0Miw3IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7
CiAKIGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gewogcHVibGljOgotICAgIE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24oUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiwg
Tm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmlu
Zz4mIGF0dHJpYnV0ZUZpbHRlcik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5v
ZGUqLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmc+
JiBhdHRyaWJ1dGVGaWx0ZXIpOwogICAgIH5NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKCk7
CiAKICAgICB2b2lkIHJlc2V0T2JzZXJ2YXRpb24oTXV0YXRpb25PYnNlcnZlck9wdGlvbnMsIGNv
bnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgYXR0cmlidXRlRmlsdGVyKTsKQEAgLTYyLDExICs2
MSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb25Ob2Rlc1RvU2V0KEhhc2hT
ZXQ8Tm9kZSo+JikgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbihQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+LCBOb2RlKiwgTXV0YXRpb25PYnNl
cnZlck9wdGlvbnMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgYXR0cmlidXRlRmlsdGVy
KTsKKwogICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBtX29ic2VydmVyOwogICAgIE5vZGUq
IG1fcmVnaXN0cmF0aW9uTm9kZTsKICAgICBSZWZQdHI8Tm9kZT4gbV9yZWdpc3RyYXRpb25Ob2Rl
S2VlcEFsaXZlOwogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8Tm9kZT4+IE5vZGVIYXNoU2V0
OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxOb2RlSGFzaFNldD4gbV90cmFuc2llbnRSZWdpc3RyYXRp
b25Ob2RlczsKKyAgICBPd25QdHI8Tm9kZUhhc2hTZXQ+IG1fdHJhbnNpZW50UmVnaXN0cmF0aW9u
Tm9kZXM7CiAKICAgICBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBtX29wdGlvbnM7CiAgICAgSGFz
aFNldDxBdG9taWNTdHJpbmc+IG1fYXR0cmlidXRlRmlsdGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9k
ZU1hcC5oCmluZGV4IDczOWQ3ZDJhZTAyNWQxNTA4MDM4MDMxYWUzOTM2ZDdmYzdjM2I3YjQuLmZj
OGJmYmU4YmI1NjdkN2IwNDhmYzljOTM3NGMwNTAxNzExOWM4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFt
ZWROb2RlTWFwLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUgTmFtZWROb2RlTWFwX2gKIAog
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KIApAQCAtNDAsMTAgKzQxLDkgQEAgY2xhc3MgTmFtZWROb2RlTWFwIDogcHVibGlj
IFNjcmlwdFdyYXBwYWJsZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJp
ZW5kIGNsYXNzIEVsZW1lbnQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTmFtZWROb2RlTWFwKEVs
ZW1lbnQmIGVsZW1lbnQpCi0gICAgICAgIDogbV9lbGVtZW50KGVsZW1lbnQpCisgICAgc3RhdGlj
IFBhc3NPd25QdHI8TmFtZWROb2RlTWFwPiBjcmVhdGUoRWxlbWVudCYgZWxlbWVudCkKICAgICB7
Ci0gICAgICAgIC8vIE9ubHkgc3VwcG9ydHMgTmFtZWROb2RlTWFwcyB3aXRoIEVsZW1lbnQgYXNz
b2NpYXRlZCwgRG9jdW1lbnRUeXBlLmVudGl0aWVzIGFuZCBEb2N1bWVudFR5cGUubm90YXRpb25z
IGFyZSBub3Qgc3VwcG9ydGVkIHlldC4KKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOYW1l
ZE5vZGVNYXAoZWxlbWVudCkpOwogICAgIH0KIAogICAgIHZvaWQgcmVmKCk7CkBAIC02Nyw2ICs2
NywxMiBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuICZt
X2VsZW1lbnQ7IH0KIAogcHJpdmF0ZToKKyAgICBleHBsaWNpdCBOYW1lZE5vZGVNYXAoRWxlbWVu
dCYgZWxlbWVudCkKKyAgICAgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKKyAgICB7CisgICAgICAg
IC8vIE9ubHkgc3VwcG9ydHMgTmFtZWROb2RlTWFwcyB3aXRoIEVsZW1lbnQgYXNzb2NpYXRlZCwg
RG9jdW1lbnRUeXBlLmVudGl0aWVzIGFuZCBEb2N1bWVudFR5cGUubm90YXRpb25zIGFyZSBub3Qg
c3VwcG9ydGVkIHlldC4KKyAgICB9CisKICAgICBFbGVtZW50JiBtX2VsZW1lbnQ7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKaW5kZXggMjlkODAwMzljMjdkNjZlN2ZhYTQxYjA5NTJkYzExZDUyZWUxMWRl
ZC4uYmM0YmYxZjE3NDJhODk4ZjBlZjE4NzcxOWZkMDUyZDg1OTUyOWRmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcApAQCAtMzM5LDkgKzMzOSw5IEBAIE5vZGVSYXJlRGF0YSYgTm9kZTo6ZW5zdXJlUmFyZURh
dGEoKQogCiAgICAgTm9kZVJhcmVEYXRhKiBkYXRhOwogICAgIGlmIChpc0VsZW1lbnROb2RlKCkp
Ci0gICAgICAgIGRhdGEgPSBuZXcgRWxlbWVudFJhcmVEYXRhKHRvUmVuZGVyRWxlbWVudChtX2Rh
dGEubV9yZW5kZXJlcikpOworICAgICAgICBkYXRhID0gRWxlbWVudFJhcmVEYXRhOjpjcmVhdGUo
dG9SZW5kZXJFbGVtZW50KG1fZGF0YS5tX3JlbmRlcmVyKSkubGVha1B0cigpOwogICAgIGVsc2UK
LSAgICAgICAgZGF0YSA9IG5ldyBOb2RlUmFyZURhdGEobV9kYXRhLm1fcmVuZGVyZXIpOworICAg
ICAgICBkYXRhID0gTm9kZVJhcmVEYXRhOjpjcmVhdGUobV9kYXRhLm1fcmVuZGVyZXIpLmxlYWtQ
dHIoKTsKICAgICBBU1NFUlQoZGF0YSk7CiAKICAgICBtX2RhdGEubV9yYXJlRGF0YSA9IGRhdGE7
CkBAIC0xNzY2LDcgKzE3NjYsNyBAQCB2b2lkIE5vZGU6OmRpZE1vdmVUb05ld0RvY3VtZW50KERv
Y3VtZW50KiBvbGREb2N1bWVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChWZWN0b3I8
c3RkOjp1bmlxdWVfcHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiogcmVnaXN0cnkg
PSBtdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgeworICAgIGlmIChWZWN0b3I8T3duUHRyPE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiogcmVnaXN0cnkgPSBtdXRhdGlvbk9ic2VydmVy
UmVnaXN0cnkoKSkgewogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlZ2lzdHJ5LT5z
aXplKCk7ICsraSkgewogICAgICAgICAgICAgZG9jdW1lbnQoKS5hZGRNdXRhdGlvbk9ic2VydmVy
VHlwZXMocmVnaXN0cnktPmF0KGkpLT5tdXRhdGlvblR5cGVzKCkpOwogICAgICAgICB9CkBAIC0x
ODYzLDcgKzE4NjMsNyBAQCBib29sIE5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIqIGxpcwogICAgIHJldHVybiB0cnlS
ZW1vdmVFdmVudExpc3RlbmVyKHRoaXMsIGV2ZW50VHlwZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUp
OwogfQogCi10eXBlZGVmIEhhc2hNYXA8Tm9kZSosIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRhcmdl
dERhdGE+PiBFdmVudFRhcmdldERhdGFNYXA7Cit0eXBlZGVmIEhhc2hNYXA8Tm9kZSosIE93blB0
cjxFdmVudFRhcmdldERhdGE+PiBFdmVudFRhcmdldERhdGFNYXA7CiAKIHN0YXRpYyBFdmVudFRh
cmdldERhdGFNYXAmIGV2ZW50VGFyZ2V0RGF0YU1hcCgpCiB7CkBAIC0xODgyLDcgKzE4ODIsNyBA
QCBFdmVudFRhcmdldERhdGEmIE5vZGU6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCiAgICAgICAg
IHJldHVybiAqZXZlbnRUYXJnZXREYXRhTWFwKCkuZ2V0KHRoaXMpOwogICAgIHNldEhhc0V2ZW50
VGFyZ2V0RGF0YSh0cnVlKTsKICAgICBFdmVudFRhcmdldERhdGEqIGRhdGEgPSBuZXcgRXZlbnRU
YXJnZXREYXRhOwotICAgIGV2ZW50VGFyZ2V0RGF0YU1hcCgpLnNldCh0aGlzLCBzdGQ6OnVuaXF1
ZV9wdHI8RXZlbnRUYXJnZXREYXRhPihkYXRhKSk7CisgICAgZXZlbnRUYXJnZXREYXRhTWFwKCku
c2V0KHRoaXMsIGFkb3B0UHRyKGRhdGEpKTsKICAgICByZXR1cm4gKmRhdGE7CiB9CiAKQEAgLTE4
OTEsNyArMTg5MSw3IEBAIHZvaWQgTm9kZTo6Y2xlYXJFdmVudFRhcmdldERhdGEoKQogICAgIGV2
ZW50VGFyZ2V0RGF0YU1hcCgpLnJlbW92ZSh0aGlzKTsKIH0KIAotVmVjdG9yPHN0ZDo6dW5pcXVl
X3B0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPj4qIE5vZGU6Om11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyeSgpCitWZWN0b3I8T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+
PiogTm9kZTo6bXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkKIHsKICAgICBpZiAoIWhhc1JhcmVE
YXRhKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTk0MSw3ICsxOTQxLDcgQEAgdm9pZCBOb2Rl
OjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUoSGFzaE1hcDxNdXRhdGlvbk9i
c2VydmVyKiwgTXV0YXQKIHZvaWQgTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0
aW9uT2JzZXJ2ZXIqIG9ic2VydmVyLCBNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyBvcHRpb25zLCBj
b25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlcikKIHsKICAgICBNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24gPSAwOwotICAgIFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4+JiByZWdpc3RyeSA9
IGVuc3VyZVJhcmVEYXRhKCkuZW5zdXJlTXV0YXRpb25PYnNlcnZlckRhdGEoKS5yZWdpc3RyeTsK
KyAgICBWZWN0b3I8T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiYgcmVnaXN0
cnkgPSBlbnN1cmVSYXJlRGF0YSgpLmVuc3VyZU11dGF0aW9uT2JzZXJ2ZXJEYXRhKCkucmVnaXN0
cnk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZWdpc3RyeS5zaXplKCk7ICsraSkgewog
ICAgICAgICBpZiAocmVnaXN0cnlbaV0tPm9ic2VydmVyKCkgPT0gb2JzZXJ2ZXIpIHsKICAgICAg
ICAgICAgIHJlZ2lzdHJhdGlvbiA9IHJlZ2lzdHJ5W2ldLmdldCgpOwpAQCAtMTk1MCw3ICsxOTUw
LDcgQEAgdm9pZCBOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZl
ciogb2JzZXJ2ZXIsIE11dGF0aW9uT2JzZXJ2ZXIKICAgICB9CiAKICAgICBpZiAoIXJlZ2lzdHJh
dGlvbikgewotICAgICAgICByZWdpc3RyeS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uPihvYnNlcnZlciwgdGhpcywgb3B0aW9ucywgYXR0cmlidXRl
RmlsdGVyKSk7CisgICAgICAgIHJlZ2lzdHJ5LmFwcGVuZChNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uOjpjcmVhdGUob2JzZXJ2ZXIsIHRoaXMsIG9wdGlvbnMsIGF0dHJpYnV0ZUZpbHRlcikp
OwogICAgICAgICByZWdpc3RyYXRpb24gPSByZWdpc3RyeS5sYXN0KCkuZ2V0KCk7CiAgICAgfQog
CkBAIC0xOTU5LDIyICsxOTU5LDE3IEBAIHZvaWQgTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2Vy
dmVyKE11dGF0aW9uT2JzZXJ2ZXIqIG9ic2VydmVyLCBNdXRhdGlvbk9ic2VydmVyCiAKIHZvaWQg
Tm9kZTo6dW5yZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiogcmVnaXN0cmF0aW9uKQogewotICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8TXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbj4+KiByZWdpc3RyeSA9IG11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyeSgpOworICAgIFZlY3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4+
KiByZWdpc3RyeSA9IG11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwogICAgIEFTU0VSVChyZWdp
c3RyeSk7CiAgICAgaWYgKCFyZWdpc3RyeSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2l6ZV90
IGluZGV4ID0gMDsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JlZFJlZ2lzdHJhdGlvbiA6ICpy
ZWdpc3RyeSkgewotICAgICAgICBpZiAoc3RvcmVkUmVnaXN0cmF0aW9uLmdldCgpID09IHJlZ2lz
dHJhdGlvbikgewotICAgICAgICAgICAgcmVnaXN0cnktPnJlbW92ZShpbmRleCk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpbmRleCsrOwotICAgIH0KKyAgICBz
aXplX3QgaW5kZXggPSByZWdpc3RyeS0+ZmluZChyZWdpc3RyYXRpb24pOworICAgIEFTU0VSVChp
bmRleCAhPSBub3RGb3VuZCk7CisgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kKQorICAgICAgICBy
ZXR1cm47CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZWdpc3RyeS0+cmVtb3Zl
KGluZGV4KTsKIH0KIAogdm9pZCBOb2RlOjpyZWdpc3RlclRyYW5zaWVudE11dGF0aW9uT2JzZXJ2
ZXIoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0cmF0aW9uKQpAQCAtMTk5OSw3
ICsxOTk0LDcgQEAgdm9pZCBOb2RlOjpub3RpZnlNdXRhdGlvbk9ic2VydmVyc05vZGVXaWxsRGV0
YWNoKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yIChOb2RlKiBub2RlID0gcGFyZW50Tm9k
ZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7Ci0gICAgICAgIGlmIChWZWN0
b3I8c3RkOjp1bmlxdWVfcHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiogcmVnaXN0
cnkgPSBub2RlLT5tdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgeworICAgICAgICBpZiAoVmVj
dG9yPE93blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPj4qIHJlZ2lzdHJ5ID0gbm9k
ZS0+bXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKICAgICAgICAgICAgIGNvbnN0IHNpemVf
dCBzaXplID0gcmVnaXN0cnktPnNpemUoKTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgc2l6ZTsgKytpKQogICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LT5hdChpKS0+b2JzZXJ2
ZWRTdWJ0cmVlTm9kZVdpbGxEZXRhY2godGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCBmYWMzNjlkMjEz
MjVlOGFmZWE5MzExNmE2NTc2MDNlYzY1MmE1MmE1Li43OGI0MzFmMWEwMzBjYTA1NzAxYzk0M2Rk
ZmFlYWZhNjJjNTk0ZDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRl
ICJTaW11bGF0ZWRDbGlja09wdGlvbnMuaCIKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNs
dWRlICJUcmVlU2hhcmVkLmgiCi0jaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CkBAIC02NzUsNyArNjc0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
dHJhY2tGb3JEZWJ1Z2dpbmcoKTsKIAotICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8TXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbj4+KiBtdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKTsKKyAg
ICBWZWN0b3I8T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+PiogbXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5KCk7CiAgICAgSGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uKj4qIHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwogCiAgICAgbXV0YWJs
ZSB1aW50MzJfdCBtX25vZGVGbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCA2
NDU5Y2Y1MzJkYTYzYTIyN2I1Mzg0YmFiODdkY2VjZjIwYWRjNTNmLi5hMGQ2NWEzYmFhNmE2MDRh
ZDQwNDliMzEzZTliODdhZmZjOGNmYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBA
IC0zNiw4ICszNiw5IEBACiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogI2luY2x1ZGUgIlRleHRU
cmFjay5oIgogI2VuZGlmCi0jaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCkBAIC01MCwxMSArNTEsNiBAQCBjbGFzcyBUcmVlU2NvcGU7CiBjbGFz
cyBOb2RlTGlzdHNOb2RlRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3Rz
Tm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBOb2RlTGlz
dHNOb2RlRGF0YSgpCi0gICAgICAgIDogbV9jaGlsZE5vZGVMaXN0KG51bGxwdHIpCi0gICAgICAg
ICwgbV9lbXB0eUNoaWxkTm9kZUxpc3QobnVsbHB0cikKLSAgICB7IH0KLQogICAgIHZvaWQgY2xl
YXJDaGlsZE5vZGVMaXN0Q2FjaGUoKQogICAgIHsKICAgICAgICAgaWYgKG1fY2hpbGROb2RlTGlz
dCkKQEAgLTIxMSw2ICsyMDcsMTEgQEAgcHVibGljOgogICAgICAgICBtX2NhY2hlZENvbGxlY3Rp
b25zLnJlbW92ZShuYW1lZENvbGxlY3Rpb25LZXkoY29sbGVjdGlvbi0+dHlwZSgpLCBuYW1lKSk7
CiAgICAgfQogCisgICAgc3RhdGljIFBhc3NPd25QdHI8Tm9kZUxpc3RzTm9kZURhdGE+IGNyZWF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5vZGVMaXN0c05vZGVEYXRh
KTsKKyAgICB9CisKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZXMoY29uc3QgUXVhbGlmaWVkTmFt
ZSogYXR0ck5hbWUgPSAwKTsKICAgICBib29sIGlzRW1wdHkoKSBjb25zdAogICAgIHsKQEAgLTI1
NSw2ICsyNTYsMTEgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKKyAgICBOb2RlTGlzdHNO
b2RlRGF0YSgpCisgICAgICAgIDogbV9jaGlsZE5vZGVMaXN0KG51bGxwdHIpCisgICAgICAgICwg
bV9lbXB0eUNoaWxkTm9kZUxpc3QobnVsbHB0cikKKyAgICB7IH0KKwogICAgIHN0ZDo6cGFpcjx1
bnNpZ25lZCBjaGFyLCBBdG9taWNTdHJpbmc+IG5hbWVkQ29sbGVjdGlvbktleShDb2xsZWN0aW9u
VHlwZSB0eXBlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpCiAgICAgewogICAgICAgICByZXR1
cm4gc3RkOjpwYWlyPHVuc2lnbmVkIGNoYXIsIEF0b21pY1N0cmluZz4odHlwZSwgbmFtZSk7CkBA
IC0yODAsMjYgKzI4NiwyNiBAQCBwcml2YXRlOgogY2xhc3MgTm9kZU11dGF0aW9uT2JzZXJ2ZXJE
YXRhIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTXV0YXRpb25PYnNlcnZlckRhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBOb2RlTXV0YXRpb25PYnNl
cnZlckRhdGEoKSA9IGRlZmF1bHQ7Ci0gICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uPj4gcmVnaXN0cnk7CisgICAgVmVjdG9yPE93blB0cjxNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPj4gcmVnaXN0cnk7CiAgICAgSGFzaFNldDxNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uKj4gdHJhbnNpZW50UmVnaXN0cnk7CisKKyAgICBzdGF0aWMg
UGFzc093blB0cjxOb2RlTXV0YXRpb25PYnNlcnZlckRhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UHRyKG5ldyBOb2RlTXV0YXRpb25PYnNlcnZlckRhdGEpOyB9CisKK3ByaXZhdGU6CisgICAg
Tm9kZU11dGF0aW9uT2JzZXJ2ZXJEYXRhKCkgeyB9CiB9OwogCiBjbGFzcyBOb2RlUmFyZURhdGEg
OiBwdWJsaWMgTm9kZVJhcmVEYXRhQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9k
ZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgTm9kZVJh
cmVEYXRhKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCi0gICAgICAgIDogTm9kZVJhcmVEYXRhQmFz
ZShyZW5kZXJlcikKLSAgICAgICAgLCBtX2Nvbm5lY3RlZEZyYW1lQ291bnQoMCkKLSAgICB7IH0K
KyAgICBzdGF0aWMgUGFzc093blB0cjxOb2RlUmFyZURhdGE+IGNyZWF0ZShSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKSB7IHJldHVybiBhZG9wdFB0cihuZXcgTm9kZVJhcmVEYXRhKHJlbmRlcmVyKSk7
IH0KIAotCi0gICAgdm9pZCBjbGVhck5vZGVMaXN0cygpIHsgbV9ub2RlTGlzdHMgPSBudWxscHRy
OyB9CisgICAgdm9pZCBjbGVhck5vZGVMaXN0cygpIHsgbV9ub2RlTGlzdHMuY2xlYXIoKTsgfQog
ICAgIE5vZGVMaXN0c05vZGVEYXRhKiBub2RlTGlzdHMoKSBjb25zdCB7IHJldHVybiBtX25vZGVM
aXN0cy5nZXQoKTsgfQogICAgIE5vZGVMaXN0c05vZGVEYXRhJiBlbnN1cmVOb2RlTGlzdHMoKQog
ICAgIHsKICAgICAgICAgaWYgKCFtX25vZGVMaXN0cykKLSAgICAgICAgICAgIG1fbm9kZUxpc3Rz
ID0gc3RkOjptYWtlX3VuaXF1ZTxOb2RlTGlzdHNOb2RlRGF0YT4oKTsKKyAgICAgICAgICAgIG1f
bm9kZUxpc3RzID0gTm9kZUxpc3RzTm9kZURhdGE6OmNyZWF0ZSgpOwogICAgICAgICByZXR1cm4g
Km1fbm9kZUxpc3RzOwogICAgIH0KIApAQCAtMzA3LDcgKzMxMyw3IEBAIHB1YmxpYzoKICAgICBO
b2RlTXV0YXRpb25PYnNlcnZlckRhdGEmIGVuc3VyZU11dGF0aW9uT2JzZXJ2ZXJEYXRhKCkKICAg
ICB7CiAgICAgICAgIGlmICghbV9tdXRhdGlvbk9ic2VydmVyRGF0YSkKLSAgICAgICAgICAgIG1f
bXV0YXRpb25PYnNlcnZlckRhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPE5vZGVNdXRhdGlvbk9ic2Vy
dmVyRGF0YT4oKTsKKyAgICAgICAgICAgIG1fbXV0YXRpb25PYnNlcnZlckRhdGEgPSBOb2RlTXV0
YXRpb25PYnNlcnZlckRhdGE6OmNyZWF0ZSgpOwogICAgICAgICByZXR1cm4gKm1fbXV0YXRpb25P
YnNlcnZlckRhdGE7CiAgICAgfQogCkBAIC0zMjMsMTEgKzMyOSwxNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fY29ubmVjdGVkRnJhbWVDb3VudCAtPSBhbW91bnQ7CiAgICAgfQogCitwcm90ZWN0ZWQ6
CisgICAgTm9kZVJhcmVEYXRhKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgICAgIDogTm9k
ZVJhcmVEYXRhQmFzZShyZW5kZXJlcikKKyAgICAgICAgLCBtX2Nvbm5lY3RlZEZyYW1lQ291bnQo
MCkKKyAgICB7IH0KKwogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2Nvbm5lY3RlZEZyYW1lQ291
bnQgOiAxMDsgLy8gTXVzdCBmaXQgUGFnZTo6bWF4TnVtYmVyT2ZGcmFtZXMuCiAKLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8Tm9kZUxpc3RzTm9kZURhdGE+IG1fbm9kZUxpc3RzOwotICAgIHN0ZDo6dW5p
cXVlX3B0cjxOb2RlTXV0YXRpb25PYnNlcnZlckRhdGE+IG1fbXV0YXRpb25PYnNlcnZlckRhdGE7
CisgICAgT3duUHRyPE5vZGVMaXN0c05vZGVEYXRhPiBtX25vZGVMaXN0czsKKyAgICBPd25QdHI8
Tm9kZU11dGF0aW9uT2JzZXJ2ZXJEYXRhPiBtX211dGF0aW9uT2JzZXJ2ZXJEYXRhOwogfTsKIAog
aW5saW5lIGJvb2wgTm9kZUxpc3RzTm9kZURhdGE6OmRlbGV0ZVRoaXNBbmRVcGRhdGVOb2RlUmFy
ZURhdGFJZkFib3V0VG9SZW1vdmVMYXN0TGlzdChOb2RlJiBvd25lck5vZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggNWFlZjBlYWMyYTdhNzg3MTljMDJmNmExNmQxZTVi
ZmZjNzFjNDliMy4uM2I5NDc1ZGM0ZmM2NjMxYThiYzU0M2M2YmU4NTJlMDUzYjM5YjhhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6
CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydGllcz4gdmFsdWU7CiB9OwogCi10eXBlZGVmIEhhc2hN
YXA8dW5zaWduZWQsIHN0ZDo6dW5pcXVlX3B0cjxQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUVu
dHJ5PiwgQWxyZWFkeUhhc2hlZD4gUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGU7Cit0eXBlZGVm
IEhhc2hNYXA8dW5zaWduZWQsIE93blB0cjxQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUVudHJ5
PiwgQWxyZWFkeUhhc2hlZD4gUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGU7CiAgICAgCiBzdGF0
aWMgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlS2V5JiBh
LCBjb25zdCBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUtleSYgYikKIHsKQEAgLTM0Niw3ICsz
NDYsNyBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OnJlYnVpbGRQcmVzZW50YXRpb25BdHRyaWJ1dGVT
dHlsZSgpCiAgICAgaWYgKCFjYWNoZUhhc2ggfHwgY2FjaGVJdGVyYXRvci0+dmFsdWUpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGF1dG8gbmV3RW50cnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFByZXNl
bnRhdGlvbkF0dHJpYnV0ZUNhY2hlRW50cnk+KCk7CisgICAgT3duUHRyPFByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlRW50cnk+IG5ld0VudHJ5ID0gYWRvcHRQdHIobmV3IFByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlRW50cnkpOwogICAgIG5ld0VudHJ5LT5rZXkgPSBjYWNoZUtleTsKICAgICBu
ZXdFbnRyeS0+dmFsdWUgPSBzdHlsZS5yZWxlYXNlKCk7CiAKQEAgLTM1NCw5ICszNTQsOSBAQCB2
b2lkIFN0eWxlZEVsZW1lbnQ6OnJlYnVpbGRQcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZSgpCiAg
ICAgaWYgKHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlKCkuc2l6ZSgpID4gcHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVNYXhpbXVtU2l6ZSkgewogICAgICAgICAvLyBTdGFydCBidWlsZGluZyBm
cm9tIHNjcmF0Y2ggaWYgdGhlIGNhY2hlIGV2ZXIgZ2V0cyBiaWcuCiAgICAgICAgIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlKCkuY2xlYXIoKTsKLSAgICAgICAgcHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGUoKS5zZXQoY2FjaGVIYXNoLCBzdGQ6Om1vdmUobmV3RW50cnkpKTsKKyAgICAgICAg
cHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUoKS5zZXQoY2FjaGVIYXNoLCBuZXdFbnRyeS5yZWxl
YXNlKCkpOwogICAgIH0gZWxzZQotICAgICAgICBjYWNoZUl0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6
bW92ZShuZXdFbnRyeSk7CisgICAgICAgIGNhY2hlSXRlcmF0b3ItPnZhbHVlID0gbmV3RW50cnku
cmVsZWFzZSgpOwogfQogCiB2b2lkIFN0eWxlZEVsZW1lbnQ6OmFkZFByb3BlcnR5VG9QcmVzZW50
YXRpb25BdHRyaWJ1dGVTdHlsZShNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBzdHlsZSwgQ1NTUHJv
cGVydHlJRCBwcm9wZXJ0eUlELCBDU1NWYWx1ZUlEIGlkZW50aWZpZXIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>