<?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>48775</bug_id>
          
          <creation_ts>2010-11-01 13:18:58 -0700</creation_ts>
          <short_desc>Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps</short_desc>
          <delta_ts>2010-12-14 09:11:27 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>302870</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-01 13:18:58 -0700</bug_when>
    <thetext>Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302877</commentid>
    <comment_count>1</comment_count>
      <attachid>72545</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-01 13:23:29 -0700</bug_when>
    <thetext>Created attachment 72545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302886</commentid>
    <comment_count>2</comment_count>
      <attachid>72545</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-01 13:29:51 -0700</bug_when>
    <thetext>Comment on attachment 72545
Patch

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

&gt; WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp:57
&gt; +uint64_t NPRemoteObjectMap::registerNPObject(NPObject* npObject)
&gt; +{
&gt; +    uint64_t npObjectID = generateNPObjectID();
&gt; +
&gt; +    OwnPtr&lt;NPObjectMessageReceiver&gt; npObjectMessageReceiver = NPObjectMessageReceiver::create(npObject);
&gt; +    m_registeredNPObjects.set(npObjectID, npObjectMessageReceiver.leakPtr());

I&apos;m not sure the local variable really helps here.

It doesn&apos;t seem like this function will do the right thing if the same npObject is passed in twice.

&gt; WebKit2/Shared/Plugins/NPRemoteObjectMap.h:33
&gt; +#include &lt;wtf/HashMap.h&gt;
&gt;  #include &lt;wtf/Noncopyable.h&gt;
&gt; +#include &lt;WebCore/npruntime.h&gt;

ASCII order please!

&gt; WebKit2/Shared/Plugins/NPRemoteObjectMap.h:42
&gt; +class NPObjectProxy;
&gt; +class NPObjectMessageReceiver;

Here too!

&gt; WebKit2/Shared/Plugins/NPRemoteObjectMap.h:53
&gt; +    // Creates an NPObjectProxy wrapper for the remote object with the given remote object ID.
&gt; +    NPObjectProxy* getOrCreateNPObjectProxy(uint64_t remoteObjectID);
&gt; +
&gt; +    uint64_t registerNPObject(NPObject*);

No comment here? This function seems at least as mysterious as getOrCreateNPObjectProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321814</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 01:47:06 -0800</bug_when>
    <thetext>Curious what the status is here?  I assume this was landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321996</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-12-14 09:11:27 -0800</bug_when>
    <thetext>Committed r71051: &lt;http://trac.webkit.org/changeset/71051&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72545</attachid>
            <date>2010-11-01 13:23:29 -0700</date>
            <delta_ts>2010-11-01 13:29:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48775-20101101132328.patch</filename>
            <type>text/plain</type>
            <size>17281</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
Zjg4ZGRhOTg0NDBjZDRhYWFjMzk1MDU2MmY0NTI4MzI5Y2Y5ODNhYS4uMzQ4ZmQzNDE0OGY4MGFl
OTU1NDgzZTZkYmQwOGY2YWFjMmE3MjVmYiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1MSBAQAogMjAxMC0xMS0wMSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJvdGggdGhlIFdlYlByb2Nlc3NDb25uZWN0aW9u
IGFuZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiBzaG91bGQgaGF2ZSBOUFJlbW90ZU9iamVjdE1h
cHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4Nzc1
CisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6d2luZG93U2NyaXB0TlBPYmpl
Y3QpOgorICAgICAgICBBc2sgZm9yIGFuIE5QT2JqZWN0UHJveHkgZm9yIHRoZSB3aW5kb3cgc2Ny
aXB0IE5QT2JqZWN0LgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDb25uZWN0aW9uOjpXZWJQcm9j
ZXNzQ29ubmVjdGlvbik6CisgICAgICAgIEluaXRpYWxpemUgbV9ucFJlbW90ZU9iamVjdE1hcC4K
KworICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI6OmNyZWF0ZSk6CisgICAg
ICAgIEFkZCBhIGNyZWF0ZSBtZW1iZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBOUE9iamVjdC4K
KworICAgICAgICAoV2ViS2l0OjpOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6TlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIpOgorICAgICAgICBSZXRhaW4gdGhlIE5QT2JqZWN0LgorCisgICAgICAgIChX
ZWJLaXQ6Ok5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjp+TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIp
OgorICAgICAgICBSZWxlYXNlIHRoZSBOUE9iamVjdC4KKworICAgICAgICAqIFNoYXJlZC9QbHVn
aW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVOUE9i
amVjdElEKToKKyAgICAgICAgR2VuZXJhdGUgYSB1bmlxdWUgNjQtYml0IE5QT2JqZWN0IElELgor
CisgICAgICAgIChXZWJLaXQ6Ok5QUmVtb3RlT2JqZWN0TWFwOjpnZXRPckNyZWF0ZU5QT2JqZWN0
UHJveHkpOgorICAgICAgICBBZGQgc3R1Yi4KKworICAgICAgICAoV2ViS2l0OjpOUFJlbW90ZU9i
amVjdE1hcDo6cmVnaXN0ZXJOUE9iamVjdCk6CisgICAgICAgIENyZWF0ZSBhIE5QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyIGFuZCBhZGQgaXQgdG8gdGhlIG1hcC4KKworICAgICAgICAqIFdlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgU2V0IHRoZSBjb3JyZWN0IHRhcmdl
dCBmb3IgTlBSdW50aW1lIHJlbGF0ZWQgZmlsZXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbjo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICBJ
bml0aWFsaXplIG1fbnBSZW1vdGVPYmplY3RNYXAKKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb3h5OjpnZXRX
aW5kb3dTY3JpcHROUE9iamVjdCk6CisgICAgICAgIEFzayB0aGUgcmVhbCBwbHVnLWluIGNvbnRy
b2xsZXIgZm9yIHRoZSB3aW5kb3cgc2NyaXB0IE5QT2JqZWN0IGFuZCByZWdpc3RlciBpdC4KKwor
MjAxMC0xMS0wMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAg
ICAgIFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4uCiAKICAgICAgICAgVGVhciBkb3duIHRoZSBy
ZWxhdGVkIFdlYlByb2Nlc3NQcm94eSB3aGVuIGEgV2ViQ29udGV4dCBpcyBkZWFsbG9jYXRlZApk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5j
cHAgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRl
eCBmNzgwZTE5MTMxYmNhODZlN2RkN2UzNGMyNzE3M2U3Mjc5MzkxYjMxLi4zNGE5NWUzZTQxOTNj
MTJhMmVlYmNlYzNlNmNkODA3ZTNkNTZjOGY2IDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVk
ZSAiQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUg
Ik5QT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlICJOZXRzY2FwZVBsdWdpbi5oIgogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzcy5oIgpAQCAtMTY5LDkg
KzE3MCw3IEBAIE5QT2JqZWN0KiBQbHVnaW5Db250cm9sbGVyUHJveHk6OndpbmRvd1NjcmlwdE5Q
T2JqZWN0KCkKICAgICBpZiAoIXdpbmRvd1NjcmlwdE5QT2JqZWN0SUQpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgLy8gRklYTUU6IERvIHNvbWV0aGluZyB3aXRoIHRoZSB3aW5kb3dTY3JpcHRO
UE9iamVjdElELgotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuIG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS5nZXRPckNyZWF0ZU5QT2JqZWN0
UHJveHkod2luZG93U2NyaXB0TlBPYmplY3RJRCk7CiB9CiAKIE5QT2JqZWN0KiBQbHVnaW5Db250
cm9sbGVyUHJveHk6OnBsdWdpbkVsZW1lbnROUE9iamVjdCgpCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAzYjc2MDFkNjJkZGI1YTgzMjE5
OTg2Njk1ZTQ3MTRlYTM2YjFlOGZjLi4wNmE0ZjcyZDAxMTVkMTMyZmVmNTY3ZTQwMTJlOTc4YzNm
NWY5YmUyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24uY3BwCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5jcHAKQEAgLTQ0LDggKzQ0LDkgQEAgV2ViUHJvY2Vzc0Nvbm5lY3Rpb246On5XZWJQcm9jZXNz
Q29ubmVjdGlvbigpCiB9CiAgICAgCiBXZWJQcm9jZXNzQ29ubmVjdGlvbjo6V2ViUHJvY2Vzc0Nv
bm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRp
ZmllcikKKyAgICA6IG1fY29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVTZXJ2
ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBSdW5Mb29wOjptYWluKCkp
KQorICAgICwgbV9ucFJlbW90ZU9iamVjdE1hcChtX2Nvbm5lY3Rpb24uZ2V0KCkpCiB7Ci0gICAg
bV9jb25uZWN0aW9uID0gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlv
bihjb25uZWN0aW9uSWRlbnRpZmllciwgdGhpcywgUnVuTG9vcDo6bWFpbigpKTsKICAgICBtX2Nv
bm5lY3Rpb24tPm9wZW4oKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1dlYlByb2Nlc3NDb25uZWN0aW9uLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24uaAppbmRleCAzYjNlMWM5YWQ0NzZlNjhiNGFmNTZlNmMyOTA0MjAwNWY3ZDEy
ZjdkLi5lYTc1YmZlZjZiYjM1MTBmNDk5NWUwZGU0ODU2YjQ0OTI5ZGZlZjI2IDEwMDY0NAotLS0g
YS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtMjksNiArMjksNyBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
KyNpbmNsdWRlICJOUFJlbW90ZU9iamVjdE1hcC5oIgogI2luY2x1ZGUgIlBsdWdpbi5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQ1LDYgKzQ2LDggQEAgcHVibGljOgogCiAg
ICAgQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29u
bmVjdGlvbi5nZXQoKTsgfQogCisgICAgTlBSZW1vdGVPYmplY3RNYXAmIG5wUmVtb3RlT2JqZWN0
TWFwKCkgeyByZXR1cm4gbV9ucFJlbW90ZU9iamVjdE1hcDsgfQorCiBwcml2YXRlOgogICAgIFdl
YlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIpOwogCkBA
IC02Nyw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+
IG1fY29ubmVjdGlvbjsKIAogICAgIEhhc2hNYXA8dWludDY0X3QsIFBsdWdpbkNvbnRyb2xsZXJQ
cm94eSo+IG1fcGx1Z2luQ29udHJvbGxlcnM7Ci0KKyAgICBOUFJlbW90ZU9iamVjdE1hcCBtX25w
UmVtb3RlT2JqZWN0TWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcCBiL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwCmluZGV4IDg5
YjYzOGI5MDM2NDc1MmM2MDQ2ZWQxNzY2YWU1YTcxNmJjMGZlOTUuLjkzM2M2ZDg5Nzk5ZTE1ZDE1
NDk2ZmFhMTM1NzA1MzI1MmM1NWNjYjYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdp
bnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdp
bnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwCkBAIC0yMywxOCArMjMsMjggQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQorCiAjaW5jbHVkZSAiTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCIKIAotI2lmIEVO
QUJMRShQTFVHSU5fUFJPQ0VTUykKKyNpbmNsdWRlICJOUFJ1bnRpbWVVdGlsaXRpZXMuaCIKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLU5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpOUE9iamVjdE1l
c3NhZ2VSZWNlaXZlcigpCitQYXNzT3duUHRyPE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyPiBOUE9i
amVjdE1lc3NhZ2VSZWNlaXZlcjo6Y3JlYXRlKE5QT2JqZWN0KiBucE9iamVjdCkKK3sKKyAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKG5wT2JqZWN0KSk7Cit9
CisKK05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyOjpOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcihOUE9i
amVjdCogbnBPYmplY3QpCisgICAgOiBtX25wT2JqZWN0KG5wT2JqZWN0KQogeworICAgIHJldGFp
bk5QT2JqZWN0KG1fbnBPYmplY3QpOwogfQogCiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6fk5Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyKCkKIHsKKyAgICByZWxlYXNlTlBPYmplY3QobV9ucE9iamVj
dCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IDg1NTgxOTE2MTQzZmQxM2ZlZjY5
NmRhMThmMjIwMjJkYTI5MGNiYzYuLjFiY2EwNDdjY2UyZmU4MTRlNmUwMTBkODI5NjUyNDg1Y2U0
Mzg1YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJl
Y2VpdmVyLmgKQEAgLTI4LDE2ICsyOCwyMyBAQAogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNT
KQogCisjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKTsKIAotcHJpdmF0ZToKLSAgICBOUE9iamVj
dE1lc3NhZ2VSZWNlaXZlcigpOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPE5QT2Jq
ZWN0TWVzc2FnZVJlY2VpdmVyPiBjcmVhdGUoTlBPYmplY3QqIG5wT2JqZWN0KTsKICAgICB+TlBP
YmplY3RNZXNzYWdlUmVjZWl2ZXIoKTsKKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTlBP
YmplY3RNZXNzYWdlUmVjZWl2ZXIoTlBPYmplY3QqIG5wT2JqZWN0KTsKKworICAgIE5QT2JqZWN0
KiBtX25wT2JqZWN0OwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5jcHAgYi9XZWJLaXQy
L1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmNwcAppbmRleCBmMmQ3NjA1YzI0NjVl
ZjcwY2U4ZDcwZTBmOTc2NjA1YTYwYTk1MWI5Li4zYjg2YTdkNGIzNTExYTM1MmY3MTgyMWIzYzNj
NzNkOGViYmRhOTFkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3Rl
T2JqZWN0TWFwLmNwcAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0
TWFwLmNwcApAQCAtMjcsMTMgKzI3LDM5IEBACiAKICNpbmNsdWRlICJOUFJlbW90ZU9iamVjdE1h
cC5oIgogCisjaW5jbHVkZSAiTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCitzdGF0aWMgdWludDY0X3QgZ2Vu
ZXJhdGVOUE9iamVjdElEKCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVOUE9iamVj
dElEOworICAgIHJldHVybiArK2dlbmVyYXRlTlBPYmplY3RJRDsKK30KKyAgICAKIE5QUmVtb3Rl
T2JqZWN0TWFwOjpOUFJlbW90ZU9iamVjdE1hcChDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0
aW9uKQogICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCiB7CiB9CiAKK05QT2JqZWN0UHJv
eHkqIE5QUmVtb3RlT2JqZWN0TWFwOjpnZXRPckNyZWF0ZU5QT2JqZWN0UHJveHkodWludDY0X3Qg
cmVtb3RlT2JqZWN0SUQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4g
MDsKK30KKwordWludDY0X3QgTlBSZW1vdGVPYmplY3RNYXA6OnJlZ2lzdGVyTlBPYmplY3QoTlBP
YmplY3QqIG5wT2JqZWN0KQoreworICAgIHVpbnQ2NF90IG5wT2JqZWN0SUQgPSBnZW5lcmF0ZU5Q
T2JqZWN0SUQoKTsKKworICAgIE93blB0cjxOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcj4gbnBPYmpl
Y3RNZXNzYWdlUmVjZWl2ZXIgPSBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlcjo6Y3JlYXRlKG5wT2Jq
ZWN0KTsKKyAgICBtX3JlZ2lzdGVyZWROUE9iamVjdHMuc2V0KG5wT2JqZWN0SUQsIG5wT2JqZWN0
TWVzc2FnZVJlY2VpdmVyLmxlYWtQdHIoKSk7CisgICAgCisKKyAgICByZXR1cm4gbnBPYmplY3RJ
RDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoUExVR0lO
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2Jq
ZWN0TWFwLmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QUmVtb3RlT2JqZWN0TWFwLmgKaW5k
ZXggMTEwNjMyODdmY2NiZTk4MDA1ZDU1Yjg1ZjNkZTA5ZWIxMTYyYTcwZi4uNWZiYThkZTVmYTkw
YzBhNTBiNjZlN2ZmM2Y2YzhhYmNkMGRkNjE0MCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUFJlbW90ZU9iamVjdE1hcC5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBSZW1vdGVPYmplY3RNYXAuaApAQCAtMjgsNyArMjgsOSBAQAogCiAjaWYgRU5BQkxFKFBMVUdJ
Tl9QUk9DRVNTKQogCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgogCiBuYW1lc3BhY2Ug
Q29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsKQEAgLTM2LDE0ICszOCwyNiBAQCBuYW1l
c3BhY2UgQ29yZUlQQyB7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBOUE9iamVjdFBy
b3h5OworY2xhc3MgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXI7CisKIGNsYXNzIE5QUmVtb3RlT2Jq
ZWN0TWFwIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUFJlbW90ZU9iamVjdE1hcCk7CiAK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBOUFJlbW90ZU9iamVjdE1hcChDb3JlSVBDOjpDb25uZWN0
aW9uKik7CiAKKyAgICAvLyBDcmVhdGVzIGFuIE5QT2JqZWN0UHJveHkgd3JhcHBlciBmb3IgdGhl
IHJlbW90ZSBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gcmVtb3RlIG9iamVjdCBJRC4KKyAgICBOUE9i
amVjdFByb3h5KiBnZXRPckNyZWF0ZU5QT2JqZWN0UHJveHkodWludDY0X3QgcmVtb3RlT2JqZWN0
SUQpOworCisgICAgdWludDY0X3QgcmVnaXN0ZXJOUE9iamVjdChOUE9iamVjdCopOworCiBwcml2
YXRlOgogICAgIENvcmVJUEM6OkNvbm5lY3Rpb24qIG1fY29ubmVjdGlvbjsKKworICAgIC8vIEEg
bWFwIG9mIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIGNsYXNzZXMsIHdyYXBwaW5nIG9iamVjdHMg
dGhhdCB3ZSBleHBvcnQgdG8gdGhlCisgICAgLy8gb3RoZXIgZW5kIG9mIHRoZSBjb25uZWN0aW9u
LgorICAgIEhhc2hNYXA8dWludDY0X3QsIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyKj4gbV9yZWdp
c3RlcmVkTlBPYmplY3RzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjNWE0OTU2OTAyMGU0YTNlMzVl
YjZhZmRmYWZiZGVkMmU5YjhmMzkuLjJhZmFjMDE5MGZmMjUxOGVjOTQ2MzA2ZDE2YzgwYTVjMmM2
NThmMjYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03
MSw3ICs3MSw2IEBACiAJCTFBMTE5QTk1MTI3Qjc5NjIwMEE5RUNCMSAvKiBNZXNzYWdlU2VuZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTExOUE5
NDEyN0I3OTYyMDBBOUVDQjEgLyogTWVzc2FnZVNlbmRlci5oICovOyB9OwogCQkxQTFDNEVDODEw
RDA2MDk5MDA1RTY3RTcgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUExQzc5QTEwMEU3RkM1MDA3OERFQkMgLyog
V2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTFBMUM2NDlCMTFGNDE3NDIwMDU1M0MxOSAvKiBX
ZWJDb250ZXh0TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUExQzY0ODYxMUY0MTVCNzAwNTUzQzE5IC8qIFdlYkNvbnRleHRNYWMubW0gKi87IH07
Ci0JCTFBMUZBMjUzMTI3QTBFNEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGQTI1MjEyN0Ew
RTRGMDA1MEU3MDkgLyogTlBSZW1vdGVPYmplY3RNYXAuY3BwICovOyB9OwogCQkxQTFGQTI4NTEy
N0ExM0JDMDA1MEU3MDkgLyogTlBPYmplY3RQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGQTI4NDEyN0ExM0JDMDA1MEU3MDkgLyogTlBP
YmplY3RQcm94eS5jcHAgKi87IH07CiAJCTFBMUZBMzVEMTI3QTQ1QkYwMDUwRTcwOSAvKiBOUE9i
amVjdE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTFGQTM1QzEyN0E0NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OwogCQkxQTIxNjFCMDExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50
aW1lT2JqZWN0TWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTIxNjFBRTExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmggKi87
IH07CkBAIC04Miw2ICs4MSwxMiBAQAogCQkxQTI0QjVGMzExRjUzMUU4MDBDMzgyNjkgLyogTWFj
aFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUEyNEI1RjExMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuaCAqLzsgfTsKIAkJ
MUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyNEJFRDMxMjA4OTREMTAwRkJCMDU5
IC8qIFNoYXJlZE1lbW9yeS5oICovOyB9OwogCQkxQTI0QkYzQTEyMDg5NkE2MDBGQkIwNTkgLyog
U2hhcmVkTWVtb3J5TWFjLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBMjRCRjM5MTIwODk2QTYwMEZCQjA1OSAvKiBTaGFyZWRNZW1vcnlNYWMuY3Bw
ICovOyB9OworCQkxQTJEODJBNDEyN0Y0RUFCMDAxRUI5NjIgLyogTlBPYmplY3RNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUExRkEzNUMxMjdBNDVCRjAwNTBFNzA5IC8qIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKKwkJMUEyRDgyQTUxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFG
QTM1QjEyN0E0NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCAqLzsgfTsK
KwkJMUEyRDgyQTYxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkEyODQxMjdBMTNCQzAw
NTBFNzA5IC8qIE5QT2JqZWN0UHJveHkuY3BwICovOyB9OworCQkxQTJEODJBNzEyN0Y0RUFCMDAx
RUI5NjIgLyogTlBPYmplY3RQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUExRkEyODMxMjdBMTNCQzAwNTBFNzA5IC8qIE5QT2JqZWN0UHJveHku
aCAqLzsgfTsKKwkJMUEyRDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8qIE5QUmVtb3RlT2JqZWN0TWFw
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUZB
MjUyMTI3QTBFNEYwMDUwRTcwOSAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgKi87IH07CisJCTFB
MkQ4MkE5MTI3RjRFQUIwMDFFQjk2MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkEyNTExMjdBMEU0RjAwNTBF
NzA5IC8qIE5QUmVtb3RlT2JqZWN0TWFwLmggKi87IH07CiAJCTFBMzAwNjZFMTExMEY0RjcwMDMx
OTM3QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTMwMDY2QzExMTBGNEY3MDAzMTkzN0MgLyogUmVzcG9uc2l2
ZW5lc3NUaW1lci5oICovOyB9OwogCQkxQTMwRUFDNjExNUQ3REEzMDA1M0U5MzcgLyogQ29ubmVj
dGlvbk1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTMwRUFDNTExNUQ3REEzMDA1M0U5MzcgLyogQ29ubmVjdGlvbk1hYy5jcHAgKi87IH07CiAJ
CTFBM0REMUZEMTI1RTU5RjMwMDQ1MTVFNiAvKiBXZWJGaW5kQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBM0REMUZDMTI1RTU5RjMwMDQ1
MTVFNiAvKiBXZWJGaW5kQ2xpZW50LmNwcCAqLzsgfTsKQEAgLTIyNDAsNiArMjI0NSw5IEBACiAJ
CQkJNTFBQ0JCQTAxMjdBOEYyQzAwRDIwM0I5IC8qIFdlYkNvbnRleHRNZW51UHJveHlNYWMuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBMTE5QTk1MTI3Qjc5NjIwMEE5RUNCMSAvKiBNZXNzYWdlU2Vu
ZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTg3MUI1QzEyN0NCODlEMDBGNzYyMzIgLyogV2Vi
Q29udGV4dE1lbnUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBMkQ4MkE1MTI3RjRFQUIwMDFFQjk2
MiAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUEyRDgy
QTcxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTFBMkQ4MkE5MTI3RjRFQUIwMDFFQjk2MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yMzUzLDcgKzIzNjEsNiBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJCTFBNkZBMzExMTFFMzkyMUUwMERCMTM3MSAvKiBNYWlu
TWFjLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBMUZBMjUzMTI3QTBFNEYwMDUwRTcwOSAvKiBO
UFJlbW90ZU9iamVjdE1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTFGQTI4NTEyN0ExM0JD
MDA1MEU3MDkgLyogTlBPYmplY3RQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTFGQTM1
RDEyN0E0NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwpAQCAtMjU3Miw2ICsyNTc5LDkgQEAKIAkJCQlDMDMzN0RERDEyN0E1MjFD
MDA4RkY0RjQgLyogV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxODcxQjVCMTI3Q0I4OUQwMEY3NjIzMiAvKiBXZWJDb250ZXh0TWVudS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUE4NENFMzEyN0YzODZCMDBDQTZFQTQgLyogV2ViQ29udGV4dE1lbnVQcm94
eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQTJEODJBNDEyN0Y0RUFCMDAxRUI5NjIgLyogTlBP
YmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUEyRDgyQTYxMjdG
NEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUEy
RDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8qIE5QUmVtb3RlT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwCmluZGV4IGNiNGZhY2RlNjIyNzk1MGZjOGE5OGU0NGE5MmM5NDE5ZWI5
MTIxNjAuLjEzYmEyZDcxMjhhMTBmM2JhNzQ5Yjk0OTZiMzVjMDIxMjZhZjNkZDkgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNw
cAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bi5jcHAKQEAgLTM2LDggKzM2LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbjo6UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyKiBwbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIsIGNvbnN0IFN0cmluZyYg
cGx1Z2luUGF0aCwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRl
bnRpZmllcikKICAgICA6IG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKHBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcikKICAgICAsIG1fcGx1Z2luUGF0aChwbHVnaW5QYXRoKQor
ICAgICwgbV9jb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENvbm5l
Y3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsIHRoaXMsIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnJ1
bkxvb3AoKSkpCisgICAgLCBtX25wUmVtb3RlT2JqZWN0TWFwKG1fY29ubmVjdGlvbi5nZXQoKSkK
IHsKLSAgICBtX2Nvbm5lY3Rpb24gPSBDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDbGllbnRD
b25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBXZWJQcm9jZXNzOjpzaGFyZWQo
KS5ydW5Mb29wKCkpOwogICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOwogfQogCkBAIC05Niw3ICs5
Nyw2IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZENsb3NlKENvcmVJUEM6OkNv
bm5lY3Rpb24qKQogCiAgICAgICAgIHBsdWdpblByb3h5LT5wbHVnaW5Qcm9jZXNzQ3Jhc2hlZCgp
OwogICAgIH0KLSAgICAKIH0KIAogdm9pZCBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbi5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb24uaAppbmRleCAyZDJlZjA2OGIzYjhkNzQzNTZhYWI4YzllOTQ5YjU1ZDhkNjhkMjIy
Li5hOWE1YzYyMTE4NjJkOTE4N2Q0YTViMWQwYzMwYjc1ZTczZjY2YzgyIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgKQEAg
LTI5LDggKzI5LDggQEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTlBSZW1vdGVPYmplY3RNYXAuaCIKICNpbmNsdWRlICJQ
bHVnaW4uaCIKLQogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU2LDYgKzU2LDggQEAgcHVibGljOgogICAgIHZvaWQgYWRk
UGx1Z2luUHJveHkoUGx1Z2luUHJveHkqKTsKICAgICB2b2lkIHJlbW92ZVBsdWdpblByb3h5KFBs
dWdpblByb3h5Kik7CiAKKyAgICBOUFJlbW90ZU9iamVjdE1hcCYgbnBSZW1vdGVPYmplY3RNYXAo
KSB7IHJldHVybiBtX25wUmVtb3RlT2JqZWN0TWFwOyB9CisKIHByaXZhdGU6CiAgICAgUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24oUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKiBwbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIsIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcik7CiAKQEAgLTc0
LDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICAvLyBUaGUgcGx1Zy1pbnMuIFdlIHVzZSBhIHdlYWsg
cmVmZXJlbmNlIHRvIHRoZSBwbHVnLWluIHByb3hpZXMgYmVjYXVzZSB0aGUgcGx1Zy1pbiB2aWV3
IGhvbGRzIHRoZSBzdHJvbmcgcmVmZXJlbmNlLgogICAgIEhhc2hNYXA8dWludDY0X3QsIFBsdWdp
blByb3h5Kj4gbV9wbHVnaW5zOwogCisgICAgTlBSZW1vdGVPYmplY3RNYXAgbV9ucFJlbW90ZU9i
amVjdE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCmluZGV4IGIxZWMzZTQ5YmM2NzdmYWYwZjZiNTEyOWI1
NTdiODkzYzZlODE3MmUuLjNkZWY2ZjhmYTJjN2U4ZGU2OWUxNTE1MTQyZGY4NjYyZWFlZjQ2MWMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcAor
KysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkJhY2tpbmdTdG9yZS5oIgogI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKKyNpbmNsdWRlICJOUFJ1bnRpbWVVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsdWdpbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQ
bHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdlcy5oIgpAQCAtMzQ3LDggKzM0OCwxNCBAQCB2b2lk
IFBsdWdpblByb3h5OjpzZXRDb29raWVzRm9yVVJMKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBj
b25zdCBTdHJpbmcmIGNvb2tpZQogCiB2b2lkIFBsdWdpblByb3h5OjpnZXRXaW5kb3dTY3JpcHRO
UE9iamVjdCh1aW50NjRfdCYgd2luZG93U2NyaXB0TlBPYmplY3RJRCkKIHsKLSAgICAvLyBGSVhN
RTogQWN0dWFsbHkgZ2V0IHRoZSB3aW5kb3cgc2NyaXB0IG9iamVjdCBoZXJlLgotICAgIHdpbmRv
d1NjcmlwdE5QT2JqZWN0SUQgPSAwOworICAgIE5QT2JqZWN0KiB3aW5kb3dTY3JpcHROUE9iamVj
dCA9IG1fcGx1Z2luQ29udHJvbGxlci0+d2luZG93U2NyaXB0TlBPYmplY3QoKTsKKyAgICBpZiAo
IXdpbmRvd1NjcmlwdE5QT2JqZWN0KSB7CisgICAgICAgIHdpbmRvd1NjcmlwdE5QT2JqZWN0SUQg
PSAwOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgd2luZG93U2NyaXB0TlBPYmplY3RJ
RCA9IG1fY29ubmVjdGlvbi0+bnBSZW1vdGVPYmplY3RNYXAoKS5yZWdpc3Rlck5QT2JqZWN0KHdp
bmRvd1NjcmlwdE5QT2JqZWN0KTsKKyAgICByZWxlYXNlTlBPYmplY3Qod2luZG93U2NyaXB0TlBP
YmplY3QpOwogfQogCiB2b2lkIFBsdWdpblByb3h5Ojp1cGRhdGUoY29uc3QgSW50UmVjdCYgcGFp
bnRlZFJlY3QpCg==
</data>
<flag name="review"
          id="62811"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>