<?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>45945</bug_id>
          
          <creation_ts>2010-09-16 21:38:30 -0700</creation_ts>
          <short_desc>[DRT/Chromium] Fix a WebSettings handling bug</short_desc>
          <delta_ts>2010-09-19 14:20:44 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</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="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>mihaip</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280530</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-16 21:38:30 -0700</bug_when>
    <thetext>[DRT/Chromium] Fix a WebSettings handling bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280533</commentid>
    <comment_count>1</comment_count>
      <attachid>67882</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-16 21:44:54 -0700</bug_when>
    <thetext>Created attachment 67882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280570</commentid>
    <comment_count>2</comment_count>
      <attachid>67882</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-17 01:18:28 -0700</bug_when>
    <thetext>Comment on attachment 67882
Patch

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

Nice.  Thanks.

&gt; LayoutTests/platform/chromium/drt_expectations.txt:90
&gt; +// The first didFinishDocumentLoadForFrame line is for the previous test document.

This seems like an unrelated change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281266</commentid>
    <comment_count>3</comment_count>
      <attachid>67882</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-19 05:56:01 -0700</bug_when>
    <thetext>Comment on attachment 67882
Patch

Clearing flags on attachment: 67882

Committed r67809: &lt;http://trac.webkit.org/changeset/67809&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281267</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-19 05:56:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281317</commentid>
    <comment_count>5</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-19 14:20:44 -0700</bug_when>
    <thetext>*** Bug 46055 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67882</attachid>
            <date>2010-09-16 21:44:54 -0700</date>
            <delta_ts>2010-09-19 05:56:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45945-20100917134452.patch</filename>
            <type>text/plain</type>
            <size>34191</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZWY2YTJhNjU4ZTVhNzRiYjMxZjIwNTQyMjA3ODIyYzczZTg0MDRlLi5mNGIxNzYw
