<?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>42192</bug_id>
          
          <creation_ts>2010-07-13 13:49:30 -0700</creation_ts>
          <short_desc>Add support for URL frame loading using NPN_GetURLNotify</short_desc>
          <delta_ts>2010-07-13 22:36:43 -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>250716</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-13 13:49:30 -0700</bug_when>
    <thetext>Add support for URL frame loading using NPN_GetURLNotify</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250729</commentid>
    <comment_count>1</comment_count>
      <attachid>61412</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-13 13:59:21 -0700</bug_when>
    <thetext>Created attachment 61412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250731</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-13 14:01:32 -0700</bug_when>
    <thetext>Attachment 61412 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:211:  NPN_GetURLNotify is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 15 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>250786</commentid>
    <comment_count>3</comment_count>
      <attachid>61412</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-13 15:41:31 -0700</bug_when>
    <thetext>Comment on attachment 61412
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250972</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-13 22:36:43 -0700</bug_when>
    <thetext>Committed r63257: &lt;http://trac.webkit.org/changeset/63257&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61412</attachid>
            <date>2010-07-13 13:59:21 -0700</date>
            <delta_ts>2010-07-13 15:41:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42192-20100713135920.patch</filename>
            <type>text/plain</type>
            <size>25479</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGI2MjhhMzI4OWE5YTc5N2VkZGM5ZDI4ZDc5M2ZiMmZhOTE1ZjEzYy4uMWY0NDFlZTM2MjdkNTUz
