<?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>50440</bug_id>
          
          <creation_ts>2010-12-03 00:43:57 -0800</creation_ts>
          <short_desc>Finish splitting DECLARE_ANIMATED_PROPERTY* in DECLARE/DEFINE parts for the remaining SVGAnimated* types</short_desc>
          <delta_ts>2010-12-03 01:45:14 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>50316</dependson>
          <blocked>42025</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>316712</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-03 00:43:57 -0800</bug_when>
    <thetext>Same work as bug 50316, but for SVGAnimatedBoolean/SVGAnimatedAngle/SVGAnimatedRect.
This marks the end of the split patch series. After this lands the global SVGNames.h include problem can be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316714</commentid>
    <comment_count>1</comment_count>
      <attachid>75470</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-03 00:47:19 -0800</bug_when>
    <thetext>Created attachment 75470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316718</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-03 01:04:39 -0800</bug_when>
    <thetext>Attachment 75470 did not build on qt:
Build output: http://queues.webkit.org/results/6781023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316722</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-03 01:11:00 -0800</bug_when>
    <thetext>Attachment 75470 did not build on chromium:
Build output: http://queues.webkit.org/results/6753025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316724</commentid>
    <comment_count>4</comment_count>
      <attachid>75470</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-03 01:11:39 -0800</bug_when>
    <thetext>Comment on attachment 75470
Patch

LGTM. Please fix the style error, if there is one. Don&apos;t you use webkit upload? If not, please check the style with check-webkit-style before you commit a patch - always.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316725</commentid>
    <comment_count>5</comment_count>
      <attachid>75470</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-03 01:12:46 -0800</bug_when>
    <thetext>Comment on attachment 75470
Patch

Clearing r+ because of build breaks on some bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316728</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-03 01:26:02 -0800</bug_when>
    <thetext>Attachment 75470 did not build on win:
Build output: http://queues.webkit.org/results/6805023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316730</commentid>
    <comment_count>7</comment_count>
      <attachid>75473</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-03 01:27:51 -0800</bug_when>
    <thetext>Created attachment 75473
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316731</commentid>
    <comment_count>8</comment_count>
      <attachid>75473</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-03 01:39:19 -0800</bug_when>
    <thetext>Comment on attachment 75473
Patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316734</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-03 01:45:14 -0800</bug_when>
    <thetext>Landed in r73254.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75470</attachid>
            <date>2010-12-03 00:47:19 -0800</date>
            <delta_ts>2010-12-03 01:27:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>CleanupPatch.diff</filename>
            <type>text/plain</type>
            <size>95277</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzI0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTA1IEBACisyMDEwLTEyLTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpbmlzaCBzcGxpdHRpbmcgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWSogaW4gREVD
