<?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>87518</bug_id>
          
          <creation_ts>2012-05-25 11:18:17 -0700</creation_ts>
          <short_desc>[Chomium] Move sandboxSupport to Platform.h</short_desc>
          <delta_ts>2012-05-25 17:22:57 -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>WebKit Misc.</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>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634093</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-25 11:18:17 -0700</bug_when>
    <thetext>[Chomium] Move sandboxSupport to Platform.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634097</commentid>
    <comment_count>1</comment_count>
      <attachid>144105</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-25 11:19:51 -0700</bug_when>
    <thetext>Created attachment 144105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634102</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 11:23:33 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634400</commentid>
    <comment_count>3</comment_count>
      <attachid>144105</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-25 16:06:52 -0700</bug_when>
    <thetext>Comment on attachment 144105
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634468</commentid>
    <comment_count>4</comment_count>
      <attachid>144105</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 17:22:52 -0700</bug_when>
    <thetext>Comment on attachment 144105
Patch

Clearing flags on attachment: 144105

Committed r118590: &lt;http://trac.webkit.org/changeset/118590&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634469</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 17:22:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144105</attachid>
            <date>2012-05-25 11:19:51 -0700</date>
            <delta_ts>2012-05-25 17:22:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87518-20120525141921.patch</filename>
            <type>text/plain</type>
            <size>27148</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4NTQyKQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTI1ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hvbWl1bV0gTW92
