<?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>139372</bug_id>
          
          <creation_ts>2014-12-07 11:27:25 -0800</creation_ts>
          <short_desc>[CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene</short_desc>
          <delta_ts>2014-12-07 19:50: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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gwang Yoon Hwang">yoon</reporter>
          <assigned_to name="Gwang Yoon Hwang">yoon</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053202</commentid>
    <comment_count>0</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2014-12-07 11:27:25 -0800</bug_when>
    <thetext>[CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053203</commentid>
    <comment_count>1</comment_count>
      <attachid>242760</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2014-12-07 11:28:53 -0800</bug_when>
    <thetext>Created attachment 242760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053251</commentid>
    <comment_count>2</comment_count>
      <attachid>242760</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-07 17:09:50 -0800</bug_when>
    <thetext>Comment on attachment 242760
Patch

LGTM. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053269</commentid>
    <comment_count>3</comment_count>
      <attachid>242760</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-07 19:49:59 -0800</bug_when>
    <thetext>Comment on attachment 242760
Patch

Clearing flags on attachment: 242760

Committed r176934: &lt;http://trac.webkit.org/changeset/176934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053270</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-07 19:50:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242760</attachid>
            <date>2014-12-07 11:28:53 -0800</date>
            <delta_ts>2014-12-07 19:49:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139372-20141207202929.patch</filename>
            <type>text/plain</type>
            <size>27390</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2OTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDU1YmJjYTQwZWMxMWJm
MGE3ZjdiZmRjZWY3MWQ1ODlhN2RiZjg5Yy4uMjgzMWE2YTBhOTU3OGE2MzVkYjAwNDVkOWQ0NTFi
MzcxNmQzZTdmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTExLTEzICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDb29yZGluYXRlZEdy
YXBoaWNzXSBDaGFuZ2UgdGhlIG5hbWVzcGFjZSBvZiBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSBh
bmQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSBhbmQgQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lIHNob3VsZCBiZSBkZWNsYXJlZCBpbiB0aGUgV2ViS2l0IG5hbWVzcGFj
ZQorICAgICAgICBpbnN0ZWFkIG9mIFdlYkNvcmUgbmFtZXNwYWNlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db29yZGluYXRlZEdyYXBoaWNzL1dLQ29vcmRpbmF0ZWRTY2VuZS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlVGlsZTo6Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxlKToKKyAgICAgICAgKFdlYktp
dDo6Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29v
cmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxlOjpDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OnJlY3Qp
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0Vmlld0JhY2tncm91bmRDb2xvcik6CisgICAgICAg
IChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dmlld0JhY2tncm91bmRDb2xvcik6
CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6bGF5ZXJCeUlEKToK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpyb290TGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRWaWV3QmFja2dy
b3VuZENvbG9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZTo6dmlld0JhY2tncm91bmRDb2xvcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OmxheWVyQnlJRCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnJvb3RMYXllcik6IERlbGV0ZWQu
CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRlZFNjZW5lQVBJQ2FzdC5oOgorICAgICAg
ICAoV2ViS2l0Ojp0b0ltcGwpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgICh0
b0ltcGwpOiBEZWxldGVkLgorICAgICAgICAodG9BUEkpOiBEZWxldGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaDoKKwogMjAxNC0xMi0wNyAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBhbmQgZGVw
bG95IGEgZnVuY3Rpb24gdGhhdCBhbGxvY2F0ZXMgYW5kIHJldHVybnMgYW4gaW5zdGFuY2Ugb2Yg
YSBzb2Z0LWxpbmtlZCBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db29yZGluYXRlZEdyYXBoaWNzL1dLQ29vcmRpbmF0ZWRTY2VuZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRlZFNj
ZW5lLmNwcAppbmRleCAyNjQ0ZmJkMTY1OGU2YWZiNmNlMTAzOGUwMDQ2OWFlMDJiZGNiODIwLi5h
ODU1MTE2ZjMxZDNlNTIzODY0ZGE3MjIxNjU0MWM1NTQ5YzUzOTAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRl
ZFNjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV0tDb29yZGluYXRlZFNjZW5lLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1
ZGUgIldLQ29vcmRpbmF0ZWRTY2VuZUFQSUNhc3QuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1RleHR1
cmVNYXBwZXJMYXllci5oPgogCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCiBXS19FWFBPUlQg
V0tDb29yZGluYXRlZFNjZW5lTGF5ZXIgV0tDb29yZGluYXRlZFNjZW5lRmluZFNjcm9sbGFibGVD
b250ZW50c0xheWVyQXQoV0tDb29yZGluYXRlZFNjZW5lIHNjZW5lLCBXS1BvaW50IHBvaW50KQog
ewogICAgIHJldHVybiB0b0FQSSh0b0ltcGwoc2NlbmUpLT5maW5kU2Nyb2xsYWJsZUNvbnRlbnRz
TGF5ZXJBdChXZWJDb3JlOjpGbG9hdFBvaW50KHBvaW50LngsIHBvaW50LnkpKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggMTA1Y2NlMDZiZWY0
MWRhZDFlZDA4OTkyZWQyY2E5NDY4OTg0Njk1Yy4uYjlhMDVmOTA2ZTljMTFmMDI3ZWExYTE1MjVl
ZTQzZWNmZDVjNTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0
b3JlLmNwcApAQCAtMjEsMTIgKzIxLDE0IEBACiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmUuaCIKIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSNpbmNsdWRlICJHcmFw
aGljc0xheWVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgotI2luY2x1ZGUgIlRleHR1
cmVNYXBwZXJHTC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRTdXJmYWNlLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0
dXJlTWFwcGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyR0wuaD4KIAotbmFt
ZXNwYWNlIFdlYkNvcmUgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBX
ZWJLaXQgewogCiB2b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlVGlsZTo6c3dhcEJ1ZmZlcnMo
VGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZEJhY2tpbmdTdG9yZS5oCmluZGV4IGI5NzIxMzFlYjJjYWI5MWMwMDYyODVjMWU1OWNlOWVh
MzE0YWRiMjcuLmQ5MDM0OWQ2M2E1ZjhiNDZmNjY2Y2VjNjIxNDZiNjI1YzA0M2MzYjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuaApAQCAtMjIsNjggKzIyLDcx
IEBACiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKLSNpbmNsdWRlICJUZXh0dXJl
TWFwcGVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oIgotI2luY2x1
ZGUgIlRleHR1cmVNYXBwZXJUaWxlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVy
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0dXJlTWFwcGVyVGlsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgewogCitu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDb29yZGluYXRlZFN1cmZhY2U7Cit9CisKK25hbWVz
cGFjZSBXZWJLaXQgewogCi1jbGFzcyBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGUgOiBwdWJs
aWMgVGV4dHVyZU1hcHBlclRpbGUgeworY2xhc3MgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxl
IDogcHVibGljIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJUaWxlIHsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGUoZmxvYXQgc2NhbGUgPSAxKQotICAgICAg
ICA6IFRleHR1cmVNYXBwZXJUaWxlKEZsb2F0UmVjdCgpKQorICAgICAgICA6IFdlYkNvcmU6OlRl
eHR1cmVNYXBwZXJUaWxlKFdlYkNvcmU6OkZsb2F0UmVjdCgpKQogICAgICAgICAsIG1fc2NhbGUo
c2NhbGUpCiAgICAgewogICAgIH0KIAogICAgIGlubGluZSBmbG9hdCBzY2FsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2NhbGU7IH0KLSAgICB2b2lkIHN3YXBCdWZmZXJzKFRleHR1cmVNYXBwZXIqKTsK
LSAgICB2b2lkIHNldEJhY2tCdWZmZXIoY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFJlY3QmLCBQ
YXNzUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4gYnVmZmVyLCBjb25zdCBJbnRQb2ludCYpOwor
ICAgIHZvaWQgc3dhcEJ1ZmZlcnMoV2ViQ29yZTo6VGV4dHVyZU1hcHBlciopOworICAgIHZvaWQg
c2V0QmFja0J1ZmZlcihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRTdXJmYWNlPiBidWZmZXIsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAKIHByaXZhdGU6Ci0gICAgUmVmUHRyPENvb3JkaW5h
dGVkU3VyZmFjZT4gbV9zdXJmYWNlOwotICAgIEludFJlY3QgbV9zb3VyY2VSZWN0OwotICAgIElu
dFJlY3QgbV90aWxlUmVjdDsKLSAgICBJbnRQb2ludCBtX3N1cmZhY2VPZmZzZXQ7CisgICAgUmVm
UHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVkU3VyZmFjZT4gbV9zdXJmYWNlOworICAgIFdlYkNvcmU6
OkludFJlY3QgbV9zb3VyY2VSZWN0OworICAgIFdlYkNvcmU6OkludFJlY3QgbV90aWxlUmVjdDsK
KyAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3N1cmZhY2VPZmZzZXQ7CiAgICAgZmxvYXQgbV9zY2Fs
ZTsKIH07CiAKLWNsYXNzIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlIDogcHVibGljIFRleHR1cmVN
YXBwZXJCYWNraW5nU3RvcmUgeworY2xhc3MgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUgOiBwdWJs
aWMgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZSB7CiBwdWJsaWM6CiAgICAgdm9p
ZCBjcmVhdGVUaWxlKHVpbnQzMl90IHRpbGVJRCwgZmxvYXQpOwogICAgIHZvaWQgcmVtb3ZlVGls
ZSh1aW50MzJfdCB0aWxlSUQpOwogICAgIHZvaWQgcmVtb3ZlQWxsVGlsZXMoKTsKLSAgICB2b2lk
IHVwZGF0ZVRpbGUodWludDMyX3QgdGlsZUlELCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVj
dCYsIFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiwgY29uc3QgSW50UG9pbnQmKTsKKyAg
ICB2b2lkIHVwZGF0ZVRpbGUodWludDMyX3QgdGlsZUlELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIFBhc3NSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0
ZWRTdXJmYWNlPiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IENvb3JkaW5hdGVkQmFja2luZ1N0b3JlKTsgfQotICAgIHZvaWQgY29tbWl0VGlsZU9wZXJh
dGlvbnMoVGV4dHVyZU1hcHBlciopOwotICAgIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4
dHVyZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0U2l6ZShjb25zdCBGbG9hdFNpemUmKTsKLSAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZs
b2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQpOwotICAgIHZpcnR1
YWwgdm9pZCBkcmF3Qm9yZGVyKFRleHR1cmVNYXBwZXIqLCBjb25zdCBDb2xvciYsIGZsb2F0IGJv
cmRlcldpZHRoLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVwYWludENvdW50ZXIoVGV4dHVyZU1h
cHBlciosIGludCByZXBhaW50Q291bnQsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRSZWN0Jiwg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbW1pdFRp
bGVPcGVyYXRpb25zKFdlYkNvcmU6OlRleHR1cmVNYXBwZXIqKTsKKyAgICBQYXNzUmVmUHRyPFdl
YkNvcmU6OkJpdG1hcFRleHR1cmU+IHRleHR1cmUoKSBjb25zdDsKKyAgICB2b2lkIHNldFNpemUo
Y29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50VG9UZXh0
dXJlTWFwcGVyKFdlYkNvcmU6OlRleHR1cmVNYXBwZXIqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmLCBjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0KTsKKyAgICB2
aXJ0dWFsIHZvaWQgZHJhd0JvcmRlcihXZWJDb3JlOjpUZXh0dXJlTWFwcGVyKiwgY29uc3QgV2Vi
Q29yZTo6Q29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgZHJhd1JlcGFpbnRDb3VudGVyKFdlYkNvcmU6OlRleHR1cmVNYXBwZXIqLCBp
bnQgcmVwYWludENvdW50LCBjb25zdCBXZWJDb3JlOjpDb2xvciYsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7
CiAKIHByaXZhdGU6CiAgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUoKQogICAgICAgICA6IG1f
c2NhbGUoMS4pCiAgICAgeyB9Ci0gICAgdm9pZCBwYWludFRpbGVzVG9UZXh0dXJlTWFwcGVyKFZl
Y3RvcjxUZXh0dXJlTWFwcGVyVGlsZSo+JiwgVGV4dHVyZU1hcHBlciosIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiwgZmxvYXQsIGNvbnN0IEZsb2F0UmVjdCYpOwotICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IGFkanVzdGVkVHJhbnNmb3JtRm9yUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKLSAg
ICBGbG9hdFJlY3QgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6
ZXJvKCksIG1fc2l6ZSk7IH0KKyAgICB2b2lkIHBhaW50VGlsZXNUb1RleHR1cmVNYXBwZXIoVmVj
dG9yPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJUaWxlKj4mLCBXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
KiwgY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0Jik7CisgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggYWRq
dXN0ZWRUcmFuc2Zvcm1Gb3JSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOworICAgIFdl
YkNvcmU6OkZsb2F0UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4gV2ViQ29yZTo6RmxvYXRSZWN0
KFdlYkNvcmU6OkZsb2F0UG9pbnQ6Onplcm8oKSwgbV9zaXplKTsgfQogCiAgICAgdHlwZWRlZiBI
YXNoTWFwPHVpbnQzMl90LCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGU+IENvb3JkaW5hdGVk
QmFja2luZ1N0b3JlVGlsZU1hcDsKICAgICBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGVNYXAg
bV90aWxlczsKICAgICBIYXNoU2V0PHVpbnQzMl90PiBtX3RpbGVzVG9SZW1vdmU7CiAgICAgLy8g
RklYTUU6IG1fcGVuZGluZ1NpemUgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIGZvbGxvd2lu
ZyBidWcgaXMgZml4ZWQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDgyOTQKLSAgICBGbG9hdFNpemUgbV9wZW5kaW5nU2l6ZTsKLSAgICBGbG9hdFNpemUgbV9zaXpl
OworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3BlbmRpbmdTaXplOworICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtX3NpemU7CiAgICAgZmxvYXQgbV9zY2FsZTsKIH07CiAKLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKK30gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lLmNwcAppbmRleCBmZGFlM2I0YjM0M2YzNzQ5OTdmZWJhMzdiZGY2ZDRjNTliNGU3M2EzLi4z
OTllZjY4OTE3M2IxYTgwMmM5ZjdiZjQ4MmMxODQ4Y2VhNDhiNWM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTI0LDE0ICsyNCwxNiBAQAog
I2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIgogCiAjaW5jbHVkZSAiQ29vcmRp
bmF0ZWRCYWNraW5nU3RvcmUuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0jaW5jbHVk
ZSAiVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oIgotI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJH
TC5oIgotI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJMYXllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
VGV4dHVyZU1hcHBlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGV4dHVyZU1hcHBlckJhY2tpbmdT
dG9yZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGV4dHVyZU1hcHBlckdMLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0dXJlTWFwcGVyTGF5ZXIuaD4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgog
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OmRpc3BhdGNoT25NYWluVGhyZWFkKHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPiBmdW5jdGlvbikKIHsKQEAgLTcwOSw2ICs3MTEsNiBAQCBUZXh0dXJlTWFwcGVyTGF5ZXIq
IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6ZmluZFNjcm9sbGFibGVDb250ZW50c0xheWVyQXQo
Y29ucwogICAgIHJldHVybiByb290TGF5ZXIoKSA/IHJvb3RMYXllcigpLT5maW5kU2Nyb2xsYWJs
ZUNvbnRlbnRzTGF5ZXJBdChwb2ludCkgOiAwOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXgg
MmM3MjBjMmFhNzM2ZjhiOTc2ZTJhM2FmNmE5MmJjNmViMTdmM2Q0YS4uOWUxMGY0NDIzZDhmMmIz
YmVlODZmYzE1NDhiZThiNTEwMmRhNGQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTIyLDI5ICsyMiwyOSBAQAogI2RlZmluZSBDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmVfaAogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKLSNpbmNs
dWRlICJHcmFwaGljc0xheWVyQW5pbWF0aW9uLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NTdXJmYWNl
LmgiCi0jaW5jbHVkZSAiSW50UmVjdC5oIgotI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRl
ICJUZXh0dXJlTWFwcGVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5o
IgotI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCi0jaW5jbHVkZSAiVGV4dHVy
ZU1hcHBlckxheWVyLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nv
b3JkaW5hdGVkR3JhcGhpY3NTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29vcmRpbmF0ZWRT
dXJmYWNlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5
ZXJBbmltYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0ludFNpemUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RleHR1cmVNYXBwZXIuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0
dXJlTWFwcGVyTGF5ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CiAjaW5jbHVkZSA8
ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmdQcmltaXRpdmVzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKEdS
QVBISUNTX1NVUkZBQ0UpCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3Rv
cmUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzU3VyZmFjZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvVGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmUuaD4KICNlbmRpZgogCi1uYW1l
c3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ29vcmRpbmF0ZWRC
YWNraW5nU3RvcmU7CiAKQEAgLTU0LDIxICs1NCwyMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHB1cmdlQmFja2luZ1N0b3JlcygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyTmV4
dEZyYW1lKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydCgpID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgY29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNvbnN0
IEludFNpemUmIG9mZnNldCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21taXRTY3JvbGxPZmZz
ZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KSA9IDA7
CiB9OwogCi1jbGFzcyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiwgcHVibGljIFRleHR1cmVNYXBw
ZXJMYXllcjo6U2Nyb2xsaW5nQ2xpZW50IHsKK2NsYXNzIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+
LCBwdWJsaWMgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpTY3JvbGxpbmdDbGllbnQgewog
cHVibGljOgogICAgIGV4cGxpY2l0IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZShDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmVDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUoKTsKLSAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiwgZmxvYXQsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIGJvb2wgZHJhd3NCYWNrZ3JvdW5kLCBjb25zdCBGbG9hdFBvaW50JiwgVGV4
dHVyZU1hcHBlcjo6UGFpbnRGbGFncyA9IDApOwotICAgIHZvaWQgcGFpbnRUb0dyYXBoaWNzQ29u
dGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCosIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29s
b3IsIGJvb2wgZHJhd3NCYWNrZ3JvdW5kKTsKKyAgICB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250
ZXh0KGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IGJvb2wgZHJhd3NCYWNrZ3JvdW5kLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlcjo6UGFpbnRGbGFncyA9IDApOworICAgIHZvaWQgcGFpbnRUb0dyYXBo
aWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OkNvbG9y
JiBiYWNrZ3JvdW5kQ29sb3IsIGJvb2wgZHJhd3NCYWNrZ3JvdW5kKTsKICAgICB2b2lkIGRldGFj
aCgpOwogICAgIHZvaWQgYXBwZW5kVXBkYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7CiAKICAg
ICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGZpbmRTY3JvbGxhYmxlQ29udGVudHNMYXll
ckF0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21t
aXRTY3JvbGxPZmZzZXQodWludDMyX3QgbGF5ZXJJRCwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0KTsK
KyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2Nyb2xsT2Zmc2V0KHVpbnQzMl90IGxheWVySUQsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIG9mZnNldCk7CiAKICAgICAvLyBUaGUgcGFpbnRpbmcgdGhy
ZWFkIG11c3QgbG9jayB0aGUgbWFpbiB0aHJlYWQgdG8gdXNlIGJlbG93IHR3byBtZXRob2RzLCBi
ZWNhdXNlIHR3byBtZXRob2RzIGFjY2VzcyBtZW1iZXJzIHRoYXQgdGhlIG1haW4gdGhyZWFkIG1h
bmFnZXMuIFNlZSBtX2NsaWVudC4KICAgICAvLyBDdXJyZW50bHksIFFRdWlja1dlYlBhZ2U6OnVw
ZGF0ZVBhaW50Tm9kZSgpIGxvY2tzIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgY2FsbGluZyBib3Ro
IG1ldGhvZHMuCkBAIC03NywxMTMgKzc3LDExMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2
ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBY3RpdmU7IH0KICAgICB2b2lkIHNldEFjdGl2ZShib29s
KTsKIAotICAgIHZvaWQgY29tbWl0U2NlbmVTdGF0ZShjb25zdCBDb29yZGluYXRlZEdyYXBoaWNz
U3RhdGUmKTsKKyAgICB2b2lkIGNvbW1pdFNjZW5lU3RhdGUoY29uc3QgV2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlJik7CiAKLSAgICB2b2lkIHNldFZpZXdCYWNrZ3JvdW5kQ29sb3Io
Y29uc3QgQ29sb3ImIGNvbG9yKSB7IG1fdmlld0JhY2tncm91bmRDb2xvciA9IGNvbG9yOyB9Ci0g
ICAgQ29sb3Igdmlld0JhY2tncm91bmRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fdmlld0JhY2tn
cm91bmRDb2xvcjsgfQorICAgIHZvaWQgc2V0Vmlld0JhY2tncm91bmRDb2xvcihjb25zdCBXZWJD
b3JlOjpDb2xvciYgY29sb3IpIHsgbV92aWV3QmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KKyAg
ICBXZWJDb3JlOjpDb2xvciB2aWV3QmFja2dyb3VuZENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV92
aWV3QmFja2dyb3VuZENvbG9yOyB9CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzZXRSb290TGF5ZXJJ
RChDb29yZGluYXRlZExheWVySUQpOwotICAgIHZvaWQgY3JlYXRlTGF5ZXJzKGNvbnN0IFZlY3Rv
cjxDb29yZGluYXRlZExheWVySUQ+Jik7Ci0gICAgdm9pZCBkZWxldGVMYXllcnMoY29uc3QgVmVj
dG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mKTsKLSAgICB2b2lkIHNldExheWVyU3RhdGUoQ29vcmRp
bmF0ZWRMYXllcklELCBjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSYpOwotICAg
IHZvaWQgc2V0TGF5ZXJDaGlsZHJlbklmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJik7Ci0gICAgdm9pZCB1cGRhdGVUaWxlc0lm
TmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXll
clN0YXRlJik7Ci0gICAgdm9pZCBjcmVhdGVUaWxlc0lmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXll
ciosIGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJik7Ci0gICAgdm9pZCByZW1v
dmVUaWxlc0lmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IENvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllclN0YXRlJik7Ci0gICAgdm9pZCBzZXRMYXllckZpbHRlcnNJZk5lZWRlZChUZXh0
dXJlTWFwcGVyTGF5ZXIqLCBjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSYpOwot
ICAgIHZvaWQgc2V0TGF5ZXJBbmltYXRpb25zSWZOZWVkZWQoVGV4dHVyZU1hcHBlckxheWVyKiwg
Y29uc3QgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUmKTsKKyAgICB2b2lkIHNldFJvb3RM
YXllcklEKFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCk7CisgICAgdm9pZCBjcmVhdGVMYXll
cnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRD4mKTsKKyAgICB2b2lk
IGRlbGV0ZUxheWVycyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklEPiYp
OworICAgIHZvaWQgc2V0TGF5ZXJTdGF0ZShXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIGNv
bnN0IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJik7CisgICAgdm9pZCBz
ZXRMYXllckNoaWxkcmVuSWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgY29u
c3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUmKTsKKyAgICB2b2lkIHVw
ZGF0ZVRpbGVzSWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgY29uc3QgV2Vi
Q29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUmKTsKKyAgICB2b2lkIGNyZWF0ZVRp
bGVzSWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgY29uc3QgV2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3RhdGUmKTsKKyAgICB2b2lkIHJlbW92ZVRpbGVzSWZO
ZWVkZWQoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgY29uc3QgV2ViQ29yZTo6Q29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyU3RhdGUmKTsKKyAgICB2b2lkIHNldExheWVyRmlsdGVyc0lmTmVl
ZGVkKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IFdlYkNvcmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NMYXllclN0YXRlJik7CisgICAgdm9pZCBzZXRMYXllckFuaW1hdGlvbnNJZk5l
ZWRlZChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqLCBjb25zdCBXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSYpOwogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQotICAg
IHZvaWQgY3JlYXRlUGxhdGZvcm1MYXllcklmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciosIGNv
bnN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJik7Ci0gICAgdm9pZCBzeW5jUGxhdGZv
cm1MYXllcklmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IENvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllclN0YXRlJik7Ci0gICAgdm9pZCBkZXN0cm95UGxhdGZvcm1MYXllcklmTmVlZGVk
KFRleHR1cmVNYXBwZXJMYXllciosIGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRl
Jik7CisgICAgdm9pZCBjcmVhdGVQbGF0Zm9ybUxheWVySWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlckxheWVyKiwgY29uc3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3Rh
dGUmKTsKKyAgICB2b2lkIHN5bmNQbGF0Zm9ybUxheWVySWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlckxheWVyKiwgY29uc3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyU3Rh
dGUmKTsKKyAgICB2b2lkIGRlc3Ryb3lQbGF0Zm9ybUxheWVySWZOZWVkZWQoV2ViQ29yZTo6VGV4
dHVyZU1hcHBlckxheWVyKiwgY29uc3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
U3RhdGUmKTsKICNlbmRpZgotICAgIHZvaWQgc2V0TGF5ZXJSZXBhaW50Q291bnRJZk5lZWRlZChU
ZXh0dXJlTWFwcGVyTGF5ZXIqLCBjb25zdCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSYp
OworICAgIHZvaWQgc2V0TGF5ZXJSZXBhaW50Q291bnRJZk5lZWRlZChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyTGF5ZXIqLCBjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0
ZSYpOwogCi0gICAgdm9pZCBzeW5jVXBkYXRlQXRsYXNlcyhjb25zdCBDb29yZGluYXRlZEdyYXBo
aWNzU3RhdGUmKTsKLSAgICB2b2lkIGNyZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQs
IFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPik7CisgICAgdm9pZCBzeW5jVXBkYXRlQXRs
YXNlcyhjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmKTsKKyAgICB2b2lk
IGNyZWF0ZVVwZGF0ZUF0bGFzKHVpbnQzMl90IGF0bGFzSUQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6
Q29vcmRpbmF0ZWRTdXJmYWNlPik7CiAgICAgdm9pZCByZW1vdmVVcGRhdGVBdGxhcyh1aW50MzJf
dCBhdGxhc0lEKTsKIAotICAgIHZvaWQgc3luY0ltYWdlQmFja2luZ3MoY29uc3QgQ29vcmRpbmF0
ZWRHcmFwaGljc1N0YXRlJik7Ci0gICAgdm9pZCBjcmVhdGVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCk7Ci0gICAgdm9pZCB1cGRhdGVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCwgUGFzc1JlZlB0cjxDb29yZGluYXRlZFN1cmZhY2U+KTsKLSAgICB2
b2lkIGNsZWFySW1hZ2VCYWNraW5nQ29udGVudHMoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7
Ci0gICAgdm9pZCByZW1vdmVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCk7
CisgICAgdm9pZCBzeW5jSW1hZ2VCYWNraW5ncyhjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdy
YXBoaWNzU3RhdGUmKTsKKyAgICB2b2lkIGNyZWF0ZUltYWdlQmFja2luZyhXZWJDb3JlOjpDb29y
ZGluYXRlZEltYWdlQmFja2luZ0lEKTsKKyAgICB2b2lkIHVwZGF0ZUltYWdlQmFja2luZyhXZWJD
b3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lELCBQYXNzUmVmUHRyPFdlYkNvcmU6OkNvb3Jk
aW5hdGVkU3VyZmFjZT4pOworICAgIHZvaWQgY2xlYXJJbWFnZUJhY2tpbmdDb250ZW50cyhXZWJD
b3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKKyAgICB2b2lkIHJlbW92ZUltYWdlQmFj
a2luZyhXZWJDb3JlOjpDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKIAotICAgIFRleHR1cmVN
YXBwZXJMYXllciogbGF5ZXJCeUlEKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKKyAgICBXZWJDb3Jl
OjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyQnlJRChXZWJDb3JlOjpDb29yZGluYXRlZExheWVy
SUQgaWQpCiAgICAgewogICAgICAgICBBU1NFUlQobV9sYXllcnMuY29udGFpbnMoaWQpKTsKLSAg
ICAgICAgQVNTRVJUKGlkICE9IEludmFsaWRDb29yZGluYXRlZExheWVySUQpOworICAgICAgICBB
U1NFUlQoaWQgIT0gV2ViQ29yZTo6SW52YWxpZENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgICAg
IHJldHVybiBtX2xheWVycy5nZXQoaWQpOwogICAgIH0KLSAgICBUZXh0dXJlTWFwcGVyTGF5ZXIq
IGdldExheWVyQnlJRElmRXhpc3RzKENvb3JkaW5hdGVkTGF5ZXJJRCk7Ci0gICAgVGV4dHVyZU1h
cHBlckxheWVyKiByb290TGF5ZXIoKSB7IHJldHVybiBtX3Jvb3RMYXllci5nZXQoKTsgfQorICAg
IFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogZ2V0TGF5ZXJCeUlESWZFeGlzdHMoV2ViQ29y
ZTo6Q29vcmRpbmF0ZWRMYXllcklEKTsKKyAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIq
IHJvb3RMYXllcigpIHsgcmV0dXJuIG1fcm9vdExheWVyLmdldCgpOyB9CiAKICAgICB2b2lkIHN5
bmNSZW1vdGVDb250ZW50KCk7Ci0gICAgdm9pZCBhZGp1c3RQb3NpdGlvbkZvckZpeGVkTGF5ZXJz
KGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbik7CisgICAgdm9pZCBhZGp1c3RQb3Np
dGlvbkZvckZpeGVkTGF5ZXJzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGNvbnRlbnRQb3Np
dGlvbik7CiAKICAgICB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFkKHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPik7CiAgICAgdm9pZCB1cGRhdGVWaWV3cG9ydCgpOwogICAgIHZvaWQgcmVuZGVyTmV4dEZy
YW1lKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAotICAgIHZvaWQgY3JlYXRl
TGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKLSAgICB2b2lkIGRlbGV0ZUxheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCk7CisgICAgdm9pZCBjcmVhdGVMYXllcihXZWJDb3JlOjpDb29yZGluYXRlZExh
eWVySUQpOworICAgIHZvaWQgZGVsZXRlTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRMYXllcklE
KTsKIAotICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNraW5nVG9MYXllcihUZXh0dXJlTWFwcGVyTGF5
ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lEKTsKKyAgICB2b2lkIGFzc2lnbkltYWdlQmFj
a2luZ1RvTGF5ZXIoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyKiwgV2ViQ29yZTo6Q29vcmRp
bmF0ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2lu
Z3NJZk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBjb21t
aXRQZW5kaW5nQmFja2luZ1N0b3JlT3BlcmF0aW9ucygpOwogCi0gICAgdm9pZCBwcmVwYXJlQ29u
dGVudEJhY2tpbmdTdG9yZShUZXh0dXJlTWFwcGVyTGF5ZXIqKTsKLSAgICB2b2lkIGNyZWF0ZUJh
Y2tpbmdTdG9yZUlmTmVlZGVkKFRleHR1cmVNYXBwZXJMYXllciopOwotICAgIHZvaWQgcmVtb3Zl
QmFja2luZ1N0b3JlSWZOZWVkZWQoVGV4dHVyZU1hcHBlckxheWVyKik7Ci0gICAgdm9pZCByZXNl
dEJhY2tpbmdTdG9yZVNpemVUb0xheWVyU2l6ZShUZXh0dXJlTWFwcGVyTGF5ZXIqKTsKKyAgICB2
b2lkIHByZXBhcmVDb250ZW50QmFja2luZ1N0b3JlKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXll
ciopOworICAgIHZvaWQgY3JlYXRlQmFja2luZ1N0b3JlSWZOZWVkZWQoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlckxheWVyKik7CisgICAgdm9pZCByZW1vdmVCYWNraW5nU3RvcmVJZk5lZWRlZChXZWJD
b3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqKTsKKyAgICB2b2lkIHJlc2V0QmFja2luZ1N0b3JlU2l6
ZVRvTGF5ZXJTaXplKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciopOwogCi0gICAgdm9pZCBk
aXNwYXRjaENvbW1pdFNjcm9sbE9mZnNldCh1aW50MzJfdCBsYXllcklELCBjb25zdCBJbnRTaXpl
JiBvZmZzZXQpOworICAgIHZvaWQgZGlzcGF0Y2hDb21taXRTY3JvbGxPZmZzZXQodWludDMyX3Qg
bGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgb2Zmc2V0KTsKIAogICAgIC8vIFJlbmRl
ciBxdWV1ZSBjYW4gYmUgYWNjZXNzZWQgb255IGZyb20gbWFpbiB0aHJlYWQgb3IgdXBkYXRlUGFp
bnROb2RlIGNhbGwgc3RhY2shCiAgICAgVmVjdG9yPHN0ZDo6ZnVuY3Rpb248dm9pZCgpPj4gbV9y
ZW5kZXJRdWV1ZTsKICAgICBNdXRleCBtX3JlbmRlclF1ZXVlTXV0ZXg7CiAKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGV4dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFwcGVyOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CiAKLSAgICB0eXBl
ZGVmIEhhc2hNYXA8Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVmUHRyPENvb3JkaW5hdGVk
QmFja2luZ1N0b3JlPiA+IEltYWdlQmFja2luZ01hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8V2Vi
Q29yZTo6Q29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJRCwgUmVmUHRyPENvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlPj4gSW1hZ2VCYWNraW5nTWFwOwogICAgIEltYWdlQmFja2luZ01hcCBtX2ltYWdlQmFj
a2luZ3M7Ci0gICAgVmVjdG9yPFJlZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gPiBtX3Jl
bGVhc2VkSW1hZ2VCYWNraW5nczsKKyAgICBWZWN0b3I8UmVmUHRyPENvb3JkaW5hdGVkQmFja2lu
Z1N0b3JlPj4gbV9yZWxlYXNlZEltYWdlQmFja2luZ3M7CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8
VGV4dHVyZU1hcHBlckxheWVyKiwgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPiA+IEJh
Y2tpbmdTdG9yZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8V2ViQ29yZTo6VGV4dHVyZU1hcHBl
ckxheWVyKiwgUmVmUHRyPENvb3JkaW5hdGVkQmFja2luZ1N0b3JlPj4gQmFja2luZ1N0b3JlTWFw
OwogICAgIEJhY2tpbmdTdG9yZU1hcCBtX2JhY2tpbmdTdG9yZXM7CiAKLSAgICBIYXNoU2V0PFJl
ZlB0cjxDb29yZGluYXRlZEJhY2tpbmdTdG9yZT4gPiBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGlu
Z0J1ZmZlcnM7CisgICAgSGFzaFNldDxSZWZQdHI8Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmU+PiBt
X2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnM7CiAKICNpZiBVU0UoR1JBUEhJQ1NfU1VS
RkFDRSkKLSAgICB0eXBlZGVmIEhhc2hNYXA8VGV4dHVyZU1hcHBlckxheWVyKiwgUmVmUHRyPFRl
eHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlPiA+IFN1cmZhY2VCYWNraW5nU3RvcmVNYXA7
CisgICAgdHlwZWRlZiBIYXNoTWFwPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciosIFJlZlB0
cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdTdG9yZT4+IFN1cmZhY2VCYWNr
aW5nU3RvcmVNYXA7CiAgICAgU3VyZmFjZUJhY2tpbmdTdG9yZU1hcCBtX3N1cmZhY2VCYWNraW5n
U3RvcmVzOwogI2VuZGlmCiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8dWludDMyX3QgLyogYXRsYXNJ
RCAqLywgUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4gPiBTdXJmYWNlTWFwOworICAgIHR5cGVk
ZWYgSGFzaE1hcDx1aW50MzJfdCAvKiBhdGxhc0lEICovLCBSZWZQdHI8V2ViQ29yZTo6Q29vcmRp
bmF0ZWRTdXJmYWNlPj4gU3VyZmFjZU1hcDsKICAgICBTdXJmYWNlTWFwIG1fc3VyZmFjZXM7CiAK
ICAgICAvLyBCZWxvdyB0d28gbWVtYmVycyBhcmUgYWNjZXNzZWQgYnkgb25seSB0aGUgbWFpbiB0
aHJlYWQuIFRoZSBwYWludGluZyB0aHJlYWQgbXVzdCBsb2NrIHRoZSBtYWluIHRocmVhZCB0byBh
Y2Nlc3MgYm90aCBtZW1iZXJzLgogICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCog
bV9jbGllbnQ7CiAgICAgYm9vbCBtX2lzQWN0aXZlOwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFRl
eHR1cmVNYXBwZXJMYXllcj4gbV9yb290TGF5ZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlRleHR1cmVNYXBwZXJMYXllcj4gbV9yb290TGF5ZXI7CiAKLSAgICB0eXBlZGVmIEhhc2hN
YXA8Q29vcmRpbmF0ZWRMYXllcklELCBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlckxheWVy
Pj4gTGF5ZXJNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5
ZXJJRCwgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcj4+IExheWVy
TWFwOwogICAgIExheWVyTWFwIG1fbGF5ZXJzOwotICAgIHR5cGVkZWYgSGFzaE1hcDxDb29yZGlu
YXRlZExheWVySUQsIFRleHR1cmVNYXBwZXJMYXllcio+IExheWVyUmF3UHRyTWFwOworICAgIHR5
cGVkZWYgSGFzaE1hcDxXZWJDb3JlOjpDb29yZGluYXRlZExheWVySUQsIFdlYkNvcmU6OlRleHR1
cmVNYXBwZXJMYXllcio+IExheWVyUmF3UHRyTWFwOwogICAgIExheWVyUmF3UHRyTWFwIG1fZml4
ZWRMYXllcnM7Ci0gICAgQ29vcmRpbmF0ZWRMYXllcklEIG1fcm9vdExheWVySUQ7Ci0gICAgRmxv
YXRQb2ludCBtX3Njcm9sbFBvc2l0aW9uOwotICAgIEZsb2F0UG9pbnQgbV9yZW5kZXJlZENvbnRl
bnRzU2Nyb2xsUG9zaXRpb247Ci0gICAgQ29sb3IgbV92aWV3QmFja2dyb3VuZENvbG9yOworICAg
IFdlYkNvcmU6OkNvb3JkaW5hdGVkTGF5ZXJJRCBtX3Jvb3RMYXllcklEOworICAgIFdlYkNvcmU6
OkZsb2F0UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKKyAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1f
cmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uOworICAgIFdlYkNvcmU6OkNvbG9yIG1fdmll
d0JhY2tncm91bmRDb2xvcjsKIAotICAgIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyIG1fZnBzQ291
bnRlcjsKKyAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7
CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKaW5kZXggODZhZDdmY2ZmZGM0MDQ5
YWI3ODRlODRmMWFhOGQ3OWU2YTdjYzIyOS4uYWIxOGM2M2E3Nzg3NGJkMDhlM2JjYTU1ZWRlOTZj
ODdiNTUxOTI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHk7CiAKLWNsYXNzIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IDogcHVibGljIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNs
aWVudCwgcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKK2NsYXNzIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5IDogcHVibGljIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCwg
cHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbW1pdENv
b3JkaW5hdGVkR3JhcGhpY3NTdGF0ZShjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNz
U3RhdGUmKTsKIAogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9y
KTsKLSAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NlbmUuZ2V0KCk7IH0KKyAgICBDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2NlbmUuZ2V0KCk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCByZW5kZXJOZXh0RnJhbWUoKSBvdmVycmlkZTsK
QEAgLTYyLDcgKzYyLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7
CiAKICAgICBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkqIG1fZHJhd2luZ0FyZWFQcm94eTsK
LSAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBtX3NjZW5lOwor
ICAgIFJlZlB0cjxDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU+IG1fc2NlbmU7CiAgICAgV2ViQ29y
ZTo6RmxvYXRSZWN0IG1fbGFzdFNlbnRWaXNpYmxlUmVjdDsKICAgICBXZWJDb3JlOjpGbG9hdFBv
aW50IG1fbGFzdFNlbnRUcmFqZWN0b3J5VmVjdG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dLQ29vcmRpbmF0ZWRTY2VuZUFQ
SUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dL
Q29vcmRpbmF0ZWRTY2VuZUFQSUNhc3QuaAppbmRleCA4N2ZiNjllZWM3NzM1ZWJkMzE1MjA1ODI5
ODhiMjc1NzZlNjNhMWI0Li5kMzNkY2RhZWFiYWNkNjI5NmE1OTA3MTA2MWMxNjA1ZDVhNWE2OTYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9XS0Nvb3JkaW5hdGVkU2NlbmVBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRlZFNjZW5lQVBJQ2FzdC5oCkBAIC0z
MSwxOCArMzEsMTkgQEAKICNpbmNsdWRlIDxXZWJLaXQvV0tDb29yZGluYXRlZFNjZW5lLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOwog
Y2xhc3MgVGV4dHVyZU1hcHBlckxheWVyOworfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCitu
YW1lc3BhY2UgV2ViS2l0IHsKIAotaW5saW5lIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZSogdG9JbXBsKFdLQ29vcmRpbmF0ZWRTY2VuZSBzY2VuZSkKK2NsYXNzIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTsKKworaW5saW5lIFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KiB0b0ltcGwoV0tDb29yZGluYXRlZFNjZW5lIHNjZW5lKQogewotICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSo+KHNjZW5lKTsKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSo+KHNjZW5lKTsKIH0KIAotaW5saW5lIFdLQ29vcmRpbmF0ZWRTY2VuZSB0b0FQSShXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIHNjZW5lKQoraW5saW5lIFdLQ29vcmRpbmF0ZWRT
Y2VuZSB0b0FQSShXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSogc2NlbmUpCiB7CiAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0tDb29yZGluYXRlZFNjZW5lPihzY2VuZSk7CiB9
CkBAIC01Nyw0ICs1OCw2IEBAIGlubGluZSBXS0Nvb3JkaW5hdGVkU2NlbmVMYXllciB0b0FQSShX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyKQogICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdLQ29vcmRpbmF0ZWRTY2VuZUxheWVyPihsYXllcik7CiB9CiAKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCiAjZW5kaWYgLy8gV0tDb29yZGluYXRlZFNjZW5lQVBJQ2FzdF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmgKaW5kZXggOWY2YTM1ZjIwNGJlZDdkZDJmMGMzNjViMzkwYTkwZWNiOTk2ZDc2YS4uNjQ2
YjU0MmFmYzlmYjQ2ODcyNWViYTM2ZmNlNTUzNDcyZTA2NzEyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaApAQCAt
NDAsMTEgKzQwLDggQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFz
cyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgeworY2xh
c3MgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOwogCiBjbGFzcyBXZWJWaWV3IDogcHVibGljIEFQ
STo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6Vmlldz4sIHB1YmxpYyBQYWdlQ2xpZW50
CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpAQCAtMTE4LDcgKzExNSw3IEBAIHB1YmxpYzoK
IAogcHJvdGVjdGVkOgogICAgIFdlYlZpZXcoV2ViQ29udGV4dCosIFdlYlBhZ2VHcm91cCopOwot
ICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSogY29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lKCk7CisgICAgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKiBjb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUoKTsKIAogICAgIHZvaWQgdXBkYXRlVmlld3BvcnRTaXplKCk7CiAgICAgV2ViQ29y
ZTo6RmxvYXRTaXplIGRpcFNpemUoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>