TEFSRS9ERUZJTkUgcGFydHMgZm9yIHRoZSByZW1haW5pbmcgU1ZHQW5pbWF0ZWQqIHR5cGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQ0MAorCisg
ICAgICAgIENvbnRpbnVpbmcgdGhlIHdvcmsgb24gYnVnIDQyMDI1OiBJbnRyb2R1Y2UgKERFQ0xB
UkV8REVGSU5FKV9BTklNQVRFRF8oQU5HTEV8Qk9PTEVBTnxJTlRFR0VSfFBSRVNFUlZFQVNQRUNU
UkFUSU98UkVDVCkuCisgICAgICAgIFRoZSBhbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBs
aXZlcyBpbiB0aGUgaGVhZGVyLCB0aGUgZGVmaW5pdGlvbiBpbiB0aGUgY3BwIGZpbGUsIHRvIGF2
b2lkIHRoZSBkZXBlbmRlbmN5IG9uIFNWR05hbWVzLmggaW4gYWxsIGhlYWRlcnMuCisKKyAgICAg
ICAgTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLCB0aHVzIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAq
IHN2Zy9TVkdBRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRC
b29sZWFuLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oOgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRSZWN0Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVEaXN0YW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRpb25FbGVtZW50OjphbmltYXRpb25QYXRoKToKKyAgICAgICAgKiBzdmcvU1ZH
Q2lyY2xlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHQ2xp
cFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0RlZnNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRGVmc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHRWxsaXBzZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdFbGxpcHNlRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZF
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHA6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6CisgICAgICAgICogc3ZnL1NWR0Zv
bnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRFbGVtZW50OjpmaXJzdE1p
c3NpbmdHbHlwaEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEVsZW1lbnQ6OmVu
c3VyZUdseXBoQ2FjaGUpOgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50LmNwcDoKKyAg
ICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dFbGVtZW50
Ojppc1NoYWRvd1RyZWVDb250YWluZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dF
bGVtZW50Ojppc1ZhbGlkKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0lt
YWdlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0xpbmVFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdNUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R1BhdHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHUG9seUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdQb2x5
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHUmVjdEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1NWR0VsZW1lbnQ6OmNvbnRlbnRTY3JpcHRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1NWR0VsZW1lbnQ6OmNvbnRlbnRTdHlsZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
U1ZHRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdTVkdF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAq
IHN2Zy9TVkdTY3JpcHRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N3aXRjaEVsZW1lbnQu
Y3BwOgorICAgICAgICAqIHN2Zy9TVkdTd2l0Y2hFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTd2l0Y2hFbGVtZW50Ojppc1ZhbGlkKToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxl
bWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1N5bWJvbEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIHN2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmll
d0VsZW1lbnQ6OnZpZXdUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6
OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6
dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjp2aWV3VGFyZ2V0U3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpjb250ZXh0RWxlbWVudCk6Cisg
ICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oOgorCiAy
MDEwLTEyLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbmltYXRlZCBwcm9w
ZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdBRWxlbWVudCwgU1ZH
TmFtZXM6OnRhcmdldEF0dHIsIFNWR1RhcmdldCwgc3ZnVGFyZ2V0KQogREVGSU5FX0FOSU1BVEVE
X1NUUklORyhTVkdBRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitE
RUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZHQUVsZW1lbnQ6OlNWR0FFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHQUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVu
dC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNkZWZpbmUgU1ZHQUVsZW1lbnRfaAogCiAjaWYg
RU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTcyLDcgKzcz
LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQog
CiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmds
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaAkocmV2aXNp
b24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDYgKzI4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBTVkdB
bmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdBbmdsZT4gU1ZHQW5pbWF0ZWRBbmdsZTsKIAorLy8g
SGVscGVyIG1hY3JvcyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkQW5nbGUgb2JqZWN0
CisjZGVmaW5lIERFQ0xBUkVfQU5JTUFURURfQU5HTEUoVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkgXAorREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZEFuZ2xlLCBTVkdB
bmdsZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJTkVfQU5J
TUFURURfQU5HTEVfTVVMVElQTEVfV1JBUFBFUlMoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNW
R0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwK
K0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9N
QXR0cmlidXRlSWRlbnRpZmllciwgU1ZHQW5pbWF0ZWRBbmdsZSwgU1ZHQW5nbGUsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAkocmV2aXNpb24g
NzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0Fu
aW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmPGJvb2w+IFNWR0FuaW1hdGVkQm9vbGVhbjsKIAor
Ly8gSGVscGVyIG1hY3JvcyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkQm9vbGVhbiBv
YmplY3QKKyNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKK0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRCb29s
ZWFuLCBib29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklO
RV9BTklNQVRFRF9CT09MRUFOKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRCb29sZWFu
LCBib29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRJbnRlZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRl
Z2VyLmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDEyICsyMSwyMyBAQAogI2RlZmluZSBTVkdBbmltYXRl
ZEludGVnZXJfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZFByb3Bl
cnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0FuaW1hdGVkU3RhdGljUHJv
cGVydHlUZWFyT2ZmPGxvbmc+IFNWR0FuaW1hdGVkSW50ZWdlcjsKIAorLy8gSGVscGVyIG1hY3Jv
cyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkSW50ZWdlciBvYmplY3QKKyNkZWZpbmUg
REVDTEFSRV9BTklNQVRFRF9JTlRFR0VSKFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwK
K0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRJbnRlZ2VyLCBsb25nLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklORV9BTklNQVRFRF9JTlRF
R0VSKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERP
TUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRJbnRlZ2VyLCBsb25nLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklORV9BTklNQVRFRF9JTlRFR0VS
X01VTFRJUExFX1dSQVBQRVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1
dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5J
TUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlk
ZW50aWZpZXIsIFNWR0FuaW1hdGVkSW50ZWdlciwgbG9uZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNW
RykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5o
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpby5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxMyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHR5cGVkZWYgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJPZmY8U1ZHUHJlc2VydmVB
c3BlY3RSYXRpbz4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvOwogCisvLyBIZWxwZXIg
bWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
IG9iamVjdAorI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShT
VkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCisKKyNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX1BS
RVNFUlZFQVNQRUNUUkFUSU8oT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpIFwKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShPd25lclR5cGUsIERP
TUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBTVkdBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTMgKzIxLDIxIEBA
CiAjZGVmaW5lIFNWR0FuaW1hdGVkUmVjdF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZi5oIgorI2luY2x1ZGUgIlNWR1JlY3Qu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0FuaW1hdGVkUHJvcGVydHlU
ZWFyT2ZmPEZsb2F0UmVjdD4gU1ZHQW5pbWF0ZWRSZWN0OwogCisvLyBIZWxwZXIgbWFjcm9zIHRv
IGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRSZWN0IG9iamVjdAorI2RlZmluZSBERUNMQVJF
X0FOSU1BVEVEX1JFQ1QoVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVDTEFSRV9B
TklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZFJlY3QsIEZsb2F0UmVjdCwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJTkVfQU5JTUFURURfUkVDVChPd25lclR5
cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVGSU5F
X0FOSU1BVEVEX1BST1BFUlRZKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUu
bG9jYWxOYW1lKCksIFNWR0FuaW1hdGVkUmVjdCwgRmxvYXRSZWN0LCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDEzICs0NSwxNSBAQAogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKICNpbmNsdWRlICJYTGlua05hbWVzLmgiCi0jaW5jbHVk
ZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCisvLyBBbmltYXRlZCBwcm9w
ZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHQW5pbWF0aW9uRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBTVkdBbmltYXRp
b25FbGVtZW50OjpTVkdBbmltYXRpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1NNSUxFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQogICAgICwgbV9hbmltYXRpb25WYWxpZChmYWxzZSkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmlt
YXRpb25FbGVtZW50LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMDEgKzIzLDEwNCBAQAogCiAjaWZu
ZGVmIFNWR0FuaW1hdGlvbkVsZW1lbnRfaAogI2RlZmluZSBTVkdBbmltYXRpb25FbGVtZW50X2gK
KwogI2lmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQogI2luY2x1ZGUgIkVsZW1lbnRUaW1lQ29udHJv
bC5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJTTUlMVGltZS5oIgotI2luY2x1ZGUg
IlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKLSNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuaCIKKyNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1N0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlVu
aXRCZXppZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIENvbmRp
dGlvbkV2ZW50TGlzdGVuZXI7Ci0gICAgY2xhc3MgVGltZUNvbnRhaW5lcjsKK2NsYXNzIENvbmRp
dGlvbkV2ZW50TGlzdGVuZXI7CitjbGFzcyBUaW1lQ29udGFpbmVyOwogCi0gICAgY2xhc3MgU1ZH
QW5pbWF0aW9uRWxlbWVudCA6IHB1YmxpYyBTVkdTTUlMRWxlbWVudCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIEVsZW1lbnRUaW1lQ29udHJvbCB7Ci0gICAg
cHVibGljOgotICAgICAgICAvLyBTVkdBbmltYXRpb25FbGVtZW50Ci0gICAgICAgIGZsb2F0IGdl
dFN0YXJ0VGltZSgpIGNvbnN0OwotICAgICAgICBmbG9hdCBnZXRDdXJyZW50VGltZSgpIGNvbnN0
OwotICAgICAgICBmbG9hdCBnZXRTaW1wbGVEdXJhdGlvbihFeGNlcHRpb25Db2RlJikgY29uc3Q7
Ci0gICAgICAgIAotICAgICAgICAvLyBFbGVtZW50VGltZUNvbnRyb2wKLSAgICAgICAgdmlydHVh
bCB2b2lkIGJlZ2luRWxlbWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5FbGVtZW50
QXQoZmxvYXQgb2Zmc2V0KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnQoKTsKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnRBdChmbG9hdCBvZmZzZXQpOwotICAgICAgICAK
LSAgICAgICAgc3RhdGljIGJvb2wgYXR0cmlidXRlSXNDU1MoY29uc3QgU3RyaW5nJiBhdHRyaWJ1
dGVOYW1lKTsKLQotICAgIHByb3RlY3RlZDoKLSAgICAgICAgU1ZHQW5pbWF0aW9uRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICAgICAgZW51bSBDYWxjTW9k
ZSB7IENhbGNNb2RlRGlzY3JldGUsIENhbGNNb2RlTGluZWFyLCBDYWxjTW9kZVBhY2VkLCBDYWxj
TW9kZVNwbGluZSB9OwotICAgICAgICBDYWxjTW9kZSBjYWxjTW9kZSgpIGNvbnN0OwotICAgICAg
ICAKLSAgICAgICAgZW51bSBBdHRyaWJ1dGVUeXBlIHsgQXR0cmlidXRlVHlwZUNTUywgQXR0cmli
dXRlVHlwZVhNTCwgQXR0cmlidXRlVHlwZUF1dG8gfTsKLSAgICAgICAgQXR0cmlidXRlVHlwZSBh
dHRyaWJ1dGVUeXBlKCkgY29uc3Q7Ci0gICAgICAgIAotICAgICAgICBTdHJpbmcgdG9WYWx1ZSgp
IGNvbnN0OwotICAgICAgICBTdHJpbmcgYnlWYWx1ZSgpIGNvbnN0OwotICAgICAgICBTdHJpbmcg
ZnJvbVZhbHVlKCkgY29uc3Q7Ci0gICAgICAgIAotICAgICAgICBlbnVtIEFuaW1hdGlvbk1vZGUg
eyBOb0FuaW1hdGlvbiwgVG9BbmltYXRpb24sIEJ5QW5pbWF0aW9uLCBWYWx1ZXNBbmltYXRpb24s
IEZyb21Ub0FuaW1hdGlvbiwgRnJvbUJ5QW5pbWF0aW9uLCBQYXRoQW5pbWF0aW9uIH07Ci0gICAg
ICAgIEFuaW1hdGlvbk1vZGUgYW5pbWF0aW9uTW9kZSgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBoYXNWYWxpZFRhcmdldCgpIGNvbnN0OwotICAgICAgICAKLSAgICAgICAgU3RyaW5n
IHRhcmdldEF0dHJpYnV0ZUJhc2VWYWx1ZSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldFRhcmdl
dEF0dHJpYnV0ZUFuaW1hdGVkVmFsdWUoY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIGJvb2wgdGFy
Z2V0QXR0cmlidXRlSXNDU1MoKSBjb25zdDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgaXNBZGRp
dGl2ZSgpIGNvbnN0OwotICAgICAgICBib29sIGlzQWNjdW11bGF0ZWQoKSBjb25zdDsKLSAgICAK
LSAgICAgICAgLy8gZnJvbSBTVkdTTUlMRWxlbWVudAotICAgICAgICB2aXJ0dWFsIHZvaWQgc3Rh
cnRlZEFjdGl2ZUludGVydmFsKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBbmltYXRp
b24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQgcmVwZWF0LCBTVkdTTUlMRWxlbWVudCogcmVzdWx0
RWxlbWVudCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBlbmRlZEFjdGl2ZUludGVydmFsKCk7Ci0g
ICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFu
Z2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAgICAgICB2
aXJ0dWFsIGJvb2wgY2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0
cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZykgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wg
Y2FsY3VsYXRlRnJvbUFuZEJ5VmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3Qg
U3RyaW5nJiBieVN0cmluZykgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5p
bWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZCByZXBlYXQsIFNWR1NNSUxFbGVt
ZW50KiByZXN1bHRFbGVtZW50KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgZmxvYXQgY2FsY3VsYXRl
RGlzdGFuY2UoY29uc3QgU3RyaW5nJiAvKmZyb21TdHJpbmcqLywgY29uc3QgU3RyaW5nJiAvKnRv
U3RyaW5nKi8pIHsgcmV0dXJuIC0xLmY7IH0KLSAgICAgICAgdmlydHVhbCBQYXRoIGFuaW1hdGlv
blBhdGgoKSBjb25zdCB7IHJldHVybiBQYXRoKCk7IH0KLSAgICAgICAgCi0gICAgICAgIHZvaWQg
Y3VycmVudFZhbHVlc0ZvclZhbHVlc0FuaW1hdGlvbihmbG9hdCBwZXJjZW50LCBmbG9hdCYgZWZm
ZWN0aXZlUGVyY2VudCwgU3RyaW5nJiBmcm9tLCBTdHJpbmcmIHRvKSBjb25zdDsKLSAgICAgICAg
dm9pZCBjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFjZWQoKTsKLSAgICAgICAgZmxvYXQg
Y2FsY3VsYXRlUGVyY2VudEZyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCkgY29uc3Q7Ci0gICAg
ICAgIHZvaWQgY3VycmVudFZhbHVlc0Zyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCwgZmxvYXQm
IGVmZmVjdGl2ZVBlcmNlbnQsIFN0cmluZyYgZnJvbSwgU3RyaW5nJiB0bykgY29uc3Q7Ci0gICAg
ICAgIGZsb2F0IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUoZmxvYXQgcGVyY2VudCwgdW5zaWdu
ZWQgc3BsaW5lSW5kZXgpIGNvbnN0OwotICAgICAgICB1bnNpZ25lZCBjYWxjdWxhdGVLZXlUaW1l
c0luZGV4KGZsb2F0IHBlcmNlbnQpIGNvbnN0OwotICAgICAgICAKLSAgICAgICAgLy8gU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHQW5pbWF0aW9uRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQotCi0gICAgICAgIGJvb2wgbV9hbmltYXRpb25WYWxpZDsKLQot
ICAgICAgICBWZWN0b3I8U3RyaW5nPiBtX3ZhbHVlczsKLSAgICAgICAgVmVjdG9yPGZsb2F0PiBt
X2tleVRpbWVzOwotICAgICAgICBWZWN0b3I8ZmxvYXQ+IG1fa2V5UG9pbnRzOwotICAgICAgICBW
ZWN0b3I8VW5pdEJlemllcj4gbV9rZXlTcGxpbmVzOwotICAgICAgICBTdHJpbmcgbV9sYXN0VmFs
dWVzQW5pbWF0aW9uRnJvbTsKLSAgICAgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvblRv
OwotICAgIH07CitjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50IDogcHVibGljIFNWR1NNSUxFbGVt
ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgRWxlbWVudFRpbWVDb250cm9s
IHsKK3B1YmxpYzoKKyAgICAvLyBTVkdBbmltYXRpb25FbGVtZW50CisgICAgZmxvYXQgZ2V0U3Rh
cnRUaW1lKCkgY29uc3Q7CisgICAgZmxvYXQgZ2V0Q3VycmVudFRpbWUoKSBjb25zdDsKKyAgICBm
bG9hdCBnZXRTaW1wbGVEdXJhdGlvbihFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgCisgICAg
Ly8gRWxlbWVudFRpbWVDb250cm9sCisgICAgdmlydHVhbCB2b2lkIGJlZ2luRWxlbWVudCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBiZWdpbkVsZW1lbnRBdChmbG9hdCBvZmZzZXQpOworICAgIHZpcnR1
YWwgdm9pZCBlbmRFbGVtZW50KCk7CisgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnRBdChmbG9h
dCBvZmZzZXQpOworICAgIAorICAgIHN0YXRpYyBib29sIGF0dHJpYnV0ZUlzQ1NTKGNvbnN0IFN0
cmluZyYgYXR0cmlidXRlTmFtZSk7CisKK3Byb3RlY3RlZDoKKyAgICBTVkdBbmltYXRpb25FbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCB2b2lk
IHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOworCisgICAgZW51bSBDYWxjTW9kZSB7
IENhbGNNb2RlRGlzY3JldGUsIENhbGNNb2RlTGluZWFyLCBDYWxjTW9kZVBhY2VkLCBDYWxjTW9k
ZVNwbGluZSB9OworICAgIENhbGNNb2RlIGNhbGNNb2RlKCkgY29uc3Q7CisgICAgCisgICAgZW51
bSBBdHRyaWJ1dGVUeXBlIHsgQXR0cmlidXRlVHlwZUNTUywgQXR0cmlidXRlVHlwZVhNTCwgQXR0
cmlidXRlVHlwZUF1dG8gfTsKKyAgICBBdHRyaWJ1dGVUeXBlIGF0dHJpYnV0ZVR5cGUoKSBjb25z
dDsKKyAgICAKKyAgICBTdHJpbmcgdG9WYWx1ZSgpIGNvbnN0OworICAgIFN0cmluZyBieVZhbHVl
KCkgY29uc3Q7CisgICAgU3RyaW5nIGZyb21WYWx1ZSgpIGNvbnN0OworICAgIAorICAgIGVudW0g
QW5pbWF0aW9uTW9kZSB7IE5vQW5pbWF0aW9uLCBUb0FuaW1hdGlvbiwgQnlBbmltYXRpb24sIFZh
bHVlc0FuaW1hdGlvbiwgRnJvbVRvQW5pbWF0aW9uLCBGcm9tQnlBbmltYXRpb24sIFBhdGhBbmlt
YXRpb24gfTsKKyAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlvbk1vZGUoKSBjb25zdDsKKworICAg
IHZpcnR1YWwgYm9vbCBoYXNWYWxpZFRhcmdldCgpIGNvbnN0OworICAgIAorICAgIFN0cmluZyB0
YXJnZXRBdHRyaWJ1dGVCYXNlVmFsdWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFRhcmdldEF0dHJp
YnV0ZUFuaW1hdGVkVmFsdWUoY29uc3QgU3RyaW5nJik7CisgICAgYm9vbCB0YXJnZXRBdHRyaWJ1
dGVJc0NTUygpIGNvbnN0OworICAgIAorICAgIGJvb2wgaXNBZGRpdGl2ZSgpIGNvbnN0OworICAg
IGJvb2wgaXNBY2N1bXVsYXRlZCgpIGNvbnN0OworCisgICAgLy8gZnJvbSBTVkdTTUlMRWxlbWVu
dAorICAgIHZpcnR1YWwgdm9pZCBzdGFydGVkQWN0aXZlSW50ZXJ2YWwoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIHVuc2lnbmVkIHJlcGVhdCwgU1ZH
U01JTEVsZW1lbnQqIHJlc3VsdEVsZW1lbnQpOworICAgIHZpcnR1YWwgdm9pZCBlbmRlZEFjdGl2
ZUludGVydmFsKCk7CisgICAgCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVD
aGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7CisgICAgdmlydHVhbCB2b2lk
IHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVh
bCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcs
IGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgY2FsY3VsYXRl
RnJvbUFuZEJ5VmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiBi
eVN0cmluZykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZs
b2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkIHJlcGVhdCwgU1ZHU01JTEVsZW1lbnQqIHJlc3VsdEVs
ZW1lbnQpID0gMDsKKyAgICB2aXJ0dWFsIGZsb2F0IGNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0
cmluZyYgLypmcm9tU3RyaW5nKi8sIGNvbnN0IFN0cmluZyYgLyp0b1N0cmluZyovKSB7IHJldHVy
biAtMS5mOyB9CisgICAgdmlydHVhbCBQYXRoIGFuaW1hdGlvblBhdGgoKSBjb25zdCB7IHJldHVy
biBQYXRoKCk7IH0KKyAgICAKKyAgICB2b2lkIGN1cnJlbnRWYWx1ZXNGb3JWYWx1ZXNBbmltYXRp
b24oZmxvYXQgcGVyY2VudCwgZmxvYXQmIGVmZmVjdGl2ZVBlcmNlbnQsIFN0cmluZyYgZnJvbSwg
U3RyaW5nJiB0bykgY29uc3Q7CisgICAgdm9pZCBjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2Rl
UGFjZWQoKTsKKyAgICBmbG9hdCBjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhmbG9hdCBw
ZXJjZW50KSBjb25zdDsKKyAgICB2b2lkIGN1cnJlbnRWYWx1ZXNGcm9tS2V5UG9pbnRzKGZsb2F0
IHBlcmNlbnQsIGZsb2F0JiBlZmZlY3RpdmVQZXJjZW50LCBTdHJpbmcmIGZyb20sIFN0cmluZyYg
dG8pIGNvbnN0OworICAgIGZsb2F0IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUoZmxvYXQgcGVy
Y2VudCwgdW5zaWduZWQgc3BsaW5lSW5kZXgpIGNvbnN0OworICAgIHVuc2lnbmVkIGNhbGN1bGF0
ZUtleVRpbWVzSW5kZXgoZmxvYXQgcGVyY2VudCkgY29uc3Q7CisKKyAgICAvLyBBbmltYXRlZCBw
cm9wZXJ0eSBkZWNsYXJhdGlvbnMKKworICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKworICAgIGJvb2wgbV9hbmltYXRpb25WYWxp
ZDsKKworICAgIFZlY3RvcjxTdHJpbmc+IG1fdmFsdWVzOworICAgIFZlY3RvcjxmbG9hdD4gbV9r
ZXlUaW1lczsKKyAgICBWZWN0b3I8ZmxvYXQ+IG1fa2V5UG9pbnRzOworICAgIFZlY3RvcjxVbml0
QmV6aWVyPiBtX2tleVNwbGluZXM7CisgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvbkZy
b207CisgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvblRvOworfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAkocmV2aXNpb24g
NzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBERUZJTkVfQU5JTUFURURf
TEVOR1RIKFNWR0NpcmNsZUVsZW1lbnQsIFNWR05hbWVzOjpjeEF0dHIsIEN4LCBjeCkKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTmFtZXM6OmN5QXR0ciwgQ3ks
IGN5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdDaXJjbGVFbGVtZW50LCBTVkdOYW1lczo6
ckF0dHIsIFIsIHIpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdDaXJjbGVFbGVtZW50LCBT
VkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdDaXJjbGVF
bGVtZW50OjpTVkdDaXJjbGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAkocmV2aXNpb24gNzMx
MjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHQ2lyY2xlRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1h
dGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5n
U3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAt
NTcsNyArNTcsNyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFIsIHIp
CiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklN
QVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0NpcmNsZUVsZW1lbnQsIFNWR05hbWVzOjpleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xF
QU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9F
TlVNRVJBVElPTihTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpjbGlwUGF0aFVuaXRzQXR0
ciwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKK0RFRklORV9BTklNQVRFRF9CT09MRUFO
KFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRB
dHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQogCiBpbmxpbmUgU1ZHQ2xpcFBhdGhFbGVtZW50OjpTVkdDbGlwUGF0aEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdD
bGlwUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBT
VkdDbGlwUGF0aEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmlt
YXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5j
bHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdT
cGFjZS5oIgpAQCAtNTYsNyArNTcsNyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURf
RU5VTUVSQVRJT04oQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHQ2xpcFBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2
Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0N1cnNvckVsZW1l
bnQsIFNWR05hbWVzOjp4QXR0ciwgWCwgeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHQ3Vy
c29yRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdDdXJzb3JFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKK0RF
RklORV9BTklNQVRFRF9CT09MRUFOKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0N1cnNvckVsZW1lbnQ6OlNWR0N1cnNv
ckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JF
bGVtZW50LmgJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNWR0N1cnNvckVs
ZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4u
aCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVk
U3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgpAQCAtNjIsNyArNjMsNyBAQCBwcml2
YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIEhhc2hT
ZXQ8U1ZHRWxlbWVudCo+IG1fY2xpZW50czsKIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdEZWZz
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8v
IEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihT
VkdEZWZzRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBp
bmxpbmUgU1ZHRGVmc0VsZW1lbnQ6OlNWR0RlZnNFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRGVm
c0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5oCShy
ZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgU1ZHRGVmc0VsZW1lbnRfaAogCiAjaWYg
RU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCkBAIC0zMCwyNCArMzAsMjYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHRGVmc0VsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJs
aWMgU1ZHVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1Nw
YWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZH
RGVmc0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQot
ICAgIHByaXZhdGU6Ci0gICAgICAgIFNWR0RlZnNFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCopOwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci0K
LSAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotCi0gICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVX
KFNWR0RlZnNFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCi0gICAgfTsKK2NsYXNzIFNWR0RlZnNFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5z
Zm9ybWFibGVFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVzdHMs
CisgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdEZWZzRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIFNWR0RlZnNFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIGlz
VmFsaWQoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9u
aXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgLy8gQW5pbWF0ZWQgcHJv
cGVydHkgZGVjbGFyYXRpb25zCisKKyAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
CisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTI5KQorKysg
V2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2
ICszNyw3IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR05hbWVzOjpjeUF0dHIsIEN5
LCBjeSkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR05hbWVz
OjpyeEF0dHIsIFJ4LCByeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1l
bnQsIFNWR05hbWVzOjpyeUF0dHIsIFJ5LCByeSkKK0RFRklORV9BTklNQVRFRF9CT09MRUFOKFNW
R0VsbGlwc2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAK
IGlubGluZSBTVkdFbGxpcHNlRWxlbWVudDo6U1ZHRWxsaXBzZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdFbGxpcHNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VF
bGVtZW50LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdFbGxpcHNl
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAtNTgsNyArNTgsNyBAQCBwcml2YXRlOgogICAgIERFQ0xB
UkVfQU5JTUFURURfTEVOR1RIKFJ5LCByeSkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRWxs
aXBzZUVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMiArMzMsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEp
CitERUZJTkVfQU5JTUFURURfSU5URUdFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Om9yZGVyQXR0ciwgb3JkZXJYSWRlbnRpZmllcigpLCBP
cmRlclgsIG9yZGVyWCkKK0RFRklORV9BTklNQVRFRF9JTlRFR0VSX01VTFRJUExFX1dSQVBQRVJT
KFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJBdHRyLCBvcmRlcllJ
ZGVudGlmaWVyKCksIE9yZGVyWSwgb3JkZXJZKSAKIERFRklORV9BTklNQVRFRF9OVU1CRVJfTElT
VChTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Omtlcm5lbE1hdHJpeEF0dHIs
IEtlcm5lbE1hdHJpeCwga2VybmVsTWF0cml4KQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdG
RUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmRpdmlzb3JBdHRyLCBEaXZpc29yLCBk
aXZpc29yKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6OmJpYXNBdHRyLCBCaWFzLCBiaWFzKQorREVGSU5FX0FOSU1BVEVEX0lOVEVH
RVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp0YXJnZXRYQXR0ciwgVGFy
Z2V0WCwgdGFyZ2V0WCkKK0RFRklORV9BTklNQVRFRF9JTlRFR0VSKFNWR0ZFQ29udm9sdmVNYXRy
aXhFbGVtZW50LCBTVkdOYW1lczo6dGFyZ2V0WUF0dHIsIFRhcmdldFksIHRhcmdldFkpCiBERUZJ
TkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjpvcGVyYXRvckF0dHIsIEVkZ2VNb2RlLCBlZGdlTW9kZSkKIERFRklORV9BTklNQVRFRF9O
VU1CRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwga2VybmVsVW5pdExlbmd0aFhJZGVudGlmaWVyKCks
IEtlcm5lbFVuaXRMZW5ndGhYLCBrZXJuZWxVbml0TGVuZ3RoWCkKIERFRklORV9BTklNQVRFRF9O
VU1CRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwga2VybmVsVW5pdExlbmd0aFlJZGVudGlmaWVyKCks
IEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3RoWSkKK0RFRklORV9BTklNQVRFRF9C
T09MRUFOKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBbHBo
YUF0dHIsIFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCiAKIGlubGluZSBTVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudDo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDE3ICs1MCwxNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVj
bGFyYXRpb25zCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCi0gICAgREVD
TEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR0ZF
Q29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJBdHRyLCBvcmRlclhJZGVudGlm
aWVyKCksIGxvbmcsIE9yZGVyWCwgb3JkZXJYKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElD
X1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6Om9yZGVyQXR0ciwgb3JkZXJZSWRlbnRpZmllcigpLCBsb25nLCBPcmRlclks
IG9yZGVyWSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0lOVEVHRVIoT3JkZXJYLCBvcmRlclgpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9JTlRFR0VSKE9yZGVyWSwgb3JkZXJZKQogICAgIERFQ0xBUkVf
QU5JTUFURURfTlVNQkVSX0xJU1QoS2VybmVsTWF0cml4LCBrZXJuZWxNYXRyaXgpCiAgICAgREVD
TEFSRV9BTklNQVRFRF9OVU1CRVIoRGl2aXNvciwgZGl2aXNvcikKICAgICBERUNMQVJFX0FOSU1B
VEVEX05VTUJFUihCaWFzLCBiaWFzKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldFhBdHRy
LCBsb25nLCBUYXJnZXRYLCB0YXJnZXRYKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldFlB
dHRyLCBsb25nLCBUYXJnZXRZLCB0YXJnZXRZKQorICAgIERFQ0xBUkVfQU5JTUFURURfSU5URUdF
UihUYXJnZXRYLCB0YXJnZXRYKQorICAgIERFQ0xBUkVfQU5JTUFURURfSU5URUdFUihUYXJnZXRZ
LCB0YXJnZXRZKQogICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oRWRnZU1vZGUsIGVk
Z2VNb2RlKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEtlcm5lbFVuaXRMZW5ndGhYLCBr
ZXJuZWxVbml0TGVuZ3RoWCkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihLZXJuZWxVbml0
TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFkpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6cHJlc2Vy
dmVBbHBoYUF0dHIsIGJvb2wsIFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCisgICAgREVD
TEFSRV9BTklNQVRFRF9CT09MRUFOKFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1BSRVNFUlZF
QVNQRUNUUkFUSU8oU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJh
dGlvQXR0ciwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIERFRklO
RV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVJbWFnZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRy
LCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRkVJbWFnZUVsZW1lbnQs
IFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0ZFSW1h
Z2VFbGVtZW50OjpTVkdGRUltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdl
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJ
KHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDExIEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VD
bGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNW
R0ZFSW1hZ2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTU4LDEzICs1OCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVxdWVzdElt
YWdlUmVzb3VyY2UoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwot
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdO
YW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgREVDTEFSRV9BTklN
QVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNw
ZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUltYWdlRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IG1fY2FjaGVkSW1hZ2U7CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBtX3RhcmdldEltYWdl
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW5pbWF0ZWQg
cHJvcGVydHkgZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9OVU1CRVJfTVVMVElQTEVfV1JB
UFBFUlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRy
LCBiYXNlRnJlcXVlbmN5WElkZW50aWZpZXIoKSwgQmFzZUZyZXF1ZW5jeVgsIGJhc2VGcmVxdWVu
Y3lYKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0dHIsIGJhc2VGcmVxdWVuY3lZ
SWRlbnRpZmllcigpLCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZyZXF1ZW5jeVkpCitERUZJTkVfQU5J
TUFURURfSU5URUdFUihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6bnVtT2N0YXZl
c0F0dHIsIE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSKFNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVzOjpzZWVkQXR0ciwgU2VlZCwgc2VlZCkKIERF
RklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1l
czo6c3RpdGNoVGlsZXNBdHRyLCBTdGl0Y2hUaWxlcywgc3RpdGNoVGlsZXMpCiBERUZJTkVfQU5J
TUFURURfRU5VTUVSQVRJT04oU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OnR5cGVB
dHRyLCBUeXBlLCB0eXBlKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAko
cmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBBbmltYXRl
ZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihCYXNl
RnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgpCiAgICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVIo
QmFzZUZyZXF1ZW5jeVksIGJhc2VGcmVxdWVuY3lZKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6bnVtT2N0
YXZlc0F0dHIsIGxvbmcsIE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCisgICAgREVDTEFSRV9BTklN
QVRFRF9JTlRFR0VSKE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCiAgICAgREVDTEFSRV9BTklNQVRF
RF9OVU1CRVIoU2VlZCwgc2VlZCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFN0
aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykKICAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9O
KFR5cGUsIHR5cGUpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMx
MzApCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsMTAgQEAgREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJFbGVtZW50
LAogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6eUF0
dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05h
bWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0KQorREVG
SU5FX0FOSU1BVEVEX0lOVEVHRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRmlsdGVyRWxlbWVudCwg
U1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsIGZpbHRlclJlc1hJZGVudGlmaWVyKCksIEZpbHRlclJl
c1gsIGZpbHRlclJlc1gpCitERUZJTkVfQU5JTUFURURfSU5URUdFUl9NVUxUSVBMRV9XUkFQUEVS
UyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ciwgZmlsdGVyUmVzWUlk
ZW50aWZpZXIoKSwgRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKIERFRklORV9BTklNQVRFRF9TVFJJ
TkcoU1ZHRmlsdGVyRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitE
RUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0
ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsOSBAQAogI2RlZmluZSBTVkdG
aWx0ZXJFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVy
YXRpb24uaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEludGVnZXIuaCIKICNpbmNsdWRlICJTVkdB
bmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKQEAgLTY3LDE1ICs2OSwxNCBAQCBwcml2YXRl
OgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFksIHkpCiAgICAgREVDTEFSRV9BTklNQVRF
RF9MRU5HVEgoV2lkdGgsIHdpZHRoKQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKEhlaWdo
dCwgaGVpZ2h0KQotCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQ
TEVfV1JBUFBFUlNfTkVXKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRy
LCBmaWx0ZXJSZXNYSWRlbnRpZmllcigpLCBsb25nLCBGaWx0ZXJSZXNYLCBmaWx0ZXJSZXNYKQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05F
VyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ciwgZmlsdGVyUmVzWUlk
ZW50aWZpZXIoKSwgbG9uZywgRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKKyAgICBERUNMQVJFX0FO
SU1BVEVEX0lOVEVHRVIoRmlsdGVyUmVzWCwgZmlsdGVyUmVzWCkKKyAgICBERUNMQVJFX0FOSU1B
VEVEX0lOVEVHRVIoRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKIAogICAgIC8vIFNWR1VSSVJlZmVy
ZW5jZQogICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAKIH0KSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcy5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJCdWlsZGVy
LmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR05hbWVzLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTI5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMSArMzQs
MTAgQEAKICNpbmNsdWRlICJTVkdWS2VybkVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvQVNDSUlD
VHlwZS5oPgogCi11c2luZyBuYW1lc3BhY2UgV1RGOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKKy8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0
aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRm9udEVsZW1lbnQsIFNWR05hbWVzOjpl
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0ZvbnRFbGVtZW50OjpTVkdG
b250RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSAKQEAgLTcyLDcg
KzcxLDcgQEAgdm9pZCBTVkdGb250RWxlbWVudDo6aW52YWxpZGF0ZUdseXBoQ2FjaAogU1ZHTWlz
c2luZ0dseXBoRWxlbWVudCogU1ZHRm9udEVsZW1lbnQ6OmZpcnN0TWlzc2luZ0dseXBoRWxlbWVu
dCgpIGNvbnN0CiB7CiAgICAgZm9yIChOb2RlKiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5oYXNU
YWdOYW1lKG1pc3NpbmdfZ2x5cGhUYWcpKQorICAgICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6Om1pc3NpbmdfZ2x5cGhUYWcpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFNWR01pc3NpbmdHbHlwaEVsZW1lbnQqPihjaGlsZCk7CiAgICAgfQogCkBAIC04NSwxNSAr
ODQsMTUgQEAgdm9pZCBTVkdGb250RWxlbWVudDo6ZW5zdXJlR2x5cGhDYWNoZSgpIAogICAgICAg
ICByZXR1cm47CiAKICAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoY2hpbGQtPmhhc1Rh
Z05hbWUoZ2x5cGhUYWcpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1l
czo6Z2x5cGhUYWcpKSB7CiAgICAgICAgICAgICBTVkdHbHlwaEVsZW1lbnQqIGdseXBoID0gc3Rh
dGljX2Nhc3Q8U1ZHR2x5cGhFbGVtZW50Kj4oY2hpbGQpOwotICAgICAgICAgICAgU3RyaW5nIHVu
aWNvZGUgPSBnbHlwaC0+Z2V0QXR0cmlidXRlKHVuaWNvZGVBdHRyKTsKKyAgICAgICAgICAgIFN0
cmluZyB1bmljb2RlID0gZ2x5cGgtPmdldEF0dHJpYnV0ZShTVkdOYW1lczo6dW5pY29kZUF0dHIp
OwogICAgICAgICAgICAgaWYgKHVuaWNvZGUubGVuZ3RoKCkpCiAgICAgICAgICAgICAgICAgbV9n
bHlwaE1hcC5hZGQodW5pY29kZSwgZ2x5cGgtPmJ1aWxkR2x5cGhJZGVudGlmaWVyKCkpOwotICAg
ICAgICB9IGVsc2UgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKGhrZXJuVGFnKSkgeworICAgICAgICB9
IGVsc2UgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpoa2VyblRhZykpIHsKICAgICAg
ICAgICAgIFNWR0hLZXJuRWxlbWVudCogaGtlcm4gPSBzdGF0aWNfY2FzdDxTVkdIS2VybkVsZW1l
bnQqPihjaGlsZCk7CiAgICAgICAgICAgICBoa2Vybi0+YnVpbGRIb3Jpem9udGFsS2VybmluZ1Bh
aXIobV9ob3Jpem9udGFsS2VybmluZ1BhaXJzKTsKLSAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+
aGFzVGFnTmFtZSh2a2VyblRhZykpIHsKKyAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+aGFzVGFn
TmFtZShTVkdOYW1lczo6dmtlcm5UYWcpKSB7CiAgICAgICAgICAgICBTVkdWS2VybkVsZW1lbnQq
IHZrZXJuID0gc3RhdGljX2Nhc3Q8U1ZHVktlcm5FbGVtZW50Kj4oY2hpbGQpOwogICAgICAgICAg
ICAgdmtlcm4tPmJ1aWxkVmVydGljYWxLZXJuaW5nUGFpcihtX3ZlcnRpY2FsS2VybmluZ1BhaXJz
KTsKICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIz
LDcgQEAKICNkZWZpbmUgU1ZHRm9udEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWR19GT05UUykK
LSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR0dseXBoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0dseXBoTWFwLmgi
CkBAIC03NCw4ICs3NCwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVHbHlwaENhY2hl
KCkgY29uc3Q7CiAKKyAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKKwogICAg
IC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NU
QVRJQ19QUk9QRVJUWV9ORVcoU1ZHRm9udEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIG11
dGFibGUgS2VybmluZ1BhaXJWZWN0b3IgbV9ob3Jpem9udGFsS2VybmluZ1BhaXJzOwogICAgIG11
dGFibGUgS2VybmluZ1BhaXJWZWN0b3IgbV92ZXJ0aWNhbEtlcm5pbmdQYWlyczsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysg
V2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSw2ICszOSw3IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEUK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkK
IERFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFhMaW5rTmFt
ZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0
ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
IAogaW5saW5lIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50OjpTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MSw4ICsyMSw4IEBACiAjZGVmaW5lIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50X2gKIAogI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShTVkdfRk9SRUlHTl9PQkpFQ1QpCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRl
ICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHVGVzdHMuaCIKICNp
bmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKQEAg
LTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVm
LCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xB
UkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwg
U1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVf
QU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKK0RFRklORV9BTklNQVRFRF9CT09M
RUFOKFNWR0dFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisK
IFNWR0dFbGVtZW50OjpTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3
IEBACiAjZGVmaW5lIFNWR0dFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
U1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRl
ICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVu
dC5oIgpAQCAtMzAsMzIgKzMwLDM0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNs
YXNzIFNWR0dFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LAot
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR0dFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CitjbGFzcyBTVkdHRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAor
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaGFkb3dUcmVlQ29udGFp
bmVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlz
U2hhZG93VHJlZUNvbnRhaW5lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0g
ICAgcHJvdGVjdGVkOgotICAgICAgICBTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKK3Byb3RlY3RlZDoKKyAgICBTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKIAotICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIHZpcnR1YWwgUmVuZGVy
T2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAg
ICBwcml2YXRlOgotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IFNWR1Rlc3RzOjppc1ZhbGlkKCk7IH0KK3ByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzVmFs
aWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CiAKLSAgICAgICAgdmly
dHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Cisg
ICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHls
ZSopOworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKik7CiAK
LSAgICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR0VsZW1lbnQsIFNWR05hbWVzOjpleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICB9OworICAgIC8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQor
KysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMsNiArNDMsNyBAQCBERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRFCiBE
RUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6
Z3JhZGllbnRVbml0c0F0dHIsIEdyYWRpZW50VW5pdHMsIGdyYWRpZW50VW5pdHMpCiBERUZJTkVf
QU5JTUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6Z3Jh
ZGllbnRUcmFuc2Zvcm1BdHRyLCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0p
CiBERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0dyYWRpZW50RWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdHcmFkaWVu
dEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogU1ZHR3Jh
ZGllbnRFbGVtZW50OjpTVkdHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEz
MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMyw2ICsyMyw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkdyYWRpZW50Lmgi
CisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKQEAgLTU4LDcgKzU5LDcgQEAg
cHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAg
Ly8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw3ICs0Miw5IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1hZ2VF
bGVtZW50LCAKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1l
czo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwg
U1ZHTmFtZXM6OndpZHRoQXR0ciwgV2lkdGgsIHdpZHRoKQogREVGSU5FX0FOSU1BVEVEX0xFTkdU
SChTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkK
K0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFNWR0ltYWdlRWxlbWVudCwgU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKQogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdJbWFnZUVsZW1lbnQs
IFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xF
QU4oU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0
dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
CiAKIGlubGluZSBTVkdJbWFnZUVsZW1lbnQ6OlNWR0ltYWdlRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVu
dC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMiwxNSArMjIsMTUgQEAKICNkZWZpbmUgU1ZHSW1hZ2VFbGVtZW50
X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3Bl
cnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNW
R0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR0ltYWdlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2lu
Y2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02OSwxMyArNjksMTMgQEAgcHJpdmF0
ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFU
RURfTEVOR1RIKFdpZHRoLCB3aWR0aCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWln
aHQsIGhlaWdodCkKLSAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdJbWFnZUVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQogICAgIERFQ0xB
UkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R0ltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgU1ZHSW1hZ2VMb2FkZXIgbV9pbWFn
ZUxvYWRlcjsKIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEyOSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NiArMzcsNyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTCiBERUZJ
TkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6eTFBdHRyLCBZMSwg
eTEpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6eDJB
dHRyLCBYMiwgeDIpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdO
YW1lczo6eTJBdHRyLCBZMiwgeTIpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdMaW5lRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZH
TGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCShyZXZpc2lvbiA3MzEy
OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
LDggKzIyLDggQEAKICNkZWZpbmUgU1ZHTGluZUVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykK
KyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExl
bmd0aC5oIgotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRl
ICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNl
LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTYwLDcg
KzYwLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZMiwgeTIpCiAK
ICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNiBAQAogCiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgotI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRl
ZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdNUGF0aEVs
ZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVE
X0JPT0xFQU4oU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCiAKIGlubGluZSBTVkdNUGF0aEVsZW1lbnQ6OlNWR01QYXRoRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHJldmlzaW9u
IDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgU1ZHTVBhdGhFbGVtZW50X2gKIAogI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgi
CiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCkBAIC00OSw3ICs1MCw3IEBAIHByaXZhdGU6
CiAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMx
MzApCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsMTIgKzI1LDkgQEAKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAKICNpbmNs
dWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlTWFya2VyLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94Lmgi
Ci0jaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRl
ICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICszOSwxMSBAQCBERUZJTkVfQU5JTUFURURf
TEVOR1RIKFNWR01hcmtlckVsZW1lbnQsCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR01hcmtl
ckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLCBNYXJrZXJIZWlnaHQsIG1hcmtl
ckhlaWdodCkKIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdNYXJrZXJFbGVtZW50LCBT
VkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCiBERUZJ
TkVfQU5JTUFURURfRU5VTUVSQVRJT05fTVVMVElQTEVfV1JBUFBFUlMoU1ZHTWFya2VyRWxlbWVu
dCwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsIG9yaWVudFR5cGVJZGVudGlmaWVyKCksIE9yaWVudFR5
cGUsIG9yaWVudFR5cGUpCi0gICAgCitERUZJTkVfQU5JTUFURURfQU5HTEVfTVVMVElQTEVfV1JB
UFBFUlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsIG9yaWVudEFuZ2xl
SWRlbnRpZmllcigpLCBPcmllbnRBbmdsZSwgb3JpZW50QW5nbGUpCitERUZJTkVfQU5JTUFURURf
Qk9PTEVBTihTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCitERUZJTkVfQU5JTUFURURfUkVDVChTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6
dmlld0JveEF0dHIsIFZpZXdCb3gsIHZpZXdCb3gpCitERUZJTkVfQU5JTUFURURfUFJFU0VSVkVB
U1BFQ1RSQVRJTyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRp
b0F0dHIsIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisKIGlubGlu
ZSBTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3JlZlgoTGVuZ3RoTW9kZVdpZHRoKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJr
ZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDIxICsyMiwxOSBAQAogI2RlZmluZSBT
VkdNYXJrZXJFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiU1ZHQW5nbGUuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEFuZ2xl
LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2lu
Y2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAj
aW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIERvY3VtZW50OwotCiBjbGFzcyBTVkdNYXJrZXJFbGVtZW50IDogcHVibGljIFNWR1N0eWxl
ZEVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwKQEAgLTg1LDE0ICs4MywxNCBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURf
TEVOR1RIKE1hcmtlckhlaWdodCwgbWFya2VySGVpZ2h0KQogICAgIERFQ0xBUkVfQU5JTUFURURf
RU5VTUVSQVRJT04oTWFya2VyVW5pdHMsIG1hcmtlclVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKLSAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhTVkdNYXJrZXJFbGVtZW50LCBTVkdO
YW1lczo6b3JpZW50QXR0ciwgb3JpZW50QW5nbGVJZGVudGlmaWVyKCksIFNWR0FuZ2xlLCBPcmll
bnRBbmdsZSwgb3JpZW50QW5nbGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9BTkdMRShPcmllbnRB
bmdsZSwgb3JpZW50QW5nbGUpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
Ci0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1l
bnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNM
QVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgIERFQ0xBUkVf
QU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94
QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJh
dGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJl
c2VydmVBc3BlY3RSYXRpbykKKyAgICBERUNMQVJFX0FOSU1BVEVEX1JFQ1QoVmlld0JveCwgdmll
d0JveCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oUHJlc2VydmVB
c3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNr
RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIERFRklORV9BTklNQVRFRF9M
RU5HVEgoU1ZHTWFza0VsZW1lbnQsIFMKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHTWFza0Vs
ZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
TWFza0VsZW1lbnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHTWFza0VsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWln
aHQsIGhlaWdodCkKK0RFRklORV9BTklNQVRFRF9CT09MRUFOKFNWR01hc2tFbGVtZW50LCBTVkdO
YW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdNYXNrRWxlbWVu
dDo6U1ZHTWFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAj
ZGVmaW5lIFNWR01hc2tFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVu
ZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAi
U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgpAQCAtNjQsNyArNjQs
NyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKEhlaWdodCwgaGVpZ2h0
KQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5J
TUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVB
TihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQog
fTsKIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucwogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OnBh
dGhMZW5ndGhBdHRyLCBQYXRoTGVuZ3RoLCBwYXRoTGVuZ3RoKQorREVGSU5FX0FOSU1BVEVEX0JP
T0xFQU4oU1ZHUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
QXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKIAogaW5saW5lIFNWR1BhdGhFbGVtZW50OjpTVkdQYXRoRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQu
aAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNWR1BhdGhFbGVtZW50X2gKIAog
I2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBhdGhTZWdMaXN0
UHJvcGVydHlUZWFyT2ZmLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIgpAQCAtMTA5LDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoUGF0aExlbmd0aCwgcGF0aExlbmd0aCkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
UGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIHZvaWQgc3luY2hyb25pemVEKCk7CiAK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2Vi
Q29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1
MSw5IEBAIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWwKIERFRklORV9B
TklNQVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnBhdHRlcm5D
b250ZW50VW5pdHNBdHRyLCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRz
KQogREVGSU5FX0FOSU1BVEVEX1RSQU5TRk9STV9MSVNUKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdO
YW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIsIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFu
c2Zvcm0pIAogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdQYXR0ZXJuRWxlbWVudCwgWExpbmtO
YW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVG
SU5FX0FOSU1BVEVEX1JFQ1QoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0
ciwgVmlld0JveCwgdmlld0JveCkKK0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElP
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogCiBpbmxpbmUgU1ZHUGF0
dGVybkVsZW1lbnQ6OlNWR1BhdHRlcm5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHJldmlzaW9uIDczMTMwKQor
KysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIs
MTQgKzIyLDE1IEBACiAjZGVmaW5lIFNWR1BhdHRlcm5FbGVtZW50X2gKIAogI2lmIEVOQUJMRShT
VkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVk
ZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmll
d0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2luY2x1ZGUgIlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJl
bmNlLmgiCkBAIC03NywxMSArNzgsMTEgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgLy8gU1ZHUGF0dGVybkVsZW1lbnQKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnZp
ZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgREVDTEFSRV9BTklN
QVRFRF9QUk9QRVJUWV9ORVcoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFz
cGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRp
bywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisgICAgREVDTEFSRV9BTklNQVRFRF9SRUNUKFZpZXdC
b3gsIHZpZXdCb3gpCisgICAgREVDTEFSRV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDYgKzM0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0
eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHUG9seUVsZW1lbnQsIFNW
R05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKwogU1ZHUG9seUVsZW1lbnQ6OlNW
R1BvbHlFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAK
ICNkZWZpbmUgU1ZHUG9seUVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJT
VkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFu
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUg
IlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR1BvaW50TGlzdC5oIgpAQCAtNTQsNyArNTQs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0g
ICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1BvbHlFbGVtZW50LCBT
VkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9B
TklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCiAKICAgICB2b2lkIHN5bmNocm9uaXplUG9pbnRzKCk7CiAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw3ICsyMyw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVu
Z3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUg
IlNWR0dyYWRpZW50RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBERUZJTkVfQU5JTUFU
RURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1Jl
Y3RFbGVtZW50LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCiBERUZJTkVf
QU5JTUFURURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6cnhBdHRyLCBSeCwgcngp
CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6cnlBdHRy
LCBSeSwgcnkpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdSZWN0RWxlbWVudCwgU1ZHTmFt
ZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZHUmVjdEVsZW1lbnQ6
OlNWR1JlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAK
ICNkZWZpbmUgU1ZHUmVjdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJT
VkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgotI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVk
ZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTYwLDcgKzYwLDcgQEAgcHJp
dmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChSeSwgcnkpCiAKICAgICAvLyBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJP
UEVSVFlfTkVXKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTQg
KzUzLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKLXVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKLQogLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFt
ZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdTVkdFbGVtZW50LCBT
VkdOYW1lczo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1NWR0VsZW1l
bnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9M
RU5HVEgoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0
KQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVGSU5FX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFU
SU8oU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorREVGSU5FX0FOSU1BVEVEX1JF
Q1QoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94
KQogCiBpbmxpbmUgU1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHU3R5bGVkTG9jYXRhYmxlRWxl
bWVudCh0YWdOYW1lLCBkb2MpCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBTVkdTVkdFbGVtZW50
OjpkaWRNb3ZlVG9OZXdPd25lckRvYwogY29uc3QgQXRvbWljU3RyaW5nJiBTVkdTVkdFbGVtZW50
Ojpjb250ZW50U2NyaXB0VHlwZSgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIGRlZmF1bHRWYWx1ZSwgKCJ0ZXh0L2VjbWFzY3JpcHQiKSk7Ci0g
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBuID0gZ2V0QXR0cmlidXRlKGNvbnRlbnRTY3JpcHRUeXBl
QXR0cik7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuID0gZ2V0QXR0cmlidXRlKFNWR05hbWVz
Ojpjb250ZW50U2NyaXB0VHlwZUF0dHIpOwogICAgIHJldHVybiBuLmlzTnVsbCgpID8gZGVmYXVs
dFZhbHVlIDogbjsKIH0KIApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6
c2V0Q29udGVudFNjcmlwdFR5cGUKIGNvbnN0IEF0b21pY1N0cmluZyYgU1ZHU1ZHRWxlbWVudDo6
Y29udGVudFN0eWxlVHlwZSgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGRlZmF1bHRWYWx1ZSwgKCJ0ZXh0L2NzcyIpKTsKLSAgICBjb25zdCBB
dG9taWNTdHJpbmcmIG4gPSBnZXRBdHRyaWJ1dGUoY29udGVudFN0eWxlVHlwZUF0dHIpOworICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgbiA9IGdldEF0dHJpYnV0ZShTVkdOYW1lczo6Y29udGVudFN0
eWxlVHlwZUF0dHIpOwogICAgIHJldHVybiBuLmlzTnVsbCgpID8gZGVmYXVsdFZhbHVlIDogbjsK
IH0KIApAQCAtMjQ2LDExICsyNDYsMTEgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZQogICAgICAgICBib29sIHNldExpc3RlbmVyID0gdHJ1ZTsKIAogICAgICAgICAv
LyBPbmx5IGhhbmRsZSBldmVudHMgaWYgd2UncmUgdGhlIG91dGVybW9zdCA8c3ZnPiBlbGVtZW50
Ci0gICAgICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gb251bmxvYWRBdHRyKQorICAgICAgICBpZiAo
YXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6b251bmxvYWRBdHRyKQogICAgICAgICAgICAgZG9j
dW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudW5s
b2FkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUo
KSwgYXR0cikpOwotICAgICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25yZXNpemVBdHRy
KQorICAgICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpvbnJlc2l6ZUF0
dHIpCiAgICAgICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS5yZXNpemVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7Ci0gICAgICAgIGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbnNjcm9sbEF0dHIpCisgICAgICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBI
VE1MTmFtZXM6Om9uc2Nyb2xsQXR0cikKICAgICAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRv
d0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBjcmVhdGVB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKICAgICAg
ICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpvbnpvb21BdHRyKQogICAgICAg
ICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuem9vbUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCkt
PmZyYW1lKCksIGF0dHIpKTsKQEAgLTI2MSw5ICsyNjEsOSBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKGF0dHItPm5hbWUoKSA9PSBvbmFib3J0QXR0cikKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09
IEhUTUxOYW1lczo6b25hYm9ydEF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmFib3J0RXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwotICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbmVycm9yQXR0cikKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gSFRNTE5hbWVzOjpvbmVycm9yQXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2lu
ZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgY3JlYXRl
QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAg
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4QXR0cikKICAgICAgICAgc2V0WEJh
c2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpKSk7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsMTQgKzIyLDEzIEBACiAjZGVmaW5lIFNWR1NW
R0VsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRSZWN0LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgi
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFBy
b3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUg
IlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2luY2x1ZGUg
IlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAjaW5jbHVk
ZSAiU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAj
aW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgpAQCAtMTU1LDExICsxNTQsMTEgQEAgcHJpdmF0ZToK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKIAogICAgIC8vIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgLy8gU1ZHRml0
VG9WaWV3Qm94Ci0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVu
dCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0g
ICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6
OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURf
UkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJFU0VSVkVBU1BF
Q1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogIAogICAg
IHZpcnR1YWwgdm9pZCBkb2N1bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSgpOwogICAgIHZpcnR1YWwg
dm9pZCBkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVu
dC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdTY3JpcHRFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKK0RF
RklORV9BTklNQVRFRF9CT09MRUFOKFNWR1NjcmlwdEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR1NjcmlwdEVsZW1lbnQ6OlNWR1Njcmlw
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
LCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIsIGJvb2wgd2FzQWxyZWFkeVN0YXJ0ZWQpCiAgICAg
OiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQu
aAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgU1ZHU2NyaXB0RWxlbWVudF9o
CiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKQEAgLTc3LDcgKzc4LDcgQEAg
cHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAg
Ly8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdTY3JpcHRFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAgICBT
dHJpbmcgbV90eXBlOwogfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xOSw2ICsxOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdTd2l0Y2hFbGVtZW50LmgiCiAKQEAgLTI3LDYgKzI4
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZp
bml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHU3dpdGNoRWxlbWVudCwgU1ZHTmFt
ZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBpbmxpbmUgU1ZHU3dpdGNoRWxlbWVu
dDo6U1ZHU3dpdGNoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgJKHJldmlzaW9uIDczMTI5
KQorKysgV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MiwzMyArMjIsMzYgQEAKICNkZWZpbmUgU1ZHU3dpdGNoRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHKQotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKKyNpbmNsdWRlICJT
VkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR1Rlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1Nw
YWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdTd2l0Y2hFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7
Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdTd2l0Y2hFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOwotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBib29sIGlzVmFs
aWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9Ci0KLSAgICAgICAgdmly
dHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OwotCi0gICAg
ICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJl
bmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNv
bnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAgICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdT
d2l0Y2hFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
Ci0gICAgfTsKKworY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVz
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHU3dpdGNoRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIFNWR1N3
aXRjaEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisgICAgCisgICAg
dmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgp
OyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRl
Y2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2
Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTksMTQgKzE5LDE5IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJTVkdTeW1ib2xFbGVtZW50LmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFu
aW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdT
eW1ib2xFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCitERUZJ
TkVfQU5JTUFURURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1l
czo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZl
QXNwZWN0UmF0aW8pIAorREVGSU5FX0FOSU1BVEVEX1JFQ1QoU1ZHU3ltYm9sRWxlbWVudCwgU1ZH
TmFtZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94KQorCiBpbmxpbmUgU1ZHU3ltYm9s
RWxlbWVudDo6U1ZHU3ltYm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDQwICsy
Miw0MiBAQAogI2RlZmluZSBTVkdTeW1ib2xFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0j
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1h
dGVkQm9vbGVhbi5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIKICNpbmNsdWRl
ICJTVkdMYW5nU3BhY2UuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCi0j
aW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHU3ltYm9sRWxlbWVudCA6IHB1YmxpYyBT
VkdTdHlsZWRFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZH
TGFuZ1NwYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0ZpdFRvVmlld0JveCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTVkdTeW1ib2xFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdTeW1ib2xFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3lu
Y2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwg
Ym9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFsc2U7IH0KK2Ns
YXNzIFNWR1N5bWJvbEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3ggeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNWR1N5bWJvbEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBTVkdTeW1ib2xFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQ
cm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29s
IHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIAotICAgICAgICAvLyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisKKyAg
ICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCisgICAgREVDTEFSRV9BTklNQVRFRF9C
T09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCiAgCi0gICAgICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZX05FVyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1lczo6dmlld0JveEF0dHIs
IEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWV9ORVcoU1ZHU3ltYm9sRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0
aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKSAKLSAgICB9OworICAgIC8vIFNWR0ZpdFRvVmlld0JveAorICAgIERF
Q0xBUkVfQU5JTUFURURfUkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAgIERFQ0xBUkVfQU5JTUFU
RURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVj
dFJhdGlvKSAKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDogV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6
dGV4dExlbmd0aEF0dHIsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCiBERUZJTkVfQU5JTUFURURf
RU5VTUVSQVRJT04oU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6bGVuZ3RoQWRqdXN0
QXR0ciwgTGVuZ3RoQWRqdXN0LCBsZW5ndGhBZGp1c3QpCitERUZJTkVfQU5JTUFURURfQk9PTEVB
TihTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKIAogU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVudEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZH
U3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNW
R1RleHRDb250ZW50RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRpb24uaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaCIKQEAgLTc1LDcgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX0VOVU1FUkFUSU9OKExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0KQogCiAgICAgLy8g
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElD
X1BST1BFUlRZX05FVyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYzLDYgKzYzLDcgQEAgREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdVc2VFbGVtZW50
LCBTVgogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdVc2VFbGVtZW50LCBTVkdOYW1lczo6d2lk
dGhBdHRyLCBXaWR0aCwgd2lkdGgpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1VzZUVsZW1l
bnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKIERFRklORV9BTklNQVRF
RF9TVFJJTkcoU1ZHVXNlRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYp
CitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdVc2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdVc2VFbGVtZW50OjpTVkdVc2VFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1VzZUVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHVXNl
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgREVD
TEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHVXNlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgYm9vbCBtX3VwZGF0ZXNCbG9ja2Vk
OwogICAgIGJvb2wgbV9pc1BlbmRpbmdSZXNvdXJjZTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Zp
ZXdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5j
cHAJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJTVkdWaWV3RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQXR0ci5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9W
aWV3Qm94LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdTdHJpbmdMaXN0
LmgiCkBAIC0zMiw2ICszMSwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1h
dGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdWaWV3
RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVGSU5FX0FO
SU1BVEVEX1JFQ1QoU1ZHVmlld0VsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgVmlld0Jv
eCwgdmlld0JveCkKK0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFNWR1ZpZXdF
bGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFByZXNlcnZlQXNwZWN0
UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisKIGlubGluZSBTVkdWaWV3RWxlbWVudDo6U1ZH
Vmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1f
dmlld1RhcmdldChTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdWaWV3RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50
LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjIsNDMgKzIyLDQ1IEBACiAjZGVmaW5lIFNWR1ZpZXdFbGVtZW50X2gK
IAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpby5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRU
b1ZpZXdCb3guaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCi0jaW5jbHVk
ZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdT
dHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRF
bGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRml0
VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4gewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHVmlld0VsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKK2NsYXNzIFNWR1Zp
ZXdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAg
ICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLAorICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAorICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgU1ZHWm9vbUFuZFBhbiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZH
Vmlld0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAot
ICAgICAgICBTVkdTdHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0
OyB9CisgICAgU1ZHU3RyaW5nTGlzdCYgdmlld1RhcmdldCgpIHsgcmV0dXJuIG1fdmlld1Rhcmdl
dDsgfQogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7Citwcml2YXRlOgorICAgIFNWR1ZpZXdFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNo
cm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hy
b25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7IHJldHVybiBmYWxzZTsgfQorICAg
IHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFs
c2U7IH0KIAotICAgICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdWaWV3RWxlbWVudCwgU1ZH
TmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIC8vIEFuaW1hdGVk
IHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZAorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogIAotICAgICAgICAvLyBTVkdGaXRUb1Zp
ZXdCb3gKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHVmlld0VsZW1l
bnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQot
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdWaWV3RWxlbWVudCwgU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIC8vIFNWR0ZpdFRv
Vmlld0JveAorICAgIERFQ0xBUkVfQU5JTUFURURfUkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAg
IERFQ0xBUkVfQU5JTUFURURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCi0gICAgICAgIFNWR1N0cmluZ0xpc3QgbV92aWV3VGFy
Z2V0OwotICAgIH07CisgICAgU1ZHU3RyaW5nTGlzdCBtX3ZpZXdUYXJnZXQ7Cit9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAJKHJldmlzaW9uIDczMTI5
KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOCwx
OSArMTgsMjIgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIlNWR1ZpZXdTcGVjLmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUgIlNWR1NWR0Vs
ZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfUkVDVChTVkdWaWV3U3BlYywgU1ZHTmFt
ZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94KQorREVGSU5FX0FOSU1BVEVEX1BSRVNF
UlZFQVNQRUNUUkFUSU8oU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlv
QXR0ciwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKwogU1ZHVmll
d1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogbV9j
b250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Zp
ZXdTcGVjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAkocmV2aXNp
b24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMSw1MSArMjEsNDkgQEAKICNkZWZpbmUgU1ZHVmlld1NwZWNfaAogCiAjaWYgRU5BQkxFKFNW
RykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCi0jaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIgor
I2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5o
IgotI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0
LmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1pvb21BbmRQ
YW4uaCIKIAotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci0gICAgY2xhc3MgU1ZHRWxlbWVudDsKLSAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OworY2xh
c3MgU1ZHRWxlbWVudDsKKworY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3
Qm94LAorICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwKKyAgICAgICAg
ICAgICAgICAgICAgcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICBTVkdWaWV3U3Bl
YyhTVkdFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdGaXRU
b1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0gICAgcHVibGlj
OgotICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CisgICAgYm9vbCBwYXJzZVZpZXdT
cGVjKGNvbnN0IFN0cmluZyYpOwogCi0gICAgICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldFRyYW5zZm9ybShjb25zdCBTdHJpbmcmKTsKKyAgICBTVkdU
cmFuc2Zvcm1MaXN0IHRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtOyB9CiAK
LSAgICAgICAgdm9pZCBzZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIFNWR1Ry
YW5zZm9ybUxpc3QgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KKyAg
ICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3QgU3RyaW5nJik7CiAKLSAgICAgICAgdm9pZCBz
ZXRWaWV3Qm94U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UHJlc2VydmVBc3Bl
Y3RSYXRpb1N0cmluZyhjb25zdCBTdHJpbmcmKTsKIAotICAgICAgICB2b2lkIHNldFByZXNlcnZl
QXNwZWN0UmF0aW9TdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRWaWV3VGFyZ2V0
U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIFN0cmluZyB2aWV3VGFyZ2V0U3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gbV92aWV3VGFyZ2V0U3RyaW5nOyB9CisgICAgU1ZHRWxlbWVudCogdmlld1Rh
cmdldCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Vmlld1RhcmdldFN0cmluZyhjb25zdCBT
dHJpbmcmKTsKLSAgICAgICAgU3RyaW5nIHZpZXdUYXJnZXRTdHJpbmcoKSBjb25zdCB7IHJldHVy
biBtX3ZpZXdUYXJnZXRTdHJpbmc7IH0KLSAgICAgICAgU1ZHRWxlbWVudCogdmlld1RhcmdldCgp
IGNvbnN0OworICAgIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxTVkdFbGVtZW50Kj4obV9jb250ZXh0RWxlbWVudCk7IH0KIAotICAgICAgICBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U1ZH
RWxlbWVudCo+KG1fY29udGV4dEVsZW1lbnQpOyB9Citwcml2YXRlOgorICAgIFNWR0VsZW1lbnQq
IG1fY29udGV4dEVsZW1lbnQ7CiAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdFbGVtZW50KiBt
X2NvbnRleHRFbGVtZW50OworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwog
Ci0gICAgICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZX05FVyhTVkdWaWV3U3BlYywgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3Qs
IFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVX
KFNWR1ZpZXdTcGVjLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8p
CisgICAgLy8gU1ZHRml0VG9WaWV3Qm94CisgICAgREVDTEFSRV9BTklNQVRFRF9SRUNUKFZpZXdC
b3gsIHZpZXdCb3gpCisgICAgREVDTEFSRV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKLSAgICAgICAgU1ZHVHJh
bnNmb3JtTGlzdCBtX3RyYW5zZm9ybTsKLSAgICAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmlu
ZzsKLSAgICB9OworICAgIFNWR1RyYW5zZm9ybUxpc3QgbV90cmFuc2Zvcm07CisgICAgU3RyaW5n
IG1fdmlld1RhcmdldFN0cmluZzsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRl
eDogV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFj
cm9zLmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5TWFjcm9zLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDExICsyMyw3IEBACiAj
ZGVmaW5lIFNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3NfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNp
bmNsdWRlICJTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmYuaCIKLSNpbmNsdWRlICJTVkdB
bmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJv
cGVydHlTeW5jaHJvbml6ZXIuaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5VGVhck9m
Zi5oIgotI2luY2x1ZGUgIlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdFByb3BlcnR5VGVhck9mZi5o
IgogI2luY2x1ZGUgIlNWR05hbWVzLmgiIC8vIEZJWE1FOiBUZW1wb3JhcnkgaGFjaywgdW50aWwg
d2UgZXhwYW5kIHRoZSBtYWNyb3MgaW4gYWxsIGZpbGVzLCBzbyB3ZSBkb24ndCBuZWVkIGEgZ2xv
YmFsIFNWR05hbWVzLmggaW5jbHVkZQogI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCiAK
QEAgLTY5LDYgKzY1LDcgQEAgc3RydWN0IElzRGVyaXZlZEZyb21TVkdFbGVtZW50PFNWR1ZpZXdT
cAogICAgIHN0YXRpYyBjb25zdCBib29sIHZhbHVlID0gZmFsc2U7CiB9OwogCisvLyBTVkdTeW5j
aHJvbml6YWJsZUFuaW1hdGVkUHJvcGVydHkgaW1wbGVtZW50YXRpb24KIHRlbXBsYXRlPHR5cGVu
YW1lIFByb3BlcnR5VHlwZT4KIHN0cnVjdCBTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVkUHJvcGVy
dHkgewogICAgIFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSgpCkBAIC05NSw1NiAr
OTIsNiBAQCBzdHJ1Y3QgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5CiAgICAgYm9v
bCBzaG91bGRTeW5jaHJvbml6ZSA6IDE7CiB9OwogCi0vLyBGSVhNRTogVGhlc2UgbWFjcm9zIHNo
b3VsZCBiZSByZW1vdmVkLCBhZnRlciB0aGUgdHJhbnNpdGlvbiB0byB0aGUgbmV3IFNWR0FuaW1h
dGVkUHJvcGVydHkgY29uY2VwdCBpcyBmaW5pc2hlZC4KLSNkZWZpbmUgREVDTEFSRV9BTklNQVRF
RF9QUk9QRVJUWV9ORVdfU0hBUkVEKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRy
aWJ1dGVJZGVudGlmaWVyLCBUZWFyT2ZmVHlwZSwgUHJvcGVydHlUeXBlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCi1wdWJsaWM6IFwKLVByb3BlcnR5VHlwZSYgTG93ZXJQcm9wZXJ0
eSgpIGNvbnN0IFwKLXsgXAotICAgIHJldHVybiBtXyMjTG93ZXJQcm9wZXJ0eS52YWx1ZTsgXAot
fSBcCi1cCi1Qcm9wZXJ0eVR5cGUmIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IFwK
LXsgXAotICAgIHJldHVybiBtXyMjTG93ZXJQcm9wZXJ0eS52YWx1ZTsgXAotfSBcCi1cCi12b2lk
IHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKGNvbnN0IFByb3BlcnR5VHlwZSYgdHlwZSkg
XAoteyBcCi0gICAgbV8jI0xvd2VyUHJvcGVydHkudmFsdWUgPSB0eXBlOyBcCi19IFwKLVwKLXZv
aWQgc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSBcCi17IFwKLSAgICBpZiAoIW1fIyNMb3dl
clByb3BlcnR5LnNob3VsZFN5bmNocm9uaXplKSBcCi0gICAgICAgICByZXR1cm47IFwKLSAgICBB
dG9taWNTdHJpbmcgdmFsdWUoU1ZHUHJvcGVydHlUcmFpdHM8UHJvcGVydHlUeXBlPjo6dG9TdHJp
bmcoTG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkpKTsgXAotICAgIFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50ID0gR2V0T3duZXJFbGVtZW50Rm9yVHlwZTxPd25lclR5cGUsIElzRGVyaXZlZEZy
b21TVkdFbGVtZW50PE93bmVyVHlwZT46OnZhbHVlPjo6b3duZXJFbGVtZW50KHRoaXMpOyBcCi0g
ICAgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcjxJc0Rlcml2ZWRGcm9tU1ZHRWxlbWVu
dDxPd25lclR5cGU+Ojp2YWx1ZT46OnN5bmNocm9uaXplKGNvbnRleHRFbGVtZW50LCBET01BdHRy
aWJ1dGUsIHZhbHVlKTsgXAotfSBcCi1cCi1QYXNzUmVmUHRyPFRlYXJPZmZUeXBlPiBMb3dlclBy
b3BlcnR5IyNBbmltYXRlZCgpIFwKLXsgXAotICAgIG1fIyNMb3dlclByb3BlcnR5LnNob3VsZFN5
bmNocm9uaXplID0gdHJ1ZTsgXAotICAgIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50ID0gR2V0
T3duZXJFbGVtZW50Rm9yVHlwZTxPd25lclR5cGUsIElzRGVyaXZlZEZyb21TVkdFbGVtZW50PE93
bmVyVHlwZT46OnZhbHVlPjo6b3duZXJFbGVtZW50KHRoaXMpOyBcCi0gICAgcmV0dXJuIFNWR0Fu
aW1hdGVkUHJvcGVydHk6Omxvb2t1cE9yQ3JlYXRlV3JhcHBlcjxUZWFyT2ZmVHlwZSwgUHJvcGVy
dHlUeXBlPihjb250ZXh0RWxlbWVudCwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVu
dGlmaWVyLCBtXyMjTG93ZXJQcm9wZXJ0eS52YWx1ZSk7IFwKLX0gXAotcHJpdmF0ZTogXAotICAg
IG11dGFibGUgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5PFByb3BlcnR5VHlwZT4g
bV8jI0xvd2VyUHJvcGVydHk7Ci0KLSNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9O
RVcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFByb3BlcnR5VHlwZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkgXAotREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVdfU0hBUkVEKE93
bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1lKCksIFNWR0FuaW1h
dGVkUHJvcGVydHlUZWFyT2ZmPFByb3BlcnR5VHlwZT4sIFByb3BlcnR5VHlwZSwgVXBwZXJQcm9w
ZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKLQotI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZ
X01VTFRJUExFX1dSQVBQRVJTX05FVyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9NQXR0
cmlidXRlSWRlbnRpZmllciwgUHJvcGVydHlUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KSBcCi1ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FV19TSEFSRUQoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFNWR0FuaW1hdGVkUHJvcGVy
dHlUZWFyT2ZmPFByb3BlcnR5VHlwZT4sIFByb3BlcnR5VHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93
ZXJQcm9wZXJ0eSkKLQotI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9N
VUxUSVBMRV9XUkFQUEVSU19ORVcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJp
YnV0ZUlkZW50aWZpZXIsIFByb3BlcnR5VHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSkgXAotREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVdfU0hBUkVEKE93bmVyVHlwZSwgRE9N
QXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBTVkdBbmltYXRlZFN0YXRpY1By
b3BlcnR5VGVhck9mZjxQcm9wZXJ0eVR5cGU+LCBQcm9wZXJ0eVR5cGUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpCi0KLSNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVS
VFlfTkVXKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBQcm9wZXJ0eVR5cGUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpIFwKLURFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXX1NIQVJF
RChPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBTVkdB
bmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZjxQcm9wZXJ0eVR5cGU+LCBQcm9wZXJ0eVR5cGUs
IFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCi0KLS8vIEZJWE1FOiBSZW1vdmUgYWxsIG1h
Y3JvcyBhYm92ZSwgb25jZSB0aGVzZSB0d28gYmVsb3cgYXJlIGRlcGxveWVkIGV2ZXJ5d2hlcmUu
Ci0KICNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX1BST1BFUlRZKE93bmVyVHlwZSwgRE9NQXR0cmli
dXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBUZWFyT2ZmVHlwZSwgUHJvcGVydHlUeXBl
LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiB2b2lkIE93bmVyVHlwZTo6c3luY2hy
b25pemUjI1VwcGVyUHJvcGVydHkoKSBcCiB7IFwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75473</attachid>
            <date>2010-12-03 01:27:51 -0800</date>
            <delta_ts>2010-12-03 01:39:18 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>CleanupPatch.diff</filename>
            <type>text/plain</type>
            <size>95938</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzI0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTA1IEBACisyMDEwLTEyLTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpbmlzaCBzcGxpdHRpbmcgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWSogaW4gREVD