MDE2M2NhNDg0YjU0YmFiNmM5M2YxMjdkMGYwYzAzYmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMTYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtEUlQvQ2hyb21pdW1dIEZp
eCBhIFdlYlNldHRpbmdzIGhhbmRsaW5nIGJ1ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU5NDUKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2RydF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAgUmVtb3ZlIGxpbmstb3BlbnMtbmV3LXdp
bmRvdy5odG1sLCB3aGljaCBpcyBmaXhlZCBieSB0aGlzIHJldmlzaW9uLgorCiAyMDEwLTA5LTE2
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEphbWVzIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vZHJ0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAppbmRleCA5YjcyYmZjMGZiN2JlMjcwMjgyODYzODJi
MDg1MjFlYjIzMzU2NzEyLi44MzlhNjhlZGI3MmU0YmYzMDlhNjI0YjBkYTBjNGFmOTRjMzlkMzBl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRp
b25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRp
b25zLnR4dApAQCAtODcsNiArODcsNyBAQCBCVUdfRFJUIE1BQyA6IGZhc3QvYmFja2dyb3VuZHMv
c29saWQtY29sb3ItY29udGV4dC1yZXN0b3JlLmh0bWwgPSBJTUFHRQogQlVHX0RSVCBNQUMgOiBm
YXN0L3JlZmxlY3Rpb25zL2lubGluZS1jcmFzaC5odG1sID0gSU1BR0UKIAogLy8gRXh0cmEgZGlk
RmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUgbGluZS4KKy8vIFRoZSBmaXJzdCBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZSBsaW5lIGlzIGZvciB0aGUgcHJldmlvdXMgdGVzdCBkb2N1bWVu
dC4KIEJVR19EUlQgV0lOIE1BQyBMSU5VWCA6IGh0dHAvdGVzdHMvbG9hZGluZy9wcmVsb2FkLWlt
Zy10ZXN0Lmh0bWwgPSBURVhUCiAKIC8vIEZvbnQgYW50aS1hbGlhc2luZyBpc3N1ZQpAQCAtOTks
NyArMTAwLDYgQEAgQlVHX0RSVCBMSU5VWCA6IHN2Zy9iYXRpay90ZXh0L3ZlcnRpY2FsVGV4dC5z
dmcgPSBJTUFHRStURVhUCiAKIC8vIE1pc2MuCiBCVUdfRFJUIFdJTiBNQUMgTElOVVggOiBmYXN0
L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QuaHRtbCA9IElNQUdFK1RFWFQK
LUJVR19EUlQgV0lOIE1BQyBMSU5VWCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9s
aW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbCA9IFRFWFQKIEJVR19EUlQgV0lOIE1BQyBMSU5VWCA6
IHN0b3JhZ2UvZG9tc3RvcmFnZS9xdW90YS5odG1sID0gVEVYVAogQlVHX0RSVCBXSU4gTUFDIExJ
TlVYIDogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwgPSBURVhUCiBC
VUdfRFJUIFdJTiBNQUMgTElOVVggOiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC10b3AtZnJhbWUt
b25seS5odG1sID0gVEVYVApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdkZGQ1MDU0ZDMzZDg2NWZjNzhkNGQxZDAwOThmYWZi
NTkxNDQ0YjEuLjQ3OTY5Y2EzNzZmZjQyOWYzNTgxYzJhZjJkM2Q0MzQ0MzI4NTA2YTkgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MSBAQAorMjAxMC0wOS0xNiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0RSVC9DaHJvbWl1bV0gRml4IGEgV2ViU2V0dGluZ3MgaGFuZGxpbmcgYnVnCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTk0NQorCisgICAgICAgIEJl
Zm9yZSB0aGlzIGNoYW5nZSwgQ2hyb21pdW0gRFJUIHJlc2V0IFdlYlNldHRpbmdzIGZvciBldmVy
eSBuZXcKKyAgICAgICAgd2luZG93LiBJdCB3YXMgd3JvbmcuCisgICAgICAgIElmIG5ldyB3aW5k
b3cgaXMgbm90IHRoZSBmaXJzdCBvbmUsIHdlIGhhdmUgdG8gYXBwbHkgdGhlIHNhbWUKKyAgICAg
ICAgc2V0dGluZ3MgYXMgdGhlIGZpcnN0IHdpbmRvdy4gIFNvLCB3ZSBpbnRyb2R1Y2UgV2ViUHJl
ZmVyZW5jZSB0bworICAgICAgICBzdG9yZSB0aGUgY3VycmVudCBzZXR0aW5ncywgYW5kIGFwcGx5
IGl0IHRvIG5ldyB3aW5kb3dzLiBJdCdzIHNhbWUKKyAgICAgICAgYXMgdGVzdF9zaGVsbCdzIGJl
aGF2aW9yLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgICAgVXNlIFdlYlByZWZlcmVuY2VzIGluc3RlYWQgb2YgV2ViU2V0dGluZ3Mu
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VXNlclN0eWxlU2hlZXRFbmFibGVk
KToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0
aW9uKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBdXRob3JBbmRVc2VyU3R5
bGVzRW5hYmxlZCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0UG9wdXBCbG9j
a2luZ0VuYWJsZWQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRpc2FibGVJbWFn
ZUxvYWRpbmcpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBbGxv
d1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKToKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEVkaXRpbmdCZWhhdmlvcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVzZXRXZWJTZXR0
aW5ncyk6IFVzZSBXZWJQcmVmZXJlbmNlcy4KKyAgICAgICAgKFRlc3RTaGVsbDo6cnVuRmlsZVRl
c3QpOiBkaXR0by4KKyAgICAgICAgKFRlc3RTaGVsbDo6Y3JlYXRlTmV3V2luZG93KTogQXBwbHkg
ZXhpc3RpbmcgV2ViUHJlZmVyZW5jZXMgdG8gYSBuZXcgV2ViVmlldy4KKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6cHJl
ZmVyZW5jZXMpOgorICAgICAgICAoVGVzdFNoZWxsOjphcHBseVByZWZlcmVuY2VzKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHA6IEFkZGVkLgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmg6IEFkZGVk
LgorCiAyMDEwLTA5LTE2ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cGkgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCmluZGV4IGIzOWZkMmFmYTQ4ZmYwNDUxODY2
Y2YyMjZiYzczYWFlMTE0YjNjNjAuLjU4Y2NhYWU0YzZlMTJjYzEwZjJjMTcyMzljYWZlMzQ3YjA5
NDFhYzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLmd5cGkKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
Z3lwaQpAQCAtMzksNiArMzksOCBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL1Rlc3RTaGVsbFdp
bi5jcHAnLAogICAgICAgICAgICAgJ2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwJywK
ICAgICAgICAgICAgICdjaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmgnLAorICAgICAgICAg
ICAgJ2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCcsCisgICAgICAgICAgICAnY2hyb21pdW0v
V2ViUHJlZmVyZW5jZXMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vV2ViVmlld0hvc3QuY3Bw
JywKICAgICAgICAgICAgICdjaHJvbWl1bS9XZWJWaWV3SG9zdC5oJywKICAgICAgICAgXSwKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA1ZDM4MTY3MTA2N2ZjYTFmNWNjNTEyZGY5YTYzZDMw
YWFjNzg3OWU2Li4yYzZjNjAwM2Y4Mzk1Nzk0YzJjODNhNzc3NTYzNzhiNWIyMWQ0NGUyIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC02MjcsOCArNjI3LDEwIEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldFdpbmRvd0lzS2V5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1l
bnRzLCBDcHBWCiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFVzZXJTdHlsZVNoZWV0
RW5hYmxlZChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVz
dWx0KQogewotICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNC
b29sKCkpCi0gICAgICAgIG1fc2hlbGwtPndlYlZpZXcoKS0+c2V0dGluZ3MoKS0+c2V0VXNlclN0
eWxlU2hlZXRMb2NhdGlvbihhcmd1bWVudHNbMF0udmFsdWUuYm9vbFZhbHVlID8gbV91c2VyU3R5
bGVTaGVldExvY2F0aW9uIDogV2ViVVJMKCkpOworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID4g
MCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKKyAgICAgICAgbV9zaGVsbC0+cHJlZmVyZW5j
ZXMoKS0+dXNlclN0eWxlU2hlZXRMb2NhdGlvbiA9IGFyZ3VtZW50c1swXS52YWx1ZS5ib29sVmFs
dWUgPyBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb24gOiBXZWJVUkwoKTsKKyAgICAgICAgbV9zaGVs
bC0+YXBwbHlQcmVmZXJlbmNlcygpOworICAgIH0KICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0K
IApAQCAtNjM3LDE1ICs2MzksMTggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VXNl
clN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3UKICAgICBpZiAo
YXJndW1lbnRzLnNpemUoKSA+IDAgJiYgYXJndW1lbnRzWzBdLmlzU3RyaW5nKCkpIHsKICAgICAg
ICAgbV91c2VyU3R5bGVTaGVldExvY2F0aW9uID0gd2Via2l0X3N1cHBvcnQ6OkxvY2FsRmlsZVRv
RGF0YVVSTCgKICAgICAgICAgICAgIHdlYmtpdF9zdXBwb3J0OjpSZXdyaXRlTGF5b3V0VGVzdHNV
UkwoYXJndW1lbnRzWzBdLnRvU3RyaW5nKCkpKTsKLSAgICAgICAgbV9zaGVsbC0+d2ViVmlldygp
LT5zZXR0aW5ncygpLT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKG1fdXNlclN0eWxlU2hlZXRM
b2NhdGlvbik7CisgICAgICAgIG1fc2hlbGwtPnByZWZlcmVuY2VzKCktPnVzZXJTdHlsZVNoZWV0
TG9jYXRpb24gPSBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb247CisgICAgICAgIG1fc2hlbGwtPmFw
cGx5UHJlZmVyZW5jZXMoKTsKICAgICB9CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7Ci0g
ICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkKLSAg
ICAgICAgbV9zaGVsbC0+d2ViVmlldygpLT5zZXR0aW5ncygpLT5zZXRBdXRob3JBbmRVc2VyU3R5
bGVzRW5hYmxlZChhcmd1bWVudHNbMF0udmFsdWUuYm9vbFZhbHVlKTsKKyAgICBpZiAoYXJndW1l
bnRzLnNpemUoKSA+IDAgJiYgYXJndW1lbnRzWzBdLmlzQm9vbCgpKSB7CisgICAgICAgIG1fc2hl
bGwtPnByZWZlcmVuY2VzKCktPmF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkID0gYXJndW1lbnRz
WzBdLnZhbHVlLmJvb2xWYWx1ZTsKKyAgICAgICAgbV9zaGVsbC0+YXBwbHlQcmVmZXJlbmNlcygp
OworICAgIH0KICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIApAQCAtNjgyLDcgKzY4Nyw4IEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lCiB7CiAgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPiAw
ICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkgewogICAgICAgICBib29sIGJsb2NrUG9wdXBzID0g
YXJndW1lbnRzWzBdLnRvQm9vbGVhbigpOwotICAgICAgICBtX3NoZWxsLT53ZWJWaWV3KCktPnNl
dHRpbmdzKCktPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoIWJsb2Nr
UG9wdXBzKTsKKyAgICAgICAgbV9zaGVsbC0+cHJlZmVyZW5jZXMoKS0+amF2YVNjcmlwdENhbk9w
ZW5XaW5kb3dzQXV0b21hdGljYWxseSA9ICFibG9ja1BvcHVwczsKKyAgICAgICAgbV9zaGVsbC0+
YXBwbHlQcmVmZXJlbmNlcygpOwogICAgIH0KICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KQEAg
LTk1NSw3ICs5NjEsOCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpyZXN1bWVBbmltYXRp
b25zKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqCiAKIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmRpc2FibGVJbWFnZUxvYWRpbmcoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIG1fc2hlbGwtPndlYlZpZXcoKS0+c2V0dGluZ3Mo
KS0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGZhbHNlKTsKKyAgICBtX3NoZWxsLT5wcmVm
ZXJlbmNlcygpLT5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkgPSBmYWxzZTsKKyAgICBtX3NoZWxs
LT5hcHBseVByZWZlcmVuY2VzKCk7CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKQEAgLTEw
OTAsMTUgKzEwOTcsMTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3UKIAogdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChjb25zdCBDcHBB
cmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIGlmIChh
cmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCi0gICAgICAgIG1f
c2hlbGwtPndlYlZpZXcoKS0+c2V0dGluZ3MoKS0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZChhcmd1bWVudHNbMF0udmFsdWUuYm9vbFZhbHVlKTsKKyAgICBpZiAoYXJndW1lbnRzLnNp
emUoKSA+IDAgJiYgYXJndW1lbnRzWzBdLmlzQm9vbCgpKSB7CisgICAgICAgIG1fc2hlbGwtPnBy
ZWZlcmVuY2VzKCktPmphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQgPSBhcmd1bWVudHNbMF0u
dmFsdWUuYm9vbFZhbHVlOworICAgICAgICBtX3NoZWxsLT5hcHBseVByZWZlcmVuY2VzKCk7Cisg
ICAgfQogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50
cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID4gMCAm
JiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCi0gICAgICAgIG1fc2hlbGwtPndlYlZpZXcoKS0+c2V0
dGluZ3MoKS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoYXJndW1lbnRzWzBdLnZhbHVlLmJvb2xWYWx1
ZSk7CisgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2wo
KSkgeworICAgICAgICBtX3NoZWxsLT5wcmVmZXJlbmNlcygpLT5YU1NBdWRpdG9yRW5hYmxlZCA9
IGFyZ3VtZW50c1swXS52YWx1ZS5ib29sVmFsdWU7CisgICAgICAgIG1fc2hlbGwtPmFwcGx5UHJl
ZmVyZW5jZXMoKTsKKyAgICB9CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKQEAgLTExMTUs
MTUgKzExMjYsMTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVTY3JpcHRJ
bklzb2xhdGVkV29ybGQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JgogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhjb25zdCBDcHBB
cmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIGlmIChh
cmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCi0gICAgICAgIG1f
c2hlbGwtPndlYlZpZXcoKS0+c2V0dGluZ3MoKS0+c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYXJndW1lbnRzWzBdLnZhbHVlLmJvb2xWYWx1ZSk7CisgICAgaWYgKGFyZ3VtZW50
cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkgeworICAgICAgICBtX3NoZWxs
LT5wcmVmZXJlbmNlcygpLT5hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyA9IGFyZ3Vt
ZW50c1swXS52YWx1ZS5ib29sVmFsdWU7CisgICAgICAgIG1fc2hlbGwtPmFwcGx5UHJlZmVyZW5j
ZXMoKTsKKyAgICB9CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhjb25zdCBDcHBBcmd1
bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewotICAgIGlmIChhcmd1
bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpCi0gICAgICAgIG1fc2hl
bGwtPndlYlZpZXcoKS0+c2V0dGluZ3MoKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxz
KGFyZ3VtZW50c1swXS52YWx1ZS5ib29sVmFsdWUpOworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgp
ID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKKyAgICAgICAgbV9zaGVsbC0+cHJlZmVy
ZW5jZXMoKS0+YWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzID0gYXJndW1lbnRzWzBdLnZhbHVl
LmJvb2xWYWx1ZTsKKyAgICAgICAgbV9zaGVsbC0+YXBwbHlQcmVmZXJlbmNlcygpOworICAgIH0K
ICAgICByZXN1bHQtPnNldE51bGwoKTsKIH0KIApAQCAtMTE3OSw2OCArMTE5NCw2OSBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiBhcmd1bWVudHMsCiAKICAgICBzdHJpbmcga2V5ID0gYXJndW1lbnRzWzBdLnRvU3Ry
aW5nKCk7CiAgICAgQ3BwVmFyaWFudCB2YWx1ZSA9IGFyZ3VtZW50c1sxXTsKLSAgICBXZWJTZXR0
aW5ncyogc2V0dGluZ3MgPSBtX3NoZWxsLT53ZWJWaWV3KCktPnNldHRpbmdzKCk7CisgICAgV2Vi
UHJlZmVyZW5jZXMqIHByZWZzID0gbV9zaGVsbC0+cHJlZmVyZW5jZXMoKTsKICAgICBpZiAoa2V5
ID09ICJXZWJLaXRTdGFuZGFyZEZvbnQiKQotICAgICAgICBzZXR0aW5ncy0+c2V0U3RhbmRhcmRG
b250RmFtaWx5KGNwcFZhcmlhbnRUb1dlYlN0cmluZyh2YWx1ZSkpOworICAgICAgICBwcmVmcy0+
c3RhbmRhcmRGb250RmFtaWx5ID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZhbHVlKTsKICAgICBl
bHNlIGlmIChrZXkgPT0gIldlYktpdEZpeGVkRm9udCIpCi0gICAgICAgIHNldHRpbmdzLT5zZXRG
aXhlZEZvbnRGYW1pbHkoY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHBy
ZWZzLT5maXhlZEZvbnRGYW1pbHkgPSBjcHBWYXJpYW50VG9XZWJTdHJpbmcodmFsdWUpOwogICAg
IGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0U2VyaWZGb250IikKLSAgICAgICAgc2V0dGluZ3MtPnNl
dFNlcmlmRm9udEZhbWlseShjcHBWYXJpYW50VG9XZWJTdHJpbmcodmFsdWUpKTsKKyAgICAgICAg
cHJlZnMtPnNlcmlmRm9udEZhbWlseSA9IGNwcFZhcmlhbnRUb1dlYlN0cmluZyh2YWx1ZSk7CiAg
ICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRTYW5zU2VyaWZGb250IikKLSAgICAgICAgc2V0dGlu
Z3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZhbHVlKSk7
CisgICAgICAgIHByZWZzLT5zYW5zU2VyaWZGb250RmFtaWx5ID0gY3BwVmFyaWFudFRvV2ViU3Ry
aW5nKHZhbHVlKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdEN1cnNpdmVGb250IikKLSAg
ICAgICAgc2V0dGluZ3MtPnNldEN1cnNpdmVGb250RmFtaWx5KGNwcFZhcmlhbnRUb1dlYlN0cmlu
Zyh2YWx1ZSkpOworICAgICAgICBwcmVmcy0+Y3Vyc2l2ZUZvbnRGYW1pbHkgPSBjcHBWYXJpYW50
VG9XZWJTdHJpbmcodmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0RmFudGFzeUZv
bnQiKQotICAgICAgICBzZXR0aW5ncy0+c2V0RmFudGFzeUZvbnRGYW1pbHkoY3BwVmFyaWFudFRv
V2ViU3RyaW5nKHZhbHVlKSk7CisgICAgICAgIHByZWZzLT5mYW50YXN5Rm9udEZhbWlseSA9IGNw
cFZhcmlhbnRUb1dlYlN0cmluZyh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRE
ZWZhdWx0Rm9udFNpemUiKQotICAgICAgICBzZXR0aW5ncy0+c2V0RGVmYXVsdEZvbnRTaXplKGNw
cFZhcmlhbnRUb0ludDMyKHZhbHVlKSk7CisgICAgICAgIHByZWZzLT5kZWZhdWx0Rm9udFNpemUg
PSBjcHBWYXJpYW50VG9JbnQzMih2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRE
ZWZhdWx0Rml4ZWRGb250U2l6ZSIpCi0gICAgICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rml4ZWRG
b250U2l6ZShjcHBWYXJpYW50VG9JbnQzMih2YWx1ZSkpOworICAgICAgICBwcmVmcy0+ZGVmYXVs
dEZpeGVkRm9udFNpemUgPSBjcHBWYXJpYW50VG9JbnQzMih2YWx1ZSk7CiAgICAgZWxzZSBpZiAo
a2V5ID09ICJXZWJLaXRNaW5pbXVtRm9udFNpemUiKQotICAgICAgICBzZXR0aW5ncy0+c2V0TWlu
aW11bUZvbnRTaXplKGNwcFZhcmlhbnRUb0ludDMyKHZhbHVlKSk7CisgICAgICAgIHByZWZzLT5t
aW5pbXVtRm9udFNpemUgPSBjcHBWYXJpYW50VG9JbnQzMih2YWx1ZSk7CiAgICAgZWxzZSBpZiAo
a2V5ID09ICJXZWJLaXRNaW5pbXVtTG9naWNhbEZvbnRTaXplIikKLSAgICAgICAgc2V0dGluZ3Mt
PnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoY3BwVmFyaWFudFRvSW50MzIodmFsdWUpKTsKKyAg
ICAgICAgcHJlZnMtPm1pbmltdW1Mb2dpY2FsRm9udFNpemUgPSBjcHBWYXJpYW50VG9JbnQzMih2
YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXREZWZhdWx0VGV4dEVuY29kaW5nTmFt
ZSIpCi0gICAgICAgIHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShjcHBWYXJp
YW50VG9XZWJTdHJpbmcodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPmRlZmF1bHRUZXh0RW5jb2Rp
bmdOYW1lID0gY3BwVmFyaWFudFRvV2ViU3RyaW5nKHZhbHVlKTsKICAgICBlbHNlIGlmIChrZXkg
PT0gIldlYktpdEphdmFTY3JpcHRFbmFibGVkIikKLSAgICAgICAgc2V0dGluZ3MtPnNldEphdmFT
Y3JpcHRFbmFibGVkKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPmph
dmFTY3JpcHRFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAo
a2V5ID09ICJXZWJLaXRXZWJTZWN1cml0eUVuYWJsZWQiKQotICAgICAgICBzZXR0aW5ncy0+c2V0
V2ViU2VjdXJpdHlFbmFibGVkKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJl
ZnMtPndlYlNlY3VyaXR5RW5hYmxlZCA9IGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpOwogICAgIGVs
c2UgaWYgKGtleSA9PSAiV2ViS2l0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxs
eSIpCi0gICAgICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0
aWNhbGx5KGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPmphdmFTY3Jp
cHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkgPSBjcHBWYXJpYW50VG9Cb29sKHZhbHVlKTsK
ICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdERpc3BsYXlJbWFnZXNLZXkiKQotICAgICAgICBz
ZXR0aW5ncy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGNwcFZhcmlhbnRUb0Jvb2wodmFs
dWUpKTsKKyAgICAgICAgcHJlZnMtPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSA9IGNwcFZhcmlh
bnRUb0Jvb2wodmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0UGx1Z2luc0VuYWJs
ZWQiKQotICAgICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQoY3BwVmFyaWFudFRvQm9v
bCh2YWx1ZSkpOworICAgICAgICBwcmVmcy0+cGx1Z2luc0VuYWJsZWQgPSBjcHBWYXJpYW50VG9C
b29sKHZhbHVlKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdERPTVBhc3RlQWxsb3dlZFBy
ZWZlcmVuY2VLZXkiKQotICAgICAgICBzZXR0aW5ncy0+c2V0RE9NUGFzdGVBbGxvd2VkKGNwcFZh
cmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPkRPTVBhc3RlQWxsb3dlZCA9IGNw
cFZhcmlhbnRUb0Jvb2wodmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0RGV2ZWxv
cGVyRXh0cmFzRW5hYmxlZFByZWZlcmVuY2VLZXkiKQotICAgICAgICBzZXR0aW5ncy0+c2V0RGV2
ZWxvcGVyRXh0cmFzRW5hYmxlZChjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgICAgIHBy
ZWZzLT5kZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAg
ICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRTaHJpbmtzU3RhbmRhbG9uZUltYWdlc1RvRml0IikK
LSAgICAgICAgc2V0dGluZ3MtPnNldFNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXQoY3BwVmFy
aWFudFRvQm9vbCh2YWx1ZSkpOworICAgICAgICBwcmVmcy0+c2hyaW5rc1N0YW5kYWxvbmVJbWFn
ZXNUb0ZpdCA9IGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAi
V2ViS2l0VGV4dEFyZWFzQXJlUmVzaXphYmxlIikKLSAgICAgICAgc2V0dGluZ3MtPnNldFRleHRB
cmVhc0FyZVJlc2l6YWJsZShjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgICAgIHByZWZz
LT50ZXh0QXJlYXNBcmVSZXNpemFibGUgPSBjcHBWYXJpYW50VG9Cb29sKHZhbHVlKTsKICAgICBl
bHNlIGlmIChrZXkgPT0gIldlYktpdEphdmFFbmFibGVkIikKLSAgICAgICAgc2V0dGluZ3MtPnNl
dEphdmFFbmFibGVkKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPmph
dmFFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09
ICJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIpCi0gICAgICAgIHNldHRpbmdzLT5z
ZXRVc2VzUGFnZUNhY2hlKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMt
PnVzZXNQYWdlQ2FjaGUgPSBjcHBWYXJpYW50VG9Cb29sKHZhbHVlKTsKICAgICBlbHNlIGlmIChr
ZXkgPT0gIldlYktpdEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQiKQotICAgICAgICBzZXR0
aW5ncy0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChjcHBWYXJpYW50VG9Cb29sKHZh
bHVlKSk7CisgICAgICAgIHByZWZzLT5qYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkID0gY3Bw
VmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRYU1NBdWRp
dG9yRW5hYmxlZCIpCi0gICAgICAgIHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChjcHBW
YXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgICAgIHByZWZzLT5YU1NBdWRpdG9yRW5hYmxlZCA9
IGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpOwogICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0TG9j
YWxTdG9yYWdlRW5hYmxlZFByZWZlcmVuY2VLZXkiKQotICAgICAgICBzZXR0aW5ncy0+c2V0TG9j
YWxTdG9yYWdlRW5hYmxlZChjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgICAgIHByZWZz
LT5sb2NhbFN0b3JhZ2VFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxz
ZSBpZiAoa2V5ID09ICJXZWJLaXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQiKQot
ICAgICAgICBzZXR0aW5ncy0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGNw
cFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAgICAgICAgcHJlZnMtPm9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZCA9IGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpOwogICAgIGVsc2UgaWYg
KGtleSA9PSAiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiKQotICAgICAgICBtX3NoZWxs
LT53ZWJWaWV3KCktPnNldFRhYnNUb0xpbmtzKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAg
ICAgICAgcHJlZnMtPnRhYnNUb0xpbmtzID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAg
ZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRXZWJHTEVuYWJsZWQiKQotICAgICAgICBzZXR0aW5ncy0+
c2V0RXhwZXJpbWVudGFsV2ViR0xFbmFibGVkKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKKyAg
ICAgICAgcHJlZnMtPmV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZCA9IGNwcFZhcmlhbnRUb0Jvb2wo
dmFsdWUpOwogICAgIGVsc2UgewogICAgICAgICBzdHJpbmcgbWVzc2FnZSgiSW52YWxpZCBuYW1l
IGZvciBwcmVmZXJlbmNlOiAiKTsKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoa2V5KTsKICAgICAg
ICAgbG9nRXJyb3JUb0NvbnNvbGUobWVzc2FnZSk7CiAgICAgfQorICAgIG1fc2hlbGwtPmFwcGx5
UHJlZmVyZW5jZXMoKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZmFsbGJhY2tN
ZXRob2QoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQpAQCAtMTQz
MiwxMyArMTQ0OCwxNCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRVc2VyU3R5bGVT
aGVldChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQwogCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBh
cmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdHMpCiB7Ci0gICAgV2ViU2V0dGluZ3MqIHNldHRp
bmdzID0gbV9zaGVsbC0+d2ViVmlldygpLT5zZXR0aW5ncygpOwogICAgIHN0cmluZyBrZXkgPSBh
cmd1bWVudHNbMF0udG9TdHJpbmcoKTsKLSAgICBpZiAoa2V5ID09ICJtYWMiKQotICAgICAgICBz
ZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yKFdlYlNldHRpbmdzOjpFZGl0aW5nQmVoYXZpb3JN
YWMpOwotICAgIGVsc2UgaWYgKGtleSA9PSAid2luIikKLSAgICAgICAgc2V0dGluZ3MtPnNldEVk
aXRpbmdCZWhhdmlvcihXZWJTZXR0aW5nczo6RWRpdGluZ0JlaGF2aW9yV2luKTsKLSAgICBlbHNl
CisgICAgaWYgKGtleSA9PSAibWFjIikgeworICAgICAgICBtX3NoZWxsLT5wcmVmZXJlbmNlcygp
LT5lZGl0aW5nQmVoYXZpb3IgPSBXZWJTZXR0aW5nczo6RWRpdGluZ0JlaGF2aW9yTWFjOworICAg
ICAgICBtX3NoZWxsLT5hcHBseVByZWZlcmVuY2VzKCk7CisgICAgfSBlbHNlIGlmIChrZXkgPT0g
IndpbiIpIHsKKyAgICAgICAgbV9zaGVsbC0+cHJlZmVyZW5jZXMoKS0+ZWRpdGluZ0JlaGF2aW9y
ID0gV2ViU2V0dGluZ3M6OkVkaXRpbmdCZWhhdmlvcldpbjsKKyAgICAgICAgbV9zaGVsbC0+YXBw
bHlQcmVmZXJlbmNlcygpOworICAgIH0gZWxzZQogICAgICAgICBsb2dFcnJvclRvQ29uc29sZSgi
UGFzc2VkIGludmFsaWQgZWRpdGluZyBiZWhhdmlvci4gU2hvdWxkIGJlICdtYWMnIG9yICd3aW4n
LiIpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmNwcAppbmRleCA0YzhhNTY3YmI1ZThkZDZiZTlmZGM5MjgxNTAyNzdlMDI1ODAzOWNj
Li4xNWQ2ZGVlMjRlY2RlMThlOGI1OWNlZDZjYTg4ODI2Mzk2ZWQ3ODBjIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKQEAgLTE1NCw4
NCArMTU0LDggQEAgdm9pZCBUZXN0U2hlbGw6OmNsb3NlRGV2VG9vbHMoKQogCiB2b2lkIFRlc3RT
aGVsbDo6cmVzZXRXZWJTZXR0aW5ncyhXZWJWaWV3JiB3ZWJWaWV3KQogewotICAgIC8vIE1hdGNo
IHRoZSBzZXR0aW5ncyB1c2VkIGJ5IE1hYyBEdW1wUmVuZGVyVHJlZSwgd2l0aCB0aGUgZXhjZXB0
aW9uIG9mCi0gICAgLy8gZm9udHMuCi0gICAgV2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2ViVmll
dy5zZXR0aW5ncygpOwotI2lmIE9TKE1BQ19PU19YKQotICAgIFdlYlN0cmluZyBzZXJpZiA9IFdl
YlN0cmluZzo6ZnJvbVVURjgoIlRpbWVzIik7Ci0gICAgc2V0dGluZ3MtPnNldEN1cnNpdmVGb250
RmFtaWx5KFdlYlN0cmluZzo6ZnJvbVVURjgoIkFwcGxlIENoYW5jZXJ5IikpOwotICAgIHNldHRp
bmdzLT5zZXRGYW50YXN5Rm9udEZhbWlseShXZWJTdHJpbmc6OmZyb21VVEY4KCJQYXB5cnVzIikp
OwotI2Vsc2UKLSAgICAvLyBOT1RFOiBjYXNlIG1hdHRlcnMgaGVyZSwgdGhpcyBtdXN0IGJlICd0
aW1lcyBuZXcgcm9tYW4nLCBlbHNlCi0gICAgLy8gc29tZSBsYXlvdXQgdGVzdHMgZmFpbC4KLSAg
ICBXZWJTdHJpbmcgc2VyaWYgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJ0aW1lcyBuZXcgcm9tYW4i
KTsKLQotICAgIC8vIFRoZXNlIHR3byBmb250cyBhcmUgcGlja2VkIGZyb20gdGhlIGludGVyc2Vj
dGlvbiBvZgotICAgIC8vIFdpbiBYUCBmb250IGxpc3QgYW5kIFZpc3RhIGZvbnQgbGlzdCA6Ci0g
ICAgLy8gICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdHlwb2dyYXBoeS9mb250cy93aW54cC5o
dG0KLSAgICAvLyAgIGh0dHA6Ly9ibG9ncy5tc2RuLmNvbS9taWNoa2FwL2FyY2hpdmUvMjAwNi8w
NC8wNC81Njc4ODEuYXNweAotICAgIC8vIFNvbWUgb2YgdGhlbSBhcmUgaW5zdGFsbGVkIG9ubHkg
d2l0aCBDSksgYW5kIGNvbXBsZXggc2NyaXB0Ci0gICAgLy8gc3VwcG9ydCBlbmFibGVkIG9uIFdp
bmRvd3MgWFAgYW5kIGFyZSBvdXQgb2YgY29uc2lkZXJhdGlvbiBoZXJlLgotICAgIC8vIChhbHRo
b3VnaCB3ZSBlbmFibGVkIGJvdGggb24gb3VyIGJ1aWxkYm90cy4pCi0gICAgLy8gVGhleSAoZXNw
ZWNpYWxseSBJbXBhY3QgZm9yIGZhbnRhc3kpIGFyZSBub3QgdHlwaWNhbCBjdXJzaXZlCi0gICAg
Ly8gYW5kIGZhbnRhc3kgZm9udHMsIGJ1dCBpdCBzaG91bGQgbm90IG1hdHRlciBmb3IgbGF5b3V0
IHRlc3RzCi0gICAgLy8gYXMgbG9uZyBhcyB0aGV5J3JlIGF2YWlsYWJsZS4KLSAgICBzZXR0aW5n
cy0+c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoV2ViU3RyaW5nOjpmcm9tVVRGOCgiQ29taWMgU2FucyBN
UyIpKTsKLSAgICBzZXR0aW5ncy0+c2V0RmFudGFzeUZvbnRGYW1pbHkoV2ViU3RyaW5nOjpmcm9t
VVRGOCgiSW1wYWN0IikpOwotI2VuZGlmCi0gICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZhbWls
eShzZXJpZik7Ci0gICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseShzZXJpZik7Ci0g
ICAgc2V0dGluZ3MtPnNldEZpeGVkRm9udEZhbWlseShXZWJTdHJpbmc6OmZyb21VVEY4KCJDb3Vy
aWVyIikpOwotICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KFdlYlN0cmluZzo6
ZnJvbVVURjgoIkhlbHZldGljYSIpKTsKLQotICAgIHNldHRpbmdzLT5zZXREZWZhdWx0VGV4dEVu
Y29kaW5nTmFtZShXZWJTdHJpbmc6OmZyb21VVEY4KCJJU08tODg1OS0xIikpOwotICAgIHNldHRp
bmdzLT5zZXREZWZhdWx0Rm9udFNpemUoMTYpOwotICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rml4
ZWRGb250U2l6ZSgxMyk7Ci0gICAgc2V0dGluZ3MtPnNldE1pbmltdW1Gb250U2l6ZSgxKTsKLSAg
ICBzZXR0aW5ncy0+c2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZSg5KTsKLSAgICBzZXR0aW5ncy0+
c2V0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSh0cnVlKTsKLSAgICBzZXR0
aW5ncy0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCh0cnVlKTsKLSAgICBzZXR0aW5n
cy0+c2V0RE9NUGFzdGVBbGxvd2VkKHRydWUpOwotICAgIHNldHRpbmdzLT5zZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKGZhbHNlKTsKLSAgICBzZXR0aW5ncy0+c2V0TmVlZHNTaXRlU3BlY2lmaWNR
dWlya3ModHJ1ZSk7Ci0gICAgc2V0dGluZ3MtPnNldFNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9G
aXQoZmFsc2UpOwotICAgIHNldHRpbmdzLT5zZXRVc2VzRW5jb2RpbmdEZXRlY3RvcihmYWxzZSk7
Ci0gICAgc2V0dGluZ3MtPnNldFRleHRBcmVhc0FyZVJlc2l6YWJsZShmYWxzZSk7Ci0gICAgc2V0
dGluZ3MtPnNldEphdmFFbmFibGVkKGZhbHNlKTsKLSAgICBzZXR0aW5ncy0+c2V0QWxsb3dTY3Jp
cHRzVG9DbG9zZVdpbmRvd3MoZmFsc2UpOwotICAgIHNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5h
YmxlZChmYWxzZSk7Ci0gICAgc2V0dGluZ3MtPnNldERvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5h
YmxlZCh0cnVlKTsKLSAgICBzZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdlRW5hYmxlZCh0cnVlKTsK
LSAgICBzZXR0aW5ncy0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHRydWUp
OwotICAgIHNldHRpbmdzLT5zZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHModHJ1ZSk7Ci0g
ICAgc2V0dGluZ3MtPnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV2ViVVJMKCkpOwotCi0gICAg
Ly8gTGF5b3V0VGVzdHMgd2VyZSB3cml0dGVuIHdpdGggU2FmYXJpIE1hYyBpbiBtaW5kIHdoaWNo
IGRvZXMgbm90IGFsbG93Ci0gICAgLy8gdGFiYmluZyB0byBsaW5rcyBieSBkZWZhdWx0LgotICAg
IHdlYlZpZXcuc2V0VGFic1RvTGlua3MoZmFsc2UpOwotCi0gICAgLy8gQWxsb3cgdGhvc2UgbGF5
b3V0IHRlc3RzIHJ1bm5pbmcgYXMgbG9jYWwgZmlsZXMsIGkuZS4gdW5kZXIKLSAgICAvLyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsLCB0byBhY2Nlc3MgaHR0cCBzZXJ2ZXIuCi0gICAgc2V0
dGluZ3MtPnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKHRydWUpOwotCi0gICAg
c2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHRydWUpOwotICAgIHNldHRpbmdzLT5zZXRQ
bHVnaW5zRW5hYmxlZCh0cnVlKTsKLSAgICBzZXR0aW5ncy0+c2V0V2ViU2VjdXJpdHlFbmFibGVk
KHRydWUpOwotICAgIHNldHRpbmdzLT5zZXRFZGl0YWJsZUxpbmtCZWhhdmlvck5ldmVyTGl2ZSgp
OwotICAgIHNldHRpbmdzLT5zZXRGb250UmVuZGVyaW5nTW9kZU5vcm1hbCgpOwotICAgIHNldHRp
bmdzLT5zZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJhcnModHJ1ZSk7Ci0gICAgc2V0dGluZ3Mt
PnNldFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3JOZXZlckluY2x1ZGVkKCk7
Ci0KLSAgICBzZXR0aW5ncy0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KHRydWUpOwotICAg
IHNldHRpbmdzLT5zZXRJbWFnZXNFbmFibGVkKHRydWUpOwotCi0jaWYgT1MoREFSV0lOKQotICAg
IHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3IoV2ViU2V0dGluZ3M6OkVkaXRpbmdCZWhhdmlv
ck1hYyk7Ci0jZWxzZQotICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3IoV2ViU2V0dGlu
Z3M6OkVkaXRpbmdCZWhhdmlvcldpbik7Ci0jZW5kaWYKLSAgICAvLyBGSVhNRTogY3JidWcuY29t
LzUxODc5Ci0gICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZh
bHNlKTsKKyAgICBtX3ByZWZzLnJlc2V0KCk7CisgICAgbV9wcmVmcy5hcHBseVRvKCZ3ZWJWaWV3
KTsKIH0KIAogdm9pZCBUZXN0U2hlbGw6OnJ1bkZpbGVUZXN0KGNvbnN0IFRlc3RQYXJhbXMmIHBh
cmFtcykKQEAgLTI0Myw3ICsxNjcsOCBAQCB2b2lkIFRlc3RTaGVsbDo6cnVuRmlsZVRlc3QoY29u
c3QgVGVzdFBhcmFtcyYgcGFyYW1zKQogCiAgICAgYm9vbCBpbnNwZWN0b3JUZXN0TW9kZSA9IHRl
c3RVcmwuZmluZCgiL2luc3BlY3Rvci8iKSAhPSBzdHJpbmc6Om5wb3MKICAgICAgICAgfHwgdGVz
dFVybC5maW5kKCJcXGluc3BlY3RvclxcIikgIT0gc3RyaW5nOjpucG9zOwotICAgIG1fd2ViVmll
dy0+c2V0dGluZ3MoKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChpbnNwZWN0b3JUZXN0TW9k
ZSk7CisgICAgbV9wcmVmcy5kZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gaW5zcGVjdG9yVGVzdE1v
ZGU7CisgICAgYXBwbHlQcmVmZXJlbmNlcygpOwogCiAgICAgaWYgKHRlc3RVcmwuZmluZCgibG9h
ZGluZy8iKSAhPSBzdHJpbmc6Om5wb3MKICAgICAgICAgfHwgdGVzdFVybC5maW5kKCJsb2FkaW5n
XFwiKSAhPSBzdHJpbmc6Om5wb3MpCkBAIC02MzksNyArNTY0LDcgQEAgV2ViVmlld0hvc3QqIFRl
c3RTaGVsbDo6Y3JlYXRlTmV3V2luZG93KGNvbnN0IFdlYlVSTCYgdXJsKQogICAgIFdlYlZpZXdI
b3N0KiBob3N0ID0gbmV3IFdlYlZpZXdIb3N0KHRoaXMpOwogICAgIFdlYlZpZXcqIHZpZXcgPSBX
ZWJWaWV3OjpjcmVhdGUoaG9zdCwgbV9kcnREZXZUb29sc0FnZW50LmdldCgpKTsKICAgICBob3N0
LT5zZXRXZWJXaWRnZXQodmlldyk7Ci0gICAgcmVzZXRXZWJTZXR0aW5ncygqdmlldyk7CisgICAg
bV9wcmVmcy5hcHBseVRvKHZpZXcpOwogICAgIHZpZXctPmluaXRpYWxpemVNYWluRnJhbWUoaG9z
dCk7CiAgICAgbV93aW5kb3dMaXN0LmFwcGVuZChob3N0KTsKICAgICBob3N0LT5sb2FkVVJMRm9y
RnJhbWUodXJsLCBXZWJTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4IGQzZWQ1ZmE2YWFlNTdlYTk1ZjA0YmMwOWYwNjNj
ZWEwNTcyYjU1NzMuLjZkOTNkNGFiNzMzZjg0YmU0NGNhMzY3MzFmZDFlZDUxOWVjZjUwNDEgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5o
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiUGxhaW5UZXh0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlRlc3RFdmVudFByaW50ZXIuaCIKICNpbmNsdWRlICJUZXh0SW5wdXRDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJXZWJWaWV3SG9zdC5oIgog
I2luY2x1ZGUgPHN0cmluZz4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC01MCw3ICs1MSw2
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudENsaWVudDsKIGNs
YXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwotY2xhc3MgV2Vi
UHJlZmVyZW5jZXM7CiBjbGFzcyBXZWJWaWV3OwogY2xhc3MgV2ViVVJMOwogfQpAQCAtOTIsNiAr
OTIsOSBAQCBwdWJsaWM6CiAgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3RpZmljYXRpb25Q
cmVzZW50ZXIoKSBjb25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvblByZXNlbnRlci5nZXQoKTsg
fQogICAgIFRlc3RFdmVudFByaW50ZXIqIHByaW50ZXIoKSBjb25zdCB7IHJldHVybiBtX3ByaW50
ZXIuZ2V0KCk7IH0KIAorICAgIFdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcygpIHsgcmV0dXJu
ICZtX3ByZWZzOyB9CisgICAgdm9pZCBhcHBseVByZWZlcmVuY2VzKCkgeyBtX3ByZWZzLmFwcGx5
VG8obV93ZWJWaWV3KTsgfQorCiAgICAgdm9pZCBiaW5kSlNPYmplY3RzVG9XaW5kb3coV2ViS2l0
OjpXZWJGcmFtZSopOwogICAgIHZvaWQgcnVuRmlsZVRlc3QoY29uc3QgVGVzdFBhcmFtcyYpOwog
ICAgIHZvaWQgY2FsbEpTR0MoKTsKQEAgLTE0OCw3ICsxNTEsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIHZvaWQgY3JlYXRlRFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCopOwog
Ci0gICAgc3RhdGljIHZvaWQgcmVzZXRXZWJTZXR0aW5ncyhXZWJLaXQ6OldlYlZpZXcmKTsKKyAg
ICB2b2lkIHJlc2V0V2ViU2V0dGluZ3MoV2ViS2l0OjpXZWJWaWV3Jik7CiAgICAgdm9pZCBkdW1w
KCk7CiAgICAgc3RkOjpzdHJpbmcgZHVtcEFsbEJhY2tGb3J3YXJkTGlzdHMoKTsKICAgICB2b2lk
IGR1bXBJbWFnZShza2lhOjpQbGF0Zm9ybUNhbnZhcyopIGNvbnN0OwpAQCAtMTczLDYgKzE3Niw3
IEBAIHByaXZhdGU6CiAgICAgVGVzdFBhcmFtcyBtX3BhcmFtczsKICAgICBpbnQgbV90aW1lb3V0
OyAvLyB0aW1lb3V0IHZhbHVlIGluIG1pbGxpc2Vjb25kCiAgICAgYm9vbCBtX2FsbG93RXh0ZXJu
YWxQYWdlczsKKyAgICBXZWJQcmVmZXJlbmNlcyBtX3ByZWZzOwogCiAgICAgLy8gTGlzdCBvZiBh
bGwgd2luZG93cyBpbiB0aGlzIHByb2Nlc3MuCiAgICAgLy8gVGhlIG1haW4gd2luZG93IHNob3Vs
ZCBiZSBwdXQgaW50byB3aW5kb3dMaXN0WzBdLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkNGU0
NWFkMmMwODhhZWM4NTUxYzU1NzA0YzNjZjM3MGY1MTI3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKQEAg
LTAsMCArMSwxNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5j
ZXMuaCIKKworI2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnJlc2V0KCkKK3sKKyNpZiBPUyhNQUNfT1Nf
WCkKKyAgICBjdXJzaXZlRm9udEZhbWlseSA9IFdlYlN0cmluZzo6ZnJvbVVURjgoIkFwcGxlIENo
YW5jZXJ5Iik7CisgICAgZmFudGFzeUZvbnRGYW1pbHkgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJQ
YXB5cnVzIik7CisgICAgV2ViU3RyaW5nIHNlcmlmID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiVGlt
ZXMiKTsKKyNlbHNlCisgICAgLy8gVGhlc2UgdHdvIGZvbnRzIGFyZSBwaWNrZWQgZnJvbSB0aGUg
aW50ZXJzZWN0aW9uIG9mCisgICAgLy8gV2luIFhQIGZvbnQgbGlzdCBhbmQgVmlzdGEgZm9udCBs
aXN0IDoKKyAgICAvLyAgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS90eXBvZ3JhcGh5L2ZvbnRz
L3dpbnhwLmh0bQorICAgIC8vICAgaHR0cDovL2Jsb2dzLm1zZG4uY29tL21pY2hrYXAvYXJjaGl2
ZS8yMDA2LzA0LzA0LzU2Nzg4MS5hc3B4CisgICAgLy8gU29tZSBvZiB0aGVtIGFyZSBpbnN0YWxs
ZWQgb25seSB3aXRoIENKSyBhbmQgY29tcGxleCBzY3JpcHQKKyAgICAvLyBzdXBwb3J0IGVuYWJs
ZWQgb24gV2luZG93cyBYUCBhbmQgYXJlIG91dCBvZiBjb25zaWRlcmF0aW9uIGhlcmUuCisgICAg
Ly8gKGFsdGhvdWdoIHdlIGVuYWJsZWQgYm90aCBvbiBvdXIgYnVpbGRib3RzLikKKyAgICAvLyBU
aGV5IChlc3BlY2lhbGx5IEltcGFjdCBmb3IgZmFudGFzeSkgYXJlIG5vdCB0eXBpY2FsIGN1cnNp
dmUKKyAgICAvLyBhbmQgZmFudGFzeSBmb250cywgYnV0IGl0IHNob3VsZCBub3QgbWF0dGVyIGZv
ciBsYXlvdXQgdGVzdHMKKyAgICAvLyBhcyBsb25nIGFzIHRoZXkncmUgYXZhaWxhYmxlLgorICAg
IGN1cnNpdmVGb250RmFtaWx5ID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiQ29taWMgU2FucyBNUyIp
OworICAgIGZhbnRhc3lGb250RmFtaWx5ID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiSW1wYWN0Iik7
CisgICAgLy8gTk9URTogY2FzZSBtYXR0ZXJzIGhlcmUsIHRoaXMgbXVzdCBiZSAndGltZXMgbmV3
IHJvbWFuJywgZWxzZQorICAgIC8vIHNvbWUgbGF5b3V0IHRlc3RzIGZhaWwuCisgICAgV2ViU3Ry
aW5nIHNlcmlmID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgidGltZXMgbmV3IHJvbWFuIik7CisjZW5k
aWYKKyAgICBzZXJpZkZvbnRGYW1pbHkgPSBzZXJpZjsKKyAgICBzdGFuZGFyZEZvbnRGYW1pbHkg
PSBzZXJpZjsKKyAgICBmaXhlZEZvbnRGYW1pbHkgPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJDb3Vy
aWVyIik7CisgICAgc2Fuc1NlcmlmRm9udEZhbWlseSA9IFdlYlN0cmluZzo6ZnJvbVVURjgoIkhl
bHZldGljYSIpOworCisgICAgZGVmYXVsdEZvbnRTaXplID0gMTY7CisgICAgZGVmYXVsdEZpeGVk
Rm9udFNpemUgPSAxMzsKKyAgICBtaW5pbXVtRm9udFNpemUgPSAxOworICAgIG1pbmltdW1Mb2dp
Y2FsRm9udFNpemUgPSA5OworCisgICAgRE9NUGFzdGVBbGxvd2VkID0gdHJ1ZTsKKyAgICBYU1NB
dWRpdG9yRW5hYmxlZCA9IGZhbHNlOworICAgIGFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyA9
IHRydWU7CisgICAgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgPSB0cnVlOworICAgIGRlZmF1
bHRUZXh0RW5jb2RpbmdOYW1lID0gV2ViU3RyaW5nOjpmcm9tVVRGOCgiSVNPLTg4NTktMSIpOwor
ICAgIGRldmVsb3BlckV4dHJhc0VuYWJsZWQgPSBmYWxzZTsKKyAgICBleHBlcmltZW50YWxXZWJH
TEVuYWJsZWQgPSBmYWxzZTsKKyAgICBqYXZhRW5hYmxlZCA9IGZhbHNlOworICAgIGphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQgPSB0cnVlOworICAgIGphdmFTY3JpcHRDYW5PcGVuV2luZG93
c0F1dG9tYXRpY2FsbHkgPSB0cnVlOworICAgIGphdmFTY3JpcHRFbmFibGVkID0gdHJ1ZTsKKyAg
ICBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkgPSB0cnVlOworICAgIGxvY2FsU3RvcmFnZUVuYWJs
ZWQgPSB0cnVlOworICAgIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCA9IHRydWU7
CisgICAgcGx1Z2luc0VuYWJsZWQgPSB0cnVlOworICAgIHNocmlua3NTdGFuZGFsb25lSW1hZ2Vz
VG9GaXQgPSBmYWxzZTsKKyAgICB0ZXh0QXJlYXNBcmVSZXNpemFibGUgPSBmYWxzZTsKKyAgICB1
c2VyU3R5bGVTaGVldExvY2F0aW9uID0gV2ViVVJMKCk7CisgICAgdXNlc1BhZ2VDYWNoZSA9IGZh
bHNlOworICAgIHdlYlNlY3VyaXR5RW5hYmxlZCA9IHRydWU7CisKKyAgICAvLyBBbGxvdyB0aG9z
ZSBsYXlvdXQgdGVzdHMgcnVubmluZyBhcyBsb2NhbCBmaWxlcywgaS5lLiB1bmRlcgorICAgIC8v
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwsIHRvIGFjY2VzcyBodHRwIHNlcnZlci4KKyAg
ICBhbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyA9IHRydWU7CisKKyNpZiBPUyhEQVJX
SU4pCisgICAgZWRpdGluZ0JlaGF2aW9yID0gV2ViU2V0dGluZ3M6OkVkaXRpbmdCZWhhdmlvck1h
YzsKKyNlbHNlCisgICAgZWRpdGluZ0JlaGF2aW9yID0gV2ViU2V0dGluZ3M6OkVkaXRpbmdCZWhh
dmlvcldpbjsKKyNlbmRpZgorCisgICAgdGFic1RvTGlua3MgPSBmYWxzZTsKK30KKwordm9pZCBX
ZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIFdlYlNldHRp
bmdzKiBzZXR0aW5ncyA9IHdlYlZpZXctPnNldHRpbmdzKCk7CisgICAgc2V0dGluZ3MtPnNldEN1
cnNpdmVGb250RmFtaWx5KGN1cnNpdmVGb250RmFtaWx5KTsKKyAgICBzZXR0aW5ncy0+c2V0RmFu
dGFzeUZvbnRGYW1pbHkoZmFudGFzeUZvbnRGYW1pbHkpOworICAgIHNldHRpbmdzLT5zZXRTZXJp
ZkZvbnRGYW1pbHkoc2VyaWZGb250RmFtaWx5KTsKKyAgICBzZXR0aW5ncy0+c2V0U3RhbmRhcmRG
b250RmFtaWx5KHN0YW5kYXJkRm9udEZhbWlseSk7CisgICAgc2V0dGluZ3MtPnNldEZpeGVkRm9u
dEZhbWlseShmaXhlZEZvbnRGYW1pbHkpOworICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250
RmFtaWx5KHNhbnNTZXJpZkZvbnRGYW1pbHkpOworCisgICAgc2V0dGluZ3MtPnNldERlZmF1bHRG
b250U2l6ZShkZWZhdWx0Rm9udFNpemUpOworICAgIHNldHRpbmdzLT5zZXREZWZhdWx0Rml4ZWRG
b250U2l6ZShkZWZhdWx0Rml4ZWRGb250U2l6ZSk7CisgICAgc2V0dGluZ3MtPnNldE1pbmltdW1G
b250U2l6ZShtaW5pbXVtRm9udFNpemUpOworICAgIHNldHRpbmdzLT5zZXRNaW5pbXVtTG9naWNh
bEZvbnRTaXplKG1pbmltdW1Mb2dpY2FsRm9udFNpemUpOworCisgICAgc2V0dGluZ3MtPnNldERP
TVBhc3RlQWxsb3dlZChET01QYXN0ZUFsbG93ZWQpOworICAgIHNldHRpbmdzLT5zZXRYU1NBdWRp
dG9yRW5hYmxlZChYU1NBdWRpdG9yRW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldEFsbG93Rmls
ZUFjY2Vzc0Zyb21GaWxlVVJMcyhhbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMpOworICAgIHNl
dHRpbmdzLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChhdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldERlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKGRlZmF1
bHRUZXh0RW5jb2RpbmdOYW1lKTsKKyAgICBzZXR0aW5ncy0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChkZXZlbG9wZXJFeHRyYXNFbmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0SmF2YUVuYWJs
ZWQoamF2YUVuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xp
cGJvYXJkKGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQpOworICAgIHNldHRpbmdzLT5zZXRK
YXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KGphdmFTY3JpcHRDYW5PcGVuV2lu
ZG93c0F1dG9tYXRpY2FsbHkpOworICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChq
YXZhU2NyaXB0RW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseShsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOworICAgIHNldHRpbmdzLT5zZXRMb2NhbFN0
b3JhZ2VFbmFibGVkKGxvY2FsU3RvcmFnZUVuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRPZmZs
aW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQob2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVF
bmFibGVkKTsKKyAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQocGx1Z2luc0VuYWJsZWQp
OworICAgIHNldHRpbmdzLT5zZXRTaHJpbmtzU3RhbmRhbG9uZUltYWdlc1RvRml0KHNocmlua3NT
dGFuZGFsb25lSW1hZ2VzVG9GaXQpOworICAgIHNldHRpbmdzLT5zZXRUZXh0QXJlYXNBcmVSZXNp
emFibGUodGV4dEFyZWFzQXJlUmVzaXphYmxlKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNlclN0eWxl
U2hlZXRMb2NhdGlvbih1c2VyU3R5bGVTaGVldExvY2F0aW9uKTsKKyAgICBzZXR0aW5ncy0+c2V0
VXNlc1BhZ2VDYWNoZSh1c2VzUGFnZUNhY2hlKTsKKyAgICBzZXR0aW5ncy0+c2V0V2ViU2VjdXJp
dHlFbmFibGVkKHdlYlNlY3VyaXR5RW5hYmxlZCk7CisgICAgc2V0dGluZ3MtPnNldEFsbG93VW5p
dmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KTsKKyAgICBzZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yKGVkaXRpbmdCZWhhdmlvcik7Cisg
ICAgLy8gTGF5b3V0VGVzdHMgd2VyZSB3cml0dGVuIHdpdGggU2FmYXJpIE1hYyBpbiBtaW5kIHdo
aWNoIGRvZXMgbm90IGFsbG93CisgICAgLy8gdGFiYmluZyB0byBsaW5rcyBieSBkZWZhdWx0Lgor
ICAgIHdlYlZpZXctPnNldFRhYnNUb0xpbmtzKHRhYnNUb0xpbmtzKTsKKworICAgIC8vIEZpeGVk
IHZhbHVlcy4KKyAgICBzZXR0aW5ncy0+c2V0U2hvdWxkUGFpbnRDdXN0b21TY3JvbGxiYXJzKHRy
dWUpOworICAgIHNldHRpbmdzLT5zZXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2
aW9yTmV2ZXJJbmNsdWRlZCgpOworICAgIHNldHRpbmdzLT5zZXREb3dubG9hZGFibGVCaW5hcnlG
b250c0VuYWJsZWQodHJ1ZSk7CisgICAgc2V0dGluZ3MtPnNldEFsbG93U2NyaXB0c1RvQ2xvc2VX
aW5kb3dzKGZhbHNlKTsKKyAgICBzZXR0aW5ncy0+c2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3Mo
dHJ1ZSk7CisgICAgc2V0dGluZ3MtPnNldEVkaXRhYmxlTGlua0JlaGF2aW9yTmV2ZXJMaXZlKCk7
CisgICAgc2V0dGluZ3MtPnNldEZvbnRSZW5kZXJpbmdNb2RlTm9ybWFsKCk7CisgICAgc2V0dGlu
Z3MtPnNldFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3JOZXZlckluY2x1ZGVk
KCk7CisgICAgc2V0dGluZ3MtPnNldFVzZXNFbmNvZGluZ0RldGVjdG9yKGZhbHNlKTsKKyAgICBz
ZXR0aW5ncy0+c2V0SW1hZ2VzRW5hYmxlZCh0cnVlKTsKKworICAgIC8vIEZJWE1FOiBjcmJ1Zy5j
b20vNTE4NzkKKyAgICBzZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQo
ZmFsc2UpOworfQorCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJQcmVmZXJlbmNlcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViUHJlZmVyZW5jZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTk3YzE2NmFmZTU4NzA5MGQ3MDdjZDNl
OGY3ZjRkZDA0YTgwNTc4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtMCwwICsxLDg0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJQcmVmZXJlbmNlc19oCisjZGVmaW5lIFdlYlBlcmZlcmVuY2VzX2gKKworI2luY2x1ZGUgInB1
YmxpYy9XZWJTZXR0aW5ncy5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJTdHJpbmcuaCIKKyNpbmNs
dWRlICJwdWJsaWMvV2ViVVJMLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViVmll
dzsKK30KKworc3RydWN0IFdlYlByZWZlcmVuY2VzIHsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBj
dXJzaXZlRm9udEZhbWlseTsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBmYW50YXN5Rm9udEZhbWls
eTsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBzZXJpZkZvbnRGYW1pbHk7CisgICAgV2ViS2l0OjpX
ZWJTdHJpbmcgc3RhbmRhcmRGb250RmFtaWx5OworICAgIFdlYktpdDo6V2ViU3RyaW5nIGZpeGVk
Rm9udEZhbWlseTsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBzYW5zU2VyaWZGb250RmFtaWx5Owor
CisgICAgaW50IGRlZmF1bHRGb250U2l6ZTsKKyAgICBpbnQgZGVmYXVsdEZpeGVkRm9udFNpemU7
CisgICAgaW50IG1pbmltdW1Gb250U2l6ZTsKKyAgICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6
ZTsKKworICAgIGJvb2wgRE9NUGFzdGVBbGxvd2VkOworICAgIGJvb2wgWFNTQXVkaXRvckVuYWJs
ZWQ7CisgICAgYm9vbCBhbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHM7CisgICAgYm9vbCBhdXRo
b3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsKKyAgICBXZWJLaXQ6OldlYlN0cmluZyBkZWZhdWx0VGV4
dEVuY29kaW5nTmFtZTsKKyAgICBib29sIGRldmVsb3BlckV4dHJhc0VuYWJsZWQ7CisgICAgYm9v
bCBleHBlcmltZW50YWxXZWJHTEVuYWJsZWQ7CisgICAgYm9vbCBqYXZhRW5hYmxlZDsKKyAgICBi
b29sIGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQ7CisgICAgYm9vbCBqYXZhU2NyaXB0Q2Fu
T3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5OworICAgIGJvb2wgamF2YVNjcmlwdEVuYWJsZWQ7Cisg
ICAgYm9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk7CisgICAgYm9vbCBsb2NhbFN0b3JhZ2VF
bmFibGVkOworICAgIGJvb2wgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOworICAg
IGJvb2wgcGx1Z2luc0VuYWJsZWQ7CisgICAgYm9vbCBzaHJpbmtzU3RhbmRhbG9uZUltYWdlc1Rv
Rml0OworICAgIGJvb2wgdGV4dEFyZWFzQXJlUmVzaXphYmxlOworICAgIFdlYktpdDo6V2ViVVJM
IHVzZXJTdHlsZVNoZWV0TG9jYXRpb247CisgICAgYm9vbCB1c2VzUGFnZUNhY2hlOworICAgIGJv
b2wgd2ViU2VjdXJpdHlFbmFibGVkOworICAgIGJvb2wgYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHM7CisgICAgV2ViS2l0OjpXZWJTZXR0aW5nczo6RWRpdGluZ0JlaGF2aW9yIGVkaXRp
bmdCZWhhdmlvcjsKKyAgICBib29sIHRhYnNUb0xpbmtzOworCisgICAgV2ViUHJlZmVyZW5jZXMo
KSB7IHJlc2V0KCk7IH0KKyAgICB2b2lkIHJlc2V0KCk7CisgICAgdm9pZCBhcHBseVRvKFdlYktp
dDo6V2ViVmlldyopOworfTsKKworI2VuZGlmIC8vIFdlYlByZWZlcmVuY2VzX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>