<?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>24510</bug_id>
          
          <creation_ts>2009-03-11 03:54:02 -0700</creation_ts>
          <short_desc>Plugin Package function pointers are set up wrong</short_desc>
          <delta_ts>2009-05-20 10:36:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>hausmann</cc>
    
    <cc>jam</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113156</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2009-03-11 03:54:02 -0700</bug_when>
    <thetext>Hello,

In file PluginPackageMac.cpp, function load, two function pointers are set in wrong way:

m_browserFuncs.hasproperty = _NPN_HasMethod; 
m_browserFuncs.hasmethod = _NPN_HasProperty;

The right way to set them should be:
m_browserFuncs.hasproperty = _NPN_HasProperty; 
m_browserFuncs.hasmethod = _NPN_HasMethod;

Also, the same problem can be found in PluginPackageGtk.cpp and PluginPackageQt.cpp.

Regards,
Mihnea</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113193</commentid>
    <comment_count>1</comment_count>
      <attachid>28483</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2009-03-11 10:00:42 -0700</bug_when>
    <thetext>Created attachment 28483
First version of patch

Made a small patch by setting the function pointers in the right way. The patch does not contain any test for the moment. Is there any layout test necessary for such patch?

Regards,
Mihnea</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113195</commentid>
    <comment_count>2</comment_count>
      <attachid>28483</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-03-11 10:03:39 -0700</bug_when>
    <thetext>Comment on attachment 28483
First version of patch

We do have plug-in tests in our regression test suite. So you could indeed make a regression test for this, and I think it would be a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>116910</commentid>
    <comment_count>3</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2009-04-08 11:49:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 28483 [review])
&gt; We do have plug-in tests in our regression test suite. So you could indeed make
&gt; a regression test for this, and I think it would be a good idea.
&gt; 

This issue is already fixed in the mac version of WebKit. Currently it affects only Qt/Gtk builds. Can i build Qt/Gtk on Mac in order to test a possible unit test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117508</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-04-14 13:09:22 -0700</bug_when>
    <thetext>Your patch looks great!

The Qt build currently does not build the test netsacpe plugin for the plugin layout tests, but the Gtk port does. (and they seem to all pass except for one test)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120646</commentid>
    <comment_count>5</comment_count>
      <attachid>28483</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-11 06:31:49 -0700</bug_when>
    <thetext>Comment on attachment 28483
First version of patch

This definitely needs a test case. I assume it should be possible to modify test_plugin in DumpRenderTree to test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120843</commentid>
    <comment_count>6</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-12 07:38:08 -0700</bug_when>
    <thetext>I agree with Eric, I&apos;m in the process of creating a test...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120845</commentid>
    <comment_count>7</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2009-05-12 07:42:18 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I agree with Eric, I&apos;m in the process of creating a test...
&gt; 

Thanks, time for me to learn :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121266</commentid>
    <comment_count>8</comment_count>
      <attachid>30332</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-14 04:52:23 -0700</bug_when>
    <thetext>Created attachment 30332
Bugfix + TestCase

While doing the test case I found that _NPN_HasMethod is a bit too liberal in declaring things as a function. This was changed within the patch, but I&apos;m not sure about the correctness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121802</commentid>
    <comment_count>9</comment_count>
      <attachid>30332</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2009-05-18 10:34:06 -0700</bug_when>
    <thetext>Comment on attachment 30332
Bugfix + TestCase