TEFSRS9ERUZJTkUgcGFydHMgZm9yIHRoZSByZW1haW5pbmcgU1ZHQW5pbWF0ZWQqIHR5cGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQ0MAorCisg
ICAgICAgIENvbnRpbnVpbmcgdGhlIHdvcmsgb24gYnVnIDQyMDI1OiBJbnRyb2R1Y2UgKERFQ0xB
UkV8REVGSU5FKV9BTklNQVRFRF8oQU5HTEV8Qk9PTEVBTnxJTlRFR0VSfFBSRVNFUlZFQVNQRUNU
UkFUSU98UkVDVCkuCisgICAgICAgIFRoZSBhbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBs
aXZlcyBpbiB0aGUgaGVhZGVyLCB0aGUgZGVmaW5pdGlvbiBpbiB0aGUgY3BwIGZpbGUsIHRvIGF2
b2lkIHRoZSBkZXBlbmRlbmN5IG9uIFNWR05hbWVzLmggaW4gYWxsIGhlYWRlcnMuCisKKyAgICAg
ICAgTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLCB0aHVzIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAq
IHN2Zy9TVkdBRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRC
b29sZWFuLmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5oOgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRSZWN0Lmg6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVEaXN0YW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRpb25FbGVtZW50OjphbmltYXRpb25QYXRoKToKKyAgICAgICAgKiBzdmcvU1ZH
Q2lyY2xlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHQ2xp
cFBhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0RlZnNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRGVmc0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHRWxsaXBzZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdFbGxpcHNlRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZF
SW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHA6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6CisgICAgICAgICogc3ZnL1NWR0Zv
bnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRFbGVtZW50OjpmaXJzdE1p
c3NpbmdHbHlwaEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEVsZW1lbnQ6OmVu
c3VyZUdseXBoQ2FjaGUpOgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50LmNwcDoKKyAg
ICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dFbGVtZW50
Ojppc1NoYWRvd1RyZWVDb250YWluZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dF
bGVtZW50Ojppc1ZhbGlkKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0lt
YWdlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0xpbmVFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdNUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NW
R01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R1BhdHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHUG9seUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdQb2x5
RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHUmVjdEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1NWR0VsZW1lbnQ6OmNvbnRlbnRTY3JpcHRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1NWR0VsZW1lbnQ6OmNvbnRlbnRTdHlsZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
U1ZHRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdTVkdF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAq
IHN2Zy9TVkdTY3JpcHRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N3aXRjaEVsZW1lbnQu
Y3BwOgorICAgICAgICAqIHN2Zy9TVkdTd2l0Y2hFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTd2l0Y2hFbGVtZW50Ojppc1ZhbGlkKToKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxl
bWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1N5bWJvbEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIHN2
Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgICog
c3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgor
ICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmll
d0VsZW1lbnQ6OnZpZXdUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1lbnQ6
OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6
dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjp2aWV3VGFyZ2V0U3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpjb250ZXh0RWxlbWVudCk6Cisg
ICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oOgorCiAy
MDEwLTEyLTAyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbmltYXRlZCBwcm9w
ZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdBRWxlbWVudCwgU1ZH
TmFtZXM6OnRhcmdldEF0dHIsIFNWR1RhcmdldCwgc3ZnVGFyZ2V0KQogREVGSU5FX0FOSU1BVEVE
X1NUUklORyhTVkdBRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitE
RUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZHQUVsZW1lbnQ6OlNWR0FFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHQUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVu
dC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNkZWZpbmUgU1ZHQUVsZW1lbnRfaAogCiAjaWYg
RU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTcyLDcgKzcz
LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQog
CiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFU
RURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdBRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmds
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuaAkocmV2aXNp
b24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDYgKzI4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlwZWRlZiBTVkdB
bmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdBbmdsZT4gU1ZHQW5pbWF0ZWRBbmdsZTsKIAorLy8g
SGVscGVyIG1hY3JvcyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkQW5nbGUgb2JqZWN0
CisjZGVmaW5lIERFQ0xBUkVfQU5JTUFURURfQU5HTEUoVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkgXAorREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZEFuZ2xlLCBTVkdB
bmdsZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJTkVfQU5J
TUFURURfQU5HTEVfTVVMVElQTEVfV1JBUFBFUlMoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNW
R0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwK
K0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9N
QXR0cmlidXRlSWRlbnRpZmllciwgU1ZHQW5pbWF0ZWRBbmdsZSwgU1ZHQW5nbGUsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAkocmV2aXNpb24g
NzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uaAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0Fu
aW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmPGJvb2w+IFNWR0FuaW1hdGVkQm9vbGVhbjsKIAor
Ly8gSGVscGVyIG1hY3JvcyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkQm9vbGVhbiBv
YmplY3QKKyNkZWZpbmUgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKK0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRCb29s
ZWFuLCBib29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklO
RV9BTklNQVRFRF9CT09MRUFOKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRCb29sZWFu
LCBib29sLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRJbnRlZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRl
Z2VyLmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRJbnRlZ2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDEyICsyMSwyMyBAQAogI2RlZmluZSBTVkdBbmltYXRl
ZEludGVnZXJfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZFByb3Bl
cnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0FuaW1hdGVkU3RhdGljUHJv
cGVydHlUZWFyT2ZmPGxvbmc+IFNWR0FuaW1hdGVkSW50ZWdlcjsKIAorLy8gSGVscGVyIG1hY3Jv
cyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkSW50ZWdlciBvYmplY3QKKyNkZWZpbmUg
REVDTEFSRV9BTklNQVRFRF9JTlRFR0VSKFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwK
K0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHQW5pbWF0ZWRJbnRlZ2VyLCBsb25nLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklORV9BTklNQVRFRF9JTlRF
R0VSKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
KSBcCitERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERP
TUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwgU1ZHQW5pbWF0ZWRJbnRlZ2VyLCBsb25nLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIERFRklORV9BTklNQVRFRF9JTlRFR0VS
X01VTFRJUExFX1dSQVBQRVJTKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1
dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitERUZJTkVfQU5J
TUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlk
ZW50aWZpZXIsIFNWR0FuaW1hdGVkSW50ZWdlciwgbG9uZywgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNW
RykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5o
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3Bl
Y3RSYXRpby5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxMyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHR5cGVkZWYgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJPZmY8U1ZHUHJlc2VydmVB
c3BlY3RSYXRpbz4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvOwogCisvLyBIZWxwZXIg
bWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
IG9iamVjdAorI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShT
VkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCisKKyNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX1BS
RVNFUlZFQVNQRUNUUkFUSU8oT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpIFwKK0RFRklORV9BTklNQVRFRF9QUk9QRVJUWShPd25lclR5cGUsIERP
TUF0dHJpYnV0ZSwgRE9NQXR0cmlidXRlLmxvY2FsTmFtZSgpLCBTVkdBbmltYXRlZFByZXNlcnZl
QXNwZWN0UmF0aW8sIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTMgKzIxLDIxIEBA
CiAjZGVmaW5lIFNWR0FuaW1hdGVkUmVjdF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZi5oIgorI2luY2x1ZGUgIlNWR1JlY3Qu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIFNWR0FuaW1hdGVkUHJvcGVydHlU
ZWFyT2ZmPEZsb2F0UmVjdD4gU1ZHQW5pbWF0ZWRSZWN0OwogCisvLyBIZWxwZXIgbWFjcm9zIHRv
IGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0ZWRSZWN0IG9iamVjdAorI2RlZmluZSBERUNMQVJF
X0FOSU1BVEVEX1JFQ1QoVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVDTEFSRV9B
TklNQVRFRF9QUk9QRVJUWShTVkdBbmltYXRlZFJlY3QsIEZsb2F0UmVjdCwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBERUZJTkVfQU5JTUFURURfUkVDVChPd25lclR5
cGUsIERPTUF0dHJpYnV0ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorREVGSU5F
X0FOSU1BVEVEX1BST1BFUlRZKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUu
bG9jYWxOYW1lKCksIFNWR0FuaW1hdGVkUmVjdCwgRmxvYXRSZWN0LCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDEzICs0NSwxNSBAQAogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKICNpbmNsdWRlICJYTGlua05hbWVzLmgiCi0jaW5jbHVk
ZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCisvLyBBbmltYXRlZCBwcm9w
ZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHQW5pbWF0aW9uRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBTVkdBbmltYXRp
b25FbGVtZW50OjpTVkdBbmltYXRpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1NNSUxFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQogICAgICwgbV9hbmltYXRpb25WYWxpZChmYWxzZSkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmlt
YXRpb25FbGVtZW50LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMDEgKzIzLDEwNCBAQAogCiAjaWZu
ZGVmIFNWR0FuaW1hdGlvbkVsZW1lbnRfaAogI2RlZmluZSBTVkdBbmltYXRpb25FbGVtZW50X2gK
KwogI2lmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQogI2luY2x1ZGUgIkVsZW1lbnRUaW1lQ29udHJv
bC5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJTTUlMVGltZS5oIgotI2luY2x1ZGUg
IlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKLSNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQuaCIKKyNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1N0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlVu
aXRCZXppZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIENvbmRp
dGlvbkV2ZW50TGlzdGVuZXI7Ci0gICAgY2xhc3MgVGltZUNvbnRhaW5lcjsKK2NsYXNzIENvbmRp
dGlvbkV2ZW50TGlzdGVuZXI7CitjbGFzcyBUaW1lQ29udGFpbmVyOwogCi0gICAgY2xhc3MgU1ZH
QW5pbWF0aW9uRWxlbWVudCA6IHB1YmxpYyBTVkdTTUlMRWxlbWVudCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIEVsZW1lbnRUaW1lQ29udHJvbCB7Ci0gICAg
cHVibGljOgotICAgICAgICAvLyBTVkdBbmltYXRpb25FbGVtZW50Ci0gICAgICAgIGZsb2F0IGdl
dFN0YXJ0VGltZSgpIGNvbnN0OwotICAgICAgICBmbG9hdCBnZXRDdXJyZW50VGltZSgpIGNvbnN0
OwotICAgICAgICBmbG9hdCBnZXRTaW1wbGVEdXJhdGlvbihFeGNlcHRpb25Db2RlJikgY29uc3Q7
Ci0gICAgICAgIAotICAgICAgICAvLyBFbGVtZW50VGltZUNvbnRyb2wKLSAgICAgICAgdmlydHVh
bCB2b2lkIGJlZ2luRWxlbWVudCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5FbGVtZW50
QXQoZmxvYXQgb2Zmc2V0KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnQoKTsKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnRBdChmbG9hdCBvZmZzZXQpOwotICAgICAgICAK
LSAgICAgICAgc3RhdGljIGJvb2wgYXR0cmlidXRlSXNDU1MoY29uc3QgU3RyaW5nJiBhdHRyaWJ1
dGVOYW1lKTsKLQotICAgIHByb3RlY3RlZDoKLSAgICAgICAgU1ZHQW5pbWF0aW9uRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Ci0KLSAgICAgICAgZW51bSBDYWxjTW9k
ZSB7IENhbGNNb2RlRGlzY3JldGUsIENhbGNNb2RlTGluZWFyLCBDYWxjTW9kZVBhY2VkLCBDYWxj
TW9kZVNwbGluZSB9OwotICAgICAgICBDYWxjTW9kZSBjYWxjTW9kZSgpIGNvbnN0OwotICAgICAg
ICAKLSAgICAgICAgZW51bSBBdHRyaWJ1dGVUeXBlIHsgQXR0cmlidXRlVHlwZUNTUywgQXR0cmli
dXRlVHlwZVhNTCwgQXR0cmlidXRlVHlwZUF1dG8gfTsKLSAgICAgICAgQXR0cmlidXRlVHlwZSBh
dHRyaWJ1dGVUeXBlKCkgY29uc3Q7Ci0gICAgICAgIAotICAgICAgICBTdHJpbmcgdG9WYWx1ZSgp
IGNvbnN0OwotICAgICAgICBTdHJpbmcgYnlWYWx1ZSgpIGNvbnN0OwotICAgICAgICBTdHJpbmcg
ZnJvbVZhbHVlKCkgY29uc3Q7Ci0gICAgICAgIAotICAgICAgICBlbnVtIEFuaW1hdGlvbk1vZGUg
eyBOb0FuaW1hdGlvbiwgVG9BbmltYXRpb24sIEJ5QW5pbWF0aW9uLCBWYWx1ZXNBbmltYXRpb24s
IEZyb21Ub0FuaW1hdGlvbiwgRnJvbUJ5QW5pbWF0aW9uLCBQYXRoQW5pbWF0aW9uIH07Ci0gICAg
ICAgIEFuaW1hdGlvbk1vZGUgYW5pbWF0aW9uTW9kZSgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBoYXNWYWxpZFRhcmdldCgpIGNvbnN0OwotICAgICAgICAKLSAgICAgICAgU3RyaW5n
IHRhcmdldEF0dHJpYnV0ZUJhc2VWYWx1ZSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldFRhcmdl
dEF0dHJpYnV0ZUFuaW1hdGVkVmFsdWUoY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIGJvb2wgdGFy
Z2V0QXR0cmlidXRlSXNDU1MoKSBjb25zdDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgaXNBZGRp
dGl2ZSgpIGNvbnN0OwotICAgICAgICBib29sIGlzQWNjdW11bGF0ZWQoKSBjb25zdDsKLSAgICAK
LSAgICAgICAgLy8gZnJvbSBTVkdTTUlMRWxlbWVudAotICAgICAgICB2aXJ0dWFsIHZvaWQgc3Rh
cnRlZEFjdGl2ZUludGVydmFsKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBbmltYXRp
b24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQgcmVwZWF0LCBTVkdTTUlMRWxlbWVudCogcmVzdWx0
RWxlbWVudCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBlbmRlZEFjdGl2ZUludGVydmFsKCk7Ci0g
ICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFu
Z2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAgICAgICB2
aXJ0dWFsIGJvb2wgY2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0
cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZykgPSAwOwotICAgICAgICB2aXJ0dWFsIGJvb2wg
Y2FsY3VsYXRlRnJvbUFuZEJ5VmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3Qg
U3RyaW5nJiBieVN0cmluZykgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5p
bWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZCByZXBlYXQsIFNWR1NNSUxFbGVt
ZW50KiByZXN1bHRFbGVtZW50KSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgZmxvYXQgY2FsY3VsYXRl
RGlzdGFuY2UoY29uc3QgU3RyaW5nJiAvKmZyb21TdHJpbmcqLywgY29uc3QgU3RyaW5nJiAvKnRv
U3RyaW5nKi8pIHsgcmV0dXJuIC0xLmY7IH0KLSAgICAgICAgdmlydHVhbCBQYXRoIGFuaW1hdGlv
blBhdGgoKSBjb25zdCB7IHJldHVybiBQYXRoKCk7IH0KLSAgICAgICAgCi0gICAgICAgIHZvaWQg
Y3VycmVudFZhbHVlc0ZvclZhbHVlc0FuaW1hdGlvbihmbG9hdCBwZXJjZW50LCBmbG9hdCYgZWZm
ZWN0aXZlUGVyY2VudCwgU3RyaW5nJiBmcm9tLCBTdHJpbmcmIHRvKSBjb25zdDsKLSAgICAgICAg
dm9pZCBjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFjZWQoKTsKLSAgICAgICAgZmxvYXQg
Y2FsY3VsYXRlUGVyY2VudEZyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCkgY29uc3Q7Ci0gICAg
ICAgIHZvaWQgY3VycmVudFZhbHVlc0Zyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCwgZmxvYXQm
IGVmZmVjdGl2ZVBlcmNlbnQsIFN0cmluZyYgZnJvbSwgU3RyaW5nJiB0bykgY29uc3Q7Ci0gICAg
ICAgIGZsb2F0IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUoZmxvYXQgcGVyY2VudCwgdW5zaWdu
ZWQgc3BsaW5lSW5kZXgpIGNvbnN0OwotICAgICAgICB1bnNpZ25lZCBjYWxjdWxhdGVLZXlUaW1l
c0luZGV4KGZsb2F0IHBlcmNlbnQpIGNvbnN0OwotICAgICAgICAKLSAgICAgICAgLy8gU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHQW5pbWF0aW9uRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQotCi0gICAgICAgIGJvb2wgbV9hbmltYXRpb25WYWxpZDsKLQot
ICAgICAgICBWZWN0b3I8U3RyaW5nPiBtX3ZhbHVlczsKLSAgICAgICAgVmVjdG9yPGZsb2F0PiBt
X2tleVRpbWVzOwotICAgICAgICBWZWN0b3I8ZmxvYXQ+IG1fa2V5UG9pbnRzOwotICAgICAgICBW
ZWN0b3I8VW5pdEJlemllcj4gbV9rZXlTcGxpbmVzOwotICAgICAgICBTdHJpbmcgbV9sYXN0VmFs
dWVzQW5pbWF0aW9uRnJvbTsKLSAgICAgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvblRv
OwotICAgIH07CitjbGFzcyBTVkdBbmltYXRpb25FbGVtZW50IDogcHVibGljIFNWR1NNSUxFbGVt
ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgRWxlbWVudFRpbWVDb250cm9s
IHsKK3B1YmxpYzoKKyAgICAvLyBTVkdBbmltYXRpb25FbGVtZW50CisgICAgZmxvYXQgZ2V0U3Rh
cnRUaW1lKCkgY29uc3Q7CisgICAgZmxvYXQgZ2V0Q3VycmVudFRpbWUoKSBjb25zdDsKKyAgICBm
bG9hdCBnZXRTaW1wbGVEdXJhdGlvbihFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgCisgICAg
Ly8gRWxlbWVudFRpbWVDb250cm9sCisgICAgdmlydHVhbCB2b2lkIGJlZ2luRWxlbWVudCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBiZWdpbkVsZW1lbnRBdChmbG9hdCBvZmZzZXQpOworICAgIHZpcnR1
YWwgdm9pZCBlbmRFbGVtZW50KCk7CisgICAgdmlydHVhbCB2b2lkIGVuZEVsZW1lbnRBdChmbG9h
dCBvZmZzZXQpOworICAgIAorICAgIHN0YXRpYyBib29sIGF0dHJpYnV0ZUlzQ1NTKGNvbnN0IFN0
cmluZyYgYXR0cmlidXRlTmFtZSk7CisKK3Byb3RlY3RlZDoKKyAgICBTVkdBbmltYXRpb25FbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCB2b2lk
IHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOworCisgICAgZW51bSBDYWxjTW9kZSB7
IENhbGNNb2RlRGlzY3JldGUsIENhbGNNb2RlTGluZWFyLCBDYWxjTW9kZVBhY2VkLCBDYWxjTW9k
ZVNwbGluZSB9OworICAgIENhbGNNb2RlIGNhbGNNb2RlKCkgY29uc3Q7CisgICAgCisgICAgZW51
bSBBdHRyaWJ1dGVUeXBlIHsgQXR0cmlidXRlVHlwZUNTUywgQXR0cmlidXRlVHlwZVhNTCwgQXR0
cmlidXRlVHlwZUF1dG8gfTsKKyAgICBBdHRyaWJ1dGVUeXBlIGF0dHJpYnV0ZVR5cGUoKSBjb25z
dDsKKyAgICAKKyAgICBTdHJpbmcgdG9WYWx1ZSgpIGNvbnN0OworICAgIFN0cmluZyBieVZhbHVl
KCkgY29uc3Q7CisgICAgU3RyaW5nIGZyb21WYWx1ZSgpIGNvbnN0OworICAgIAorICAgIGVudW0g
QW5pbWF0aW9uTW9kZSB7IE5vQW5pbWF0aW9uLCBUb0FuaW1hdGlvbiwgQnlBbmltYXRpb24sIFZh
bHVlc0FuaW1hdGlvbiwgRnJvbVRvQW5pbWF0aW9uLCBGcm9tQnlBbmltYXRpb24sIFBhdGhBbmlt
YXRpb24gfTsKKyAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlvbk1vZGUoKSBjb25zdDsKKworICAg
IHZpcnR1YWwgYm9vbCBoYXNWYWxpZFRhcmdldCgpIGNvbnN0OworICAgIAorICAgIFN0cmluZyB0
YXJnZXRBdHRyaWJ1dGVCYXNlVmFsdWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFRhcmdldEF0dHJp
YnV0ZUFuaW1hdGVkVmFsdWUoY29uc3QgU3RyaW5nJik7CisgICAgYm9vbCB0YXJnZXRBdHRyaWJ1
dGVJc0NTUygpIGNvbnN0OworICAgIAorICAgIGJvb2wgaXNBZGRpdGl2ZSgpIGNvbnN0OworICAg
IGJvb2wgaXNBY2N1bXVsYXRlZCgpIGNvbnN0OworCisgICAgLy8gZnJvbSBTVkdTTUlMRWxlbWVu
dAorICAgIHZpcnR1YWwgdm9pZCBzdGFydGVkQWN0aXZlSW50ZXJ2YWwoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIHVuc2lnbmVkIHJlcGVhdCwgU1ZH
U01JTEVsZW1lbnQqIHJlc3VsdEVsZW1lbnQpOworICAgIHZpcnR1YWwgdm9pZCBlbmRlZEFjdGl2
ZUludGVydmFsKCk7CisgICAgCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVD
aGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyk7CisgICAgdmlydHVhbCB2b2lk
IHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgdmlydHVh
bCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcs
IGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgY2FsY3VsYXRl
RnJvbUFuZEJ5VmFsdWVzKGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiBi
eVN0cmluZykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZs
b2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkIHJlcGVhdCwgU1ZHU01JTEVsZW1lbnQqIHJlc3VsdEVs
ZW1lbnQpID0gMDsKKyAgICB2aXJ0dWFsIGZsb2F0IGNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0
cmluZyYgLypmcm9tU3RyaW5nKi8sIGNvbnN0IFN0cmluZyYgLyp0b1N0cmluZyovKSB7IHJldHVy
biAtMS5mOyB9CisgICAgdmlydHVhbCBQYXRoIGFuaW1hdGlvblBhdGgoKSBjb25zdCB7IHJldHVy
biBQYXRoKCk7IH0KKyAgICAKKyAgICB2b2lkIGN1cnJlbnRWYWx1ZXNGb3JWYWx1ZXNBbmltYXRp
b24oZmxvYXQgcGVyY2VudCwgZmxvYXQmIGVmZmVjdGl2ZVBlcmNlbnQsIFN0cmluZyYgZnJvbSwg
U3RyaW5nJiB0bykgY29uc3Q7CisgICAgdm9pZCBjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2Rl
UGFjZWQoKTsKKyAgICBmbG9hdCBjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhmbG9hdCBw
ZXJjZW50KSBjb25zdDsKKyAgICB2b2lkIGN1cnJlbnRWYWx1ZXNGcm9tS2V5UG9pbnRzKGZsb2F0
IHBlcmNlbnQsIGZsb2F0JiBlZmZlY3RpdmVQZXJjZW50LCBTdHJpbmcmIGZyb20sIFN0cmluZyYg
dG8pIGNvbnN0OworICAgIGZsb2F0IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUoZmxvYXQgcGVy
Y2VudCwgdW5zaWduZWQgc3BsaW5lSW5kZXgpIGNvbnN0OworICAgIHVuc2lnbmVkIGNhbGN1bGF0
ZUtleVRpbWVzSW5kZXgoZmxvYXQgcGVyY2VudCkgY29uc3Q7CisKKyAgICAvLyBBbmltYXRlZCBw
cm9wZXJ0eSBkZWNsYXJhdGlvbnMKKworICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKworICAgIGJvb2wgbV9hbmltYXRpb25WYWxp
ZDsKKworICAgIFZlY3RvcjxTdHJpbmc+IG1fdmFsdWVzOworICAgIFZlY3RvcjxmbG9hdD4gbV9r
ZXlUaW1lczsKKyAgICBWZWN0b3I8ZmxvYXQ+IG1fa2V5UG9pbnRzOworICAgIFZlY3RvcjxVbml0
QmV6aWVyPiBtX2tleVNwbGluZXM7CisgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvbkZy
b207CisgICAgU3RyaW5nIG1fbGFzdFZhbHVlc0FuaW1hdGlvblRvOworfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAkocmV2aXNpb24g
NzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBERUZJTkVfQU5JTUFURURf
TEVOR1RIKFNWR0NpcmNsZUVsZW1lbnQsIFNWR05hbWVzOjpjeEF0dHIsIEN4LCBjeCkKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTmFtZXM6OmN5QXR0ciwgQ3ks
IGN5KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdDaXJjbGVFbGVtZW50LCBTVkdOYW1lczo6
ckF0dHIsIFIsIHIpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdDaXJjbGVFbGVtZW50LCBT
VkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdDaXJjbGVF
bGVtZW50OjpTVkdDaXJjbGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAkocmV2aXNpb24gNzMx
MjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHQ2lyY2xlRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1h
dGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdMYW5n
U3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAt
NTcsNyArNTcsNyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFIsIHIp
CiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklN
QVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0NpcmNsZUVsZW1lbnQsIFNWR05hbWVzOjpleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xF
QU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9F
TlVNRVJBVElPTihTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpjbGlwUGF0aFVuaXRzQXR0
ciwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKK0RFRklORV9BTklNQVRFRF9CT09MRUFO
KFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRB
dHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQogCiBpbmxpbmUgU1ZHQ2xpcFBhdGhFbGVtZW50OjpTVkdDbGlwUGF0aEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdD
bGlwUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBT
VkdDbGlwUGF0aEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmlt
YXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEVudW1lcmF0aW9uLmgiCiAjaW5j
bHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdT
cGFjZS5oIgpAQCAtNTYsNyArNTcsNyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURf
RU5VTUVSQVRJT04oQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHQ2xpcFBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2
Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0N1cnNvckVsZW1l
bnQsIFNWR05hbWVzOjp4QXR0ciwgWCwgeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHQ3Vy
c29yRWxlbWVudCwgU1ZHTmFtZXM6OnlBdHRyLCBZLCB5KQogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdDdXJzb3JFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKK0RF
RklORV9BTklNQVRFRF9CT09MRUFOKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0N1cnNvckVsZW1lbnQ6OlNWR0N1cnNv
ckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
KQogICAgIDogU1ZHRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JF
bGVtZW50LmgJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNWR0N1cnNvckVs
ZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4u
aCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVk
U3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgpAQCAtNjIsNyArNjMsNyBAQCBwcml2
YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0N1cnNvckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIEhhc2hT
ZXQ8U1ZHRWxlbWVudCo+IG1fY2xpZW50czsKIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdEZWZz
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8v
IEFuaW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihT
VkdEZWZzRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBp
bmxpbmUgU1ZHRGVmc0VsZW1lbnQ6OlNWR0RlZnNFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRGVm
c0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5oCShy
ZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgU1ZHRGVmc0VsZW1lbnRfaAogCiAjaWYg
RU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCkBAIC0zMCwyNCArMzAsMjYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHRGVmc0VsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJs
aWMgU1ZHVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1Nw
YWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZH
RGVmc0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQot
ICAgIHByaXZhdGU6Ci0gICAgICAgIFNWR0RlZnNFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCopOwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci0K
LSAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotCi0gICAgICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVX
KFNWR0RlZnNFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCi0gICAgfTsKK2NsYXNzIFNWR0RlZnNFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5z
Zm9ybWFibGVFbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVzdHMs
CisgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdEZWZzRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIFNWR0RlZnNFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIGlz
VmFsaWQoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9u
aXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworCisgICAgLy8gQW5pbWF0ZWQgcHJv
cGVydHkgZGVjbGFyYXRpb25zCisKKyAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
CisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTI5KQorKysg
V2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2
ICszNyw3IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQKIERFRklO
RV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR05hbWVzOjpjeUF0dHIsIEN5
LCBjeSkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR05hbWVz
OjpyeEF0dHIsIFJ4LCByeCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRWxsaXBzZUVsZW1l
bnQsIFNWR05hbWVzOjpyeUF0dHIsIFJ5LCByeSkKK0RFRklORV9BTklNQVRFRF9CT09MRUFOKFNW
R0VsbGlwc2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAK
IGlubGluZSBTVkdFbGxpcHNlRWxlbWVudDo6U1ZHRWxsaXBzZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdFbGxpcHNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VF
bGVtZW50LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdFbGxpcHNl
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAtNTgsNyArNTgsNyBAQCBwcml2YXRlOgogICAgIERFQ0xB
UkVfQU5JTUFURURfTEVOR1RIKFJ5LCByeSkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHRWxs
aXBzZUVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMiArMzMsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmluQXR0ciwgSW4xLCBpbjEp
CitERUZJTkVfQU5JTUFURURfSU5URUdFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Om9yZGVyQXR0ciwgb3JkZXJYSWRlbnRpZmllcigpLCBP
cmRlclgsIG9yZGVyWCkKK0RFRklORV9BTklNQVRFRF9JTlRFR0VSX01VTFRJUExFX1dSQVBQRVJT
KFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJBdHRyLCBvcmRlcllJ
ZGVudGlmaWVyKCksIE9yZGVyWSwgb3JkZXJZKSAKIERFRklORV9BTklNQVRFRF9OVU1CRVJfTElT
VChTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6Omtlcm5lbE1hdHJpeEF0dHIs
IEtlcm5lbE1hdHJpeCwga2VybmVsTWF0cml4KQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdG
RUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OmRpdmlzb3JBdHRyLCBEaXZpc29yLCBk
aXZpc29yKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6OmJpYXNBdHRyLCBCaWFzLCBiaWFzKQorREVGSU5FX0FOSU1BVEVEX0lOVEVH
RVIoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05hbWVzOjp0YXJnZXRYQXR0ciwgVGFy
Z2V0WCwgdGFyZ2V0WCkKK0RFRklORV9BTklNQVRFRF9JTlRFR0VSKFNWR0ZFQ29udm9sdmVNYXRy
aXhFbGVtZW50LCBTVkdOYW1lczo6dGFyZ2V0WUF0dHIsIFRhcmdldFksIHRhcmdldFkpCiBERUZJ
TkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjpvcGVyYXRvckF0dHIsIEVkZ2VNb2RlLCBlZGdlTW9kZSkKIERFRklORV9BTklNQVRFRF9O
VU1CRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwga2VybmVsVW5pdExlbmd0aFhJZGVudGlmaWVyKCks
IEtlcm5lbFVuaXRMZW5ndGhYLCBrZXJuZWxVbml0TGVuZ3RoWCkKIERFRklORV9BTklNQVRFRF9O
VU1CRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQsIFNWR05h
bWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwga2VybmVsVW5pdExlbmd0aFlJZGVudGlmaWVyKCks
IEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3RoWSkKK0RFRklORV9BTklNQVRFRF9C
T09MRUFOKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBbHBo
YUF0dHIsIFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCiAKIGlubGluZSBTVkdGRUNvbnZv
bHZlTWF0cml4RWxlbWVudDo6U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDE3ICs1MCwxNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVj
bGFyYXRpb25zCiAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSW4xLCBpbjEpCi0gICAgREVD
TEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKFNWR0ZF
Q29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6b3JkZXJBdHRyLCBvcmRlclhJZGVudGlm
aWVyKCksIGxvbmcsIE9yZGVyWCwgb3JkZXJYKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElD
X1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVu
dCwgU1ZHTmFtZXM6Om9yZGVyQXR0ciwgb3JkZXJZSWRlbnRpZmllcigpLCBsb25nLCBPcmRlclks
IG9yZGVyWSkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0lOVEVHRVIoT3JkZXJYLCBvcmRlclgpCisg
ICAgREVDTEFSRV9BTklNQVRFRF9JTlRFR0VSKE9yZGVyWSwgb3JkZXJZKQogICAgIERFQ0xBUkVf
QU5JTUFURURfTlVNQkVSX0xJU1QoS2VybmVsTWF0cml4LCBrZXJuZWxNYXRyaXgpCiAgICAgREVD
TEFSRV9BTklNQVRFRF9OVU1CRVIoRGl2aXNvciwgZGl2aXNvcikKICAgICBERUNMQVJFX0FOSU1B
VEVEX05VTUJFUihCaWFzLCBiaWFzKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldFhBdHRy
LCBsb25nLCBUYXJnZXRYLCB0YXJnZXRYKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX05FVyhTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCwgU1ZHTmFtZXM6OnRhcmdldFlB
dHRyLCBsb25nLCBUYXJnZXRZLCB0YXJnZXRZKQorICAgIERFQ0xBUkVfQU5JTUFURURfSU5URUdF
UihUYXJnZXRYLCB0YXJnZXRYKQorICAgIERFQ0xBUkVfQU5JTUFURURfSU5URUdFUihUYXJnZXRZ
LCB0YXJnZXRZKQogICAgIERFQ0xBUkVfQU5JTUFURURfRU5VTUVSQVRJT04oRWRnZU1vZGUsIGVk
Z2VNb2RlKQogICAgIERFQ0xBUkVfQU5JTUFURURfTlVNQkVSKEtlcm5lbFVuaXRMZW5ndGhYLCBr
ZXJuZWxVbml0TGVuZ3RoWCkKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihLZXJuZWxVbml0
TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFkpCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdOYW1lczo6cHJlc2Vy
dmVBbHBoYUF0dHIsIGJvb2wsIFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCisgICAgREVD
TEFSRV9BTklNQVRFRF9CT09MRUFOKFByZXNlcnZlQWxwaGEsIHByZXNlcnZlQWxwaGEpCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX1BSRVNFUlZF
QVNQRUNUUkFUSU8oU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJh
dGlvQXR0ciwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIERFRklO
RV9BTklNQVRFRF9TVFJJTkcoU1ZHRkVJbWFnZUVsZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRy
LCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRkVJbWFnZUVsZW1lbnQs
IFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0ZFSW1h
Z2VFbGVtZW50OjpTVkdGRUltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXModGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdl
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJ
KHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDExIEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VD
bGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNW
R0ZFSW1hZ2UuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTU4LDEzICs1OCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVxdWVzdElt
YWdlUmVzb3VyY2UoKTsKIAogICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwot
ICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdO
YW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgREVDTEFSRV9BTklN
QVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNw
ZWN0UmF0aW8pCiAKICAgICAvLyBTVkdVUklSZWZlcmVuY2UKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGRUltYWdlRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1h
Z2U+IG1fY2FjaGVkSW1hZ2U7CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBtX3RhcmdldEltYWdl
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDcz
MTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW5pbWF0ZWQg
cHJvcGVydHkgZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9OVU1CRVJfTVVMVElQTEVfV1JB
UFBFUlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRy
LCBiYXNlRnJlcXVlbmN5WElkZW50aWZpZXIoKSwgQmFzZUZyZXF1ZW5jeVgsIGJhc2VGcmVxdWVu
Y3lYKQogREVGSU5FX0FOSU1BVEVEX05VTUJFUl9NVUxUSVBMRV9XUkFQUEVSUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0dHIsIGJhc2VGcmVxdWVuY3lZ
SWRlbnRpZmllcigpLCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZyZXF1ZW5jeVkpCitERUZJTkVfQU5J
TUFURURfSU5URUdFUihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6bnVtT2N0YXZl
c0F0dHIsIE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCiBERUZJTkVfQU5JTUFURURfTlVNQkVSKFNW
R0ZFVHVyYnVsZW5jZUVsZW1lbnQsIFNWR05hbWVzOjpzZWVkQXR0ciwgU2VlZCwgc2VlZCkKIERF
RklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1l
czo6c3RpdGNoVGlsZXNBdHRyLCBTdGl0Y2hUaWxlcywgc3RpdGNoVGlsZXMpCiBERUZJTkVfQU5J
TUFURURfRU5VTUVSQVRJT04oU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZHTmFtZXM6OnR5cGVB
dHRyLCBUeXBlLCB0eXBlKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAko
cmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBBbmltYXRl
ZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihCYXNl
RnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgpCiAgICAgREVDTEFSRV9BTklNQVRFRF9OVU1CRVIo
QmFzZUZyZXF1ZW5jeVksIGJhc2VGcmVxdWVuY3lZKQotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBTVkdOYW1lczo6bnVtT2N0
YXZlc0F0dHIsIGxvbmcsIE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCisgICAgREVDTEFSRV9BTklN
QVRFRF9JTlRFR0VSKE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMpCiAgICAgREVDTEFSRV9BTklNQVRF
RF9OVU1CRVIoU2VlZCwgc2VlZCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9OKFN0
aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykKICAgICBERUNMQVJFX0FOSU1BVEVEX0VOVU1FUkFUSU9O
KFR5cGUsIHR5cGUpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMx
MzApCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsMTAgQEAgREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJFbGVtZW50
LAogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6eUF0
dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05h
bWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0KQorREVG
SU5FX0FOSU1BVEVEX0lOVEVHRVJfTVVMVElQTEVfV1JBUFBFUlMoU1ZHRmlsdGVyRWxlbWVudCwg
U1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsIGZpbHRlclJlc1hJZGVudGlmaWVyKCksIEZpbHRlclJl
c1gsIGZpbHRlclJlc1gpCitERUZJTkVfQU5JTUFURURfSU5URUdFUl9NVUxUSVBMRV9XUkFQUEVS
UyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ciwgZmlsdGVyUmVzWUlk
ZW50aWZpZXIoKSwgRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKIERFRklORV9BTklNQVRFRF9TVFJJ
TkcoU1ZHRmlsdGVyRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitE
RUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdGaWx0ZXJFbGVtZW50OjpTVkdGaWx0
ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRl
ckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsOSBAQAogI2RlZmluZSBTVkdG
aWx0ZXJFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVy
YXRpb24uaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEludGVnZXIuaCIKICNpbmNsdWRlICJTVkdB
bmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKQEAgLTY3LDE1ICs2OSwxNCBAQCBwcml2YXRl
OgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKFksIHkpCiAgICAgREVDTEFSRV9BTklNQVRF
RF9MRU5HVEgoV2lkdGgsIHdpZHRoKQogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKEhlaWdo
dCwgaGVpZ2h0KQotCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTVVMVElQ
TEVfV1JBUFBFUlNfTkVXKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRy
LCBmaWx0ZXJSZXNYSWRlbnRpZmllcigpLCBsb25nLCBGaWx0ZXJSZXNYLCBmaWx0ZXJSZXNYKQot
ICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05F
VyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ciwgZmlsdGVyUmVzWUlk
ZW50aWZpZXIoKSwgbG9uZywgRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKKyAgICBERUNMQVJFX0FO
SU1BVEVEX0lOVEVHRVIoRmlsdGVyUmVzWCwgZmlsdGVyUmVzWCkKKyAgICBERUNMQVJFX0FOSU1B
VEVEX0lOVEVHRVIoRmlsdGVyUmVzWSwgZmlsdGVyUmVzWSkKIAogICAgIC8vIFNWR1VSSVJlZmVy
ZW5jZQogICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNf
UFJPUEVSVFlfTkVXKFNWR0ZpbHRlckVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAKIH0KSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcy5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJCdWlsZGVy
LmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR05hbWVzLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTI5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMSArMzQs
MTAgQEAKICNpbmNsdWRlICJTVkdWS2VybkVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvQVNDSUlD
VHlwZS5oPgogCi11c2luZyBuYW1lc3BhY2UgV1RGOwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKKy8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0
aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRm9udEVsZW1lbnQsIFNWR05hbWVzOjpl
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR0ZvbnRFbGVtZW50OjpTVkdG
b250RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSAKQEAgLTcyLDcg
KzcxLDcgQEAgdm9pZCBTVkdGb250RWxlbWVudDo6aW52YWxpZGF0ZUdseXBoQ2FjaAogU1ZHTWlz
c2luZ0dseXBoRWxlbWVudCogU1ZHRm9udEVsZW1lbnQ6OmZpcnN0TWlzc2luZ0dseXBoRWxlbWVu
dCgpIGNvbnN0CiB7CiAgICAgZm9yIChOb2RlKiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5oYXNU
YWdOYW1lKG1pc3NpbmdfZ2x5cGhUYWcpKQorICAgICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6Om1pc3NpbmdfZ2x5cGhUYWcpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFNWR01pc3NpbmdHbHlwaEVsZW1lbnQqPihjaGlsZCk7CiAgICAgfQogCkBAIC04NSwxNSAr
ODQsMTUgQEAgdm9pZCBTVkdGb250RWxlbWVudDo6ZW5zdXJlR2x5cGhDYWNoZSgpIAogICAgICAg
ICByZXR1cm47CiAKICAgICBmb3IgKE5vZGUqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoY2hpbGQtPmhhc1Rh
Z05hbWUoZ2x5cGhUYWcpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1l
czo6Z2x5cGhUYWcpKSB7CiAgICAgICAgICAgICBTVkdHbHlwaEVsZW1lbnQqIGdseXBoID0gc3Rh
dGljX2Nhc3Q8U1ZHR2x5cGhFbGVtZW50Kj4oY2hpbGQpOwotICAgICAgICAgICAgU3RyaW5nIHVu
aWNvZGUgPSBnbHlwaC0+Z2V0QXR0cmlidXRlKHVuaWNvZGVBdHRyKTsKKyAgICAgICAgICAgIFN0
cmluZyB1bmljb2RlID0gZ2x5cGgtPmdldEF0dHJpYnV0ZShTVkdOYW1lczo6dW5pY29kZUF0dHIp
OwogICAgICAgICAgICAgaWYgKHVuaWNvZGUubGVuZ3RoKCkpCiAgICAgICAgICAgICAgICAgbV9n
bHlwaE1hcC5hZGQodW5pY29kZSwgZ2x5cGgtPmJ1aWxkR2x5cGhJZGVudGlmaWVyKCkpOwotICAg
ICAgICB9IGVsc2UgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKGhrZXJuVGFnKSkgeworICAgICAgICB9
IGVsc2UgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpoa2VyblRhZykpIHsKICAgICAg
ICAgICAgIFNWR0hLZXJuRWxlbWVudCogaGtlcm4gPSBzdGF0aWNfY2FzdDxTVkdIS2VybkVsZW1l
bnQqPihjaGlsZCk7CiAgICAgICAgICAgICBoa2Vybi0+YnVpbGRIb3Jpem9udGFsS2VybmluZ1Bh
aXIobV9ob3Jpem9udGFsS2VybmluZ1BhaXJzKTsKLSAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+
aGFzVGFnTmFtZSh2a2VyblRhZykpIHsKKyAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+aGFzVGFn
TmFtZShTVkdOYW1lczo6dmtlcm5UYWcpKSB7CiAgICAgICAgICAgICBTVkdWS2VybkVsZW1lbnQq
IHZrZXJuID0gc3RhdGljX2Nhc3Q8U1ZHVktlcm5FbGVtZW50Kj4oY2hpbGQpOwogICAgICAgICAg
ICAgdmtlcm4tPmJ1aWxkVmVydGljYWxLZXJuaW5nUGFpcihtX3ZlcnRpY2FsS2VybmluZ1BhaXJz
KTsKICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIz
LDcgQEAKICNkZWZpbmUgU1ZHRm9udEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWR19GT05UUykK
LSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5o
IgogI2luY2x1ZGUgIlNWR0dseXBoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0dseXBoTWFwLmgi
CkBAIC03NCw4ICs3NCwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVHbHlwaENhY2hl
KCkgY29uc3Q7CiAKKyAgICAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKKwogICAg
IC8vIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NU
QVRJQ19QUk9QRVJUWV9ORVcoU1ZHRm9udEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIG11
dGFibGUgS2VybmluZ1BhaXJWZWN0b3IgbV9ob3Jpem9udGFsS2VybmluZ1BhaXJzOwogICAgIG11
dGFibGUgS2VybmluZ1BhaXJWZWN0b3IgbV92ZXJ0aWNhbEtlcm5pbmdQYWlyczsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysg
V2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSw2ICszOSw3IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEUK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkK
IERFRklORV9BTklNQVRFRF9TVFJJTkcoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFhMaW5rTmFt
ZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0
ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
IAogaW5saW5lIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50OjpTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MSw4ICsyMSw4IEBACiAjZGVmaW5lIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50X2gKIAogI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShTVkdfRk9SRUlHTl9PQkpFQ1QpCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRl
ICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCiAjaW5jbHVkZSAiU1ZHVGVzdHMuaCIKICNp
bmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKQEAg
LTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVm
LCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xB
UkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwg
U1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVf
QU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMKK0RFRklORV9BTklNQVRFRF9CT09M
RUFOKFNWR0dFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIs
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisK
IFNWR0dFbGVtZW50OjpTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw3ICsyMiw3
IEBACiAjZGVmaW5lIFNWR0dFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
U1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRl
ICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVu
dC5oIgpAQCAtMzAsMzIgKzMwLDM0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNs
YXNzIFNWR0dFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LAot
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR0dFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CitjbGFzcyBTVkdHRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAor
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaGFkb3dUcmVlQ29udGFp
bmVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlz
U2hhZG93VHJlZUNvbnRhaW5lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0g
ICAgcHJvdGVjdGVkOgotICAgICAgICBTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQqKTsKK3Byb3RlY3RlZDoKKyAgICBTVkdHRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQqKTsKIAotICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIHZpcnR1YWwgUmVuZGVy
T2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAg
ICBwcml2YXRlOgotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IFNWR1Rlc3RzOjppc1ZhbGlkKCk7IH0KK3ByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzVmFs
aWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CiAKLSAgICAgICAgdmly
dHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSopOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7Cisg
ICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHls
ZSopOworICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKik7CiAK
LSAgICAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgICAgICBERUNMQVJF
X0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZHR0VsZW1lbnQsIFNWR05hbWVzOjpleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICB9OworICAgIC8vIEFuaW1hdGVkIHBy
b3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQor
KysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMsNiArNDMsNyBAQCBERUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRFCiBE
RUZJTkVfQU5JTUFURURfRU5VTUVSQVRJT04oU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6
Z3JhZGllbnRVbml0c0F0dHIsIEdyYWRpZW50VW5pdHMsIGdyYWRpZW50VW5pdHMpCiBERUZJTkVf
QU5JTUFURURfVFJBTlNGT1JNX0xJU1QoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6Z3Jh
ZGllbnRUcmFuc2Zvcm1BdHRyLCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0p
CiBERUZJTkVfQU5JTUFURURfU1RSSU5HKFNWR0dyYWRpZW50RWxlbWVudCwgWExpbmtOYW1lczo6
aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdHcmFkaWVu
dEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogU1ZHR3Jh
ZGllbnRFbGVtZW50OjpTVkdHcmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEz
MCkKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMyw2ICsyMyw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkdyYWRpZW50Lmgi
CisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKQEAgLTU4LDcgKzU5LDcgQEAg
cHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAg
Ly8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkocmV2
aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw3ICs0Miw5IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1hZ2VF
bGVtZW50LCAKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1l
czo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0ltYWdlRWxlbWVudCwg
U1ZHTmFtZXM6OndpZHRoQXR0ciwgV2lkdGgsIHdpZHRoKQogREVGSU5FX0FOSU1BVEVEX0xFTkdU
SChTVkdJbWFnZUVsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkK
K0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFNWR0ltYWdlRWxlbWVudCwgU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKQogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdJbWFnZUVsZW1lbnQs
IFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVEX0JPT0xF
QU4oU1ZHSW1hZ2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0
dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
CiAKIGlubGluZSBTVkdJbWFnZUVsZW1lbnQ6OlNWR0ltYWdlRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVu
dC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMiwxNSArMjIsMTUgQEAKICNkZWZpbmUgU1ZHSW1hZ2VFbGVtZW50
X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGguaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3Bl
cnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNW
R0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR0ltYWdlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2lu
Y2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02OSwxMyArNjksMTMgQEAgcHJpdmF0
ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZLCB5KQogICAgIERFQ0xBUkVfQU5JTUFU
RURfTEVOR1RIKFdpZHRoLCB3aWR0aCkKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWln
aHQsIGhlaWdodCkKLSAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdJbWFnZUVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICBE
RUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAgIC8vIFNWR1VSSVJlZmVyZW5jZQogICAgIERFQ0xB
UkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNW
R0ltYWdlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgU1ZHSW1hZ2VMb2FkZXIgbV9pbWFn
ZUxvYWRlcjsKIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEyOSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcs
NiArMzcsNyBAQCBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTCiBERUZJ
TkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6eTFBdHRyLCBZMSwg
eTEpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6eDJB
dHRyLCBYMiwgeDIpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR0xpbmVFbGVtZW50LCBTVkdO
YW1lczo6eTJBdHRyLCBZMiwgeTIpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdMaW5lRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZH
TGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCShyZXZpc2lvbiA3MzEy
OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
LDggKzIyLDggQEAKICNkZWZpbmUgU1ZHTGluZUVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykK
KyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExl
bmd0aC5oIgotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRl
ICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNl
LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTYwLDcg
KzYwLDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChZMiwgeTIpCiAK
ICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRF
RF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR0xpbmVFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNiBAQAogCiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgotI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRl
ZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdNUGF0aEVs
ZW1lbnQsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBIcmVmLCBocmVmKQorREVGSU5FX0FOSU1BVEVE
X0JPT0xFQU4oU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCiAKIGlubGluZSBTVkdNUGF0aEVsZW1lbnQ6OlNWR01QYXRoRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHJldmlzaW9u
IDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgU1ZHTVBhdGhFbGVtZW50X2gKIAogI2lmIEVOQUJM
RShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgi
CiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCkBAIC00OSw3ICs1MCw3IEBAIHByaXZhdGU6
CiAgICAgREVDTEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9Q
RVJUWV9ORVcoU1ZHTVBhdGhFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24gNzMx
MzApCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsMTIgKzI1LDkgQEAKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAKICNpbmNs
dWRlICJBdHRyaWJ1dGUuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlTWFya2VyLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94Lmgi
Ci0jaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRl
ICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICszOSwxMSBAQCBERUZJTkVfQU5JTUFURURf
TEVOR1RIKFNWR01hcmtlckVsZW1lbnQsCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR01hcmtl
ckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLCBNYXJrZXJIZWlnaHQsIG1hcmtl
ckhlaWdodCkKIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdNYXJrZXJFbGVtZW50LCBT
VkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMpCiBERUZJ
TkVfQU5JTUFURURfRU5VTUVSQVRJT05fTVVMVElQTEVfV1JBUFBFUlMoU1ZHTWFya2VyRWxlbWVu
dCwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsIG9yaWVudFR5cGVJZGVudGlmaWVyKCksIE9yaWVudFR5
cGUsIG9yaWVudFR5cGUpCi0gICAgCitERUZJTkVfQU5JTUFURURfQU5HTEVfTVVMVElQTEVfV1JB
UFBFUlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsIG9yaWVudEFuZ2xl
SWRlbnRpZmllcigpLCBPcmllbnRBbmdsZSwgb3JpZW50QW5nbGUpCitERUZJTkVfQU5JTUFURURf
Qk9PTEVBTihTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCitERUZJTkVfQU5JTUFURURfUkVDVChTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6
dmlld0JveEF0dHIsIFZpZXdCb3gsIHZpZXdCb3gpCitERUZJTkVfQU5JTUFURURfUFJFU0VSVkVB
U1BFQ1RSQVRJTyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRp
b0F0dHIsIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisKIGlubGlu
ZSBTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3JlZlgoTGVuZ3RoTW9kZVdpZHRoKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJr
ZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDIxICsyMiwxOSBAQAogI2RlZmluZSBT
VkdNYXJrZXJFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiU1ZHQW5nbGUuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEFuZ2xl
LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2lu
Y2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAj
aW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIERvY3VtZW50OwotCiBjbGFzcyBTVkdNYXJrZXJFbGVtZW50IDogcHVibGljIFNWR1N0eWxl
ZEVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwKQEAgLTg1LDE0ICs4MywxNCBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURf
TEVOR1RIKE1hcmtlckhlaWdodCwgbWFya2VySGVpZ2h0KQogICAgIERFQ0xBUkVfQU5JTUFURURf
RU5VTUVSQVRJT04oTWFya2VyVW5pdHMsIG1hcmtlclVuaXRzKQogICAgIERFQ0xBUkVfQU5JTUFU
RURfRU5VTUVSQVRJT04oT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKLSAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhTVkdNYXJrZXJFbGVtZW50LCBTVkdO
YW1lczo6b3JpZW50QXR0ciwgb3JpZW50QW5nbGVJZGVudGlmaWVyKCksIFNWR0FuZ2xlLCBPcmll
bnRBbmdsZSwgb3JpZW50QW5nbGUpCisgICAgREVDTEFSRV9BTklNQVRFRF9BTkdMRShPcmllbnRB
bmdsZSwgb3JpZW50QW5nbGUpCiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
Ci0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1l
bnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICBERUNM
QVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgIERFQ0xBUkVf
QU5JTUFURURfUFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94
QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTkVXKFNWR01hcmtlckVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJh
dGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJl
c2VydmVBc3BlY3RSYXRpbykKKyAgICBERUNMQVJFX0FOSU1BVEVEX1JFQ1QoVmlld0JveCwgdmll
d0JveCkKKyAgICBERUNMQVJFX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFUSU8oUHJlc2VydmVB
c3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNr
RWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIERFRklORV9BTklNQVRFRF9M
RU5HVEgoU1ZHTWFza0VsZW1lbnQsIFMKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHTWFza0Vs
ZW1lbnQsIFNWR05hbWVzOjp5QXR0ciwgWSwgeSkKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
TWFza0VsZW1lbnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9B
TklNQVRFRF9MRU5HVEgoU1ZHTWFza0VsZW1lbnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWln
aHQsIGhlaWdodCkKK0RFRklORV9BTklNQVRFRF9CT09MRUFOKFNWR01hc2tFbGVtZW50LCBTVkdO
YW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdNYXNrRWxlbWVu
dDo6U1ZHTWFza0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQogICAgIDogU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAj
ZGVmaW5lIFNWR01hc2tFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVu
ZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAi
U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgpAQCAtNjQsNyArNjQs
NyBAQCBwcml2YXRlOgogICAgIERFQ0xBUkVfQU5JTUFURURfTEVOR1RIKEhlaWdodCwgaGVpZ2h0
KQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5J
TUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdNYXNrRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVB
TihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQog
fTsKIAogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0
aW9ucwogREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdQYXRoRWxlbWVudCwgU1ZHTmFtZXM6OnBh
dGhMZW5ndGhBdHRyLCBQYXRoTGVuZ3RoLCBwYXRoTGVuZ3RoKQorREVGSU5FX0FOSU1BVEVEX0JP
T0xFQU4oU1ZHUGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
QXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKIAogaW5saW5lIFNWR1BhdGhFbGVtZW50OjpTVkdQYXRoRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQu
aAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNWR1BhdGhFbGVtZW50X2gKIAog
I2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBhdGhTZWdMaXN0
UHJvcGVydHlUZWFyT2ZmLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZC5oIgpAQCAtMTA5LDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgREVDTEFSRV9BTklNQVRFRF9O
VU1CRVIoUGF0aExlbmd0aCwgcGF0aExlbmd0aCkKIAogICAgIC8vIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVcoU1ZH
UGF0aEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICBERUNMQVJFX0FOSU1BVEVEX0JPT0xFQU4oRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgIHZvaWQgc3luY2hyb25pemVEKCk7CiAK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2Vi
Q29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1
MSw5IEBAIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWwKIERFRklORV9B
TklNQVRFRF9FTlVNRVJBVElPTihTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnBhdHRlcm5D
b250ZW50VW5pdHNBdHRyLCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRz
KQogREVGSU5FX0FOSU1BVEVEX1RSQU5TRk9STV9MSVNUKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdO
YW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIsIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFu
c2Zvcm0pIAogREVGSU5FX0FOSU1BVEVEX1NUUklORyhTVkdQYXR0ZXJuRWxlbWVudCwgWExpbmtO
YW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVG
SU5FX0FOSU1BVEVEX1JFQ1QoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0
ciwgVmlld0JveCwgdmlld0JveCkKK0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElP
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogCiBpbmxpbmUgU1ZHUGF0
dGVybkVsZW1lbnQ6OlNWR1BhdHRlcm5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHJldmlzaW9uIDczMTMwKQor
KysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIs
MTQgKzIyLDE1IEBACiAjZGVmaW5lIFNWR1BhdHRlcm5FbGVtZW50X2gKIAogI2lmIEVOQUJMRShT
VkcpCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVk
ZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmll
d0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2luY2x1ZGUgIlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJl
bmNlLmgiCkBAIC03NywxMSArNzgsMTEgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVE
X1NUUklORyhIcmVmLCBocmVmKQogCiAgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxl
bWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgLy8gU1ZHUGF0dGVybkVsZW1lbnQKLSAgICBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnZp
ZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgREVDTEFSRV9BTklN
QVRFRF9QUk9QRVJUWV9ORVcoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFz
cGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRp
bywgcHJlc2VydmVBc3BlY3RSYXRpbykgCisgICAgREVDTEFSRV9BTklNQVRFRF9SRUNUKFZpZXdC
b3gsIHZpZXdCb3gpCisgICAgREVDTEFSRV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pIAogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDYgKzM0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0
eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHUG9seUVsZW1lbnQsIFNW
R05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKwogU1ZHUG9seUVsZW1lbnQ6OlNW
R1BvbHlFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAK
ICNkZWZpbmUgU1ZHUG9seUVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJT
VkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFu
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUg
IlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNWR1BvaW50TGlzdC5oIgpAQCAtNTQsNyArNTQs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0g
ICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJPUEVSVFlfTkVXKFNWR1BvbHlFbGVtZW50LCBT
VkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9B
TklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCiAKICAgICB2b2lkIHN5bmNocm9uaXplUG9pbnRzKCk7CiAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw3ICsyMyw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVu
Z3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUg
IlNWR0dyYWRpZW50RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBERUZJTkVfQU5JTUFU
RURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1Jl
Y3RFbGVtZW50LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgSGVpZ2h0LCBoZWlnaHQpCiBERUZJTkVf
QU5JTUFURURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6cnhBdHRyLCBSeCwgcngp
CiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6cnlBdHRy
LCBSeSwgcnkpCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdSZWN0RWxlbWVudCwgU1ZHTmFt
ZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiBpbmxpbmUgU1ZHUmVjdEVsZW1lbnQ6
OlNWR1JlY3RFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKICAgICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAK
ICNkZWZpbmUgU1ZHUmVjdEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJT
VkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgotI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVk
ZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKQEAgLTYwLDcgKzYwLDcgQEAgcHJp
dmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChSeSwgcnkpCiAKICAgICAvLyBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgREVDTEFSRV9BTklNQVRFRF9TVEFUSUNfUFJP
UEVSVFlfTkVXKFNWR1JlY3RFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTQg
KzUzLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKLXVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKLQogLy8gQW5pbWF0ZWQgcHJvcGVydHkg
ZGVmaW5pdGlvbnMKIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFt
ZXM6OnhBdHRyLCBYLCB4KQogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdTVkdFbGVtZW50LCBT
VkdOYW1lczo6eUF0dHIsIFksIHkpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1NWR0VsZW1l
bnQsIFNWR05hbWVzOjp3aWR0aEF0dHIsIFdpZHRoLCB3aWR0aCkKIERFRklORV9BTklNQVRFRF9M
RU5HVEgoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIEhlaWdodCwgaGVpZ2h0
KQorREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVGSU5FX0FOSU1BVEVEX1BSRVNFUlZFQVNQRUNUUkFU
SU8oU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorREVGSU5FX0FOSU1BVEVEX1JF
Q1QoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94
KQogCiBpbmxpbmUgU1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHU3R5bGVkTG9jYXRhYmxlRWxl
bWVudCh0YWdOYW1lLCBkb2MpCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBTVkdTVkdFbGVtZW50
OjpkaWRNb3ZlVG9OZXdPd25lckRvYwogY29uc3QgQXRvbWljU3RyaW5nJiBTVkdTVkdFbGVtZW50
Ojpjb250ZW50U2NyaXB0VHlwZSgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIGRlZmF1bHRWYWx1ZSwgKCJ0ZXh0L2VjbWFzY3JpcHQiKSk7Ci0g
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBuID0gZ2V0QXR0cmlidXRlKGNvbnRlbnRTY3JpcHRUeXBl
QXR0cik7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuID0gZ2V0QXR0cmlidXRlKFNWR05hbWVz
Ojpjb250ZW50U2NyaXB0VHlwZUF0dHIpOwogICAgIHJldHVybiBuLmlzTnVsbCgpID8gZGVmYXVs
dFZhbHVlIDogbjsKIH0KIApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6
c2V0Q29udGVudFNjcmlwdFR5cGUKIGNvbnN0IEF0b21pY1N0cmluZyYgU1ZHU1ZHRWxlbWVudDo6
Y29udGVudFN0eWxlVHlwZSgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBBdG9taWNTdHJpbmcsIGRlZmF1bHRWYWx1ZSwgKCJ0ZXh0L2NzcyIpKTsKLSAgICBjb25zdCBB
dG9taWNTdHJpbmcmIG4gPSBnZXRBdHRyaWJ1dGUoY29udGVudFN0eWxlVHlwZUF0dHIpOworICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgbiA9IGdldEF0dHJpYnV0ZShTVkdOYW1lczo6Y29udGVudFN0
eWxlVHlwZUF0dHIpOwogICAgIHJldHVybiBuLmlzTnVsbCgpID8gZGVmYXVsdFZhbHVlIDogbjsK
IH0KIApAQCAtMjQ2LDExICsyNDYsMTEgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZQogICAgICAgICBib29sIHNldExpc3RlbmVyID0gdHJ1ZTsKIAogICAgICAgICAv
LyBPbmx5IGhhbmRsZSBldmVudHMgaWYgd2UncmUgdGhlIG91dGVybW9zdCA8c3ZnPiBlbGVtZW50
Ci0gICAgICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gb251bmxvYWRBdHRyKQorICAgICAgICBpZiAo
YXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6b251bmxvYWRBdHRyKQogICAgICAgICAgICAgZG9j
dW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudW5s
b2FkRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUo
KSwgYXR0cikpOwotICAgICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25yZXNpemVBdHRy
KQorICAgICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpvbnJlc2l6ZUF0
dHIpCiAgICAgICAgICAgICBkb2N1bWVudCgpLT5zZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKGV2ZW50TmFtZXMoKS5yZXNpemVFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5l
cihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7Ci0gICAgICAgIGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbnNjcm9sbEF0dHIpCisgICAgICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBI
VE1MTmFtZXM6Om9uc2Nyb2xsQXR0cikKICAgICAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRv
d0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnNjcm9sbEV2ZW50LCBjcmVhdGVB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCktPmZyYW1lKCksIGF0dHIpKTsKICAgICAg
ICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpvbnpvb21BdHRyKQogICAgICAg
ICAgICAgZG9jdW1lbnQoKS0+c2V0V2luZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkuem9vbUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGRvY3VtZW50KCkt
PmZyYW1lKCksIGF0dHIpKTsKQEAgLTI2MSw5ICsyNjEsOSBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKGF0dHItPm5hbWUoKSA9PSBvbmFib3J0QXR0cikKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09
IEhUTUxOYW1lczo6b25hYm9ydEF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmFib3J0RXZlbnQsIGNyZWF0ZUF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwotICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBvbmVycm9yQXR0cikKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gSFRNTE5hbWVzOjpvbmVycm9yQXR0cikKICAgICAgICAgZG9jdW1lbnQoKS0+c2V0V2lu
ZG93QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgY3JlYXRl
QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihkb2N1bWVudCgpLT5mcmFtZSgpLCBhdHRyKSk7CiAgICAg
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4QXR0cikKICAgICAgICAgc2V0WEJh
c2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpKSk7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lvbiA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsMTQgKzIyLDEzIEBACiAjZGVmaW5lIFNWR1NW
R0VsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5j
bHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRMZW5ndGgu
aCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZH
QW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRSZWN0
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUg
IlNWR0ZpdFRvVmlld0JveC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2luY2x1ZGUg
IlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0LmgiCiAjaW5jbHVk
ZSAiU1ZHU3R5bGVkTG9jYXRhYmxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCiAj
aW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgpAQCAtMTU1LDExICsxNTQsMTEgQEAgcHJpdmF0ZToK
ICAgICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChIZWlnaHQsIGhlaWdodCkKIAogICAgIC8vIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19Q
Uk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgLy8gU1ZHRml0
VG9WaWV3Qm94Ci0gICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVu
dCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0g
ICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHU1ZHRWxlbWVudCwgU1ZHTmFtZXM6
OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIERFQ0xBUkVfQU5JTUFURURf
UkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAgIERFQ0xBUkVfQU5JTUFURURfUFJFU0VSVkVBU1BF
Q1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogIAogICAg
IHZpcnR1YWwgdm9pZCBkb2N1bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSgpOwogICAgIHZpcnR1YWwg
dm9pZCBkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVu
dC5jcHAJKHJldmlzaW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZpbml0aW9ucwogREVGSU5FX0FOSU1BVEVEX1NUUklO
RyhTVkdTY3JpcHRFbGVtZW50LCBYTGlua05hbWVzOjpocmVmQXR0ciwgSHJlZiwgaHJlZikKK0RF
RklORV9BTklNQVRFRF9CT09MRUFOKFNWR1NjcmlwdEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogaW5saW5lIFNWR1NjcmlwdEVsZW1lbnQ6OlNWR1Njcmlw
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50
LCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIsIGJvb2wgd2FzQWxyZWFkeVN0YXJ0ZWQpCiAgICAg
OiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQu
aAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAKICNkZWZpbmUgU1ZHU2NyaXB0RWxlbWVudF9o
CiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2lu
Y2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKQEAgLTc3LDcgKzc4LDcgQEAg
cHJpdmF0ZToKICAgICBERUNMQVJFX0FOSU1BVEVEX1NUUklORyhIcmVmLCBocmVmKQogCiAgICAg
Ly8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RB
VElDX1BST1BFUlRZX05FVyhTVkdTY3JpcHRFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAgICBT
dHJpbmcgbV90eXBlOwogfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwCShyZXZpc2lv
biA3MzEyOSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xOSw2ICsxOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdTd2l0Y2hFbGVtZW50LmgiCiAKQEAgLTI3LDYgKzI4
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBbmltYXRlZCBwcm9wZXJ0eSBkZWZp
bml0aW9ucworREVGSU5FX0FOSU1BVEVEX0JPT0xFQU4oU1ZHU3dpdGNoRWxlbWVudCwgU1ZHTmFt
ZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiBpbmxpbmUgU1ZHU3dpdGNoRWxlbWVu
dDo6U1ZHU3dpdGNoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgJKHJldmlzaW9uIDczMTI5
KQorKysgV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MiwzMyArMjIsMzYgQEAKICNkZWZpbmUgU1ZHU3dpdGNoRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHKQotI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJvcGVydHlNYWNyb3MuaCIKKyNpbmNsdWRlICJT
VkdBbmltYXRlZEJvb2xlYW4uaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR1Rlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1Nw
YWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdTd2l0Y2hFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7
Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdTd2l0Y2hFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOwotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBib29sIGlzVmFs
aWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9Ci0KLSAgICAgICAgdmly
dHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OwotCi0gICAg
ICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJl
bmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNv
bnN0IFF1YWxpZmllZE5hbWUmKTsKLQotICAgICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdT
d2l0Y2hFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
Ci0gICAgfTsKKworY2xhc3MgU1ZHU3dpdGNoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVz
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdTcGFjZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHU3dpdGNoRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCitwcml2YXRlOgorICAgIFNWR1N3
aXRjaEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisgICAgCisgICAg
dmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgp
OyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRl
Y2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAorICAgIERF
Q0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAkocmV2aXNpb24gNzMxMjkpCisrKyBXZWJDb3JlL3N2
Zy9TVkdTeW1ib2xFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTksMTQgKzE5LDE5IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJTVkdTeW1ib2xFbGVtZW50LmgiCiAKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFu
aW1hdGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdT
eW1ib2xFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCitERUZJ
TkVfQU5JTUFURURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1l
czo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZl
QXNwZWN0UmF0aW8pIAorREVGSU5FX0FOSU1BVEVEX1JFQ1QoU1ZHU3ltYm9sRWxlbWVudCwgU1ZH
TmFtZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94KQorCiBpbmxpbmUgU1ZHU3ltYm9s
RWxlbWVudDo6U1ZHU3ltYm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBTVkdTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAkocmV2aXNpb24gNzMxMjkpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDQwICsy
Miw0MiBAQAogI2RlZmluZSBTVkdTeW1ib2xFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0j
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5oIgorI2luY2x1ZGUgIlNWR0FuaW1h
dGVkQm9vbGVhbi5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIKICNpbmNsdWRl
ICJTVkdMYW5nU3BhY2UuaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCi0j
aW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHU3ltYm9sRWxlbWVudCA6IHB1YmxpYyBT
VkdTdHlsZWRFbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZH
TGFuZ1NwYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0ZpdFRvVmlld0JveCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTVkdTeW1ib2xFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdTeW1ib2xFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3lu
Y2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwg
Ym9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFsc2U7IH0KK2Ns
YXNzIFNWR1N5bWJvbEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3ggeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNWR1N5bWJvbEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBTVkdTeW1ib2xFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVk
QXR0cmlidXRlKEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQ
cm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CisgICAgdmlydHVhbCBib29sIHJlbmRlcmVy
SXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29s
IHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIAotICAgICAgICAvLyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BF
UlRZX05FVyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEF0dHIsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVjbGFyYXRpb25zCisKKyAg
ICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCisgICAgREVDTEFSRV9BTklNQVRFRF9C
T09MRUFOKEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCiAgCi0gICAgICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZX05FVyhTVkdTeW1ib2xFbGVtZW50LCBTVkdOYW1lczo6dmlld0JveEF0dHIs
IEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWV9ORVcoU1ZHU3ltYm9sRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0
aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKSAKLSAgICB9OworICAgIC8vIFNWR0ZpdFRvVmlld0JveAorICAgIERF
Q0xBUkVfQU5JTUFURURfUkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAgIERFQ0xBUkVfQU5JTUFU
RURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVj
dFJhdGlvKSAKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDogV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW5pbWF0ZWQgcHJvcGVydHkgZGVmaW5pdGlvbnMK
IERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6
dGV4dExlbmd0aEF0dHIsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCiBERUZJTkVfQU5JTUFURURf
RU5VTUVSQVRJT04oU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdOYW1lczo6bGVuZ3RoQWRqdXN0
QXR0ciwgTGVuZ3RoQWRqdXN0LCBsZW5ndGhBZGp1c3QpCitERUZJTkVfQU5JTUFURURfQk9PTEVB
TihTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkQXR0ciwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKIAogU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVudEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogU1ZH
U3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oCShyZXZpc2lvbiA3MzEzMCkKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFNW
R1RleHRDb250ZW50RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0Fu
aW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRpb24uaCIKICNp
bmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaCIKQEAgLTc1LDcgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBERUNMQVJFX0FO
SU1BVEVEX0VOVU1FUkFUSU9OKExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0KQogCiAgICAgLy8g
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZAotICAgIERFQ0xBUkVfQU5JTUFURURfU1RBVElD
X1BST1BFUlRZX05FVyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR05hbWVzOjpleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkQXR0ciwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCisgICAgREVDTEFSRV9BTklNQVRFRF9CT09MRUFOKEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDczMTMwKQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYzLDYgKzYzLDcgQEAgREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdVc2VFbGVtZW50
LCBTVgogREVGSU5FX0FOSU1BVEVEX0xFTkdUSChTVkdVc2VFbGVtZW50LCBTVkdOYW1lczo6d2lk
dGhBdHRyLCBXaWR0aCwgd2lkdGgpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR1VzZUVsZW1l
bnQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBIZWlnaHQsIGhlaWdodCkKIERFRklORV9BTklNQVRF
RF9TVFJJTkcoU1ZHVXNlRWxlbWVudCwgWExpbmtOYW1lczo6aHJlZkF0dHIsIEhyZWYsIGhyZWYp
CitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdVc2VFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKIGlubGluZSBTVkdVc2VFbGVtZW50OjpTVkdVc2VFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICA6IFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1VzZUVsZW1lbnQuaAkocmV2aXNpb24gNzMxMzApCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAKICNkZWZpbmUgU1ZHVXNl
RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVh
bi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQcm9wZXJ0eU1hY3Jvcy5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudC5oIgpAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgREVD
TEFSRV9BTklNQVRFRF9TVFJJTkcoSHJlZiwgaHJlZikKIAogICAgIC8vIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQKLSAgICBERUNMQVJFX0FOSU1BVEVEX1NUQVRJQ19QUk9QRVJUWV9ORVco
U1ZHVXNlRWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgYm9vbCBtX3VwZGF0ZXNCbG9ja2Vk
OwogICAgIGJvb2wgbV9pc1BlbmRpbmdSZXNvdXJjZTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Zp
ZXdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5j
cHAJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJTVkdWaWV3RWxlbWVudC5oIgogCi0jaW5jbHVkZSAiQXR0ci5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9W
aWV3Qm94LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdTdHJpbmdMaXN0
LmgiCkBAIC0zMiw2ICszMSwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1h
dGVkIHByb3BlcnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfQk9PTEVBTihTVkdWaWV3
RWxlbWVudCwgU1ZHTmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorREVGSU5FX0FO
SU1BVEVEX1JFQ1QoU1ZHVmlld0VsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgVmlld0Jv
eCwgdmlld0JveCkKK0RFRklORV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFNWR1ZpZXdF
bGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFByZXNlcnZlQXNwZWN0
UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisKIGlubGluZSBTVkdWaWV3RWxlbWVudDo6U1ZH
Vmlld0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1f
dmlld1RhcmdldChTVkdOYW1lczo6dmlld1RhcmdldEF0dHIpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdWaWV3RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50
LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjIsNDMgKzIyLDQ1IEBACiAjZGVmaW5lIFNWR1ZpZXdFbGVtZW50X2gK
IAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5o
IgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpby5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRU
b1ZpZXdCb3guaCIKLSNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCi0jaW5jbHVk
ZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJTVkdT
dHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUFuZFBhbi5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdWaWV3RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRF
bGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRml0
VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4gewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHVmlld0VsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKK2NsYXNzIFNWR1Zp
ZXdFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAg
ICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLAorICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAorICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgU1ZHWm9vbUFuZFBhbiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZH
Vmlld0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAot
ICAgICAgICBTVkdTdHJpbmdMaXN0JiB2aWV3VGFyZ2V0KCkgeyByZXR1cm4gbV92aWV3VGFyZ2V0
OyB9CisgICAgU1ZHU3RyaW5nTGlzdCYgdmlld1RhcmdldCgpIHsgcmV0dXJuIG1fdmlld1Rhcmdl
dDsgfQogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHVmlld0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7Citwcml2YXRlOgorICAgIFNWR1ZpZXdFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNo
cm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZpcnR1YWwgdm9pZCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hy
b25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7IHJldHVybiBmYWxzZTsgfQorICAg
IHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFs
c2U7IH0KIAotICAgICAgICAvLyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkCi0gICAgICAg
IERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BST1BFUlRZX05FVyhTVkdWaWV3RWxlbWVudCwgU1ZH
TmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgIC8vIEFuaW1hdGVk
IHByb3BlcnR5IGRlY2xhcmF0aW9ucworCisgICAgLy8gU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZAorICAgIERFQ0xBUkVfQU5JTUFURURfQk9PTEVBTihFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogIAotICAgICAgICAvLyBTVkdGaXRUb1Zp
ZXdCb3gKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9ORVcoU1ZHVmlld0VsZW1l
bnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQot
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FVyhTVkdWaWV3RWxlbWVudCwgU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgIC8vIFNWR0ZpdFRv
Vmlld0JveAorICAgIERFQ0xBUkVfQU5JTUFURURfUkVDVChWaWV3Qm94LCB2aWV3Qm94KQorICAg
IERFQ0xBUkVfQU5JTUFURURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCi0gICAgICAgIFNWR1N0cmluZ0xpc3QgbV92aWV3VGFy
Z2V0OwotICAgIH07CisgICAgU1ZHU3RyaW5nTGlzdCBtX3ZpZXdUYXJnZXQ7Cit9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAJKHJldmlzaW9uIDczMTI5
KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOCwx
OSArMTgsMjIgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIlNWR1ZpZXdTcGVjLmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUgIlNWR1NWR0Vs
ZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEFuaW1hdGVkIHByb3Bl
cnR5IGRlZmluaXRpb25zCitERUZJTkVfQU5JTUFURURfUkVDVChTVkdWaWV3U3BlYywgU1ZHTmFt
ZXM6OnZpZXdCb3hBdHRyLCBWaWV3Qm94LCB2aWV3Qm94KQorREVGSU5FX0FOSU1BVEVEX1BSRVNF
UlZFQVNQRUNUUkFUSU8oU1ZHVmlld1NwZWMsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlv
QXR0ciwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKwogU1ZHVmll
d1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogbV9j
b250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Zp
ZXdTcGVjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAkocmV2aXNp
b24gNzMxMjkpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMSw1MSArMjEsNDkgQEAKICNkZWZpbmUgU1ZHVmlld1NwZWNfaAogCiAjaWYgRU5BQkxFKFNW
RykKLSNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCi0jaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIgor
I2luY2x1ZGUgIlNWR0FuaW1hdGVkUmVjdC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5o
IgotI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKLSNpbmNsdWRlICJTVkdSZWN0
LmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1pvb21BbmRQ
YW4uaCIKIAotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci0gICAgY2xhc3MgU1ZHRWxlbWVudDsKLSAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OworY2xh
c3MgU1ZHRWxlbWVudDsKKworY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3
Qm94LAorICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwKKyAgICAgICAg
ICAgICAgICAgICAgcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICBTVkdWaWV3U3Bl
YyhTVkdFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdGaXRU
b1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0gICAgcHVibGlj
OgotICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CisgICAgYm9vbCBwYXJzZVZpZXdT
cGVjKGNvbnN0IFN0cmluZyYpOwogCi0gICAgICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIHNldFRyYW5zZm9ybShjb25zdCBTdHJpbmcmKTsKKyAgICBTVkdU
cmFuc2Zvcm1MaXN0IHRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtOyB9CiAK
LSAgICAgICAgdm9pZCBzZXRUcmFuc2Zvcm0oY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIFNWR1Ry
YW5zZm9ybUxpc3QgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2Zvcm07IH0KKyAg
ICB2b2lkIHNldFZpZXdCb3hTdHJpbmcoY29uc3QgU3RyaW5nJik7CiAKLSAgICAgICAgdm9pZCBz
ZXRWaWV3Qm94U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UHJlc2VydmVBc3Bl
Y3RSYXRpb1N0cmluZyhjb25zdCBTdHJpbmcmKTsKIAotICAgICAgICB2b2lkIHNldFByZXNlcnZl
QXNwZWN0UmF0aW9TdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRWaWV3VGFyZ2V0
U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIFN0cmluZyB2aWV3VGFyZ2V0U3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gbV92aWV3VGFyZ2V0U3RyaW5nOyB9CisgICAgU1ZHRWxlbWVudCogdmlld1Rh
cmdldCgpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Vmlld1RhcmdldFN0cmluZyhjb25zdCBT
dHJpbmcmKTsKLSAgICAgICAgU3RyaW5nIHZpZXdUYXJnZXRTdHJpbmcoKSBjb25zdCB7IHJldHVy
biBtX3ZpZXdUYXJnZXRTdHJpbmc7IH0KLSAgICAgICAgU1ZHRWxlbWVudCogdmlld1RhcmdldCgp
IGNvbnN0OworICAgIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxTVkdFbGVtZW50Kj4obV9jb250ZXh0RWxlbWVudCk7IH0KIAotICAgICAgICBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U1ZH
RWxlbWVudCo+KG1fY29udGV4dEVsZW1lbnQpOyB9Citwcml2YXRlOgorICAgIFNWR0VsZW1lbnQq
IG1fY29udGV4dEVsZW1lbnQ7CiAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdFbGVtZW50KiBt
X2NvbnRleHRFbGVtZW50OworICAgIC8vIEFuaW1hdGVkIHByb3BlcnR5IGRlY2xhcmF0aW9ucwog
Ci0gICAgICAgIC8vIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZX05FVyhTVkdWaWV3U3BlYywgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3Qs
IFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVX
KFNWR1ZpZXdTcGVjLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8p
CisgICAgLy8gU1ZHRml0VG9WaWV3Qm94CisgICAgREVDTEFSRV9BTklNQVRFRF9SRUNUKFZpZXdC
b3gsIHZpZXdCb3gpCisgICAgREVDTEFSRV9BTklNQVRFRF9QUkVTRVJWRUFTUEVDVFJBVElPKFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKLSAgICAgICAgU1ZHVHJh
bnNmb3JtTGlzdCBtX3RyYW5zZm9ybTsKLSAgICAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmlu
ZzsKLSAgICB9OworICAgIFNWR1RyYW5zZm9ybUxpc3QgbV90cmFuc2Zvcm07CisgICAgU3RyaW5n
IG1fdmlld1RhcmdldFN0cmluZzsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRl
eDogV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TWFj
cm9zLmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5TWFjcm9zLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDE4ICsyMywxMiBAQAog
I2RlZmluZSBTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zX2gKIAogI2lmIEVOQUJMRShTVkcpCi0j
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmgiCi0jaW5jbHVkZSAiU1ZH
QW5pbWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBy
b3BlcnR5U3luY2hyb25pemVyLmgiCi0jaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJP
ZmYuaCIKLSNpbmNsdWRlICJTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RQcm9wZXJ0eVRlYXJPZmYu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIiAvLyBGSVhNRTogVGVtcG9yYXJ5IGhhY2ssIHVudGls
IHdlIGV4cGFuZCB0aGUgbWFjcm9zIGluIGFsbCBmaWxlcywgc28gd2UgZG9uJ3QgbmVlZCBhIGds
b2JhbCBTVkdOYW1lcy5oIGluY2x1ZGUKICNpbmNsdWRlICJTVkdQcm9wZXJ0eVRyYWl0cy5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0VsZW1lbnQ7Ci0KIC8vIEdldE93bmVy
RWxlbWVudEZvclR5cGUgaW1wbGVtZW50YXRpb24KIHRlbXBsYXRlPHR5cGVuYW1lIE93bmVyVHlw
ZSwgYm9vbCBpc0Rlcml2ZWRGcm9tU1ZHRWxlbWVudD4KIHN0cnVjdCBHZXRPd25lckVsZW1lbnRG
b3JUeXBlOwpAQCAtNjksNiArNjMsNyBAQCBzdHJ1Y3QgSXNEZXJpdmVkRnJvbVNWR0VsZW1lbnQ8
U1ZHVmlld1NwCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmFsdWUgPSBmYWxzZTsKIH07CiAKKy8v
IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0ZWRQcm9wZXJ0eSBpbXBsZW1lbnRhdGlvbgogdGVtcGxh
dGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgogc3RydWN0IFNWR1N5bmNocm9uaXphYmxlQW5pbWF0
ZWRQcm9wZXJ0eSB7CiAgICAgU1ZHU3luY2hyb25pemFibGVBbmltYXRlZFByb3BlcnR5KCkKQEAg
LTk1LDU2ICs5MCw2IEBAIHN0cnVjdCBTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVkUHJvcGVydHkK
ICAgICBib29sIHNob3VsZFN5bmNocm9uaXplIDogMTsKIH07CiAKLS8vIEZJWE1FOiBUaGVzZSBt
YWNyb3Mgc2hvdWxkIGJlIHJlbW92ZWQsIGFmdGVyIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSBuZXcg
U1ZHQW5pbWF0ZWRQcm9wZXJ0eSBjb25jZXB0IGlzIGZpbmlzaGVkLgotI2RlZmluZSBERUNMQVJF
X0FOSU1BVEVEX1BST1BFUlRZX05FV19TSEFSRUQoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFNW
R0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFRlYXJPZmZUeXBlLCBQcm9wZXJ0eVR5cGUsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLXB1YmxpYzogXAotUHJvcGVydHlUeXBlJiBMb3dl
clByb3BlcnR5KCkgY29uc3QgXAoteyBcCi0gICAgcmV0dXJuIG1fIyNMb3dlclByb3BlcnR5LnZh
bHVlOyBcCi19IFwKLVwKLVByb3BlcnR5VHlwZSYgTG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkg
Y29uc3QgXAoteyBcCi0gICAgcmV0dXJuIG1fIyNMb3dlclByb3BlcnR5LnZhbHVlOyBcCi19IFwK
LVwKLXZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoY29uc3QgUHJvcGVydHlUeXBl
JiB0eXBlKSBcCi17IFwKLSAgICBtXyMjTG93ZXJQcm9wZXJ0eS52YWx1ZSA9IHR5cGU7IFwKLX0g
XAotXAotdm9pZCBzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSgpIFwKLXsgXAotICAgIGlmICgh
bV8jI0xvd2VyUHJvcGVydHkuc2hvdWxkU3luY2hyb25pemUpIFwKLSAgICAgICAgIHJldHVybjsg
XAotICAgIEF0b21pY1N0cmluZyB2YWx1ZShTVkdQcm9wZXJ0eVRyYWl0czxQcm9wZXJ0eVR5cGU+
Ojp0b1N0cmluZyhMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSkpOyBcCi0gICAgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQgPSBHZXRPd25lckVsZW1lbnRGb3JUeXBlPE93bmVyVHlwZSwgSXNE
ZXJpdmVkRnJvbVNWR0VsZW1lbnQ8T3duZXJUeXBlPjo6dmFsdWU+Ojpvd25lckVsZW1lbnQodGhp
cyk7IFwKLSAgICBTVkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyPElzRGVyaXZlZEZyb21T
VkdFbGVtZW50PE93bmVyVHlwZT46OnZhbHVlPjo6c3luY2hyb25pemUoY29udGV4dEVsZW1lbnQs
IERPTUF0dHJpYnV0ZSwgdmFsdWUpOyBcCi19IFwKLVwKLVBhc3NSZWZQdHI8VGVhck9mZlR5cGU+
IExvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgXAoteyBcCi0gICAgbV8jI0xvd2VyUHJvcGVydHku
c2hvdWxkU3luY2hyb25pemUgPSB0cnVlOyBcCi0gICAgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQgPSBHZXRPd25lckVsZW1lbnRGb3JUeXBlPE93bmVyVHlwZSwgSXNEZXJpdmVkRnJvbVNWR0Vs
ZW1lbnQ8T3duZXJUeXBlPjo6dmFsdWU+Ojpvd25lckVsZW1lbnQodGhpcyk7IFwKLSAgICByZXR1
cm4gU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6bG9va3VwT3JDcmVhdGVXcmFwcGVyPFRlYXJPZmZUeXBl
LCBQcm9wZXJ0eVR5cGU+KGNvbnRleHRFbGVtZW50LCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJp
YnV0ZUlkZW50aWZpZXIsIG1fIyNMb3dlclByb3BlcnR5LnZhbHVlKTsgXAotfSBcCi1wcml2YXRl
OiBcCi0gICAgbXV0YWJsZSBTVkdTeW5jaHJvbml6YWJsZUFuaW1hdGVkUHJvcGVydHk8UHJvcGVy
dHlUeXBlPiBtXyMjTG93ZXJQcm9wZXJ0eTsKLQotI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZX05FVyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgUHJvcGVydHlUeXBlLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCi1ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FV19T
SEFSRUQoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5hbWUoKSwg
U1ZHQW5pbWF0ZWRQcm9wZXJ0eVRlYXJPZmY8UHJvcGVydHlUeXBlPiwgUHJvcGVydHlUeXBlLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQotCi0jZGVmaW5lIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFlfTVVMVElQTEVfV1JBUFBFUlNfTkVXKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBT
VkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBQcm9wZXJ0eVR5cGUsIFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKLURFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFlfTkVXX1NIQVJFRChPd25l
clR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZHRE9NQXR0cmlidXRlSWRlbnRpZmllciwgU1ZHQW5pbWF0
ZWRQcm9wZXJ0eVRlYXJPZmY8UHJvcGVydHlUeXBlPiwgUHJvcGVydHlUeXBlLCBVcHBlclByb3Bl
cnR5LCBMb3dlclByb3BlcnR5KQotCi0jZGVmaW5lIERFQ0xBUkVfQU5JTUFURURfU1RBVElDX1BS
T1BFUlRZX01VTFRJUExFX1dSQVBQRVJTX05FVyhPd25lclR5cGUsIERPTUF0dHJpYnV0ZSwgU1ZH
RE9NQXR0cmlidXRlSWRlbnRpZmllciwgUHJvcGVydHlUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dl
clByb3BlcnR5KSBcCi1ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZX05FV19TSEFSRUQoT3duZXJU
eXBlLCBET01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFNWR0FuaW1hdGVk
U3RhdGljUHJvcGVydHlUZWFyT2ZmPFByb3BlcnR5VHlwZT4sIFByb3BlcnR5VHlwZSwgVXBwZXJQ
cm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKLQotI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX1NUQVRJ
Q19QUk9QRVJUWV9ORVcoT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFByb3BlcnR5VHlwZSwgVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAotREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWV9O
RVdfU0hBUkVEKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBET01BdHRyaWJ1dGUubG9jYWxOYW1l
KCksIFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmPFByb3BlcnR5VHlwZT4sIFByb3Bl
cnR5VHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKLQotLy8gRklYTUU6IFJlbW92
ZSBhbGwgbWFjcm9zIGFib3ZlLCBvbmNlIHRoZXNlIHR3byBiZWxvdyBhcmUgZGVwbG95ZWQgZXZl
cnl3aGVyZS4KLQogI2RlZmluZSBERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoT3duZXJUeXBlLCBE
T01BdHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFRlYXJPZmZUeXBlLCBQcm9w
ZXJ0eVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKIHZvaWQgT3duZXJUeXBl
OjpzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSgpIFwKIHsgXApJbmRleDogV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVy
LmgJKHJldmlzaW9uIDczMTI5KQorKysgV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRl
ZFByb3BlcnR5U3luY2hyb25pemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDggQEAK
ICNkZWZpbmUgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcl9oCiAKICNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBIZWxwZXIgdGVtcGxhdGUgdXNlZCBmb3Igc3luY2hyb25pemluZyBTVkcgPC0+IFhNTCBwcm9w
ZXJ0aWVzCg==
</data>
<flag name="review"
          id="66284"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>