ZSBzYW5kYm94U3VwcG9ydCB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzUxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0
cmFja2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBQbGF0Zm9ybS5neXBpOgorICAgICAgICAq
IGNocm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFBsYXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OnNhbmRib3hTdXBwb3J0KToK
KyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvYW5kcm9pZC9XZWJTYW5kYm94U3VwcG9ydC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTYW5kYm94U3VwcG9ydCk6Cisg
ICAgICAgICogY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYkZvbnRGYW1pbHkuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRm9udEZhbWlseSk6CisgICAgICAgICogY2hy
b21pdW0vcHVibGljL2xpbnV4L1dlYlNhbmRib3hTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYlNhbmRib3hTdXBwb3J0KToKKyAgICAgICAgKiBjaHJvbWl1
bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYlNhbmRib3hTdXBwb3J0KToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJs
aWMvd2luL1dlYlNhbmRib3hTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYlNhbmRib3hTdXBwb3J0KToKKwogMjAxMi0wNS0xNyAgQW5kcmV5IEtvc3lha292
ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gYWRkIGluc3RydW1l
bnRhdGlvbiBmb3IgY29tcG9zaXRpbmcKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5n
eXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCShyZXZpc2lv
biAxMTg1NDIpCisrKyBTb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQkod29ya2luZyBjb3B5
KQpAQCAtMTEyLDkgKzExMiwxMyBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJW
aWRlb0ZyYW1lLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1l
UHJvdmlkZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYldvcmtlclJ1bkxv
b3AuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL2FuZHJvaWQvV2ViU2FuZGJveFN1
cHBvcnQuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL2FuZHJvaWQvV2ViVGhlbWVF
bmdpbmUuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlNhbmRib3hT
dXBwb3J0LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJUaGVtZUVu
Z2luZS5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9tYWMvV2ViVGhlbWVFbmdpbmUu
aCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5o
JywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvd2luL1dlYlRoZW1lRW5naW5lLmgnLAog
ICAgICAgICAgICAgJ2Nocm9taXVtL3NyYy9QbGF0Zm9ybS5jcHAnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3NyYy9XZWJDU3RyaW5nLmNwcCcsCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21p
dW0vcHVibGljL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxMTg1NDIpCisrKyBTb3VyY2UvUGxhdGZv
cm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2
LDcgQEAgY2xhc3MgV2ViUGVlckNvbm5lY3Rpb25IYW5kbGVyOwogY2xhc3MgV2ViUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2xpZW50OwogY2xhc3MgV2ViVVJMOwogY2xhc3MgV2ViVVJMTG9hZGVyOwor
Y2xhc3MgV2ViU2FuZGJveFN1cHBvcnQ7CiBjbGFzcyBXZWJTb2NrZXRTdHJlYW1IYW5kbGU7CiBj
bGFzcyBXZWJUaGVtZUVuZ2luZTsKIGNsYXNzIFdlYlRocmVhZDsKQEAgLTgwLDYgKzgxLDkgQEAg
cHVibGljOgogICAgIC8vIE11c3QgcmV0dXJuIG5vbi1udWxsLgogICAgIHZpcnR1YWwgV2ViTWlt
ZVJlZ2lzdHJ5KiBtaW1lUmVnaXN0cnkoKSB7IHJldHVybiAwOyB9CiAKKyAgICAvLyBNYXkgcmV0
dXJuIG51bGwgaWYgc2FuZGJveCBzdXBwb3J0IGlzIG5vdCBuZWNlc3NhcnkKKyAgICB2aXJ0dWFs
IFdlYlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9ydCgpIHsgcmV0dXJuIDA7IH0KKwogICAg
IC8vIE1heSByZXR1cm4gbnVsbCBvbiBzb21lIHBsYXRmb3Jtcy4KICAgICB2aXJ0dWFsIFdlYlRo
ZW1lRW5naW5lKiB0aGVtZUVuZ2luZSgpIHsgcmV0dXJuIDA7IH0KIApJbmRleDogU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9hbmRyb2lkL1dlYlNhbmRib3hTdXBwb3J0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9hbmRyb2lkL1dlYlNhbmRi
b3hTdXBwb3J0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL2FuZHJvaWQvV2ViU2FuZGJveFN1cHBvcnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgV2ViU2FuZGJveFN1cHBvcnRfaAorI2RlZmluZSBXZWJTYW5kYm94U3VwcG9y
dF9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBFbXB0eSBjbGFzcywgYXMgd2UgbmVlZCBp
dCB0byBjb21waWxlLgorY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgeworcHVibGljOgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpJbmRleDogU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9saW51eC9XZWJGb250RmFtaWx5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJGb250RmFtaWx5LmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYkZvbnRGYW1p
bHkuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRm9udEZhbWlseV9o
CisjZGVmaW5lIFdlYkZvbnRGYW1pbHlfaAorCisjaW5jbHVkZSAiLi4vV2ViQ1N0cmluZy5oIgor
I2luY2x1ZGUgIi4uL1dlYkNvbW1vbi5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0
IFdlYkZvbnRGYW1pbHkgeworICAgIFdlYkNTdHJpbmcgbmFtZTsKKyAgICBib29sIGlzQm9sZDsK
KyAgICBib29sIGlzSXRhbGljOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBXZWJGb250RmFtaWx5X2gKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvbGludXgvV2ViU2FuZGJveFN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZv
cm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlNhbmRib3hTdXBwb3J0LmgJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlNhbmRib3hTdXBw
b3J0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNhbmRib3hTdXBw
b3J0X2gKKyNkZWZpbmUgV2ViU2FuZGJveFN1cHBvcnRfaAorCisjaW5jbHVkZSAiLi4vV2ViQ29t
bW9uLmgiCisjaW5jbHVkZSAiLi4vV2ViU3RyaW5nLmgiCisjaW5jbHVkZSAiV2ViRm9udEZhbWls
eS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFdlYkZvbnRSZW5kZXJTdHlsZTsK
KworLy8gUHV0IG1ldGhvZHMgaGVyZSB0aGF0IGFyZSByZXF1aXJlZCBkdWUgdG8gc2FuZGJveCBy
ZXN0cmljdGlvbnMuCitjbGFzcyBXZWJTYW5kYm94U3VwcG9ydCB7CitwdWJsaWM6CisgICAgLy8g
Rm9udHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyAgICAvLyBHZXQgYSBmb250IGZhbWlseSB3aGljaCBjb250YWlucyBn
bHlwaHMgZm9yIHRoZSBnaXZlbiBVbmljb2RlCisgICAgLy8gY29kZS1wb2ludHMuCisgICAgLy8g
ICBjaGFyYWN0ZXJzOiBhIFVURi0xNiBlbmNvZGVkIHN0cmluZworICAgIC8vICAgbnVtQ2hhcmFj
dGVyczogdGhlIG51bWJlciBvZiAxNi1iaXQgd29yZHMgaW4gfGNoYXJhY3RlcnN8CisgICAgLy8g
ICBwcmVmZXJyZWRMb2NhbGU6IHByZWZlcnJlZCBsb2NhbGUgaWRlbnRpZmllciBmb3IgdGhlIHxj
aGFyYWN0ZXJzfAorICAgIC8vICAgICAgICAgICAgICAgICAgICAoZS5nLiAiZW4iLCAiamEiLCAi
emgtQ04iKQorICAgIC8vCisgICAgLy8gUmV0dXJucyBhIHN0cmluZyB3aXRoIHRoZSBmb250IGZh
bWlseSBvbiBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlCisgICAgLy8gcmVxdWVzdCBjYW5ub3QgYmUg
c2F0aXNmaWVkLgorICAgIC8vIFJldHVybnMgYSBXZWJGb250RmFtaWx5IGluc3RhbmNlIHdpdGgg
dGhlIGZvbnQgbmFtZS4gVGhlIGluc3RhbmNlIGhhcyBlbXB0eSBmb250IG5hbWUgaWYgdGhlIHJl
cXVlc3QgY2Fubm90IGJlIHNhdGlzZmllZC4KKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHRvIGJl
IGEgcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGFmdGVyIHRyYW5zaXRpb24uCisgICAgdmlydHVhbCB2
b2lkIGdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNvbnN0IFdlYlVDaGFyKiBjaGFyYWN0ZXJz
LCBzaXplX3QgbnVtQ2hhcmFjdGVycywgY29uc3QgY2hhciogcHJlZmVycmVkTG9jYWxlLCBXZWJG
b250RmFtaWx5KikgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGdldFJlbmRlclN0eWxlRm9yU3Ry
aWtlKGNvbnN0IGNoYXIqIGZhbWlseSwgaW50IHNpemVBbmRTdHlsZSwgV2ViRm9udFJlbmRlclN0
eWxlKikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpJbmRleDog
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9tYWMvV2ViU2FuZGJveFN1cHBvcnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5k
Ym94U3VwcG9ydC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9tYWMvV2ViU2FuZGJveFN1cHBvcnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViU2FuZGJveFN1cHBvcnRfaAorI2RlZmluZSBXZWJTYW5kYm94U3VwcG9ydF9o
CisKK3R5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOworCisjaWZkZWYgX19PQkpDX18K
K0BjbGFzcyBOU0ZvbnQ7CisjZWxzZQorY2xhc3MgTlNGb250OworI2VuZGlmCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCisvLyBQdXQgbWV0aG9kcyBoZXJlIHRoYXQgYXJlIHJlcXVpcmVkIGR1ZSB0
byBzYW5kYm94IHJlc3RyaWN0aW9ucy4KK2NsYXNzIFdlYlNhbmRib3hTdXBwb3J0IHsKK3B1Ymxp
YzoKKyAgICAvLyBHaXZlbiBhbiBpbnB1dCBmb250IC0gfHNyY0ZvbnR8IFt3aGljaCBjYW4ndCBi
ZSBsb2FkZWQgZHVlIHRvIHNhbmRib3gKKyAgICAvLyByZXN0cmljdGlvbnNdLiBSZXR1cm4gYSBm
b250IGJlbG9uZ2luZyB0byBhbiBlcXVpdmFsZW50IGZvbnQgZmlsZQorICAgIC8vIHRoYXQgY2Fu
IGJlIHVzZWQgdG8gYWNjZXNzIHRoZSBmb250IGFuZCBhIHVuaXF1ZSBpZGVudGlmaWVyIGNvcnJl
c3BvbmRpbmcKKyAgICAvLyB0byB0aGUgb24tZGlzayBmb250IGZpbGUuCisgICAgLy8KKyAgICAv
LyBJZiB0aGlzIGZ1bmN0aW9uIHN1Y2NlZWRzLCB0aGUgY2FsbGVyIGFzc3VtZXMgb3duZXJzaGlw
IG9mIHRoZSB8b3V0fAorICAgIC8vIHBhcmFtZXRlciBhbmQgbXVzdCBjYWxsIENHRm9udFJlbGVh
c2UoKSB0byB1bmxvYWQgaXQgd2hlbiBkb25lLgorICAgIC8vCisgICAgLy8gUmV0dXJuczogdHJ1
ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBlcnJvci4KKyAgICB2aXJ0dWFsIGJvb2wgbG9hZEZvbnQo
TlNGb250KiBzcmNGb250LCBDR0ZvbnRSZWYqIG91dCwgdWludDMyX3QqIGZvbnRJRCkgPSAwOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpJbmRleDogU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy93aW4vV2ViU2FuZGJveFN1cHBvcnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5o
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy93aW4vV2Vi
U2FuZGJveFN1cHBvcnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
U2FuZGJveFN1cHBvcnRfaAorI2RlZmluZSBXZWJTYW5kYm94U3VwcG9ydF9oCisKK3R5cGVkZWYg
c3RydWN0IEhGT05UX18qIEhGT05UOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworLy8gUHV0IG1l
dGhvZHMgaGVyZSB0aGF0IGFyZSByZXF1aXJlZCBkdWUgdG8gc2FuZGJveCByZXN0cmljdGlvbnMu
CitjbGFzcyBXZWJTYW5kYm94U3VwcG9ydCB7CitwdWJsaWM6CisgICAgLy8gU29tZXRpbWVzIGEg
V2luMzIgQVBJIGNhbGwgd2lsbCBmYWlsIGJlY2F1c2UgYSBmb250IGlzIG5vdCBsb2FkZWQsCisg
ICAgLy8gYW5kIGR1ZSB0byBzYW5kYm94IHJlc3RyaWN0aW9ucywgdGhlIGN1cnJlbnQgcHJvY2Vz
cyBtYXkgYmUgdW5hYmxlCisgICAgLy8gdG8gYWNjZXNzIHRoZSBmaWxlc3lzdGVtIHRvIGxvYWQg
dGhlIGZvbnQuIFNvLCB0aGlzIGNhbGwgc2VydmVzIGFzCisgICAgLy8gYSBmYWlsb3ZlciB0byBh
c2sgdGhlIGVtYmVkZGVyIHRvIHRyeSBzb21lIG90aGVyIHdheSB0byBsb2FkIHRoZQorICAgIC8v
IGZvbnQgKHVzdWFsbHkgYnkgZGVsZWdhdGluZyB0byBhbiBlbXBvd2VyZWQgcHJvY2VzcyB0byBo
YXZlIGl0IGxvYWQKKyAgICAvLyB0aGUgZm9udCkuIFJldHVybnMgdHJ1ZSBpZiB0aGUgZm9udCB3
YXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4KKyAgICB2aXJ0dWFsIGJvb2wgZW5zdXJlRm9udExvYWRl
ZChIRk9OVCkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODU0MikKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMTItMDUtMjUgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtDaG9taXVtXSBNb3ZlIHNhbmRib3hTdXBwb3J0IHRvIFBsYXRmb3JtLmgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NTE4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9y
aW5nIHNlcmllcy4gU2VlIHRyYWNraW5nIGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIFdlYktpdC5n
eXA6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdFBsYXRmb3JtU3VwcG9ydCk6CisgICAg
ICAgICogcHVibGljL3BsYXRmb3JtL2FuZHJvaWQvV2ViU2FuZGJveFN1cHBvcnQuaDoKKyAgICAg
ICAgKiBwdWJsaWMvcGxhdGZvcm0vbGludXgvV2ViRm9udEZhbWlseS5oOgorICAgICAgICAqIHB1
YmxpYy9wbGF0Zm9ybS9saW51eC9XZWJTYW5kYm94U3VwcG9ydC5oOgorICAgICAgICAqIHB1Ymxp
Yy9wbGF0Zm9ybS9tYWMvV2ViU2FuZGJveFN1cHBvcnQuaDoKKyAgICAgICAgKiBwdWJsaWMvcGxh
dGZvcm0vd2luL1dlYlNhbmRib3hTdXBwb3J0Lmg6CisgICAgICAgICogc3JjL1BsYXRmb3JtU3Vw
cG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OmVuc3VyZUZvbnRM
b2FkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdXBwb3J0Ojpsb2FkRm9udCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OmdldEZvbnRGYW1pbHlGb3JDaGFyYWN0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3VwcG9ydDo6Z2V0UmVuZGVyU3R5bGVG
b3JTdHJpa2UpOgorCiAyMDEyLTA1LTI1ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkOyByb2xsaW5nIGNocm9taXVtIGRlcHMuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiAxMTg1NDIpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw5ICszMzks
NiBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViVVJMUmVxdWVzdC5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL1dlYlVSTFJlc3BvbnNlLmgnLAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViVmVjdG9yLmgnLAotICAgICAgICAgICAg
ICAgICdwdWJsaWMvcGxhdGZvcm0vYW5kcm9pZC9XZWJTYW5kYm94U3VwcG9ydC5oJywKLSAgICAg
ICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oJywKLSAg
ICAgICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL3dpbi9XZWJJbnB1dEV2ZW50RmFjdG9yeS5oJywKICAg
ICAgICAgICAgICAgICAncHVibGljL3dpbi9XZWJTYW5kYm94U3VwcG9ydC5oJywKICAgICAgICAg
ICAgICAgICAncHVibGljL3dpbi9XZWJTY3JlZW5JbmZvRmFjdG9yeS5oJywKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dl
YktpdFBsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMTg1NDIpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsMTYgKzUzLDEyIEBAIGNsYXNzIFdlYklEQktleTsgLy8gRklYTUU6IERv
ZXMgdGhpcyBiZWwKIGNsYXNzIFdlYklEQktleVBhdGg7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYmVs
b25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViTWVzc2FnZVBvcnRDaGFubmVsOyAvLyBGSVhNRTog
RG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYlBsdWdpbkxpc3RCdWlsZGVy
OyAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KLWNsYXNzIFdlYlNhbmRi
b3hTdXBwb3J0OwogY2xhc3MgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeTsgLy8gRklYTUU6IERv
ZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/CiBjbGFzcyBXZWJTdG9yYWdlTmFtZXNwYWNlOyAv
LyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIAogLy8gRklYTUU6IEV2ZW50
dWFsbHkgYWxsIHRoZXNlIEFQSSB3aWxsIG5lZWQgdG8gbW92ZSB0byBXZWJLaXQ6OlBsYXRmb3Jt
LgogY2xhc3MgV2ViS2l0UGxhdGZvcm1TdXBwb3J0IDogcHVibGljIFBsYXRmb3JtIHsKIHB1Ymxp
YzoKLSAgICAvLyBNYXkgcmV0dXJuIG51bGwgaWYgc2FuZGJveCBzdXBwb3J0IGlzIG5vdCBuZWNl
c3NhcnkKLSAgICB2aXJ0dWFsIFdlYlNhbmRib3hTdXBwb3J0KiBzYW5kYm94U3VwcG9ydCgpIHsg
cmV0dXJuIDA7IH0KLQogICAgIC8vIERPTSBTdG9yYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBSZXR1cm4gYSBMb2NhbFN0b3Jh
Z2UgbmFtZXNwYWNlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGZvbGxvd2luZyBwYXRoLgpJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vYW5kcm9pZC9XZWJTYW5k
Ym94U3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L3BsYXRmb3JtL2FuZHJvaWQvV2ViU2FuZGJveFN1cHBvcnQuaAkocmV2aXNpb24gMTE4NTQyKQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vYW5kcm9pZC9XZWJTYW5k
Ym94U3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNiArMjgsNCBAQAogICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0jaWZuZGVmIFdlYlNhbmRib3hTdXBwb3J0X2gKLSNkZWZpbmUgV2ViU2Fu
ZGJveFN1cHBvcnRfaAotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotLy8gRW1wdHkgY2xhc3MsIGFz
IHdlIG5lZWQgaXQgdG8gY29tcGlsZS4KLWNsYXNzIFdlYlNhbmRib3hTdXBwb3J0IHsKLXB1Ymxp
YzoKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi8u
Li8uLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvYW5kcm9pZC9XZWJTYW5kYm94U3Vw
cG9ydC5oIgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vbGlu
dXgvV2ViRm9udEZhbWlseS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL3BsYXRmb3JtL2xpbnV4L1dlYkZvbnRGYW1pbHkuaAkocmV2aXNpb24gMTE4NTQyKQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vbGludXgvV2ViRm9udEZh
bWlseS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwyMCArMjgsNCBAQAogICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaWZuZGVmIFdlYkZvbnRGYW1pbHlfaAotI2RlZmluZSBXZWJGb250RmFtaWx5X2gK
LQotI2luY2x1ZGUgIi4uL1dlYkNTdHJpbmcuaCIKLSNpbmNsdWRlICIuLi9XZWJDb21tb24uaCIK
LQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXN0cnVjdCBXZWJGb250RmFtaWx5IHsKLSAgICBXZWJD
U3RyaW5nIG5hbWU7Ci0gICAgYm9vbCBpc0JvbGQ7Ci0gICAgYm9vbCBpc0l0YWxpYzsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gV2ViRm9udEZhbWlseV9oCisjaW5j
bHVkZSAiLi4vLi4vLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYkZv
bnRGYW1pbHkuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3Jt
L2xpbnV4L1dlYlNhbmRib3hTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vbGludXgvV2ViU2FuZGJveFN1cHBvcnQuaAkocmV2aXNp
b24gMTE4NTQyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vbGlu
dXgvV2ViU2FuZGJveFN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMzggKzI4LDQgQEAK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXZWJTYW5kYm94U3VwcG9ydF9oCi0jZGVm
aW5lIFdlYlNhbmRib3hTdXBwb3J0X2gKLQotI2luY2x1ZGUgIi4uL1dlYkNvbW1vbi5oIgotI2lu
Y2x1ZGUgIi4uL1dlYlN0cmluZy5oIgotI2luY2x1ZGUgIldlYkZvbnRGYW1pbHkuaCIKLQotbmFt
ZXNwYWNlIFdlYktpdCB7Ci0KLXN0cnVjdCBXZWJGb250UmVuZGVyU3R5bGU7Ci0KLS8vIFB1dCBt
ZXRob2RzIGhlcmUgdGhhdCBhcmUgcmVxdWlyZWQgZHVlIHRvIHNhbmRib3ggcmVzdHJpY3Rpb25z
LgotY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgewotcHVibGljOgotICAgIC8vIEZvbnRzIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotCi0gICAgLy8gR2V0IGEgZm9udCBmYW1pbHkgd2hpY2ggY29udGFpbnMgZ2x5cGhzIGZvciB0
aGUgZ2l2ZW4gVW5pY29kZQotICAgIC8vIGNvZGUtcG9pbnRzLgotICAgIC8vICAgY2hhcmFjdGVy
czogYSBVVEYtMTYgZW5jb2RlZCBzdHJpbmcKLSAgICAvLyAgIG51bUNoYXJhY3RlcnM6IHRoZSBu
dW1iZXIgb2YgMTYtYml0IHdvcmRzIGluIHxjaGFyYWN0ZXJzfAotICAgIC8vICAgcHJlZmVycmVk
TG9jYWxlOiBwcmVmZXJyZWQgbG9jYWxlIGlkZW50aWZpZXIgZm9yIHRoZSB8Y2hhcmFjdGVyc3wK
LSAgICAvLyAgICAgICAgICAgICAgICAgICAgKGUuZy4gImVuIiwgImphIiwgInpoLUNOIikKLSAg
ICAvLwotICAgIC8vIFJldHVybnMgYSBzdHJpbmcgd2l0aCB0aGUgZm9udCBmYW1pbHkgb24gYW4g
ZW1wdHkgc3RyaW5nIGlmIHRoZQotICAgIC8vIHJlcXVlc3QgY2Fubm90IGJlIHNhdGlzZmllZC4K
LSAgICAvLyBSZXR1cm5zIGEgV2ViRm9udEZhbWlseSBpbnN0YW5jZSB3aXRoIHRoZSBmb250IG5h
bWUuIFRoZSBpbnN0YW5jZSBoYXMgZW1wdHkgZm9udCBuYW1lIGlmIHRoZSByZXF1ZXN0IGNhbm5v
dCBiZSBzYXRpc2ZpZWQuCi0gICAgLy8gRklYTUU6IE1ha2UgdGhpcyB0byBiZSBhIHB1cmUgdmly
dHVhbCBmdW5jdGlvbiBhZnRlciB0cmFuc2l0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBnZXRGb250
RmFtaWx5Rm9yQ2hhcmFjdGVycyhjb25zdCBXZWJVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IG51
bUNoYXJhY3RlcnMsIGNvbnN0IGNoYXIqIHByZWZlcnJlZExvY2FsZSwgV2ViRm9udEZhbWlseSop
ID0gMDsKLQotICAgIHZpcnR1YWwgdm9pZCBnZXRSZW5kZXJTdHlsZUZvclN0cmlrZShjb25zdCBj
aGFyKiBmYW1pbHksIGludCBzaXplQW5kU3R5bGUsIFdlYkZvbnRSZW5kZXJTdHlsZSogc3R5bGUp
ID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKKyNpbmNsdWRlICIu
Li8uLi8uLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvbGludXgvV2ViU2FuZGJveFN1
cHBvcnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL21h
Yy9XZWJTYW5kYm94U3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL3BsYXRmb3JtL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCShyZXZpc2lvbiAxMTg1
NDIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9tYWMvV2ViU2Fu
ZGJveFN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMzQgKzI4LDQgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXZWJTYW5kYm94U3VwcG9ydF9oCi0jZGVmaW5lIFdlYlNh
bmRib3hTdXBwb3J0X2gKLQotdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7Ci0KLSNp
ZmRlZiBfX09CSkNfXwotQGNsYXNzIE5TRm9udDsKLSNlbHNlCi1jbGFzcyBOU0ZvbnQ7Ci0jZW5k
aWYKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLS8vIFB1dCBtZXRob2RzIGhlcmUgdGhhdCBhcmUg
cmVxdWlyZWQgZHVlIHRvIHNhbmRib3ggcmVzdHJpY3Rpb25zLgotY2xhc3MgV2ViU2FuZGJveFN1
cHBvcnQgewotcHVibGljOgotICAgIC8vIEdpdmVuIGFuIGlucHV0IGZvbnQgLSB8c3JjRm9udHwg
W3doaWNoIGNhbid0IGJlIGxvYWRlZCBkdWUgdG8gc2FuZGJveAotICAgIC8vIHJlc3RyaWN0aW9u
c10uIFJldHVybiBhIGZvbnQgYmVsb25naW5nIHRvIGFuIGVxdWl2YWxlbnQgZm9udCBmaWxlCi0g
ICAgLy8gdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGZvbnQgYW5kIGEgdW5pcXVlIGlk
ZW50aWZpZXIgY29ycmVzcG9uZGluZwotICAgIC8vIHRvIHRoZSBvbi1kaXNrIGZvbnQgZmlsZS4K
LSAgICAvLwotICAgIC8vIElmIHRoaXMgZnVuY3Rpb24gc3VjY2VlZHMsIHRoZSBjYWxsZXIgYXNz
dW1lcyBvd25lcnNoaXAgb2YgdGhlIHxvdXR8Ci0gICAgLy8gcGFyYW1ldGVyIGFuZCBtdXN0IGNh
bGwgQ0dGb250UmVsZWFzZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCi0gICAgLy8KLSAgICAv
LyBSZXR1cm5zOiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yLgotICAgIHZpcnR1YWwg
Ym9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIENHRm9udFJlZiogb3V0LCB1aW50MzJfdCog
Zm9udElEKSA9IDA7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCisjaW5j
bHVkZSAiLi4vLi4vLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5k
Ym94U3VwcG9ydC5oIgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZv
cm0vd2luL1dlYlNhbmRib3hTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vd2luL1dlYlNhbmRib3hTdXBwb3J0LmgJKHJldmlzaW9u
IDExODU0MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL3dpbi9X
ZWJTYW5kYm94U3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwyNSArMjgsNCBAQAogICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFdlYlNhbmRib3hTdXBwb3J0X2gKLSNkZWZpbmUg
V2ViU2FuZGJveFN1cHBvcnRfaAotCi10eXBlZGVmIHN0cnVjdCBIRk9OVF9fKiBIRk9OVDsKLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLS8vIFB1dCBtZXRob2RzIGhlcmUgdGhhdCBhcmUgcmVxdWly
ZWQgZHVlIHRvIHNhbmRib3ggcmVzdHJpY3Rpb25zLgotY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQg
ewotcHVibGljOgotICAgIC8vIFNvbWV0aW1lcyBhIFdpbjMyIEFQSSBjYWxsIHdpbGwgZmFpbCBi
ZWNhdXNlIGEgZm9udCBpcyBub3QgbG9hZGVkLAotICAgIC8vIGFuZCBkdWUgdG8gc2FuZGJveCBy
ZXN0cmljdGlvbnMsIHRoZSBjdXJyZW50IHByb2Nlc3MgbWF5IGJlIHVuYWJsZQotICAgIC8vIHRv
IGFjY2VzcyB0aGUgZmlsZXN5c3RlbSB0byBsb2FkIHRoZSBmb250LiBTbywgdGhpcyBjYWxsIHNl
cnZlcyBhcwotICAgIC8vIGEgZmFpbG92ZXIgdG8gYXNrIHRoZSBlbWJlZGRlciB0byB0cnkgc29t
ZSBvdGhlciB3YXkgdG8gbG9hZCB0aGUKLSAgICAvLyBmb250ICh1c3VhbGx5IGJ5IGRlbGVnYXRp
bmcgdG8gYW4gZW1wb3dlcmVkIHByb2Nlc3MgdG8gaGF2ZSBpdCBsb2FkCi0gICAgLy8gdGhlIGZv
bnQpLiBSZXR1cm5zIHRydWUgaWYgdGhlIGZvbnQgd2FzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuCi0g
ICAgdmlydHVhbCBib29sIGVuc3VyZUZvbnRMb2FkZWQoSEZPTlQpID0gMDsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi8uLi8uLi8uLi8uLi9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvd2luL1dlYlNhbmRib3hTdXBwb3J0LmgiCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAJKHJldmlzaW9u
IDExODU0MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNCw3ICs0MTQsNyBAQCBQYXNzT3duUHRyPEFzeW5jRmls
ZVN5c3RlbT4gUGxhdGZvcm1TdXBwCiAjaWYgT1MoV0lORE9XUykKIGJvb2wgUGxhdGZvcm1TdXBw
b3J0OjplbnN1cmVGb250TG9hZGVkKEhGT05UIGZvbnQpCiB7Ci0gICAgV2ViU2FuZGJveFN1cHBv
cnQqIHNzID0gd2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPnNhbmRib3hTdXBwb3J0KCk7CisgICAg
V2ViU2FuZGJveFN1cHBvcnQqIHNzID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5k
Ym94U3VwcG9ydCgpOwogCiAgICAgLy8gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCwgdGhlbiB3ZSBj
YW4gYXNzdW1lIHRoZSBmb250CiAgICAgLy8gd2FzIGFibGUgdG8gYmUgbG9hZGVkIHN1Y2Nlc3Nm
dWxseSBhbHJlYWR5CkBAIC00MjUsNyArNDI1LDcgQEAgYm9vbCBQbGF0Zm9ybVN1cHBvcnQ6OmVu
c3VyZUZvbnRMb2FkZWQoSAogI2lmIE9TKERBUldJTikKIGJvb2wgUGxhdGZvcm1TdXBwb3J0Ojps
b2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIENHRm9udFJlZiogb3V0LCB1aW50MzJfdCogZm9udElE
KQogewotICAgIFdlYlNhbmRib3hTdXBwb3J0KiBzcyA9IHdlYktpdFBsYXRmb3JtU3VwcG9ydCgp
LT5zYW5kYm94U3VwcG9ydCgpOworICAgIFdlYlNhbmRib3hTdXBwb3J0KiBzcyA9IFdlYktpdDo6
UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKICAgICBpZiAoc3MpCiAgICAg
ICAgIHJldHVybiBzcy0+bG9hZEZvbnQoc3JjRm9udCwgb3V0LCBmb250SUQpOwogCkBAIC00NDgs
OCArNDQ4LDggQEAgdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OmdldEZvbnRGYW1pbHlGb3JDaAogICAg
IGZhbWlseS0+aXNJdGFsaWMgPSBmYWxzZTsKICNlbHNlCiAgICAgV2ViRm9udEZhbWlseSB3ZWJG
YW1pbHk7Ci0gICAgaWYgKHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5zYW5kYm94U3VwcG9ydCgp
KQotICAgICAgICB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+c2FuZGJveFN1cHBvcnQoKS0+Z2V0
Rm9udEZhbWlseUZvckNoYXJhY3RlcnMoY2hhcmFjdGVycywgbnVtQ2hhcmFjdGVycywgcHJlZmVy
cmVkTG9jYWxlLCAmd2ViRmFtaWx5KTsKKyAgICBpZiAoV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVu
dCgpLT5zYW5kYm94U3VwcG9ydCgpKQorICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50
KCktPnNhbmRib3hTdXBwb3J0KCktPmdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNoYXJhY3Rl
cnMsIG51bUNoYXJhY3RlcnMsIHByZWZlcnJlZExvY2FsZSwgJndlYkZhbWlseSk7CiAgICAgZWxz
ZQogICAgICAgICBXZWJGb250SW5mbzo6ZmFtaWx5Rm9yQ2hhcnMoY2hhcmFjdGVycywgbnVtQ2hh
cmFjdGVycywgcHJlZmVycmVkTG9jYWxlLCAmd2ViRmFtaWx5KTsKICAgICBmYW1pbHktPm5hbWUg
PSBTdHJpbmc6OmZyb21VVEY4KHdlYkZhbWlseS5uYW1lLmRhdGEoKSwgd2ViRmFtaWx5Lm5hbWUu
bGVuZ3RoKCkpOwpAQCAtNDYzLDggKzQ2Myw4IEBAIHZvaWQgUGxhdGZvcm1TdXBwb3J0OjpnZXRS
ZW5kZXJTdHlsZUZvclMKICNpZiAhT1MoQU5EUk9JRCkKICAgICBXZWJGb250UmVuZGVyU3R5bGUg
c3R5bGU7CiAKLSAgICBpZiAod2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPnNhbmRib3hTdXBwb3J0
KCkpCi0gICAgICAgIHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5zYW5kYm94U3VwcG9ydCgpLT5n
ZXRSZW5kZXJTdHlsZUZvclN0cmlrZShmb250LCBzaXplQW5kU3R5bGUsICZzdHlsZSk7CisgICAg
aWYgKFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+c2FuZGJveFN1cHBvcnQoKSkKKyAgICAg
ICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5zYW5kYm94U3VwcG9ydCgpLT5nZXRSZW5k
ZXJTdHlsZUZvclN0cmlrZShmb250LCBzaXplQW5kU3R5bGUsICZzdHlsZSk7CiAgICAgZWxzZQog
ICAgICAgICBXZWJGb250SW5mbzo6cmVuZGVyU3R5bGVGb3JTdHJpa2UoZm9udCwgc2l6ZUFuZFN0
eWxlLCAmc3R5bGUpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>