MjBlMDBiMTQ0ZWIzMDY4NGU0NDFkZDdiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNy0xMyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBVUkwgZnJhbWUgbG9h
ZGluZyB1c2luZyBOUE5fR2V0VVJMTm90aWZ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjE5MgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgIEV4cG9ydCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRIVFRQTWV0aG9kIGFuZCBSZXNv
dXJjZVJlcXVlc3RCYXNlOjpzZXRVUkwuCisKIDIwMTAtMDctMTAgIFpoZW55YW8gTW8gIDx6bW9A
Z29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCA3MWM2MzJmNjU0YTU5ZjNkM2U3NjM0ODM4YjRjMTc0M2ZlYjUzYzlkLi45NjdkMTE1YmZkMzMy
YTdmNzkzNjA5ZTQ4OGVjNDY5NTllZGRkYWNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTQwMiw2ICs0MDIsOCBAQCBf
X1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIyMXBhdXNlVHJhbnNpdGlvbkF0VGltZUVQ
TlNfMTJSZW5kZXJPYmplY3RFUktOUwogX19aTjdXZWJDb3JlMTlCYWNrRm9yd2FyZExpc3RJbXBs
QzFFUE5TXzRQYWdlRQogX19aTjdXZWJDb3JlMTlDU1NTdHlsZURlY2xhcmF0aW9uMTFzZXRQcm9w
ZXJ0eUVSS05TXzZTdHJpbmdFUzNfUmkKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxl
cjM0aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZUV2CitfX1pON1dlYkNvcmUxOVJl
c291cmNlUmVxdWVzdEJhc2UxM3NldEhUVFBNZXRob2RFUktOU182U3RyaW5nRQorX19aTjdXZWJD
b3JlMTlSZXNvdXJjZVJlcXVlc3RCYXNlNnNldFVSTEVSS05TXzRLVVJMRQogX19aTjdXZWJDb3Jl
MTlTZWxlY3Rpb25Db250cm9sbGVyMTBzZXRGb2N1c2VkRWIKIF9fWk43V2ViQ29yZTE5U2VsZWN0
aW9uQ29udHJvbGxlcjEyc2V0U2VsZWN0aW9uRVJLTlNfMTZWaXNpYmxlU2VsZWN0aW9uRWJiYk5T
MF8xOUN1cnNvckFsaWduT25TY3JvbGxFTlNfMTVUZXh0R3JhbnVsYXJpdHlFTlNfMjBEaXJlY3Rp
b25hbGl0eVBvbGljeUUKIF9fWk43V2ViQ29yZTE5U2VsZWN0aW9uQ29udHJvbGxlcjE2c2V0U2Vs
ZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5pdHlFYgpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2NGE2Y2YzNDliMWJjOGI2MjBh
MGM4YzA2MmVhZTJmMWQzYTUwM2Y3Li5kNGFlYjJiOTY0YjEwNjk2ZTQzZWYxMGQxZWJlMTQ4MGIy
MTU5OTYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDg3IEBACiAyMDEwLTA3LTEzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFVSTCBmcmFtZSBsb2FkaW5nIHVzaW5nIE5QTl9HZXRV
UkxOb3RpZnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQyMTkyCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4uY3BwOgor
ICAgICAgICAoV2ViS2l0OjpEdW1teVBsdWdpbjo6ZnJhbWVEaWRGaW5pc2hMb2FkaW5nKToKKyAg
ICAgICAgKFdlYktpdDo6RHVtbXlQbHVnaW46OmZyYW1lRGlkRmFpbCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL0R1bW15UGx1Z2luLmg6CisgICAgICAgIEFkZCBlbXB0eSBzdHVicy4K
KyAgICAgICAgCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
QnJvd3NlckZ1bmNzLmNwcDoKKyAgICAgICAgSW1wbGVtZW50IE5QTl9HZXRVUkxOb3RpZnkgYW5k
IGhhdmUgaXQgY2FsbCBOZXRzY2FwZVBsdWdpbjo6bG9hZFVSTC4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHNjYXBlUGx1Z2luOjpOZXRzY2FwZVBsdWdpbik6CisgICAgICAgIEluaXRpYWxpemUg
bV9uZXh0UmVxdWVzdElEIHRvIDAuCisKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46
OmxvYWRVUkwpOgorICAgICAgICBBc2sgdGhlIHBsdWctaW4gY29udHJvbGxlciB0byBsb2FkIHRo
ZSBVUkwuCisKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OmZyYW1lRGlkRmluaXNo
TG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpmcmFtZURpZEZhaWwp
OgorICAgICAgICBBZGQgZW1wdHkgc3R1YnMgZm9yIG5vdy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW4uaDoKKyAgICAgICAgQWRkIG5ldyBtZW1iZXIgZnVuY3Rpb25zIGZv
ciBmcmFtZSBsb2FkIG5vdGlmaWNhdGlvbnMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luQ29udHJvbGxlci5oOgorICAgICAgICBBZGQgbG9hZFVSTC4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luVmlldzo6VVJMUmVxdWVzdDo6VVJMUmVxdWVzdCk6CisgICAgICAgIEFkZCBjbGFzcyB0aGF0
IHJlcHJlc2VudHMgYW4gVVJMIHJlcXVlc3QuCisKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6UGx1Z2luVmlldyk6CisgICAgICAgIEluaXRpYWxpemUgbV9wZW5kaW5nVVJMUmVxdWVzdHNU
aW1lci4KKworICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojp+UGx1Z2luVmlldyk6CisgICAg
ICAgIFVuc2V0IGFsbCBhY3RpdmUgbG9hZCBsaXN0ZW5lcnMuCisKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIFRha2Ug
dGhlIGZpcnN0IHJlcXVlc3QgaW4gdGhlIHF1ZXVlIGFuZCBwcm9jZXNzIGl0LgorCisgICAgICAg
IChXZWJLaXQ6OlBsdWdpblZpZXc6OnBlcmZvcm1VUkxSZXF1ZXN0KToKKyAgICAgICAgQ2FsbCBw
ZXJmb3JtRnJhbWVMb2FkVVJMUmVxdWVzdCBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luVmlldzo6cGVyZm9ybUZyYW1lTG9hZFVSTFJlcXVlc3QpOgorICAgICAgICBGaW5k
IGEgZnJhbWUgdG8gbG9hZCB0aGUgcmVxdWVzdCBpbi4gSWYgYSBmcmFtZSBkb2Vzbid0IGV4aXN0
IHRyeSB0byBjcmVhdGUgYSBuZXcgZnJhbWUuCisKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6bG9hZFVSTCk6CisgICAgICAgIENyZWF0ZSBhIFVSTFJlcXVlc3QgYW5kIGFkZCBpdCB0byB0
aGUgcXVldWUuCisKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6ZGlkRmluaXNoTG9hZCk6
CisgICAgICAgIEdldCB0aGUgcGVuZGluZyBmcmFtZSBsb2FkIHJlcXVlc3QgYW5kIGNhbGwgUGx1
Z2luOjpmcmFtZURpZEZpbmlzaExvYWRpbmcuCisKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6ZGlkRmFpbExvYWQpOgorICAgICAgICBHZXQgdGhlIHBlbmRpbmcgZnJhbWUgbG9hZCByZXF1
ZXN0IGFuZCBjYWxsIFBsdWdpbjo6ZnJhbWVEaWRGYWlsLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuaDoKKyAgICAgICAgSW5oZXJpdCBmcm9tIFdlYkZyYW1lOjpM
b2FkTGlzdGVuZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxMb2FkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmluaXNoTG9hZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkKToKKyAgICAgICAg
Q2FsbCB0aGUgV2ViRnJhbWUncyBsb2FkIGxpc3RlbmVyIGlmIG5lZWRlZC4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lOjpXZWJGcmFtZSk6CisgICAgICAgIEluaXRpYWxpemUgbV9sb2FkTGlzdGVuZXIgdG8gMC4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oOgorICAgICAgICBBZGQg
YSBMb2FkTGlzdGVuZXIgY2xhc3MgdGhhdCB0aGUgcGx1Zy1pbiB2aWV3IGNhbiB1c2UgdG8gdHJh
Y2sgZnJhbWUgbG9hZHMuCisKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OkxvYWRMaXN0ZW5l
cjo6fkxvYWRMaXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpzZXRMb2FkTGlz
dGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6bG9hZExpc3RlbmVyKToKKworMjAx
MC0wNy0xMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCiAKICAgICAgICAgRG9jdW1lbnQgdGhlIG1lbWJlciBm
dW5jdGlvbnMgb2YgdGhlIGFic3RyYWN0IFBsdWdpbiBhbmQgUGx1Z2luQ29udHJvbGxlciBjbGFz
c2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4u
Y3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4uY3BwCmluZGV4IDIx
ODQxZDBmOTJhNzFlNTEwMWU0MzRiNmQ0NzA4NDM2MWEzMzU3ZjQuLjFlZTRiM2ZhOGRhOTUxOTBj
ODY2OWZmOTBkNTEzNTYyNGVhNjYzZTcgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL0R1bW15UGx1Z2luLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9E
dW1teVBsdWdpbi5jcHAKQEAgLTYxLDQgKzYxLDEyIEBAIHZvaWQgRHVtbXlQbHVnaW46Omdlb21l
dHJ5RGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgSW50UmVjdCYgY2xp
CiB7CiB9CiAKK3ZvaWQgRHVtbXlQbHVnaW46OmZyYW1lRGlkRmluaXNoTG9hZGluZyh1aW50NjRf
dCByZXF1ZXN0SUQpCit7Cit9CisKK3ZvaWQgRHVtbXlQbHVnaW46OmZyYW1lRGlkRmFpbCh1aW50
NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2VsbGVkKQoreworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0R1bW15UGx1
Z2luLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9EdW1teVBsdWdpbi5oCmluZGV4IDg2
MGM0OTUyNzM1ZWI0YjU3NGI2MDdhZWY1YWY2YzlhZTk3YTJkYWEuLjBhOGZmOTk3ZTgxMTk3NDVh
NmJjMjg4NGUzMTI2MzQ5MjNiYTQyNzggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL0R1bW15UGx1Z2luLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvRHVt
bXlQbHVnaW4uaApAQCAtNDYsNiArNDYsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBk
ZXN0cm95KCk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCk7CiAgICAgdmlydHVhbCB2b2lk
IGdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpOworICAgIHZpcnR1YWwgdm9pZCBmcmFtZURp
ZEZpbmlzaExvYWRpbmcodWludDY0X3QgcmVxdWVzdElEKTsKKyAgICB2aXJ0dWFsIHZvaWQgZnJh
bWVEaWRGYWlsKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5jZWxsZWQpOworCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcAppbmRleCA1MWQw
ZGI0Njc5NWQ2NzQ5YWZkMDEwODkxMWE5MDRkZTU3NjFlZTQyLi43MzEzYTVmNWI1NDUzOTU5YTc0
NjM1ZDQzYTdiYmRhM2RkNGI3MmUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwCkBAIC0yOCw2
ICsyOCw4IEBACiAjaW5jbHVkZSAiTmV0c2NhcGVQbHVnaW4uaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHN0YXRpYyB2b2lkIGluaXRpYWxpemVCcm93c2VyRnVuY3MoTlBOZXRzY2FwZUZ1bmNz
ICZuZXRzY2FwZUZ1bmNzKQpAQCAtMTk1LDEwICsxOTcsMjYgQEAganJlZiBOUE5fR2V0SmF2YVBl
ZXIoTlBQIGluc3RhbmNlKQogICAgIHJldHVybiAwOwogfQogCi1OUEVycm9yIE5QTl9HZXRVUkxO
b3RpZnkoTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRhcmdldCwg
dm9pZCogbm90aWZ5RGF0YSkKK3N0YXRpYyBTdHJpbmcgbWFrZVVSTFN0cmluZyhjb25zdCBjaGFy
KiB1cmwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gTlBFUlJfR0VORVJJ
Q19FUlJPUjsKKyAgICBTdHJpbmcgdXJsU3RyaW5nKHVybCk7CisgICAgCisgICAgLy8gU3RyaXAg
cmV0dXJuIGNoYXJhY3RlcnMuCisgICAgdXJsU3RyaW5nLnJlcGxhY2UoJ1xyJywgIiIpOworICAg
IHVybFN0cmluZy5yZXBsYWNlKCdcbicsICIiKTsKKworICAgIHJldHVybiB1cmxTdHJpbmc7Cit9
CisKK05QRXJyb3IgTlBOX0dldFVSTE5vdGlmeShOUFAgbnBwLCBjb25zdCBjaGFyKiB1cmwsIGNv
bnN0IGNoYXIqIHRhcmdldCwgdm9pZCogbm90aWZ5RGF0YSkKK3sKKyAgICBpZiAoIXVybCkKKyAg
ICAgICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7CisKKyAgICBSZWZQdHI8TmV0c2NhcGVQ
bHVnaW4+IHBsdWdpbiA9IE5ldHNjYXBlUGx1Z2luOjpmcm9tTlBQKG5wcCk7CisgICAgcGx1Z2lu
LT5sb2FkVVJMKG1ha2VVUkxTdHJpbmcodXJsKSwgdGFyZ2V0LCB0cnVlLCBub3RpZnlEYXRhKTsK
KyAgICAKKyAgICByZXR1cm4gTlBFUlJfTk9fRVJST1I7CiB9CiAKIE5QRXJyb3IgTlBOX1Bvc3RV
UkxOb3RpZnkoTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRhcmdl
dCwgdWludDMyX3QgbGVuLCBjb25zdCBjaGFyKiBidWYsIE5QQm9vbCBmaWxlLCB2b2lkKiBub3Rp
ZnlEYXRhKQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDQyOTc2OTIzOGU1ZGM5YWQ4YTYwNDZlODdjZDdjYzJj
MDY2ZGY2MzQuLjEyOWEyOGEzMGZlYjNhMDc1NmI0NmE0NDRjMTY1ZmI1MWE5MWU4OGUgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBs
dWdpbi5jcHAKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIE5ldHNjYXBl
UGx1Z2luOjpOZXRzY2FwZVBsdWdpbihQYXNzUmVmUHRyPE5ldHNjYXBlUGx1Z2luTW9kdWxlPiBw
bHVnaW5Nb2R1bGUpCiAgICAgOiBtX3BsdWdpbkNvbnRyb2xsZXIoMCkKKyAgICAsIG1fbmV4dFJl
cXVlc3RJRCgwKQogICAgICwgbV9wbHVnaW5Nb2R1bGUocGx1Z2luTW9kdWxlKQogICAgICwgbV9u
cFdpbmRvdygpCiAgICAgLCBtX2lzU3RhcnRlZChmYWxzZSkKQEAgLTk3LDYgKzk4LDE2IEBAIGNv
bnN0IGNoYXIqIE5ldHNjYXBlUGx1Z2luOjp1c2VyQWdlbnQoKQogICAgIHJldHVybiBtX3VzZXJB
Z2VudC5kYXRhKCk7CiB9CiAKK3ZvaWQgTmV0c2NhcGVQbHVnaW46OmxvYWRVUkwoY29uc3QgU3Ry
aW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBib29sIHNlbmROb3RpZmljYXRp
b24sIHZvaWQqIG5vdGlmaWNhdGlvbkRhdGEpCit7CisgICAgdWludDY0X3QgcmVxdWVzdElEID0g
KyttX25leHRSZXF1ZXN0SUQ7CisKKyAgICAvLyBGSVhNRTogSGFuZGxlIHBvcHVwcy4KKyAgICBi
b29sIGFsbG93UG9wdXBzID0gZmFsc2U7CisKKyAgICBtX3BsdWdpbkNvbnRyb2xsZXItPmxvYWRV
UkwocmVxdWVzdElELCB1cmxTdHJpbmcsIHRhcmdldCwgYWxsb3dQb3B1cHMpOworfQorCiB2b2lk
IE5ldHNjYXBlUGx1Z2luOjpjYWxsU2V0V2luZG93KCkKIHsKICAgICBtX25wV2luZG93LnggPSBt
X2ZyYW1lUmVjdC54KCk7CkBAIC0xOTEsNCArMjAyLDE0IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW46
Omdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgSW50UmVj
dCYKICAgICBjYWxsU2V0V2luZG93KCk7CiB9CiAKK3ZvaWQgTmV0c2NhcGVQbHVnaW46OmZyYW1l
RGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCByZXF1ZXN0SUQpCit7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudC4KK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6ZnJhbWVEaWRGYWlsKHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5jZWxsZWQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIGIvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaAppbmRleCA4NDU3ZGY1ZDMwYTFm
NjFmODVhNWJjNzgzNTk3YWJhOWUxMWVlMTQ5Li4zYzdiMzQ3Y2JlYWQ4MTg2MDEwMGNjYTcyZDg5
YmE1YzNlZGE4ZDU2IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBpbnZhbGlkYXRlKGNvbnN0IE5QUmVjdCopOwogICAgIGNvbnN0IGNoYXIqIHVzZXJBZ2Vu
dCgpOworICAgIHZvaWQgbG9hZFVSTChjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHVybFN0cmluZywg
Y29uc3QgV2ViQ29yZTo6U3RyaW5nJiB0YXJnZXQsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9p
ZCogbm90aWZpY2F0aW9uRGF0YSk7CiAgICAgCiBwcml2YXRlOgogICAgIE5ldHNjYXBlUGx1Z2lu
KFBhc3NSZWZQdHI8TmV0c2NhcGVQbHVnaW5Nb2R1bGU+IHBsdWdpbk1vZHVsZSk7CkBAIC02Myw4
ICs2NCwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KCk7CiAgICAgdmly
dHVhbCB2b2lkIHBhaW50KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGRpcnR5UmVjdCk7CiAgICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5RGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgY2xpcFJlY3QpOworICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZpbmlzaExvYWRpbmcodWlu
dDY0X3QgcmVxdWVzdElEKTsKKyAgICB2aXJ0dWFsIHZvaWQgZnJhbWVEaWRGYWlsKHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5jZWxsZWQpOwogCiAgICAgUGx1Z2luQ29udHJvbGxlciog
bV9wbHVnaW5Db250cm9sbGVyOworICAgIHVpbnQ2NF90IG1fbmV4dFJlcXVlc3RJRDsKIAogICAg
IFJlZlB0cjxOZXRzY2FwZVBsdWdpbk1vZHVsZT4gbV9wbHVnaW5Nb2R1bGU7CiAgICAgTlBQX3Qg
bV9ucHA7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCmluZGV4IDQ2NWEyNjQxMWFmNTRl
ZWRiZTFiY2ZhZDY5ZGNmMTA2MDlmZDRhNDMuLmM5NDczMWY0MTkwMmI5NTM0MjFlYTRhMjA1YWQ4
MmI2NzhiOGI4YjIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bi5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCkBAIC02Myw2ICs2
MywxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGVsbHMgdGhlIHBsdWctaW4gdGhhdCBlaXRoZXIgdGhl
IHBsdWctaW5zIGZyYW1lIHJlY3Qgb3IgaXRzIGNsaXAgcmVjdCBoYXMgY2hhbmdlZC4gQm90aCBy
ZWN0cyBhcmUgaW4gd2luZG93IGNvb3JkaW5hdGVzLgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRy
eURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmcmFtZVJlY3QsIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmIGNsaXBSZWN0KSA9IDA7CiAKKyAgICAvLy8gVGVsbHMgdGhlIHBsdWctaW4g
dGhhdCBhIGZyYW1lIGxvYWQgcmVxdWVzdCB0aGF0IHRoZSBwbHVnLWluIG1hZGUgYnkgY2FsbGlu
ZyBQbHVnaW5Db250cm9sbGVyOjpsb2FkVVJMIGhhcyBmaW5pc2hlZC4KKyAgICB2aXJ0dWFsIHZv
aWQgZnJhbWVEaWRGaW5pc2hMb2FkaW5nKHVpbnQ2NF90IHJlcXVlc3RJRCkgPSAwOworCisgICAg
Ly8vIFRlbGxzIHRoZSBwbHVnLWluIHRoYXQgYSBmcmFtZSBsb2FkIHJlcXVlc3QgdGhhdCB0aGUg
cGx1Zy1pbiBtYWRlIGJ5IGNhbGxpbmcgUGx1Z2luQ29udHJvbGxlcjo6bG9hZFVSTCBoYXMgZmFp
bGVkLgorICAgIHZpcnR1YWwgdm9pZCBmcmFtZURpZEZhaWwodWludDY0X3QgcmVxdWVzdElELCBi
b29sIHdhc0NhbmNlbGxlZCkgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgUGx1Z2luKCk7CiB9Owpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5o
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5oCmluZGV4IDdl
ZGVkNWY2NmQyMWZmMTg0NWE2ZTYyNTQ3MTJiNWY1ZDFlZjBmYWMuLjYyNWJkZGJjNjUyYmVkYzhl
YTU1Mzg0YzA2YjRkYWFiOGQ2NDkyNTEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Db250cm9sbGVyLmgKQEAgLTQyLDYgKzQyLDEzIEBAIHB1YmxpYzoKICAgICAvLyBS
ZXR1cm5zIHRoZSB1c2VyIGFnZW50IHN0cmluZyBmb3IgdGhlIGdpdmVuIFVSTC4KICAgICB2aXJ0
dWFsIFdlYkNvcmU6OlN0cmluZyB1c2VyQWdlbnQoY29uc3QgV2ViQ29yZTo6S1VSTCYpID0gMDsK
IAorICAgIC8vIExvYWRzIHRoZSBnaXZlbiBVUkwgYW5kIGFzc29jaWF0ZXMgaXQgd2l0aCB0aGUg
cmVxdWVzdCBJRC4KKyAgICAvLyAKKyAgICAvLyBJZiBhIHRhcmdldCBpcyBzcGVjaWZpZWQsIHRo
ZW4gdGhlIFVSTCB3aWxsIGJlIGxvYWRlZCBpbiB0aGUgd2luZG93IG9yIGZyYW1lIHRoYXQgdGhl
IHRhcmdldCByZWZlcnMgdG8uCisgICAgLy8gT25jZSB0aGUgVVJMIGZpbmlzaGVzIGxvYWRpbmcs
IFBsdWdpbjo6ZnJhbWVEaWRGaW5pc2hMb2FkaW5nIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGdp
dmVuIHJlcXVlc3RJRC4gSWYgdGhlIFVSTAorICAgIC8vIGZhaWxzIHRvIGxvYWQsIFBsdWdpbjo6
ZnJhbWVEaWRGYWlsVG9Mb2FkIHdpbGwgYmUgY2FsbGVkLgorICAgIHZpcnR1YWwgdm9pZCBsb2Fk
VVJMKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiB1cmxTdHJpbmcs
IGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgdGFyZ2V0LCBib29sIGFsbG93UG9wdXBzKSA9IDA7Cisg
ICAgCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+UGx1Z2luQ29udHJvbGxlcigpIHsgfQogfTsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMjkyMWE0Njg0
NDczN2NlMTJiYjBiZTk4ZjYxYzZiZjY4Y2ExYTM1ZC4uZDA5YTkyMTI5MWIxZjUxN2JiMWIwNDY0
MTQyYjYxMTNkYjAyMWU2NyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAKICNpbmNs
dWRlICJQbHVnaW4uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZVZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgpAQCAtMzgs
MTIgKzM5LDM4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAorY2xhc3MgUGx1Z2luVmlldzo6VVJMUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFVS
TFJlcXVlc3Q+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbHVnaW5WaWV3OjpV
UkxSZXF1ZXN0PiBjcmVhdGUodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0JiByZXF1ZXN0LCBib29sIGFsbG93UG9wdXBzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBVUkxSZXF1ZXN0KHJlcXVlc3RJRCwgcmVxdWVzdCwgYWxsb3dQb3B1cHMpKTsK
KyAgICB9CisKKyAgICB1aW50NjRfdCByZXF1ZXN0SUQoKSBjb25zdCB7IHJldHVybiBtX3JlcXVl
c3RJRDsgfQorICAgIGNvbnN0IFN0cmluZyYgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1
ZXN0LmZyYW1lTmFtZSgpOyB9CisgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0ICYgcmVxdWVzdCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKTsgfQorICAgIGJvb2wg
YWxsb3dQb3B1cHMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93UG9wdXBzOyB9CisKK3ByaXZhdGU6
CisgICAgVVJMUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IEZyYW1lTG9hZFJlcXVl
c3QmIHJlcXVlc3QsIGJvb2wgYWxsb3dQb3B1cHMpCisgICAgICAgIDogbV9yZXF1ZXN0SUQocmVx
dWVzdElEKQorICAgICAgICAsIG1fcmVxdWVzdChyZXF1ZXN0KQorICAgICAgICAsIG1fYWxsb3dQ
b3B1cHMoYWxsb3dQb3B1cHMpCisgICAgeworICAgIH0KKyAgICAKKyAgICB1aW50NjRfdCBtX3Jl
cXVlc3RJRDsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IG1fcmVxdWVzdDsKKyAgICBib29sIG1fYWxs
b3dQb3B1cHM7Cit9OworCiBQbHVnaW5WaWV3OjpQbHVnaW5WaWV3KFdlYkNvcmU6OkhUTUxQbHVn
SW5FbGVtZW50KiBwbHVnaW5FbGVtZW50LCBQYXNzUmVmUHRyPFBsdWdpbj4gcGx1Z2luLCBjb25z
dCBQbHVnaW46OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgOiBtX3BsdWdpbkVsZW1lbnQo
cGx1Z2luRWxlbWVudCkKICAgICAsIG1fcGx1Z2luKHBsdWdpbikKICAgICAsIG1fcGFyYW1ldGVy
cyhwYXJhbWV0ZXJzKQogICAgICwgbV9pc0luaXRpYWxpemVkKGZhbHNlKQogICAgICwgbV9pc1dh
aXRpbmdVbnRpbE1lZGlhQ2FuU3RhcnQoZmFsc2UpCisgICAgLCBtX3BlbmRpbmdVUkxSZXF1ZXN0
c1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1
ZXN0c1RpbWVyRmlyZWQpCiB7CiB9CiAKQEAgLTUyLDYgKzc5LDEwIEBAIFBsdWdpblZpZXc6On5Q
bHVnaW5WaWV3KCkKICAgICBpZiAobV9pc1dhaXRpbmdVbnRpbE1lZGlhQ2FuU3RhcnQpCiAgICAg
ICAgIG1fcGx1Z2luRWxlbWVudC0+ZG9jdW1lbnQoKS0+cmVtb3ZlTWVkaWFDYW5TdGFydExpc3Rl
bmVyKHRoaXMpOwogCisgICAgRnJhbWVMb2FkTWFwOjppdGVyYXRvciBlbmQgPSBtX3BlbmRpbmdG
cmFtZUxvYWRzLmVuZCgpOworICAgIGZvciAoRnJhbWVMb2FkTWFwOjppdGVyYXRvciBpdCA9IG1f
cGVuZGluZ0ZyYW1lTG9hZHMuYmVnaW4oKSwgZW5kID0gbV9wZW5kaW5nRnJhbWVMb2Fkcy5lbmQo
KTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBpdC0+Zmlyc3QtPnNldExvYWRMaXN0ZW5lcigw
KTsKKyAgICAKICAgICBpZiAobV9wbHVnaW4gJiYgbV9pc0luaXRpYWxpemVkKQogICAgICAgICBt
X3BsdWdpbi0+ZGVzdHJveSgpOwogfQpAQCAtMTYwLDYgKzE5MSw1OSBAQCBJbnRSZWN0IFBsdWdp
blZpZXc6OmNsaXBSZWN0SW5XaW5kb3dDb29yZGluYXRlcygpIGNvbnN0CiAgICAgcmV0dXJuIGlu
dGVyc2VjdGlvbihmcmFtZVJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCB3aW5kb3dDbGlwUmVjdCk7
CiB9CiAKK3ZvaWQgUGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCgpCit7
CisgICAgQVNTRVJUKCFtX3BlbmRpbmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkpOworICAgIAorICAg
IFJlZlB0cjxVUkxSZXF1ZXN0PiB1cmxSZXF1ZXN0ID0gbV9wZW5kaW5nVVJMUmVxdWVzdHMudGFr
ZUZpcnN0KCk7CisKKyAgICAvLyBJZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBwZXJmb3Jt
LCByZXNjaGVkdWxlIHRoZSB0aW1lci4KKyAgICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVlc3RzLmlz
RW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgCisgICAgcGVyZm9ybVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7Cit9Cisg
ICAgCit2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1VUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVl
c3QpCit7CisgICAgaWYgKCFyZXF1ZXN0LT50YXJnZXQoKS5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIHBlcmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KHJlcXVlc3QpOworfQorCit2b2lkIFBsdWdp
blZpZXc6OnBlcmZvcm1GcmFtZUxvYWRVUkxSZXF1ZXN0KFVSTFJlcXVlc3QqIHJlcXVlc3QpCit7
CisgICAgQVNTRVJUKCFyZXF1ZXN0LT50YXJnZXQoKS5pc051bGwoKSk7CisKKyAgICBGcmFtZSog
ZnJhbWUgPSBtX3BsdWdpbkVsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRmlyc3QsIHRyeSB0byBmaW5kIGEgdGFy
Z2V0IGZyYW1lLgorICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGZyYW1lLT5sb2FkZXIoKS0+Zmlu
ZEZyYW1lRm9yTmF2aWdhdGlvbihyZXF1ZXN0LT50YXJnZXQoKSk7CisgICAgaWYgKCF0YXJnZXRG
cmFtZSkgeworICAgICAgICAvLyBXZSBkaWQgbm90IGZpbmQgYSB0YXJnZXQgZnJhbWUuIEFzayBv
dXIgZnJhbWUgdG8gbG9hZCB0aGUgcGFnZS4gVGhpcyBtYXkgb3IgbWF5IG5vdCBjcmVhdGUgYSBw
b3B1cCB3aW5kb3cuCisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+bG9hZChyZXF1ZXN0LT5yZXF1
ZXN0KCksIHJlcXVlc3QtPnRhcmdldCgpLCBmYWxzZSk7CisKKyAgICAgICAgLy8gRklYTUU6IFdl
IGRvbid0IGtub3cgd2hldGhlciB0aGUgd2luZG93IHdhcyBzdWNjZXNzZnVsbHkgY3JlYXRlZCBo
ZXJlIHNvIHdlIGp1c3QgYXNzdW1lIHRoYXQgaXQgd29ya2VkLgorICAgICAgICAvLyBJdCdzIGJl
dHRlciB0aGFuIG5vdCB0ZWxsaW5nIHRoZSBwbHVnLWluIGFueXRoaW5nLgorICAgICAgICBtX3Bs
dWdpbi0+ZnJhbWVEaWRGaW5pc2hMb2FkaW5nKHJlcXVlc3QtPnJlcXVlc3RJRCgpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIE5vdyBhc2sgdGhlIGZyYW1lIHRvIGxvYWQgdGhl
IHJlcXVlc3QuCisgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLT5sb2FkKHJlcXVlc3QtPnJlcXVl
c3QoKSwgZmFsc2UpOworCisgICAgV2ViRnJhbWUqIHRhcmdldFdlYkZyYW1lID0gc3RhdGljX2Nh
c3Q8V2ViRnJhbWVMb2FkZXJDbGllbnQqPih0YXJnZXRGcmFtZS0+bG9hZGVyKCktPmNsaWVudCgp
KS0+d2ViRnJhbWUoKTsKKyAgICBpZiAoV2ViRnJhbWU6OkxvYWRMaXN0ZW5lciogbG9hZExpc3Rl
bmVyID0gdGFyZ2V0V2ViRnJhbWUtPmxvYWRMaXN0ZW5lcigpKSB7CisgICAgICAgIC8vIENoZWNr
IGlmIGFub3RoZXIgcGx1Zy1pbiB2aWV3IG9yIGV2ZW4gdGhpcyB2aWV3IGlzIHdhaXRpbmcgZm9y
IHRoZSBmcmFtZSB0byBsb2FkLgorICAgICAgICAvLyBJZiBpdCBpcywgdGVsbCBpdCB0aGF0IHRo
ZSBsb2FkIHdhcyBjYW5jZWxsZWQgYmVjYXVzZSBpdCB3aWxsIGJlIGFueXdheS4KKyAgICAgICAg
bG9hZExpc3RlbmVyLT5kaWRGYWlsTG9hZCh0YXJnZXRXZWJGcmFtZSwgdHJ1ZSk7CisgICAgfQor
ICAgIAorICAgIG1fcGVuZGluZ0ZyYW1lTG9hZHMuc2V0KHRhcmdldFdlYkZyYW1lLCByZXF1ZXN0
KTsKKyAgICB0YXJnZXRXZWJGcmFtZS0+c2V0TG9hZExpc3RlbmVyKHRoaXMpOworfQorCiB2b2lk
IFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKIHsK
ICAgICBpZiAoIXBhcmVudCgpIHx8ICFtX3BsdWdpbiB8fCAhbV9pc0luaXRpYWxpemVkKQpAQCAt
MTkyLDQgKzI3NiwzMyBAQCBTdHJpbmcgUGx1Z2luVmlldzo6dXNlckFnZW50KGNvbnN0IEtVUkwm
IHVybCkKICAgICByZXR1cm4gZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dXNlckFnZW50KHVy
bCk7CiB9CiAKK3ZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgYm9vbCBhbGxvd1Bv
cHVwcykKK3sKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3Q7CisgICAgZnJh
bWVMb2FkUmVxdWVzdC5zZXRGcmFtZU5hbWUodGFyZ2V0KTsKKyAgICBmcmFtZUxvYWRSZXF1ZXN0
LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBNZXRob2QoIkdFVCIpOworICAgIGZyYW1lTG9hZFJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0VVJMKG1fcGx1Z2luRWxlbWVudC0+ZG9jdW1lbnQo
KS0+Y29tcGxldGVVUkwodXJsU3RyaW5nKSk7CisgICAgCisgICAgbV9wZW5kaW5nVVJMUmVxdWVz
dHMuYXBwZW5kKFVSTFJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIGZyYW1lTG9hZFJlcXVlc3Qs
IGFsbG93UG9wdXBzKSk7CisgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNo
b3QoMCk7Cit9CisKK3ZvaWQgUGx1Z2luVmlldzo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSogd2Vi
RnJhbWUpCit7CisgICAgUmVmUHRyPFVSTFJlcXVlc3Q+IHJlcXVlc3QgPSBtX3BlbmRpbmdGcmFt
ZUxvYWRzLnRha2Uod2ViRnJhbWUpOworICAgIEFTU0VSVChyZXF1ZXN0KTsKKyAgICB3ZWJGcmFt
ZS0+c2V0TG9hZExpc3RlbmVyKDApOworCisgICAgbV9wbHVnaW4tPmZyYW1lRGlkRmluaXNoTG9h
ZGluZyhyZXF1ZXN0LT5yZXF1ZXN0SUQoKSk7Cit9CisKK3ZvaWQgUGx1Z2luVmlldzo6ZGlkRmFp
bExvYWQoV2ViRnJhbWUqIHdlYkZyYW1lLCBib29sIHdhc0NhbmNlbGxlZCkKK3sKKyAgICBSZWZQ
dHI8VVJMUmVxdWVzdD4gcmVxdWVzdCA9IG1fcGVuZGluZ0ZyYW1lTG9hZHMudGFrZSh3ZWJGcmFt
ZSk7CisgICAgQVNTRVJUKHJlcXVlc3QpOworICAgIHdlYkZyYW1lLT5zZXRMb2FkTGlzdGVuZXIo
MCk7CisgICAgCisgICAgbV9wbHVnaW4tPmZyYW1lRGlkRmFpbChyZXF1ZXN0LT5yZXF1ZXN0SUQo
KSwgd2FzQ2FuY2VsbGVkKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggNDJhYWRkYWQwZmNmNjY3YTEzZjQyNGYz
Y2U1OTg5YTAyYmFiN2M0Ny4uYTY4ZDc5MzY0ZTY1Y2Y0N2M5N2ViNmM4NWRlNDViZjdjNGI2NDIw
MCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtMjgsOSArMjgs
MTIgQEAKIAogI2luY2x1ZGUgIlBsdWdpbi5oIgogI2luY2x1ZGUgIlBsdWdpbkNvbnRyb2xsZXIu
aCIKKyNpbmNsdWRlICJSdW5Mb29wLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKIAogI2luY2x1
ZGUgPFdlYkNvcmUvTWVkaWFDYW5TdGFydExpc3RlbmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9X
aWRnZXQuaD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAogLy8gRklYTUU6IEV2ZW50dWFsbHkg
dGhpcyBzaG91bGQgbW92ZSB0byBXZWJDb3JlLgogCkBAIC00MCw3ICs0Myw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFBsdWdpblZpZXcgOiBw
dWJsaWMgV2ViQ29yZTo6V2lkZ2V0LCBXZWJDb3JlOjpNZWRpYUNhblN0YXJ0TGlzdGVuZXIsIFBs
dWdpbkNvbnRyb2xsZXIgeworY2xhc3MgUGx1Z2luVmlldyA6IHB1YmxpYyBXZWJDb3JlOjpXaWRn
ZXQsIFdlYkNvcmU6Ok1lZGlhQ2FuU3RhcnRMaXN0ZW5lciwgUGx1Z2luQ29udHJvbGxlciwgV2Vi
RnJhbWU6OkxvYWRMaXN0ZW5lciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UGx1
Z2luVmlldz4gY3JlYXRlKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBwbHVnaW5FbGVtZW50
LCBQYXNzUmVmUHRyPFBsdWdpbj4gcGx1Z2luLCBjb25zdCBQbHVnaW46OlBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCiAgICAgewpAQCAtNTcsNiArNjAsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIHZp
ZXdHZW9tZXRyeURpZENoYW5nZSgpOwogICAgIFdlYkNvcmU6OkludFJlY3QgY2xpcFJlY3RJbldp
bmRvd0Nvb3JkaW5hdGVzKCkgY29uc3Q7CiAKKyAgICB2b2lkIHBlbmRpbmdVUkxSZXF1ZXN0c1Rp
bWVyRmlyZWQoKTsKKyAgICBjbGFzcyBVUkxSZXF1ZXN0OworICAgIHZvaWQgcGVyZm9ybVVSTFJl
cXVlc3QoVVJMUmVxdWVzdCopOworCisgICAgLy8gUGVyZm9ybSBhbiBVUkwgcmVxdWVzdCB3aGVy
ZSB0aGUgZnJhbWUgdGFyZ2V0IGlzIG5vdCBudWxsLgorICAgIHZvaWQgcGVyZm9ybUZyYW1lTG9h
ZFVSTFJlcXVlc3QoVVJMUmVxdWVzdCopOworCiAgICAgLy8gV2ViQ29yZTo6V2lkZ2V0CiAgICAg
dmlydHVhbCB2b2lkIHNldEZyYW1lUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAg
dmlydHVhbCB2b2lkIHBhaW50KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKTsKQEAgLTcwLDYgKzgwLDExIEBAIHByaXZhdGU6CiAgICAgLy8gUGx1Z2lu
Q29udHJvbGxlcgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyB1c2VyQWdlbnQoY29uc3QgV2Vi
Q29yZTo6S1VSTCYpOworICAgIHZpcnR1YWwgdm9pZCBsb2FkVVJMKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFdlYkNvcmU6OlN0cmlu
ZyYgdGFyZ2V0LCBib29sIGFsbG93UG9wdXBzKTsKKworICAgIC8vIFdlYkZyYW1lOjpMb2FkTGlz
dGVuZXIKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZChXZWJGcmFtZSopOworICAgIHZp
cnR1YWwgdm9pZCBkaWRGYWlsTG9hZChXZWJGcmFtZSosIGJvb2wgd2FzQ2FuY2VsbGVkKTsKIAog
ICAgIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBtX3BsdWdpbkVsZW1lbnQ7CiAgICAgUmVm
UHRyPFBsdWdpbj4gbV9wbHVnaW47CkBAIC03Nyw2ICs5MiwxNSBAQCBwcml2YXRlOgogICAgIAog
ICAgIGJvb2wgbV9pc0luaXRpYWxpemVkOwogICAgIGJvb2wgbV9pc1dhaXRpbmdVbnRpbE1lZGlh
Q2FuU3RhcnQ7CisKKyAgICAvLyBQZW5kaW5nIFVSTFJlcXVlc3RzIHRoYXQgdGhlIHBsdWctaW4g
aGFzIG1hZGUuCisgICAgRGVxdWU8UmVmUHRyPFVSTFJlcXVlc3Q+ID4gbV9wZW5kaW5nVVJMUmVx
dWVzdHM7CisgICAgUnVuTG9vcDo6VGltZXI8UGx1Z2luVmlldz4gbV9wZW5kaW5nVVJMUmVxdWVz
dHNUaW1lcjsKKworICAgIC8vIFBlbmRpbmcgZnJhbWUgbG9hZHMgdGhhdCB0aGUgcGx1Zy1pbiBo
YXMgbWFkZS4KKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFdlYkZyYW1lPiwgUmVmUHRyPFVS
TFJlcXVlc3Q+ID4gRnJhbWVMb2FkTWFwOworICAgIEZyYW1lTG9hZE1hcCBtX3BlbmRpbmdGcmFt
ZUxvYWRzOworCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CmluZGV4IDk4MDk5MjI3OTc3MmFmMjBkNDE2ZWIyNjA0ZGY5ZWViZTY1YWNkOWQuLjFkMWYzM2Ni
ZDU1MjliMjcxNTE0MDMxZjIxZGRkOTQzMzUxMTM5NWEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApA
QCAtMjgyLDcgKzI4Miw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlk
Q29tbWl0TG9hZCgpCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5k
KFdlYlBhZ2VQcm94eU1lc3NhZ2U6OkRpZENvbW1pdExvYWRGb3JGcmFtZSwgd2ViUGFnZS0+cGFn
ZUlEKCksIENvcmVJUEM6OkluKG1fZnJhbWUtPmZyYW1lSUQoKSkpOwogfQogCi12b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgUmVz
b3VyY2VFcnJvciYpCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxQ
cm92aXNpb25hbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAgV2ViUGFn
ZSogd2ViUGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKICAgICBpZiAoIXdlYlBhZ2UpCkBAIC0yOTMs
OSArMjkzLDEzIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZChjb25zdCBSZXNvdXJjZUVycm9yJikKIAogICAgIC8vIE5vdGlmeSB0aGUg
VUlQcm9jZXNzLgogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChX
ZWJQYWdlUHJveHlNZXNzYWdlOjpEaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUsIHdlYlBh
Z2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbihtX2ZyYW1lLT5mcmFtZUlEKCkpKTsKKyAgICAKKyAg
ICAvLyBJZiB3ZSBoYXZlIGEgbG9hZCBsaXN0ZW5lciwgbm90aWZ5IGl0LgorICAgIGlmIChXZWJG
cmFtZTo6TG9hZExpc3RlbmVyKiBsb2FkTGlzdGVuZXIgPSBtX2ZyYW1lLT5sb2FkTGlzdGVuZXIo
KSkKKyAgICAgICAgbG9hZExpc3RlbmVyLT5kaWRGYWlsTG9hZChtX2ZyYW1lLCBlcnJvci5pc0Nh
bmNlbGxhdGlvbigpKTsKIH0KIAotdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRGYWlsTG9hZChjb25zdCBSZXNvdXJjZUVycm9yJikKK3ZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGlkRmFpbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAg
ICAgV2ViUGFnZSogd2ViUGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKICAgICBpZiAoIXdlYlBhZ2Up
CkBAIC0zMDYsNiArMzEwLDEwIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
RGlkRmFpbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYpCiAKICAgICAvLyBOb3RpZnkgdGhlIFVJ
UHJvY2Vzcy4KICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoV2Vi
UGFnZVByb3h5TWVzc2FnZTo6RGlkRmFpbExvYWRGb3JGcmFtZSwgd2ViUGFnZS0+cGFnZUlEKCks
IENvcmVJUEM6OkluKG1fZnJhbWUtPmZyYW1lSUQoKSkpOworCisgICAgLy8gSWYgd2UgaGF2ZSBh
IGxvYWQgbGlzdGVuZXIsIG5vdGlmeSBpdC4KKyAgICBpZiAoV2ViRnJhbWU6OkxvYWRMaXN0ZW5l
ciogbG9hZExpc3RlbmVyID0gbV9mcmFtZS0+bG9hZExpc3RlbmVyKCkpCisgICAgICAgIGxvYWRM
aXN0ZW5lci0+ZGlkRmFpbExvYWQobV9mcmFtZSwgZXJyb3IuaXNDYW5jZWxsYXRpb24oKSk7CiB9
CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRM
b2FkKCkKQEAgLTMyNCw2ICszMzIsMTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEaWRGaW5pc2hMb2FkKCkKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgogICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChXZWJQYWdlUHJveHlNZXNz
YWdlOjpEaWRGaW5pc2hMb2FkRm9yRnJhbWUsIHdlYlBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJ
bihtX2ZyYW1lLT5mcmFtZUlEKCkpKTsKKworICAgIC8vIElmIHdlIGhhdmUgYSBsb2FkIGxpc3Rl
bmVyLCBub3RpZnkgaXQuCisgICAgaWYgKFdlYkZyYW1lOjpMb2FkTGlzdGVuZXIqIGxvYWRMaXN0
ZW5lciA9IG1fZnJhbWUtPmxvYWRMaXN0ZW5lcigpKQorICAgICAgICBsb2FkTGlzdGVuZXItPmRp
ZEZpbmlzaExvYWQobV9mcmFtZSk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGlkRmlyc3RMYXlvdXQoKQpAQCAtNjg2LDcgKzY5OCw5IEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQoKQogCiB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaWRGaW5pc2hMb2FkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IC8vIElmIHdlIGhhdmUgYSBsb2FkIGxpc3RlbmVyLCBub3RpZnkgaXQuCisgICAgaWYgKFdlYkZy
YW1lOjpMb2FkTGlzdGVuZXIqIGxvYWRMaXN0ZW5lciA9IG1fZnJhbWUtPmxvYWRMaXN0ZW5lcigp
KQorICAgICAgICBsb2FkTGlzdGVuZXItPmRpZEZpbmlzaExvYWQobV9mcmFtZSk7CiB9CiAKIHZv
aWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnByZXBhcmVGb3JEYXRhU291cmNlUmVwbGFjZW1lbnQo
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmluZGV4IGVhMWM3YmZjYTM1
MDgzZDM1M2ExMWFjNDQ3ODFjN2ZkMjViZjdhMTMuLjA5ZTc3NDNjOTFiYjY2ZWI4NDc5ZTI5YWFl
OTUzNzk2ZDU4NGNlNjkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkZyYW1lLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAK
QEAgLTgxLDYgKzgxLDcgQEAgV2ViRnJhbWU6OldlYkZyYW1lKFdlYlBhZ2UqIHBhZ2UsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQKICAgICAsIG1fcG9saWN5
TGlzdGVuZXJJRCgwKQogICAgICwgbV9wb2xpY3lGdW5jdGlvbigwKQogICAgICwgbV9mcmFtZUxv
YWRlckNsaWVudCh0aGlzKQorICAgICwgbV9sb2FkTGlzdGVuZXIoMCkKICAgICAsIG1fZnJhbWVJ
RChnZW5lcmF0ZUZyYW1lSUQoKSkKIHsKICAgICBtX3BhZ2UtPmFkZFdlYkZyYW1lKG1fZnJhbWVJ
RCwgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFt
ZS5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaAppbmRleCAyZWE0MzBi
NmZlN2U5MTNhZDdlZTNlODkzZjkwMDdmNWM5NmNmYzJiLi4yZDY1YmU1NzRkMmI2NzYxNjlmYzhj
MjQwZWVkNDQzYTdlMDcwNGY5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJGcmFtZS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmgK
QEAgLTcxLDcgKzcxLDE4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIG51bWJlck9mQWN0aXZl
QW5pbWF0aW9ucygpOwogICAgIGJvb2wgcGF1c2VBbmltYXRpb25PbkVsZW1lbnRXaXRoSWQoY29u
c3QgV2ViQ29yZTo6U3RyaW5nJiBhbmltYXRpb25OYW1lLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcm
IGVsZW1lbnRJRCwgZG91YmxlIHRpbWUpOwotICAgIAorCisgICAgLy8gU2ltcGxlIGxpc3RlbmVy
IGNsYXNzIHVzZWQgYnkgcGx1Zy1pbnMgdG8ga25vdyB3aGVuIGZyYW1lcyBmaW5pc2ggb3IgZmFp
bCBsb2FkaW5nLgorICAgIGNsYXNzIExvYWRMaXN0ZW5lciB7CisgICAgcHVibGljOgorICAgICAg
ICB2aXJ0dWFsIH5Mb2FkTGlzdGVuZXIoKSB7IH0KKworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoTG9hZChXZWJGcmFtZSopID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxM
b2FkKFdlYkZyYW1lKiwgYm9vbCB3YXNDYW5jZWxsZWQpID0gMDsKKyAgICB9OworICAgIHZvaWQg
c2V0TG9hZExpc3RlbmVyKExvYWRMaXN0ZW5lciogbG9hZExpc3RlbmVyKSB7IG1fbG9hZExpc3Rl
bmVyID0gbG9hZExpc3RlbmVyOyB9CisgICAgTG9hZExpc3RlbmVyKiBsb2FkTGlzdGVuZXIoKSBj
b25zdCB7IHJldHVybiBtX2xvYWRMaXN0ZW5lcjsgfQorCiBwcml2YXRlOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkZyYW1lPiBjcmVhdGUoV2ViUGFnZSosIGNvbnN0IFdlYkNvcmU6OlN0cmlu
ZyYgZnJhbWVOYW1lLCBXZWJDb3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQqKTsKICAgICBXZWJG
cmFtZShXZWJQYWdlKiwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBmcmFtZU5hbWUsIFdlYkNvcmU6
OkhUTUxGcmFtZU93bmVyRWxlbWVudCopOwpAQCAtODMsNyArOTQsOCBAQCBwcml2YXRlOgogICAg
IFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24gbV9wb2xpY3lGdW5jdGlvbjsKIAogICAgIFdl
YkZyYW1lTG9hZGVyQ2xpZW50IG1fZnJhbWVMb2FkZXJDbGllbnQ7Ci0KKyAgICBMb2FkTGlzdGVu
ZXIqIG1fbG9hZExpc3RlbmVyOworICAgIAogICAgIHVpbnQ2NF90IG1fZnJhbWVJRDsKIH07CiAK
</data>
<flag name="review"
          id="49434"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>