<?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>74349</bug_id>
          
          <creation_ts>2011-12-12 14:56:38 -0800</creation_ts>
          <short_desc>De-virtualize destructors part 5</short_desc>
          <delta_ts>2011-12-18 12:23:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>74348</dependson>
          <blocked>74331</blocked>
    
    <blocked>74350</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519527</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-12-12 14:56:38 -0800</bug_when>
    <thetext>Same as bug 74341, just moving the static destroy functions down another level in the hierarchy and leaving behind any necessary destroy functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519542</commentid>
    <comment_count>1</comment_count>
      <attachid>118869</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-12-12 15:03:41 -0800</bug_when>
    <thetext>Created attachment 118869
De-virtualize destructors part 5

No changelog (see bug 74331).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519590</commentid>
    <comment_count>2</comment_count>
      <attachid>118869</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-12-12 15:32:33 -0800</bug_when>
    <thetext>Comment on attachment 118869
De-virtualize destructors part 5

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

r=me

&gt; Source/WebCore/bindings/js/JSDOMBinding.h:81
&gt; +        static JSC::Structure* createStructure(JSC::JSGlobalData&amp; globalData, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)

Your ChangeLog should explain why this is needed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118869</attachid>
            <date>2011-12-12 15:03:41 -0800</date>
            <delta_ts>2011-12-12 15:32:33 -0800</delta_ts>
            <desc>De-virtualize destructors part 5</desc>
            <filename>0011-Finished-level-5.patch</filename>
            <type>text/plain</type>
            <size>19097</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">RnJvbSBlZjVhM2FlOWJkNDIxZmY5ZThjMjQ0YTJmNGQ4MGQzYWU5ZDlmYmZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIEhhaG5lbmJlcmcgPG1oYWhuZW5iZXJnQGFwcGxlLmNv