r=me on everything except the _NPN_HasMethod change. Let&apos;s file a separate bug about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122177</commentid>
    <comment_count>10</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-20 09:10:43 -0700</bug_when>
    <thetext>I created bug #25891 for the NPN_HasMethod issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122187</commentid>
    <comment_count>11</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-20 10:36:25 -0700</bug_when>
    <thetext>Landed in r43923.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28483</attachid>
            <date>2009-03-11 10:00:42 -0700</date>
            <delta_ts>2009-05-14 04:52:23 -0700</delta_ts>
            <desc>First version of patch</desc>
            <filename>patch_24510.txt</filename>
            <type>text/plain</type>
            <size>3069</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU4OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDktMDMtMTEgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9i
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBzdXJlIHRoZSBmdW5jdGlvbiBwb2ludGVycyBmb3IgaGFzcHJvcGVydHkgYW5kIGhhc21l
dGhvZCBhcmUgY29ycmVjdGx5IHNldCB1cCBpbiBsb2FkLgorCisgICAgICAgICogcGx1Z2lucy9n
dGsvUGx1Z2luUGFja2FnZUd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdl
Ojpsb2FkKToKKyAgICAgICAgKiBwbHVnaW5zL21hYy9QbHVnaW5QYWNrYWdlTWFjLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmxvYWQpOgorICAgICAgICAqIHBsdWdpbnMv
cXQvUGx1Z2luUGFja2FnZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6
OmxvYWQpOgorCiAyMDA5LTAzLTExICBIaXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBXZWJD
b3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGx1Z2lucy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHAJKHJldmlzaW9uIDQxNTg3KQorKysg
V2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjE2LDggKzIxNiw4IEBAIGJvb2wgUGx1Z2luUGFja2FnZTo6bG9hZCgpCiAgICAgbV9icm93
c2VyRnVuY3MuZ2V0cHJvcGVydHkgPSBfTlBOX0dldFByb3BlcnR5OwogICAgIG1fYnJvd3NlckZ1
bmNzLnNldHByb3BlcnR5ID0gX05QTl9TZXRQcm9wZXJ0eTsKICAgICBtX2Jyb3dzZXJGdW5jcy5y
ZW1vdmVwcm9wZXJ0eSA9IF9OUE5fUmVtb3ZlUHJvcGVydHk7Ci0gICAgbV9icm93c2VyRnVuY3Mu
aGFzcHJvcGVydHkgPSBfTlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5oYXNtZXRo
b2QgPSBfTlBOX0hhc1Byb3BlcnR5OworICAgIG1fYnJvd3NlckZ1bmNzLmhhc3Byb3BlcnR5ID0g
X05QTl9IYXNQcm9wZXJ0eTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5oYXNtZXRob2QgPSBfTlBOX0hh
c01ldGhvZDsKICAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNlcHRpb24gPSBfTlBOX1NldEV4Y2Vw
dGlvbjsKICAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUgPSBfTlBOX0VudW1lcmF0ZTsKICAg
ICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0NvbnN0cnVjdDsKSW5kZXg6IFdlYkNv
cmUvcGx1Z2lucy9tYWMvUGx1Z2luUGFja2FnZU1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbHVnaW5zL21hYy9QbHVnaW5QYWNrYWdlTWFjLmNwcAkocmV2aXNpb24gNDE1ODcpCisrKyBX
ZWJDb3JlL3BsdWdpbnMvbWFjL1BsdWdpblBhY2thZ2VNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjYsOCArMzI2LDggQEAgYm9vbCBQbHVnaW5QYWNrYWdlOjpsb2FkKCkKICAgICBtX2Jyb3dz
ZXJGdW5jcy5nZXRwcm9wZXJ0eSA9IF9OUE5fR2V0UHJvcGVydHk7CiAgICAgbV9icm93c2VyRnVu
Y3Muc2V0cHJvcGVydHkgPSBfTlBOX1NldFByb3BlcnR5OwogICAgIG1fYnJvd3NlckZ1bmNzLnJl
bW92ZXByb3BlcnR5ID0gX05QTl9SZW1vdmVQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5o
YXNwcm9wZXJ0eSA9IF9OUE5fSGFzTWV0aG9kOwotICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhv
ZCA9IF9OUE5fSGFzUHJvcGVydHk7CisgICAgbV9icm93c2VyRnVuY3MuaGFzcHJvcGVydHkgPSBf
TlBOX0hhc1Byb3BlcnR5OworICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhvZCA9IF9OUE5fSGFz
TWV0aG9kOwogICAgIG1fYnJvd3NlckZ1bmNzLnNldGV4Y2VwdGlvbiA9IF9OUE5fU2V0RXhjZXB0
aW9uOwogICAgIG1fYnJvd3NlckZ1bmNzLmVudW1lcmF0ZSA9IF9OUE5fRW51bWVyYXRlOwogCklu
ZGV4OiBXZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAkocmV2aXNpb24gNDE1ODcp
CisrKyBXZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTUxLDggKzE1MSw4IEBAIGJvb2wgUGx1Z2luUGFja2FnZTo6bG9hZCgpCiAgICAgbV9i
cm93c2VyRnVuY3MuZ2V0cHJvcGVydHkgPSBfTlBOX0dldFByb3BlcnR5OwogICAgIG1fYnJvd3Nl
ckZ1bmNzLnNldHByb3BlcnR5ID0gX05QTl9TZXRQcm9wZXJ0eTsKICAgICBtX2Jyb3dzZXJGdW5j
cy5yZW1vdmVwcm9wZXJ0eSA9IF9OUE5fUmVtb3ZlUHJvcGVydHk7Ci0gICAgbV9icm93c2VyRnVu
Y3MuaGFzcHJvcGVydHkgPSBfTlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5oYXNt
ZXRob2QgPSBfTlBOX0hhc1Byb3BlcnR5OworICAgIG1fYnJvd3NlckZ1bmNzLmhhc3Byb3BlcnR5
ID0gX05QTl9IYXNQcm9wZXJ0eTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5oYXNtZXRob2QgPSBfTlBO
X0hhc01ldGhvZDsKICAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNlcHRpb24gPSBfTlBOX1NldEV4
Y2VwdGlvbjsKICAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUgPSBfTlBOX0VudW1lcmF0ZTsK
ICAgICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0NvbnN0cnVjdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30332</attachid>
            <date>2009-05-14 04:52:23 -0700</date>
            <delta_ts>2009-05-18 10:34:06 -0700</delta_ts>
            <desc>Bugfix + TestCase</desc>
            <filename>0004--plugins-PluginPackage-.cpp-for-Gtk-Qt-misassigned.patch</filename>
            <type>text/plain</type>
            <size>14976</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBmOTBlODllNTkyZWRiYWY1OWRjNDhkZTkzYjE2NDllZjYyMTE1OTZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFR1ZSwgMTIgTWF5IDIwMDkgMTQ6NDA6MjIgKzAyMDAKU3ViamVjdDog
