<?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>56391</bug_id>
          
          <creation_ts>2011-03-15 11:16:20 -0700</creation_ts>
          <short_desc>Make sure that NP_Shutdown is always the last NPP function called</short_desc>
          <delta_ts>2011-03-15 11:23: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>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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>367802</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-15 11:16:20 -0700</bug_when>
    <thetext>Make sure that NP_Shutdown is always the last NPP function called</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367804</commentid>
    <comment_count>1</comment_count>
      <attachid>85830</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-15 11:19:15 -0700</bug_when>
    <thetext>Created attachment 85830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367805</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-15 11:23:25 -0700</bug_when>
    <thetext>Committed r81157: &lt;http://trac.webkit.org/changeset/81157&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85830</attachid>
            <date>2011-03-15 11:19:15 -0700</date>
            <delta_ts>2011-03-15 11:20:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56391-20110315111917.patch</filename>
            <type>text/plain</type>
            <size>22095</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxMTU1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDMtMTUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBOUF9TaHV0ZG93biBpcyBhbHdh
eXMgdGhlIGxhc3QgTlBQIGZ1bmN0aW9uIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg5
ODk5MDI+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIGFsd2F5cyBpbmNyZW1lbnQgdGhlIGxvYWQg
Y291bnQgd2hlbmV2ZXIgYSB3ZWIgcHJvY2VzcyBjb25uZWN0aW9uCisgICAgICAgIGlzIG9wZW5l
ZCB0byBhIHBsdWctaW4gcHJvY2VzcywgYW5kIGRlY3JlbWVudCBpdCB3aGVuIHRoZSBsYXN0IHdl
YiBwcm9jZXNzIGNvbm5lY3Rpb24KKyAgICAgICAgZ29lcyBhd2F5LgorCisgICAgICAgICogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJv
Y2Vzczo6Y3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzOjpzdGFydFNodXRkb3duVGltZXJJZk5lY2Vzc2FyeSk6CisgICAgICAgICogU2hh
cmVkL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwOgorICAgICAgICAq
IFNoYXJlZC9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46Ok5ldHNjYXBlUGx1Z2luKToKKyAgICAgICAgKFdl
YktpdDo6TmV0c2NhcGVQbHVnaW46On5OZXRzY2FwZVBsdWdpbik6CisKIDIwMTEtMDMtMTUgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDgxMTQzKQorKysgU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMzLDYgKzEz
Myw4IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6Y3JlYXRlV2ViUHJvY2Vzc0Nvbm4KICAgICBtYWNo
X3BvcnRfdCBsaXN0ZW5pbmdQb3J0OwogICAgIG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNoX3Rhc2tf
c2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxpc3RlbmluZ1BvcnQpOwogCisgICAg
Ym9vbCBkaWRIYXZlQW55V2ViUHJvY2Vzc0Nvbm5lY3Rpb25zID0gIW1fd2ViUHJvY2Vzc0Nvbm5l
Y3Rpb25zLmlzRW1wdHkoKTsKKwogICAgIC8vIENyZWF0ZSBhIGxpc3RlbmluZyBjb25uZWN0aW9u
LgogICAgIFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4gY29ubmVjdGlvbiA9IFdlYlByb2Nl
c3NDb25uZWN0aW9uOjpjcmVhdGUobGlzdGVuaW5nUG9ydCk7CiAgICAgbV93ZWJQcm9jZXNzQ29u
bmVjdGlvbnMuYXBwZW5kKGNvbm5lY3Rpb24ucmVsZWFzZSgpKTsKQEAgLTE0MCw2ICsxNDIsMTQg
QEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpjcmVhdGVXZWJQcm9jZXNzQ29ubgogICAgIENvcmVJUEM6
Ok1hY2hQb3J0IGNsaWVudFBvcnQobGlzdGVuaW5nUG9ydCwgTUFDSF9NU0dfVFlQRV9NQUtFX1NF
TkQpOwogICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5
OjpEaWRDcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbihjbGllbnRQb3J0KSwgMCk7CiAKKyAgICBp
ZiAoTmV0c2NhcGVQbHVnaW5Nb2R1bGUqIG1vZHVsZSA9IG5ldHNjYXBlUGx1Z2luTW9kdWxlKCkp
IHsKKyAgICAgICAgaWYgKCFkaWRIYXZlQW55V2ViUHJvY2Vzc0Nvbm5lY3Rpb25zKSB7CisgICAg
ICAgICAgICAvLyBJbmNyZW1lbnQgdGhlIGxvYWQgY291bnQuIFRoaXMgaXMgbWF0Y2hlZCBieSBh
IGNhbGwgdG8gZGVjcmVtZW50TG9hZENvdW50IGluIHN0YXJ0U2h1dGRvd25UaW1lcklmTmVjZXNz
YXJ5LgorICAgICAgICAgICAgLy8gV2UgZG8gdGhpcyBzbyB0aGF0IHRoZSBwbHVnLWluIG1vZHVs
ZSdzIE5QX1NodXRkb3duIHdvbid0IGJlIGNhbGxlZCB1bnRpbCByaWdodCBiZWZvcmUgZXhpdGlu
Zy4KKyAgICAgICAgICAgIG1vZHVsZS0+aW5jcmVtZW50TG9hZENvdW50KCk7CisgICAgICAgIH0K
KyAgICB9CisKICAgICAvLyBTdG9wIHRoZSBzaHV0ZG93biB0aW1lci4KICAgICBtX3NodXRkb3du
VGltZXIuc3RvcCgpOwogfQpAQCAtMTc3LDYgKzE4NywxMCBAQCB2b2lkIFBsdWdpblByb2Nlc3M6
OnN0YXJ0U2h1dGRvd25UaW1lcklmCiAgICAgaWYgKCFtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIERlY3JlbWVudCB0aGUgbG9hZCBj
b3VudC4gVGhpcyBpcyBiYWxhbmNlZCBieSBhIGNhbGwgdG8gaW5jcmVtZW50TG9hZENvdW50IGlu
IGNyZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uLgorICAgIGlmIChtX3BsdWdpbk1vZHVsZSkKKyAg
ICAgICAgbV9wbHVnaW5Nb2R1bGUtPmRlY3JlbWVudExvYWRDb3VudCgpOworCiAgICAgLy8gU3Rh
cnQgdGhlIHNodXRkb3duIHRpbWVyLgogICAgIG1fc2h1dGRvd25UaW1lci5zdGFydE9uZVNob3Qo
c2h1dGRvd25UaW1lb3V0KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAJ
KHJldmlzaW9uIDgxMTQzKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxNiArNTgs
NiBAQCBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6fk5ldHNjYXBlUGx1Z2luTW9kCiAgICAgQVNTRVJU
KGluaXRpYWxpemVkTmV0c2NhcGVQbHVnaW5Nb2R1bGVzKCkuZmluZCh0aGlzKSA9PSBub3RGb3Vu
ZCk7CiB9CiAKLXZvaWQgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OnBsdWdpbkNyZWF0ZWQoKQotewot
ICAgIGluY3JlbWVudExvYWRDb3VudCgpOwotfQotCi12b2lkIE5ldHNjYXBlUGx1Z2luTW9kdWxl
OjpwbHVnaW5EZXN0cm95ZWQoKQotewotICAgIGRlY3JlbWVudExvYWRDb3VudCgpOwotfQotCiBW
ZWN0b3I8U3RyaW5nPiBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6c2l0ZXNXaXRoRGF0YSgpCiB7CiAg
ICAgVmVjdG9yPFN0cmluZz4gc2l0ZXM7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmgJ
KHJldmlzaW9uIDgxMTQzKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsOSArNDUsOSBA
QCBwdWJsaWM6CiAgICAgfk5ldHNjYXBlUGx1Z2luTW9kdWxlKCk7CiAKICAgICBjb25zdCBOUFBs
dWdpbkZ1bmNzJiBwbHVnaW5GdW5jcygpIGNvbnN0IHsgcmV0dXJuIG1fcGx1Z2luRnVuY3M7IH0K
LQotICAgIHZvaWQgcGx1Z2luQ3JlYXRlZCgpOwotICAgIHZvaWQgcGx1Z2luRGVzdHJveWVkKCk7
CisgCisgICAgdm9pZCBpbmNyZW1lbnRMb2FkQ291bnQoKTsKKyAgICB2b2lkIGRlY3JlbWVudExv
YWRDb3VudCgpOwogCiAgICAgc3RhdGljIGJvb2wgZ2V0UGx1Z2luSW5mbyhjb25zdCBTdHJpbmcm
IHBsdWdpblBhdGgsIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luJik7CiAKQEAgLTY4LDkgKzY4LDYg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGx5WDExUXVpcmtzQmVmb3JlTG9hZCgpOwogI2VuZGlm
CiAKLSAgICB2b2lkIGluY3JlbWVudExvYWRDb3VudCgpOwotICAgIHZvaWQgZGVjcmVtZW50TG9h
ZENvdW50KCk7Ci0KICAgICBib29sIHRyeUdldFNpdGVzV2l0aERhdGEoVmVjdG9yPFN0cmluZz4m
KTsKICAgICBib29sIHRyeUNsZWFyU2l0ZURhdGEoY29uc3QgU3RyaW5nJiBzaXRlLCB1aW50NjRf
dCBmbGFncywgdWludDY0X3QgbWF4QWdlKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4u
Y3BwCShyZXZpc2lvbiA4MTE0MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDE0ICs4
NCwxNCBAQCBOZXRzY2FwZVBsdWdpbjo6TmV0c2NhcGVQbHVnaW4oUGFzc1JlZlB0CiAgICAgbV9u
cHAubmRhdGEgPSB0aGlzOwogICAgIG1fbnBwLnBkYXRhID0gMDsKICAgICAKLSAgICBtX3BsdWdp
bk1vZHVsZS0+cGx1Z2luQ3JlYXRlZCgpOworICAgIG1fcGx1Z2luTW9kdWxlLT5pbmNyZW1lbnRM
b2FkQ291bnQoKTsKIH0KIAogTmV0c2NhcGVQbHVnaW46On5OZXRzY2FwZVBsdWdpbigpCiB7CiAg
ICAgQVNTRVJUKCFtX2lzU3RhcnRlZCk7CiAKLSAgICBtX3BsdWdpbk1vZHVsZS0+cGx1Z2luRGVz
dHJveWVkKCk7CisgICAgbV9wbHVnaW5Nb2R1bGUtPmRlY3JlbWVudExvYWRDb3VudCgpOwogfQog
CiBQYXNzUmVmUHRyPE5ldHNjYXBlUGx1Z2luPiBOZXRzY2FwZVBsdWdpbjo6ZnJvbU5QUChOUFAg
bnBwKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gODExNTUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzMiBAQAorMjAxMS0wMy0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2Ugc3VyZSB0aGF0IE5QX1NodXRkb3duIGlzIGFsd2F5cyB0aGUgbGFzdCBOUFAgZnVuY3Rp
b24gY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NjM5MQorCisgICAgICAgIEFkZCBhIHRlc3QgdGhhdCB0aW1lcyBvdXQgaWYgYW4gTlBfRGVh
bGxvY2F0ZSBvYmplY3QgaXMgY2FsbGVkIGFmdGVyIE5QX1NodXRkb3duLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luVGVzdC5j
cHA6CisgICAgICAgIChQbHVnaW5UZXN0OjpQbHVnaW5UZXN0KToKKyAgICAgICAgKFBsdWdpblRl
c3Q6Ok5QX1NodXRkb3duKToKKyAgICAgICAgKFBsdWdpblRlc3Q6OnJlZ2lzdGVyTlBTaHV0ZG93
bkZ1bmN0aW9uKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
UGx1Z2luVGVzdC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi9UZXN0cy9OUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNodXRkb3duLmNwcDogQWRkZWQuCisg
ICAgICAgIChOUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNodXRkb3duOjpOUERlYWxsb2NhdGVD
YWxsZWRCZWZvcmVOUFNodXRkb3duKToKKyAgICAgICAgKE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9y
ZU5QU2h1dGRvd246OlRlc3RPYmplY3Q6On5UZXN0T2JqZWN0KToKKyAgICAgICAgKE5QRGVhbGxv
Y2F0ZUNhbGxlZEJlZm9yZU5QU2h1dGRvd246OlNjcmlwdGFibGVPYmplY3Q6Omhhc1Byb3BlcnR5
KToKKyAgICAgICAgKE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9yZU5QU2h1dGRvd246OlNjcmlwdGFi
bGVPYmplY3Q6OmdldFByb3BlcnR5KToKKyAgICAgICAgKE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9y
ZU5QU2h1dGRvd246Ok5QUF9OZXcpOgorICAgICAgICAoTlBEZWFsbG9jYXRlQ2FsbGVkQmVmb3Jl
TlBTaHV0ZG93bjo6TlBQX0dldFZhbHVlKToKKyAgICAgICAgKE5QRGVhbGxvY2F0ZUNhbGxlZEJl
Zm9yZU5QU2h1dGRvd246OnNodXRkb3duKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0
TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHA6CisgICAgICAgIChOUF9TaHV0ZG93bik6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL3dpbi9UZXN0TmV0c2NhcGVQbHVn
aW4udmNwcm9qOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdp
bi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorCiAy
MDExLTAzLTE1ICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KSW5kZXg6IFRvb2xzL0dOVW1ha2VmaWxlLmFtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA4MTE0MykKKysrIFRv
b2xzL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNiArMTgwLDcgQEAgVGVz
dE5ldHNjYXBlUGx1Z2luX2xpYnRlc3RuZXRzY2FwZXBsdWdpbgogCVRvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9UZXN0cy9FdmFsdWF0ZUpTQWZ0ZXJSZW1vdmluZ1BsdWdp
bkVsZW1lbnQuY3BwIFwKIAlUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
VGVzdHMvR2V0VVJMV2l0aEphdmFTY3JpcHRVUkxEZXN0cm95aW5nUGx1Z2luLmNwcCBcCiAJVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1Rlc3RzL0dldFVzZXJBZ2VudFdp
dGhOdWxsTlBQRnJvbU5QUE5ldy5jcHAgXAorCVRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRz
Y2FwZVBsdWdJbi9UZXN0cy9OUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNodXRkb3duLmNwcCBc
CiAJVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1Rlc3RzL05QUnVudGlt
ZU9iamVjdEZyb21EZXN0cm95ZWRQbHVnaW4uY3BwIFwKIAlUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3BwIFwKIAlU
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTnVsbE5QUEdldFZh
bHVlUG9pbnRlci5jcHAgXApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRy
ZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biA4MTE0MykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKIAkJMUFD
NkM4NEEwRDA3NjM4NjAwQ0QzMTYxIC8qIFBsdWdpbk9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM2Qzc4MDBEMDc1ODlCMDBDRDMxNjEg
LyogUGx1Z2luT2JqZWN0LmNwcCAqLzsgfTsKIAkJMUFDNkM4NEIwRDA3NjM4NjAwQ0QzMTYxIC8q
IFRlc3RPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFDNkM3ODEwRDA3NTg5QjAwQ0QzMTYxIC8qIFRlc3RPYmplY3QuY3BwICovOyB9Owog
CQkxQUM3N0RDRjEyMDYwNUI2MDA1QzE5RUYgLyogTlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDNzdEQ0Ux
MjA2MDVCNjAwNUMxOUVGIC8qIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcCAqLzsgfTsKKwkJ
MUFDRjg5OEQxMzJFRjQxQzAwRTkxNUQ0IC8qIE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9yZU5QU2h1
dGRvd24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFDRjg5OEIxMzJFRjQxQzAwRTkxNUQ0IC8qIE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9yZU5QU2h1
dGRvd24uY3BwICovOyB9OwogCQkxQUQ0Q0IyMjEyQTZEMTM1MDAyN0E3QUYgLyogR2V0VXNlckFn
ZW50V2l0aE51bGxOUFBGcm9tTlBQTmV3LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRDRDQjIwMTJBNkQxMzUwMDI3QTdBRiAvKiBHZXRVc2VyQWdl
bnRXaXRoTnVsbE5QUEZyb21OUFBOZXcuY3BwICovOyB9OwogCQkxQUQ5RDJGRTEyMDI4NDA5MDAx
QTcwRDEgLyogUGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUQ5RDJGRDEyMDI4NDA5
MDAxQTcwRDEgLyogUGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAgKi87
IH07CiAJCTIzQkNCODkwMEVBNTc2MjMwMDNDNjI4OSAvKiBPcGVuR0wuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjNCQ0I4OEYwRUE1
NzYyMzAwM0M2Mjg5IC8qIE9wZW5HTC5mcmFtZXdvcmsgKi87IH07CkBAIC0yMTQsNiArMjE1LDcg
QEAKIAkJMUFDNkM3ODAwRDA3NTg5QjAwQ0QzMTYxIC8qIFBsdWdpbk9iamVjdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnaW5PYmplY3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQUM2Qzc4MTBEMDc1ODlCMDBDRDMxNjEgLyogVGVzdE9i
amVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXN0T2JqZWN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDNzdEQ0UxMjA2MDVCNjAwNUMx
OUVGIC8qIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUFDRjg5OEIxMzJFRjQxQzAwRTkxNUQ0IC8qIE5QRGVhbGxvY2F0
ZUNhbGxlZEJlZm9yZU5QU2h1dGRvd24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTlBEZWFsbG9jYXRlQ2FsbGVkQmVmb3JlTlBTaHV0ZG93bi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRDRDQjIwMTJBNkQxMzUwMDI3QTdBRiAvKiBHZXRVc2Vy
QWdlbnRXaXRoTnVsbE5QUEZyb21OUFBOZXcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gR2V0VXNlckFnZW50V2l0aE51bGxOUFBGcm9tTlBQTmV3LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFEOUQyRkQxMjAyODQwOTAwMUE3MEQxIC8qIFBsdWdp
blNjcmlwdGFibGVOUE9iamVjdEludm9rZURlZmF1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luU2NyaXB0YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIzQkNCODhGMEVBNTc2MjMwMDNDNjI4
OSAvKiBPcGVuR0wuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBPcGVuR0wuZnJhbWV3b3Jr
OyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yazsgc291
cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKQEAgLTQ3Nyw2ICs0NzksNyBAQAogCQkJCUMwRTcy
MDc0MTI4MUM4MjgwMDRFRjUzMyAvKiBFdmFsdWF0ZUpTQWZ0ZXJSZW1vdmluZ1BsdWdpbkVsZW1l
bnQuY3BwICovLAogCQkJCTFBM0UyOEE5MTMxMUQ3M0IwMDUwMTM0OSAvKiBHZXRVUkxXaXRoSmF2
YVNjcmlwdFVSTERlc3Ryb3lpbmdQbHVnaW4uY3BwICovLAogCQkJCTFBRDRDQjIwMTJBNkQxMzUw
MDI3QTdBRiAvKiBHZXRVc2VyQWdlbnRXaXRoTnVsbE5QUEZyb21OUFBOZXcuY3BwICovLAorCQkJ
CTFBQ0Y4OThCMTMyRUY0MUMwMEU5MTVENCAvKiBOUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNo
dXRkb3duLmNwcCAqLywKIAkJCQkxQTI0QkFBODEyMDczNEVFMDBGQkIwNTkgLyogTlBSdW50aW1l
T2JqZWN0RnJvbURlc3Ryb3llZFBsdWdpbi5jcHAgKi8sCiAJCQkJMUFDNzdEQ0UxMjA2MDVCNjAw
NUMxOUVGIC8qIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNwcCAqLywKIAkJCQlDMEVDM0M5QjEy
Nzg3RjA1MDA5MzkxNjQgLyogTnVsbE5QUEdldFZhbHVlUG9pbnRlci5jcHAgKi8sCkBAIC03NzAs
NiArNzczLDcgQEAKIAkJCQlDMEU3MjA3NTEyODFDODI4MDA0RUY1MzMgLyogRXZhbHVhdGVKU0Fm
dGVyUmVtb3ZpbmdQbHVnaW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRDRDQjIy
MTJBNkQxMzUwMDI3QTdBRiAvKiBHZXRVc2VyQWdlbnRXaXRoTnVsbE5QUEZyb21OUFBOZXcuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzRTI4QUExMzExRDczQjAwNTAxMzQ5IC8qIEdldFVSTFdp
dGhKYXZhU2NyaXB0VVJMRGVzdHJveWluZ1BsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
QUNGODk4RDEzMkVGNDFDMDBFOTE1RDQgLyogTlBEZWFsbG9jYXRlQ2FsbGVkQmVmb3JlTlBTaHV0
ZG93bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luVGVzdC5jcHAJKHJldmlzaW9uIDgxMTQz
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRlc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw4IEBACiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogZXh0ZXJuIE5QTmV0c2NhcGVGdW5jcyAqYnJvd3NlcjsKIAorc3RhdGljIHZvaWQgKCpzaHV0
ZG93bkZ1bmN0aW9uKSgpOworCiBQbHVnaW5UZXN0KiBQbHVnaW5UZXN0OjpjcmVhdGUoTlBQIG5w
cCwgY29uc3Qgc3RyaW5nJiBpZGVudGlmaWVyKQogewogICAgIGlmIChpZGVudGlmaWVyLmVtcHR5
KCkpCkBAIC00NywxMiArNDksMjYgQEAgUGx1Z2luVGVzdDo6UGx1Z2luVGVzdChOUFAgbnBwLCBj
b25zdCBzdAogICAgIDogbV9ucHAobnBwKQogICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIp
CiB7CisgICAgLy8gUmVzZXQgdGhlIHNodXRkb3duIGZ1bmN0aW9uLgorICAgIHNodXRkb3duRnVu
Y3Rpb24gPSAwOwogfQogCiBQbHVnaW5UZXN0Ojp+UGx1Z2luVGVzdCgpCiB7CiB9CiAKK3ZvaWQg
UGx1Z2luVGVzdDo6TlBfU2h1dGRvd24oKQoreworICAgIGlmIChzaHV0ZG93bkZ1bmN0aW9uKQor
ICAgICAgICBzaHV0ZG93bkZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgUGx1Z2luVGVzdDo6cmVnaXN0
ZXJOUFNodXRkb3duRnVuY3Rpb24odm9pZCAoKmZ1bmMpKCkpCit7CisgICAgYXNzZXJ0KCFzaHV0
ZG93bkZ1bmN0aW9uKTsKKyAgICBzaHV0ZG93bkZ1bmN0aW9uID0gZnVuYzsKK30KKwogTlBFcnJv
ciBQbHVnaW5UZXN0OjpOUFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgdWludDE2X3QgbW9k
ZSwgaW50MTZfdCBhcmdjLCBjaGFyICphcmduW10sIGNoYXIgKmFyZ3ZbXSwgTlBTYXZlZERhdGEg
KnNhdmVkKQogewogICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKSW5kZXg6IFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRlc3QuaAkocmV2
aXNpb24gODExNDMpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
UGx1Z2luVGVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw4IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGx1Z2luVGVzdCogY3JlYXRlKE5QUCwgY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50
aWZpZXIpOwogICAgIHZpcnR1YWwgflBsdWdpblRlc3QoKTsKIAorICAgIHN0YXRpYyB2b2lkIE5Q
X1NodXRkb3duKCk7CisKICAgICAvLyBOUFAgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgTlBFcnJv
ciBOUFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgdWludDE2X3QgbW9kZSwgaW50MTZfdCBh
cmdjLCBjaGFyICphcmduW10sIGNoYXIgKmFyZ3ZbXSwgTlBTYXZlZERhdGEgKnNhdmVkKTsKICAg
ICB2aXJ0dWFsIE5QRXJyb3IgTlBQX0Rlc3Ryb3koTlBTYXZlZERhdGEqKik7CkBAIC03NCw2ICs3
Niw4IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIGV4ZWN1dGVTY3JpcHQoY29uc3QgY2hhciop
OwogCisgICAgdm9pZCByZWdpc3Rlck5QU2h1dGRvd25GdW5jdGlvbih2b2lkICgqKSgpKTsKKwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFRlc3RDbGFzc1R5PiBjbGFzcyBSZWdpc3RlciB7CiAgICAg
cHVibGljOgogICAgICAgICBSZWdpc3Rlcihjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmllcikK
SW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFp
bi5jcHAJKHJldmlzaW9uIDgxMTQzKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL21haW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiArMTIzLDcgQEAgTlBF
cnJvciBTVERDQUxMIE5QX0dldEVudHJ5UG9pbnRzKE5QUGx1ZwogZXh0ZXJuICJDIgogdm9pZCBT
VERDQUxMIE5QX1NodXRkb3duKHZvaWQpCiB7CisgICAgUGx1Z2luVGVzdDo6TlBfU2h1dGRvd24o
KTsKIH0KIAogc3RhdGljIHZvaWQgZXhlY3V0ZVNjcmlwdChjb25zdCBQbHVnaW5PYmplY3QqIG9i
aiwgY29uc3QgY2hhciogc2NyaXB0KTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9UZXN0cy9OUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNodXRkb3duLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
VGVzdHMvTlBEZWFsbG9jYXRlQ2FsbGVkQmVmb3JlTlBTaHV0ZG93bi5jcHAJKHJldmlzaW9uIDAp
CisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBEZWFs
bG9jYXRlQ2FsbGVkQmVmb3JlTlBTaHV0ZG93bi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
OTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiUGx1Z2luVGVzdC5oIgorCit1c2luZyBuYW1l
c3BhY2Ugc3RkOworCitzdGF0aWMgYm9vbCB3YXNTaHV0ZG93bkNhbGxlZCA9IGZhbHNlOworCitj
bGFzcyBOUERlYWxsb2NhdGVDYWxsZWRCZWZvcmVOUFNodXRkb3duIDogcHVibGljIFBsdWdpblRl
c3QgeworcHVibGljOgorICAgIE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9yZU5QU2h1dGRvd24oTlBQ
IG5wcCwgY29uc3Qgc3RyaW5nJiBpZGVudGlmaWVyKQorICAgICAgICA6IFBsdWdpblRlc3QobnBw
LCBpZGVudGlmaWVyKQorICAgIHsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgLy8gVGhpcyBpcyB0
aGUgdGVzdCBvYmplY3QuCisgICAgY2xhc3MgVGVzdE9iamVjdCA6IHB1YmxpYyBPYmplY3Q8VGVz
dE9iamVjdD4geyAKKyAgICBwdWJsaWM6CisgICAgICAgIH5UZXN0T2JqZWN0KCkgCisgICAgICAg
IHsKKyAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIHJlYWxseSBiZSBhbiBhc3NlcnQsIGJ1dCB0
aGVyZSdzIG5vIHdheSBmb3IgdGhlIHRlc3QgZnJhbWV3b3JrCisgICAgICAgICAgICAvLyB0byBr
bm93IHRoYXQgdGhlIHBsdWctaW4gcHJvY2VzcyBjcmFzaGVkLCBzbyB3ZSdsbCBqdXN0IHNsZWVw
IGZvciBhIHdoaWxlCisgICAgICAgICAgICAvLyB0byBlbnN1cmUgdGhhdCB0aGUgdGVzdCB0aW1l
cyBvdXQuCisgICAgICAgICAgICBpZiAod2FzU2h1dGRvd25DYWxsZWQpCisgICAgICAgICAgICAg
ICAgc2xlZXAoMTAwMCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgLy8gVGhpcyBpcyB0aGUg
c2NyaXB0YWJsZSBvYmplY3QuIEl0IGhhcyBhIHNpbmdsZSAidGVzdE9iamVjdCIgcHJvcGVydHku
CisgICAgY2xhc3MgU2NyaXB0YWJsZU9iamVjdCA6IHB1YmxpYyBPYmplY3Q8U2NyaXB0YWJsZU9i
amVjdD4geyAKKyAgICBwdWJsaWM6CisgICAgICAgIGJvb2wgaGFzUHJvcGVydHkoTlBJZGVudGlm
aWVyIHByb3BlcnR5TmFtZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5
TmFtZSA9PSBwbHVnaW5UZXN0KCktPk5QTl9HZXRTdHJpbmdJZGVudGlmaWVyKCJ0ZXN0T2JqZWN0
Iik7CisgICAgICAgIH0KKworICAgICAgICBib29sIGdldFByb3BlcnR5KE5QSWRlbnRpZmllciBw
cm9wZXJ0eU5hbWUsIE5QVmFyaWFudCogcmVzdWx0KQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAocHJvcGVydHlOYW1lICE9IHBsdWdpblRlc3QoKS0+TlBOX0dldFN0cmluZ0lkZW50aWZpZXIo
InRlc3RPYmplY3QiKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
ICAgIE5QT2JqZWN0KiB0ZXN0T2JqZWN0ID0gVGVzdE9iamVjdDo6Y3JlYXRlKHBsdWdpblRlc3Qo
KSk7CisgICAgICAgICAgICBPQkpFQ1RfVE9fTlBWQVJJQU5UKHRlc3RPYmplY3QsICpyZXN1bHQp
OworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdmly
dHVhbCBOUEVycm9yIE5QUF9OZXcoTlBNSU1FVHlwZSBwbHVnaW5UeXBlLCB1aW50MTZfdCBtb2Rl
LCBpbnQxNl90IGFyZ2MsIGNoYXIgKmFyZ25bXSwgY2hhciAqYXJndltdLCBOUFNhdmVkRGF0YSAq
c2F2ZWQpCisgICAgeworICAgICAgICByZWdpc3Rlck5QU2h1dGRvd25GdW5jdGlvbihzaHV0ZG93
bik7CisKKyAgICAgICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOworICAgIH0KKworICAgIHZpcnR1
YWwgTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQVmFyaWFibGUgdmFyaWFibGUsIHZvaWQgKnZhbHVl
KQorICAgIHsKKyAgICAgICAgaWYgKHZhcmlhYmxlICE9IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBP
YmplY3QpCisgICAgICAgICAgICByZXR1cm4gTlBFUlJfR0VORVJJQ19FUlJPUjsKKyAgICAgICAg
CisgICAgICAgICooTlBPYmplY3QqKil2YWx1ZSA9IFNjcmlwdGFibGVPYmplY3Q6OmNyZWF0ZSh0
aGlzKTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKKyAgICB9CisK
KyAgICBzdGF0aWMgdm9pZCBzaHV0ZG93bigpCisgICAgeworICAgICAgICB3YXNTaHV0ZG93bkNh
bGxlZCA9IHRydWU7CisgICAgfQorCit9OworCitzdGF0aWMgUGx1Z2luVGVzdDo6UmVnaXN0ZXI8
TlBEZWFsbG9jYXRlQ2FsbGVkQmVmb3JlTlBTaHV0ZG93bj4gbnBSdW50aW1lT2JqZWN0RnJvbURl
c3Ryb3llZFBsdWdpbigibnAtZGVhbGxvY2F0ZS1jYWxsZWQtYmVmb3JlLW5wLXNodXRkb3duIik7
CisKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi93aW4vVGVz
dE5ldHNjYXBlUGx1Z2luLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0TmV0c2NhcGVQbHVnSW4vd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oJKHJldmlz
aW9uIDgxMTQzKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL3dp
bi9UZXN0TmV0c2NhcGVQbHVnaW4udmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MDYsNiArNDA2
LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFRlc3RzXE5QRGVhbGxvY2F0ZUNhbGxlZEJlZm9yZU5QU2h1dGRvd24uY3BwIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xOUFJ1bnRpbWVP
YmplY3RGcm9tRGVzdHJveWVkUGx1Z2luLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1
Z2luLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2Nh
cGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybwkocmV2aXNpb24gODExNDMpCisrKyBUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2lu
LnBybwkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQCBTT1VSQ0VTID0gUGx1Z2luT2Jq
ZWN0LmNwcCBcCiAgICAgICAgICAgVGVzdHMvRXZhbHVhdGVKU0FmdGVyUmVtb3ZpbmdQbHVnaW5F
bGVtZW50LmNwcCBcCiAgICAgICAgICAgVGVzdHMvR2V0VVJMV2l0aEphdmFTY3JpcHRVUkxEZXN0
cm95aW5nUGx1Z2luLmNwcCBcCiAgICAgICAgICAgVGVzdHMvR2V0VXNlckFnZW50V2l0aE51bGxO
UFBGcm9tTlBQTmV3LmNwcCBcCisgICAgICAgICAgVGVzdHMvTlBEZWFsbG9jYXRlQ2FsbGVkQmVm
b3JlTlBTaHV0ZG93bi5jcHAgXAogICAgICAgICAgIFRlc3RzL05QUnVudGltZU9iamVjdEZyb21E
ZXN0cm95ZWRQbHVnaW4uY3BwIFwKICAgICAgICAgICBUZXN0cy9OUFJ1bnRpbWVSZW1vdmVQcm9w
ZXJ0eS5jcHAgXAogICAgICAgICAgIFRlc3RzL051bGxOUFBHZXRWYWx1ZVBvaW50ZXIuY3BwIFwK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDgxMTU1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMTUgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBOUF9TaHV0ZG93biBpcyBhbHdheXMgdGhlIGxh
c3QgTlBQIGZ1bmN0aW9uIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTYzOTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg5ODk5MDI+CisK
KyAgICAgICAgQWRkIHRlc3QuCisKKyAgICAgICAgKiBwbHVnaW5zL25wcnVudGltZS9ucC1kZWFs
bG9jYXRlLWNhbGxlZC1iZWZvcmUtbnAtc2h1dGRvd24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbHVnaW5zL25wcnVudGltZS9ucC1kZWFsbG9jYXRlLWNhbGxlZC1iZWZvcmUtbnAt
c2h1dGRvd24uaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMTUgIElseWEgU2hlcm1hbiAgPGlzaGVy
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpJbmRl
eDogTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvbnAtZGVhbGxvY2F0ZS1jYWxsZWQtYmVm
b3JlLW5wLXNodXRkb3duLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bHVnaW5zL25wcnVudGltZS9ucC1kZWFsbG9jYXRlLWNhbGxlZC1iZWZvcmUtbnAtc2h1dGRvd24t
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRp
bWUvbnAtZGVhbGxvY2F0ZS1jYWxsZWQtYmVmb3JlLW5wLXNodXRkb3duLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIE5QX0RlYWxs
b2NhdGUgZnVuY3Rpb24gb2YgYW4gTlBPYmplY3QgaXNuJ3QgY2FsbGVkIGJlZm9yZSB0aGUgTlBf
U2h1dGRvd24gZnVuY3Rpb24uCitTVUNDRVNTCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5zL25w
cnVudGltZS9ucC1kZWFsbG9jYXRlLWNhbGxlZC1iZWZvcmUtbnAtc2h1dGRvd24uaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9ucC1kZWFsbG9jYXRlLWNh
bGxlZC1iZWZvcmUtbnAtc2h1dGRvd24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsdWdpbnMvbnBydW50aW1lL25wLWRlYWxsb2NhdGUtY2FsbGVkLWJlZm9yZS1ucC1zaHV0ZG93
bi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8c2NyaXB0PgorZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGVzdE9iamVj
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwbHVnaW4nKS50ZXN0T2JqZWN0OworCisgICAg
Ly8gUmVtb3ZlIHRoZSBwbHVnLWluLiBUaGUgcGx1Zy1pbiBhc3NlcnRzIHRoYXQgc2h1dGRvd24g
aXNuJ3QgY2FsbGVkIGJlZm9yZQorICAgIC8vIGFueSBjYWxscyB0byBOUF9EZWFsbG9jYXRlLCBz
byB0aGlzIHRlc3Qgd2lsbCB0aW1lIG91dCBpZiB0aGF0IGhhcHBlbnMuCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmlubmVySFRNTCA9ICcnOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7Cit9Cis8L3Nj
cmlwdD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8
ZW1iZWQgaWQ9InBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2Fw
ZSIgdGVzdD0ibnAtZGVhbGxvY2F0ZS1jYWxsZWQtYmVmb3JlLW5wLXNodXRkb3duIiB3aWR0aD0x
MDAgaGVpZ2h0PTEwMD48L2VtYmVkPgorPC9kaXY+Cis8ZGl2PlRoaXMgdGVzdHMgdGhhdCB0aGUg
TlBfRGVhbGxvY2F0ZSBmdW5jdGlvbiBvZiBhbiBOUE9iamVjdCBpc24ndCBjYWxsZWQgYmVmb3Jl
IHRoZSBOUF9TaHV0ZG93biBmdW5jdGlvbi48L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTFVS
RTwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="78015"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>