bT4KRGF0ZTogV2VkLCA3IERlYyAyMDExIDE0OjQ4OjI5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAx
MS8xOF0gRmluaXNoZWQgbGV2ZWwgNQoKLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvclByb3RvdHlwZS5jcHAgICB8ICAgIDkgLS0tLS0tLS0tCiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5oICAgICB8ICAgIDggKysrKystLS0KIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCAgIHwgICAgMiArLQog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCAgICAgfCAgICAy
ICstCiAuLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oICB8
ICAgIDUgKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9KU1J1bi5oICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMiArLQogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcCAgICAgICAgfCAgICA4ICsrKysrLS0tCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaCAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrLS0tCiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgICB8ICAgIDUgKysrKysK
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggICAgIHwgICAg
MSArCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSB8
ICAgMTQgKysrKysrKysrKysrKy0KIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2Uu
Y3BwICAgICAgICAgICAgIHwgICAgNSArKysrKwogU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YUluc3RhbmNlSlNDLmNwcCAgfCAgICA1ICsrKysrCiBTb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tICAgICAgICB8ICAgIDUgKysrKysKIFNvdXJjZS9XZWJD
b3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcCAgICAgICAgICAgIHwgICAgMiArLQogU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaCAgICAgICAgICAgICAgfCAgICAyICstCiBT
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwICAgICAgICAgICB8ICAgIDYg
Ky0tLS0tCiBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaCAgICAgICAgICAg
ICB8ICAgIDYgKysrKystCiBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUlu
c3RhbmNlLm1tICB8ICAgIDUgKysrKysKIDE5IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMo
KyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yUHJvdG90eXBlLmNwcAppbmRleCA0YzQ4YTRmLi5lMWEzOTVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCkBAIC02MywxNSAr
NjMsNiBAQCB2b2lkIEVycm9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KikKICAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkubmFtZSwganNOb250cml2aWFsU3RyaW5nKGV4ZWMsICJFcnJv
ciIpLCBEb250RW51bSk7CiB9CiAKLUVycm9yUHJvdG90eXBlOjp+RXJyb3JQcm90b3R5cGUoKQot
ewotfQotCi12b2lkIEVycm9yUHJvdG90eXBlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKLXsKLSAg
ICBqc0Nhc3Q8RXJyb3JQcm90b3R5cGUqPihjZWxsKS0+fkVycm9yUHJvdG90eXBlKCk7Ci19Ci0K
IGJvb2wgRXJyb3JQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QgJnNsb3QpCiB7CiAgICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxFcnJvckluc3Rh
bmNlPihleGVjLCBFeGVjU3RhdGU6OmVycm9yUHJvdG90eXBlVGFibGUoZXhlYyksIGpzQ2FzdDxF
cnJvclByb3RvdHlwZSo+KGNlbGwpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBlLmgKaW5kZXggMTg3NmJlYy4uZjlh
ZmZjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JQcm90
b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlw
ZS5oCkBAIC0yNyw2ICsyNyw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgT2JqZWN0
UHJvdG90eXBlOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwogICAgIGNsYXNzIEVy
cm9yUHJvdG90eXBlIDogcHVibGljIEVycm9ySW5zdGFuY2UgewogICAgIHB1YmxpYzoKICAgICAg
ICAgdHlwZWRlZiBFcnJvckluc3RhbmNlIEJhc2U7CkBAIC01MSwxNCArNTQsMTMgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgRXJyb3JJbnN0YW5jZTo6U3RydWN0dXJl
RmxhZ3M7CiAKLSAgICAgICAgdmlydHVhbCB+RXJyb3JQcm90b3R5cGUoKTsKLSAgICAgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKLQogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRp
YyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiwgUHJvcGVydHlTbG90Jik7CiAgICAgICAgIHN0YXRpYyBib29sIGdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQ
cm9wZXJ0eURlc2NyaXB0b3ImKTsKICAgICB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cG9wCisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRXJyb3JQcm90b3R5cGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmlu
ZGV4IDljZGRlZjUuLjQyMGJjODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBKU0dsb2JhbE9iamVj
dDo6fkpTR2xvYmFsT2JqZWN0KCkKIAogdm9pZCBKU0dsb2JhbE9iamVjdDo6ZGVzdHJveShKU0Nl
bGwqIGNlbGwpCiB7Ci0gICAganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oY2VsbCktPn5KU0dsb2Jh
bE9iamVjdCgpOworICAgIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGNlbGwpLT5KU0dsb2JhbE9i
amVjdDo6fkpTR2xvYmFsT2JqZWN0KCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQo
SlNPYmplY3QqIHRoaXNWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IGQ0OTA2NzIuLjc4MmUzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMTkzLDcgKzE5Myw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1
YWwgfkpTR2xvYmFsT2JqZWN0KCk7CisgICAgICAgIH5KU0dsb2JhbE9iamVjdCgpOwogICAgICAg
ICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiAgICAgICAgIHN0YXRpYyB2b2lkIHZp
c2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvclByb3RvdHlwZS5oCmluZGV4IDc2YWQ3MDYu
LjIxZTlmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2
ZUVycm9yUHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JQcm90b3R5cGUuaApAQCAtMjYsNiArMjYsOSBAQAogbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcjsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV25vbi12aXJ0dWFs
LWR0b3IiCisKICAgICBjbGFzcyBOYXRpdmVFcnJvclByb3RvdHlwZSA6IHB1YmxpYyBFcnJvclBy
b3RvdHlwZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgTmF0aXZlRXJyb3JQcm90b3R5cGUoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlKik7CkBAIC00NCw2ICs0Nyw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSosIEpTR2xvYmFsT2JqZWN0Kiwg
Y29uc3QgVVN0cmluZyYgbmFtZUFuZE1lc3NhZ2UsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3IqKTsK
ICAgICB9OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIH0gLy8gbmFtZXNwYWNl
IEpTQwogCiAjZW5kaWYgLy8gTmF0aXZlRXJyb3JQcm90b3R5cGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRHbHVlL0pTUnVuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4u
aAppbmRleCA3OTI1ZWI2Li40MTk5ZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdEds
dWUvSlNSdW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvSlNSdW4uaApAQCAtNTEsNyAr
NTEsNyBAQCBjbGFzcyBKU0dsdWVHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNHbG9iYWxPYmplY3Qg
ewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgSlNHbHVlR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0
YSYsIFN0cnVjdHVyZSosIFN0cnVjdHVyZSosIEpTRmxhZ3MgPSBrSlNGbGFnTm9uZSk7Ci0gICAg
ICAgIAorCiAgICAgICAgIEpTRmxhZ3MgbV9mbGFnczsKICAgICAgICAgU3Ryb25nPFN0cnVjdHVy
ZT4gbV91c2VyT2JqZWN0U3RydWN0dXJlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4IDM2MjA2MmIuLmI1YjY0MjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcApAQCAtMzgsMTMgKzM4LDE1IEBAIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRE9NQ29uc3RydWN0
b3JPYmplY3Q6On5ET01Db25zdHJ1Y3Rvck9iamVjdCgpCitjb25zdCBDbGFzc0luZm8gRE9NQ29u
c3RydWN0b3JXaXRoRG9jdW1lbnQ6OnNfaW5mbyA9IHsgIkRPTUNvbnN0cnVjdG9yIiwgJkJhc2U6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01Db25zdHJ1Y3RvcldpdGhEb2N1
bWVudCkgfTsKKworRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQ6On5ET01Db25zdHJ1Y3Rvcldp
dGhEb2N1bWVudCgpCiB7CiB9CiAKLXZvaWQgRE9NQ29uc3RydWN0b3JPYmplY3Q6OmRlc3Ryb3ko
SlNDZWxsKiBjZWxsKQordm9pZCBET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudDo6ZGVzdHJveShK
U0NlbGwqIGNlbGwpCiB7Ci0gICAganNDYXN0PERPTUNvbnN0cnVjdG9yT2JqZWN0Kj4oY2VsbCkt
Pn5ET01Db25zdHJ1Y3Rvck9iamVjdCgpOworICAgIGpzQ2FzdDxET01Db25zdHJ1Y3RvcldpdGhE
b2N1bWVudCo+KGNlbGwpLT5+RE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQoKTsKIH0KIAogY29u
c3QgSlNDOjpIYXNoVGFibGUqIGdldEhhc2hUYWJsZUZvckdsb2JhbERhdGEoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBjb25zdCBKU0M6Okhhc2hUYWJsZSogc3RhdGljVGFibGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IGY4ZWYyMWYuLmIwOGU4NmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC01Myw2ICs1
Myw5IEBAIGVudW0gUGFyYW1ldGVyTWlzc2luZ1BvbGljeSB7CiAKICAgICB0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwogICAgIC8vIEJh
c2UgY2xhc3MgZm9yIGFsbCBjb25zdHJ1Y3RvciBvYmplY3RzIGluIHRoZSBKU0MgYmluZGluZ3Mu
CiAgICAgY2xhc3MgRE9NQ29uc3RydWN0b3JPYmplY3QgOiBwdWJsaWMgSlNET01XcmFwcGVyIHsK
ICAgICAgICAgdHlwZWRlZiBKU0RPTVdyYXBwZXIgQmFzZTsKQEAgLTY4LDkgKzcxLDYgQEAgZW51
bSBQYXJhbWV0ZXJNaXNzaW5nUG9saWN5IHsKICAgICAgICAgICAgIDogSlNET01XcmFwcGVyKHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQogICAgICAgICB7CiAgICAgICAgIH0KLQotICAgICAgICB2
aXJ0dWFsIH5ET01Db25zdHJ1Y3Rvck9iamVjdCgpOwotICAgICAgICBzdGF0aWMgdm9pZCBkZXN0
cm95KEpTQ2VsbCopOwogICAgIH07CiAKICAgICAvLyBDb25zdHJ1Y3RvcnMgdXNpbmcgdGhpcyBi
YXNlIGNsYXNzIGRlcGVuZCBvbiBiZWluZyBpbiBhIERvY3VtZW50IGFuZApAQCAtNzgsMTEgKzc4
LDE4IEBAIGVudW0gUGFyYW1ldGVyTWlzc2luZ1BvbGljeSB7CiAgICAgY2xhc3MgRE9NQ29uc3Ry
dWN0b3JXaXRoRG9jdW1lbnQgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmplY3QgewogICAgICAg
ICB0eXBlZGVmIERPTUNvbnN0cnVjdG9yT2JqZWN0IEJhc2U7CiAgICAgcHVibGljOgorICAgICAg
ICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpT
VmFsdWUgcHJvdG90eXBlKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gSlNDOjpTdHJ1
Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNDOjpU
eXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAg
ICAgIH0KKwogICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdAogICAgICAgICB7CiAg
ICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkpOwogICAgICAgICB9CiAKKyAgICAgICAgc3RhdGljIGNvbnN0IEpTQzo6Q2xhc3NJ
bmZvIHNfaW5mbzsKKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgRE9NQ29uc3RydWN0b3JXaXRo
RG9jdW1lbnQoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKICAgICAgICAgICAgIDogRE9NQ29uc3RydWN0b3JPYmplY3Qoc3RydWN0dXJl
LCBnbG9iYWxPYmplY3QpCkBAIC05NCw4ICsxMDEsMTMgQEAgZW51bSBQYXJhbWV0ZXJNaXNzaW5n
UG9saWN5IHsKICAgICAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+
Z2xvYmFsRGF0YSgpKTsKICAgICAgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QtPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+aXNEb2N1bWVudCgpKTsKICAgICAgICAgfQorCisgICAgICAgIHZp
cnR1YWwgfkRPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50KCk7CisgICAgICAgIHN0YXRpYyB2b2lk
IGRlc3Ryb3koSlNDZWxsKik7CiAgICAgfTsKICAgICAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKKwogICAgIEpTQzo6U3RydWN0dXJlKiBnZXRDYWNoZWRET01TdHJ1Y3R1cmUoSlNET01H
bG9iYWxPYmplY3QqLCBjb25zdCBKU0M6OkNsYXNzSW5mbyopOwogICAgIEpTQzo6U3RydWN0dXJl
KiBjYWNoZURPTVN0cnVjdHVyZShKU0RPTUdsb2JhbE9iamVjdCosIEpTQzo6U3RydWN0dXJlKiwg
Y29uc3QgSlNDOjpDbGFzc0luZm8qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDhjNTc0ZDkuLjFhYjkwMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTUz
LDYgKzUzLDExIEBAIEpTRE9NR2xvYmFsT2JqZWN0Ojp+SlNET01HbG9iYWxPYmplY3QoKQogewog
fQogCit2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAg
ICBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihjZWxsKS0+fkpTRE9NR2xvYmFsT2JqZWN0KCk7
Cit9CisKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCmluZGV4
IDg3NTVmZmIuLjkyYTgxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01HbG9iYWxPYmplY3QuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgSlNET01HbG9iYWxPYmplY3QoSlNDOjpKU0dsb2JhbERhdGEmLCBKU0M6OlN0cnVj
dHVyZSosIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgY29uc3QgSlNDOjpHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSogPSAwKTsKICAgICAgICAgdmlydHVhbCB+SlNET01HbG9iYWxPYmplY3Qo
KTsKKyAgICAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogICAgICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6SlNHbG9iYWxEYXRhJik7CiAgICAgICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNDOjpKU0dsb2JhbERhdGEmLCBKU0M6OkpTR2xvYmFsVGhpcyopOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IDJmNDA0ZWUuLjIwMGE1NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zMzI2LDYgKzMzMjYsOSBAQCBzdWIg
R2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uCiAgICAgbXkgJGNvbnN0cnVjdG9yQ2xhc3NO
YW1lID0gIiR7Y2xhc3NOYW1lfUNvbnN0cnVjdG9yIjsKICAgICBteSAkY2FsbFdpdGggPSAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9OwogCisgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2hcbiIpOworICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdub24t
dmlydHVhbC1kdG9yXCJcblxuIik7CisKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJjbGFzcyAk
e2NvbnN0cnVjdG9yQ2xhc3NOYW1lfSA6IHB1YmxpYyBET01Db25zdHJ1Y3Rvck9iamVjdCB7XG4i
KTsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJwcml2YXRlOlxuIik7CiAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgICR7Y29uc3RydWN0b3JDbGFzc05hbWV9KEpTQzo6U3RydWN0dXJlKiwg
SlNET01HbG9iYWxPYmplY3QqKTtcbiIpOwpAQCAtMzM1OCwxMiArMzM2MSwxNyBAQCBzdWIgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uCiAgICAgfQogICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIn07XG5cbiIpOwogCisgICAgcHVzaChAJG91dHB1dEFycmF5LCAiI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIHBvcFxuXG4iKTsKKwogICAgIGlmIChJc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGRh
dGFOb2RlLCAiRXZlbnQiKSkgewogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJib29sIGZp
bGwke2ludGVyZmFjZU5hbWV9SW5pdCgke2ludGVyZmFjZU5hbWV9SW5pdCYsIEpTRGljdGlvbmFy
eSYpO1xuXG4iKTsKICAgICB9CiAKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiTmFtZWRDb25zdHJ1Y3RvciJ9KSB7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
PDxFTkQpOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkICItV25vbi12aXJ0dWFsLWR0b3IiCisKIGNsYXNzIEpTJHtpbnRlcmZh
Y2VOYW1lfU5hbWVkQ29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1l
bnQgewogcHVibGljOgogICAgIHR5cGVkZWYgRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQgQmFz
ZTsKQEAgLTMzODksNiArMzM5Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiB9OwogCisjcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgcG9wCisKIEVORAogICAgIH0KIH0KQEAgLTM0MDgsMTIgKzM0MTgsMTQg
QEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgbXkgJG51bWJlck9mY29u
c3RydWN0UGFyYW1ldGVycyA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0
cnVjdG9yUGFyYW1ldGVycyJ9OwogCiAgICAgaWYgKCRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3Rv
cikgewotICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJjb25zdCBDbGFzc0luZm8gJHtjb25z
dHJ1Y3RvckNsYXNzTmFtZX06OnNfaW5mbyA9IHsgXCIke3Zpc2libGVDbGFzc05hbWV9Q29uc3Ry
dWN0b3JcIiwgJkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKKyAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiY29uc3QgQ2xhc3NJbmZvICR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojpz
X2luZm8gPSB7IFwiJHt2aXNpYmxlQ2xhc3NOYW1lfUNvbnN0cnVjdG9yXCIsICZET01Db25zdHJ1
Y3RvcldpdGhEb2N1bWVudDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKCRjb25z
dHJ1Y3RvckNsYXNzTmFtZSkgfTtcblxuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojoke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfShTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgOiBET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVu
dChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICJ7XG4iKTsKICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKICAgICB9
IGVsc2UgeworICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJBU1NFUlRfSEFTX1RSSVZJQUxf
REVTVFJVQ1RPUigke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfSk7XG5cbiIpOworCiAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgImNvbnN0IENsYXNzSW5mbyAke2NvbnN0cnVjdG9yQ2xhc3NOYW1l
fTo6c19pbmZvID0geyBcIiR7dmlzaWJsZUNsYXNzTmFtZX1Db25zdHJ1Y3RvclwiLCAmRE9NQ29u
c3RydWN0b3JPYmplY3Q6OnNfaW5mbywgJiR7Y29uc3RydWN0b3JDbGFzc05hbWV9VGFibGUsIDAs
IENSRUFURV9NRVRIT0RfVEFCTEUoJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKICAg
ICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OiR7Y29u
c3RydWN0b3JDbGFzc05hbWV9KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KVxuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICA6
IERPTUNvbnN0cnVjdG9yT2JqZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxuIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2luc3RhbmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCmluZGV4IDRhNTRiZmYuLmIwYjgxMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCkBAIC0xMDksNiArMTA5LDkgQEAg
Ym9vbCBDSW5zdGFuY2U6OnN1cHBvcnRzSW52b2tlRGVmYXVsdE1ldGhvZCgpIGNvbnN0CiAgICAg
cmV0dXJuIF9vYmplY3QtPl9jbGFzcy0+aW52b2tlRGVmYXVsdDsKIH0KIAorI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV25v
bi12aXJ0dWFsLWR0b3IiCisKIGNsYXNzIENSdW50aW1lTWV0aG9kIDogcHVibGljIFJ1bnRpbWVN
ZXRob2QgewogcHVibGljOgogICAgIHR5cGVkZWYgUnVudGltZU1ldGhvZCBCYXNlOwpAQCAtMTQ0
LDYgKzE0Nyw4IEBAIHByaXZhdGU6CiAKIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
b3AKKwogY29uc3QgQ2xhc3NJbmZvIENSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJDUnVudGlt
ZU1ldGhvZCIsICZSdW50aW1lTWV0aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoQ1J1bnRpbWVNZXRob2QpIH07CiAKIEpTVmFsdWUgQ0luc3RhbmNlOjpnZXRNZXRob2QoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcAppbmRleCA1MDIw
YmFkLi4zMWU2MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhSW5zdGFuY2VKU0MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0ph
dmFJbnN0YW5jZUpTQy5jcHAKQEAgLTExNCw2ICsxMTQsOSBAQCBKU1ZhbHVlIEphdmFJbnN0YW5j
ZTo6Ym9vbGVhblZhbHVlKCkgY29uc3QKICAgICByZXR1cm4ganNCb29sZWFuKGJvb2xlYW5WYWx1
ZSk7CiB9CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1kdG9yIgorCiBjbGFzcyBKYXZhUnVudGlt
ZU1ldGhvZCA6IHB1YmxpYyBSdW50aW1lTWV0aG9kIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFJ1
bnRpbWVNZXRob2QgQmFzZTsKQEAgLTE0OCw2ICsxNTEsOCBAQCBwcml2YXRlOgogICAgIH0KIH07
CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogY29uc3QgQ2xhc3NJbmZvIEphdmFS
dW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJKYXZhUnVudGltZU1ldGhvZCIsICZSdW50aW1lTWV0
aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSmF2YVJ1bnRpbWVNZXRob2Qp
IH07CiAKIEpTVmFsdWUgSmF2YUluc3RhbmNlOjpnZXRNZXRob2QoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvb2JqY19pbnN0YW5jZS5tbQppbmRleCBmOWFkZDc4Li5iOTAwZjA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UubW0KQEAgLTE3MCw2ICsxNzAsOSBAQCBi
b29sIE9iamNJbnN0YW5jZTo6c3VwcG9ydHNJbnZva2VEZWZhdWx0TWV0aG9kKCkgY29uc3QKICAg
ICByZXR1cm4gW19pbnN0YW5jZS5nZXQoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGlu
dm9rZURlZmF1bHRNZXRob2RXaXRoQXJndW1lbnRzOildOwogfQogCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xbm9uLXZp
cnR1YWwtZHRvciIKKwogY2xhc3MgT2JqQ1J1bnRpbWVNZXRob2QgOiBwdWJsaWMgUnVudGltZU1l
dGhvZCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIE9iakNSdW50aW1lTWV0aG9kKiBjcmVhdGUoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBJZGVudGlm
aWVyJiBuYW1lLCBCaW5kaW5nczo6TWV0aG9kTGlzdCYgbGlzdCkKQEAgLTIwNCw2ICsyMDcsOCBA
QCBwcml2YXRlOgogICAgIH0KIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwog
Y29uc3QgQ2xhc3NJbmZvIE9iakNSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJPYmpDUnVudGlt
ZU1ldGhvZCIsICZSdW50aW1lTWV0aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoT2JqQ1J1bnRpbWVNZXRob2QpIH07CiAKIEpTVmFsdWUgT2JqY0luc3RhbmNlOjpnZXRNZXRo
b2QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXggZDVkMGI4Ny4uNmIyNzVlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApAQCAtOTgyLDcgKzk4Miw3
IEBAIFF0UnVudGltZU1ldGhvZDo6flF0UnVudGltZU1ldGhvZCgpCiAKIHZvaWQgUXRSdW50aW1l
TWV0aG9kOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIHsKLSAgICBqc0Nhc3Q8UXRSdW50aW1lTWV0
aG9kKj4oY2VsbCktPn5RdFJ1bnRpbWVNZXRob2QoKTsKKyAgICBqc0Nhc3Q8UXRSdW50aW1lTWV0
aG9kKj4oY2VsbCktPlF0UnVudGltZU1ldGhvZDo6flF0UnVudGltZU1ldGhvZCgpOwogfQogCiAv
LyA9PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9x
dF9ydW50aW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5oCmluZGV4
IDQ5ZTA4ZTUuLjQwNjk5N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9x
dF9ydW50aW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuaApA
QCAtMTMzLDcgKzEzMyw3IEBAIGNsYXNzIFF0UnVudGltZU1ldGhvZCA6IHB1YmxpYyBJbnRlcm5h
bEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsK
IAotICAgIHZpcnR1YWwgflF0UnVudGltZU1ldGhvZCgpOworICAgIH5RdFJ1bnRpbWVNZXRob2Qo
KTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiAgICAgc3RhdGljIGNvbnN0
IENsYXNzSW5mbyBzX2luZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9tZXRob2QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNw
cAppbmRleCAwMGEzZDM1Li42YzJlY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9tZXRob2QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X21ldGhvZC5jcHAKQEAgLTU0LDEzICs1NCw5IEBAIHZvaWQgUnVudGltZU1ldGhvZDo6dnRhYmxl
QW5jaG9yKCkKIHsKIH0KIAotUnVudGltZU1ldGhvZDo6flJ1bnRpbWVNZXRob2QoKQotewotfQot
CiB2b2lkIFJ1bnRpbWVNZXRob2Q6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogewotICAgIGpzQ2Fz
dDxSdW50aW1lTWV0aG9kKj4oY2VsbCktPn5SdW50aW1lTWV0aG9kKCk7CisgICAganNDYXN0PFJ1
bnRpbWVNZXRob2QqPihjZWxsKS0+UnVudGltZU1ldGhvZDo6flJ1bnRpbWVNZXRob2QoKTsKIH0K
IAogdm9pZCBSdW50aW1lTWV0aG9kOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIGNvbnN0IElkZW50aWZpZXImIGlkZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9tZXRob2QuaAppbmRleCBmNmU1YTYyLi40NzhhMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9tZXRob2QuaApAQCAtMzMsMTIgKzMzLDE0IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1Xbm9uLXZpcnR1YWwtZHRvciIKKwogY2xhc3MgUnVudGltZU1ldGhvZCA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVu
Y3Rpb24gQmFzZTsKIAogICAgIHZpcnR1YWwgdm9pZCB2dGFibGVBbmNob3IoKTsKLSAgICB2aXJ0
dWFsIH5SdW50aW1lTWV0aG9kKCk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsK
IAogICAgIHN0YXRpYyBSdW50aW1lTWV0aG9kKiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSwgQmluZGluZ3M6Ok1ldGhvZExpc3QmIG1ldGhvZExpc3QpCkBAIC03Nyw2
ICs3OSw4IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEJpbmRpbmdzOjpNZXRob2RMaXN0PiBfbWV0
aG9kTGlzdDsKIH07CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKwogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvUHJveHlJbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL1Byb3h5SW5zdGFuY2UubW0KaW5kZXggYTM5NjY5Yy4uN2IwNWE5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlJbnN0YW5jZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLm1tCkBAIC0xNzcs
NiArMTc3LDkgQEAgSlNWYWx1ZSBQcm94eUluc3RhbmNlOjppbnZva2UoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEludm9rZVR5cGUgdHlwZSwgdWludDY0X3QgaWQKICAgICByZXR1cm4gbV9pbnN0YW5j
ZVByb3h5LT5kZW1hcnNoYWxWYWx1ZShleGVjLCAoY2hhciopQ0ZEYXRhR2V0Qnl0ZVB0cihyZXBs
eS0+bV9yZXN1bHQuZ2V0KCkpLCBDRkRhdGFHZXRMZW5ndGgocmVwbHktPm1fcmVzdWx0LmdldCgp
KSk7CiB9CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgaWdub3JlZCAiLVdub24tdmlydHVhbC1kdG9yIgorCiBjbGFzcyBQcm94eVJ1bnRp
bWVNZXRob2QgOiBwdWJsaWMgUnVudGltZU1ldGhvZCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBS
dW50aW1lTWV0aG9kIEJhc2U7CkBAIC0yMTEsNiArMjE0LDggQEAgcHJpdmF0ZToKICAgICB9CiB9
OwogCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisKIGNvbnN0IENsYXNzSW5mbyBQcm94
eVJ1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsgIlByb3h5UnVudGltZU1ldGhvZCIsICZSdW50aW1l
TWV0aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUHJveHlSdW50aW1lTWV0
aG9kKSB9OwogCiBKU1ZhbHVlIFByb3h5SW5zdGFuY2U6OmdldE1ldGhvZChKU0M6OkV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpCi0tIAoxLjcuNC40
Cgo=
</data>
<flag name="review"
          id="118729"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>