W1BBVENIXSBbcGx1Z2luc10gUGx1Z2luUGFja2FnZSouY3BwIGZvciBHdGsrL1F0IG1pc2Fzc2ln
bmVkIGhhc3Byb3BlcnR5IGFuZCBoYXNtZXRob2QKCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yNDUxMAoKUGx1Z2luUGFja2FnZUd0ay5jcHAgYW5kIFBsdWdpblBhY2th
Z2VRdC5jcHAgYXNzaWduZWQgX05QTl9IYXNNZXRob2QKdG8gaGFzcHJvcGVydHkgYW5kIF9OUE5f
SGFzUHJvcGVydHkgdG8gaGFzaG1ldGhvZC4gVGhpcyBjb21taXQgaXMgZml4aW5nCml0LiBJdCBp
cyBhbHNvIGFkZGluZyB0ZXN0IGNvZGUgdG8gUGx1Z2luT2JqZWN0LmNwcCBhbmQgaXQgd2lsbCBp
bnZva2UKdGhpcyBjb2RlIGZyb20gYSBuZXcgdGVzdC4gQ2hhbmdlIF9OUE5fSGFzTWV0aG9kIHRv
IG9ubHkgcmV0dXJuIHRydWUKZm9yIEZ1bmN0aW9uL0ludGVybmFsRnVuY3Rpb24gaW5zdGVhZCBm
b3IgZXZlcnkgcHJvcGVydHkgdGhhdCBpcwohPT0gdW5kZWZpbmVkLgotLS0KIExheW91dFRlc3Rz
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOCArKysrKwogLi4u
L25ldHNjYXBlLWludm9rZS1icm93c2VyZnVuY3MtZXhwZWN0ZWQudHh0ICAgICAgfCAgIDE5ICsr
KysrCiAuLi4vcGx1Z2lucy9uZXRzY2FwZS1pbnZva2UtYnJvd3NlcmZ1bmNzLmh0bWwgICAgICB8
ICAgNTUgKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDIyICsrKysrCiBXZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5j
cHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1
Z2luUGFja2FnZUd0ay5jcHAgICAgICAgICAgIHwgICAgNCArLQogV2ViQ29yZS9wbHVnaW5zL3F0
L1BsdWdpblBhY2thZ2VRdC5jcHAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysKIC4uLi9U
ZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwICAgIHwgICA4MSArKysr
KysrKysrKysrKystLS0tLQogOSBmaWxlcyBjaGFuZ2VkLCAyMDIgaW5zZXJ0aW9ucygrKSwgMjUg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRz
Y2FwZS1pbnZva2UtYnJvd3NlcmZ1bmNzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJyb3dzZXJmdW5jcy5odG1sCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDE5NTExMzQuLmRmYzE1YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wNS0x
NCAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ1MTAKKworICAgICAgICBBZGQgYSB0ZXN0IGNh
c2UgdGhhdCBOZXRzY2FwZSBQbHVnaW4gY2FuIHByb3Blcmx5CisgICAgICAgIGRldGVybWluZSBp
ZiBhIGdpdmVuIG9iamVjdCBoYXMgYSBzcGVjaWZpYyBtZXRob2QKKyAgICAgICAgYW5kIHByb3Bl
cnR5LgorCisgICAgICAgIFRoZSB0ZXN0IHdpbGwgYXNrIHRoZSBwbHVnaW4gdG8gY2FsbCBoYXNw
cm9wZXJ0eSBhbmQKKyAgICAgICAgaGFzbWV0aG9kIGFuZCB3aWxsIGNvbXBhcmUgdGhlIHJlc3Vs
dCB3aXRoIHdoYXQgaXMKKyAgICAgICAgZXhwZWN0ZWQuIFRoaXMgYXBwcm9hY2ggaXMgdGFrZW4g
ZnJvbQorICAgICAgICBuZXRzY2FwZS1nZXQtcHJvcGVydHktcmV0dXJuLXZhbHVlLmh0bWwKKwor
ICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJyb3dzZXJmdW5jcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJyb3dzZXJmdW5j
cy5odG1sOiBBZGRlZC4KKwogMjAwOS0wNS0xMSAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIg
IDx6ZWNrZUBzZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJyb3dz
ZXJmdW5jcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWludm9r
ZS1icm93c2VyZnVuY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmY3MTY0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25l
dHNjYXBlLWludm9rZS1icm93c2VyZnVuY3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAK
K1Rlc3QgaWYgdGhlIHBsdWdpbiBjYW4gcHJvcGVybHkgaW52b2tlIHRoZSBicm93c2VyZnVuY3MK
KworCitUZXN0aW5nIGhhc21ldGhvZAorU1VDQ0VTUzogaW50ZXJuYWxGdW5jdGlvbgorU1VDQ0VT
UzogZG9TdHVmZgorU1VDQ0VTUzogc3RyaW5nUHJvcGVydHkKK1NVQ0NFU1M6IG51bGxQcm9wZXJ0
eQorU1VDQ0VTUzogdW5kZWZpbmVkUHJvcGVydHkKK1NVQ0NFU1M6IG5vdERlZmluZWRGdW5jdGlv
bgorCitUZXN0aW5nIGhhc3Byb3BlcnR5CitTVUNDRVNTOiBpbnRlcm5hbEZ1bmN0aW9uCitTVUND
RVNTOiBkb1N0dWZmCitTVUNDRVNTOiBzdHJpbmdQcm9wZXJ0eQorU1VDQ0VTUzogbnVsbFByb3Bl
cnR5CitTVUNDRVNTOiB1bmRlZmluZWRQcm9wZXJ0eQorU1VDQ0VTUzogbm90RGVmaW5lZFByb3Bl
cnR5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJy
b3dzZXJmdW5jcy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1pbnZva2UtYnJv
d3NlcmZ1bmNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg5Nzg5
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtaW52b2tl
LWJyb3dzZXJmdW5jcy5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gZG9UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAg
ICB2YXIgcGx1Z2luID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RQbHVnaW4iKTsKKyAg
ICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisKKyAg
ICB2YXIgbyA9IHsgaW50ZXJuYWxGdW5jdGlvbiA6IE9iamVjdCwgZG9TdHVmZjogZnVuY3Rpb24o
KSB7cmV0dXJuIDIwO30sIHN0cmluZ1Byb3BlcnR5IDogJ3N0cicsIG51bGxQcm9wZXJ0eSA6IG51
bGwsIHVuZGVmaW5lZFByb3BlcnR5IDogdW5kZWZpbmVkIH07CisKKyAgICBmdW5jdGlvbiByZXBv
cnQocHJvcGVydHksIHJlc3VsdCwgZXhwZWN0ZWQpIHsKKyAgICAgICAgaWYgKHJlc3VsdCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9ICJGQUlMVVJFOiAi
ICsgcHJvcGVydHkgKyAiPGJyLz4iOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY29u
c29sZS5pbm5lckhUTUwgKz0gIlNVQ0NFU1M6ICIgKyBwcm9wZXJ0eSArICI8YnIvPiI7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRCZUZ1bmN0aW9uKHByb3BlcnR5LCBl
eHBlY3RlZCkgeworICAgICAgICByZXBvcnQocHJvcGVydHksIHBsdWdpbi50ZXN0SGFzTWV0aG9k
KG8sIHByb3BlcnR5KSwgZXhwZWN0ZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNob3VsZEJl
UHJvcGVydHkocHJvcGVydHksIGV4cGVjdGVkKSB7CisgICAgICAgIHJlcG9ydChwcm9wZXJ0eSwg
cGx1Z2luLnRlc3RIYXNQcm9wZXJ0eShvLCBwcm9wZXJ0eSksIGV4cGVjdGVkKTsKKyAgICB9CisK
KyAgICAvKiB0ZXN0IGhhc21ldGhvZCAqLworICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9ICJUZXN0
aW5nIGhhc21ldGhvZDxiciAvPiI7CisgICAgc2hvdWxkQmVGdW5jdGlvbigiaW50ZXJuYWxGdW5j
dGlvbiIsIHRydWUpOworICAgIHNob3VsZEJlRnVuY3Rpb24oImRvU3R1ZmYiLCB0cnVlKTsKKyAg
ICBzaG91bGRCZUZ1bmN0aW9uKCJzdHJpbmdQcm9wZXJ0eSIsIGZhbHNlKTsKKyAgICBzaG91bGRC
ZUZ1bmN0aW9uKCJudWxsUHJvcGVydHkiLCBmYWxzZSk7CisgICAgc2hvdWxkQmVGdW5jdGlvbigi
dW5kZWZpbmVkUHJvcGVydHkiLCBmYWxzZSk7CisgICAgc2hvdWxkQmVGdW5jdGlvbigibm90RGVm
aW5lZEZ1bmN0aW9uIiwgZmFsc2UpOworCisgICAgLyogdGVzdCBoYXNwcm9wZXJ0eSAqLworICAg
IGNvbnNvbGUuaW5uZXJIVE1MICs9ICI8YnIgLz5UZXN0aW5nIGhhc3Byb3BlcnR5PGJyIC8+IjsK
KyAgICBzaG91bGRCZVByb3BlcnR5KCJpbnRlcm5hbEZ1bmN0aW9uIiwgdHJ1ZSk7CisgICAgc2hv
dWxkQmVQcm9wZXJ0eSgiZG9TdHVmZiIsIHRydWUpOworICAgIHNob3VsZEJlUHJvcGVydHkoInN0
cmluZ1Byb3BlcnR5IiwgdHJ1ZSk7CisgICAgc2hvdWxkQmVQcm9wZXJ0eSgibnVsbFByb3BlcnR5
IiwgdHJ1ZSk7CisgICAgc2hvdWxkQmVQcm9wZXJ0eSgidW5kZWZpbmVkUHJvcGVydHkiLCB0cnVl
KTsKKyAgICBzaG91bGRCZVByb3BlcnR5KCJub3REZWZpbmVkUHJvcGVydHkiLCBmYWxzZSk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9UZXN0KCk7Ij4KKzxwPlRlc3Qg
aWYgdGhlIHBsdWdpbiBjYW4gcHJvcGVybHkgaW52b2tlIHRoZSBicm93c2VyZnVuY3M8L3A+Cis8
ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0
c2NhcGUiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggY2QzM2ZmMS4uOTI3NmMyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0wNS0xNCAgSG9sZ2VyIEhh
bnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjQ1MTAKKworICAgICAgICBGaXggYSBidWcgd2hlcmUgdGhlIGJyb3dz
ZXJmdW5jcyB3ZXJlIG5vdCBwcm9wZXJseSBhc3NpZ25lZCwKKyAgICAgICAgbWFrZSBoYXNwcm9w
ZXJ0eSB1c2UgX05QX0hhc1Byb3BlcnR5IGFuZCBoYXNtZXRob2QgX05QX0hhc01ldGhvZC4KKwor
ICAgICAgICBDaGFuZ2UgTlBfanNvYmplY3QuY3BwOl9OUF9IYXNNZXRob2QgdG8gb25seSByZXR1
cm4gdHJ1ZQorICAgICAgICBvbiBmdW5jdGlvbnMuIEN1cnJlbnRseSBldmVyeSBwcm9wZXJ0eSBu
b3QgaGF2aW5nIHRoZSB2YWx1ZQorICAgICAgICB1bmRlZmluZWQgd2lsbCBiZSBjb25zaWRlcmVk
IGEgbWV0aG9kLgorCisgICAgICAgIFRlc3Q6IHBsdWdpbnMvbmV0c2NhcGUtaW52b2tlLWJyb3dz
ZXJmdW5jcy5odG1sCisKKyAgICAgICAgKiBicmlkZ2UvTlBfanNvYmplY3QuY3BwOgorICAgICAg
ICAoX05QTl9IYXNNZXRob2QpOiBNYWtlIEhhc01ldGhvZCByZXR1cm4gdHJ1ZSBvbmx5IGZvciBm
dW5jdGlvbnMKKyAgICAgICAgKiBwbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmxvYWQpOiBGaXggYXNzaWdubWVudAorICAg
ICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsdWdpblBhY2thZ2U6OmxvYWQpOiBGaXggYXNzaWdubWVudAorCiAyMDA5LTA1LTExICBIb2xn
ZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZpc2gub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvTlBf
anNvYmplY3QuY3BwIGIvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCmluZGV4IDMyNThj
NTQuLmFjNGUzZDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcAor
KysgYi9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZy
ZXl0aGVyCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDYgKzM5LDcgQEAK
ICNpbmNsdWRlICJucHJ1bnRpbWVfcHJpdi5oIgogI2luY2x1ZGUgInJ1bnRpbWVfcm9vdC5oIgog
I2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKyNpbmNsdWRlIDxydW50aW1lL0ludGVybmFsRnVu
Y3Rpb24uaD4KICNpbmNsdWRlIDxydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg+CiAjaW5jbHVkZSA8
cnVudGltZS9KU0xvY2suaD4KICNpbmNsdWRlIDxydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5Lmg+
CkBAIC0zNjcsNyArMzY5LDkgQEAgYm9vbCBfTlBOX0hhc01ldGhvZChOUFAsIE5QT2JqZWN0KiBv
LCBOUElkZW50aWZpZXIgbWV0aG9kTmFtZSkKICAgICAgICAgSlNMb2NrIGxvY2soZmFsc2UpOwog
ICAgICAgICBKU1ZhbHVlIGZ1bmMgPSBvYmotPmltcC0+Z2V0KGV4ZWMsIGlkZW50aWZpZXJGcm9t
TlBJZGVudGlmaWVyKGktPnN0cmluZygpKSk7CiAgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9u
KCk7Ci0gICAgICAgIHJldHVybiAhZnVuYy5pc1VuZGVmaW5lZCgpOworICAgICAgICBpZiAoIWZ1
bmMuaXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJu
IGZ1bmMudG9PYmplY3QoZXhlYyktPmluaGVyaXRzKCZJbnRlcm5hbEZ1bmN0aW9uOjppbmZvKTsK
ICAgICB9CiAgICAgCiAgICAgaWYgKG8tPl9jbGFzcy0+aGFzTWV0aG9kKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcCBiL1dlYkNvcmUvcGx1Z2lu
cy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHAKaW5kZXggMTMzN2MzMS4uOTRmM2RjNSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcAorKysgYi9XZWJD
b3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsuY3BwCkBAIC0yMTYsOCArMjE2LDggQEAg
Ym9vbCBQbHVnaW5QYWNrYWdlOjpsb2FkKCkKICAgICBtX2Jyb3dzZXJGdW5jcy5nZXRwcm9wZXJ0
eSA9IF9OUE5fR2V0UHJvcGVydHk7CiAgICAgbV9icm93c2VyRnVuY3Muc2V0cHJvcGVydHkgPSBf
TlBOX1NldFByb3BlcnR5OwogICAgIG1fYnJvd3NlckZ1bmNzLnJlbW92ZXByb3BlcnR5ID0gX05Q
Tl9SZW1vdmVQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5oYXNwcm9wZXJ0eSA9IF9OUE5f
SGFzTWV0aG9kOwotICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhvZCA9IF9OUE5fSGFzUHJvcGVy
dHk7CisgICAgbV9icm93c2VyRnVuY3MuaGFzcHJvcGVydHkgPSBfTlBOX0hhc1Byb3BlcnR5Owor
ICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhvZCA9IF9OUE5fSGFzTWV0aG9kOwogICAgIG1fYnJv
d3NlckZ1bmNzLnNldGV4Y2VwdGlvbiA9IF9OUE5fU2V0RXhjZXB0aW9uOwogICAgIG1fYnJvd3Nl
ckZ1bmNzLmVudW1lcmF0ZSA9IF9OUE5fRW51bWVyYXRlOwogICAgIG1fYnJvd3NlckZ1bmNzLmNv
bnN0cnVjdCA9IF9OUE5fQ29uc3RydWN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL3F0
L1BsdWdpblBhY2thZ2VRdC5jcHAgYi9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0
LmNwcAppbmRleCBjMmFmYzIwLi4yOWU5YzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMv
cXQvUGx1Z2luUGFja2FnZVF0LmNwcAorKysgYi9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFj
a2FnZVF0LmNwcApAQCAtMTUwLDggKzE1MCw4IEBAIGJvb2wgUGx1Z2luUGFja2FnZTo6bG9hZCgp
CiAgICAgbV9icm93c2VyRnVuY3MuZ2V0cHJvcGVydHkgPSBfTlBOX0dldFByb3BlcnR5OwogICAg
IG1fYnJvd3NlckZ1bmNzLnNldHByb3BlcnR5ID0gX05QTl9TZXRQcm9wZXJ0eTsKICAgICBtX2Jy
b3dzZXJGdW5jcy5yZW1vdmVwcm9wZXJ0eSA9IF9OUE5fUmVtb3ZlUHJvcGVydHk7Ci0gICAgbV9i
cm93c2VyRnVuY3MuaGFzcHJvcGVydHkgPSBfTlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJG
dW5jcy5oYXNtZXRob2QgPSBfTlBOX0hhc1Byb3BlcnR5OworICAgIG1fYnJvd3NlckZ1bmNzLmhh
c3Byb3BlcnR5ID0gX05QTl9IYXNQcm9wZXJ0eTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5oYXNtZXRo
b2QgPSBfTlBOX0hhc01ldGhvZDsKICAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNlcHRpb24gPSBf
TlBOX1NldEV4Y2VwdGlvbjsKICAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUgPSBfTlBOX0Vu
dW1lcmF0ZTsKICAgICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0NvbnN0cnVjdDsK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMGU2NmZkLi5mZmU5OWFlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMDUt
MTQgIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTEwIHdoZXJlCisKKyAgICAgICAgQWRkIHRl
c3RIYXNQcm9wZXJ0eSBhbmQgdGVzdEhhc01ldGhvZCB0byB0aGUgZXhpc3RpbmcgZnVuY3Rpb25z
CisgICAgICAgIG9mIHRoZSBQbHVnaW5PYmplY3QgdG8gYmUgYWJsZSB0byB0ZXN0IHRoZSBicm93
c2VyIGhhc3Byb3BlcnR5CisgICAgICAgIGFuZCBoYXNtZXRob2QgaW1wbGVtZW50YXRpb24uIElu
dm9rZSB0aGVtIGZyb20gcGx1Z2luSW52b2tlLgorCisgICAgICAgIENoYW5nZSB0aGUgZGVmaW5l
cyB0byBhbiBlbnVtIHRvIGF2b2lkIG1hbnVhbGx5IHVwZGF0aW5nCisgICAgICAgIE5VTV9NRVRI
T0RfSURFTlRJRklFUlMgYW5kIGFzc2lnbmluZyBudW1iZXJzLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcDoKKyAg
ICAgICAgKHRlc3RIYXNQcm9wZXJ0eSk6IHRlc3QgaGFzcHJvcGVydHkKKyAgICAgICAgKHRlc3RI
YXNNZXRob2QpOiB0ZXN0IGhhc21ldGhvZAorICAgICAgICAocGx1Z2luSW52b2tlKTogaW52b2tl
IHRoZSB0d28KKwogMjAwOS0wNS0xMSAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNr
ZUBzZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5z
dWJwcm9qL1BsdWdpbk9iamVjdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwCmluZGV4IGUzMjFmZWUuLjY3
YWQ3MzIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2Fw
ZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBI
YW5zIFBldGVyIEZyZXl0aGVyCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc5
LDI4ICs4MCwzMiBAQCBzdGF0aWMgY29uc3QgTlBVVEY4ICpwbHVnaW5Qcm9wZXJ0eUlkZW50aWZp
ZXJOYW1lc1tOVU1fUFJPUEVSVFlfSURFTlRJRklFUlNdID0gewogICAgICJoYXNTdHJlYW0iLAog
ICAgICJ0ZXN0T2JqZWN0IiwKICAgICAibG9nRGVzdHJveSIsCi0gICAgInJldHVybkVycm9yRnJv
bU5ld1N0cmVhbSIsCisgICAgInJldHVybkVycm9yRnJvbU5ld1N0cmVhbSIKIH07CiAKLSNkZWZp
bmUgSURfVEVTVF9DQUxMQkFDS19NRVRIT0QgICAgIDAKLSNkZWZpbmUgSURfVEVTVF9HRVRVUkwg
ICAgICAgICAgICAgIDEKLSNkZWZpbmUgSURfUkVNT1ZFX0RFRkFVTFRfTUVUSE9EICAgIDIKLSNk
ZWZpbmUgSURfVEVTVF9ET01fQUNDRVNTICAgICAgICAgIDMKLSNkZWZpbmUgSURfVEVTVF9HRVRf
VVJMX05PVElGWSAgICAgIDQKLSNkZWZpbmUgSURfVEVTVF9JTlZPS0VfREVGQVVMVCAgICAgIDUK
LSNkZWZpbmUgSURfREVTVFJPWV9TVFJFQU0gICAgICAgICAgIDYKLSNkZWZpbmUgSURfVEVTVF9F
TlVNRVJBVEUgICAgICAgICAgIDcKLSNkZWZpbmUgSURfVEVTVF9HRVRJTlRJREVOVElGSUVSICAg
IDgKLSNkZWZpbmUgSURfVEVTVF9HRVRfUFJPUEVSVFkgICAgICAgIDkKLSNkZWZpbmUgSURfVEVT
VF9FVkFMVUFURSAgICAgICAgICAgIDEwCi0jZGVmaW5lIElEX1RFU1RfR0VUX1BST1BFUlRZX1JF
VFVSTl9WQUxVRSAxMQotI2RlZmluZSBJRF9URVNUX0lERU5USUZJRVJfVE9fU1RSSU5HIDEyCi0j
ZGVmaW5lIElEX1RFU1RfSURFTlRJRklFUl9UT19JTlQgICAxMwotI2RlZmluZSBJRF9URVNUX1BP
U1RVUkxfRklMRSAgICAgICAgMTQKLSNkZWZpbmUgSURfVEVTVF9DT05TVFJVQ1QgICAgICAgICAg
IDE1Ci0jZGVmaW5lIElEX1RFU1RfVEhST1dfRVhDRVBUSU9OX01FVEhPRCAxNgotI2RlZmluZSBJ
RF9ERVNUUk9ZX05VTExfU1RSRUFNIDE3Ci0jZGVmaW5lIE5VTV9NRVRIT0RfSURFTlRJRklFUlMg
ICAgICAxOAorZW51bSB7CisgICAgSURfVEVTVF9DQUxMQkFDS19NRVRIT0QgPSAwLAorICAgIElE
X1RFU1RfR0VUVVJMLAorICAgIElEX1JFTU9WRV9ERUZBVUxUX01FVEhPRCwKKyAgICBJRF9URVNU
X0RPTV9BQ0NFU1MsCisgICAgSURfVEVTVF9HRVRfVVJMX05PVElGWSwKKyAgICBJRF9URVNUX0lO
Vk9LRV9ERUZBVUxULAorICAgIElEX0RFU1RST1lfU1RSRUFNLAorICAgIElEX1RFU1RfRU5VTUVS
QVRFLAorICAgIElEX1RFU1RfR0VUSU5USURFTlRJRklFUiwKKyAgICBJRF9URVNUX0dFVF9QUk9Q
RVJUWSwKKyAgICBJRF9URVNUX0hBU19QUk9QRVJUWSwKKyAgICBJRF9URVNUX0hBU19NRVRIT0Qs
CisgICAgSURfVEVTVF9FVkFMVUFURSwKKyAgICBJRF9URVNUX0dFVF9QUk9QRVJUWV9SRVRVUk5f
VkFMVUUsCisgICAgSURfVEVTVF9JREVOVElGSUVSX1RPX1NUUklORywKKyAgICBJRF9URVNUX0lE
RU5USUZJRVJfVE9fSU5ULAorICAgIElEX1RFU1RfUE9TVFVSTF9GSUxFLAorICAgIElEX1RFU1Rf
Q09OU1RSVUNULAorICAgIElEX1RFU1RfVEhST1dfRVhDRVBUSU9OX01FVEhPRCwKKyAgICBJRF9E
RVNUUk9ZX05VTExfU1RSRUFNLAorICAgIE5VTV9NRVRIT0RfSURFTlRJRklFUlMKK307CiAKIHN0
YXRpYyBOUElkZW50aWZpZXIgcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbTlVNX01FVEhPRF9JREVO
VElGSUVSU107CiBzdGF0aWMgY29uc3QgTlBVVEY4ICpwbHVnaW5NZXRob2RJZGVudGlmaWVyTmFt
ZXNbTlVNX01FVEhPRF9JREVOVElGSUVSU10gPSB7CkBAIC0xMTQsNiArMTE5LDggQEAgc3RhdGlj
IGNvbnN0IE5QVVRGOCAqcGx1Z2luTWV0aG9kSWRlbnRpZmllck5hbWVzW05VTV9NRVRIT0RfSURF
TlRJRklFUlNdID0gewogICAgICJ0ZXN0RW51bWVyYXRlIiwKICAgICAidGVzdEdldEludElkZW50
aWZpZXIiLAogICAgICJ0ZXN0R2V0UHJvcGVydHkiLAorICAgICJ0ZXN0SGFzUHJvcGVydHkiLAor
ICAgICJ0ZXN0SGFzTWV0aG9kIiwKICAgICAidGVzdEV2YWx1YXRlIiwKICAgICAidGVzdEdldFBy
b3BlcnR5UmV0dXJuVmFsdWUiLAogICAgICJ0ZXN0SWRlbnRpZmllclRvU3RyaW5nIiwKQEAgLTQ2
Nyw2ICs0NzQsMzYgQEAgc3RhdGljIGJvb2wgdGVzdEdldFByb3BlcnR5KFBsdWdpbk9iamVjdCog
b2JqLCBjb25zdCBOUFZhcmlhbnQqIGFyZ3MsIHVpbnQzMl90IGEKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK3N0YXRpYyBib29sIHRlc3RIYXNQcm9wZXJ0eShQbHVnaW5PYmplY3QqIG9iaiwgY29u
c3QgTlBWYXJpYW50KiBhcmdzLCB1aW50MzJfdCBhcmdDb3VudCwgTlBWYXJpYW50KiByZXN1bHQp
Cit7CisgICAgaWYgKGFyZ0NvdW50ICE9IDIgfHwgIU5QVkFSSUFOVF9JU19PQkpFQ1QoYXJnc1sw
XSkgfHwgIU5QVkFSSUFOVF9JU19TVFJJTkcoYXJnc1sxXSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIE5QVVRGOCogcHJvcGVydHlTdHJpbmcgPSBjcmVhdGVDU3RyaW5nRnJvbU5QVmFy
aWFudCgmYXJnc1sxXSk7CisgICAgTlBJZGVudGlmaWVyIHByb3BlcnR5SWRlbnRpZmllciA9IGJy
b3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXIocHJvcGVydHlTdHJpbmcpOworICAgIGZyZWUocHJv
cGVydHlTdHJpbmcpOworCisgICAgYm9vbCByZXR2YWwgPSBicm93c2VyLT5oYXNwcm9wZXJ0eShv
YmotPm5wcCwgTlBWQVJJQU5UX1RPX09CSkVDVChhcmdzWzBdKSwgcHJvcGVydHlJZGVudGlmaWVy
KTsKKworICAgIEJPT0xFQU5fVE9fTlBWQVJJQU5UKHJldHZhbCwgKnJlc3VsdCk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIHRlc3RIYXNNZXRob2QoUGx1Z2luT2JqZWN0KiBv
YmosIGNvbnN0IE5QVmFyaWFudCogYXJncywgdWludDMyX3QgYXJnQ291bnQsIE5QVmFyaWFudCog
cmVzdWx0KQoreworICAgIGlmIChhcmdDb3VudCAhPSAyIHx8ICFOUFZBUklBTlRfSVNfT0JKRUNU
KGFyZ3NbMF0pIHx8ICFOUFZBUklBTlRfSVNfU1RSSU5HKGFyZ3NbMV0pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBOUFVURjgqIHByb3BlcnR5U3RyaW5nID0gY3JlYXRlQ1N0cmluZ0Zy
b21OUFZhcmlhbnQoJmFyZ3NbMV0pOworICAgIE5QSWRlbnRpZmllciBwcm9wZXJ0eUlkZW50aWZp
ZXIgPSBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVyKHByb3BlcnR5U3RyaW5nKTsKKyAgICBm
cmVlKHByb3BlcnR5U3RyaW5nKTsKKworICAgIGJvb2wgcmV0dmFsID0gYnJvd3Nlci0+aGFzbWV0
aG9kKG9iai0+bnBwLCBOUFZBUklBTlRfVE9fT0JKRUNUKGFyZ3NbMF0pLCBwcm9wZXJ0eUlkZW50
aWZpZXIpOworCisgICAgQk9PTEVBTl9UT19OUFZBUklBTlQocmV0dmFsLCAqcmVzdWx0KTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGJvb2wgdGVzdEV2YWx1YXRlKFBsdWdpbk9iamVj
dCogb2JqLCBjb25zdCBOUFZhcmlhbnQqIGFyZ3MsIHVpbnQzMl90IGFyZ0NvdW50LCBOUFZhcmlh
bnQqIHJlc3VsdCkKIHsKICAgICBpZiAoYXJnQ291bnQgIT0gMSB8fCAhTlBWQVJJQU5UX0lTX1NU
UklORyhhcmdzWzBdKSkKQEAgLTU3Niw2ICs2MTMsMTAgQEAgc3RhdGljIGJvb2wgcGx1Z2luSW52
b2tlKE5QT2JqZWN0KiBoZWFkZXIsIE5QSWRlbnRpZmllciBuYW1lLCBjb25zdCBOUFZhcmlhbnQq
IGEKICAgICAgICAgcmV0dXJuIHRlc3RHZXRQcm9wZXJ0eShwbHVnaW4sIGFyZ3MsIGFyZ0NvdW50
LCByZXN1bHQpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNb
SURfVEVTVF9HRVRfUFJPUEVSVFlfUkVUVVJOX1ZBTFVFXSkKICAgICAgICAgcmV0dXJuIHRlc3RH
ZXRQcm9wZXJ0eVJldHVyblZhbHVlKHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7Cisg
ICAgZWxzZSBpZiAobmFtZSA9PSBwbHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0hBU19Q
Uk9QRVJUWV0pCisgICAgICAgIHJldHVybiB0ZXN0SGFzUHJvcGVydHkocGx1Z2luLCBhcmdzLCBh
cmdDb3VudCwgcmVzdWx0KTsKKyAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50
aWZpZXJzW0lEX1RFU1RfSEFTX01FVEhPRF0pCisgICAgICAgIHJldHVybiB0ZXN0SGFzTWV0aG9k
KHBsdWdpbiwgYXJncywgYXJnQ291bnQsIHJlc3VsdCk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSBw
bHVnaW5NZXRob2RJZGVudGlmaWVyc1tJRF9URVNUX0lERU5USUZJRVJfVE9fU1RSSU5HXSkKICAg
ICAgICAgcmV0dXJuIHRlc3RJZGVudGlmaWVyVG9TdHJpbmcocGx1Z2luLCBhcmdzLCBhcmdDb3Vu
dCwgcmVzdWx0KTsKICAgICBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJz
W0lEX1RFU1RfSURFTlRJRklFUl9UT19JTlRdKQotLSAKMS42LjAuNAoK
</data>
<flag name="review"
          id="15274"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>