<?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>43368</bug_id>
          
          <creation_ts>2010-08-02 11:13:04 -0700</creation_ts>
          <short_desc>Cache JSNPObjects and fix bugs in the object map</short_desc>
          <delta_ts>2010-08-02 11:28:31 -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>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258991</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-02 11:13:04 -0700</bug_when>
    <thetext>Cache JSNPObjects and fix bugs in the object map</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259000</commentid>
    <comment_count>1</comment_count>
      <attachid>63241</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-02 11:18:59 -0700</bug_when>
    <thetext>Created attachment 63241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259003</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-02 11:22:05 -0700</bug_when>
    <thetext>Attachment 63241 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259009</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-08-02 11:28:31 -0700</bug_when>
    <thetext>Committed r64479: &lt;http://trac.webkit.org/changeset/64479&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63241</attachid>
            <date>2010-08-02 11:18:59 -0700</date>
            <delta_ts>2010-08-02 11:26:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43368-20100802111858.patch</filename>
            <type>text/plain</type>
            <size>26554</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MGQwODVlY2QwMWFhZGYyODk5N2MzY2M0ZTcwMjdkNDNhMGU5OGVmLi5jN2NiNjBh
YjRhM2UyMWVkOWY2MjZjZDkyMjc1ZmM4NjRhMmZhOWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDgtMDIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWNoZSBKU05QT2Jq
ZWN0cyBhbmQgZml4IGJ1Z3MgaW4gdGhlIG9iamVjdCBtYXAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMzY4CisKKyAgICAgICAgKiBwbHVnaW5zL25w
cnVudGltZS9vYmplY3QtZnJvbS1kZXN0cm95ZWQtcGx1Z2luLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGx1Z2lucy9ucHJ1bnRpbWUvb2JqZWN0LWZyb20tZGVzdHJveWVkLXBsdWdp
bi5odG1sOiBBZGRlZC4KKwogMjAxMC0wOC0wMiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvb2JqZWN0LWZyb20tZGVzdHJveWVkLXBs
dWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9vYmplY3Qt
ZnJvbS1kZXN0cm95ZWQtcGx1Z2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjI3ZjJmNWU4
YWY3Mjg4ZTQ3Mzc5ZGRjYTk3NzQwNTgyZmEyOWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGx1Z2lucy9ucHJ1bnRpbWUvb2JqZWN0LWZyb20tZGVzdHJveWVkLXBsdWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB2YXJpb3VzIG9wZXJhdGlvbiBvbiBhbiBO
UE9iamVjdCB3aG9zZSBwbHVnLWluIGhhcyBiZWVuIGRlc3Ryb3llZAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyB0ZXN0T2JqZWN0LmdldHRpbmdQcm9wZXJ0eSB0aHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IFRyeWluZyB0byBhY2Nlc3Mgb2JqZWN0IGZyb20gZGVz
dHJveWVkIHBsdWctaW4uLgorUEFTUyB0ZXN0T2JqZWN0LnNldHRpbmdQcm9wZXJ0eSA9IDEwIHRo
cmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogVHJ5aW5nIHRvIGFjY2VzcyBvYmplY3QgZnJv
bSBkZXN0cm95ZWQgcGx1Zy1pbi4uCitQQVNTIHRlc3RPYmplY3QoKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBSZXN1bHQgb2YgZXhwcmVzc2lvbiAndGVzdE9iamVjdCcgW10gaXMgbm90IGEg
ZnVuY3Rpb24uLgorUEFTUyBuZXcgdGVzdE9iamVjdCgpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBSZXN1bHQgb2YgZXhwcmVzc2lvbiAndGVzdE9iamVjdCcgW10gaXMgbm90IGEgY29uc3Ry
dWN0b3IuLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVudGltZS9vYmpl
Y3QtZnJvbS1kZXN0cm95ZWQtcGx1Z2luLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25wcnVu
dGltZS9vYmplY3QtZnJvbS1kZXN0cm95ZWQtcGx1Z2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdmMGQ2
Nzk4ZTc1ZDZlODU2MzE2ZmRkOTM5OWYyZmYzMWNhZDE4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsdWdpbnMvbnBydW50aW1lL29iamVjdC1mcm9tLWRlc3Ryb3llZC1wbHVnaW4u
aHRtbApAQCAtMCwwICsxLDMwIEBACis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBwbHVnaW4gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncGx1Z2luJyk7CisgICAgCisgICAgLy8gR2V0IG91ciB0ZXN0IG9iamVjdC4K
KyAgICB0ZXN0T2JqZWN0ID0gcGx1Z2luLnRlc3RPYmplY3Q7CisgICAgCisgICAgLy8gTm93IGRl
c3Ryb3kgdGhlIHBsdWctaW4uIAorICAgIHBsdWdpbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHBs
dWdpbik7CisKKyAgICAvLyB0ZXN0T2JqZWN0IGlzIG5vdyBhIGRhbmdsaW5nIG9iamVjdCBhbmQg
ZXZlcnkgb3BlcmF0aW9uIG9uIGl0IHNob3VsZCB0aHJvdy4KKyAgICBzaG91bGRUaHJvdygndGVz
dE9iamVjdC5nZXR0aW5nUHJvcGVydHknKTsKKyAgICBzaG91bGRUaHJvdygndGVzdE9iamVjdC5z
ZXR0aW5nUHJvcGVydHkgPSAxMCcpOworICAgIHNob3VsZFRocm93KCd0ZXN0T2JqZWN0KCknKTsK
KyAgICBzaG91bGRUaHJvdygnbmV3IHRlc3RPYmplY3QoKTsnKQorfQorPC9zY3JpcHQ+Cis8Ym9k
eSBvbkxvYWQ9InJ1blRlc3QoKSI+Cis8ZW1iZWQgaWQ9InBsdWdpbiIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgdGVzdD0ibnBydW50aW1lLW9iamVjdC1mcm9tLWRl
c3Ryb3llZC1wbHVnaW4iPjwvZW1iZWQ+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdmFyaW91
cyBvcGVyYXRpb24gb24gYW4gTlBPYmplY3Qgd2hvc2UgcGx1Zy1pbiBoYXMgYmVlbiBkZXN0cm95
ZWQiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1OGQwMWQwZDA5
ZWNlZjczMzE2OThjYTFiZWFjNmUzNTRkNDQ0ZTkzLi4xZTBlM2I0ZWI4YWQxZGVmNmUzMzgxYjg0
ZDcwM2Y3MjVmYzY2ZTJhIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEwLTA4LTAyICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2FjaGUgSlNOUE9iamVjdHMgYW5kIGZpeCBidWdzIGluIHRoZSBv
YmplY3QgbWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MzM2OAorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0OjpKU05QT2JqZWN0KToKKyAgICAgICAgQXNzZXJ0
IHRoYXQgd2UncmUgbm90IHRyeWluZyB0byB3cmFwIGFuIE5QSlNPYmplY3QuCisKKyAgICAgICAg
KFdlYktpdDo6SlNOUE9iamVjdDo6fkpTTlBPYmplY3QpOgorICAgICAgICBUZWxsIHRoZSBvYmpl
Y3QgbWFwIHRoYXQgd2UncmUgZ29uZS4KKworICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0Ojpp
bnZhbGlkYXRlKToKKyAgICAgICAgUmVsZWFzZSB0aGUgTlBPYmplY3QgYW5kIG51bGwgb3V0IHRo
ZSBwb2ludGVyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOUEpTT2JqZWN0OjpjcmVhdGUpOgorICAgICAgICBBc3NlcnQg
dGhhdCB3ZSdyZSBub3QgdHJ5aW5nIHRvIHdyYXAgYSBKU05QT2JqZWN0LgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5QUnVudGltZU9iamVjdE1hcDo6Z2V0T3JDcmVhdGVOUE9iamVjdCk6CisgICAgICAgIElm
IHdlJ3JlIHBhc3NlZCBhIEpTTlBPYmplY3QsIGp1c3QgZXh0cmFjdCBpdHMgTlBPYmplY3QuCisK
KyAgICAgICAgKFdlYktpdDo6TlBSdW50aW1lT2JqZWN0TWFwOjpnZXRPckNyZWF0ZUpTT2JqZWN0
KToKKyAgICAgICAgSWYgd2UncmUgcGFzc2VkIGFuIE5QSlNPYmplY3QsIGp1c3QgZXh0cmFjdCBp
dHMgSlNPYmplY3QuIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlCisgICAgICAg
IGEgSlNPYmplY3QgZm9yIHRoaXMgTlBPYmplY3QgYW5kIHJldHVybiBpdC4KKworICAgICAgICAo
V2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmpzTlBPYmplY3REZXN0cm95ZWQpOgorICAgICAg
ICBSZW1vdmUgdGhlIG9iamVjdCBmcm9tIHRoZSBtYXAuCisKKyAgICAgICAgKFdlYktpdDo6TlBS
dW50aW1lT2JqZWN0TWFwOjpjb252ZXJ0TlBWYXJpYW50VG9KU1ZhbHVlKToKKyAgICAgICAgZ2V0
T3JDcmVhdGVKU09iamVjdCBub3cgY2hlY2tzIGZvciB3cmFwcGVkIG9iamVjdHMuCisKKyAgICAg
ICAgKFdlYktpdDo6TlBSdW50aW1lT2JqZWN0TWFwOjpjb252ZXJ0SlNWYWx1ZVRvTlBWYXJpYW50
KToKKyAgICAgICAgZ2V0T3JDcmVhdGVOUE9iamVjdCBub3cgY2hlY2tzIGZvciB3cmFwcGVkIG9i
amVjdHMuCisKKyAgICAgICAgKFdlYktpdDo6TlBSdW50aW1lT2JqZWN0TWFwOjppbnZhbGlkYXRl
KToKKyAgICAgICAgSW52YWxpZGF0ZSBKU05QT2JqZWN0cyBhcyB3ZWxsLgorCiAyMDEwLTA4LTAy
ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwZWN1bGF0
aXZlIHJldmVydCBvZiA2NDQyNSBkdWUgdG8gQ2hyb21pdW0gaW5zdGFiaWxpdHkKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuY3BwIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5jcHAKaW5kZXggNTZkZjMwZmZlZjE5ZjZiMzg3
MjAwMjk1YzZjNGE5ZjcyZDU2MzY4MS4uZTEzZTkyMDg5MzZiODQ0OTViMDI4NjUxZmUxN2YyNjMz
NTEzNWIyYyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVj
dC5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5jcHAKQEAg
LTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJKU05QT2JqZWN0LmgiCiAKICNpbmNsdWRlICJKU05Q
TWV0aG9kLmgiCisjaW5jbHVkZSAiTlBKU09iamVjdC5oIgogI2luY2x1ZGUgIk5QUnVudGltZU9i
amVjdE1hcC5oIgogI2luY2x1ZGUgIk5QUnVudGltZVV0aWxpdGllcy5oIgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0Vycm9yLmg+CkBAIC0zNSw4ICszNiw4IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9JZGVudGlmaWVyUmVwLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmluZy5oPgog
Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7Cit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTUyLDEyICs1Mywy
NyBAQCBKU05QT2JqZWN0OjpKU05QT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TQogICAgICwgbV9vYmplY3RNYXAob2JqZWN0TWFw
KQogICAgICwgbV9ucE9iamVjdChucE9iamVjdCkKIHsKKyAgICAvLyBXZSBzaG91bGQgbmV2ZXIg
aGF2ZSBhbiBOUEpTT2JqZWN0IGluc2lkZSBhIEpTTlBPYmplY3QuCisgICAgQVNTRVJUKCFOUEpT
T2JqZWN0Ojppc05QSlNPYmplY3QobV9ucE9iamVjdCkpOworCiAgICAgcmV0YWluTlBPYmplY3Qo
bV9ucE9iamVjdCk7CiB9CiAKIEpTTlBPYmplY3Q6On5KU05QT2JqZWN0KCkKIHsKLSAgICAvLyBG
SVhNRTogSW1wbGVtZW50LgorICAgIGlmICghbV9ucE9iamVjdCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9vYmplY3RNYXAtPmpzTlBPYmplY3REZXN0cm95ZWQodGhpcyk7CisgICAgcmVsZWFz
ZU5QT2JqZWN0KG1fbnBPYmplY3QpOworfQorCit2b2lkIEpTTlBPYmplY3Q6OmludmFsaWRhdGUo
KQoreworICAgIEFTU0VSVChtX25wT2JqZWN0KTsKKworICAgIHJlbGVhc2VOUE9iamVjdChtX25w
T2JqZWN0KTsKKyAgICBtX25wT2JqZWN0ID0gMDsKIH0KIAogSlNWYWx1ZSBKU05QT2JqZWN0Ojpj
YWxsTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgTlBJZGVudGlmaWVyIG1ldGhvZE5hbWUpCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2JqZWN0LmggYi9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2JqZWN0LmgKaW5kZXggMjkxNjgyMzI5YWI1MTY4ZTlk
NGI3OGJjMDM0NjgwNGYzZjRhZTBkOC4uYWYxMzY5YWNiMzQzZGM4MmJiNTFmMzk1NWNlYTA5MDM1
ODFhYTFjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVj
dC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuaApAQCAtNDIs
NiArNDIsOCBAQCBwdWJsaWM6CiAgICAgSlNOUE9iamVjdChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
TlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIE5QT2JqZWN0KiBucE9iamVjdCk7CiAgICAg
fkpTTlBPYmplY3QoKTsKIAorICAgIHZvaWQgaW52YWxpZGF0ZSgpOworCiAgICAgSlNDOjpKU1Zh
bHVlIGNhbGxNZXRob2QoSlNDOjpFeGVjU3RhdGUqLCBOUElkZW50aWZpZXIgbWV0aG9kTmFtZSk7
CiAgICAgSlNDOjpKU1ZhbHVlIGNhbGxPYmplY3QoSlNDOjpFeGVjU3RhdGUqKTsKICAgICBKU0M6
OkpTVmFsdWUgY2FsbENvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKik7CmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmNwcCBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3BwCmluZGV4IDkyMmNhNjMzNjJhMTczZTVhOTJhZDIy
YWY4ZGY5N2NhMDM3YTk4MGEuLjJmYmIyMjUwYzVjYWNmYjFlOWU2OTI0MDgxODBhMTliMGEwOGI0
NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3Bw
CisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3BwCkBAIC0yNSw2
ICsyNSw3IEBACiAKICNpbmNsdWRlICJOUEpTT2JqZWN0LmgiCiAKKyNpbmNsdWRlICJKU05QT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiTlBSdW50aW1lT2JqZWN0TWFwLmgiCiAjaW5jbHVkZSAiTlBSdW50
aW1lVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTQyLDYgKzQz
LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIE5QSlNPYmplY3QqIE5QSlNPYmplY3Q6OmNyZWF0
ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNPYmplY3QqIGpzT2JqZWN0KQogewor
ICAgIC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGEgSlNOUE9iamVjdCBpbnNpZGUgYW4gTlBKU09i
amVjdC4KKyAgICBBU1NFUlQoIWpzT2JqZWN0LT5pbmhlcml0cygmSlNOUE9iamVjdDo6c19pbmZv
KSk7CisKICAgICBOUEpTT2JqZWN0KiBucEpTT2JqZWN0ID0gdG9OUEpTT2JqZWN0KGNyZWF0ZU5Q
T2JqZWN0KDAsIG5wQ2xhc3MoKSkpOwogICAgIG5wSlNPYmplY3QtPmluaXRpYWxpemUob2JqZWN0
TWFwLCBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05QUnVudGltZU9iamVjdE1hcC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IGUxYWM5ZWYxMmRkMzNiZmEzMDMyNDhiMzRkNDI1OTg2
ZjNjMmM2NDMuLmJjNjFiNDRmM2E3YTUwZmQ0MzU4YzlmNGM5ODQ4NWU5YjI3YjA5Y2YgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5jcHAK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApA
QCAtNDgsMTQgKzQ4LDIzIEBAIE5QUnVudGltZU9iamVjdE1hcDo6TlBSdW50aW1lT2JqZWN0TWFw
KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiAKIE5QT2JqZWN0KiBOUFJ1bnRpbWVPYmplY3RNYXA6
OmdldE9yQ3JlYXRlTlBPYmplY3QoSlNPYmplY3QqIGpzT2JqZWN0KQogeworICAgIC8vIElmIHRo
aXMgaXMgYSBKU05QT2JqZWN0LCB3ZSBjYW4ganVzdCBnZXQgaXRzIHVuZGVybHlpbmcgTlBPYmpl
Y3QuCisgICAgaWYgKGpzT2JqZWN0LT5jbGFzc0luZm8oKSA9PSAmSlNOUE9iamVjdDo6c19pbmZv
KSB7CisgICAgICAgIEpTTlBPYmplY3QqIGpzTlBPYmplY3QgPSBzdGF0aWNfY2FzdDxKU05QT2Jq
ZWN0Kj4oanNPYmplY3QpOworICAgICAgICBOUE9iamVjdCogbnBPYmplY3QgPSBqc05QT2JqZWN0
LT5ucE9iamVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0YWluTlBPYmplY3QobnBPYmplY3Qp
OworICAgICAgICByZXR1cm4gbnBPYmplY3Q7CisgICAgfQorICAgIAogICAgIC8vIEZpcnN0LCBj
aGVjayBpZiB3ZSBhbHJlYWR5IGtub3cgYWJvdXQgdGhpcyBvYmplY3QuCi0gICAgaWYgKE5QSlNP
YmplY3QqIG5wSlNPYmplY3QgPSBtX29iamVjdHMuZ2V0KGpzT2JqZWN0KSkgeworICAgIGlmIChO
UEpTT2JqZWN0KiBucEpTT2JqZWN0ID0gbV9ucEpTT2JqZWN0cy5nZXQoanNPYmplY3QpKSB7CiAg
ICAgICAgIHJldGFpbk5QT2JqZWN0KG5wSlNPYmplY3QpOwogICAgICAgICByZXR1cm4gbnBKU09i
amVjdDsKICAgICB9CiAKICAgICBOUEpTT2JqZWN0KiBucEpTT2JqZWN0ID0gTlBKU09iamVjdDo6
Y3JlYXRlKHRoaXMsIGpzT2JqZWN0KTsKLSAgICBtX29iamVjdHMuc2V0KGpzT2JqZWN0LCBucEpT
T2JqZWN0KTsKKyAgICBtX25wSlNPYmplY3RzLnNldChqc09iamVjdCwgbnBKU09iamVjdCk7CiAK
ICAgICByZXR1cm4gbnBKU09iamVjdDsKIH0KQEAgLTYzLDE5ICs3MiwzMCBAQCBOUE9iamVjdCog
TlBSdW50aW1lT2JqZWN0TWFwOjpnZXRPckNyZWF0ZU5QT2JqZWN0KEpTT2JqZWN0KiBqc09iamVj
dCkKIHZvaWQgTlBSdW50aW1lT2JqZWN0TWFwOjpucEpTT2JqZWN0RGVzdHJveWVkKE5QSlNPYmpl
Y3QqIG5wSlNPYmplY3QpCiB7CiAgICAgLy8gUmVtb3ZlIHRoZSBvYmplY3QgZnJvbSB0aGUgbWFw
LgotICAgIEFTU0VSVChtX29iamVjdHMuY29udGFpbnMobnBKU09iamVjdC0+anNPYmplY3QoKSkp
OwotICAgIG1fb2JqZWN0cy5yZW1vdmUobnBKU09iamVjdC0+anNPYmplY3QoKSk7CisgICAgQVNT
RVJUKG1fbnBKU09iamVjdHMuY29udGFpbnMobnBKU09iamVjdC0+anNPYmplY3QoKSkpOworICAg
IG1fbnBKU09iamVjdHMucmVtb3ZlKG5wSlNPYmplY3QtPmpzT2JqZWN0KCkpOwogfQogCiBKU09i
amVjdCogTlBSdW50aW1lT2JqZWN0TWFwOjpnZXRPckNyZWF0ZUpTT2JqZWN0KEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIE5QT2JqZWN0KiBucE9iamVjdCkKIHsKLSAgICAvLyBGSVhNRTog
Q2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIGEgd3JhcHBlciBmb3IgdGhpcyBOUE9iamVjdCEKLSAg
ICByZXR1cm4gbmV3IChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSkgSlNOUE9iamVjdChnbG9i
YWxPYmplY3QsIHRoaXMsIG5wT2JqZWN0KTsKKyAgICAvLyBJZiB0aGlzIGlzIGFuIE5QSlNPYmpl
Y3QsIHdlIGNhbiBqdXN0IGdldCB0aGUgSlNPYmplY3QgdGhhdCBpdCdzIHdyYXBwaW5nLgorICAg
IGlmIChOUEpTT2JqZWN0Ojppc05QSlNPYmplY3QobnBPYmplY3QpKQorICAgICAgICByZXR1cm4g
TlBKU09iamVjdDo6dG9OUEpTT2JqZWN0KG5wT2JqZWN0KS0+anNPYmplY3QoKTsKKyAgICAKKyAg
ICBpZiAoSlNOUE9iamVjdCoganNOUE9iamVjdCA9IG1fanNOUE9iamVjdHMuZ2V0KG5wT2JqZWN0
KSkKKyAgICAgICAgcmV0dXJuIGpzTlBPYmplY3Q7CisKKyAgICBKU05QT2JqZWN0KiBqc05QT2Jq
ZWN0ID0gbmV3IChnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSkgSlNOUE9iamVjdChnbG9iYWxP
YmplY3QsIHRoaXMsIG5wT2JqZWN0KTsKKyAgICBtX2pzTlBPYmplY3RzLnNldChucE9iamVjdCwg
anNOUE9iamVjdCk7CisKKyAgICByZXR1cm4ganNOUE9iamVjdDsKIH0KIAogdm9pZCBOUFJ1bnRp
bWVPYmplY3RNYXA6OmpzTlBPYmplY3REZXN0cm95ZWQoSlNOUE9iamVjdCoganNOUE9iamVjdCkK
IHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIC8vIFJlbW92ZSB0aGUgb2JqZWN0IGZy
b20gdGhlIG1hcC4KKyAgICBBU1NFUlQobV9qc05QT2JqZWN0cy5jb250YWlucyhqc05QT2JqZWN0
LT5ucE9iamVjdCgpKSk7CisgICAgbV9qc05QT2JqZWN0cy5yZW1vdmUoanNOUE9iamVjdC0+bnBP
YmplY3QoKSk7CiB9CiAKIEpTVmFsdWUgTlBSdW50aW1lT2JqZWN0TWFwOjpjb252ZXJ0TlBWYXJp
YW50VG9KU1ZhbHVlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IE5QVmFyaWFudCYgdmFyaWFudCkKQEAgLTk5LDE3ICsxMTksOCBA
QCBKU1ZhbHVlIE5QUnVudGltZU9iamVjdE1hcDo6Y29udmVydE5QVmFyaWFudFRvSlNWYWx1ZShK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOgogICAgIGNhc2UgTlBWYXJpYW50VHlwZV9TdHJpbmc6
CiAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBTdHJpbmc6OmZyb21VVEY4V2l0aExhdGlu
MUZhbGxiYWNrKHZhcmlhbnQudmFsdWUuc3RyaW5nVmFsdWUuVVRGOENoYXJhY3RlcnMsIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2YXJpYW50LnZhbHVlLnN0cmluZ1ZhbHVlLlVURjhMZW5ndGgpKTsKLSAgICBjYXNlIE5Q
VmFyaWFudFR5cGVfT2JqZWN0OiB7Ci0gICAgICAgIE5QT2JqZWN0KiBucE9iamVjdCA9IHZhcmlh
bnQudmFsdWUub2JqZWN0VmFsdWU7Ci0KLSAgICAgICAgLy8gSnVzdCBnZXQgdGhlIG9iamVjdCBm
cm9tIHRoZSBOUEpTT2JqZWN0LgotICAgICAgICBpZiAoTlBKU09iamVjdDo6aXNOUEpTT2JqZWN0
KG5wT2JqZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBOUEpTT2JqZWN0Ojp0b05QSlNPYmplY3Qo
bnBPYmplY3QpLT5qc09iamVjdCgpOwotCi0gICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOwot
Ci0gICAgICAgIHJldHVybiBnZXRPckNyZWF0ZUpTT2JqZWN0KGdsb2JhbE9iamVjdCwgbnBPYmpl
Y3QpOwotICAgIH0KKyAgICBjYXNlIE5QVmFyaWFudFR5cGVfT2JqZWN0OgorICAgICAgICByZXR1
cm4gZ2V0T3JDcmVhdGVKU09iamVjdChnbG9iYWxPYmplY3QsIHZhcmlhbnQudmFsdWUub2JqZWN0
VmFsdWUpOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTU0LDE4ICsx
NjUsNyBAQCB2b2lkIE5QUnVudGltZU9iamVjdE1hcDo6Y29udmVydEpTVmFsdWVUb05QVmFyaWFu
dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdQogICAgIH0KIAogICAgIGlmICh2YWx1ZS5p
c09iamVjdCgpKSB7Ci0gICAgICAgIEpTT2JqZWN0KiBqc09iamVjdCA9IGFzT2JqZWN0KHZhbHVl
KTsKLQotICAgICAgICBpZiAoanNPYmplY3QtPmNsYXNzSW5mbygpID09ICZKU05QT2JqZWN0Ojpz
X2luZm8pIHsKLSAgICAgICAgICAgIEpTTlBPYmplY3QqIGpzTlBPYmplY3QgPSBzdGF0aWNfY2Fz
dDxKU05QT2JqZWN0Kj4oanNPYmplY3QpOwotICAgICAgICAgICAgTlBPYmplY3QqIG5wT2JqZWN0
ID0ganNOUE9iamVjdC0+bnBPYmplY3QoKTsKLQotICAgICAgICAgICAgcmV0YWluTlBPYmplY3Qo
bnBPYmplY3QpOwotICAgICAgICAgICAgT0JKRUNUX1RPX05QVkFSSUFOVChucE9iamVjdCwgdmFy
aWFudCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBOUE9iamVj
dCogbnBPYmplY3QgPSBnZXRPckNyZWF0ZU5QT2JqZWN0KGpzT2JqZWN0KTsKKyAgICAgICAgTlBP
YmplY3QqIG5wT2JqZWN0ID0gZ2V0T3JDcmVhdGVOUE9iamVjdChhc09iamVjdCh2YWx1ZSkpOwog
ICAgICAgICBPQkpFQ1RfVE9fTlBWQVJJQU5UKG5wT2JqZWN0LCB2YXJpYW50KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTIwNywxNCArMjA3LDIzIEBAIGJvb2wgTlBSdW50aW1lT2JqZWN0
TWFwOjpldmFsdWF0ZShOUE9iamVjdCogbnBPYmplY3QsIGNvbnN0IFN0cmluZyZzY3JpcHRTdHJp
bmcsCiB2b2lkIE5QUnVudGltZU9iamVjdE1hcDo6aW52YWxpZGF0ZSgpCiB7CiAgICAgVmVjdG9y
PE5QSlNPYmplY3QqPiBucEpTT2JqZWN0czsKLSAgICBjb3B5VmFsdWVzVG9WZWN0b3IobV9vYmpl
Y3RzLCBucEpTT2JqZWN0cyk7CisgICAgY29weVZhbHVlc1RvVmVjdG9yKG1fbnBKU09iamVjdHMs
IG5wSlNPYmplY3RzKTsKIAogICAgIC8vIERlYWxsb2NhdGUgYWxsIHRoZSBvYmplY3Qgd3JhcHBl
cnMgc28gd2Ugd29uJ3QgbGVhayBhbnkgSmF2YVNjcmlwdCBvYmplY3RzLgogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbnBKU09iamVjdHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIGRlYWxsb2Nh
dGVOUE9iamVjdChucEpTT2JqZWN0c1tpXSk7CiAgICAgCi0gICAgLy8gV2Ugc2hvdWxkbid0IGhh
dmUgYW55IG9iamVjdHMgbGVmdCBub3cuCi0gICAgQVNTRVJUKG1fb2JqZWN0cy5pc0VtcHR5KCkp
OworICAgIC8vIFdlIHNob3VsZG4ndCBoYXZlIGFueSBOUEpTT2JqZWN0cyBsZWZ0IG5vdy4KKyAg
ICBBU1NFUlQobV9ucEpTT2JqZWN0cy5pc0VtcHR5KCkpOworCisgICAgVmVjdG9yPEpTTlBPYmpl
Y3QqPiBqc05QT2JqZWN0czsKKyAgICBjb3B5VmFsdWVzVG9WZWN0b3IobV9qc05QT2JqZWN0cywg
anNOUE9iamVjdHMpOworCisgICAgLy8gSW52YWxpZGF0ZSBhbGwgdGhlIEpTT2JqZWN0cyB0aGF0
IHdyYXAgTlBPYmplY3RzLgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwganNOUE9iamVjdHMu
c2l6ZSgpOyArK2kpCisgICAgICAgIGpzTlBPYmplY3RzW2ldLT5pbnZhbGlkYXRlKCk7CisKKyAg
ICBtX2pzTlBPYmplY3RzLmNsZWFyKCk7CiB9CiAKIEpTR2xvYmFsT2JqZWN0KiBOUFJ1bnRpbWVP
YmplY3RNYXA6Omdsb2JhbE9iamVjdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVPYmplY3RNYXAuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5oCmluZGV4IGVkMDY0YTZhZjNmNzdiZjQxMWVhOTc5
ZTczM2ZkN2EyOGEzNGE4ZDEuLjUxYmQwYzYyODFmZTg5NTBiODA5OTIzYjk0MzljMDAwNTUyNmM5
YmIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVj
dE1hcC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1h
cC5oCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUGx1Z2luVmlldyog
bV9wbHVnaW5WaWV3OwogCi0gICAgSGFzaE1hcDxKU0M6OkpTT2JqZWN0KiwgTlBKU09iamVjdCo+
IG1fb2JqZWN0czsKKyAgICBIYXNoTWFwPEpTQzo6SlNPYmplY3QqLCBOUEpTT2JqZWN0Kj4gbV9u
cEpTT2JqZWN0czsKKyAgICBIYXNoTWFwPE5QT2JqZWN0KiwgSlNOUE9iamVjdCo+IG1fanNOUE9i
amVjdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA4ZGMzZjZiNGY2MmRl
NGI5MDk2ODZlODJjMGNkMTVjZjMwYTFjMzVhLi41NmIxZmNjYzcxNDhiNDU4NGU2YTQ0ZTY0Y2Nh
Y2M2MGQ1YWE1NjIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDgtMDIgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDYWNoZSBKU05QT2JqZWN0cyBhbmQgZml4IGJ1Z3MgaW4g
dGhlIG9iamVjdCBtYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQzMzY4CisKKyAgICAgICAgVGVzdCB0aGF0IHdlIGNvcnJlY3RseSB0aHJvdyBleGNl
cHRpb25zIHdoZW4gdHJ5aW5nIHRvIGRvIHRoaW5ncyB0byBhIEpTT2JqZWN0IHRoYXQgdXNlZCB0
bworICAgICAgICB3cmFwIGFuIE5QT2JqZWN0IHRoYXQgY2FtZSBmcm9tIGEgcGx1Zy1pbiB0aGF0
IGlzIG5vdyBkZXN0cm95ZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0Lmg6CisgICAgICAgIChQbHVnaW5UZXN0OjpP
YmplY3Q6OmdldFByb3BlcnR5KToKKyAgICAgICAgKFBsdWdpblRlc3Q6Ok9iamVjdDo6TlBfR2V0
UHJvcGVydHkpOgorICAgICAgICAoUGx1Z2luVGVzdDo6T2JqZWN0OjpucENsYXNzKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBSdW50aW1lT2Jq
ZWN0RnJvbURlc3Ryb3llZFBsdWdpbi5jcHA6IEFkZGVkLgorICAgICAgICAoTlBSdW50aW1lT2Jq
ZWN0RnJvbURlc3Ryb3llZFBsdWdpbjo6TlBSdW50aW1lT2JqZWN0RnJvbURlc3Ryb3llZFBsdWdp
bik6CisgICAgICAgIChOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luOjpTY3JpcHRh
YmxlT2JqZWN0OjpoYXNQcm9wZXJ0eSk6CisgICAgICAgIChOUFJ1bnRpbWVPYmplY3RGcm9tRGVz
dHJveWVkUGx1Z2luOjpTY3JpcHRhYmxlT2JqZWN0OjpnZXRQcm9wZXJ0eSk6CisgICAgICAgIChO
UFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luOjpOUFBfR2V0VmFsdWUpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi93aW4vVGVzdE5ldHNjYXBlUGx1
Z2luLnZjcHJvajoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0c2NhcGVQbHVn
aW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKwog
MjAxMC0wOC0wMiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggOWQ4YjI3YmZiODhjYzBhZmFmNGRmOTk4NjcyNmM4NDVjZmVhNGQ3MS4u
YzkyYzcwNDczN2YyNGRhODg5YzgzNTM1OTk0YTJhOTY0Yjg5OGY1NSAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNSw2ICszNSw3IEBACiAJCTFBMjE1QTgxMTFG
MjYwOUMwMDhBRDBGNSAvKiBQbHVnaW5UZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE1QTdGMTFGMjYwOUMwMDhBRDBGNSAvKiBQbHVnaW5U
ZXN0LmNwcCAqLzsgfTsKIAkJMUEyMTVBODIxMUYyNjA5QzAwOEFEMEY1IC8qIFBsdWdpblRlc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE1QTgw
MTFGMjYwOUMwMDhBRDBGNSAvKiBQbHVnaW5UZXN0LmggKi87IH07CiAJCTFBMjE1QkU3MTFGMjc2
NTgwMDhBRDBGNSAvKiBEb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJlYW0uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMTVBNzUxMUYyNjA3MjAwOEFE
MEY1IC8qIERvY3VtZW50T3BlbkluRGVzdHJveVN0cmVhbS5jcHAgKi87IH07CisJCTFBMjRCQUE5
MTIwNzM0RUUwMEZCQjA1OSAvKiBOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjRCQUE4
MTIwNzM0RUUwMEZCQjA1OSAvKiBOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luLmNw
cCAqLzsgfTsKIAkJMUE4RjAyRTgwQkI5QjRFQzAwOENGQTM0IC8qIFRlc3RPYmplY3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOEYwMjRDMEJCOUIw
NTYwMDhDRkEzNCAvKiBUZXN0T2JqZWN0LmggKi87IH07CiAJCTFBQzZDODQ5MEQwNzYzODYwMENE
MzE2MSAvKiBtYWluLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQzZDNzdGMEQwNzU4OUIwMENEMzE2MSAvKiBtYWluLmNwcCAqLzsgfTsKIAkJMUFD
NkM4NEEwRDA3NjM4NjAwQ0QzMTYxIC8qIFBsdWdpbk9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM2Qzc4MDBEMDc1ODlCMDBDRDMxNjEg
LyogUGx1Z2luT2JqZWN0LmNwcCAqLzsgfTsKQEAgLTE5Myw2ICsxOTQsNyBAQAogCQkxQTIxNUE3
NTExRjI2MDcyMDA4QUQwRjUgLyogRG9jdW1lbnRPcGVuSW5EZXN0cm95U3RyZWFtLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50T3BlbkluRGVzdHJveVN0
cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjE1QTdGMTFGMjYwOUMw
MDhBRDBGNSAvKiBQbHVnaW5UZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBsdWdpblRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTIx
NUE4MDExRjI2MDlDMDA4QUQwRjUgLyogUGx1Z2luVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQbHVnaW5UZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFBMjRCQUE4MTIwNzM0RUUwMEZCQjA1OSAvKiBOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVk
UGx1Z2luLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5QUnVudGlt
ZU9iamVjdEZyb21EZXN0cm95ZWRQbHVnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQThGMDI0QzBCQjlCMDU2MDA4Q0ZBMzQgLyogVGVzdE9iamVjdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBQzZDNzdGMEQwNzU4OUIwMENEMzE2MSAvKiBtYWluLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IG1haW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQUM2Qzc4MDBEMDc1ODlCMDBDRDMxNjEgLyogUGx1Z2luT2JqZWN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpbk9iamVjdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MzgsNiArNDQwLDcgQEAKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUEyMTVBNzUxMUYyNjA3MjAwOEFEMEY1IC8q
IERvY3VtZW50T3BlbkluRGVzdHJveVN0cmVhbS5jcHAgKi8sCisJCQkJMUEyNEJBQTgxMjA3MzRF
RTAwRkJCMDU5IC8qIE5QUnVudGltZU9iamVjdEZyb21EZXN0cm95ZWRQbHVnaW4uY3BwICovLAog
CQkJCTFBQzc3RENFMTIwNjA1QjYwMDVDMTlFRiAvKiBOUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5j
cHAgKi8sCiAJCQkJMUFEOUQyRkQxMjAyODQwOTAwMUE3MEQxIC8qIFBsdWdpblNjcmlwdGFibGVO
UE9iamVjdEludm9rZURlZmF1bHQuY3BwICovLAogCQkJKTsKQEAgLTcxMiw2ICs3MTUsNyBAQAog
CQkJCTFBMjE1QkU3MTFGMjc2NTgwMDhBRDBGNSAvKiBEb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJl
YW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFEOUQyRkUxMjAyODQwOTAwMUE3MEQxIC8qIFBs
dWdpblNjcmlwdGFibGVOUE9iamVjdEludm9rZURlZmF1bHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUFDNzdEQ0YxMjA2MDVCNjAwNUMxOUVGIC8qIE5QUnVudGltZVJlbW92ZVByb3BlcnR5LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTFBMjRCQUE5MTIwNzM0RUUwMEZCQjA1OSAvKiBOUFJ1bnRp
bWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRl
c3QuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVn
aW5UZXN0LmgKaW5kZXggMDFkNDlhNjA0N2NjODRkMmUwMDVkOTM0ZTYwNmFhZjU1OWViYmRkZS4u
ZWNjMDE4NWMxZGNkYTg3M2E2OWFjOGI3YTg0OTZlZGNhNWM1MTFmNCAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1BsdWdpblRlc3QuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2lu
VGVzdC5oCkBAIC00Nyw2ICs0Nyw3IEBAIERFRklORV9IQVNfTUVNQkVSX0NIRUNLKGhhc01ldGhv
ZCwgYm9vbCwgKE5QSWRlbnRpZmllciBtZXRob2ROYW1lKSk7CiBERUZJTkVfSEFTX01FTUJFUl9D
SEVDSyhpbnZva2UsIGJvb2wsIChOUElkZW50aWZpZXIgbWV0aG9kTmFtZSwgY29uc3QgTlBWYXJp
YW50KiwgdWludDMyX3QsIE5QVmFyaWFudCogcmVzdWx0KSk7CiBERUZJTkVfSEFTX01FTUJFUl9D
SEVDSyhpbnZva2VEZWZhdWx0LCBib29sLCAoY29uc3QgTlBWYXJpYW50KiwgdWludDMyX3QsIE5Q
VmFyaWFudCogcmVzdWx0KSk7CiBERUZJTkVfSEFTX01FTUJFUl9DSEVDSyhoYXNQcm9wZXJ0eSwg
Ym9vbCwgKE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpKTsKK0RFRklORV9IQVNfTUVNQkVSX0NI
RUNLKGdldFByb3BlcnR5LCBib29sLCAoTlBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSwgTlBWYXJp
YW50KiByZXN1bHQpKTsKIAogY2xhc3MgUGx1Z2luVGVzdCB7CiBwdWJsaWM6CkBAIC0xMjEsNiAr
MTIyLDEyIEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
fQogCisgICAgICAgIGJvb2wgZ2V0UHJvcGVydHkoTlBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSwg
TlBWYXJpYW50KiByZXN1bHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydChmYWxzZSk7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgIHByb3RlY3RlZDoK
ICAgICAgICAgT2JqZWN0KCkKICAgICAgICAgICAgIDogbV9wbHVnaW5UZXN0KDApCkBAIC0xNjMs
NyArMTcwLDEyIEBAIHByb3RlY3RlZDoKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFQqPihucE9iamVjdCktPmhhc1Byb3BlcnR5KHByb3BlcnR5TmFtZSk7CiAgICAg
ICAgIH0KLSAgICAgICAgCisKKyAgICAgICAgc3RhdGljIGJvb2wgTlBfR2V0UHJvcGVydHkoTlBP
YmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lLCBOUFZhcmlhbnQqIHJl
c3VsdCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihucE9i
amVjdCktPmdldFByb3BlcnR5KHByb3BlcnR5TmFtZSwgcmVzdWx0KTsKKyAgICAgICAgfQorCiAg
ICAgICAgIHN0YXRpYyBOUENsYXNzKiBucENsYXNzKCkKICAgICAgICAgewogICAgICAgICAgICAg
c3RhdGljIE5QQ2xhc3MgbnBDbGFzcyA9IHsKQEAgLTE3NSw3ICsxODcsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgICAgICAgICAgaGFzX21lbWJlcl9pbnZva2U8VD46OnZhbHVlID8gTlBfSW52b2tl
IDogMCwKICAgICAgICAgICAgICAgICBoYXNfbWVtYmVyX2ludm9rZURlZmF1bHQ8VD46OnZhbHVl
ID8gTlBfSW52b2tlRGVmYXVsdCA6IDAsCiAgICAgICAgICAgICAgICAgaGFzX21lbWJlcl9oYXNQ
cm9wZXJ0eTxUPjo6dmFsdWUgPyBOUF9IYXNQcm9wZXJ0eSA6IDAsCi0gICAgICAgICAgICAgICAg
MCwgLy8gTlBDbGFzczo6Z2V0UHJvcGVydHkKKyAgICAgICAgICAgICAgICBoYXNfbWVtYmVyX2dl
dFByb3BlcnR5PFQ+Ojp2YWx1ZSA/IE5QX0dldFByb3BlcnR5IDogMCwKICAgICAgICAgICAgICAg
ICAwLCAvLyBOUENsYXNzOjpzZXRQcm9wZXJ0eQogICAgICAgICAgICAgICAgIDAsIC8vIE5QQ2xh
c3M6OnJlbW92ZVByb3BlcnR5CiAgICAgICAgICAgICAgICAgMCwgLy8gTlBDbGFzczo6ZW51bWVy
YXRlCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQ
bHVnSW4vVGVzdHMvTlBSdW50aW1lT2JqZWN0RnJvbURlc3Ryb3llZFBsdWdpbi5jcHAgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBSdW50aW1l
T2JqZWN0RnJvbURlc3Ryb3llZFBsdWdpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgyMzZlMzU5NjYxMzEz
ZGI5NzQ0Mjc5MWJkNzg2OTRjMDA3NDA1NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9UZXN0cy9OUFJ1bnRpbWVPYmplY3RG
cm9tRGVzdHJveWVkUGx1Z2luLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIlBsdWdpblRlc3QuaCIKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworY2xhc3MgTlBS
dW50aW1lT2JqZWN0RnJvbURlc3Ryb3llZFBsdWdpbiA6IHB1YmxpYyBQbHVnaW5UZXN0IHsKK3B1
YmxpYzoKKyAgICBOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1Z2luKE5QUCBucHAsIGNv
bnN0IHN0cmluZyYgaWRlbnRpZmllcikKKyAgICAgICAgOiBQbHVnaW5UZXN0KG5wcCwgaWRlbnRp
ZmllcikKKyAgICB7CisgICAgfQorCitwcml2YXRlOgorICAgIC8vIFRoaXMgaXMgdGhlIHRlc3Qg
b2JqZWN0LgorICAgIGNsYXNzIFRlc3RPYmplY3QgOiBwdWJsaWMgT2JqZWN0PFRlc3RPYmplY3Q+
IHsgfTsKKworICAgIC8vIFRoaXMgaXMgdGhlIHNjcmlwdGFibGUgb2JqZWN0LiBJdCBoYXMgYSBz
aW5nbGUgInRlc3RPYmplY3QiIHByb3BlcnR5LgorICAgIGNsYXNzIFNjcmlwdGFibGVPYmplY3Qg
OiBwdWJsaWMgT2JqZWN0PFNjcmlwdGFibGVPYmplY3Q+IHsgCisgICAgcHVibGljOgorICAgICAg
ICBib29sIGhhc1Byb3BlcnR5KE5QSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eU5hbWUgPT0gcGx1Z2luVGVzdCgpLT5OUE5fR2V0
U3RyaW5nSWRlbnRpZmllcigidGVzdE9iamVjdCIpOworICAgICAgICB9CisKKyAgICAgICAgYm9v
bCBnZXRQcm9wZXJ0eShOUElkZW50aWZpZXIgcHJvcGVydHlOYW1lLCBOUFZhcmlhbnQqIHJlc3Vs
dCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHByb3BlcnR5TmFtZSAhPSBwbHVnaW5UZXN0
KCktPk5QTl9HZXRTdHJpbmdJZGVudGlmaWVyKCJ0ZXN0T2JqZWN0IikpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBOUE9iamVjdCogdGVzdE9iamVjdCA9IFRl
c3RPYmplY3Q6OmNyZWF0ZShwbHVnaW5UZXN0KCkpOworICAgICAgICAgICAgT0JKRUNUX1RPX05Q
VkFSSUFOVCh0ZXN0T2JqZWN0LCAqcmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisgICAgfTsKKworICAgIHZpcnR1YWwgTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQ
VmFyaWFibGUgdmFyaWFibGUsIHZvaWQgKnZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHZhcmlh
YmxlICE9IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QpCisgICAgICAgICAgICByZXR1cm4g
TlBFUlJfR0VORVJJQ19FUlJPUjsKKyAgICAgICAgCisgICAgICAgICooTlBPYmplY3QqKil2YWx1
ZSA9IFNjcmlwdGFibGVPYmplY3Q6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgCisgICAgICAgIHJl
dHVybiBOUEVSUl9OT19FUlJPUjsKKyAgICB9Cit9OworCitzdGF0aWMgUGx1Z2luVGVzdDo6UmVn
aXN0ZXI8TlBSdW50aW1lT2JqZWN0RnJvbURlc3Ryb3llZFBsdWdpbj4gbnBSdW50aW1lT2JqZWN0
RnJvbURlc3Ryb3llZFBsdWdpbigibnBydW50aW1lLW9iamVjdC1mcm9tLWRlc3Ryb3llZC1wbHVn
aW4iKTsKKwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4udmNwcm9qIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4udmNw
cm9qCmluZGV4IGU4M2FiMGI1Yjc3MGU4M2M2NzU1YTA0ZWIyMzYyZjc5ZjRlMDg0YzQuLmMzNjY2
NmYxYTkzZWI2Mjg4ZWJkM2M1MDJlODg0YzNlOGI4NGU1MDcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi93aW4vVGVzdE5ldHNjYXBlUGx1
Z2luLnZjcHJvagorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQ
bHVnSW4vd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oKQEAgLTQ2Myw2ICs0NjMsMTAgQEAK
ICAgICAJCSAgUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xEb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJl
YW0uY3BwIg0KICAgICAJCT4NCiAgICAgCSAgPC9GaWxlPg0KKyAgICAJICA8RmlsZQ0KKyAgICAJ
CSAgUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xOUFJ1bnRpbWVPYmplY3RGcm9tRGVzdHJveWVkUGx1
Z2luLmNwcCINCisgICAgCQk+DQorICAgIAkgIDwvRmlsZT4NCiAJCSAgPEZpbGUNCiAgICAgCQkg
IFJlbGF0aXZlUGF0aD0iLi5cVGVzdHNcTlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3BwIg0KICAg
ICAJCT4NCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0TmV0
c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLnBybyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCmluZGV4
IDQ3NzIxZjk5MjFiNWFiMjM4OTQ0OWI0ZGQ3NWVmYjU3Y2IxOGRjNTIuLmU0OGIwMzVjZjgxZGEx
YzVmOGJkZjc4NDhjY2Q4Y2MyMzY3MDg3ZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4ucHJvCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0
TmV0c2NhcGVQbHVnaW4ucHJvCkBAIC0yOSw2ICsyOSw3IEBAIFNPVVJDRVMgPSBQbHVnaW5PYmpl
Y3QuY3BwIFwKICAgICAgICAgICBQbHVnaW5UZXN0LmNwcCBcCiAgICAgICAgICAgVGVzdE9iamVj
dC5jcHAgXAogICAgICAgICAgIFRlc3RzL0RvY3VtZW50T3BlbkluRGVzdHJveVN0cmVhbS5jcHAg
XAorICAgICAgICAgIFRlc3RzL05QUnVudGltZU9iamVjdEZyb21EZXN0cm95ZWRQbHVnaW4uY3Bw
IFwKICAgICAgICAgICBUZXN0cy9OUFJ1bnRpbWVSZW1vdmVQcm9wZXJ0eS5jcHAgXAogICAgICAg
ICAgIFRlc3RzL1BsdWdpblNjcmlwdGFibGVOUE9iamVjdEludm9rZURlZmF1bHQuY3BwCiAKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0VG9vbHMvR05VbWFr
ZWZpbGUuYW0KaW5kZXggMjY0OTQwNzg0N2QzN2RkYjIyNzAyMTY2MTEwNTIyYWE4OTk0ZTcyMC4u
MzNkNDYxNDY5MzliNDhiYzYxZmExOWRhZDliMjM4NjcxMDk5NzkyMiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0K
QEAgLTE1OSw2ICsxNTksNyBAQCBUZXN0TmV0c2NhcGVQbHVnaW5fbGlidGVzdG5ldHNjYXBlcGx1
Z2luX2xhX1NPVVJDRVMgPSBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvdW5peC9UZXN0
TmV0c2NhcGVQbHVnaW4vRm9yd2FyZGluZ0hlYWRlcnMvV2ViS2l0L25wcnVudGltZS5oIFwKIAlX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS91bml4L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0
c2NhcGVQbHVnaW4uY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4vVGVzdHMvRG9jdW1lbnRPcGVuSW5EZXN0cm95U3RyZWFtLmNwcCBcCisJV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL1Rlc3RzL05QUnVudGltZU9i
amVjdEZyb21EZXN0cm95ZWRQbHVnaW4uY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvTlBSdW50aW1lUmVtb3ZlUHJvcGVydHkuY3BwIFwK
IAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vVGVzdHMvUGx1
Z2luU2NyaXB0YWJsZU5QT2JqZWN0SW52b2tlRGVmYXVsdC5jcHAgXAogCVdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5UZXN0LmNwcCBcCg==
</data>
<flag name="review"
          id="51551"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>