<?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>124850</bug_id>
          
          <creation_ts>2013-11-25 11:49:00 -0800</creation_ts>
          <short_desc>[Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards</short_desc>
          <delta_ts>2013-11-25 12:49:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>123065</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954054</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-25 11:49:00 -0800</bug_when>
    <thetext>[Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954057</commentid>
    <comment_count>1</comment_count>
      <attachid>217820</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-25 12:09:45 -0800</bug_when>
    <thetext>Created attachment 217820
Guard all Cocoa API headers and implementations with WK_API_ENABLED, except WKView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954063</commentid>
    <comment_count>2</comment_count>
      <attachid>217820</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-25 12:49:32 -0800</bug_when>
    <thetext>Comment on attachment 217820
Guard all Cocoa API headers and implementations with WK_API_ENABLED, except WKView

Clearing flags on attachment: 217820

Committed r159760: &lt;http://trac.webkit.org/changeset/159760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954064</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-25 12:49:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217820</attachid>
            <date>2013-11-25 12:09:45 -0800</date>
            <delta_ts>2013-11-25 12:49:31 -0800</delta_ts>
            <desc>Guard all Cocoa API headers and implementations with WK_API_ENABLED, except WKView</desc>
            <filename>bug-124850-20131125120950.patch</filename>
            <type>text/plain</type>
            <size>47461</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDkyIEBACisyMDEzLTExLTI1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQdXQgbW9zdCBvZiB0
aGUgQ29jb2EgQVBJIGJlaGluZCBXS19BUElfRU5BQkxFRCBndWFyZHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg1MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEd1YXJkZWQgYWxsIENvY29hIEFQSSBo
ZWFkZXJzIGFuZCBpbXBsZW1lbnRhdGlvc24gd2l0aCBXS19BUElfRU5BQkxFRC4gTGVmdCB0aGUg
V0tWaWV3IGNsYXNzCisgICAgICAgIHVuZ3VhcmRlZCwgYnV0IGxpbWl0ZWQgaXRzIEFQSS4KKwor
ICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvV0tGb3VuZGF0aW9uLmg6IFJlcGxhY2VkIE9CSl9W
SVNJQkxFIHdpdGggYW4gZXhwbGljaXQgYXR0cmlidXRlLgorICAgICAgICAqIFNoYXJlZC9BUEkv
Q29jb2EvV0tSZW1vdGVPYmplY3RDb2Rlci5tbTogTW92ZWQgI2lmIFdLX0FQSV9FTkFCTEVEIGJl
Zm9yZSB0aGUgcmVzdCBvZiB0aGUKKyAgICAgICAgaW1wb3J0cy4KKyAgICAgICAgKiBTaGFyZWQv
QVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tOiBEaXR0by4KKyAgICAgICAgKiBT
aGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW06IERpdHRvLgorICAgICAg
ICAqIFNoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUuaDogRGl0
dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyLmg6IEd1YXJkZWQgYWxsIGRlY2xhcmF0aW9ucyB3aXRoCisgICAgICAgIFdLX0FQSV9FTkFC
TEVELCBjaGFuZ2VkIHRvIHVzZSBXS19BUElfQ0xBU1MgaW5zdGVhZCBvZiBXS19FWFBPUlQuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1t
OiBHdWFyZGVkIGV2ZXJ5dGhpbmcgd2l0aCBXS19BUElfRU5BQkxFRC4KKyAgICAgICAgKC1bV0tC
cm93c2luZ0NvbnRleHRDb250cm9sbGVyIGRlYWxsb2NdKToKKyAgICAgICAgKC1bV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyIHNldFBvbGljeURlbGVnYXRlOl0pOgorICAgICAgICAoLVtXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIgYmFja0ZvcndhcmRMaXN0XSk6CisgICAgICAgIChkaWRD
aGFuZ2VCYWNrRm9yd2FyZExpc3QpOgorICAgICAgICAoc2V0VXBQYWdlTG9hZGVyQ2xpZW50KToK
KyAgICAgICAgKHNldFVwUGFnZVBvbGljeUNsaWVudCk6CisgICAgICAgICgtW1dLQnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlciBfaW5pdFdpdGhQYWdlUmVmOl0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmg6IERpdHRvLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlclBy
aXZhdGUuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0Nv
bnRleHRHcm91cC5oOiBHdWFyZGVkIGFsbCBkZWNsYXJhdGlvbnMgd2l0aCBXS19BUElfRU5BQkxF
RCwKKyAgICAgICAgY2hhbmVnZCB0byB1c2UgV0tfQVBJX0NMQVNTIGluc3RlYWQgb2YgV0tfRVhQ
T1JULgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAu
bW06IFJlbW92ZWQgcmVkdW5kYW50IGltcG9ydCwgZ3VhcmRlZCBldmVyeXRoaW5nCisgICAgICAg
IHdpdGggV0tfQVBJX0VOQUJMRUQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93
c2luZ0NvbnRleHRHcm91cFByaXZhdGUuaDogR3VhcmRlZCB3aXRoIFdLX0FQSV9FTkFCTEVELgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVsZWdh
dGUuaDogQWRkZWQgbmVjZXNzYXJ5IGltcG9ydC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21h
Yy9XS0Nvbm5lY3Rpb24uaDogR3VhcmRlZCBhbGwgZGVjbGFyYXRpb25zIHdpdGggV0tfQVBJX0VO
QUJMRUQsIGNoYW5lZ2QgdG8KKyAgICAgICAgdXNlIFdLX0FQSV9DTEFTUyBpbnN0ZWFkIG9mIFdL
X0VYUE9SVC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS0Nvbm5lY3Rpb24ubW06IEd1
YXJkZWQgZXZlcnl0aGluZyB3aXRoIFdLX0FQSV9FTkFCTEVELgorICAgICAgICAoLVtXS0Nvbm5l
Y3Rpb24gcmVtb3RlT2JqZWN0UmVnaXN0cnldKToKKyAgICAgICAgKGRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS0Nvbm5lY3Rpb25JbnRlcm5hbC5oOiBH
dWFyZGVkIHRoZSBkZWxjYXJhdGlvbnMgd2l0aCBXS19BUElfRU5BQkxFRC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL21hYy9XS1Byb2Nlc3NHcm91cC5oOiBEaXR0by4gQWxzbyBjaGFuZ2VkIHRv
IHVzZSBXS19BUElfQ0xBU1MgaW5zdGVhZCBvZgorICAgICAgICBXS19FWFBPUlQuCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvV0tQcm9jZXNzR3JvdXAubW06IEd1YXJkZWQgZXZlcnl0aGlu
ZyB3aXRoIFdLX0FQSV9FTkFCTEVELgorICAgICAgICAoLVtXS1Byb2Nlc3NHcm91cCBpbml0V2l0
aEluamVjdGVkQnVuZGxlVVJMOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLUHJv
Y2Vzc0dyb3VwUHJpdmF0ZS5oOiBHdWFyZGVkIHRoZSBkZWNsYXJhdGlvbnMgd2l0aCBXS19BUElf
RU5BQkxFRC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1R5cGVSZWZXcmFwcGVyLmg6
IE1vdmVkICNpZiBXS19BUElfRU5BQkxFRCBiZWZvcmUgdGhlIHJlc3Qgb2YgdGhlCisgICAgICAg
IGltcG9ydHMsIGNoYW5nZWQgdG8gdXNlIFdLX0FQSV9DTEFTUyBpbnN0ZWFkIG9mIFdLX0VYUE9S
VC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1R5cGVSZWZXcmFwcGVyLm1tOiBSZW1v
dmVkIGVtcHR5IGxpbmUgYWZ0ZXIgI2ltcG9ydCAiY29uZmlnLmgiLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvbWFjL1dLVmlldy5oOiBBZGRlZCAjaWYgV0tfQVBJX0VOQUJMRUQgYXJvdW5kIEFQ
SSB0aGF0IHVzZXMgb3RoZXIgQ29jb2EgQVBJCisgICAgICAgIHR5cGVzLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbTogQWRkZWQgI2lmIFdLX0FQSV9FTkFCTEVEIGFyb3Vu
ZCBpbXBsZW1lbnRhdGlvbnMgb2YgbWV0aG9kcworICAgICAgICB0aGF0IGFyZSBvbmx5IGRlY2xh
cmVkIHdoZW4gdGhlIEFQSSBpcyBlbmFibGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlld0ludGVybmFsLmg6IFJlb3JkZXJlZCBpbXBvcnRzLgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbTogQWRkZWQgY29tbWVudCB0byAj
ZW5kaWYuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKTogR3Vh
cmRlZCB1c2Ugb2YKKyAgICAgICAgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHdpdGggV0tf
QVBJX0VOQUJMRUQuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlh
bGl6ZU5ldHdvcmtQcm9jZXNzKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJD
b250ZXh0TWVudVByb3h5TWFjLm1tOiBSZW1vdmVkIG5ld2xpbmUgYmV0d2VlbiBpbXBvcnRzLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50
Lmg6IE1vdmVkICNpZiBXS19BUElfRU5BQkxFRCBiZWZvcmUgdGhlCisgICAgICAgIHJlc3Qgb2Yg
dGhlIGltcG9ydHMsIGFuZCBjaGFuZ2VkIHRvIHVzZSBXS19BUElfQ0xBU1MgaW5zdGVhZCBvZiBX
S19FWFBPUlQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
RE9NRG9jdW1lbnQubW06IFJlbW92ZWQgbmV3bGluZSBhZnRlciAjaW1wb3J0CisgICAgICAgICJj
b25maWcuaCIuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
RE9NRWxlbWVudC5oOiBNb3ZlZCAjaWYgV0tfQVBJX0VOQUJMRUQgYmVmb3JlIHRoZQorICAgICAg
ICByZXN0IG9mIHRoZSBpbXBvcnRzLCBhbmQgY2hhbmdlZCB0byB1c2UgV0tfQVBJX0NMQVNTIGlu
c3RlYWQgb2YgV0tfRVhQT1JULgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS0RPTUVsZW1lbnQubW06IFJlbW92ZWQgbmV3bGluZSBhZnRlciAjaW1wb3J0Cisg
ICAgICAgICJjb25maWcuaCIuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvbWFjL1dLRE9NSW50ZXJuYWxzLm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Ob2RlLmg6IE1vdmVkICNpZiBXS19BUElfRU5BQkxF
RCBiZWZvcmUgdGhlCisgICAgICAgIHJlc3Qgb2YgdGhlIGltcG9ydHMsIGFuZCBjaGFuZ2VkIHRv
IHVzZSBXS19BUElfQ0xBU1MgaW5zdGVhZCBvZiBXS19FWFBPUlQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NTm9kZS5tbTogUmVtb3ZlZCByZWR1bmRh
bnQgaW1wb3J0LgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9X
S0RPTVJhbmdlLmg6ICBNb3ZlZCAjaWYgV0tfQVBJX0VOQUJMRUQgYmVmb3JlIHRoZQorICAgICAg
ICByZXN0IG9mIHRoZSBpbXBvcnRzLCBhbmQgY2hhbmdlZCB0byB1c2UgV0tfQVBJX0NMQVNTIGlu
c3RlYWQgb2YgV0tfRVhQT1JULgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS0RPTVJhbmdlLm1tOiBSZW1vdmVkIG5ld2xpbmUgYW5kIHJlZHVuZGFudCBpbXBv
cnQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4
dC5oOiBNb3ZlZCAjaWYgV0tfQVBJX0VOQUJMRUQgYmVmb3JlIHRoZQorICAgICAgICByZXN0IG9m
IHRoZSBpbXBvcnRzLCBhbmQgY2hhbmdlZCB0byB1c2UgV0tfQVBJX0NMQVNTIGluc3RlYWQgb2Yg
V0tfRVhQT1JULgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9X
S0RPTVRleHRJdGVyYXRvci5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0b3IubW06IFJlbW92ZWQgbmV3bGluZSBhZnRl
cgorICAgICAgICAjaW1wb3J0ICJjb25maWcuaCIuCisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oOiBNb3ZlZCAjaWYgV0tfQVBJ
X0VOQUJMRUQgYmVmb3JlCisgICAgICAgIHRoZSByZXN0IG9mIHRoZSBpbXBvcnRzLCBhbmQgY2hh
bmdlZCB0byB1c2UgV0tfQVBJX0NMQVNTIGluc3RlYWQgb2YgV0tfRVhQT1JULgorICAgICAgICAq
IFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW06
IFJlbW92ZWQgbmV3bGluZSBhbmQgcmVkdW5kYW50CisgICAgICAgIGltcG9ydHMuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlci5oOiAgTW92ZWQgI2lmCisgICAgICAgIFdLX0FQSV9FTkFC
TEVEIGJlZm9yZSB0aGUgcmVzdCBvZiB0aGUgaW1wb3J0cywgYW5kIGNoYW5nZWQgdG8gdXNlIFdL
X0FQSV9DTEFTUyBpbnN0ZWFkIG9mCisgICAgICAgIFdLX0VYUE9SVC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyLm1tOiBSZW1vdmVkCisgICAgICAgIG5ld2xpbmUgYWZ0ZXIgI2ltcG9y
dCAiY29uZmlnLmgiLgorCiAyMDEzLTExLTIyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgV2ViUGFnZUdyb3VwJ3Mgc2hvdWxkIGtlZXAgdHJhY2sgb2Ygd2hhdCBwcm9j
ZXNzZXMgdGhleSBhcmUgYmVpbmcgdXNlZCBieQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9Db2NvYS9XS0ZvdW5kYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0NvY29hL1dLRm91bmRhdGlvbi5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLRm91bmRhdGlvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw2ICszMSw2IEBACiAjZGVmaW5lIFdLX0FQSV9DTEFTUyBOU19DTEFTU19BVkFJTEFC
TEVfSU9TKDdfMCkKICNlbHNlCiAjZGVmaW5lIFdLX0FQSV9FTkFCTEVEIChkZWZpbmVkKF9fY2xh
bmdfXykgJiYgZGVmaW5lZChfX0FQUExFX18pICYmICFkZWZpbmVkKF9faTM4Nl9fKSkKLSNkZWZp
bmUgV0tfQVBJX0NMQVNTIE9CSkNfVklTSUJMRQorI2RlZmluZSBXS19BUElfQ0xBU1MgX19hdHRy
aWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKICNlbmRpZgogI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0Q29kZXIubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVj
dENvZGVyLm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L0NvY29hL1dLUmVtb3RlT2JqZWN0Q29kZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2
LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tSZW1vdGVPYmplY3RDb2Rlci5o
IgogCisjaWYgV0tfQVBJX0VOQUJMRUQKKwogI2ltcG9ydCAiQVBJQXJyYXkuaCIKICNpbXBvcnQg
Ik11dGFibGVEaWN0aW9uYXJ5LmgiCiAjaW1wb3J0ICJXS1JlbW90ZU9iamVjdEludGVyZmFjZUlu
dGVybmFsLmgiCkBAIC0zNyw4ICszOSw2IEBACiAjaW1wb3J0IDx3dGYvVGVtcG9yYXJ5Q2hhbmdl
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBXS19BUElfRU5BQkxFRAot
CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY2xhc3NOYW1lS2V5ID0gIiRjbGFzcyI7CiBzdGF0
aWMgY29uc3QgY2hhciogY29uc3Qgb2JqZWN0U3RyZWFtS2V5ID0gIiRvYmplY3RTdHJlYW0iOwog
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2Ev
V0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI2LDEzICsyNiwxMyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJXS1JlbW90ZU9iamVjdEludGVyZmFjZS5oIgogCisjaWYgV0tfQVBJX0VOQUJMRUQKKwogI2lt
cG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi0jaWYgV0tfQVBJX0VO
QUJMRUQKLQogZXh0ZXJuICJDIgogY29uc3QgY2hhciAqX3Byb3RvY29sX2dldE1ldGhvZFR5cGVF
bmNvZGluZyhQcm90b2NvbCAqcCwgU0VMIHNlbCwgQk9PTCBpc1JlcXVpcmVkTWV0aG9kLCBCT09M
IGlzSW5zdGFuY2VNZXRob2QpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0Nv
Y29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tCShyZXZpc2lvbiAx
NTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0
UmVnaXN0cnkubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVybmFsLmgiCiAKKyNp
ZiBXS19BUElfRU5BQkxFRAorCiAjaW1wb3J0ICJDb25uZWN0aW9uLmgiCiAjaW1wb3J0ICJJbW11
dGFibGVEaWN0aW9uYXJ5LmgiCiAjaW1wb3J0ICJNdXRhYmxlRGljdGlvbmFyeS5oIgpAQCAtMzYs
OCArMzgsNiBAQAogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDb25u
ZWN0aW9uLmgiCiAKLSNpZiBXS19BUElfRU5BQkxFRAotCiBjb25zdCBjaGFyKiBjb25zdCBtZXNz
YWdlTmFtZSA9ICJXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZSI7CiAKIGNvbnN0IGNoYXIq
IGNvbnN0IGVuY29kZWRJbnZvY2F0aW9uS2V5ID0gImVuY29kZWRJbnZvY2F0aW9uIjsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3RyeVBy
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dL
UmVtb3RlT2JqZWN0UmVnaXN0cnlQcml2YXRlLmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3RyeVByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTIgKzI0LDEyIEBACiAgKi8KIAogI2ltcG9ydCA8V2Vi
S2l0Mi9XS0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktpdDIvV0tSZW1vdGVPYmplY3RSZWdp
c3RyeS5oPgotCi0jaW1wb3J0IDxXZWJLaXQyL1dLQmFzZS5oPgogCiAjaWYgV0tfQVBJX0VOQUJM
RUQKIAorI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNpbXBvcnQgPFdlYktpdDIvV0tSZW1v
dGVPYmplY3RSZWdpc3RyeS5oPgorCiBAaW50ZXJmYWNlIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkg
KFdLUHJpdmF0ZSkKIAogLSAoaWQpX2luaXRXaXRoQ29ubmVjdGlvblJlZjooV0tDb25uZWN0aW9u
UmVmKWNvbm5lY3Rpb25SZWY7CkBAIC0zNyw0ICszNyw0IEBACiAKIEBlbmQKIAotI2VuZGlmCisj
ZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5o
CShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9X
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQs
MTAgQEAKICAqLwogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQg
PFdlYktpdDIvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNpbXBvcnQgPFdlYktpdDIvV0tG
b3VuZGF0aW9uLmg+CiAKKyNpZiBXS19BUElfRU5BQkxFRAorCiBAY2xhc3MgV0tCcm93c2luZ0Nv
bnRleHRDb250cm9sbGVyRGF0YTsKIEBjbGFzcyBXS0JhY2tGb3J3YXJkTGlzdDsKIEBjbGFzcyBX
S0JhY2tGb3J3YXJkTGlzdEl0ZW07CkBAIC0zNCw3ICszNSw3IEBACiBAcHJvdG9jb2wgV0tCcm93
c2luZ0NvbnRleHRMb2FkRGVsZWdhdGU7CiBAcHJvdG9jb2wgV0tCcm93c2luZ0NvbnRleHRQb2xp
Y3lEZWxlZ2F0ZTsKIAotV0tfRVhQT1JUCitXS19BUElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyIDogTlNPYmplY3QgewogQHByaXZhdGUKICAgICBXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXJEYXRhICpfZGF0YTsKQEAgLTQ0LDEwICs0NSw4IEBAIEBpbnRl
cmZhY2UgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIDoKIAogQHByb3BlcnR5IChhc3NpZ24p
IGlkIDxXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZT4gbG9hZERlbGVnYXRlOwogCi0jaWYg
V0tfQVBJX0VOQUJMRUQKIEBwcm9wZXJ0eSAoYXNzaWduKSBpZCA8V0tCcm93c2luZ0NvbnRleHRQ
b2xpY3lEZWxlZ2F0ZT4gcG9saWN5RGVsZWdhdGU7CiBAcHJvcGVydHkgKGFzc2lnbikgaWQgPFdL
QnJvd3NpbmdDb250ZXh0SGlzdG9yeURlbGVnYXRlPiBoaXN0b3J5RGVsZWdhdGU7Ci0jZW5kaWYK
IAogI3ByYWdtYSBtYXJrIExvYWRpbmcKIApAQCAtOTksMTEgKzk4LDkgQEAgQGludGVyZmFjZSBX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgOgogLyogV2hldGhlciB0aGVyZSBpcyBhIHByZXZp
b3VzIHBhZ2UgaW4gdGhlIGJhY2svZm9yd2FyZCBsaXN0LiAqLwogQHByb3BlcnR5KHJlYWRvbmx5
KSBCT09MIGNhbkdvQmFjazsKIAotI2lmIFdLX0FQSV9FTkFCTEVECiAtICh2b2lkKWdvVG9CYWNr
Rm9yd2FyZExpc3RJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtOwogCiBAcHJvcGVy
dHkocmVhZG9ubHkpIFdLQmFja0ZvcndhcmRMaXN0ICpiYWNrRm9yd2FyZExpc3Q7Ci0jZW5kaWYg
Ly8gV0tfQVBJX0VOQUJMRUQKIAogI3ByYWdtYSBtYXJrIEFjdGl2ZSBMb2FkIEludHJvc3BlY3Rp
b24KIApAQCAtMTM1LDMgKzEzMiw1IEBAIC8qIFVSTCBmb3IgdGhlIGFjdGl2ZSBsb2FkLiBUaGlz
IGlzIHRoZSAKIEBwcm9wZXJ0eSBDR0Zsb2F0IHBhZ2Vab29tOwogCiBAZW5kCisKKyNlbmRpZiAv
LyBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkocmV2
aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ckludGVybmFsLmgiCiAKKyNpZiBXS19BUElfRU5BQkxFRAorCiAjaW1wb3J0ICJPYmpDT2JqZWN0
R3JhcGguaCIKICNpbXBvcnQgIldLQmFja0ZvcndhcmRMaXN0SW50ZXJuYWwuaCIKICNpbXBvcnQg
IldLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmgiCkBAIC01NCw4ICs1Niw2IEBACiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLSNpZiBXS19BUElfRU5BQkxFRAotCiBjbGFzcyBQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXIgOiBwdWJsaWMgUGFnZUxvYWRTdGF0ZTo6T2JzZXJ2ZXIgewogcHVi
bGljOgogICAgIFBhZ2VMb2FkU3RhdGVPYnNlcnZlcihXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xs
ZXIgKmNvbnRyb2xsZXIpCkBAIC03Nyw4ICs3Nyw2IEBAIHByaXZhdGU6CiAgICAgV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyICptX2NvbnRyb2xsZXI7CiB9OwogCi0jZW5kaWYKLQogc3RhdGlj
IGlubGluZSBOU1N0cmluZyAqYXV0b3JlbGVhc2VkKFdLU3RyaW5nUmVmIHN0cmluZykKIHsKICAg
ICByZXR1cm4gc3RyaW5nID8gQ0ZCcmlkZ2luZ1JlbGVhc2UoV0tTdHJpbmdDb3B5Q0ZTdHJpbmco
a0NGQWxsb2NhdG9yRGVmYXVsdCwgYWRvcHRXSyhzdHJpbmcpLmdldCgpKSkgOiBuaWw7CkBAIC0x
MTAsMTIgKzEwOCwxMCBAQCBAaW50ZXJmYWNlIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckRh
CiAgICAgaWQgPFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlSW50ZXJuYWw+IF9sb2FkRGVs
ZWdhdGVJbnRlcm5hbDsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKLSNpZiBXS19BUElfRU5B
QkxFRAogICAgIC8vIERlbGVnYXRlIGZvciBwb2xpY3kgY2FsbGJhY2tzLgogICAgIGlkPFdLQnJv
d3NpbmdDb250ZXh0UG9saWN5RGVsZWdhdGU+IF9wb2xpY3lEZWxlZ2F0ZTsKIAogICAgIHN0ZDo6
dW5pcXVlX3B0cjxQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI+IF9wYWdlTG9hZFN0YXRlT2JzZXJ2ZXI7
Ci0jZW5kaWYKIH0KIEBlbmQKIApAQCAtMTI2LDE1ICsxMjIsOSBAQCBAaW50ZXJmYWNlIFdLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlckRhCiAKIC0gKHZvaWQpZGVhbGxvYwogewotI2lmIFdLX0FQ
SV9FTkFCTEVECiAgICAgdG9JbXBsKF9kYXRhLT5fcGFnZVJlZi5nZXQoKSktPnBhZ2VMb2FkU3Rh
dGUoKS5yZW1vdmVPYnNlcnZlcigqX2RhdGEtPl9wYWdlTG9hZFN0YXRlT2JzZXJ2ZXIpOwotI2Vu
ZGlmCi0KICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KF9kYXRhLT5fcGFnZVJlZi5nZXQo
KSwgbnVsbHB0cik7Ci0KLSNpZiBXS19BUElfRU5BQkxFRAogICAgIFdLUGFnZVNldFBhZ2VQb2xp
Y3lDbGllbnQoX2RhdGEtPl9wYWdlUmVmLmdldCgpLCBudWxscHRyKTsKLSNlbmRpZgogCiAgICAg
W19kYXRhIHJlbGVhc2VdOwogICAgIFtzdXBlciBkZWFsbG9jXTsKQEAgLTE1Nyw3ICsxNDcsNiBA
QCAtICh2b2lkKXNldExvYWREZWxlZ2F0ZTooaWQ8V0tCcm93c2luZ0NvCiAgICAgX2RhdGEtPl9s
b2FkRGVsZWdhdGUgPSBsb2FkRGVsZWdhdGU7CiB9CiAKLSNpZiBXS19BUElfRU5BQkxFRAogLSAo
aWQ8V0tCcm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZT4pcG9saWN5RGVsZWdhdGUKIHsKICAg
ICByZXR1cm4gX2RhdGEtPl9wb2xpY3lEZWxlZ2F0ZTsKQEAgLTE2Nyw3ICsxNTYsNiBAQCAtICh2
b2lkKXNldFBvbGljeURlbGVnYXRlOihpZDxXS0Jyb3dzaW5nCiB7CiAgICAgX2RhdGEtPl9wb2xp
Y3lEZWxlZ2F0ZSA9IHBvbGljeURlbGVnYXRlOwogfQotI2VuZGlmCiAKICNwcmFnbWEgbWFyayBM
b2FkaW5nCiAKQEAgLTMyMyw3ICszMTEsNiBAQCAtIChCT09MKWNhbkdvQmFjawogICAgIHJldHVy
biBXS1BhZ2VDYW5Hb0JhY2soc2VsZi5fcGFnZVJlZik7CiB9CiAKLSNpZiBXS19BUElfRU5BQkxF
RAogLSAodm9pZClnb1RvQmFja0ZvcndhcmRMaXN0SXRlbTooV0tCYWNrRm9yd2FyZExpc3RJdGVt
ICopaXRlbQogewogICAgIHRvSW1wbChzZWxmLl9wYWdlUmVmKS0+Z29Ub0JhY2tGb3J3YXJkSXRl
bSgmaXRlbS5faXRlbSk7CkBAIC0zMzcsNyArMzI0LDYgQEAgLSAoV0tCYWNrRm9yd2FyZExpc3Qg
KiliYWNrRm9yd2FyZExpc3QKIAogICAgIHJldHVybiB3cmFwcGVyKCpsaXN0KTsKIH0KLSNlbmRp
ZiAvLyBXS19BUElfRU5BQkxFRAogCiAjcHJhZ21hIG1hcmsgQWN0aXZlIExvYWQgSW50cm9zcGVj
dGlvbgogCkBAIC00NzksMTUgKzQ2NSwxMSBAQCAtIChOU1VJbnRlZ2VyKXBhZ2VDb3VudAogICAg
IHJldHVybiBXS1BhZ2VHZXRQYWdlQ291bnQoc2VsZi5fcGFnZVJlZik7CiB9CiAKLSNpZiBXS19B
UElfRU5BQkxFRAotCiAtIChXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZSAqKWhhbmRsZQogewogICAg
IHJldHVybiBbW1tXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZSBhbGxvY10gX2luaXRXaXRoUGFnZUlE
OnRvSW1wbChzZWxmLl9wYWdlUmVmKS0+cGFnZUlEKCldIGF1dG9yZWxlYXNlXTsKIH0KIAotI2Vu
ZGlmCi0KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ciAoSW50ZXJuYWwpCkBAIC01ODEsNyArNTYzLDYgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoUHJv
Z3Jlc3MoV0tQYWdlUmVmIAogICAgICAgICBbYnJvd3NpbmdDb250ZXh0LmxvYWREZWxlZ2F0ZSBi
cm93c2luZ0NvbnRleHRDb250cm9sbGVyRGlkRmluaXNoUHJvZ3Jlc3M6YnJvd3NpbmdDb250ZXh0
XTsKIH0KIAotI2lmIFdLX0FQSV9FTkFCTEVECiBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VCYWNrRm9y
d2FyZExpc3QoV0tQYWdlUmVmIHBhZ2UsIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiBhZGRlZEl0
ZW0sIFdLQXJyYXlSZWYgcmVtb3ZlZEl0ZW1zLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQogewog
ICAgIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0ID0gKFdLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlciAqKWNsaWVudEluZm87CkBAIC01OTIsNyArNTczLDYgQEAg
c3RhdGljIHZvaWQgZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KFdLUAogICAgIE5TQXJyYXkgKnJl
bW92ZWQgPSByZW1vdmVkSXRlbXMgPyB3cmFwcGVyKCp0b0ltcGwocmVtb3ZlZEl0ZW1zKSkgOiBu
aWw7CiAgICAgW2Jyb3dzaW5nQ29udGV4dC5sb2FkRGVsZWdhdGUgYnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlckRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdDpicm93c2luZ0NvbnRleHQgYWRkZWRJdGVt
OmFkZGVkIHJlbW92ZWRJdGVtczpyZW1vdmVkXTsKIH0KLSNlbmRpZiAvLyBXS19BUElfRU5BQkxF
RAogCiBzdGF0aWMgdm9pZCBzZXRVcFBhZ2VMb2FkZXJDbGllbnQoV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyICpicm93c2luZ0NvbnRleHQsIFdLUGFnZVJlZiBwYWdlUmVmKQogewpAQCAtNjEx
LDE1ICs1OTEsMTEgQEAgc3RhdGljIHZvaWQgc2V0VXBQYWdlTG9hZGVyQ2xpZW50KFdLQnJvdwog
ICAgIGxvYWRlckNsaWVudC5kaWRTdGFydFByb2dyZXNzID0gZGlkU3RhcnRQcm9ncmVzczsKICAg
ICBsb2FkZXJDbGllbnQuZGlkQ2hhbmdlUHJvZ3Jlc3MgPSBkaWRDaGFuZ2VQcm9ncmVzczsKICAg
ICBsb2FkZXJDbGllbnQuZGlkRmluaXNoUHJvZ3Jlc3MgPSBkaWRGaW5pc2hQcm9ncmVzczsKLQot
I2lmIFdLX0FQSV9FTkFCTEVECiAgICAgbG9hZGVyQ2xpZW50LmRpZENoYW5nZUJhY2tGb3J3YXJk
TGlzdCA9IGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdDsKLSNlbmRpZgogCiAgICAgV0tQYWdlU2V0
UGFnZUxvYWRlckNsaWVudChwYWdlUmVmLCAmbG9hZGVyQ2xpZW50KTsKIH0KIAotI2lmIFdLX0FQ
SV9FTkFCTEVECiBzdGF0aWMgV0tQb2xpY3lEZWNpc2lvbkhhbmRsZXIgbWFrZVBvbGljeURlY2lz
aW9uQmxvY2soV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyKQogewogICAgIFdLUmV0
YWluKGxpc3RlbmVyKTsgLy8gUmVsZWFzZWQgaW4gdGhlIGRlY2lzaW9uIGhhbmRsZXIgYmVsb3cu
CkBAIC03MDksNyArNjg1LDYgQEAgc3RhdGljIHZvaWQgc2V0VXBQYWdlUG9saWN5Q2xpZW50KFdL
QnJvdwogCiAgICAgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChwYWdlUmVmLCAmcG9saWN5Q2xp
ZW50KTsKIH0KLSNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQogLSAoaWQgPFdLQnJvd3NpbmdD
b250ZXh0TG9hZERlbGVnYXRlSW50ZXJuYWw+KWxvYWREZWxlZ2F0ZUludGVybmFsCkBAIC03MzQs
MTYgKzcwOSwxMSBAQCAtIChpZClfaW5pdFdpdGhQYWdlUmVmOihXS1BhZ2VSZWYpcGFnZVJlCiAg
ICAgX2RhdGEgPSBbW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckRhdGEgYWxsb2NdIGluaXRd
OwogICAgIF9kYXRhLT5fcGFnZVJlZiA9IHBhZ2VSZWY7CiAKLSNpZiBXS19BUElfRU5BQkxFRAog
ICAgIF9kYXRhLT5fcGFnZUxvYWRTdGF0ZU9ic2VydmVyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXI+KHNlbGYpOwogICAgIHRvSW1wbChfZGF0YS0+X3BhZ2VSZWYuZ2V0
KCkpLT5wYWdlTG9hZFN0YXRlKCkuYWRkT2JzZXJ2ZXIoKl9kYXRhLT5fcGFnZUxvYWRTdGF0ZU9i
c2VydmVyKTsKLSNlbmRpZgogCiAgICAgc2V0VXBQYWdlTG9hZGVyQ2xpZW50KHNlbGYsIHBhZ2VS
ZWYpOwotCi0jaWYgV0tfQVBJX0VOQUJMRUQKICAgICBzZXRVcFBhZ2VQb2xpY3lDbGllbnQoc2Vs
ZiwgcGFnZVJlZik7Ci0jZW5kaWYKIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtNzYwLDMgKzcz
MCw1IEBAICsgKE5TTXV0YWJsZVNldCAqKWN1c3RvbVNjaGVtZXMKIH0KICAKIEBlbmQKKworI2Vu
ZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlckludGVybmFsLmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDYgKzI1LDggQEAKIAogI2ltcG9ydCAiV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyUHJpdmF0ZS5oIgogCisjaWYgV0tfQVBJX0VOQUJMRUQKKwogI2lmIFBMQVRGT1JN
KElPUykKIEBwcm90b2NvbCBXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZUludGVybmFsIDxO
U09iamVjdD4KIEBvcHRpb25hbApAQCAtNDcsMyArNDksNSBAQCBAaW50ZXJmYWNlIFdLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlciAoCiArIChOU011dGFibGVTZXQgKiljdXN0b21TY2hlbWVzOwog
CiBAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlclByaXZhdGUuaAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw5IEBACiAgKi8KIAogI2ltcG9ydCA8V2Vi
S2l0Mi9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVE
CisKICNpbXBvcnQgPFdlYktpdDIvV0tCYXNlLmg+CiAKIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRl
Z2VyLCBXS0Jyb3dzaW5nQ29udGV4dFBhZ2luYXRpb25Nb2RlKSB7CkBAIC01Miw4ICs1NSw4IEBA
IEBpbnRlcmZhY2UgV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICgKIAogQHByb3BlcnR5IChy
ZWFkb25seSkgTlNVSW50ZWdlciBwYWdlQ291bnQ7CiAKLSNpZiBXS19BUElfRU5BQkxFRAogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZSAqaGFu
ZGxlOwotI2VuZGlmCiAKIEBlbmQKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2lu
Z0NvbnRleHRHcm91cC5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIzLDEzICsyMywxNiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKKyNpbXBvcnQgPFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RAorCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktpdDIv
V0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNpbXBvcnQgPFdlYktpdDIvV0tVc2VyU2NyaXB0
SW5qZWN0aW9uVGltZS5oPgogCiBAY2xhc3MgV0tCcm93c2luZ0NvbnRleHRHcm91cERhdGE7CiAK
LVdLX0VYUE9SVAorV0tfQVBJX0NMQVNTCiBAaW50ZXJmYWNlIFdLQnJvd3NpbmdDb250ZXh0R3Jv
dXAgOiBOU09iamVjdCB7CiBAcHJpdmF0ZQogICAgIFdLQnJvd3NpbmdDb250ZXh0R3JvdXBEYXRh
ICpfZGF0YTsKQEAgLTU5LDMgKzYyLDUgQEAgQGludGVyZmFjZSBXS0Jyb3dzaW5nQ29udGV4dEdy
b3VwIDogTlNPYgogQHByb3BlcnR5IEJPT0wgYWxsb3dzUGx1Z0luczsKIAogQGVuZAorCisjZW5k
aWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbQkocmV2aXNpb24g
MTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0Nv
bnRleHRHcm91cC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjQsOSArMjQsMTAgQEAKICAqLwogCiAj
aW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0R3JvdXAuaCIKICNp
bXBvcnQgIldLQnJvd3NpbmdDb250ZXh0R3JvdXBQcml2YXRlLmgiCiAKKyNpZiBXS19BUElfRU5B
QkxFRAorCiAjaW1wb3J0ICJBUElBcnJheS5oIgogI2ltcG9ydCAiV0tBcnJheS5oIgogI2ltcG9y
dCAiV0tQYWdlR3JvdXAuaCIKQEAgLTE3MiwzICsxNzMsNSBAQCAtIChXS1BhZ2VHcm91cFJlZilf
cGFnZUdyb3VwUmVmCiB9CiAKIEBlbmQKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dEdyb3Vw
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLQnJvd3NpbmdDb250ZXh0R3JvdXBQcml2YXRlLmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0R3JvdXBQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDkgQEAKICAqLwogCiAjaW1wb3J0IDxX
ZWJLaXQyL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisK
ICNpbXBvcnQgPFdlYktpdDIvV0tCYXNlLmg+CiAKIEBpbnRlcmZhY2UgV0tCcm93c2luZ0NvbnRl
eHRHcm91cCAoUHJpdmF0ZSkKQEAgLTMxLDMgKzM0LDUgQEAgQGludGVyZmFjZSBXS0Jyb3dzaW5n
Q29udGV4dEdyb3VwIChQcml2YQogQHByb3BlcnR5KHJlYWRvbmx5KSBXS1BhZ2VHcm91cFJlZiBf
cGFnZUdyb3VwUmVmOwogCiBAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRQb2xpY3lE
ZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVsZWdhdGUuaAkocmV2aXNpb24gMTU5NzU5KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRQb2xpY3lE
ZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAgKi8KIAogI2ltcG9y
dCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQyL1dLRGVjbGFyYXRp
b25TcGVjaWZpZXJzLmg+CiAKIEBjbGFzcyBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQ29ubmVjdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQ29ubmVjdGlv
bi5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9XS0Nvbm5lY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTAgKzIzLDEyIEBACiAgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxXZWJLaXQyL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJz
Lmg+CiAjaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgogCisjaWYgV0tfQVBJX0VOQUJM
RUQKKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKIEBjbGFzcyBXS0Nvbm5l
Y3Rpb247CiBAY2xhc3MgV0tDb25uZWN0aW9uRGF0YTsKIEBjbGFzcyBXS1JlbW90ZU9iamVjdFJl
Z2lzdHJ5OwpAQCAtMzgsNyArNDAsNyBAQAogCiBAZW5kCiAKLVdLX0VYUE9SVAorV0tfQVBJX0NM
QVNTCiBAaW50ZXJmYWNlIFdLQ29ubmVjdGlvbiA6IE5TT2JqZWN0IHsKIEBwcml2YXRlCiAgICAg
V0tDb25uZWN0aW9uRGF0YSAqX2RhdGE7CkBAIC00OCwxMCArNTAsOCBAQCBAaW50ZXJmYWNlIFdL
Q29ubmVjdGlvbiA6IE5TT2JqZWN0IHsKIAogQHByb3BlcnR5KGFzc2lnbikgaWQgPFdLQ29ubmVj
dGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZTsKIAotI2lmIFdLX0FQSV9FTkFCTEVECi0KIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2Jq
ZWN0UmVnaXN0cnk7CiAKLSNlbmRpZgotCiBAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxF
RApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tDb25uZWN0aW9uLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQ29ubmVj
dGlvbi5tbQkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvV0tDb25uZWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCwxMCBAQAog
ICovCiAKICNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tDb25uZWN0aW9uLmgiCiAjaW1w
b3J0ICJXS0Nvbm5lY3Rpb25JbnRlcm5hbC5oIgogCisjaWYgV0tfQVBJX0VOQUJMRUQKKwogI2lt
cG9ydCAiT2JqQ09iamVjdEdyYXBoLmgiCiAjaW1wb3J0ICJXS0Nvbm5lY3Rpb25SZWYuaCIKICNp
bXBvcnQgIldLRGF0YS5oIgpAQCAtNDYsOSArNDcsNyBAQCBAaW50ZXJmYWNlIFdLQ29ubmVjdGlv
bkRhdGEgOiBOU09iamVjdCB7CiAgICAgLy8gRGVsZWdhdGUgZm9yIGNhbGxiYWNrcy4KICAgICBp
ZDxXS0Nvbm5lY3Rpb25EZWxlZ2F0ZT4gX2RlbGVnYXRlOwogCi0jaWYgV0tfQVBJX0VOQUJMRUQK
ICAgICBSZXRhaW5QdHI8V0tSZW1vdGVPYmplY3RSZWdpc3RyeT4gX3JlbW90ZU9iamVjdFJlZ2lz
dHJ5OwotI2VuZGlmCiB9CiBAZW5kCiAKQEAgLTgzLDcgKzgyLDYgQEAgLSAodm9pZClzZXREZWxl
Z2F0ZTooaWQgPFdLQ29ubmVjdGlvbkRlbAogICAgIF9kYXRhLT5fZGVsZWdhdGUgPSBkZWxlZ2F0
ZTsKIH0KIAotI2lmIFdLX0FQSV9FTkFCTEVECiAtIChXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICop
cmVtb3RlT2JqZWN0UmVnaXN0cnkKIHsKICAgICBpZiAoIV9kYXRhLT5fcmVtb3RlT2JqZWN0UmVn
aXN0cnkpCkBAIC05MSw3ICs4OSw2IEBAIC0gKFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKilyZW1v
dGVPYmplY3QKIAogICAgIHJldHVybiBfZGF0YS0+X3JlbW90ZU9iamVjdFJlZ2lzdHJ5LmdldCgp
OwogfQotI2VuZGlmCiAKIEBlbmQKIApAQCAtMTAxLDEwICs5OCw4IEBAIHN0YXRpYyB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKFdLQ29ubmVjdGkKIHsKICAgICBXS0Nvbm5lY3Rpb24gKmNvbm5lY3Rp
b24gPSAoV0tDb25uZWN0aW9uICopY2xpZW50SW5mbzsKIAotI2lmIFdLX0FQSV9FTkFCTEVECiAg
ICAgaWYgKFtjb25uZWN0aW9uLT5fZGF0YS0+X3JlbW90ZU9iamVjdFJlZ2lzdHJ5IF9oYW5kbGVN
ZXNzYWdlV2l0aE5hbWU6bWVzc2FnZU5hbWUgYm9keTptZXNzYWdlQm9keV0pCiAgICAgICAgIHJl
dHVybjsKLSNlbmRpZgogCiAgICAgaWYgKFtjb25uZWN0aW9uLmRlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoY29ubmVjdGlvbjpkaWRSZWNlaXZlTWVzc2FnZVdpdGhOYW1lOmJv
ZHk6KV0pIHsKICAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBuc01lc3NhZ2VOYW1lID0g
YWRvcHRDRihXS1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBtZXNzYWdl
TmFtZSkpOwpAQCAtMTUwLDMgKzE0NSw1IEBAIC0gKGlkKV9pbml0V2l0aENvbm5lY3Rpb25SZWY6
KFdLQ29ubmVjdGkKIH0KIAogQGVuZAorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQ29ubmVjdGlvbkludGVybmFsLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tDb25uZWN0
aW9uSW50ZXJuYWwuaAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tDb25uZWN0aW9uSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjMs
NyArMjMsMTAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0j
aW1wb3J0IDxXZWJLaXQyL1dLQ29ubmVjdGlvbi5oPgorI2ltcG9ydCAiV0tDb25uZWN0aW9uLmgi
CisKKyNpZiBXS19BUElfRU5BQkxFRAorCiAjaW1wb3J0IDxXZWJLaXQyL1dLQmFzZS5oPgogCiBA
aW50ZXJmYWNlIFdLQ29ubmVjdGlvbiAoSW50ZXJuYWwpCkBAIC0zMSwzICszNCw1IEBAIEBpbnRl
cmZhY2UgV0tDb25uZWN0aW9uIChJbnRlcm5hbCkKIC0gKGlkKV9pbml0V2l0aENvbm5lY3Rpb25S
ZWY6KFdLQ29ubmVjdGlvblJlZiljb25uZWN0aW9uUmVmOwogCiBAZW5kCisKKyNlbmRpZiAvLyBX
S19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tQ
cm9jZXNzR3JvdXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1Byb2Nlc3NHcm91cC5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1Byb2Nlc3NHcm91cC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw4ICsyMywxMSBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
KyNpbXBvcnQgPFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxFRAor
CiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktpdDIvV0tE
ZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KIAogQGNsYXNzIFdLUHJvY2Vzc0dyb3VwLCBXS1Byb2Nl
c3NHcm91cERhdGEsIFdLQ29ubmVjdGlvbjsKIApAQCAtMzksNyArNDIsNyBAQAogCiBAZW5kCiAK
LVdLX0VYUE9SVAorV0tfQVBJX0NMQVNTCiBAaW50ZXJmYWNlIFdLUHJvY2Vzc0dyb3VwIDogTlNP
YmplY3QgewogQHByaXZhdGUKICAgICBXS1Byb2Nlc3NHcm91cERhdGEgKl9kYXRhOwpAQCAtNTMs
MyArNTYsNSBAQCBAaW50ZXJmYWNlIFdLUHJvY2Vzc0dyb3VwIDogTlNPYmplY3QgewogQHByb3Bl
cnR5KGFzc2lnbikgaWQ8V0tQcm9jZXNzR3JvdXBEZWxlZ2F0ZT4gZGVsZWdhdGU7CiAKIEBlbmQK
KworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9XS1Byb2Nlc3NHcm91cC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1Byb2Nlc3NHcm91cC5tbQkocmV2aXNpb24gMTU5NzU5KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tQcm9jZXNzR3JvdXAubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI0LDkgKzI0LDEwIEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgi
Ci0jaW1wb3J0ICJXS1Byb2Nlc3NHcm91cC5oIgogI2ltcG9ydCAiV0tQcm9jZXNzR3JvdXBQcml2
YXRlLmgiCiAKKyNpZiBXS19BUElfRU5BQkxFRAorCiAjaW1wb3J0ICJBUElOYXZpZ2F0aW9uRGF0
YS5oIgogI2ltcG9ydCAiT2JqQ09iamVjdEdyYXBoLmgiCiAjaW1wb3J0ICJXS0FQSUNhc3QuaCIK
QEAgLTExNCw4ICsxMTUsNiBAQCBzdGF0aWMgdm9pZCBzZXRVcEluZWN0ZWRCdW5kbGVDbGllbnQo
V0tQCiAgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dFJlZiwgJmlu
amVjdGVkQnVuZGxlQ2xpZW50KTsKIH0KIAotI2lmIFdLX0FQSV9FTkFCTEVECi0KIHN0YXRpYyB2
b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKFdLQ29udGV4dFJlZiwgV0tQYWdlUmVm
IHBhZ2VSZWYsIFdLTmF2aWdhdGlvbkRhdGFSZWYgbmF2aWdhdGlvbkRhdGFSZWYsIFdLRnJhbWVS
ZWYgZnJhbWVSZWYsIGNvbnN0IHZvaWQqKQogewogICAgIGlmICghdG9JbXBsKGZyYW1lUmVmKS0+
aXNNYWluRnJhbWUoKSkKQEAgLTE3MSw4ICsxNzAsNiBAQCBzdGF0aWMgdm9pZCBzZXRVcEhpc3Rv
cnlDbGllbnQoV0tQcm9jZXNzCiAgICAgV0tDb250ZXh0U2V0SGlzdG9yeUNsaWVudChjb250ZXh0
UmVmLCAmaGlzdG9yeUNsaWVudCk7CiB9CiAKLSNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAotCiAt
IChpZClpbml0CiB7CiAgICAgcmV0dXJuIFtzZWxmIGluaXRXaXRoSW5qZWN0ZWRCdW5kbGVVUkw6
bmlsXTsKQEAgLTE5OCw5ICsxOTUsNyBAQCAtIChpZClpbml0V2l0aEluamVjdGVkQnVuZGxlVVJM
OihOU1VSTCAqCiAKICAgICBzZXRVcENvbm5lY3Rpb25DbGllbnQoc2VsZiwgX2RhdGEtPl9jb250
ZXh0UmVmLmdldCgpKTsKICAgICBzZXRVcEluZWN0ZWRCdW5kbGVDbGllbnQoc2VsZiwgX2RhdGEt
Pl9jb250ZXh0UmVmLmdldCgpKTsKLSNpZiBXS19BUElfRU5BQkxFRAogICAgIHNldFVwSGlzdG9y
eUNsaWVudChzZWxmLCBfZGF0YS0+X2NvbnRleHRSZWYuZ2V0KCkpOwotI2VuZGlmCiAKICAgICBy
ZXR1cm4gc2VsZjsKIH0KQEAgLTI0NCwzICsyMzksNSBAQCAtIChXS0dlb2xvY2F0aW9uUHJvdmlk
ZXJJT1MgKilfZ2VvbG9jYXRpCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiBAZW5kCisKKyNl
bmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgJKHJldmlzaW9uIDE1
OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLUHJvY2Vzc0dyb3Vw
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw5ICsyMywxMCBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25h
bHMuaD4KLQogI2ltcG9ydCA8V2ViS2l0Mi9XS1Byb2Nlc3NHcm91cC5oPgorCisjaWYgV0tfQVBJ
X0VOQUJMRUQKKwogI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KIAogI2lmIFRBUkdFVF9PU19J
UEhPTkUKQEAgLTQwLDMgKzQxLDUgQEAgQGludGVyZmFjZSBXS1Byb2Nlc3NHcm91cCAoUHJpdmF0
ZSkKICNlbmRpZgogCiBAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tUeXBlUmVmV3JhcHBlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVHlwZVJlZldyYXBwZXIu
aAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tUeXBlUmVmV3JhcHBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMyArMjMsMTQgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQyL1dLRm91bmRhdGlvbi5oPgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAotV0tfRVhQT1JU
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdDIvV0tC
YXNlLmg+CisKK1dLX0FQSV9DTEFTUwogQGludGVyZmFjZSBXS1R5cGVSZWZXcmFwcGVyIDogTlNP
YmplY3QKIAogLSAoaWQpaW5pdFdpdGhPYmplY3Q6KFdLVHlwZVJlZilvYmplY3Q7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1R5cGVSZWZXcmFwcGVyLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVHlwZVJlZldyYXBw
ZXIubW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1dLVHlwZVJlZldyYXBwZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAK
ICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLQogI2ltcG9ydCAiV0tUeXBlUmVmV3JhcHBlci5o
IgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlIDxUYXJn
ZXRDb25kaXRpb25hbHMuaD4KKyNpbXBvcnQgPFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CiAKICNp
ZiBUQVJHRVRfT1NfSVBIT05FCiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgpAQCAtNDksNiArNDks
OCBAQCBAaW50ZXJmYWNlIFdLVmlldyA6IE5TVmlldyA8TlNUZXh0SW5wdXRDCiAgICAgdW5zaWdu
ZWQgX3VudXNlZDsKIH0KIAorI2lmIFdLX0FQSV9FTkFCTEVECisKICNpZiBUQVJHRVRfT1NfSVBI
T05FCiAtIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vzc0dyb3VwOihXS1By
b2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91cDooV0tCcm93c2lu
Z0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwOwogLSAoaWQpaW5pdFdpdGhGcmFt
ZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NHcm91cDooV0tQcm9jZXNzR3JvdXAgKilwcm9jZXNzR3Jv
dXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6KFdLQnJvd3NpbmdDb250ZXh0R3JvdXAgKilicm93c2lu
Z0NvbnRleHRHcm91cCByZWxhdGVkVG9WaWV3OihXS1ZpZXcgKilyZWxhdGVkVmlldzsKQEAgLTU5
LDYgKzYxLDggQEAgQGludGVyZmFjZSBXS1ZpZXcgOiBOU1ZpZXcgPE5TVGV4dElucHV0QwogCiBA
cHJvcGVydHkocmVhZG9ubHkpIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdD
b250ZXh0Q29udHJvbGxlcjsKIAorI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECisKIEBwcm9wZXJ0
eSBCT09MIGRyYXdzQmFja2dyb3VuZDsKIEBwcm9wZXJ0eSBCT09MIGRyYXdzVHJhbnNwYXJlbnRC
YWNrZ3JvdW5kOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1Zp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tW
aWV3Lm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2NSw2ICsyNjUsOCBAQCAtIChCT09M
KWlzRmxpcHBlZAogCiBAaW1wbGVtZW50YXRpb24gV0tWaWV3CiAKKyNpZiBXS19BUElfRU5BQkxF
RAorCiAtIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgcHJvY2Vzc0dyb3VwOihXS1By
b2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91cDooV0tCcm93c2lu
Z0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwCiB7CiAgICAgcmV0dXJuIFtzZWxm
IGluaXRXaXRoRnJhbWU6ZnJhbWUgY29udGV4dFJlZjpwcm9jZXNzR3JvdXAuX2NvbnRleHRSZWYg
cGFnZUdyb3VwUmVmOmJyb3dzaW5nQ29udGV4dEdyb3VwLl9wYWdlR3JvdXBSZWYgcmVsYXRlZFRv
UGFnZTpuaWxdOwpAQCAtMjc1LDYgKzI3Nyw4IEBAIC0gKGlkKWluaXRXaXRoRnJhbWU6KE5TUmVj
dClmcmFtZSBwcm9jZXMKICAgICByZXR1cm4gW3NlbGYgaW5pdFdpdGhGcmFtZTpmcmFtZSBjb250
ZXh0UmVmOnByb2Nlc3NHcm91cC5fY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6YnJvd3NpbmdDb250
ZXh0R3JvdXAuX3BhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOnJlbGF0ZWRWaWV3ID8gdG9BUEko
cmVsYXRlZFZpZXctPl9kYXRhLT5fcGFnZS5nZXQoKSkgOiBuaWxdOwogfQogCisjZW5kaWYgLy8g
V0tfQVBJX0VOQUJMRUQKKwogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgX2RhdGEtPl9wYWdlLT5j
bG9zZSgpOwpAQCAtMjkyLDYgKzI5Niw4IEBAIC0gKHZvaWQpZGVhbGxvYwogICAgIFtzdXBlciBk
ZWFsbG9jXTsKIH0KIAorI2lmIFdLX0FQSV9FTkFCTEVECisKIC0gKFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlciAqKWJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIKIHsKICAgICBpZiAoIV9kYXRh
LT5fYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcikKQEAgLTI5OSw2ICszMDUsOCBAQCAtIChXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKilicm93c2luCiAgICAgcmV0dXJuIF9kYXRhLT5fYnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlci5nZXQoKTsKIH0KIAorI2VuZGlmIC8vIFdLX0FQSV9FTkFC
TEVECisKIC0gKHZvaWQpc2V0RHJhd3NCYWNrZ3JvdW5kOihCT09MKWRyYXdzQmFja2dyb3VuZAog
ewogICAgIF9kYXRhLT5fcGFnZS0+c2V0RHJhd3NCYWNrZ3JvdW5kKGRyYXdzQmFja2dyb3VuZCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdJbnRlcm5hbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld0lu
dGVybmFsLmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlld0ludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDkgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJQbHVn
aW5Db21wbGV4VGV4dElucHV0U3RhdGUuaCIKICNpbXBvcnQgIldLVmlldy5oIgorCisjaW1wb3J0
ICJQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGUuaCIKICNpbXBvcnQgIldlYkZpbmRPcHRpb25z
LmgiCiAjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlci5tbQkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NTksNCArNjU5LDQgQEAgLSAodm9pZClfc3RhcnRFeGl0RnVsbFNjcmVl
bkFuaW1hdGlvbldpdAogfQogQGVuZAogCi0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpICYmICFQTEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMxMCw3ICszMTAsNyBAQCB2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAgICBpZiAoIW1fdXNlc05ldHdvcmtQcm9j
ZXNzKSB7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09MUykKKyNpZiBFTkFCTEUo
Q1VTVE9NX1BST1RPQ09MUykgJiYgV0tfQVBJX0VOQUJMRUQKICAgICAgICAgZm9yIChOU1N0cmlu
ZyAqc2NoZW1lIGluIFtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgY3VzdG9tU2NoZW1lc10p
CiAgICAgICAgICAgICBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJv
dG9jb2xzLmFwcGVuZChzY2hlbWUpOwogI2VuZGlmCkBAIC0zMjksOCArMzI5LDEwIEBAIHZvaWQg
V2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d28KICAgICBwYXJhbWV0ZXJzLnBhcmVu
dFByb2Nlc3NOYW1lID0gW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBwcm9jZXNzTmFtZV07
CiAgICAgcGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0gW1tOU0J1bmRsZSBt
YWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXTsKIAorI2lmIFdLX0FQSV9FTkFCTEVECiAgICAg
Zm9yIChOU1N0cmluZyAqc2NoZW1lIGluIFtXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgY3Vz
dG9tU2NoZW1lc10pCiAgICAgICAgIHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JD
dXN0b21Qcm90b2NvbHMuYXBwZW5kKHNjaGVtZSk7CisjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMu
aHR0cFByb3h5ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5n
Rm9yS2V5OldlYktpdDJIVFRQUHJveHlEZWZhdWx0c0tleV07CiAgICAgcGFyYW1ldGVycy5odHRw
c1Byb3h5ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9y
S2V5OldlYktpdDJIVFRQU1Byb3h5RGVmYXVsdHNLZXldOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQkocmV2
aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0
TWVudVByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAjaW1wb3J0
ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIK
ICNpbXBvcnQgIldLVmlldy5oIgotCiAjaW1wb3J0IDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbXBv
cnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Eb2N1bWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RP
TURvY3VtZW50LmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDE1ICsyMywxNiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLSNpbXBvcnQgPFdlYktpdDIvV0tET01Ob2RlLmg+CiAjaW1wb3J0IDxXZWJLaXQyL1dL
Rm91bmRhdGlvbi5oPgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCA8V2ViS2l0Mi9X
S0RPTU5vZGUuaD4KKwogQGNsYXNzIFdLRE9NRWxlbWVudDsKIEBjbGFzcyBXS0RPTVRleHQ7CiAK
LVdLX0VYUE9SVAorV0tfQVBJX0NMQVNTCiBAaW50ZXJmYWNlIFdLRE9NRG9jdW1lbnQgOiBXS0RP
TU5vZGUKIAogLSAoV0tET01FbGVtZW50ICopY3JlYXRlRWxlbWVudDooTlNTdHJpbmcgKil0YWdO
YW1lOwpAQCAtNDIsNCArNDMsMyBAQCBAaW50ZXJmYWNlIFdLRE9NRG9jdW1lbnQgOiBXS0RPTU5v
ZGUKIEBlbmQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECi0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50Lm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS0RPTURvY3VtZW50Lm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01Eb2N1bWVudC5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNiBAQAogICovCiAKICNpbXBvcnQgImNvbmZpZy5oIgot
CiAjaW1wb3J0ICJXS0RPTURvY3VtZW50LmgiCiAKICNpZiBXS19BUElfRU5BQkxFRApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS0RPTUVsZW1lbnQuaAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMiArMjMsMTMgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxXZWJLaXQyL1dLRE9NTm9kZS5oPgogI2lt
cG9ydCA8V2ViS2l0Mi9XS0ZvdW5kYXRpb24uaD4KIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKLVdL
X0VYUE9SVAorI2ltcG9ydCA8V2ViS2l0Mi9XS0RPTU5vZGUuaD4KKworV0tfQVBJX0NMQVNTCiBA
aW50ZXJmYWNlIFdLRE9NRWxlbWVudCA6IFdLRE9NTm9kZQogCiAtIChCT09MKWhhc0F0dHJpYnV0
ZTooTlNTdHJpbmcgKilhdHRyaWJ1dGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01FbGVtZW50Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUVsZW1l
bnQubW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTUVsZW1lbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0
LDcgKzI0LDYgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLQogI2ltcG9ydCAiV0tET01F
bGVtZW50LmgiCiAKICNpZiBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NSW50ZXJuYWxzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9X
S0RPTUludGVybmFscy5tbQkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NSW50ZXJuYWxzLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw2IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0KICNp
bXBvcnQgIldLRE9NSW50ZXJuYWxzLmgiCiAKICNpZiBXS19BUElfRU5BQkxFRApJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NTm9kZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS0RPTU5vZGUuaAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NTm9kZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMywxNSArMjMsMTUgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCi0jaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdl
YktpdDIvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNpbXBvcnQgPFdlYktpdDIvV0tGb3Vu
ZGF0aW9uLmg+CiAKICNpZiBXS19BUElfRU5BQkxFRAogCisjaW1wb3J0IDxGb3VuZGF0aW9uL0Zv
dW5kYXRpb24uaD4KKwogQGNsYXNzIFdLRE9NRG9jdW1lbnQ7CiAKLVdLX0VYUE9SVAorV0tfQVBJ
X0NMQVNTCiBAaW50ZXJmYWNlIFdLRE9NTm9kZSA6IE5TT2JqZWN0CiAKIC0gKHZvaWQpaW5zZXJ0
Tm9kZTooV0tET01Ob2RlICopbm9kZSBiZWZvcmU6KFdLRE9NTm9kZSAqKXJlZk5vZGU7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01O
b2RlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS0RPTU5vZGUubW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTU5vZGUubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDYgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIK
LQotI2ltcG9ydCAiV0tET01Ob2RlLmgiCiAjaW1wb3J0ICJXS0RPTU5vZGVQcml2YXRlLmgiCiAK
ICNpZiBXS19BUElfRU5BQkxFRApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NUmFuZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01SYW5nZS5oCShyZXZp
c2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tET01SYW5nZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxNSArMjMsMTUgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPFdlYktpdDIvV0tEZWNsYXJhdGlvblNwZWNp
ZmllcnMuaD4KICNpbXBvcnQgPFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CiAKICNpZiBXS19BUElf
RU5BQkxFRAogCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKwogQGNsYXNzIFdL
RE9NTm9kZSwgV0tET01Eb2N1bWVudDsKIAotV0tfRVhQT1JUCitXS19BUElfQ0xBU1MKIEBpbnRl
cmZhY2UgV0tET01SYW5nZSA6IE5TT2JqZWN0CiAKIC0gKGlkKWluaXRXaXRoRG9jdW1lbnQ6KFdL
RE9NRG9jdW1lbnQgKilkb2N1bWVudDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVJhbmdlLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVJhbmdlLm1t
CShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tET01SYW5nZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjQsOCArMjQs
NiBAQAogICovCiAKICNpbXBvcnQgImNvbmZpZy5oIgotCi0jaW1wb3J0ICJXS0RPTVJhbmdlLmgi
CiAjaW1wb3J0ICJXS0RPTVJhbmdlUHJpdmF0ZS5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RP
TVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tET01UZXh0LmgJKHJldmlzaW9uIDE1OTc1OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTVRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDEzIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCA8V2ViS2l0Mi9XS0RPTU5vZGUuaD4KICNpbXBvcnQg
PFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CiAKICNpZiBXS19BUElfRU5BQkxFRAogCi1XS19FWFBP
UlQKKyNpbXBvcnQgPFdlYktpdDIvV0tET01Ob2RlLmg+CisKK1dLX0FQSV9DTEFTUwogQGludGVy
ZmFjZSBXS0RPTVRleHQgOiBXS0RPTU5vZGUKIAogQHByb3BlcnR5KG5vbmF0b21pYywgY29weSkg
TlNTdHJpbmcgKmRhdGE7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0
b3IuaAkocmV2aXNpb24gMTU5NzU5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9NVGV4dEl0ZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIzLDE1ICsyMywxNSBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8V2ViS2l0Mi9X
S0RlY2xhcmF0aW9uU3BlY2lmaWVycy5oPgogI2ltcG9ydCA8V2ViS2l0Mi9XS0ZvdW5kYXRpb24u
aD4KIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorCiBAY2xhc3MgV0tET01SYW5nZTsKIAotV0tfRVhQT1JUCitXS19BUElfQ0xBU1MKIEBp
bnRlcmZhY2UgV0tET01UZXh0SXRlcmF0b3IgOiBOU09iamVjdAogCiAtIChpZClpbml0V2l0aFJh
bmdlOihXS0RPTVJhbmdlICopcmFuZ2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0b3IubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLRE9N
VGV4dEl0ZXJhdG9yLm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tET01UZXh0SXRlcmF0b3IubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLQog
I2ltcG9ydCAiV0tET01UZXh0SXRlcmF0b3IuaCIKIAogI2lmIFdLX0FQSV9FTkFCTEVECkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQ
cm9jZXNzUGx1Z0luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5oCShyZXZpc2lvbiAxNTk3
NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEyICsyMywxMyBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPEZvdW5k
YXRpb24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbXBvcnQg
PFdlYktpdDIvV0tGb3VuZGF0aW9uLmg+CiAKICNpZiBXS19BUElfRU5BQkxFRAogCisjaW1wb3J0
IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdDIvV0tCYXNlLmg+CisK
IEBjbGFzcyBXS0Nvbm5lY3Rpb247CiBAY2xhc3MgV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxl
cjsKIEBjbGFzcyBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI7CkBA
IC00Myw3ICs0NCw3IEBACiAKIEBlbmQKIAotV0tfRVhQT1JUCitXS19BUElfQ0xBU1MKIEBpbnRl
cmZhY2UgV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciA6IE5TT2JqZWN0CiAKIEBwcm9wZXJ0
eShyZWFkb25seSkgV0tDb25uZWN0aW9uICpjb25uZWN0aW9uOwpJbmRleDogU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luLm1tCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNz
UGx1Z0luLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCw2IEBACiAgKi8KIAogI2ltcG9y
dCAiY29uZmlnLmgiCi0KLSNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbi5oIgotI2ltcG9ydCAi
V0tXZWJQcm9jZXNzUGx1Z0luUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0lu
SW50ZXJuYWwuaCIKIAogI2lmIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250
ZXh0Q29udHJvbGxlci5oCShyZXZpc2lvbiAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDE2ICsyMywxNiBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8V2ViS2l0Mi9XS0RlY2xhcmF0aW9uU3BlY2lmaWVy
cy5oPgogI2ltcG9ydCA8V2ViS2l0Mi9XS0ZvdW5kYXRpb24uaD4KIAogI2lmIFdLX0FQSV9FTkFC
TEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCiBAY2xhc3MgV0tET01E
b2N1bWVudDsKIEBjbGFzcyBXS0RPTVJhbmdlOwogCi1XS19FWFBPUlQKK1dLX0FQSV9DTEFTUwog
QGludGVyZmFjZSBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgOiBO
U09iamVjdAogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLRE9NRG9jdW1lbnQgKm1haW5GcmFtZURv
Y3VtZW50OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9t
YWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCShyZXZpc2lv
biAxNTk3NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw2IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0K
ICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlckludGVy
bmFsLmgiCiAKICNpZiBXS19BUElfRU5BQkxFRApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5NzU5KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMTEtMjUgIERhbiBC
ZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFB1dCBtb3N0IG9m
IHRoZSBDb2NvYSBBUEkgYmVoaW5kIFdLX0FQSV9FTkFCTEVEIGd1YXJkcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0ODUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgI2lmIFdLX0FQSV9FTkFC
TEVEIGd1YXJkcyBhcm91bmQgdGVzdHMgdGhhdCB1c2UgdGhlIE9iamVjdGl2ZS1DIEFQSS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvQ3VzdG9tUHJvdG9jb2xzU3luY1hIUlRlc3Qu
bW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90
b2NvbHNJbnZhbGlkU2NoZW1lLm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mk9iakMvQ3VzdG9tUHJvdG9jb2xzVGVzdC5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJPYmpDL1ByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jlc2l6aW5nLm1tOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvVXNlckNvbnRlbnRUZXN0
Lm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93c2lu
Z0NvbnRleHRHcm91cFRlc3QubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVRlc3QubW06CisKIDIwMTMtMTEt
MjUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNTk3NTIgYW5kIHIxNTk3NTQuCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL0N1c3RvbVByb3RvY29sc1N5bmNYSFJUZXN0Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvQ3VzdG9tUHJvdG9jb2xzU3luY1hIUlRl
c3QubW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvQ3Vz
dG9tUHJvdG9jb2xzU3luY1hIUlRlc3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDgg
QEAKICNpbXBvcnQgPFdlYktpdDIvV0tWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogCisjaWYgV0tfQVBJX0VOQUJMRUQKKwogc3RhdGljIGJvb2wgdGVzdEZpbmlzaGVk
ID0gZmFsc2U7CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKQEAgLTY3LDMgKzY5LDUgQEAg
VEVTVChXZWJLaXQyQ3VzdG9tUHJvdG9jb2xzVGVzdCwgU3luY1hIUgogfQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNJbnZhbGlk
U2NoZW1lLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mk9iakMvQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZS5tbQkocmV2aXNpb24gMTU5NzU5KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9DdXN0b21Qcm90b2NvbHNJ
bnZhbGlkU2NoZW1lLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw4IEBACiAjaW1wb3J0
IDxXZWJLaXQyL1dlYktpdDIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAorI2lmIFdL
X0FQSV9FTkFCTEVECisKIHN0YXRpYyBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwogCiBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CkBAIC01NiwzICs1OCw1IEBAIFRFU1QoV2ViS2l0MkN1c3Rv
bVByb3RvY29sc1Rlc3QsIExvYWRJbnYKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mk9iakMvQ3VzdG9tUHJvdG9jb2xzVGVzdC5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL0N1c3RvbVByb3RvY29sc1Rlc3Qu
bW0JKHJldmlzaW9uIDE1OTc1OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mk9iakMvQ3VzdG9tUHJvdG9jb2xzVGVzdC5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIs
OCBAQAogI2ltcG9ydCA8V2ViS2l0Mi9XZWJLaXQyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRy
Lmg+CiAKKyNpZiBXS19BUElfRU5BQkxFRAorCiBzdGF0aWMgYm9vbCB0ZXN0RmluaXNoZWQgPSBm
YWxzZTsKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewpAQCAtNTMsMyArNTUsNSBAQCBURVNU
KFdlYktpdDJDdXN0b21Qcm90b2NvbHNUZXN0LCBNYWluUmVzCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1ByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jl
c2l6aW5nLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Mk9iakMvUHJldmVudEltYWdlTG9hZFdpdGhBdXRvUmVzaXppbmcubW0JKHJldmlzaW9uIDE1OTc1
OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvUHJldmVudEltYWdl
TG9hZFdpdGhBdXRvUmVzaXppbmcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDggQEAK
ICNpbXBvcnQgPFdlYktpdDIvV2ViS2l0Mi5oPgogI2ltcG9ydCA8V2ViS2l0Mi9XS1ZpZXdQcml2
YXRlLmg+CiAKKyNpZiBXS19BUElfRU5BQkxFRAorCiBzdGF0aWMgYm9vbCB0ZXN0RmluaXNoZWQg
PSBmYWxzZTsKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewpAQCAtNTUsMyArNTcsNSBAQCBU
RVNUKFdlYktpdDIsIFByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1JlCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1VzZXJDb250ZW50VGVzdC5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1VzZXJDb250
ZW50VGVzdC5tbQkocmV2aXNpb24gMTU5NzU5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyT2JqQy9Vc2VyQ29udGVudFRlc3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbXBvcnQgPFdlYktpdDIvV0tWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2Vi
S2l0Mi9XZWJLaXQyLmg+CiAKKyNpZiBXS19BUElfRU5BQkxFRAogCiBzdGF0aWMgYm9vbCB0ZXN0
RmluaXNoZWQgPSBmYWxzZTsKIHN0YXRpYyBOU1N0cmluZyAqaHRtbFN0cmluZyA9IEAiPGJvZHkg
c3R5bGU9J2JhY2tncm91bmQtY29sb3I6IHJlZCc+IjsKQEAgLTIyOCwzICsyMjksNSBAQCBURVNU
X0YoV2ViS2l0MlVzZXJDb250ZW50VGVzdCwgUmVtb3ZlQWxsCiAgICAgCiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogfQorCisjZW5kaWYgLy8gV0tfQVBJX0VO
QUJMRUQKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93
c2luZ0NvbnRleHRHcm91cFRlc3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dEdyb3VwVGVzdC5tbQkocmV2aXNp
b24gMTU5NzU5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9XS0Jy
b3dzaW5nQ29udGV4dEdyb3VwVGVzdC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsOCBA
QAogCiAjaW1wb3J0IDxXZWJLaXQyL1dLQnJvd3NpbmdDb250ZXh0R3JvdXAuaD4KIAorI2lmIFdL
X0FQSV9FTkFCTEVECisKIFRFU1QoV0tCcm93c2luZ0NvbnRleHRHcm91cFRlc3QsIEdldFNldEph
dmFTY3JpcHRFbmFibGVkKQogewogICAgIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAgKmJyb3dzaW5n
Q29udGV4dEdyb3VwID0gW1tXS0Jyb3dzaW5nQ29udGV4dEdyb3VwIGFsbG9jXSBpbml0V2l0aElk
ZW50aWZpZXI6QCJUZXN0SWRlbnRpZmllciJdOwpAQCAtNTMsMyArNTUsNSBAQCBURVNUKFdLQnJv
d3NpbmdDb250ZXh0R3JvdXBUZXN0LCBHZXRTZXRQCiAKICAgICBbYnJvd3NpbmdDb250ZXh0R3Jv
dXAgcmVsZWFzZV07CiB9CisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dExvYWREZWxl
Z2F0ZVRlc3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyT2JqQy9XS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVRlc3QubW0JKHJldmlzaW9uIDE1
OTc1OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tCcm93c2lu
Z0NvbnRleHRMb2FkRGVsZWdhdGVUZXN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw4
IEBACiAKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAKKyNpZiBXS19BUElfRU5BQkxF
RAorCiBuYW1lc3BhY2UgewogCiBjbGFzcyBXS0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZVRl
c3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsgCkBAIC0yMjcsMyArMjI5LDUgQEAgVEVTVF9G
KFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlVGVzdAogICAgIHZpZXcuYnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlci5sb2FkRGVsZWdhdGUgPSBuaWw7CiAgICAgW2xvYWREZWxlZ2F0ZSByZWxl
YXNlXTsKIH0KKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECg==
</data>

          </attachment>
      

    </bug>

</bugzilla>