<?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>134318</bug_id>
          
          <creation_ts>2014-06-25 17:14:32 -0700</creation_ts>
          <short_desc>[Win] Expose Cache Information to WinLauncher</short_desc>
          <delta_ts>2014-06-26 10:22:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1018454</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-25 17:14:32 -0700</bug_when>
    <thetext>It would be useful to be able to see information about memory use and cache status of various objects in WebKit.

This patch exposes the contents of our IWebCache and IWebCoreStatistics interfaces to the WinLauncher UI to make it easier to see this information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018462</commentid>
    <comment_count>1</comment_count>
      <attachid>233858</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-25 17:43:58 -0700</bug_when>
    <thetext>Created attachment 233858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018640</commentid>
    <comment_count>2</comment_count>
      <attachid>233906</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:15:21 -0700</bug_when>
    <thetext>Created attachment 233906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018641</commentid>
    <comment_count>3</comment_count>
      <attachid>233907</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:18:58 -0700</bug_when>
    <thetext>Created attachment 233907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018642</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:20:33 -0700</bug_when>
    <thetext>EWS bots are being difficult!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018643</commentid>
    <comment_count>5</comment_count>
      <attachid>233908</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:21:28 -0700</bug_when>
    <thetext>Created attachment 233908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018653</commentid>
    <comment_count>6</comment_count>
      <attachid>233910</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:56:43 -0700</bug_when>
    <thetext>Created attachment 233910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018654</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 09:57:34 -0700</bug_when>
    <thetext>Looks like EOL-foo was confusing the bots. I landed a separate fix for the multiple EOL-styles in WinLauncher.h. Hopefully that will allow this patch to be processed successfully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018658</commentid>
    <comment_count>8</comment_count>
      <attachid>233910</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-06-26 10:09:07 -0700</bug_when>
    <thetext>Comment on attachment 233910
Patch

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

rs=me

&gt; Source/WebKit/win/WebCache.cpp:113
&gt; +    // Counts

Nit: Missing period here and on the other new comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018660</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-06-26 10:22:37 -0700</bug_when>
    <thetext>Committed r170483: &lt;http://trac.webkit.org/changeset/170483&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233858</attachid>
            <date>2014-06-25 17:43:58 -0700</date>
            <delta_ts>2014-06-26 09:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134318-20140625174347.patch</filename>
            <type>text/plain</type>
            <size>56002</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNDQ4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6IEFkZCBtaXNzaW5nCisgICAgICAgIE1l
bW9yeVN0YXRpc3RpY3MgZmlsZXMgdG8gdGhlIFdJbmRvd3MgYnVpbGQuCisgICAgICAgICogSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisKIDIw
MTQtMDYtMjUgIERhbmEgQnVya2FydCAgPGRidXJrYXJ0QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgNS10dXBsZSB2ZXJzaW9uaW5nLgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcTWFwSXRlcmF0b3JQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxNYXBQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxNYXRoT2JqZWN0LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5U3RhdGlzdGljcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVDb25zdHJ1Y3Rvci5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVJbnN0YW5jZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVQcm90b3R5cGUuY3BwIiAvPgpAQCAtMTQ3OCw2
ICsxNDc5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwUHJvdG90
eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hdGNoUmVzdWx0
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hdGhPYmplY3QuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5U3RhdGlzdGljcy5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxNaWNyb3Rhc2suaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTmFtZUNvbnN0cnVjdG9yLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVJbnN0YW5jZS5oIiAvPgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwkocmV2aXNpb24gMTcwNDMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjA1LDYgKzE2MDUsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdERlYnVnU2VydmVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxNZW1vcnlTdGF0aXN0aWNzLmNwcCI+CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4K
KyAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIj4KQEAgLTM5MDcs
NiArMzkxMCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
RGVidWdMaXN0ZW5lci5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1lbW9yeVN0
YXRpc3RpY3MuaCI+CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0i
SmF2YVNjcmlwdENvcmVQcmVMaW5rLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzA0
NDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0UG9zdEJ1aWxkLmNtZDogQ29weSB0aGUKKyAgICAgICAgQ0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWcgaGVhZGVyIHRvIFdlYktpdCBBUEkgZGlyZWN0b3J5LgorICAg
ICAgICAqIFdlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdlbmVyYXRvci9XZWJLaXRFeHBvcnRz
LmRlZi5pbjoKKyAgICAgICAgRXhwb3NlIHRoZSBkaWN0aW9uYXJ5IGFjY2Vzc29yIGZvciB0aGUg
Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuCisKIDIwMTQtMDYtMjMgIFJ5dWFuIENob2kgIDxyeXVh
bi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSB0aGUgV2ViS2l0MSBF
RkwgY29kZQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0
UG9zdEJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9q
L1dlYktpdC9XZWJLaXRQb3N0QnVpbGQuY21kCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXRQb3N0QnVpbGQuY21kCSh3b3JraW5n
IGNvcHkpCkBAIC02LDYgKzYsNyBAQCB4Y29weSAveSAvZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdp
blxXZWJMCiB4Y29weSAveSAvZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdpblxXZWJLaXRHcmFwaGlj
cy5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJLaXQiCiB4Y29weSAveSAv
ZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdpblxXZWJLaXRDT01BUEkuaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViS2l0IgogeGNvcHkgL3kgL2QgIiVQUk9KRUNURElSJVwuLlwu
Llx3aW5cV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElS
JVxpbmNsdWRlXFdlYktpdCIKK3hjb3B5IC95IC9kICIlUFJPSkVDVERJUiVcLi5cLi5cd2luXENG
RGljdGlvbmFyeVByb3BlcnR5QmFnLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRl
XFdlYktpdCIKIAogeGNvcHkgL3kgL2QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVc
V2ViQ29yZVxucGFwaS5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJLaXQi
CiB4Y29weSAveSAvZCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlXG5w
ZnVuY3Rpb25zLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYktpdCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dl
YktpdEV4cG9ydHMuZGVmLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZj
eHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCShyZXZpc2lv
biAxNzA0MzApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdl
bmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbgkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3
OSw3IEBAIEVYUE9SVFMKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2NyZWF0ZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWiwgP2NyZWF0ZUBTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBAV1RGQEBBRUJWU3RyaW5nQDRAQFopCiAjaWYgVVNFKENGKQogICAgICAg
ICBzeW1ib2xXaXRoUG9pbnRlcig/Y3JlYXRlQ0ZTdHJpbmdAU3RyaW5nQFdURkBAUUJFP0FWPyRS
ZXRhaW5QdHJAUEJVX19DRlN0cmluZ0BAQDJAWFosID9jcmVhdGVDRlN0cmluZ0BTdHJpbmdAV1RG
QEBRRUJBP0FWPyRSZXRhaW5QdHJAUEVCVV9fQ0ZTdHJpbmdAQEAyQFhaKQorICAgICAgICBzeW1i
b2xXaXRoUG9pbnRlcig/ZGljdGlvbmFyeUBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZ0BAUUJFUEFV
X19DRkRpY3Rpb25hcnlAQFhaLCApCiAjZW5kaWYKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIo
P2NyZWF0ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVlNo
YWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAQUFIQFosID9jcmVhdGVTaGFkb3dSb290QEVsZW1lbnRA
V2ViQ29yZUBAUUVBQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBB
RUFIQFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9jcmVhdGVXcmFwcGVyQFdlYkNvcmVA
QFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFA
UEFWTm9kZUAxQEBaLCA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQ
RUFWRXhlY1N0YXRlQDNAUEVBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEVBVk5vZGVAMUBAWikKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDQ0OCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA2LTI1ICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIEV4cG9z
ZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJDb3JlU3RhdGlzdGlj
cy5pZGw6IEFkZCBtaXNzaW5nCisgICAgICAgIEFQSSBhZGRlZCB0byBXZWJLaXQgc2luY2UgdGhp
cyB3YXMgbGFzdCB1cGRhdGVkLgorICAgICAgICAqIFdlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdl
YkNhY2hlOjpzdGF0aXN0aWNzKTogQWRkIG1pc3NpbmcgZWxlbWVudHMgZm9yCisgICAgICAgIHB1
cmdhYmxlIGFuZCBwdXJnZWQgZGF0YS4KKyAgICAgICAgKiBXZWJDb3JlU3RhdGlzdGljcy5jcHA6
IFByb3ZpZGUgaW1wbGVtZW50YWlvbnMuCisgICAgICAgICogV2ViQ29yZVN0YXRpc3RpY3MuaDog
RGl0dG8uCisKIDIwMTQtMDYtMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KIAogICAgICAgICBUcnkgdG8gZml4IFdpbmRvd3MgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2Vi
Q2FjaGUuY3BwCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNo
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDE0ICs5MSwxMiBAQCBVTE9ORyBTVERNRVRIT0RD
QUxMVFlQRSBXZWJDYWNoZTo6UmVsZWFzCiAKIC8vIElXZWJDYWNoZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAotSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdGlzdGljcygg
Ci0gICAgLyogW2luXVtvdXRdICovIGludCogY291bnQsCi0gICAgLyogW3JldHZhbF1bb3V0XSAq
LyBJUHJvcGVydHlCYWcgKiogcykKK0hSRVNVTFQgV2ViQ2FjaGU6OnN0YXRpc3RpY3MoaW50KiBj
b3VudCwgSVByb3BlcnR5QmFnKiogcykKIHsKLSAgICBpZiAoIWNvdW50IHx8IChzICYmICpjb3Vu
dCA8IDQpKQorICAgIGlmICghY291bnQgfHwgKHMgJiYgKmNvdW50IDwgNikpCiAgICAgICAgIHJl
dHVybiBFX0ZBSUw7CiAKLSAgICAqY291bnQgPSA0OworICAgICpjb3VudCA9IDY7CiAgICAgaWYg
KCFzKQogICAgICAgICByZXR1cm4gU19PSzsKIApAQCAtMTEyLDYgKzExMCw3IEBAIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0YXQKICAgICBjb25zdCBpbnQgemVybyA9IDA7
CiAjZW5kaWYKIAorICAgIC8vIENvdW50cwogICAgIFJldGFpblB0cjxDRk11dGFibGVEaWN0aW9u
YXJ5UmVmPiBkaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAs
IDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFs
dWVDYWxsQmFja3MpKTsKIAogICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gdmFsdWUgPSBhZG9w
dENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LmltYWdlcy5jb3Vu
dCkpOwpAQCAtMTM0LDYgKzEzMyw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2Fj
aGU6OnN0YXQKICAgICBwcm9wQmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOwog
ICAgIHNbMF0gPSBwcm9wQmFnLmxlYWtSZWYoKTsKIAorICAgIC8vIFNpemVzCiAgICAgZGljdGlv
bmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgwLCAwLCAma0NGVHlwZURp
Y3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7
CiAKICAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlw
ZSwgJnN0YXQuaW1hZ2VzLnNpemUpKTsKQEAgLTE1Niw2ICsxNTYsNyBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYkNhY2hlOjpzdGF0CiAgICAgcHJvcEJhZy0+c2V0RGljdGlvbmFyeShk
aWN0aW9uYXJ5LmdldCgpKTsKICAgICBzWzFdID0gcHJvcEJhZy5sZWFrUmVmKCk7CiAKKyAgICAv
LyBMaXZlIFNpemVzCiAgICAgZGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRl
TXV0YWJsZSgwLCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGlj
dGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAKICAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJD
cmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuaW1hZ2VzLmxpdmVTaXplKSk7CkBAIC0x
NzgsNiArMTc5LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdAog
ICAgIHByb3BCYWctPnNldERpY3Rpb25hcnkoZGljdGlvbmFyeS5nZXQoKSk7CiAgICAgc1syXSA9
IHByb3BCYWcubGVha1JlZigpOwogCisgICAgLy8gRGVjb2RlZCBTaXplcwogICAgIGRpY3Rpb25h
cnkgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0
aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwog
CiAgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUs
ICZzdGF0LmltYWdlcy5kZWNvZGVkU2l6ZSkpOwpAQCAtMjAwLDYgKzIwMiw1MiBAQCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFdlYkNhY2hlOjpzdGF0CiAgICAgcHJvcEJhZy0+c2V0RGljdGlv
bmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKICAgICBzWzNdID0gcHJvcEJhZy5sZWFrUmVmKCk7CiAK
KyAgICAvLyBQdXJnYWJsZSBTaXplcworICAgIGRpY3Rpb25hcnkgPSBhZG9wdENGKENGRGljdGlv
bmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAm
a0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOworCisgICAgdmFsdWUgPSBhZG9wdENG
KENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LmltYWdlcy5wdXJnZWFi
bGVTaXplKSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5nZXQoKSwgaW1h
Z2VzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVh
dGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuY3NzU3R5bGVTaGVldHMucHVyZ2VhYmxlU2l6
ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHN0eWxlc2hl
ZXRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyNpZiBFTkFCTEUoWFNMVCkKKyAgICB2YWx1ZSA9IGFk
b3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQueHNsU3R5bGVT
aGVldHMucHVyZ2VhYmxlU2l6ZSkpOworI2Vsc2UKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1i
ZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnplcm8pKTsKKyNlbmRpZgorICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHhzbEtleSwgdmFsdWUuZ2V0KCkpOwor
CisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUs
ICZzdGF0LnNjcmlwdHMucHVyZ2VhYmxlU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRpY3Rpb25hcnkuZ2V0KCksIHNjcmlwdHNLZXksIHZhbHVlLmdldCgpKTsKKworICAgIHByb3BC
YWcgPSBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZzo6Y3JlYXRlSW5zdGFuY2UoKTsKKyAgICBwcm9w
QmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOworICAgIHNbNF0gPSBwcm9wQmFn
LmxlYWtSZWYoKTsKKworICAgIC8vIFB1cmdlZCBTaXplcworICAgIGRpY3Rpb25hcnkgPSBhZG9w
dENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5
Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOworCisgICAgdmFs
dWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0Lmlt
YWdlcy5wdXJnZWRTaXplKSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5n
ZXQoKSwgaW1hZ2VzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZO
dW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuY3NzU3R5bGVTaGVldHMucHVy
Z2VkU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHN0
eWxlc2hlZXRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyNpZiBFTkFCTEUoWFNMVCkKKyAgICB2YWx1
ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQueHNs
U3R5bGVTaGVldHMucHVyZ2VkU2l6ZSkpOworI2Vsc2UKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZO
dW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnplcm8pKTsKKyNlbmRpZgorICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHhzbEtleSwgdmFsdWUuZ2V0KCkp
OworCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5
cGUsICZzdGF0LnNjcmlwdHMucHVyZ2VkU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRpY3Rpb25hcnkuZ2V0KCksIHNjcmlwdHNLZXksIHZhbHVlLmdldCgpKTsKKworICAgIHByb3BC
YWcgPSBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZzo6Y3JlYXRlSW5zdGFuY2UoKTsKKyAgICBwcm9w
QmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOworICAgIHNbNV0gPSBwcm9wQmFn
LmxlYWtSZWYoKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3RhdGlzdGljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdGF0aXN0aWNzLmgJKHJldmlzaW9uIDE3MDQzMCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdGF0aXN0aWNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxNCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY0LDEwICs2NCwyNyBAQCBw
dWJsaWM6CiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gVUlOVCAqY291bnQpOwogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZWRGb250RGF0YUluYWN0aXZlQ291
bnQoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIFVJTlQgKmNvdW50KTsKLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcHVyZ2VJbmFjdGl2ZUZvbnREYXRhKHZvaWQp
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwdXJnZUluYWN0aXZlRm9u
dERhdGEoKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZ2x5cGhQYWdl
Q291bnQoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIFVJTlQgKmNvdW50KTsKIAorICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBqYXZhU2NyaXB0T2JqZWN0VHlwZUNv
dW50cygvKiBbcmV0dmFsXVtvdXRdICovIElQcm9wZXJ0eUJhZzIqKiB0eXBlTmFtZXNBbmRDb3Vu
dHMpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBnYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYmplY3RzKCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHNPbkFsdGVybmF0ZVRocmVhZEZvckRl
YnVnZ2luZyhCT09MIHdhaXRVbnRpbERvbmUpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChCT09M
KTsKKworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzaG91bGRQcmludEV4
Y2VwdGlvbnMoQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRTaG91bGRQcmludEV4Y2VwdGlvbnMoQk9PTCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc3RhcnRJZ25vcmluZ1dlYkNvcmVOb2RlTGVha3MoKTsKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3RvcElnbm9yaW5nV2ViQ29yZU5vZGVMZWFr
cygpOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1lbW9yeVN0YXRp
c3RpY3MoLyogW3JldHZhbF1bb3V0XSAqLyBJUHJvcGVydHlCYWcqKiBzdGF0aXN0aWNzKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmV0dXJuRnJlZU1lbW9yeVRvU3lz
dGVtKCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FjaGVkUGFn
ZUNvdW50KC8qIFtyZXR2YWxdW291dF0gKi8gSU5UICpjb3VudCk7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNhY2hlZEZyYW1lQ291bnQoLyogW3JldHZhbF1bb3V0XSAq
LyBJTlQgKmNvdW50KTsKKwogcHJvdGVjdGVkOgogICAgIFVMT05HIG1fcmVmQ291bnQ7CiB9OwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQ29yZVN0YXRpc3RpY3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkNvcmVTdGF0
aXN0aWNzLmlkbAkocmV2aXNpb24gMTcwNDMwKQorKysgU291cmNlL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9JV2ViQ29yZVN0YXRpc3RpY3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTQgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Myw0ICs1MywyMSBA
QCBpbnRlcmZhY2UgSVdlYkNvcmVTdGF0aXN0aWNzIDogSVVua25vd24KICAgICBIUkVTVUxUIGds
eXBoUGFnZUNvdW50KFtvdXQsIHJldHZhbF0gVUlOVCogY291bnQpOwogCiAgICAgSFJFU1VMVCBq
YXZhU2NyaXB0UHJvdGVjdGVkT2JqZWN0VHlwZUNvdW50cyhbb3V0LCByZXR2YWxdIElQcm9wZXJ0
eUJhZzIqKiB0eXBlTmFtZXNBbmRDb3VudHMpOworICAgIEhSRVNVTFQgamF2YVNjcmlwdE9iamVj
dFR5cGVDb3VudHMoW291dCwgcmV0dmFsXSBJUHJvcGVydHlCYWcyKiogdHlwZU5hbWVzQW5kQ291
bnRzKTsKKworICAgIEhSRVNVTFQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cygpOwor
ICAgIEhSRVNVTFQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0c09uQWx0ZXJuYXRlVGhy
ZWFkRm9yRGVidWdnaW5nKFtpbl0gQk9PTCB3YWl0VW50aWxEb25lKTsKKyAgICBIUkVTVUxUIHNl
dEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKFtpbl0gQk9PTCk7CisKKyAg
ICBIUkVTVUxUIHNob3VsZFByaW50RXhjZXB0aW9ucyhbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAg
ICBIUkVTVUxUIHNldFNob3VsZFByaW50RXhjZXB0aW9ucyhbaW5dIEJPT0wpOworCisgICAgSFJF
U1VMVCBzdGFydElnbm9yaW5nV2ViQ29yZU5vZGVMZWFrcygpOworICAgIEhSRVNVTFQgc3RvcEln
bm9yaW5nV2ViQ29yZU5vZGVMZWFrcygpOworCisgICAgSFJFU1VMVCBtZW1vcnlTdGF0aXN0aWNz
KFtvdXQsIHJldHZhbF0gSVByb3BlcnR5QmFnKiogc3RhdGlzdGljcyk7CisgICAgSFJFU1VMVCBy
ZXR1cm5GcmVlTWVtb3J5VG9TeXN0ZW0oKTsKKworICAgIEhSRVNVTFQgY2FjaGVkUGFnZUNvdW50
KFtvdXQsIHJldHZhbF0gSU5UKiBjb3VudCk7CisgICAgSFJFU1VMVCBjYWNoZWRGcmFtZUNvdW50
KFtvdXQsIHJldHZhbF0gSU5UKiBjb3VudCk7CiB9CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzA0NDgpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wNi0yNSAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBFeHBvc2Ug
Q2FjaGUgSW5mb3JtYXRpb24gdG8gV2luTGF1bmNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDMxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2luTGF1bmNoZXIvQ29tbW9uLmNwcDogVXBkYXRl
IGZvciBuZXcgZGlhbG9nLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmNwcDog
QWRkIHN1cHBvcnQgZm9yIFdlYkNhY2hlCisgICAgICAgIGFuZCBXZWJDb3JlU3RhdGlzdGljcy4K
KyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oOgorICAgICAgICAqIFdpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmM6CisgICAgICAgIFVwZGF0
ZSBmb3IgbmV3IENhY2hlIERpYWxvZy4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzOiBMaW5rIHRvCisgICAgICAgIFdU
Ri5saWIKKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaDogVXBkYXRlCisgICAgICAgIGZvciBuZXcgRGlhbG9nLgorCiAyMDE0
LTA2LTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGFuIHVuZG8gZ3JvdXAgZm9yIGVhY2ggZGljdGF0ZWQgdXR0ZXJhbmNlIGluIFdlYktpdApJ
bmRleDogVG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
aW5MYXVuY2hlci9Db21tb24uY3BwCShyZXZpc2lvbiAxNzA0MzApCisrKyBUb29scy9XaW5MYXVu
Y2hlci9Db21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw5ICszNCwxMiBAQAogI2luY2x1
ZGUgPFdlYktpdC9XZWJLaXRDT01BUEkuaD4KICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+
CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgVVNFKENGKQogI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NGUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYktpdC9DRkRpY3Rp
b25hcnlQcm9wZXJ0eUJhZy5oPgogI2VuZGlmCiAKICNpbmNsdWRlIDxjYXNzZXJ0PgpAQCAtNjIs
NyArNjUsNiBAQCBzdGF0aWMgY29uc3QgaW50IG1heEhpc3RvcnlTaXplID0gMTA7CiAKIHR5cGVk
ZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2YoSVdlYkZyYW1lKT4+
IElXZWJGcmFtZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYk11dGFibGVV
UkxSZXF1ZXN0LCAmX191dWlkb2YoSVdlYk11dGFibGVVUkxSZXF1ZXN0KT4+IElXZWJNdXRhYmxl
VVJMUmVxdWVzdFB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkNhY2hlLCAm
X191dWlkb2YoSVdlYkNhY2hlKT4+IElXZWJDYWNoZVB0cjsKIAogLy8gR2xvYmFsIFZhcmlhYmxl
czoKIEhJTlNUQU5DRSBoSW5zdDsKQEAgLTcwLDYgKzcyLDcgQEAgSFdORCBoTWFpblduZDsKIEhX
TkQgaFVSTEJhclduZDsKIEhXTkQgaEJhY2tCdXR0b25XbmQ7CiBIV05EIGhGb3J3YXJkQnV0dG9u
V25kOworSFdORCBoQ2FjaGVXbmQ7CiBXTkRQUk9DIERlZkVkaXRQcm9jID0gbnVsbHB0cjsKIFdO
RFBST0MgRGVmQnV0dG9uUHJvYyA9IG51bGxwdHI7CiBXTkRQUk9DIERlZldlYktpdFByb2MgPSBu
dWxscHRyOwpAQCAtOTAsOCArOTMsMTAgQEAgTFJFU1VMVCBDQUxMQkFDSyBFZGl0UHJvYyhIV05E
LCBVSU5ULCBXUAogTFJFU1VMVCBDQUxMQkFDSyBCYWNrQnV0dG9uUHJvYyhIV05ELCBVSU5ULCBX
UEFSQU0sIExQQVJBTSk7CiBMUkVTVUxUIENBTExCQUNLIEZvcndhcmRCdXR0b25Qcm9jKEhXTkQs
IFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIExSRVNVTFQgQ0FMTEJBQ0sgUmVsb2FkQnV0dG9uUHJv
YyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CitJTlRfUFRSIENBTExCQUNLIENhY2hlcyhI
V05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CiAKIHN0YXRpYyB2b2lkIGxvYWRVUkwoQlNUUiB1
cmxCU3RyKTsKK3N0YXRpYyB2b2lkIHVwZGF0ZVN0YXRpc3RpY3MoSFdORCBoRGxnKTsKIAogc3Rh
dGljIHZvaWQgcmVzaXplU3ViVmlld3MoKQogewpAQCAtMTU1LDEwICsxNjAsOCBAQCBzdGF0aWMg
Ym9vbCBnZXRBcHBEYXRhRm9sZGVyKF9ic3RyX3QmIGRpCiAKIHN0YXRpYyBib29sIHNldENhY2hl
Rm9sZGVyKCkKIHsKLSAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGU7Ci0KLSAgICBIUkVTVUxUIGhy
ID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURfV2ViQ2FjaGUsIDAsIF9fdXVpZG9mKHdlYkNh
Y2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3ZWJDYWNoZS5HZXRJbnRlcmZhY2VQdHIo
KSkpOwotICAgIGlmIChGQUlMRUQoaHIpKQorICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZSA9IGdX
aW5MYXVuY2hlci0+d2ViQ2FjaGUoKTsKKyAgICBpZiAoIXdlYkNhY2hlKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBfYnN0cl90IGFwcERhdGFGb2xkZXI7CkBAIC0zNzksNiArMzgyLDEy
IEBAIExSRVNVTFQgQ0FMTEJBQ0sgV25kUHJvYyhIV05EIGhXbmQsIFVJTlQKICAgICAgICAgICAg
IGlmIChnV2luTGF1bmNoZXIpCiAgICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5sYXVuY2hJ
bnNwZWN0b3IoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElETV9DQUNIRVM6
CisgICAgICAgICAgICBpZiAoITo6SXNXaW5kb3coaENhY2hlV25kKSkgeworICAgICAgICAgICAg
ICAgIGhDYWNoZVduZCA9IENyZWF0ZURpYWxvZyhoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElERF9D
QUNIRVMpLCBoV25kLCBDYWNoZXMpOworICAgICAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhoQ2Fj
aGVXbmQsIFNXX1NIT1cpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgSURNX0hJU1RPUllfQkFDS1dBUkQ6CiAgICAgICAgIGNhc2UgSURNX0hJU1RPUllf
Rk9SV0FSRDoKICAgICAgICAgICAgIGlmIChnV2luTGF1bmNoZXIpCkBAIC00NzYsNiArNDg1LDM1
IEBAIElOVF9QVFIgQ0FMTEJBQ0sgQWJvdXQoSFdORCBoRGxnLCBVSU5UIG0KICAgICByZXR1cm4g
KElOVF9QVFIpRkFMU0U7CiB9CiAKK0lOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhXTkQgaERsZywg
VUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQoreworICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIobFBhcmFtKTsKKyAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKKyAgICBj
YXNlIFdNX0lOSVRESUFMT0c6CisgICAgICAgIDo6U2V0VGltZXIoaERsZywgSURUX1VQREFURV9T
VEFUUywgMTAwMCwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOworCisg
ICAgY2FzZSBXTV9DT01NQU5EOgorICAgICAgICBpZiAoTE9XT1JEKHdQYXJhbSkgPT0gSURPSyB8
fCBMT1dPUkQod1BhcmFtKSA9PSBJRENBTkNFTCkgeworICAgICAgICAgICAgOjpLaWxsVGltZXIo
aERsZywgSURUX1VQREFURV9TVEFUUyk7CisgICAgICAgICAgICA6OkRlc3Ryb3lXaW5kb3coaERs
Zyk7CisgICAgICAgICAgICBoQ2FjaGVXbmQgPSAwOworICAgICAgICAgICAgcmV0dXJuIChJTlRf
UFRSKVRSVUU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElEVF9VUERB
VEVfU1RBVFM6CisgICAgICAgIDo6SW52YWxpZGF0ZVJlY3QoaERsZywgbnVsbHB0ciwgRkFMU0Up
OworICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKKworICAgIGNhc2UgV01fUEFJTlQ6Cisg
ICAgICAgIHVwZGF0ZVN0YXRpc3RpY3MoaERsZyk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIHJldHVybiAoSU5UX1BUUilGQUxTRTsKK30KKwogc3RhdGljIHZvaWQgbG9hZFVSTChCU1RS
IHBhc3NlZFVSTCkKIHsKICAgICBpZiAoRkFJTEVEKGdXaW5MYXVuY2hlci0+bG9hZFVSTChwYXNz
ZWRVUkwpKSkKQEAgLTQ4NCw2ICs1MjIsMTY3IEBAIHN0YXRpYyB2b2lkIGxvYWRVUkwoQlNUUiBw
YXNzZWRVUkwpCiAgICAgU2V0Rm9jdXMoZ1ZpZXdXaW5kb3cpOwogfQogCitzdGF0aWMgdm9pZCBz
ZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBfYnN0cl90IHZhbHVlKQorewor
ICAgIDo6U2V0RGxnSXRlbVRleHQoZGlhbG9nLCBmaWVsZCwgdmFsdWUpOworfQorCitzdGF0aWMg
dm9pZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBVSU5UIHZhbHVlKQor
eworICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUpOworCisg
ICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5k
YXRhKCkpKTsKK30KKwordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJUHJvcGVydHlCYWcs
ICZfX3V1aWRvZihJUHJvcGVydHlCYWcpPj4gSVByb3BlcnR5QmFnUHRyOworCitzdGF0aWMgdm9p
ZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBJUHJvcGVydHlCYWdQdHIg
c3RhdGlzdGljcywgY29uc3QgX2JzdHJfdCYga2V5KQoreworICAgIFZBUklBTlQgdmFyOworICAg
IDo6VmFyaWFudEluaXQoJnZhcik7CisgICAgVl9WVCgmdmFyKSA9IFZUX1VJODsKKyAgICBpZiAo
RkFJTEVEKHN0YXRpc3RpY3MtPlJlYWQoa2V5LCAmdmFyLCAwKSkpIHsKKyAgICAgICAgOjpWYXJp
YW50Q2xlYXIoJnZhcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBs
b25nIGxvbmcgdmFsdWUgPSBWX1VJOCgmdmFyKTsKKyAgICBTdHJpbmcgdmFsdWVTdHIgPSBXVEY6
OlN0cmluZzo6bnVtYmVyKHZhbHVlKTsKKworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBmaWVs
ZCwgX2JzdHJfdCh2YWx1ZVN0ci51dGY4KCkuZGF0YSgpKSk7CisgICAgOjpWYXJpYW50Q2xlYXIo
JnZhcik7Cit9CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQg
ZmllbGQsIENGRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5LCBDRlN0cmluZ1JlZiBrZXksIFVJTlQm
IHRvdGFsKQoreworICAgIENGTnVtYmVyUmVmIGNvdW50TnVtID0gc3RhdGljX2Nhc3Q8Q0ZOdW1i
ZXJSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGRpY3Rpb25hcnksIGtleSkpOworICAgIGlmICgh
Y291bnROdW0pCisgICAgICAgIHJldHVybjsKKworICAgIGludCBjb3VudCA9IDA7CisgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShjb3VudE51bSwga0NGTnVtYmVySW50VHlwZSwgJmNvdW50KTsKKworICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBmaWVsZCwgc3RhdGljX2Nhc3Q8VUlOVD4oY291bnQpKTsK
KyAgICB0b3RhbCArPSBjb3VudDsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlU3RhdGlzdGljcyhI
V05EIGRpYWxvZykKK3sKKyAgICBpZiAoIWdXaW5MYXVuY2hlcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgSVdlYkNvcmVTdGF0aXN0aWNzUHRyIHdlYkNvcmVTdGF0aXN0aWNzID0gZ1dpbkxhdW5j
aGVyLT5zdGF0aXN0aWNzKCk7CisgICAgaWYgKCF3ZWJDb3JlU3RhdGlzdGljcykKKyAgICAgICAg
cmV0dXJuOworCisgICAgSVByb3BlcnR5QmFnUHRyIHN0YXRpc3RpY3M7CisgICAgSFJFU1VMVCBo
ciA9IHdlYkNvcmVTdGF0aXN0aWNzLT5tZW1vcnlTdGF0aXN0aWNzKCZzdGF0aXN0aWNzLkdldElu
dGVyZmFjZVB0cigpKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gRmFzdE1hbGxvYworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUkVTRVJWRURf
Vk0sIHN0YXRpc3RpY3MsICJGYXN0TWFsbG9jUmVzZXJ2ZWRWTUJ5dGVzIik7CisgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19DT01NSVRURURfVk0sIHN0YXRpc3RpY3MsICJGYXN0TWFsbG9j
Q29tbWl0dGVkVk1CeXRlcyIpOworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfRlJFRV9M
SVNUX0JZVEVTLCBzdGF0aXN0aWNzLCAiRmFzdE1hbGxvY0ZyZWVMaXN0Qnl0ZXMiKTsKKworICAg
IC8vIFdlYkNvcmUgQ2FjaGUKKyNpZiBVU0UoQ0YpCisgICAgSVdlYkNhY2hlUHRyIHdlYkNhY2hl
ID0gZ1dpbkxhdW5jaGVyLT53ZWJDYWNoZSgpOworCisgICAgaW50IGRpY3RDb3VudCA9IDY7Cisg
ICAgSVByb3BlcnR5QmFnKiBjYWNoZURpY3RbNl0gPSB7IDAgfTsKKyAgICBpZiAoRkFJTEVEKHdl
YkNhY2hlLT5zdGF0aXN0aWNzKCZkaWN0Q291bnQsIGNhY2hlRGljdCkpKQorICAgICAgICByZXR1
cm47CisKKyAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGNvdW50cywgc2l6ZXMs
IGxpdmVTaXplcywgZGVjb2RlZFNpemVzLCBwdXJnYWJsZVNpemVzOworICAgIGNvdW50cy5hZG9w
dFJlZihyZWludGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0
WzBdKSk7CisgICAgc2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQ
cm9wZXJ0eUJhZyo+KGNhY2hlRGljdFsxXSkpOworICAgIGxpdmVTaXplcy5hZG9wdFJlZihyZWlu
dGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzJdKSk7Cisg
ICAgZGVjb2RlZFNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJv
cGVydHlCYWcqPihjYWNoZURpY3RbM10pKTsKKyAgICBwdXJnYWJsZVNpemVzLmFkb3B0UmVmKHJl
aW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbNF0pKTsK
KworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBpbWFnZXNLZXkgPSBDRlNUUigiaW1hZ2VzIik7Cisg
ICAgc3RhdGljIENGU3RyaW5nUmVmIHN0eWxlc2hlZXRzS2V5ID0gQ0ZTVFIoInN0eWxlIHNoZWV0
cyIpOworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiB4c2xLZXkgPSBDRlNUUigieHNsIik7CisgICAg
c3RhdGljIENGU3RyaW5nUmVmIHNjcmlwdHNLZXkgPSBDRlNUUigic2NyaXB0cyIpOworCisgICAg
aWYgKGNvdW50cykgeworICAgICAgICBVSU5UIHRvdGFsT2JqZWN0cyA9IDA7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX09CSkVDVF9DT1VOVCwgY291bnRzLT5kaWN0
aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxPYmplY3RzKTsKKyAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19DU1NfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgc3R5
bGVzaGVldHNLZXksIHRvdGFsT2JqZWN0cyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfWFNMX09CSkVDVF9DT1VOVCwgY291bnRzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90
YWxPYmplY3RzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfT0JKRUNU
X0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxPYmplY3RzKTsK
KyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQsIHRv
dGFsT2JqZWN0cyk7CisgICAgfQorCisgICAgaWYgKHNpemVzKSB7CisgICAgICAgIFVJTlQgdG90
YWxCeXRlcyA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0JZ
VEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsQnl0ZXMpOworICAgICAg
ICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NTU19CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnko
KSwgc3R5bGVzaGVldHNLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX1hTTF9CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbEJ5
dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfQllURVMsIHNpemVz
LT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0JZVEVTLCB0b3RhbEJ5dGVzKTsKKyAgICB9CisKKyAg
ICBpZiAobGl2ZVNpemVzKSB7CisgICAgICAgIFVJTlQgdG90YWxMaXZlQnl0ZXMgPSAwOworICAg
ICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19MSVZFX0NPVU5ULCBsaXZlU2l6
ZXMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlv
bmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxMaXZlQnl0ZXMpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX1hTTF9MSVZFX0NPVU5ULCBsaXZlU2l6ZXMtPmRpY3Rpb25hcnko
KSwgeHNsS2V5LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfSlNDX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5
LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9U
QUxfTElWRV9DT1VOVCwgdG90YWxMaXZlQnl0ZXMpOworICAgIH0KKworICAgIGlmIChkZWNvZGVk
U2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbERlY29kZWQgPSAwOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19ERUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRp
Y3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbERlY29kZWQpOworICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX0NTU19ERUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRpY3Rpb25h
cnkoKSwgc3R5bGVzaGVldHNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1Rl
eHQoZGlhbG9nLCBJRENfWFNMX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFy
eSgpLCB4c2xLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfSlNDX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3Jp
cHRzS2V5LCB0b3RhbERlY29kZWQpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURD
X1RPVEFMX0RFQ09ERUQsIHRvdGFsRGVjb2RlZCk7CisgICAgfQorCisgICAgaWYgKHB1cmdhYmxl
U2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbFB1cmdhYmxlID0gMDsKKyAgICAgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVz
LT5kaWN0aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNldFdp
bmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+
ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXpl
cy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsUHVyZ2FibGUpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0pTQ19QVVJHRUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRp
Y3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfVE9UQUxfUFVSR0VBQkxFLCB0b3RhbFB1cmdhYmxlKTsKKyAgICB9
CisjZW5kaWYKKworICAgIC8vIEphdmFTY3JpcHQgSGVhcAorICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfSlNDX0hFQVBfU0laRSwgc3RhdGlzdGljcywgIkphdmFTY3JpcHRIZWFwU2l6ZSIp
OworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX0hFQVBfRlJFRSwgc3RhdGlzdGlj
cywgIkphdmFTY3JpcHRGcmVlU2l6ZSIpOworCisgICAgVUlOVCBjb3VudDsKKyAgICBpZiAoU1VD
Q0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2NyaXB0T2JqZWN0c0NvdW50KCZjb3VudCkp
KQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0pTQ19IRUFQX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2Ny
aXB0R2xvYmFsT2JqZWN0c0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+amF2YVNjcmlwdFByb3RlY3RlZE9iamVjdHNDb3VudCgm
Y291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19QUk9URUNURURfSlND
X0hFQVBfT0JKRUNUUywgY291bnQpOworCisgICAgLy8gRm9udCBhbmQgR2x5cGggQ2FjaGVzCisg
ICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+Y2FjaGVkRm9udERhdGFDb3VudCgm
Y291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9GT05UX09C
SkVDVFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5jYWNo
ZWRGb250RGF0YUluYWN0aXZlQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQo
ZGlhbG9nLCBJRENfSU5BQ1RJVkVfRk9OVF9PQkpFQ1RTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+Z2x5cGhQYWdlQ291bnQoJmNvdW50KSkpCisgICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfR0xZUEhfUEFHRVMsIGNvdW50KTsKKworICAgIC8v
IFNpdGUgSWNvbiBEYXRhYmFzZQorICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3Mt
Pmljb25QYWdlVVJMTWFwcGluZ0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1BBR0VfVVJMX01BUFBJTkdTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NFRURF
RCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblJldGFpbmVkUGFnZVVSTENvdW50KCZjb3VudCkpKQor
ICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1JFVEFJTkVEX1BBR0VfVVJMUywgY291
bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmljb25SZWNvcmRDb3Vu
dCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19TSVRFX0lDT05f
UkVDT1JEUywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmlj
b25zV2l0aERhdGFDb3VudCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSwgY291bnQpOworfQorCiBleHRlcm4gIkMiIF9fZGVj
bHNwZWMoZGxsZXhwb3J0KSBpbnQgV0lOQVBJIGRsbExhdW5jaGVyRW50cnlQb2ludChISU5TVEFO
Q0UgaEluc3RhbmNlLCBISU5TVEFOQ0UgaFByZXZJbnN0YW5jZSwgTFBXU1RSIGxwc3RyQ21kTGlu
ZSwgaW50IG5DbWRTaG93KQogewogICAgIHJldHVybiB3V2luTWFpbihoSW5zdGFuY2UsIGhQcmV2
SW5zdGFuY2UsIGxwc3RyQ21kTGluZSwgbkNtZFNob3cpOwpJbmRleDogVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLmNwcAkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBACiBzdGF0aWMgY29uc3Qg
aW50IG1heEhpc3RvcnlTaXplID0gMTA7CiAKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYk11dGFibGVVUkxSZXF1ZXN0LCAmX191dWlkb2YoSVdlYk11dGFibGVVUkxSZXF1ZXN0KT4+
IElXZWJNdXRhYmxlVVJMUmVxdWVzdFB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYkNhY2hlLCAmX191dWlkb2YoSVdlYkNhY2hlKT4+IElXZWJDYWNoZVB0cjsKIAogV2luTGF1
bmNoZXI6OldpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNl
TGF5ZXJlZFdlYlZpZXcpCiAgICAgOiBtX2hNYWluV25kKG1haW5XbmQpCkBAIC03MCw2ICs2OSwx
NCBAQCBIUkVTVUxUIFdpbkxhdW5jaGVyOjppbml0KCkKICAgICAgICAgcmV0dXJuIGhyOwogCiAg
ICAgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJIaXN0b3J5LCAwLCBfX3V1aWRv
ZihtX3dlYkhpc3RvcnkpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViSGlzdG9yeS5H
ZXRJbnRlcmZhY2VQdHIoKSkpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4g
aHI7CisKKyAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkNvcmVTdGF0aXN0
aWNzLCAwLCBfX3V1aWRvZihtX3N0YXRpc3RpY3MpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
Jm1fc3RhdGlzdGljcy5HZXRJbnRlcmZhY2VQdHIoKSkpOworICAgIGlmIChGQUlMRUQoaHIpKQor
ICAgICAgICByZXR1cm4gaHI7CisKKyAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lE
X1dlYkNhY2hlLCAwLCBfX3V1aWRvZihtX3dlYkNhY2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KCZtX3dlYkNhY2hlLkdldEludGVyZmFjZVB0cigpKSk7CiAKICAgICByZXR1cm4gaHI7CiB9
CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgJKHJldmlzaW9uIDE3MDQzMCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMzEgKzEsMzEg
QEAKLS8qDQotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQotICoNCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCi0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCi0gKiBhcmUgbWV0Og0K
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0DQotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQ0KLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQotICoNCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkNCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQ0KLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUg0KLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SDQotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsDQotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUg0KLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkNCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0gKi8NCi0NCi0jaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPg0KLSNpbmNsdWRl
IDx2ZWN0b3I+DQotDQorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKIHR5
cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2YoSVdlYkZyYW1l
KT4+IElXZWJGcmFtZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlZpZXcs
ICZfX3V1aWRvZihJV2ViVmlldyk+PiBJV2ViVmlld1B0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxf
Y29tX0lJSUQ8SVdlYlZpZXdQcml2YXRlLCAmX191dWlkb2YoSVdlYlZpZXdQcml2YXRlKT4+IElX
ZWJWaWV3UHJpdmF0ZVB0cjsKQEAgLTM3LDU0ICszNyw2MCBAQCB0eXBlZGVmIF9jb21fcHRyX3Q8
X2NvbV9JSUlEPElXZWJQcmVmZXJlCiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJV
SURlbGVnYXRlLCAmX191dWlkb2YoSVdlYlVJRGVsZWdhdGUpPj4gSVdlYlVJRGVsZWdhdGVQdHI7
CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUsICZf
X3V1aWRvZihJQWNjZXNzaWJpbGl0eURlbGVnYXRlKT4+IElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQ
dHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJJbnNwZWN0b3IsICZfX3V1aWRv
ZihJV2ViSW5zcGVjdG9yKT4+IElXZWJJbnNwZWN0b3JQdHI7Ci0NCi1jbGFzcyBXaW5MYXVuY2hl
cg0KLXsNCi1wdWJsaWM6DQotICAgIFdpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxC
YXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcgPSBmYWxzZSk7DQotDQotICAgIEhSRVNVTFQg
aW5pdCgpOw0KLSAgICBIUkVTVUxUIHByZXBhcmVWaWV3cyhIV05EIG1haW5XbmQsIGNvbnN0IFJF
Q1QmIGNsaWVudFJlY3QsIGNvbnN0IEJTVFImIHJlcXVlc3RlZFVSTCwgSFdORCYgdmlld1duZCk7
DQotDQordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ29yZVN0YXRpc3RpY3MsICZf
X3V1aWRvZihJV2ViQ29yZVN0YXRpc3RpY3MpPj4gSVdlYkNvcmVTdGF0aXN0aWNzUHRyOwordHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUp
Pj4gSVdlYkNhY2hlUHRyOworCitjbGFzcyBXaW5MYXVuY2hlciB7CitwdWJsaWM6CisgICAgV2lu
TGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2Vi
VmlldyA9IGZhbHNlKTsKKworICAgIEhSRVNVTFQgaW5pdCgpOworICAgIEhSRVNVTFQgcHJlcGFy
ZVZpZXdzKEhXTkQgbWFpblduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYg
cmVxdWVzdGVkVVJMLCBIV05EJiB2aWV3V25kKTsKKwogICAgIEhSRVNVTFQgbG9hZFVSTChjb25z
dCBCU1RSJiBwYXNzZWRVUkwpOwotDQotICAgIHZvaWQgc2hvd0xhc3RWaXNpdGVkU2l0ZXMoSVdl
YlZpZXcmIHdlYlZpZXcpOw0KLSAgICB2b2lkIGxhdW5jaEluc3BlY3RvcigpOw0KLSAgICB2b2lk
IG5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7DQorCisg
ICAgdm9pZCBzaG93TGFzdFZpc2l0ZWRTaXRlcyhJV2ViVmlldyYpOworICAgIHZvaWQgbGF1bmNo
SW5zcGVjdG9yKCk7CisgICAgdm9pZCBuYXZpZ2F0ZUZvcndhcmRPckJhY2t3YXJkKEhXTkQgaFdu
ZCwgVUlOVCBtZW51SUQpOwogICAgIHZvaWQgbmF2aWdhdGVUb0hpc3RvcnkoSFdORCBoV25kLCBV
SU5UIG1lbnVJRCk7Ci0gICAgYm9vbCBzZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpOw0K
LSAgICBib29sIHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCk7DQotDQotICAgIEhSRVNVTFQgc2V0
RnJhbWVMb2FkRGVsZWdhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlKik7DQorICAgIGJvb2wgc2Vl
ZEluaXRpYWxEZWZhdWx0UHJlZmVyZW5jZXMoKTsKKyAgICBib29sIHNldFRvRGVmYXVsdFByZWZl
cmVuY2VzKCk7CisKKyAgICBIUkVTVUxUIHNldEZyYW1lTG9hZERlbGVnYXRlKElXZWJGcmFtZUxv
YWREZWxlZ2F0ZSopOwogICAgIEhSRVNVTFQgc2V0VUlEZWxlZ2F0ZShJV2ViVUlEZWxlZ2F0ZSop
OwogICAgIEhSRVNVTFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVs
ZWdhdGUqKTsKIAogICAgIElXZWJQcmVmZXJlbmNlc1B0ciBzdGFuZGFyZFByZWZlcmVuY2VzKCkg
eyByZXR1cm4gbV9zdGFuZGFyZFByZWZlcmVuY2VzOyAgfQogICAgIElXZWJQcmVmZXJlbmNlc1By
aXZhdGVQdHIgcHJpdmF0ZVByZWZlcmVuY2VzKCkgeyByZXR1cm4gbV9wcmVmc1ByaXZhdGU7IH0K
ICAgICBJV2ViRnJhbWVQdHIgbWFpbkZyYW1lKCk7Ci0NCi0gICAgYm9vbCBoYXNXZWJWaWV3KCkg
Y29uc3QgeyByZXR1cm4gISFtX3dlYlZpZXc7IH0NCi0gICAgYm9vbCB1c2VzTGF5ZXJlZFdlYlZp
ZXcoKSBjb25zdCB7IHJldHVybiBtX3VzZUxheWVyZWRXZWJWaWV3OyB9DQotICAgIGJvb2wgZ29C
YWNrKCk7DQotICAgIGJvb2wgZ29Gb3J3YXJkKCk7DQotDQotcHJpdmF0ZToNCisgICAgSVdlYkNv
cmVTdGF0aXN0aWNzUHRyIHN0YXRpc3RpY3MoKSB7IHJldHVybiBtX3N0YXRpc3RpY3M7IH0KKyAg
ICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUoKSB7IHJldHVybiBtX3dlYkNhY2hlOyAgfQorCisgICAg
Ym9vbCBoYXNXZWJWaWV3KCkgY29uc3QgeyByZXR1cm4gISFtX3dlYlZpZXc7IH0KKyAgICBib29s
IHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGF5ZXJlZFdlYlZpZXc7
IH0KKyAgICBib29sIGdvQmFjaygpOworICAgIGJvb2wgZ29Gb3J3YXJkKCk7CisKK3ByaXZhdGU6
CiAgICAgc3RkOjp2ZWN0b3I8SVdlYkhpc3RvcnlJdGVtUHRyPiBtX2hpc3RvcnlJdGVtczsKLQ0K
LSAgICBJV2ViVmlld1B0ciBtX3dlYlZpZXc7DQorCisgICAgSVdlYlZpZXdQdHIgbV93ZWJWaWV3
OwogICAgIElXZWJWaWV3UHJpdmF0ZVB0ciBtX3dlYlZpZXdQcml2YXRlOwotDQotICAgIElXZWJI
aXN0b3J5UHRyIG1fd2ViSGlzdG9yeTsNCi0gICAgSVdlYkluc3BlY3RvclB0ciBtX2luc3BlY3Rv
cjsNCisKKyAgICBJV2ViSGlzdG9yeVB0ciBtX3dlYkhpc3Rvcnk7CisgICAgSVdlYkluc3BlY3Rv
clB0ciBtX2luc3BlY3RvcjsKICAgICBJV2ViUHJlZmVyZW5jZXNQdHIgbV9zdGFuZGFyZFByZWZl
cmVuY2VzOwogICAgIElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHIgbV9wcmVmc1ByaXZhdGU7Ci0N
Ci0gICAgSVdlYkZyYW1lTG9hZERlbGVnYXRlUHRyIG1fZnJhbWVMb2FkRGVsZWdhdGU7DQotICAg
IElXZWJVSURlbGVnYXRlUHRyIG1fdWlEZWxlZ2F0ZTsNCi0gICAgSUFjY2Vzc2liaWxpdHlEZWxl
Z2F0ZVB0ciBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZTsNCi0NCi0gICAgSFdORCBtX2hNYWluV25k
Ow0KKworICAgIElXZWJGcmFtZUxvYWREZWxlZ2F0ZVB0ciBtX2ZyYW1lTG9hZERlbGVnYXRlOwor
ICAgIElXZWJVSURlbGVnYXRlUHRyIG1fdWlEZWxlZ2F0ZTsKKyAgICBJQWNjZXNzaWJpbGl0eURl
bGVnYXRlUHRyIG1fYWNjZXNzaWJpbGl0eURlbGVnYXRlOworCisgICAgSVdlYkNvcmVTdGF0aXN0
aWNzUHRyIG1fc3RhdGlzdGljczsKKyAgICBJV2ViQ2FjaGVQdHIgbV93ZWJDYWNoZTsKKworICAg
IEhXTkQgbV9oTWFpblduZDsKICAgICBIV05EIG1faFVSTEJhclduZDsKLQ0KLSAgICBib29sIG1f
dXNlTGF5ZXJlZFdlYlZpZXc7DQotfTsNCisKKyAgICBib29sIG1fdXNlTGF5ZXJlZFdlYlZpZXc7
Cit9OwpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlckxpYi5yYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCShyZXZpc2lvbiAxNzA0MzApCisrKyBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE3MCArMSwyNzkgQEAKLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRl
ZCByZXNvdXJjZSBzY3JpcHQuCi0vLwotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2Uu
aCIKLQotI2RlZmluZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwotLy8KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLgot
Ly8KLSNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFMKLSNpbmNsdWRlICJ3aW5kb3dzLmgi
Ci0jdW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
LSN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ci0vLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLQotI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJD
RV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQotI2lmZGVmIF9XSU4zMgotTEFOR1VBR0Ug
TEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMKLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIp
Ci0jZW5kaWYgLy9fV0lOMzIKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBJY29uCi0v
LwotCi0vLyBJY29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUg
YXBwbGljYXRpb24gaWNvbgotLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLgot
SURJX1dJTkxBVU5DSEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5j
aGVyLmljbyIKLUlESV9TTUFMTCAgICAgICAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAg
ICJzbWFsbC5pY28iCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gTWVudQotLy8KLQot
SURDX1dJTkxBVU5DSEVSIE1FTlUgCi1CRUdJTgotICAgIFBPUFVQICImRmlsZSIKLSAgICBCRUdJ
TgotICAgICAgICBNRU5VSVRFTSAiJlByaW50XHRDdHJsLVAiLCAgICAgICAgICAgICAgSURNX1BS
SU5UCi0gICAgICAgIE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1f
RVhJVAotICAgIEVORAotICAgIFBPUFVQICImSGlzdG9yeSIKLSAgICBCRUdJTgotICAgICAgICBN
RU5VSVRFTSAiQmFjayIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllfQkFDS1dB
UkQKLSAgICAgICAgTUVOVUlURU0gIkZvcndhcmQiLCAgICAgICAgICAgICAgICAgICAgIElETV9I
SVNUT1JZX0ZPUldBUkQKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAgICAgIE1FTlVJ
VEVNICJVbnVzZWQgSGlzdG9yeSAwIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMAotICAg
ICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMSIsICAgICAgICAgICAgSURNX0hJU1RPUllf
TElOSzEKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAgICAgICAgIElE
TV9ISVNUT1JZX0xJTksyCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAzIiwgICAg
ICAgICAgICBJRE1fSElTVE9SWV9MSU5LMwotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rv
cnkgNCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzQKLSAgICAgICAgTUVOVUlURU0gIlVu
dXNlZCBIaXN0b3J5IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1Ci0gICAgICAgIE1F
TlVJVEVNICJVbnVzZWQgSGlzdG9yeSA2IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNgot
ICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNyIsICAgICAgICAgICAgSURNX0hJU1RP
UllfTElOSzcKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDgiLCAgICAgICAgICAg
IElETV9ISVNUT1JZX0xJTks4Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA5Iiwg
ICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LOQotICAgIEVORAotICAgIFBPUFVQICJEJmV2ZWxv
cCIKLSAgICBCRUdJTgotICAgICAgICBNRU5VSVRFTSAiU2hvdyBXZWIgSW5zcGVjdG9yIiwgICAg
ICAgICAgSURNX1dFQl9JTlNQRUNUT1IKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAg
ICAgIE1FTlVJVEVNICJEaXNhYmxlIEltYWdlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9J
TUFHRVMKLSAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgU3R5bGVzIiwgICAgICAgICAgICAgIElE
TV9ESVNBQkxFX1NUWUxFUwotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBKYXZhU2NyaXB0Iiwg
ICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVAotICAgICAgICBNRU5VSVRFTSAiRGlzYWJs
ZSBMb2NhbCBGaWxlIFJlc3RyaWN0aW9ucyIsIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJ
Q1RJT05TCi0gICAgRU5ECi0gICAgUE9QVVAgIiZIZWxwIgotICAgIEJFR0lOCi0gICAgICAgIE1F
TlVJVEVNICImQWJvdXQgLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fQUJPVVQKLSAgICBFTkQK
LSAgICBQT1BVUCAiJkRlYnVnIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICJVc2UgQVZG
b3VuZGF0aW9uIiwgICAgICAgICAgICBJRE1fQVZGT1VOREFUSU9OLCBDSEVDS0VECi0gICAgICAg
IE1FTlVJVEVNICJVc2UgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCBJRE1fQUNDX0NPTVBPU0lU
SU5HLCBDSEVDS0VECi0gICAgICAgIE1FTlVJVEVNICJFbmFibGUgV2ViS2l0IEZ1bGwgU2NyZWVu
IiwgICBJRE1fV0tfRlVMTFNDUkVFTiwgQ0hFQ0tFRAotICAgICAgICBNRU5VSVRFTSBTRVBBUkFU
T1IKLSAgICAgICAgTUVOVUlURU0gIlNob3cgQ29tcG9zaXRpbmcgQm9yZGVycyIsICAgIElETV9D
T01QT1NJVElOR19CT1JERVJTCi0gICAgRU5ECi1FTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwotLy8KLS8vIEFjY2VsZXJhdG9yCi0vLwotCi1JRENfV0lOTEFVTkNIRVIgQUNDRUxFUkFUT1JT
IAotQkVHSU4KLSAgICAiPyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVND
SUksICBBTFQKLSAgICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVND
SUksICBBTFQKLUVORAotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gRGlhbG9nCi0v
LwotCi1JRERfQUJPVVRCT1ggRElBTE9HRVggMjIsIDE3LCAyMzAsIDc1Ci1TVFlMRSBEU19TRVRG
T05UIHwgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1DQVBUSU9OICJB
Ym91dCIKLUZPTlQgOCwgIlN5c3RlbSIsIDAsIDAsIDB4MAotQkVHSU4KLSAgICBJQ09OICAgICAg
ICAgICAgSURJX1dJTkxBVU5DSEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMAotICAgIExURVhUICAg
ICAgICAgICAiV2luTGF1bmNoZXIgVmVyc2lvbiAxLjIiLElEQ19TVEFUSUMsNDksMTAsMTE5LDgs
U1NfTk9QUkVGSVgKLSAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdodCAoQykgMjAwOSIsSURD
X1NUQVRJQyw0OSwyMCwxMTksOAotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYs
MzAsMTEsV1NfR1JPVVAKLUVORAotCi0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi0vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwotLy8KLS8vIFRFWFRJTkNMVURFCi0vLwotCi0xIFRFWFRJTkNMVURFIAot
QkVHSU4KLSAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAiCi1FTkQKLQotMiBURVhUSU5D
TFVERSAKLUJFR0lOCi0gICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIgot
ICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiIKLSAgICAiI3VuZGVmIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTXHJcbiIKLSAgICAiXDAiCi1FTkQKLQotMyBURVhUSU5DTFVERSAKLUJFR0lO
Ci0gICAgIlxyXG4iCi0gICAgIlwwIgotRU5ECi0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZP
S0VECi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBTdHJpbmcgVGFibGUKLS8vCi0K
LVNUUklOR1RBQkxFIAotQkVHSU4KLSAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1
bmNoZXIiCi0gICAgSURDX1dJTkxBVU5DSEVSICAgICAgICAgIldJTkxBVU5DSEVSIgotRU5ECi0K
LSNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCi0KLQotCi0jaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ci0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi0vLwot
Ci0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9L
RUQKLQorLy8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4N
CisvLw0KKyNpbmNsdWRlICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiDQorDQorI2RlZmluZSBB
UFNUVURJT19SRUFET05MWV9TWU1CT0xTDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8v
IEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLg0KKy8vDQorI2RlZmlu
ZSBBUFNUVURJT19ISURERU5fU1lNQk9MUw0KKyNpbmNsdWRlICJ3aW5kb3dzLmgiDQorI3VuZGVm
IEFQU1RVRElPX0hJRERFTl9TWU1CT0xTDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisjdW5k
ZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQor
Ly8gRW5nbGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorDQorI2lmICFkZWZpbmVkKEFG
WF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQ0KK0xBTkdVQUdFIExBTkdf
RU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTDQorI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikNCisN
CisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gSWNvbg0KKy8vDQorDQorLy8gSWNvbiB3
aXRoIGxvd2VzdCBJRCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGlj
b24NCisvLyByZW1haW5zIGNvbnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuDQorSURJX1dJTkxBVU5D
SEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5jaGVyLmljbyINCitJ
RElfU01BTEwgICAgICAgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAic21hbGwuaWNv
Ig0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBNZW51DQorLy8NCisNCitJRENf
V0lOTEFVTkNIRVIgTUVOVQ0KK0JFR0lODQorICAgIFBPUFVQICImRmlsZSINCisgICAgQkVHSU4N
CisgICAgICAgIE1FTlVJVEVNICImUHJpbnRcdEN0cmwtUCIsICAgICAgICAgICAgICBJRE1fUFJJ
TlQNCisgICAgICAgIE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1f
RVhJVA0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZIaXN0b3J5Ig0KKyAgICBCRUdJTg0KKyAgICAg
ICAgTUVOVUlURU0gIkJhY2siLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9ISVNUT1JZX0JB
Q0tXQVJEDQorICAgICAgICBNRU5VSVRFTSAiRm9yd2FyZCIsICAgICAgICAgICAgICAgICAgICAg
SURNX0hJU1RPUllfRk9SV0FSRA0KKyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQorICAgICAg
ICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElO
SzANCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAxIiwgICAgICAgICAgICBJRE1f
SElTVE9SWV9MSU5LMQ0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAg
ICAgICAgIElETV9ISVNUT1JZX0xJTksyDQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rv
cnkgMyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzMNCisgICAgICAgIE1FTlVJVEVNICJV
bnVzZWQgSGlzdG9yeSA0IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNA0KKyAgICAgICAg
TUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1
DQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNiIsICAgICAgICAgICAgSURNX0hJ
U1RPUllfTElOSzYNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA3IiwgICAgICAg
ICAgICBJRE1fSElTVE9SWV9MSU5LNw0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5
IDgiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks4DQorICAgICAgICBNRU5VSVRFTSAiVW51
c2VkIEhpc3RvcnkgOSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzkNCisgICAgRU5EDQor
ICAgIFBPUFVQICJEJmV2ZWxvcCINCisgICAgQkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJTaG93
IFdlYiBJbnNwZWN0b3IiLCAgICAgICAgICBJRE1fV0VCX0lOU1BFQ1RPUg0KKyAgICAgICAgTUVO
VUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBJbWFnZXMiLCAgICAg
ICAgICAgICAgSURNX0RJU0FCTEVfSU1BR0VTDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBT
dHlsZXMiLCAgICAgICAgICAgICAgSURNX0RJU0FCTEVfU1RZTEVTDQorICAgICAgICBNRU5VSVRF
TSAiRGlzYWJsZSBKYXZhU2NyaXB0IiwgICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVA0K
KyAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgTG9jYWwgRmlsZSBSZXN0cmljdGlvbnMiLCBJRE1f
RElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNUSU9OUw0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZI
ZWxwIg0KKyAgICBCRUdJTg0KKyAgICAgICAgTUVOVUlURU0gIiZBYm91dCAuLi4iLCAgICAgICAg
ICAgICAgICAgIElETV9BQk9VVA0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZEZWJ1ZyINCisgICAg
QkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJVc2UgQVZGb3VuZGF0aW9uIiwgICAgICAgICAgICBJ
RE1fQVZGT1VOREFUSU9OLCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSAiVXNlIEFjY2VsZXJh
dGVkIENvbXBvc2l0aW5nIiwgSURNX0FDQ19DT01QT1NJVElORywgQ0hFQ0tFRA0KKyAgICAgICAg
TUVOVUlURU0gIkVuYWJsZSBXZWJLaXQgRnVsbCBTY3JlZW4iLCAgIElETV9XS19GVUxMU0NSRUVO
LCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCisgICAgICAgIE1FTlVJVEVN
ICJTaG93IENvbXBvc2l0aW5nIEJvcmRlcnMiLCAgICBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUw0K
KyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAiU2hvdyBDYWNo
ZXMgV2luZG93IiwgICAgICAgICAgSURNX0NBQ0hFUw0KKyAgICBFTkQNCitFTkQNCisNCisNCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gQWNjZWxlcmF0b3INCisvLw0KKw0KK0lEQ19X
SU5MQVVOQ0hFUiBBQ0NFTEVSQVRPUlMNCitCRUdJTg0KKyAgICAiPyIsICAgICAgICAgICAgSURN
X0FCT1VULCAgICAgICAgICAgICAgQVNDSUksICBBTFQNCisgICAgIi8iLCAgICAgICAgICAgIElE
TV9BQk9VVCwgICAgICAgICAgICAgIEFTQ0lJLCAgQUxUDQorRU5EDQorDQorDQorLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8NCisvLw0KKy8vIERpYWxvZw0KKy8vDQorDQorSUREX0FCT1VUQk9YIERJQUxP
R0VYIDIyLCAxNywgMjMwLCA3NQ0KK1NUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwg
V1NfQ0FQVElPTiB8IFdTX1NZU01FTlUNCitDQVBUSU9OICJBYm91dCINCitGT05UIDgsICJTeXN0
ZW0iLCAwLCAwLCAweDANCitCRUdJTg0KKyAgICBJQ09OICAgICAgICAgICAgSURJX1dJTkxBVU5D
SEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMA0KKyAgICBMVEVYVCAgICAgICAgICAgIldpbkxhdW5j
aGVyIFZlcnNpb24gMS4zIixJRENfU1RBVElDLDQ5LDEwLDExOSw4LFNTX05PUFJFRklYDQorICAg
IExURVhUICAgICAgICAgICAiQ29weXJpZ2h0IChDKSAyMDE0IixJRENfU1RBVElDLDQ5LDIwLDEx
OSw4DQorICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYsMzAsMTEsV1NfR1JPVVAN
CitFTkQNCisNCitJRERfQ0FDSEVTIERJQUxPR0VYIDAsIDAsIDQwMSwgNDU2DQorU1RZTEUgRFNf
U0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBEU19GSVhFRFNZUyB8IFdTX1BPUFVQIHwgV1NfQ0FQ
VElPTiB8IFdTX1NZU01FTlUNCitDQVBUSU9OICJEaWFsb2ciDQorRk9OVCA4LCAiTVMgU2hlbGwg
RGxnIiwgNDAwLCAwLCAweDENCitCRUdJTg0KKyAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9L
LDI4Nyw0MzUsNTAsMTQNCisgICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWwiLElEQ0FOQ0VMLDM0
NCw0MzUsNTAsMTQNCisgICAgR1JPVVBCT1ggICAgICAgICJGYXN0TWFsbG9jIixJRENfU1RBVElD
LDIwOCwxNCwxODYsNjcNCisgICAgR1JPVVBCT1ggICAgICAgICJXZWJDb3JlIENhY2hlIixJRENf
U1RBVElDLDE3LDgzLDM3NiwxMDUNCisgICAgR1JPVVBCT1ggICAgICAgICJKYXZhU2NyaXB0IEhl
YXAiLElEQ19TVEFUSUMsMTgsMTkzLDM3NiwxNjgNCisgICAgR1JPVVBCT1ggICAgICAgICJTaXRl
IEljb24gRGF0YWJhc2UiLElEQ19TVEFUSUMsMTgsMzY2LDE0Miw2NQ0KKyAgICBHUk9VUEJPWCAg
ICAgICAgIkZvbnQgYW5kIEdseXBoIENhY2hlcyIsSURDX1NUQVRJQywxNjgsMzY2LDIyNiw2Ng0K
KyAgICBHUk9VUEJPWCAgICAgICAgIkNGVVJMQ2FjaGUiLElEQ19TVEFUSUMsNywxNCwxOTcsNjcN
CisgICAgUFVTSEJVVFRPTiAgICAgICJFbXB0eSBVUkxDYWNoZSIsSURDX0VNUFRZX1VSTF9DQUNI
RSwxMzEsNjMsNjksMTQsV1NfRElTQUJMRUQNCisgICAgUFVTSEJVVFRPTiAgICAgICJSZXR1cm4g
RnJlZSBNZW1vcnkiLElEQ19SRVRVUk5fRlJFRV9NRU1PUlksMzA4LDYzLDc2LDE0LFdTX0RJU0FC
TEVEDQorICAgIFBVU0hCVVRUT04gICAgICAiRW1wdHkgV2ViQ29yZSBDYWNoZSIsSURDX0VNUFRZ
X1dFQkNPUkVfQ0FDSEUsMjEsMTcwLDgzLDE0LFdTX0RJU0FCTEVEDQorICAgIENPTlRST0wgICAg
ICAgICAiRGlzYWJsZSBXZWJDb3JlIENhY2hlIixJRENfQ0hFQ0sxLCJCdXR0b24iLEJTX0FVVE9D
SEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTksMTcyLDkzLDEwDQorICAgIFBV
U0hCVVRUT04gICAgICAiR2FyYmFnZSBDb2xsZWN0IEphdmFTY3JpcHQgT2JqZWN0cyIsSURDX0dD
X0pTQywyNTMsMzQzLDEzNSwxNCxXU19ESVNBQkxFRA0KKyAgICBSVEVYVCAgICAgICAgICAgIlJl
c2VydmVkIFZNIixJRENfU1RBVElDLDIxMiwyNiw2Nyw5DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX1JFU0VSVkVEX1ZNLDI5MCwyNiw5NCw4DQorICAgIFJURVhUICAgICAgICAgICAiQ29t
bWl0dGVkIFZNIixJRENfU1RBVElDLDIxMSwzOSw2Nyw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0NPTU1JVFRFRF9WTSwyOTAsMzksOTQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkZy
ZWUgTGlzdCBCeXRlcyIsSURDX1NUQVRJQywyMTEsNTIsNjcsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19GUkVFX0xJU1RfQllURVMsMjkwLDUyLDk0LDgNCisgICAgUlRFWFQgICAgICAg
ICAgICJJbWFnZXMiLElEQ19TVEFUSUMsMzcsMTA2LDI0LDgNCisgICAgUlRFWFQgICAgICAgICAg
ICJDU1MiLElEQ19TVEFUSUMsNDcsMTE2LDE0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJYU0wi
LElEQ19TVEFUSUMsNDksMTI2LDEyLDgNCisgICAgUlRFWFQgICAgICAgICAgICJKYXZhU2NyaXB0
IixJRENfU1RBVElDLDI3LDEzNSwzNCw4DQorICAgIFJURVhUICAgICAgICAgICAiVG90YWwiLElE
Q19TVEFUSUMsNDMsMTQ2LDE3LDgNCisgICAgTFRFWFQgICAgICAgICAgICJPYmplY3RzIixJRENf
U1RBVElDLDExMSw5NiwyNiw4DQorICAgIExURVhUICAgICAgICAgICAiQnl0ZXMiLElEQ19TVEFU
SUMsMTc1LDk2LDE5LDgNCisgICAgTFRFWFQgICAgICAgICAgICJMaXZlIixJRENfU1RBVElDLDIz
Miw5NiwxNCw4DQorICAgIExURVhUICAgICAgICAgICAiRGVjb2RlZCIsSURDX1NUQVRJQywyODQs
OTYsMjksOA0KKyAgICBMVEVYVCAgICAgICAgICAgIlB1cmdlYWJsZSIsSURDX1NUQVRJQywzNTEs
OTYsMzMsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfT0JKRUNUX0NPVU5U
LDEwMCwxMDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfT0JKRUNUX0NP
VU5ULDEwMCwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfT0JKRUNU
X0NPVU5ULDEwMCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfT0JK
RUNUX0NPVU5ULDEwMCwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RB
TF9PQkpFQ1RfQ09VTlQsMTAwLDE0NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURD
X0lNQUdFU19CWVRFUywxNjIsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENf
Q1NTX0JZVEVTLDE2MiwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xf
QllURVMsMTYyLDEyNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19CWVRF
UywxNjIsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfQllURVMs
MTYyLDE0NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19MSVZFX0NP
VU5ULDIyMSwxMDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfTElWRV9D
T1VOVCwyMjEsMTE2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0xJVkVf
Q09VTlQsMjIxLDEyNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19MSVZF
X0NPVU5ULDIyMSwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9M
SVZFX0NPVU5ULDIyMSwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFH
RVNfREVDT0RFRF9DT1VOVCwyODQsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJ
RENfQ1NTX0RFQ09ERURfQ09VTlQsMjg0LDExNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX1hTTF9ERUNPREVEX0NPVU5ULDI4NCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19KU0NfREVDT0RFRF9DT1VOVCwyODQsMTM1LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfVE9UQUxfREVDT0RFRCwyODQsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTA2LDMyLDgNCisgICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTE2LDMyLDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTI2
LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCwz
NTQsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfUFVSR0VBQkxF
LDM1NCwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlRvdGFsIE9iamVjdHMiLElEQ19T
VEFUSUMsNjMsMjA3LDQ0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJHbG9iYWwgT2JqZWN0cyIs
SURDX1NUQVRJQyw1NiwyMTcsNTEsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlByb3RlY3RlZCBP
YmplY3RzIixJRENfU1RBVElDLDQ4LDIyNyw1OSw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMsMTI3LDIwNyw1Niw4DQorICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMTcsNTYsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19QUk9URUNURURfSlNDX0hFQVBfT0JKRUNUUywxMjcsMjI3
LDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICJTaXplIixJRENfU1RBVElDNTYsMjIzLDIwNywx
NCw4DQorICAgIFJURVhUICAgICAgICAgICAiRnJlZSIsSURDX1NUQVRJQzU3LDIyMiwyMTcsMTYs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9TSVpFLDI3MCwyMDcsNTYs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9GUkVFLDI3MCwyMTcsNTYs
OA0KKyAgICBQVVNIQlVUVE9OICAgICAgIlB1cmdlIEluYWN0aXZlIEZvbnQgRGF0YSIsSURDX0JV
VFRPTjUsMjkzLDQxNSw5NSwxNCxXU19ESVNBQkxFRA0KKyAgICBMVEVYVCAgICAgICAgICAgIlRv
dGFsIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDIwOCwzNzksNzgsOA0KKyAgICBMVEVY
VCAgICAgICAgICAgIkluYWN0aXZlIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDE5OCwz
OTAsODgsOA0KKyAgICBMVEVYVCAgICAgICAgICAgIkdseXBoIFBhZ2VzIixJRENfU1RBVElDLDI0
Niw0MDIsNDAsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9GT05UX09CSkVD
VFMsMzI5LDM3OSw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lOQUNUSVZFX0ZP
TlRfT0JKRUNUUywzMjksMzkwLDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfR0xZ
UEhfUEFHRVMsMzI5LDQwMiw1Niw4DQorICAgIExURVhUICAgICAgICAgICAiUGFnZSBVUkwgTWFw
cGluZ3MiLElEQ19TVEFUSUMsMzMsMzgwLDY0LDgNCisgICAgTFRFWFQgICAgICAgICAgICJSZXRh
aW5lZCBQYWdlIFVSTHMiLElEQ19TVEFUSUMsMzEsMzkwLDY2LDgNCisgICAgTFRFWFQgICAgICAg
ICAgICJTaXRlIEljb24gUmVjb3JkcyIsSURDX1NUQVRJQyw0MCw0MDAsNTcsOA0KKyAgICBMVEVY
VCAgICAgICAgICAgIlNpdGUgSWNvbnMgd2l0aCBEYXRhIixJRENfU1RBVElDLDMyLDQxMCw2NSw4
DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1BBR0VfVVJMX01BUFBJTkdTLDEwMSwzODAs
NTIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19SRVRBSU5FRF9QQUdFX1VSTFMsMTAx
LDM5MCw1Miw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1NJVEVfSUNPTl9SRUNPUkRT
LDEwMSw0MDAsNTIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19TSVRFX0lDT05TX1dJ
VEhfREFUQSwxMDEsNDEwLDUyLDgNCitFTkQNCisNCisNCisjaWZkZWYgQVBTVFVESU9fSU5WT0tF
RA0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBURVhUSU5DTFVERQ0KKy8vDQorDQor
MSBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAi
DQorRU5EDQorDQorMiBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAiI2RlZmluZSBBUFNUVURJ
T19ISURERU5fU1lNQk9MU1xyXG4iDQorICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiIN
CisgICAgIiN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iDQorICAgICJcMCINCitF
TkQNCisNCiszIFRFWFRJTkNMVURFIA0KK0JFR0lODQorICAgICJcclxuIg0KKyAgICAiXDAiDQor
RU5EDQorDQorI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQNCisNCisNCisvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLw0KKy8vDQorLy8gREVTSUdOSU5GTw0KKy8vDQorDQorI2lmZGVmIEFQU1RVRElP
X0lOVk9LRUQNCitHVUlERUxJTkVTIERFU0lHTklORk8NCitCRUdJTg0KKyAgICBJRERfQUJPVVRC
T1gsIERJQUxPRw0KKyAgICBCRUdJTg0KKyAgICBFTkQNCisNCisgICAgSUREX0NBQ0hFUywgRElB
TE9HDQorICAgIEJFR0lODQorICAgICAgICBMRUZUTUFSR0lOLCA3DQorICAgICAgICBSSUdIVE1B
UkdJTiwgMzk0DQorICAgICAgICBUT1BNQVJHSU4sIDcNCisgICAgICAgIEJPVFRPTU1BUkdJTiwg
NDQ5DQorICAgIEVORA0KK0VORA0KKyNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VEDQorDQor
DQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIFN0cmluZyBUYWJsZQ0KKy8vDQorDQor
U1RSSU5HVEFCTEUNCitCRUdJTg0KKyAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1
bmNoZXIiDQorICAgIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICJXSU5MQVVOQ0hFUiINCitFTkQN
CisNCisjZW5kaWYgICAgLy8gRW5nbGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8NCisNCisNCisNCisjaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQNCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNM
VURFIDMgcmVzb3VyY2UuDQorLy8NCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKyNlbmRp
ZiAgICAvLyBub3QgQVBTVFVESU9fSU5WT0tFRA0KKw0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxp
YkNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2lu
TGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcwkod29ya2luZyBjb3B5
KQpAQCAtMTAsNyArMTAsNyBAQAogICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZT5TdGRBZngu
aDwvUHJlY29tcGlsZWRIZWFkZXJGaWxlPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgot
ICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29t
ZGxnMzIubGliO2NvbXN1cHB3LmxpYjtnZGkzMi5saWI7Y29tY3RsMzIubGliO3NobHdhcGkubGli
O3VzZXIzMi5saWI7b2xlMzIubGliO29sZWF1dDMyLmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZp
eCkubGliO1dlYktpdCQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMp
PC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+
V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29tZGxnMzIubGliO2NvbXN1cHB3LmxpYjtnZGkzMi5s
aWI7Y29tY3RsMzIubGliO3NobHdhcGkubGliO3VzZXIzMi5saWI7b2xlMzIubGliO29sZWF1dDMy
LmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZpeCkubGliO1dlYktpdCQoRGVidWdTdWZmaXgpLmxp
YjtXVEYkKERlYnVnU3VmZml4KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRp
b25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4K
IDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaAkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0KKy8vIHt7Tk9fREVQRU5E
RU5DSUVTfX0KIC8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUu
Ci0vLyBVc2VkIGJ5IFdpbkxhdW5jaGVyLnJjCisvLyBVc2VkIGJ5IFdpbkxhdW5jaGVyTGliLnJj
CiAvLwogI2RlZmluZSBJRENfTVlJQ09OICAgICAgICAgICAgICAgICAgICAgIDIKICNkZWZpbmUg
SUREX1dJTkxBVU5DSEVSX0RJQUxPRyAgICAgICAgICAxMDIKQEAgLTE2LDExICsxNiwxNCBAQAog
I2RlZmluZSBJRE1fQUNDX0NPTVBPU0lUSU5HICAgICAgICAgICAgIDExMQogI2RlZmluZSBJRE1f
V0tfRlVMTFNDUkVFTiAgICAgICAgICAgICAgIDExMgogI2RlZmluZSBJRE1fQ09NUE9TSVRJTkdf
Qk9SREVSUyAgICAgICAgIDExMworI2RlZmluZSBJRE1fQ0FDSEVTICAgICAgICAgICAgICAgICAg
ICAgIDExNAogI2RlZmluZSBJRE1fV0VCX0lOU1BFQ1RPUiAgICAgICAgICAgICAgIDEyMAogI2Rl
ZmluZSBJRE1fRElTQUJMRV9JTUFHRVMgICAgICAgICAgICAgIDEyMQogI2RlZmluZSBJRE1fRElT
QUJMRV9TVFlMRVMgICAgICAgICAgICAgIDEyMgogI2RlZmluZSBJRE1fRElTQUJMRV9KQVZBU0NS
SVBUICAgICAgICAgIDEyMwogI2RlZmluZSBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNU
SU9OUyAxMjQKKyNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKKyNk
ZWZpbmUgSUREX0NBQ0hFUyAgICAgICAgICAgICAgICAgICAgICAxMjkKICNkZWZpbmUgSURNX0hJ
U1RPUllfQkFDS1dBUkQgICAgICAgICAgICAxMzAKICNkZWZpbmUgSURNX0hJU1RPUllfRk9SV0FS
RCAgICAgICAgICAgICAxMzEKICNkZWZpbmUgSURNX0hJU1RPUllfTElOSzAgICAgICAgICAgICAg
ICAxNTAKQEAgLTMzLDggKzM2LDU3IEBACiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks3ICAgICAg
ICAgICAgICAgMTU3CiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks4ICAgICAgICAgICAgICAgMTU4
CiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks5ICAgICAgICAgICAgICAgMTU5Ci0KLSNkZWZpbmUg
SURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKKyNkZWZpbmUgSURUX1VQREFURV9T
VEFUUyAgICAgICAgICAgICAgICAxNjAKKyNkZWZpbmUgSURDX0VNUFRZX1VSTF9DQUNIRSAgICAg
ICAgICAgICAxMDAwCisjZGVmaW5lIElEQ19SRVRVUk5fRlJFRV9NRU1PUlkgICAgICAgICAgMTAw
MQorI2RlZmluZSBJRENfRU1QVFlfV0VCQ09SRV9DQUNIRSAgICAgICAgIDEwMDIKKyNkZWZpbmUg
SURDX0NIRUNLMSAgICAgICAgICAgICAgICAgICAgICAxMDAzCisjZGVmaW5lIElEQ19IRUFQX09C
SkVDVFMgICAgICAgICAgICAgICAgMTAwNQorI2RlZmluZSBJRENfR0NfSlNDICAgICAgICAgICAg
ICAgICAgICAgIDEwMDYKKyNkZWZpbmUgSURDX1JFU0VSVkVEX1ZNICAgICAgICAgICAgICAgICAx
MDA3CisjZGVmaW5lIElEQ19DT01NSVRURURfVk0gICAgICAgICAgICAgICAgMTAwOAorI2RlZmlu
ZSBJRENfRlJFRV9MSVNUX0JZVEVTICAgICAgICAgICAgIDEwMDkKKyNkZWZpbmUgSURDX0lNQUdF
U19PQkpFQ1RfQ09VTlQgICAgICAgICAxMDExCisjZGVmaW5lIElEQ19DU1NfT0JKRUNUX0NPVU5U
ICAgICAgICAgICAgMTAxMgorI2RlZmluZSBJRENfWFNMX09CSkVDVF9DT1VOVCAgICAgICAgICAg
IDEwMTMKKyNkZWZpbmUgSURDX0pTQ19PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDE0CisjZGVm
aW5lIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQgICAgICAgICAgMTAxNQorI2RlZmluZSBJRENfSU1B
R0VTX0JZVEVTICAgICAgICAgICAgICAgIDEwMTYKKyNkZWZpbmUgSURDX0NTU19CWVRFUyAgICAg
ICAgICAgICAgICAgICAxMDE3CisjZGVmaW5lIElEQ19YU0xfQllURVMgICAgICAgICAgICAgICAg
ICAgMTAxOAorI2RlZmluZSBJRENfSlNDX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTkKKyNk
ZWZpbmUgSURDX1RPVEFMX0JZVEVTICAgICAgICAgICAgICAgICAxMDIwCisjZGVmaW5lIElEQ19J
TUFHRVNfTElWRV9DT1VOVCAgICAgICAgICAgMTAyMQorI2RlZmluZSBJRENfQ1NTX0xJVkVfQ09V
TlQgICAgICAgICAgICAgIDEwMjIKKyNkZWZpbmUgSURDX1hTTF9MSVZFX0NPVU5UICAgICAgICAg
ICAgICAxMDIzCisjZGVmaW5lIElEQ19KU0NfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyNAor
I2RlZmluZSBJRENfVE9UQUxfTElWRV9DT1VOVCAgICAgICAgICAgIDEwMjUKKyNkZWZpbmUgSURD
X0lNQUdFU19ERUNPREVEX0NPVU5UICAgICAgICAxMDI2CisjZGVmaW5lIElEQ19DU1NfREVDT0RF
RF9DT1VOVCAgICAgICAgICAgMTAyNworI2RlZmluZSBJRENfWFNMX0RFQ09ERURfQ09VTlQgICAg
ICAgICAgIDEwMjgKKyNkZWZpbmUgSURDX0pTQ19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI5
CisjZGVmaW5lIElEQ19UT1RBTF9ERUNPREVEICAgICAgICAgICAgICAgMTAzMAorI2RlZmluZSBJ
RENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCAgICAgIDEwMzEKKyNkZWZpbmUgSURDX0NTU19QVVJH
RUFCTEVfQ09VTlQgICAgICAgICAxMDMyCisjZGVmaW5lIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5U
ICAgICAgICAgMTAzMworI2RlZmluZSBJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEw
MzQKKyNkZWZpbmUgSURDX1RPVEFMX1BVUkdFQUJMRSAgICAgICAgICAgICAxMDM1CisjZGVmaW5l
IElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RTICAgICAgMTAzNgorI2RlZmluZSBJRENfR0xPQkFM
X0pTQ19IRUFQX09CSkVDVFMgICAgIDEwMzcKKyNkZWZpbmUgSURDX1BST1RFQ1RFRF9KU0NfSEVB
UF9PQkpFQ1RTICAxMDM4CisjZGVmaW5lIElEQ19TVEFUSUM1NiAgICAgICAgICAgICAgICAgICAg
MTAzOQorI2RlZmluZSBJRENfU1RBVElDNTcgICAgICAgICAgICAgICAgICAgIDEwNDAKKyNkZWZp
bmUgSURDX0pTQ19IRUFQX1NJWkUgICAgICAgICAgICAgICAxMDQxCisjZGVmaW5lIElEQ19KU0Nf
SEVBUF9GUkVFICAgICAgICAgICAgICAgMTA0MgorI2RlZmluZSBJRENfQlVUVE9ONSAgICAgICAg
ICAgICAgICAgICAgIDEwNDMKKyNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUyAgICAgICAg
ICAxMDQ0CisjZGVmaW5lIElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMgICAgICAgMTA0NQorI2Rl
ZmluZSBJRENfR0xZUEhfUEFHRVMgICAgICAgICAgICAgICAgIDEwNDYKKyNkZWZpbmUgSURDX1BB
R0VfVVJMX01BUFBJTkdTICAgICAgICAgICAxMDQ3CisjZGVmaW5lIElEQ19SRVRBSU5FRF9QQUdF
X1VSTFMgICAgICAgICAgMTA0OAorI2RlZmluZSBJRENfU0lURV9JQ09OX1JFQ09SRFMgICAgICAg
ICAgIDEwNDkKKyNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUzUgICAgICAgICAxMDUwCisj
ZGVmaW5lIElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSAgICAgICAgMTA1MAogI2RlZmluZSBJRENf
U1RBVElDICAgICAgICAgICAgICAgICAgICAgIC0xCiAKIC8vIE5leHQgZGVmYXVsdCB2YWx1ZXMg
Zm9yIG5ldyBvYmplY3RzCkBAIC00Miw5ICs5NCw5IEBACiAjaWZkZWYgQVBTVFVESU9fSU5WT0tF
RAogI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCiAjZGVmaW5lIF9BUFNfTk9fTUZD
ICAgICAgICAgICAgICAgICAgICAgMQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUg
ICAgICAgIDEyOQorI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEzMAog
I2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDMyNzcxCi0jZGVmaW5lIF9B
UFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAwMAorI2RlZmluZSBfQVBTX05FWFRfQ09O
VFJPTF9WQUxVRSAgICAgICAgIDEwNDQKICNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAg
ICAgICAgICAxMTAKICNlbmRpZgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233906</attachid>
            <date>2014-06-26 09:15:21 -0700</date>
            <delta_ts>2014-06-26 09:18:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134318-20140626091507.patch</filename>
            <type>text/plain</type>
            <size>39688</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3MDQ0OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXaW5M
YXVuY2hlci9Db21tb24uY3BwOiBVcGRhdGUgZm9yIG5ldyBkaWFsb2cuCisgICAgICAgICogV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwOiBBZGQgc3VwcG9ydCBmb3IgV2ViQ2FjaGUKKyAgICAg
ICAgYW5kIFdlYkNvcmVTdGF0aXN0aWNzLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLmg6CisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlckxpYi5yYzoKKyAgICAgICAgVXBkYXRlIGZvciBuZXcgQ2FjaGUgRGlhbG9nLgorICAgICAg
ICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24u
cHJvcHM6IExpbmsgdG8KKyAgICAgICAgV1RGLmxpYgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oOiBVcGRhdGUKKyAgICAg
ICAgZm9yIG5ldyBEaWFsb2cuCisKIDIwMTQtMDYtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gdW5kbyBncm91cCBmb3IgZWFjaCBkaWN0
YXRlZCB1dHRlcmFuY2UgaW4gV2ViS2l0CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9Db21tb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAJKHJldmlzaW9u
IDE3MDQzMCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDkgKzM0LDEyIEBACiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgogI2lu
Y2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKICNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZSdW5Mb29wLmg+
CisjaW5jbHVkZSA8V2ViS2l0L0NGRGljdGlvbmFyeVByb3BlcnR5QmFnLmg+CiAjZW5kaWYKIAog
I2luY2x1ZGUgPGNhc3NlcnQ+CkBAIC02Miw3ICs2NSw2IEBAIHN0YXRpYyBjb25zdCBpbnQgbWF4
SGlzdG9yeVNpemUgPSAxMDsKIAogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJh
bWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4gSVdlYkZyYW1lUHRyOwogdHlwZWRlZiBfY29tX3B0
cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0YWJs
ZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotdHlwZWRlZiBfY29tX3B0
cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hl
UHRyOwogCiAvLyBHbG9iYWwgVmFyaWFibGVzOgogSElOU1RBTkNFIGhJbnN0OwpAQCAtNzAsNiAr
NzIsNyBAQCBIV05EIGhNYWluV25kOwogSFdORCBoVVJMQmFyV25kOwogSFdORCBoQmFja0J1dHRv
blduZDsKIEhXTkQgaEZvcndhcmRCdXR0b25XbmQ7CitIV05EIGhDYWNoZVduZDsKIFdORFBST0Mg
RGVmRWRpdFByb2MgPSBudWxscHRyOwogV05EUFJPQyBEZWZCdXR0b25Qcm9jID0gbnVsbHB0cjsK
IFdORFBST0MgRGVmV2ViS2l0UHJvYyA9IG51bGxwdHI7CkBAIC05MCw4ICs5MywxMCBAQCBMUkVT
VUxUIENBTExCQUNLIEVkaXRQcm9jKEhXTkQsIFVJTlQsIFdQCiBMUkVTVUxUIENBTExCQUNLIEJh
Y2tCdXR0b25Qcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIExSRVNVTFQgQ0FMTEJB
Q0sgRm9yd2FyZEJ1dHRvblByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBMUEFSQU0pOwogTFJFU1VM
VCBDQUxMQkFDSyBSZWxvYWRCdXR0b25Qcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsK
K0lOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIAog
c3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHVybEJTdHIpOworc3RhdGljIHZvaWQgdXBkYXRlU3Rh
dGlzdGljcyhIV05EIGhEbGcpOwogCiBzdGF0aWMgdm9pZCByZXNpemVTdWJWaWV3cygpCiB7CkBA
IC0xNTUsMTAgKzE2MCw4IEBAIHN0YXRpYyBib29sIGdldEFwcERhdGFGb2xkZXIoX2JzdHJfdCYg
ZGkKIAogc3RhdGljIGJvb2wgc2V0Q2FjaGVGb2xkZXIoKQogewotICAgIElXZWJDYWNoZVB0ciB3
ZWJDYWNoZTsKLQotICAgIEhSRVNVTFQgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9X
ZWJDYWNoZSwgMCwgX191dWlkb2Yod2ViQ2FjaGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
JndlYkNhY2hlLkdldEludGVyZmFjZVB0cigpKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCisgICAg
SVdlYkNhY2hlUHRyIHdlYkNhY2hlID0gZ1dpbkxhdW5jaGVyLT53ZWJDYWNoZSgpOworICAgIGlm
ICghd2ViQ2FjaGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIF9ic3RyX3QgYXBwRGF0
YUZvbGRlcjsKQEAgLTM3OSw2ICszODIsMTIgQEAgTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKEhX
TkQgaFduZCwgVUlOVAogICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKICAgICAgICAgICAg
ICAgICBnV2luTGF1bmNoZXItPmxhdW5jaEluc3BlY3RvcigpOwogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgSURNX0NBQ0hFUzoKKyAgICAgICAgICAgIGlmICghOjpJc1dpbmRvdyho
Q2FjaGVXbmQpKSB7CisgICAgICAgICAgICAgICAgaENhY2hlV25kID0gQ3JlYXRlRGlhbG9nKGhJ
bnN0LCBNQUtFSU5UUkVTT1VSQ0UoSUREX0NBQ0hFUyksIGhXbmQsIENhY2hlcyk7CisgICAgICAg
ICAgICAgICAgOjpTaG93V2luZG93KGhDYWNoZVduZCwgU1dfU0hPVyk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9CQUNLV0FSRDoK
ICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9GT1JXQVJEOgogICAgICAgICAgICAgaWYgKGdXaW5M
YXVuY2hlcikKQEAgLTQ3Niw2ICs0ODUsMzUgQEAgSU5UX1BUUiBDQUxMQkFDSyBBYm91dChIV05E
IGhEbGcsIFVJTlQgbQogICAgIHJldHVybiAoSU5UX1BUUilGQUxTRTsKIH0KIAorSU5UX1BUUiBD
QUxMQkFDSyBDYWNoZXMoSFdORCBoRGxnLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0pCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihsUGFyYW0pOworICAg
IHN3aXRjaCAobWVzc2FnZSkgeworICAgIGNhc2UgV01fSU5JVERJQUxPRzoKKyAgICAgICAgOjpT
ZXRUaW1lcihoRGxnLCBJRFRfVVBEQVRFX1NUQVRTLCAxMDAwLCBudWxscHRyKTsKKyAgICAgICAg
cmV0dXJuIChJTlRfUFRSKVRSVUU7CisKKyAgICBjYXNlIFdNX0NPTU1BTkQ6CisgICAgICAgIGlm
IChMT1dPUkQod1BhcmFtKSA9PSBJRE9LIHx8IExPV09SRCh3UGFyYW0pID09IElEQ0FOQ0VMKSB7
CisgICAgICAgICAgICA6OktpbGxUaW1lcihoRGxnLCBJRFRfVVBEQVRFX1NUQVRTKTsKKyAgICAg
ICAgICAgIDo6RGVzdHJveVdpbmRvdyhoRGxnKTsKKyAgICAgICAgICAgIGhDYWNoZVduZCA9IDA7
CisgICAgICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKworICAgIGNhc2UgSURUX1VQREFURV9TVEFUUzoKKyAgICAgICAgOjpJbnZhbGlkYXRl
UmVjdChoRGxnLCBudWxscHRyLCBGQUxTRSk7CisgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVF
OworCisgICAgY2FzZSBXTV9QQUlOVDoKKyAgICAgICAgdXBkYXRlU3RhdGlzdGljcyhoRGxnKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIChJTlRfUFRSKUZBTFNFOworfQor
CiBzdGF0aWMgdm9pZCBsb2FkVVJMKEJTVFIgcGFzc2VkVVJMKQogewogICAgIGlmIChGQUlMRUQo
Z1dpbkxhdW5jaGVyLT5sb2FkVVJMKHBhc3NlZFVSTCkpKQpAQCAtNDg0LDYgKzUyMiwxNjcgQEAg
c3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHBhc3NlZFVSTCkKICAgICBTZXRGb2N1cyhnVmlld1dp
bmRvdyk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQg
ZmllbGQsIF9ic3RyX3QgdmFsdWUpCit7CisgICAgOjpTZXREbGdJdGVtVGV4dChkaWFsb2csIGZp
ZWxkLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2cs
IFVJTlQgZmllbGQsIFVJTlQgdmFsdWUpCit7CisgICAgU3RyaW5nIHZhbHVlU3RyID0gV1RGOjpT
dHJpbmc6Om51bWJlcih2YWx1ZSk7CisKKyAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgZmllbGQs
IF9ic3RyX3QodmFsdWVTdHIudXRmOCgpLmRhdGEoKSkpOworfQorCit0eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElQcm9wZXJ0eUJhZywgJl9fdXVpZG9mKElQcm9wZXJ0eUJhZyk+PiBJUHJv
cGVydHlCYWdQdHI7CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJ
TlQgZmllbGQsIElQcm9wZXJ0eUJhZ1B0ciBzdGF0aXN0aWNzLCBjb25zdCBfYnN0cl90JiBrZXkp
Cit7CisgICAgVkFSSUFOVCB2YXI7CisgICAgOjpWYXJpYW50SW5pdCgmdmFyKTsKKyAgICBWX1ZU
KCZ2YXIpID0gVlRfVUk4OworICAgIGlmIChGQUlMRUQoc3RhdGlzdGljcy0+UmVhZChrZXksICZ2
YXIsIDApKSkgeworICAgICAgICA6OlZhcmlhbnRDbGVhcigmdmFyKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSA9IFZfVUk4KCZ2YXIpOwor
ICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUpOworCisgICAg
c2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5kYXRh
KCkpKTsKKyAgICA6OlZhcmlhbnRDbGVhcigmdmFyKTsKK30KKworc3RhdGljIHZvaWQgc2V0V2lu
ZG93VGV4dChIV05EIGRpYWxvZywgVUlOVCBmaWVsZCwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25h
cnksIENGU3RyaW5nUmVmIGtleSwgVUlOVCYgdG90YWwpCit7CisgICAgQ0ZOdW1iZXJSZWYgY291
bnROdW0gPSBzdGF0aWNfY2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGlj
dGlvbmFyeSwga2V5KSk7CisgICAgaWYgKCFjb3VudE51bSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50IGNvdW50ID0gMDsKKyAgICBDRk51bWJlckdldFZhbHVlKGNvdW50TnVtLCBrQ0ZOdW1i
ZXJJbnRUeXBlLCAmY291bnQpOworCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBz
dGF0aWNfY2FzdDxVSU5UPihjb3VudCkpOworICAgIHRvdGFsICs9IGNvdW50OworfQorCitzdGF0
aWMgdm9pZCB1cGRhdGVTdGF0aXN0aWNzKEhXTkQgZGlhbG9nKQoreworICAgIGlmICghZ1dpbkxh
dW5jaGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgd2Vi
Q29yZVN0YXRpc3RpY3MgPSBnV2luTGF1bmNoZXItPnN0YXRpc3RpY3MoKTsKKyAgICBpZiAoIXdl
YkNvcmVTdGF0aXN0aWNzKQorICAgICAgICByZXR1cm47CisKKyAgICBJUHJvcGVydHlCYWdQdHIg
c3RhdGlzdGljczsKKyAgICBIUkVTVUxUIGhyID0gd2ViQ29yZVN0YXRpc3RpY3MtPm1lbW9yeVN0
YXRpc3RpY3MoJnN0YXRpc3RpY3MuR2V0SW50ZXJmYWNlUHRyKCkpOworICAgIGlmIChGQUlMRUQo
aHIpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBGYXN0TWFsbG9jCisgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19SRVNFUlZFRF9WTSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NSZXNl
cnZlZFZNQnl0ZXMiKTsKKyAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NPTU1JVFRFRF9W
TSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NDb21taXR0ZWRWTUJ5dGVzIik7CisgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19GUkVFX0xJU1RfQllURVMsIHN0YXRpc3RpY3MsICJGYXN0TWFs
bG9jRnJlZUxpc3RCeXRlcyIpOworCisgICAgLy8gV2ViQ29yZSBDYWNoZQorI2lmIFVTRShDRikK
KyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUgPSBnV2luTGF1bmNoZXItPndlYkNhY2hlKCk7CisK
KyAgICBpbnQgZGljdENvdW50ID0gNjsKKyAgICBJUHJvcGVydHlCYWcqIGNhY2hlRGljdFs2XSA9
IHsgMCB9OworICAgIGlmIChGQUlMRUQod2ViQ2FjaGUtPnN0YXRpc3RpY3MoJmRpY3RDb3VudCwg
Y2FjaGVEaWN0KSkpCisgICAgICAgIHJldHVybjsKKworICAgIENPTVB0cjxDRkRpY3Rpb25hcnlQ
cm9wZXJ0eUJhZz4gY291bnRzLCBzaXplcywgbGl2ZVNpemVzLCBkZWNvZGVkU2l6ZXMsIHB1cmdh
YmxlU2l6ZXM7CisgICAgY291bnRzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9u
YXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbMF0pKTsKKyAgICBzaXplcy5hZG9wdFJlZihyZWlu
dGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzFdKSk7Cisg
ICAgbGl2ZVNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVy
dHlCYWcqPihjYWNoZURpY3RbMl0pKTsKKyAgICBkZWNvZGVkU2l6ZXMuYWRvcHRSZWYocmVpbnRl
cnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+KGNhY2hlRGljdFszXSkpOworICAg
IHB1cmdhYmxlU2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9w
ZXJ0eUJhZyo+KGNhY2hlRGljdFs0XSkpOworCisgICAgc3RhdGljIENGU3RyaW5nUmVmIGltYWdl
c0tleSA9IENGU1RSKCJpbWFnZXMiKTsKKyAgICBzdGF0aWMgQ0ZTdHJpbmdSZWYgc3R5bGVzaGVl
dHNLZXkgPSBDRlNUUigic3R5bGUgc2hlZXRzIik7CisgICAgc3RhdGljIENGU3RyaW5nUmVmIHhz
bEtleSA9IENGU1RSKCJ4c2wiKTsKKyAgICBzdGF0aWMgQ0ZTdHJpbmdSZWYgc2NyaXB0c0tleSA9
IENGU1RSKCJzY3JpcHRzIik7CisKKyAgICBpZiAoY291bnRzKSB7CisgICAgICAgIFVJTlQgdG90
YWxPYmplY3RzID0gMDsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNf
T0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbE9iamVj
dHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NTU19PQkpFQ1RfQ09VTlQs
IGNvdW50cy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxPYmplY3RzKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfT0JKRUNUX0NPVU5ULCBjb3VudHMt
PmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX0pTQ19PQkpFQ1RfQ09VTlQsIGNvdW50cy0+ZGljdGlvbmFyeSgpLCBz
Y3JpcHRzS2V5LCB0b3RhbE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
SURDX1RPVEFMX09CSkVDVF9DT1VOVCwgdG90YWxPYmplY3RzKTsKKyAgICB9CisKKyAgICBpZiAo
c2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbEJ5dGVzID0gMDsKKyAgICAgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19JTUFHRVNfQllURVMsIHNpemVzLT5kaWN0aW9uYXJ5KCksIGltYWdl
c0tleSwgdG90YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NT
X0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxCeXRlcyk7
CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX0JZVEVTLCBzaXplcy0+ZGlj
dGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0pTQ19CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90
YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfQllURVMs
IHRvdGFsQnl0ZXMpOworICAgIH0KKworICAgIGlmIChsaXZlU2l6ZXMpIHsKKyAgICAgICAgVUlO
VCB0b3RhbExpdmVCeXRlcyA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
SU1BR0VTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRv
dGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfTElW
RV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9uYXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0b3RhbExp
dmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX0xJVkVfQ09V
TlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfTElWRV9DT1VOVCwgbGl2ZVNpemVz
LT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0
V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9MSVZFX0NPVU5ULCB0b3RhbExpdmVCeXRlcyk7
CisgICAgfQorCisgICAgaWYgKGRlY29kZWRTaXplcykgeworICAgICAgICBVSU5UIHRvdGFsRGVj
b2RlZCA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0RFQ09E
RURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsRGVj
b2RlZCk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX0RFQ09ERURfQ09V
TlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxEZWNv
ZGVkKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfREVDT0RFRF9DT1VO
VCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxEZWNvZGVkKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfREVDT0RFRF9DT1VOVCwgZGVjb2Rl
ZFNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfREVDT0RFRCwgdG90YWxEZWNvZGVkKTsK
KyAgICB9CisKKyAgICBpZiAocHVyZ2FibGVTaXplcykgeworICAgICAgICBVSU5UIHRvdGFsUHVy
Z2FibGUgPSAwOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19QVVJH
RUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3Rh
bFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfUFVSR0VB
QkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0
b3RhbFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfUFVS
R0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxQ
dXJnYWJsZSk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX1BVUkdFQUJM
RV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbFB1
cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9QVVJHRUFC
TEUsIHRvdGFsUHVyZ2FibGUpOworICAgIH0KKyNlbmRpZgorCisgICAgLy8gSmF2YVNjcmlwdCBI
ZWFwCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfSEVBUF9TSVpFLCBzdGF0aXN0
aWNzLCAiSmF2YVNjcmlwdEhlYXBTaXplIik7CisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElE
Q19KU0NfSEVBUF9GUkVFLCBzdGF0aXN0aWNzLCAiSmF2YVNjcmlwdEZyZWVTaXplIik7CisKKyAg
ICBVSU5UIGNvdW50OworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmphdmFT
Y3JpcHRPYmplY3RzQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNUUywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQo
d2ViQ29yZVN0YXRpc3RpY3MtPmphdmFTY3JpcHRHbG9iYWxPYmplY3RzQ291bnQoJmNvdW50KSkp
CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfR0xPQkFMX0pTQ19IRUFQX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2Ny
aXB0UHJvdGVjdGVkT2JqZWN0c0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1BST1RFQ1RFRF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7CisKKyAgICAv
LyBGb250IGFuZCBHbHlwaCBDYWNoZXMKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0
aWNzLT5jYWNoZWRGb250RGF0YUNvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUywgY291bnQpOworICAgIGlmIChTVUNDRUVE
RUQod2ViQ29yZVN0YXRpc3RpY3MtPmNhY2hlZEZvbnREYXRhSW5hY3RpdmVDb3VudCgmY291bnQp
KSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTkFDVElWRV9GT05UX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5nbHlwaFBh
Z2VDb3VudCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19HTFlQ
SF9QQUdFUywgY291bnQpOworCisgICAgLy8gU2l0ZSBJY29uIERhdGFiYXNlCisgICAgaWYgKFNV
Q0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblBhZ2VVUkxNYXBwaW5nQ291bnQoJmNvdW50
KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUEFHRV9VUkxfTUFQUElOR1Ms
IGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5pY29uUmV0YWlu
ZWRQYWdlVVJMQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJ
RENfUkVUQUlORURfUEFHRV9VUkxTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3Jl
U3RhdGlzdGljcy0+aWNvblJlY29yZENvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTl9SRUNPUkRTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvbnNXaXRoRGF0YUNvdW50KCZjb3VudCkpKQorICAg
ICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBLCBjb3Vu
dCk7Cit9CisKIGV4dGVybiAiQyIgX19kZWNsc3BlYyhkbGxleHBvcnQpIGludCBXSU5BUEkgZGxs
TGF1bmNoZXJFbnRyeVBvaW50KEhJTlNUQU5DRSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldklu
c3RhbmNlLCBMUFdTVFIgbHBzdHJDbWRMaW5lLCBpbnQgbkNtZFNob3cpCiB7CiAgICAgcmV0dXJu
IHdXaW5NYWluKGhJbnN0YW5jZSwgaFByZXZJbnN0YW5jZSwgbHBzdHJDbWRMaW5lLCBuQ21kU2hv
dyk7CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwCShyZXZpc2lvbiAxNzA0MzApCisr
KyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDcgKzUwLDYgQEAKIHN0YXRpYyBjb25zdCBpbnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKIAogdHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRv
ZihJV2ViTXV0YWJsZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotdHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUp
Pj4gSVdlYkNhY2hlUHRyOwogCiBXaW5MYXVuY2hlcjo6V2luTGF1bmNoZXIoSFdORCBtYWluV25k
LCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldykKICAgICA6IG1faE1haW5X
bmQobWFpblduZCkKQEAgLTcwLDYgKzY5LDE0IEBAIEhSRVNVTFQgV2luTGF1bmNoZXI6OmluaXQo
KQogICAgICAgICByZXR1cm4gaHI7CiAKICAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENM
U0lEX1dlYkhpc3RvcnksIDAsIF9fdXVpZG9mKG1fd2ViSGlzdG9yeSksIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCoqPigmbV93ZWJIaXN0b3J5LkdldEludGVyZmFjZVB0cigpKSk7CisgICAgaWYgKEZB
SUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKworICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5z
dGFuY2UoQ0xTSURfV2ViQ29yZVN0YXRpc3RpY3MsIDAsIF9fdXVpZG9mKG1fc3RhdGlzdGljcyks
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbV9zdGF0aXN0aWNzLkdldEludGVyZmFjZVB0cigp
KSk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKworICAgIGhyID0g
V2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURfV2ViQ2FjaGUsIDAsIF9fdXVpZG9mKG1fd2ViQ2Fj
aGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViQ2FjaGUuR2V0SW50ZXJmYWNlUHRy
KCkpKTsKIAogICAgIHJldHVybiBocjsKIH0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAko
cmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNDIgKzI2LDQ1IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5o
Pg0KICNpbmNsdWRlIDx2ZWN0b3I+DQogDQotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViRnJhbWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4gSVdlYkZyYW1lUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViVmlldywgJl9fdXVpZG9mKElXZWJWaWV3KT4+IElXZWJW
aWV3UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViVmlld1ByaXZhdGUsICZf
X3V1aWRvZihJV2ViVmlld1ByaXZhdGUpPj4gSVdlYlZpZXdQcml2YXRlUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWVMb2FkRGVsZWdhdGUsICZfX3V1aWRvZihJV2Vi
RnJhbWVMb2FkRGVsZWdhdGUpPj4gSVdlYkZyYW1lTG9hZERlbGVnYXRlUHRyOwotdHlwZWRlZiBf
Y29tX3B0cl90PF9jb21fSUlJRDxJV2ViSGlzdG9yeSwgJl9fdXVpZG9mKElXZWJIaXN0b3J5KT4+
IElXZWJIaXN0b3J5UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViSGlzdG9y
eUl0ZW0sICZfX3V1aWRvZihJV2ViSGlzdG9yeUl0ZW0pPj4gSVdlYkhpc3RvcnlJdGVtUHRyOwot
dHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUHJlZmVyZW5jZXMsICZfX3V1aWRvZihJ
V2ViUHJlZmVyZW5jZXMpPj4gSVdlYlByZWZlcmVuY2VzUHRyOwotdHlwZWRlZiBfY29tX3B0cl90
PF9jb21fSUlJRDxJV2ViUHJlZmVyZW5jZXNQcml2YXRlLCAmX191dWlkb2YoSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZSk+PiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlUHRyOwotdHlwZWRlZiBfY29tX3B0
cl90PF9jb21fSUlJRDxJV2ViVUlEZWxlZ2F0ZSwgJl9fdXVpZG9mKElXZWJVSURlbGVnYXRlKT4+
IElXZWJVSURlbGVnYXRlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJQWNjZXNz
aWJpbGl0eURlbGVnYXRlLCAmX191dWlkb2YoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSk+PiBJQWNj
ZXNzaWJpbGl0eURlbGVnYXRlUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2Vi
SW5zcGVjdG9yLCAmX191dWlkb2YoSVdlYkluc3BlY3Rvcik+PiBJV2ViSW5zcGVjdG9yUHRyOwor
dHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWUsICZfX3V1aWRvZihJV2ViRnJh
bWUpPj4gSVdlYkZyYW1lUHRyOw0KK3R5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlZp
ZXcsICZfX3V1aWRvZihJV2ViVmlldyk+PiBJV2ViVmlld1B0cjsNCit0eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJWaWV3UHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJWaWV3UHJpdmF0ZSk+
PiBJV2ViVmlld1ByaXZhdGVQdHI7DQordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2Vi
RnJhbWVMb2FkRGVsZWdhdGUsICZfX3V1aWRvZihJV2ViRnJhbWVMb2FkRGVsZWdhdGUpPj4gSVdl
YkZyYW1lTG9hZERlbGVnYXRlUHRyOw0KK3R5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdl
Ykhpc3RvcnksICZfX3V1aWRvZihJV2ViSGlzdG9yeSk+PiBJV2ViSGlzdG9yeVB0cjsNCit0eXBl
ZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJIaXN0b3J5SXRlbSwgJl9fdXVpZG9mKElXZWJI
aXN0b3J5SXRlbSk+PiBJV2ViSGlzdG9yeUl0ZW1QdHI7DQordHlwZWRlZiBfY29tX3B0cl90PF9j
b21fSUlJRDxJV2ViUHJlZmVyZW5jZXMsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXMpPj4gSVdl
YlByZWZlcmVuY2VzUHRyOw0KK3R5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlByZWZl
cmVuY2VzUHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJQcmVmZXJlbmNlc1ByaXZhdGUpPj4gSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZVB0cjsNCit0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJV
SURlbGVnYXRlLCAmX191dWlkb2YoSVdlYlVJRGVsZWdhdGUpPj4gSVdlYlVJRGVsZWdhdGVQdHI7
DQordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJQWNjZXNzaWJpbGl0eURlbGVnYXRlLCAm
X191dWlkb2YoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSk+PiBJQWNjZXNzaWJpbGl0eURlbGVnYXRl
UHRyOw0KK3R5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkluc3BlY3RvciwgJl9fdXVp
ZG9mKElXZWJJbnNwZWN0b3IpPj4gSVdlYkluc3BlY3RvclB0cjsNCit0eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElXZWJDb3JlU3RhdGlzdGljcywgJl9fdXVpZG9mKElXZWJDb3JlU3RhdGlz
dGljcyk+PiBJV2ViQ29yZVN0YXRpc3RpY3NQdHI7DQordHlwZWRlZiBfY29tX3B0cl90PF9jb21f
SUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hlUHRyOw0KIA0K
LWNsYXNzIFdpbkxhdW5jaGVyDQotew0KK2NsYXNzIFdpbkxhdW5jaGVyIHsNCiBwdWJsaWM6DQog
ICAgIFdpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNlTGF5
ZXJlZFdlYlZpZXcgPSBmYWxzZSk7DQogDQogICAgIEhSRVNVTFQgaW5pdCgpOw0KICAgICBIUkVT
VUxUIHByZXBhcmVWaWV3cyhIV05EIG1haW5XbmQsIGNvbnN0IFJFQ1QmIGNsaWVudFJlY3QsIGNv
bnN0IEJTVFImIHJlcXVlc3RlZFVSTCwgSFdORCYgdmlld1duZCk7DQogDQotICAgIEhSRVNVTFQg
bG9hZFVSTChjb25zdCBCU1RSJiBwYXNzZWRVUkwpOworICAgIEhSRVNVTFQgbG9hZFVSTChjb25z
dCBCU1RSJiBwYXNzZWRVUkwpOw0KIA0KLSAgICB2b2lkIHNob3dMYXN0VmlzaXRlZFNpdGVzKElX
ZWJWaWV3JiB3ZWJWaWV3KTsNCisgICAgdm9pZCBzaG93TGFzdFZpc2l0ZWRTaXRlcyhJV2ViVmll
dyYpOw0KICAgICB2b2lkIGxhdW5jaEluc3BlY3RvcigpOw0KICAgICB2b2lkIG5hdmlnYXRlRm9y
d2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7DQotICAgIHZvaWQgbmF2aWdh
dGVUb0hpc3RvcnkoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7CisgICAgdm9pZCBuYXZpZ2F0ZVRv
SGlzdG9yeShIV05EIGhXbmQsIFVJTlQgbWVudUlEKTsNCiAgICAgYm9vbCBzZWVkSW5pdGlhbERl
ZmF1bHRQcmVmZXJlbmNlcygpOw0KICAgICBib29sIHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCk7
DQogDQogICAgIEhSRVNVTFQgc2V0RnJhbWVMb2FkRGVsZWdhdGUoSVdlYkZyYW1lTG9hZERlbGVn
YXRlKik7DQotICAgIEhSRVNVTFQgc2V0VUlEZWxlZ2F0ZShJV2ViVUlEZWxlZ2F0ZSopOwotICAg
IEhSRVNVTFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUq
KTsKLQotICAgIElXZWJQcmVmZXJlbmNlc1B0ciBzdGFuZGFyZFByZWZlcmVuY2VzKCkgeyByZXR1
cm4gbV9zdGFuZGFyZFByZWZlcmVuY2VzOyAgfQotICAgIElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQ
dHIgcHJpdmF0ZVByZWZlcmVuY2VzKCkgeyByZXR1cm4gbV9wcmVmc1ByaXZhdGU7IH0KLSAgICBJ
V2ViRnJhbWVQdHIgbWFpbkZyYW1lKCk7CisgICAgSFJFU1VMVCBzZXRVSURlbGVnYXRlKElXZWJV
SURlbGVnYXRlKik7DQorICAgIEhSRVNVTFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nl
c3NpYmlsaXR5RGVsZWdhdGUqKTsNCisNCisgICAgSVdlYlByZWZlcmVuY2VzUHRyIHN0YW5kYXJk
UHJlZmVyZW5jZXMoKSB7IHJldHVybiBtX3N0YW5kYXJkUHJlZmVyZW5jZXM7ICB9DQorICAgIElX
ZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHIgcHJpdmF0ZVByZWZlcmVuY2VzKCkgeyByZXR1cm4gbV9w
cmVmc1ByaXZhdGU7IH0NCisgICAgSVdlYkZyYW1lUHRyIG1haW5GcmFtZSgpOw0KKyAgICBJV2Vi
Q29yZVN0YXRpc3RpY3NQdHIgc3RhdGlzdGljcygpIHsgcmV0dXJuIG1fc3RhdGlzdGljczsgfQ0K
KyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUoKSB7IHJldHVybiBtX3dlYkNhY2hlOyAgfQ0KIA0K
ICAgICBib29sIGhhc1dlYlZpZXcoKSBjb25zdCB7IHJldHVybiAhIW1fd2ViVmlldzsgfQ0KICAg
ICBib29sIHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGF5ZXJlZFdl
YlZpZXc7IH0NCkBAIC02OSwyMiArNzIsMjUgQEAgcHVibGljOgogICAgIGJvb2wgZ29Gb3J3YXJk
KCk7DQogDQogcHJpdmF0ZToNCi0gICAgc3RkOjp2ZWN0b3I8SVdlYkhpc3RvcnlJdGVtUHRyPiBt
X2hpc3RvcnlJdGVtczsKKyAgICBzdGQ6OnZlY3RvcjxJV2ViSGlzdG9yeUl0ZW1QdHI+IG1faGlz
dG9yeUl0ZW1zOw0KIA0KICAgICBJV2ViVmlld1B0ciBtX3dlYlZpZXc7DQotICAgIElXZWJWaWV3
UHJpdmF0ZVB0ciBtX3dlYlZpZXdQcml2YXRlOworICAgIElXZWJWaWV3UHJpdmF0ZVB0ciBtX3dl
YlZpZXdQcml2YXRlOw0KIA0KICAgICBJV2ViSGlzdG9yeVB0ciBtX3dlYkhpc3Rvcnk7DQogICAg
IElXZWJJbnNwZWN0b3JQdHIgbV9pbnNwZWN0b3I7DQotICAgIElXZWJQcmVmZXJlbmNlc1B0ciBt
X3N0YW5kYXJkUHJlZmVyZW5jZXM7Ci0gICAgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZVB0ciBtX3By
ZWZzUHJpdmF0ZTsKKyAgICBJV2ViUHJlZmVyZW5jZXNQdHIgbV9zdGFuZGFyZFByZWZlcmVuY2Vz
Ow0KKyAgICBJV2ViUHJlZmVyZW5jZXNQcml2YXRlUHRyIG1fcHJlZnNQcml2YXRlOw0KIA0KICAg
ICBJV2ViRnJhbWVMb2FkRGVsZWdhdGVQdHIgbV9mcmFtZUxvYWREZWxlZ2F0ZTsNCiAgICAgSVdl
YlVJRGVsZWdhdGVQdHIgbV91aURlbGVnYXRlOw0KICAgICBJQWNjZXNzaWJpbGl0eURlbGVnYXRl
UHRyIG1fYWNjZXNzaWJpbGl0eURlbGVnYXRlOw0KIA0KKyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQ
dHIgbV9zdGF0aXN0aWNzOw0KKyAgICBJV2ViQ2FjaGVQdHIgbV93ZWJDYWNoZTsNCisNCiAgICAg
SFdORCBtX2hNYWluV25kOw0KLSAgICBIV05EIG1faFVSTEJhclduZDsKKyAgICBIV05EIG1faFVS
TEJhclduZDsNCiANCiAgICAgYm9vbCBtX3VzZUxheWVyZWRXZWJWaWV3Ow0KIH07DQpJbmRleDog
VG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxh
dW5jaGVyTGliLnJjCShyZXZpc2lvbiAxNzA0MzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3
MCArMSwyNzkgQEAKLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCByZXNvdXJjZSBz
Y3JpcHQuCi0vLwotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaCIKLQotI2RlZmlu
ZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8v
IEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLgotLy8KLSNkZWZpbmUg
QVBTVFVESU9fSElEREVOX1NZTUJPTFMKLSNpbmNsdWRlICJ3aW5kb3dzLmgiCi0jdW5kZWYgQVBT
VFVESU9fSElEREVOX1NZTUJPTFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSN1bmRlZiBBUFNU
VURJT19SRUFET05MWV9TWU1CT0xTCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLyBFbmdsaXNo
IChVLlMuKSByZXNvdXJjZXMKLQotI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRl
ZmluZWQoQUZYX1RBUkdfRU5VKQotI2lmZGVmIF9XSU4zMgotTEFOR1VBR0UgTEFOR19FTkdMSVNI
LCBTVUJMQU5HX0VOR0xJU0hfVVMKLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCi0jZW5kaWYgLy9f
V0lOMzIKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBJY29uCi0vLwotCi0vLyBJY29u
IHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUgYXBwbGljYXRpb24g
aWNvbgotLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLgotSURJX1dJTkxBVU5D
SEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5jaGVyLmljbyIKLUlE
SV9TTUFMTCAgICAgICAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJzbWFsbC5pY28i
Ci0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gTWVudQotLy8KLQotSURDX1dJTkxBVU5D
SEVSIE1FTlUgCi1CRUdJTgotICAgIFBPUFVQICImRmlsZSIKLSAgICBCRUdJTgotICAgICAgICBN
RU5VSVRFTSAiJlByaW50XHRDdHJsLVAiLCAgICAgICAgICAgICAgSURNX1BSSU5UCi0gICAgICAg
IE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fRVhJVAotICAgIEVO
RAotICAgIFBPUFVQICImSGlzdG9yeSIKLSAgICBCRUdJTgotICAgICAgICBNRU5VSVRFTSAiQmFj
ayIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllfQkFDS1dBUkQKLSAgICAgICAg
TUVOVUlURU0gIkZvcndhcmQiLCAgICAgICAgICAgICAgICAgICAgIElETV9ISVNUT1JZX0ZPUldB
UkQKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQg
SGlzdG9yeSAwIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMAotICAgICAgICBNRU5VSVRF
TSAiVW51c2VkIEhpc3RvcnkgMSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzEKLSAgICAg
ICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJ
TksyCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAzIiwgICAgICAgICAgICBJRE1f
SElTVE9SWV9MSU5LMwotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNCIsICAgICAg
ICAgICAgSURNX0hJU1RPUllfTElOSzQKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5
IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1Ci0gICAgICAgIE1FTlVJVEVNICJVbnVz
ZWQgSGlzdG9yeSA2IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNgotICAgICAgICBNRU5V
SVRFTSAiVW51c2VkIEhpc3RvcnkgNyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzcKLSAg
ICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDgiLCAgICAgICAgICAgIElETV9ISVNUT1JZ
X0xJTks4Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA5IiwgICAgICAgICAgICBJ
RE1fSElTVE9SWV9MSU5LOQotICAgIEVORAotICAgIFBPUFVQICJEJmV2ZWxvcCIKLSAgICBCRUdJ
TgotICAgICAgICBNRU5VSVRFTSAiU2hvdyBXZWIgSW5zcGVjdG9yIiwgICAgICAgICAgSURNX1dF
Ql9JTlNQRUNUT1IKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAgICAgIE1FTlVJVEVN
ICJEaXNhYmxlIEltYWdlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9JTUFHRVMKLSAgICAg
ICAgTUVOVUlURU0gIkRpc2FibGUgU3R5bGVzIiwgICAgICAgICAgICAgIElETV9ESVNBQkxFX1NU
WUxFUwotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBKYXZhU2NyaXB0IiwgICAgICAgICAgSURN
X0RJU0FCTEVfSkFWQVNDUklQVAotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBMb2NhbCBGaWxl
IFJlc3RyaWN0aW9ucyIsIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05TCi0gICAg
RU5ECi0gICAgUE9QVVAgIiZIZWxwIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICImQWJv
dXQgLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fQUJPVVQKLSAgICBFTkQKLSAgICBQT1BVUCAi
JkRlYnVnIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICJVc2UgQVZGb3VuZGF0aW9uIiwg
ICAgICAgICAgICBJRE1fQVZGT1VOREFUSU9OLCBDSEVDS0VECi0gICAgICAgIE1FTlVJVEVNICJV
c2UgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCBJRE1fQUNDX0NPTVBPU0lUSU5HLCBDSEVDS0VE
Ci0gICAgICAgIE1FTlVJVEVNICJFbmFibGUgV2ViS2l0IEZ1bGwgU2NyZWVuIiwgICBJRE1fV0tf
RlVMTFNDUkVFTiwgQ0hFQ0tFRAotICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKLSAgICAgICAg
TUVOVUlURU0gIlNob3cgQ29tcG9zaXRpbmcgQm9yZGVycyIsICAgIElETV9DT01QT1NJVElOR19C
T1JERVJTCi0gICAgRU5ECi1FTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIEFj
Y2VsZXJhdG9yCi0vLwotCi1JRENfV0lOTEFVTkNIRVIgQUNDRUxFUkFUT1JTIAotQkVHSU4KLSAg
ICAiPyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVNDSUksICBBTFQKLSAg
ICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVNDSUksICBBTFQKLUVO
RAotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gRGlhbG9nCi0vLwotCi1JRERfQUJP
VVRCT1ggRElBTE9HRVggMjIsIDE3LCAyMzAsIDc1Ci1TVFlMRSBEU19TRVRGT05UIHwgRFNfTU9E
QUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1DQVBUSU9OICJBYm91dCIKLUZPTlQg
OCwgIlN5c3RlbSIsIDAsIDAsIDB4MAotQkVHSU4KLSAgICBJQ09OICAgICAgICAgICAgSURJX1dJ
TkxBVU5DSEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMAotICAgIExURVhUICAgICAgICAgICAiV2lu
TGF1bmNoZXIgVmVyc2lvbiAxLjIiLElEQ19TVEFUSUMsNDksMTAsMTE5LDgsU1NfTk9QUkVGSVgK
LSAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdodCAoQykgMjAwOSIsSURDX1NUQVRJQyw0OSwy
MCwxMTksOAotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYsMzAsMTEsV1NfR1JP
VVAKLUVORAotCi0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwotLy8KLS8vIFRFWFRJTkNMVURFCi0vLwotCi0xIFRFWFRJTkNMVURFIAotQkVHSU4KLSAgICAi
V2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAiCi1FTkQKLQotMiBURVhUSU5DTFVERSAKLUJFR0lO
Ci0gICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIgotICAgICIjaW5jbHVk
ZSAiIndpbmRvd3MuaCIiXHJcbiIKLSAgICAiI3VuZGVmIEFQU1RVRElPX0hJRERFTl9TWU1CT0xT
XHJcbiIKLSAgICAiXDAiCi1FTkQKLQotMyBURVhUSU5DTFVERSAKLUJFR0lOCi0gICAgIlxyXG4i
Ci0gICAgIlwwIgotRU5ECi0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECi0KLQotLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBTdHJpbmcgVGFibGUKLS8vCi0KLVNUUklOR1RBQkxF
IAotQkVHSU4KLSAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1bmNoZXIiCi0gICAg
SURDX1dJTkxBVU5DSEVSICAgICAgICAgIldJTkxBVU5DSEVSIgotRU5ECi0KLSNlbmRpZiAgICAv
LyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLQotCi0j
aWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2Vu
ZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi0vLwotCi0KLS8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKLQorLy8gTWlj
cm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4NCisvLw0KKyNpbmNs
dWRlICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiDQorDQorI2RlZmluZSBBUFNUVURJT19SRUFE
T05MWV9TWU1CT0xTDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIEdlbmVyYXRlZCBm
cm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLg0KKy8vDQorI2RlZmluZSBBUFNUVURJT19I
SURERU5fU1lNQk9MUw0KKyNpbmNsdWRlICJ3aW5kb3dzLmgiDQorI3VuZGVmIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisjdW5kZWYgQVBTVFVESU9f
UkVBRE9OTFlfU1lNQk9MUw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8gRW5nbGlzaCAo
VW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorDQorI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9E
TEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQ0KK0xBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VC
TEFOR19FTkdMSVNIX1VTDQorI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikNCisNCisvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLw0KKy8vDQorLy8gSWNvbg0KKy8vDQorDQorLy8gSWNvbiB3aXRoIGxvd2VzdCBJ
RCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGljb24NCisvLyByZW1h
aW5zIGNvbnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuDQorSURJX1dJTkxBVU5DSEVSICAgICAgICAg
SUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5jaGVyLmljbyINCitJRElfU01BTEwgICAg
ICAgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAic21hbGwuaWNvIg0KKw0KKy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBNZW51DQorLy8NCisNCitJRENfV0lOTEFVTkNIRVIg
TUVOVQ0KK0JFR0lODQorICAgIFBPUFVQICImRmlsZSINCisgICAgQkVHSU4NCisgICAgICAgIE1F
TlVJVEVNICImUHJpbnRcdEN0cmwtUCIsICAgICAgICAgICAgICBJRE1fUFJJTlQNCisgICAgICAg
IE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fRVhJVA0KKyAgICBF
TkQNCisgICAgUE9QVVAgIiZIaXN0b3J5Ig0KKyAgICBCRUdJTg0KKyAgICAgICAgTUVOVUlURU0g
IkJhY2siLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9ISVNUT1JZX0JBQ0tXQVJEDQorICAg
ICAgICBNRU5VSVRFTSAiRm9yd2FyZCIsICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllf
Rk9SV0FSRA0KKyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAi
VW51c2VkIEhpc3RvcnkgMCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzANCisgICAgICAg
IE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAxIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5L
MQ0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAgICAgICAgIElETV9I
SVNUT1JZX0xJTksyDQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMyIsICAgICAg
ICAgICAgSURNX0hJU1RPUllfTElOSzMNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9y
eSA0IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNA0KKyAgICAgICAgTUVOVUlURU0gIlVu
dXNlZCBIaXN0b3J5IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1DQorICAgICAgICBN
RU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNiIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzYN
CisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA3IiwgICAgICAgICAgICBJRE1fSElT
VE9SWV9MSU5LNw0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDgiLCAgICAgICAg
ICAgIElETV9ISVNUT1JZX0xJTks4DQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rvcnkg
OSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzkNCisgICAgRU5EDQorICAgIFBPUFVQICJE
JmV2ZWxvcCINCisgICAgQkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJTaG93IFdlYiBJbnNwZWN0
b3IiLCAgICAgICAgICBJRE1fV0VCX0lOU1BFQ1RPUg0KKyAgICAgICAgTUVOVUlURU0gU0VQQVJB
VE9SDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBJbWFnZXMiLCAgICAgICAgICAgICAgSURN
X0RJU0FCTEVfSU1BR0VTDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBTdHlsZXMiLCAgICAg
ICAgICAgICAgSURNX0RJU0FCTEVfU1RZTEVTDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBK
YXZhU2NyaXB0IiwgICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVA0KKyAgICAgICAgTUVO
VUlURU0gIkRpc2FibGUgTG9jYWwgRmlsZSBSZXN0cmljdGlvbnMiLCBJRE1fRElTQUJMRV9MT0NB
TF9GSUxFX1JFU1RSSUNUSU9OUw0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZIZWxwIg0KKyAgICBC
RUdJTg0KKyAgICAgICAgTUVOVUlURU0gIiZBYm91dCAuLi4iLCAgICAgICAgICAgICAgICAgIElE
TV9BQk9VVA0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZEZWJ1ZyINCisgICAgQkVHSU4NCisgICAg
ICAgIE1FTlVJVEVNICJVc2UgQVZGb3VuZGF0aW9uIiwgICAgICAgICAgICBJRE1fQVZGT1VOREFU
SU9OLCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSAiVXNlIEFjY2VsZXJhdGVkIENvbXBvc2l0
aW5nIiwgSURNX0FDQ19DT01QT1NJVElORywgQ0hFQ0tFRA0KKyAgICAgICAgTUVOVUlURU0gIkVu
YWJsZSBXZWJLaXQgRnVsbCBTY3JlZW4iLCAgIElETV9XS19GVUxMU0NSRUVOLCBDSEVDS0VEDQor
ICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCisgICAgICAgIE1FTlVJVEVNICJTaG93IENvbXBv
c2l0aW5nIEJvcmRlcnMiLCAgICBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUw0KKyAgICAgICAgTUVO
VUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAiU2hvdyBDYWNoZXMgV2luZG93Iiwg
ICAgICAgICAgSURNX0NBQ0hFUw0KKyAgICBFTkQNCitFTkQNCisNCisNCisvLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLw0KKy8vDQorLy8gQWNjZWxlcmF0b3INCisvLw0KKw0KK0lEQ19XSU5MQVVOQ0hFUiBB
Q0NFTEVSQVRPUlMNCitCRUdJTg0KKyAgICAiPyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAg
ICAgICAgICAgQVNDSUksICBBTFQNCisgICAgIi8iLCAgICAgICAgICAgIElETV9BQk9VVCwgICAg
ICAgICAgICAgIEFTQ0lJLCAgQUxUDQorRU5EDQorDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8N
CisvLw0KKy8vIERpYWxvZw0KKy8vDQorDQorSUREX0FCT1VUQk9YIERJQUxPR0VYIDIyLCAxNywg
MjMwLCA3NQ0KK1NUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8
IFdTX1NZU01FTlUNCitDQVBUSU9OICJBYm91dCINCitGT05UIDgsICJTeXN0ZW0iLCAwLCAwLCAw
eDANCitCRUdJTg0KKyAgICBJQ09OICAgICAgICAgICAgSURJX1dJTkxBVU5DSEVSLElEQ19NWUlD
T04sMTQsOSwyMCwyMA0KKyAgICBMVEVYVCAgICAgICAgICAgIldpbkxhdW5jaGVyIFZlcnNpb24g
MS4zIixJRENfU1RBVElDLDQ5LDEwLDExOSw4LFNTX05PUFJFRklYDQorICAgIExURVhUICAgICAg
ICAgICAiQ29weXJpZ2h0IChDKSAyMDE0IixJRENfU1RBVElDLDQ5LDIwLDExOSw4DQorICAgIERF
RlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYsMzAsMTEsV1NfR1JPVVANCitFTkQNCisNCitJ
RERfQ0FDSEVTIERJQUxPR0VYIDAsIDAsIDQwMSwgNDU2DQorU1RZTEUgRFNfU0VURk9OVCB8IERT
X01PREFMRlJBTUUgfCBEU19GSVhFRFNZUyB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZ
U01FTlUNCitDQVBUSU9OICJEaWFsb2ciDQorRk9OVCA4LCAiTVMgU2hlbGwgRGxnIiwgNDAwLCAw
LCAweDENCitCRUdJTg0KKyAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDI4Nyw0MzUsNTAs
MTQNCisgICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWwiLElEQ0FOQ0VMLDM0NCw0MzUsNTAsMTQN
CisgICAgR1JPVVBCT1ggICAgICAgICJGYXN0TWFsbG9jIixJRENfU1RBVElDLDIwOCwxNCwxODYs
NjcNCisgICAgR1JPVVBCT1ggICAgICAgICJXZWJDb3JlIENhY2hlIixJRENfU1RBVElDLDE3LDgz
LDM3NiwxMDUNCisgICAgR1JPVVBCT1ggICAgICAgICJKYXZhU2NyaXB0IEhlYXAiLElEQ19TVEFU
SUMsMTgsMTkzLDM3NiwxNjgNCisgICAgR1JPVVBCT1ggICAgICAgICJTaXRlIEljb24gRGF0YWJh
c2UiLElEQ19TVEFUSUMsMTgsMzY2LDE0Miw2NQ0KKyAgICBHUk9VUEJPWCAgICAgICAgIkZvbnQg
YW5kIEdseXBoIENhY2hlcyIsSURDX1NUQVRJQywxNjgsMzY2LDIyNiw2Ng0KKyAgICBHUk9VUEJP
WCAgICAgICAgIkNGVVJMQ2FjaGUiLElEQ19TVEFUSUMsNywxNCwxOTcsNjcNCisgICAgUFVTSEJV
VFRPTiAgICAgICJFbXB0eSBVUkxDYWNoZSIsSURDX0VNUFRZX1VSTF9DQUNIRSwxMzEsNjMsNjks
MTQsV1NfRElTQUJMRUQNCisgICAgUFVTSEJVVFRPTiAgICAgICJSZXR1cm4gRnJlZSBNZW1vcnki
LElEQ19SRVRVUk5fRlJFRV9NRU1PUlksMzA4LDYzLDc2LDE0LFdTX0RJU0FCTEVEDQorICAgIFBV
U0hCVVRUT04gICAgICAiRW1wdHkgV2ViQ29yZSBDYWNoZSIsSURDX0VNUFRZX1dFQkNPUkVfQ0FD
SEUsMjEsMTcwLDgzLDE0LFdTX0RJU0FCTEVEDQorICAgIENPTlRST0wgICAgICAgICAiRGlzYWJs
ZSBXZWJDb3JlIENhY2hlIixJRENfQ0hFQ0sxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdT
X0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTksMTcyLDkzLDEwDQorICAgIFBVU0hCVVRUT04gICAg
ICAiR2FyYmFnZSBDb2xsZWN0IEphdmFTY3JpcHQgT2JqZWN0cyIsSURDX0dDX0pTQywyNTMsMzQz
LDEzNSwxNCxXU19ESVNBQkxFRA0KKyAgICBSVEVYVCAgICAgICAgICAgIlJlc2VydmVkIFZNIixJ
RENfU1RBVElDLDIxMiwyNiw2Nyw5DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1JFU0VS
VkVEX1ZNLDI5MCwyNiw5NCw4DQorICAgIFJURVhUICAgICAgICAgICAiQ29tbWl0dGVkIFZNIixJ
RENfU1RBVElDLDIxMSwzOSw2Nyw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NPTU1J
VFRFRF9WTSwyOTAsMzksOTQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkZyZWUgTGlzdCBCeXRl
cyIsSURDX1NUQVRJQywyMTEsNTIsNjcsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19G
UkVFX0xJU1RfQllURVMsMjkwLDUyLDk0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJJbWFnZXMi
LElEQ19TVEFUSUMsMzcsMTA2LDI0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJDU1MiLElEQ19T
VEFUSUMsNDcsMTE2LDE0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJYU0wiLElEQ19TVEFUSUMs
NDksMTI2LDEyLDgNCisgICAgUlRFWFQgICAgICAgICAgICJKYXZhU2NyaXB0IixJRENfU1RBVElD
LDI3LDEzNSwzNCw4DQorICAgIFJURVhUICAgICAgICAgICAiVG90YWwiLElEQ19TVEFUSUMsNDMs
MTQ2LDE3LDgNCisgICAgTFRFWFQgICAgICAgICAgICJPYmplY3RzIixJRENfU1RBVElDLDExMSw5
NiwyNiw4DQorICAgIExURVhUICAgICAgICAgICAiQnl0ZXMiLElEQ19TVEFUSUMsMTc1LDk2LDE5
LDgNCisgICAgTFRFWFQgICAgICAgICAgICJMaXZlIixJRENfU1RBVElDLDIzMiw5NiwxNCw4DQor
ICAgIExURVhUICAgICAgICAgICAiRGVjb2RlZCIsSURDX1NUQVRJQywyODQsOTYsMjksOA0KKyAg
ICBMVEVYVCAgICAgICAgICAgIlB1cmdlYWJsZSIsSURDX1NUQVRJQywzNTEsOTYsMzMsOA0KKyAg
ICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfT0JKRUNUX0NPVU5ULDEwMCwxMDYsMzIs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfT0JKRUNUX0NPVU5ULDEwMCwxMTYs
MzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfT0JKRUNUX0NPVU5ULDEwMCwx
MjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfT0JKRUNUX0NPVU5ULDEw
MCwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9PQkpFQ1RfQ09V
TlQsMTAwLDE0NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19CWVRF
UywxNjIsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX0JZVEVTLDE2
MiwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfQllURVMsMTYyLDEy
NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19CWVRFUywxNjIsMTM1LDMy
LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfQllURVMsMTYyLDE0NiwzMiw4
DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19MSVZFX0NPVU5ULDIyMSwxMDYs
MzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfTElWRV9DT1VOVCwyMjEsMTE2
LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0xJVkVfQ09VTlQsMjIxLDEy
NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19MSVZFX0NPVU5ULDIyMSwx
MzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9MSVZFX0NPVU5ULDIy
MSwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfREVDT0RFRF9D
T1VOVCwyODQsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX0RFQ09E
RURfQ09VTlQsMjg0LDExNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1hTTF9E
RUNPREVEX0NPVU5ULDI4NCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19K
U0NfREVDT0RFRF9DT1VOVCwyODQsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJ
RENfVE9UQUxfREVDT0RFRCwyODQsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJ
RENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTE2LDMyLDgNCisgICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTI2LDMyLDgNCisgICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTM1LDMyLDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfUFVSR0VBQkxFLDM1NCwxNDYsMzIs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIlRvdGFsIE9iamVjdHMiLElEQ19TVEFUSUMsNjMsMjA3
LDQ0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJHbG9iYWwgT2JqZWN0cyIsSURDX1NUQVRJQyw1
NiwyMTcsNTEsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlByb3RlY3RlZCBPYmplY3RzIixJRENf
U1RBVElDLDQ4LDIyNyw1OSw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX0pT
Q19IRUFQX09CSkVDVFMsMTI3LDIwNyw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURD
X0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMTcsNTYsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19QUk9URUNURURfSlNDX0hFQVBfT0JKRUNUUywxMjcsMjI3LDU2LDgNCisgICAg
UlRFWFQgICAgICAgICAgICJTaXplIixJRENfU1RBVElDNTYsMjIzLDIwNywxNCw4DQorICAgIFJU
RVhUICAgICAgICAgICAiRnJlZSIsSURDX1NUQVRJQzU3LDIyMiwyMTcsMTYsOA0KKyAgICBSVEVY
VCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9TSVpFLDI3MCwyMDcsNTYsOA0KKyAgICBSVEVY
VCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9GUkVFLDI3MCwyMTcsNTYsOA0KKyAgICBQVVNI
QlVUVE9OICAgICAgIlB1cmdlIEluYWN0aXZlIEZvbnQgRGF0YSIsSURDX0JVVFRPTjUsMjkzLDQx
NSw5NSwxNCxXU19ESVNBQkxFRA0KKyAgICBMVEVYVCAgICAgICAgICAgIlRvdGFsIEZvbnQgRGF0
YSBPYmplY3RzIixJRENfU1RBVElDLDIwOCwzNzksNzgsOA0KKyAgICBMVEVYVCAgICAgICAgICAg
IkluYWN0aXZlIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDE5OCwzOTAsODgsOA0KKyAg
ICBMVEVYVCAgICAgICAgICAgIkdseXBoIFBhZ2VzIixJRENfU1RBVElDLDI0Niw0MDIsNDAsOA0K
KyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9GT05UX09CSkVDVFMsMzI5LDM3OSw1
Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lOQUNUSVZFX0ZPTlRfT0JKRUNUUywz
MjksMzkwLDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfR0xZUEhfUEFHRVMsMzI5
LDQwMiw1Niw4DQorICAgIExURVhUICAgICAgICAgICAiUGFnZSBVUkwgTWFwcGluZ3MiLElEQ19T
VEFUSUMsMzMsMzgwLDY0LDgNCisgICAgTFRFWFQgICAgICAgICAgICJSZXRhaW5lZCBQYWdlIFVS
THMiLElEQ19TVEFUSUMsMzEsMzkwLDY2LDgNCisgICAgTFRFWFQgICAgICAgICAgICJTaXRlIElj
b24gUmVjb3JkcyIsSURDX1NUQVRJQyw0MCw0MDAsNTcsOA0KKyAgICBMVEVYVCAgICAgICAgICAg
IlNpdGUgSWNvbnMgd2l0aCBEYXRhIixJRENfU1RBVElDLDMyLDQxMCw2NSw4DQorICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX1BBR0VfVVJMX01BUFBJTkdTLDEwMSwzODAsNTIsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19SRVRBSU5FRF9QQUdFX1VSTFMsMTAxLDM5MCw1Miw4DQor
ICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1NJVEVfSUNPTl9SRUNPUkRTLDEwMSw0MDAsNTIs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSwxMDEs
NDEwLDUyLDgNCitFTkQNCisNCisNCisjaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KKy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vDQorLy8NCisvLyBURVhUSU5DTFVERQ0KKy8vDQorDQorMSBURVhUSU5DTFVE
RSANCitCRUdJTg0KKyAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAiDQorRU5EDQorDQor
MiBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAiI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lN
Qk9MU1xyXG4iDQorICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiINCisgICAgIiN1bmRl
ZiBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iDQorICAgICJcMCINCitFTkQNCisNCiszIFRF
WFRJTkNMVURFIA0KK0JFR0lODQorICAgICJcclxuIg0KKyAgICAiXDAiDQorRU5EDQorDQorI2Vu
ZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQNCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0K
Ky8vDQorLy8gREVTSUdOSU5GTw0KKy8vDQorDQorI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQNCitH
VUlERUxJTkVTIERFU0lHTklORk8NCitCRUdJTg0KKyAgICBJRERfQUJPVVRCT1gsIERJQUxPRw0K
KyAgICBCRUdJTg0KKyAgICBFTkQNCisNCisgICAgSUREX0NBQ0hFUywgRElBTE9HDQorICAgIEJF
R0lODQorICAgICAgICBMRUZUTUFSR0lOLCA3DQorICAgICAgICBSSUdIVE1BUkdJTiwgMzk0DQor
ICAgICAgICBUT1BNQVJHSU4sIDcNCisgICAgICAgIEJPVFRPTU1BUkdJTiwgNDQ5DQorICAgIEVO
RA0KK0VORA0KKyNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VEDQorDQorDQorLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8NCisvLw0KKy8vIFN0cmluZyBUYWJsZQ0KKy8vDQorDQorU1RSSU5HVEFCTEUN
CitCRUdJTg0KKyAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1bmNoZXIiDQorICAg
IElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICJXSU5MQVVOQ0hFUiINCitFTkQNCisNCisjZW5kaWYg
ICAgLy8gRW5nbGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8NCisNCisNCisNCisjaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQNCisvLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLw0KKy8vDQorLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3Vy
Y2UuDQorLy8NCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKyNlbmRpZiAgICAvLyBub3Qg
QVBTVFVESU9fSU5WT0tFRA0KKw0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVy
LnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9w
cwkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4
cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcwkod29ya2luZyBjb3B5KQpAQCAtMTAsNyAr
MTAsNyBAQAogICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZT5TdGRBZnguaDwvUHJlY29tcGls
ZWRIZWFkZXJGaWxlPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0
aW9uYWxEZXBlbmRlbmNpZXM+V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29tZGxnMzIubGliO2Nv
bXN1cHB3LmxpYjtnZGkzMi5saWI7Y29tY3RsMzIubGliO3NobHdhcGkubGliO3VzZXIzMi5saWI7
b2xlMzIubGliO29sZWF1dDMyLmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZpeCkubGliO1dlYktp
dCQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFs
RGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+V2luaW5ldC5saWI7
RGJnSGVscC5saWI7Y29tZGxnMzIubGliO2NvbXN1cHB3LmxpYjtnZGkzMi5saWI7Y29tY3RsMzIu
bGliO3NobHdhcGkubGliO3VzZXIzMi5saWI7b2xlMzIubGliO29sZWF1dDMyLmxpYjtXZWJLaXRH
VUlEJChEZWJ1Z1N1ZmZpeCkubGliO1dlYktpdCQoRGVidWdTdWZmaXgpLmxpYjtXVEYkKERlYnVn
U3VmZml4KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVu
Y2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KIDwvUHJvamVjdD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3Vy
Y2UuaAkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
dmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0KKy8vIHt7Tk9fREVQRU5ERU5DSUVTfX0KIC8v
IE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUuCi0vLyBVc2VkIGJ5
IFdpbkxhdW5jaGVyLnJjCisvLyBVc2VkIGJ5IFdpbkxhdW5jaGVyTGliLnJjCiAvLwogI2RlZmlu
ZSBJRENfTVlJQ09OICAgICAgICAgICAgICAgICAgICAgIDIKICNkZWZpbmUgSUREX1dJTkxBVU5D
SEVSX0RJQUxPRyAgICAgICAgICAxMDIKQEAgLTE2LDExICsxNiwxNCBAQAogI2RlZmluZSBJRE1f
QUNDX0NPTVBPU0lUSU5HICAgICAgICAgICAgIDExMQogI2RlZmluZSBJRE1fV0tfRlVMTFNDUkVF
TiAgICAgICAgICAgICAgIDExMgogI2RlZmluZSBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUyAgICAg
ICAgIDExMworI2RlZmluZSBJRE1fQ0FDSEVTICAgICAgICAgICAgICAgICAgICAgIDExNAogI2Rl
ZmluZSBJRE1fV0VCX0lOU1BFQ1RPUiAgICAgICAgICAgICAgIDEyMAogI2RlZmluZSBJRE1fRElT
QUJMRV9JTUFHRVMgICAgICAgICAgICAgIDEyMQogI2RlZmluZSBJRE1fRElTQUJMRV9TVFlMRVMg
ICAgICAgICAgICAgIDEyMgogI2RlZmluZSBJRE1fRElTQUJMRV9KQVZBU0NSSVBUICAgICAgICAg
IDEyMwogI2RlZmluZSBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNUSU9OUyAxMjQKKyNk
ZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKKyNkZWZpbmUgSUREX0NB
Q0hFUyAgICAgICAgICAgICAgICAgICAgICAxMjkKICNkZWZpbmUgSURNX0hJU1RPUllfQkFDS1dB
UkQgICAgICAgICAgICAxMzAKICNkZWZpbmUgSURNX0hJU1RPUllfRk9SV0FSRCAgICAgICAgICAg
ICAxMzEKICNkZWZpbmUgSURNX0hJU1RPUllfTElOSzAgICAgICAgICAgICAgICAxNTAKQEAgLTMz
LDggKzM2LDU3IEBACiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks3ICAgICAgICAgICAgICAgMTU3
CiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks4ICAgICAgICAgICAgICAgMTU4CiAjZGVmaW5lIElE
TV9ISVNUT1JZX0xJTks5ICAgICAgICAgICAgICAgMTU5Ci0KLSNkZWZpbmUgSURSX01BSU5GUkFN
RSAgICAgICAgICAgICAgICAgICAxMjgKKyNkZWZpbmUgSURUX1VQREFURV9TVEFUUyAgICAgICAg
ICAgICAgICAxNjAKKyNkZWZpbmUgSURDX0VNUFRZX1VSTF9DQUNIRSAgICAgICAgICAgICAxMDAw
CisjZGVmaW5lIElEQ19SRVRVUk5fRlJFRV9NRU1PUlkgICAgICAgICAgMTAwMQorI2RlZmluZSBJ
RENfRU1QVFlfV0VCQ09SRV9DQUNIRSAgICAgICAgIDEwMDIKKyNkZWZpbmUgSURDX0NIRUNLMSAg
ICAgICAgICAgICAgICAgICAgICAxMDAzCisjZGVmaW5lIElEQ19IRUFQX09CSkVDVFMgICAgICAg
ICAgICAgICAgMTAwNQorI2RlZmluZSBJRENfR0NfSlNDICAgICAgICAgICAgICAgICAgICAgIDEw
MDYKKyNkZWZpbmUgSURDX1JFU0VSVkVEX1ZNICAgICAgICAgICAgICAgICAxMDA3CisjZGVmaW5l
IElEQ19DT01NSVRURURfVk0gICAgICAgICAgICAgICAgMTAwOAorI2RlZmluZSBJRENfRlJFRV9M
SVNUX0JZVEVTICAgICAgICAgICAgIDEwMDkKKyNkZWZpbmUgSURDX0lNQUdFU19PQkpFQ1RfQ09V
TlQgICAgICAgICAxMDExCisjZGVmaW5lIElEQ19DU1NfT0JKRUNUX0NPVU5UICAgICAgICAgICAg
MTAxMgorI2RlZmluZSBJRENfWFNMX09CSkVDVF9DT1VOVCAgICAgICAgICAgIDEwMTMKKyNkZWZp
bmUgSURDX0pTQ19PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDE0CisjZGVmaW5lIElEQ19UT1RB
TF9PQkpFQ1RfQ09VTlQgICAgICAgICAgMTAxNQorI2RlZmluZSBJRENfSU1BR0VTX0JZVEVTICAg
ICAgICAgICAgICAgIDEwMTYKKyNkZWZpbmUgSURDX0NTU19CWVRFUyAgICAgICAgICAgICAgICAg
ICAxMDE3CisjZGVmaW5lIElEQ19YU0xfQllURVMgICAgICAgICAgICAgICAgICAgMTAxOAorI2Rl
ZmluZSBJRENfSlNDX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTkKKyNkZWZpbmUgSURDX1RP
VEFMX0JZVEVTICAgICAgICAgICAgICAgICAxMDIwCisjZGVmaW5lIElEQ19JTUFHRVNfTElWRV9D
T1VOVCAgICAgICAgICAgMTAyMQorI2RlZmluZSBJRENfQ1NTX0xJVkVfQ09VTlQgICAgICAgICAg
ICAgIDEwMjIKKyNkZWZpbmUgSURDX1hTTF9MSVZFX0NPVU5UICAgICAgICAgICAgICAxMDIzCisj
ZGVmaW5lIElEQ19KU0NfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyNAorI2RlZmluZSBJRENf
VE9UQUxfTElWRV9DT1VOVCAgICAgICAgICAgIDEwMjUKKyNkZWZpbmUgSURDX0lNQUdFU19ERUNP
REVEX0NPVU5UICAgICAgICAxMDI2CisjZGVmaW5lIElEQ19DU1NfREVDT0RFRF9DT1VOVCAgICAg
ICAgICAgMTAyNworI2RlZmluZSBJRENfWFNMX0RFQ09ERURfQ09VTlQgICAgICAgICAgIDEwMjgK
KyNkZWZpbmUgSURDX0pTQ19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI5CisjZGVmaW5lIElE
Q19UT1RBTF9ERUNPREVEICAgICAgICAgICAgICAgMTAzMAorI2RlZmluZSBJRENfSU1BR0VTX1BV
UkdFQUJMRV9DT1VOVCAgICAgIDEwMzEKKyNkZWZpbmUgSURDX0NTU19QVVJHRUFCTEVfQ09VTlQg
ICAgICAgICAxMDMyCisjZGVmaW5lIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5UICAgICAgICAgMTAz
MworI2RlZmluZSBJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzQKKyNkZWZpbmUg
SURDX1RPVEFMX1BVUkdFQUJMRSAgICAgICAgICAgICAxMDM1CisjZGVmaW5lIElEQ19UT1RBTF9K
U0NfSEVBUF9PQkpFQ1RTICAgICAgMTAzNgorI2RlZmluZSBJRENfR0xPQkFMX0pTQ19IRUFQX09C
SkVDVFMgICAgIDEwMzcKKyNkZWZpbmUgSURDX1BST1RFQ1RFRF9KU0NfSEVBUF9PQkpFQ1RTICAx
MDM4CisjZGVmaW5lIElEQ19TVEFUSUM1NiAgICAgICAgICAgICAgICAgICAgMTAzOQorI2RlZmlu
ZSBJRENfU1RBVElDNTcgICAgICAgICAgICAgICAgICAgIDEwNDAKKyNkZWZpbmUgSURDX0pTQ19I
RUFQX1NJWkUgICAgICAgICAgICAgICAxMDQxCisjZGVmaW5lIElEQ19KU0NfSEVBUF9GUkVFICAg
ICAgICAgICAgICAgMTA0MgorI2RlZmluZSBJRENfQlVUVE9ONSAgICAgICAgICAgICAgICAgICAg
IDEwNDMKKyNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUyAgICAgICAgICAxMDQ0CisjZGVm
aW5lIElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMgICAgICAgMTA0NQorI2RlZmluZSBJRENfR0xZ
UEhfUEFHRVMgICAgICAgICAgICAgICAgIDEwNDYKKyNkZWZpbmUgSURDX1BBR0VfVVJMX01BUFBJ
TkdTICAgICAgICAgICAxMDQ3CisjZGVmaW5lIElEQ19SRVRBSU5FRF9QQUdFX1VSTFMgICAgICAg
ICAgMTA0OAorI2RlZmluZSBJRENfU0lURV9JQ09OX1JFQ09SRFMgICAgICAgICAgIDEwNDkKKyNk
ZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUzUgICAgICAgICAxMDUwCisjZGVmaW5lIElEQ19T
SVRFX0lDT05TX1dJVEhfREFUQSAgICAgICAgMTA1MAogI2RlZmluZSBJRENfU1RBVElDICAgICAg
ICAgICAgICAgICAgICAgIC0xCiAKIC8vIE5leHQgZGVmYXVsdCB2YWx1ZXMgZm9yIG5ldyBvYmpl
Y3RzCkBAIC00Miw5ICs5NCw5IEBACiAjaWZkZWYgQVBTVFVESU9fSU5WT0tFRAogI2lmbmRlZiBB
UFNUVURJT19SRUFET05MWV9TWU1CT0xTCiAjZGVmaW5lIF9BUFNfTk9fTUZDICAgICAgICAgICAg
ICAgICAgICAgMQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEyOQor
I2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEzMAogI2RlZmluZSBfQVBT
X05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDMyNzcxCi0jZGVmaW5lIF9BUFNfTkVYVF9DT05U
Uk9MX1ZBTFVFICAgICAgICAgMTAwMAorI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAg
ICAgICAgIDEwNDQKICNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAgICAgICAgICAxMTAK
ICNlbmRpZgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233907</attachid>
            <date>2014-06-26 09:18:58 -0700</date>
            <delta_ts>2014-06-26 09:21:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134318-20140626091844.patch</filename>
            <type>text/plain</type>
            <size>41265</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3MDQ0OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXaW5M
YXVuY2hlci9Db21tb24uY3BwOiBVcGRhdGUgZm9yIG5ldyBkaWFsb2cuCisgICAgICAgICogV2lu
TGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwOiBBZGQgc3VwcG9ydCBmb3IgV2ViQ2FjaGUKKyAgICAg
ICAgYW5kIFdlYkNvcmVTdGF0aXN0aWNzLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLmg6CisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlckxpYi5yYzoKKyAgICAgICAgVXBkYXRlIGZvciBuZXcgQ2FjaGUgRGlhbG9nLgorICAgICAg
ICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24u
cHJvcHM6IExpbmsgdG8KKyAgICAgICAgV1RGLmxpYgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oOiBVcGRhdGUKKyAgICAg
ICAgZm9yIG5ldyBEaWFsb2cuCisKIDIwMTQtMDYtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gdW5kbyBncm91cCBmb3IgZWFjaCBkaWN0
YXRlZCB1dHRlcmFuY2UgaW4gV2ViS2l0CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9Db21tb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAJKHJldmlzaW9u
IDE3MDQzMCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDkgKzM0LDEyIEBACiAjaW5jbHVkZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgogI2lu
Y2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKICNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZSdW5Mb29wLmg+
CisjaW5jbHVkZSA8V2ViS2l0L0NGRGljdGlvbmFyeVByb3BlcnR5QmFnLmg+CiAjZW5kaWYKIAog
I2luY2x1ZGUgPGNhc3NlcnQ+CkBAIC02Miw3ICs2NSw2IEBAIHN0YXRpYyBjb25zdCBpbnQgbWF4
SGlzdG9yeVNpemUgPSAxMDsKIAogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJh
bWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4gSVdlYkZyYW1lUHRyOwogdHlwZWRlZiBfY29tX3B0
cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0YWJs
ZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotdHlwZWRlZiBfY29tX3B0
cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hl
UHRyOwogCiAvLyBHbG9iYWwgVmFyaWFibGVzOgogSElOU1RBTkNFIGhJbnN0OwpAQCAtNzAsNiAr
NzIsNyBAQCBIV05EIGhNYWluV25kOwogSFdORCBoVVJMQmFyV25kOwogSFdORCBoQmFja0J1dHRv
blduZDsKIEhXTkQgaEZvcndhcmRCdXR0b25XbmQ7CitIV05EIGhDYWNoZVduZDsKIFdORFBST0Mg
RGVmRWRpdFByb2MgPSBudWxscHRyOwogV05EUFJPQyBEZWZCdXR0b25Qcm9jID0gbnVsbHB0cjsK
IFdORFBST0MgRGVmV2ViS2l0UHJvYyA9IG51bGxwdHI7CkBAIC05MCw4ICs5MywxMCBAQCBMUkVT
VUxUIENBTExCQUNLIEVkaXRQcm9jKEhXTkQsIFVJTlQsIFdQCiBMUkVTVUxUIENBTExCQUNLIEJh
Y2tCdXR0b25Qcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIExSRVNVTFQgQ0FMTEJB
Q0sgRm9yd2FyZEJ1dHRvblByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBMUEFSQU0pOwogTFJFU1VM
VCBDQUxMQkFDSyBSZWxvYWRCdXR0b25Qcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsK
K0lOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIAog
c3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHVybEJTdHIpOworc3RhdGljIHZvaWQgdXBkYXRlU3Rh
dGlzdGljcyhIV05EIGhEbGcpOwogCiBzdGF0aWMgdm9pZCByZXNpemVTdWJWaWV3cygpCiB7CkBA
IC0xNTUsMTAgKzE2MCw4IEBAIHN0YXRpYyBib29sIGdldEFwcERhdGFGb2xkZXIoX2JzdHJfdCYg
ZGkKIAogc3RhdGljIGJvb2wgc2V0Q2FjaGVGb2xkZXIoKQogewotICAgIElXZWJDYWNoZVB0ciB3
ZWJDYWNoZTsKLQotICAgIEhSRVNVTFQgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9X
ZWJDYWNoZSwgMCwgX191dWlkb2Yod2ViQ2FjaGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
JndlYkNhY2hlLkdldEludGVyZmFjZVB0cigpKSk7Ci0gICAgaWYgKEZBSUxFRChocikpCisgICAg
SVdlYkNhY2hlUHRyIHdlYkNhY2hlID0gZ1dpbkxhdW5jaGVyLT53ZWJDYWNoZSgpOworICAgIGlm
ICghd2ViQ2FjaGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIF9ic3RyX3QgYXBwRGF0
YUZvbGRlcjsKQEAgLTM3OSw2ICszODIsMTIgQEAgTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKEhX
TkQgaFduZCwgVUlOVAogICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKICAgICAgICAgICAg
ICAgICBnV2luTGF1bmNoZXItPmxhdW5jaEluc3BlY3RvcigpOwogICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgSURNX0NBQ0hFUzoKKyAgICAgICAgICAgIGlmICghOjpJc1dpbmRvdyho
Q2FjaGVXbmQpKSB7CisgICAgICAgICAgICAgICAgaENhY2hlV25kID0gQ3JlYXRlRGlhbG9nKGhJ
bnN0LCBNQUtFSU5UUkVTT1VSQ0UoSUREX0NBQ0hFUyksIGhXbmQsIENhY2hlcyk7CisgICAgICAg
ICAgICAgICAgOjpTaG93V2luZG93KGhDYWNoZVduZCwgU1dfU0hPVyk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9CQUNLV0FSRDoK
ICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9GT1JXQVJEOgogICAgICAgICAgICAgaWYgKGdXaW5M
YXVuY2hlcikKQEAgLTQ3Niw2ICs0ODUsMzUgQEAgSU5UX1BUUiBDQUxMQkFDSyBBYm91dChIV05E
IGhEbGcsIFVJTlQgbQogICAgIHJldHVybiAoSU5UX1BUUilGQUxTRTsKIH0KIAorSU5UX1BUUiBD
QUxMQkFDSyBDYWNoZXMoSFdORCBoRGxnLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0pCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihsUGFyYW0pOworICAg
IHN3aXRjaCAobWVzc2FnZSkgeworICAgIGNhc2UgV01fSU5JVERJQUxPRzoKKyAgICAgICAgOjpT
ZXRUaW1lcihoRGxnLCBJRFRfVVBEQVRFX1NUQVRTLCAxMDAwLCBudWxscHRyKTsKKyAgICAgICAg
cmV0dXJuIChJTlRfUFRSKVRSVUU7CisKKyAgICBjYXNlIFdNX0NPTU1BTkQ6CisgICAgICAgIGlm
IChMT1dPUkQod1BhcmFtKSA9PSBJRE9LIHx8IExPV09SRCh3UGFyYW0pID09IElEQ0FOQ0VMKSB7
CisgICAgICAgICAgICA6OktpbGxUaW1lcihoRGxnLCBJRFRfVVBEQVRFX1NUQVRTKTsKKyAgICAg
ICAgICAgIDo6RGVzdHJveVdpbmRvdyhoRGxnKTsKKyAgICAgICAgICAgIGhDYWNoZVduZCA9IDA7
CisgICAgICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKworICAgIGNhc2UgSURUX1VQREFURV9TVEFUUzoKKyAgICAgICAgOjpJbnZhbGlkYXRl
UmVjdChoRGxnLCBudWxscHRyLCBGQUxTRSk7CisgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVF
OworCisgICAgY2FzZSBXTV9QQUlOVDoKKyAgICAgICAgdXBkYXRlU3RhdGlzdGljcyhoRGxnKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIChJTlRfUFRSKUZBTFNFOworfQor
CiBzdGF0aWMgdm9pZCBsb2FkVVJMKEJTVFIgcGFzc2VkVVJMKQogewogICAgIGlmIChGQUlMRUQo
Z1dpbkxhdW5jaGVyLT5sb2FkVVJMKHBhc3NlZFVSTCkpKQpAQCAtNDg0LDYgKzUyMiwxNjcgQEAg
c3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHBhc3NlZFVSTCkKICAgICBTZXRGb2N1cyhnVmlld1dp
bmRvdyk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQg
ZmllbGQsIF9ic3RyX3QgdmFsdWUpCit7CisgICAgOjpTZXREbGdJdGVtVGV4dChkaWFsb2csIGZp
ZWxkLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2cs
IFVJTlQgZmllbGQsIFVJTlQgdmFsdWUpCit7CisgICAgU3RyaW5nIHZhbHVlU3RyID0gV1RGOjpT
dHJpbmc6Om51bWJlcih2YWx1ZSk7CisKKyAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgZmllbGQs
IF9ic3RyX3QodmFsdWVTdHIudXRmOCgpLmRhdGEoKSkpOworfQorCit0eXBlZGVmIF9jb21fcHRy
X3Q8X2NvbV9JSUlEPElQcm9wZXJ0eUJhZywgJl9fdXVpZG9mKElQcm9wZXJ0eUJhZyk+PiBJUHJv
cGVydHlCYWdQdHI7CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJ
TlQgZmllbGQsIElQcm9wZXJ0eUJhZ1B0ciBzdGF0aXN0aWNzLCBjb25zdCBfYnN0cl90JiBrZXkp
Cit7CisgICAgVkFSSUFOVCB2YXI7CisgICAgOjpWYXJpYW50SW5pdCgmdmFyKTsKKyAgICBWX1ZU
KCZ2YXIpID0gVlRfVUk4OworICAgIGlmIChGQUlMRUQoc3RhdGlzdGljcy0+UmVhZChrZXksICZ2
YXIsIDApKSkgeworICAgICAgICA6OlZhcmlhbnRDbGVhcigmdmFyKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSA9IFZfVUk4KCZ2YXIpOwor
ICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUpOworCisgICAg
c2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5kYXRh
KCkpKTsKKyAgICA6OlZhcmlhbnRDbGVhcigmdmFyKTsKK30KKworc3RhdGljIHZvaWQgc2V0V2lu
ZG93VGV4dChIV05EIGRpYWxvZywgVUlOVCBmaWVsZCwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25h
cnksIENGU3RyaW5nUmVmIGtleSwgVUlOVCYgdG90YWwpCit7CisgICAgQ0ZOdW1iZXJSZWYgY291
bnROdW0gPSBzdGF0aWNfY2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGlj
dGlvbmFyeSwga2V5KSk7CisgICAgaWYgKCFjb3VudE51bSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaW50IGNvdW50ID0gMDsKKyAgICBDRk51bWJlckdldFZhbHVlKGNvdW50TnVtLCBrQ0ZOdW1i
ZXJJbnRUeXBlLCAmY291bnQpOworCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBz
dGF0aWNfY2FzdDxVSU5UPihjb3VudCkpOworICAgIHRvdGFsICs9IGNvdW50OworfQorCitzdGF0
aWMgdm9pZCB1cGRhdGVTdGF0aXN0aWNzKEhXTkQgZGlhbG9nKQoreworICAgIGlmICghZ1dpbkxh
dW5jaGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgd2Vi
Q29yZVN0YXRpc3RpY3MgPSBnV2luTGF1bmNoZXItPnN0YXRpc3RpY3MoKTsKKyAgICBpZiAoIXdl
YkNvcmVTdGF0aXN0aWNzKQorICAgICAgICByZXR1cm47CisKKyAgICBJUHJvcGVydHlCYWdQdHIg
c3RhdGlzdGljczsKKyAgICBIUkVTVUxUIGhyID0gd2ViQ29yZVN0YXRpc3RpY3MtPm1lbW9yeVN0
YXRpc3RpY3MoJnN0YXRpc3RpY3MuR2V0SW50ZXJmYWNlUHRyKCkpOworICAgIGlmIChGQUlMRUQo
aHIpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBGYXN0TWFsbG9jCisgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19SRVNFUlZFRF9WTSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NSZXNl
cnZlZFZNQnl0ZXMiKTsKKyAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NPTU1JVFRFRF9W
TSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NDb21taXR0ZWRWTUJ5dGVzIik7CisgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19GUkVFX0xJU1RfQllURVMsIHN0YXRpc3RpY3MsICJGYXN0TWFs
bG9jRnJlZUxpc3RCeXRlcyIpOworCisgICAgLy8gV2ViQ29yZSBDYWNoZQorI2lmIFVTRShDRikK
KyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUgPSBnV2luTGF1bmNoZXItPndlYkNhY2hlKCk7CisK
KyAgICBpbnQgZGljdENvdW50ID0gNjsKKyAgICBJUHJvcGVydHlCYWcqIGNhY2hlRGljdFs2XSA9
IHsgMCB9OworICAgIGlmIChGQUlMRUQod2ViQ2FjaGUtPnN0YXRpc3RpY3MoJmRpY3RDb3VudCwg
Y2FjaGVEaWN0KSkpCisgICAgICAgIHJldHVybjsKKworICAgIENPTVB0cjxDRkRpY3Rpb25hcnlQ
cm9wZXJ0eUJhZz4gY291bnRzLCBzaXplcywgbGl2ZVNpemVzLCBkZWNvZGVkU2l6ZXMsIHB1cmdh
YmxlU2l6ZXM7CisgICAgY291bnRzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9u
YXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbMF0pKTsKKyAgICBzaXplcy5hZG9wdFJlZihyZWlu
dGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzFdKSk7Cisg
ICAgbGl2ZVNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVy
dHlCYWcqPihjYWNoZURpY3RbMl0pKTsKKyAgICBkZWNvZGVkU2l6ZXMuYWRvcHRSZWYocmVpbnRl
cnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+KGNhY2hlRGljdFszXSkpOworICAg
IHB1cmdhYmxlU2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9w
ZXJ0eUJhZyo+KGNhY2hlRGljdFs0XSkpOworCisgICAgc3RhdGljIENGU3RyaW5nUmVmIGltYWdl
c0tleSA9IENGU1RSKCJpbWFnZXMiKTsKKyAgICBzdGF0aWMgQ0ZTdHJpbmdSZWYgc3R5bGVzaGVl
dHNLZXkgPSBDRlNUUigic3R5bGUgc2hlZXRzIik7CisgICAgc3RhdGljIENGU3RyaW5nUmVmIHhz
bEtleSA9IENGU1RSKCJ4c2wiKTsKKyAgICBzdGF0aWMgQ0ZTdHJpbmdSZWYgc2NyaXB0c0tleSA9
IENGU1RSKCJzY3JpcHRzIik7CisKKyAgICBpZiAoY291bnRzKSB7CisgICAgICAgIFVJTlQgdG90
YWxPYmplY3RzID0gMDsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNf
T0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbE9iamVj
dHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NTU19PQkpFQ1RfQ09VTlQs
IGNvdW50cy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxPYmplY3RzKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfT0JKRUNUX0NPVU5ULCBjb3VudHMt
PmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX0pTQ19PQkpFQ1RfQ09VTlQsIGNvdW50cy0+ZGljdGlvbmFyeSgpLCBz
Y3JpcHRzS2V5LCB0b3RhbE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
SURDX1RPVEFMX09CSkVDVF9DT1VOVCwgdG90YWxPYmplY3RzKTsKKyAgICB9CisKKyAgICBpZiAo
c2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbEJ5dGVzID0gMDsKKyAgICAgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19JTUFHRVNfQllURVMsIHNpemVzLT5kaWN0aW9uYXJ5KCksIGltYWdl
c0tleSwgdG90YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NT
X0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxCeXRlcyk7
CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX0JZVEVTLCBzaXplcy0+ZGlj
dGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0pTQ19CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90
YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfQllURVMs
IHRvdGFsQnl0ZXMpOworICAgIH0KKworICAgIGlmIChsaXZlU2l6ZXMpIHsKKyAgICAgICAgVUlO
VCB0b3RhbExpdmVCeXRlcyA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
SU1BR0VTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRv
dGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfTElW
RV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9uYXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0b3RhbExp
dmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX0xJVkVfQ09V
TlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfTElWRV9DT1VOVCwgbGl2ZVNpemVz
LT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0
V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9MSVZFX0NPVU5ULCB0b3RhbExpdmVCeXRlcyk7
CisgICAgfQorCisgICAgaWYgKGRlY29kZWRTaXplcykgeworICAgICAgICBVSU5UIHRvdGFsRGVj
b2RlZCA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0RFQ09E
RURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsRGVj
b2RlZCk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX0RFQ09ERURfQ09V
TlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxEZWNv
ZGVkKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfREVDT0RFRF9DT1VO
VCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxEZWNvZGVkKTsKKyAg
ICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfREVDT0RFRF9DT1VOVCwgZGVjb2Rl
ZFNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfREVDT0RFRCwgdG90YWxEZWNvZGVkKTsK
KyAgICB9CisKKyAgICBpZiAocHVyZ2FibGVTaXplcykgeworICAgICAgICBVSU5UIHRvdGFsUHVy
Z2FibGUgPSAwOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19QVVJH
RUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3Rh
bFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfUFVSR0VB
QkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0
b3RhbFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfUFVS
R0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxQ
dXJnYWJsZSk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX1BVUkdFQUJM
RV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbFB1
cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9QVVJHRUFC
TEUsIHRvdGFsUHVyZ2FibGUpOworICAgIH0KKyNlbmRpZgorCisgICAgLy8gSmF2YVNjcmlwdCBI
ZWFwCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfSEVBUF9TSVpFLCBzdGF0aXN0
aWNzLCAiSmF2YVNjcmlwdEhlYXBTaXplIik7CisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElE
Q19KU0NfSEVBUF9GUkVFLCBzdGF0aXN0aWNzLCAiSmF2YVNjcmlwdEZyZWVTaXplIik7CisKKyAg
ICBVSU5UIGNvdW50OworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmphdmFT
Y3JpcHRPYmplY3RzQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNUUywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQo
d2ViQ29yZVN0YXRpc3RpY3MtPmphdmFTY3JpcHRHbG9iYWxPYmplY3RzQ291bnQoJmNvdW50KSkp
CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfR0xPQkFMX0pTQ19IRUFQX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2Ny
aXB0UHJvdGVjdGVkT2JqZWN0c0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1BST1RFQ1RFRF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7CisKKyAgICAv
LyBGb250IGFuZCBHbHlwaCBDYWNoZXMKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0
aWNzLT5jYWNoZWRGb250RGF0YUNvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUywgY291bnQpOworICAgIGlmIChTVUNDRUVE
RUQod2ViQ29yZVN0YXRpc3RpY3MtPmNhY2hlZEZvbnREYXRhSW5hY3RpdmVDb3VudCgmY291bnQp
KSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTkFDVElWRV9GT05UX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5nbHlwaFBh
Z2VDb3VudCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19HTFlQ
SF9QQUdFUywgY291bnQpOworCisgICAgLy8gU2l0ZSBJY29uIERhdGFiYXNlCisgICAgaWYgKFNV
Q0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblBhZ2VVUkxNYXBwaW5nQ291bnQoJmNvdW50
KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUEFHRV9VUkxfTUFQUElOR1Ms
IGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5pY29uUmV0YWlu
ZWRQYWdlVVJMQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJ
RENfUkVUQUlORURfUEFHRV9VUkxTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3Jl
U3RhdGlzdGljcy0+aWNvblJlY29yZENvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTl9SRUNPUkRTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvbnNXaXRoRGF0YUNvdW50KCZjb3VudCkpKQorICAg
ICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBLCBjb3Vu
dCk7Cit9CisKIGV4dGVybiAiQyIgX19kZWNsc3BlYyhkbGxleHBvcnQpIGludCBXSU5BUEkgZGxs
TGF1bmNoZXJFbnRyeVBvaW50KEhJTlNUQU5DRSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldklu
c3RhbmNlLCBMUFdTVFIgbHBzdHJDbWRMaW5lLCBpbnQgbkNtZFNob3cpCiB7CiAgICAgcmV0dXJu
IHdXaW5NYWluKGhJbnN0YW5jZSwgaFByZXZJbnN0YW5jZSwgbHBzdHJDbWRMaW5lLCBuQ21kU2hv
dyk7CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwCShyZXZpc2lvbiAxNzA0MzApCisr
KyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDcgKzUwLDYgQEAKIHN0YXRpYyBjb25zdCBpbnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKIAogdHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRv
ZihJV2ViTXV0YWJsZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotdHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUp
Pj4gSVdlYkNhY2hlUHRyOwogCiBXaW5MYXVuY2hlcjo6V2luTGF1bmNoZXIoSFdORCBtYWluV25k
LCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldykKICAgICA6IG1faE1haW5X
bmQobWFpblduZCkKQEAgLTcwLDYgKzY5LDE0IEBAIEhSRVNVTFQgV2luTGF1bmNoZXI6OmluaXQo
KQogICAgICAgICByZXR1cm4gaHI7CiAKICAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENM
U0lEX1dlYkhpc3RvcnksIDAsIF9fdXVpZG9mKG1fd2ViSGlzdG9yeSksIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCoqPigmbV93ZWJIaXN0b3J5LkdldEludGVyZmFjZVB0cigpKSk7CisgICAgaWYgKEZB
SUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKworICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5z
dGFuY2UoQ0xTSURfV2ViQ29yZVN0YXRpc3RpY3MsIDAsIF9fdXVpZG9mKG1fc3RhdGlzdGljcyks
IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbV9zdGF0aXN0aWNzLkdldEludGVyZmFjZVB0cigp
KSk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKworICAgIGhyID0g
V2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURfV2ViQ2FjaGUsIDAsIF9fdXVpZG9mKG1fd2ViQ2Fj
aGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViQ2FjaGUuR2V0SW50ZXJmYWNlUHRy
KCkpKTsKIAogICAgIHJldHVybiBocjsKIH0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAko
cmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMSwzMSArMSwzMSBAQAotLyoNCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0gKg0KLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucw0KLSAqIGFyZSBtZXQ6DQotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCi0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQNCi0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCi0gKg0K
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQ0KLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFDQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSDQotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1INCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwN
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sDQotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SDQotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQ0KLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVA0K
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQ0KLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIA0KLSAqLw0KLQ0KLSNpbmNsdWRlIDxX
ZWJLaXQvV2ViS2l0Lmg+DQotI2luY2x1ZGUgPHZlY3Rvcj4NCi0NCisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5o
PgorI2luY2x1ZGUgPHZlY3Rvcj4KKwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2Vi
RnJhbWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4gSVdlYkZyYW1lUHRyOwogdHlwZWRlZiBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViVmlldywgJl9fdXVpZG9mKElXZWJWaWV3KT4+IElXZWJWaWV3
UHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViVmlld1ByaXZhdGUsICZfX3V1
aWRvZihJV2ViVmlld1ByaXZhdGUpPj4gSVdlYlZpZXdQcml2YXRlUHRyOwpAQCAtMzcsNTQgKzM3
LDYwIEBAIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlByZWZlcmUKIHR5cGVkZWYg
X2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlVJRGVsZWdhdGUsICZfX3V1aWRvZihJV2ViVUlEZWxl
Z2F0ZSk+PiBJV2ViVUlEZWxlZ2F0ZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSwgJl9fdXVpZG9mKElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUp
Pj4gSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJ
SUQ8SVdlYkluc3BlY3RvciwgJl9fdXVpZG9mKElXZWJJbnNwZWN0b3IpPj4gSVdlYkluc3BlY3Rv
clB0cjsKLQ0KLWNsYXNzIFdpbkxhdW5jaGVyDQotew0KLXB1YmxpYzoNCi0gICAgV2luTGF1bmNo
ZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2ViVmlldyA9
IGZhbHNlKTsNCi0NCi0gICAgSFJFU1VMVCBpbml0KCk7DQotICAgIEhSRVNVTFQgcHJlcGFyZVZp
ZXdzKEhXTkQgbWFpblduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYgcmVx
dWVzdGVkVVJMLCBIV05EJiB2aWV3V25kKTsNCi0NCit0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9J
SUlEPElXZWJDb3JlU3RhdGlzdGljcywgJl9fdXVpZG9mKElXZWJDb3JlU3RhdGlzdGljcyk+PiBJ
V2ViQ29yZVN0YXRpc3RpY3NQdHI7Cit0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJD
YWNoZSwgJl9fdXVpZG9mKElXZWJDYWNoZSk+PiBJV2ViQ2FjaGVQdHI7CisKK2NsYXNzIFdpbkxh
dW5jaGVyIHsKK3B1YmxpYzoKKyAgICBXaW5MYXVuY2hlcihIV05EIG1haW5XbmQsIEhXTkQgdXJs
QmFyV25kLCBib29sIHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UpOworCisgICAgSFJFU1VMVCBp
bml0KCk7CisgICAgSFJFU1VMVCBwcmVwYXJlVmlld3MoSFdORCBtYWluV25kLCBjb25zdCBSRUNU
JiBjbGllbnRSZWN0LCBjb25zdCBCU1RSJiByZXF1ZXN0ZWRVUkwsIEhXTkQmIHZpZXdXbmQpOwor
CiAgICAgSFJFU1VMVCBsb2FkVVJMKGNvbnN0IEJTVFImIHBhc3NlZFVSTCk7Ci0NCi0gICAgdm9p
ZCBzaG93TGFzdFZpc2l0ZWRTaXRlcyhJV2ViVmlldyYgd2ViVmlldyk7DQotICAgIHZvaWQgbGF1
bmNoSW5zcGVjdG9yKCk7DQotICAgIHZvaWQgbmF2aWdhdGVGb3J3YXJkT3JCYWNrd2FyZChIV05E
IGhXbmQsIFVJTlQgbWVudUlEKTsNCisKKyAgICB2b2lkIHNob3dMYXN0VmlzaXRlZFNpdGVzKElX
ZWJWaWV3Jik7CisgICAgdm9pZCBsYXVuY2hJbnNwZWN0b3IoKTsKKyAgICB2b2lkIG5hdmlnYXRl
Rm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7CiAgICAgdm9pZCBuYXZp
Z2F0ZVRvSGlzdG9yeShIV05EIGhXbmQsIFVJTlQgbWVudUlEKTsKLSAgICBib29sIHNlZWRJbml0
aWFsRGVmYXVsdFByZWZlcmVuY2VzKCk7DQotICAgIGJvb2wgc2V0VG9EZWZhdWx0UHJlZmVyZW5j
ZXMoKTsNCi0NCi0gICAgSFJFU1VMVCBzZXRGcmFtZUxvYWREZWxlZ2F0ZShJV2ViRnJhbWVMb2Fk
RGVsZWdhdGUqKTsNCisgICAgYm9vbCBzZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpOwor
ICAgIGJvb2wgc2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKTsKKworICAgIEhSRVNVTFQgc2V0RnJh
bWVMb2FkRGVsZWdhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlKik7CiAgICAgSFJFU1VMVCBzZXRV
SURlbGVnYXRlKElXZWJVSURlbGVnYXRlKik7CiAgICAgSFJFU1VMVCBzZXRBY2Nlc3NpYmlsaXR5
RGVsZWdhdGUoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSopOwogCiAgICAgSVdlYlByZWZlcmVuY2Vz
UHRyIHN0YW5kYXJkUHJlZmVyZW5jZXMoKSB7IHJldHVybiBtX3N0YW5kYXJkUHJlZmVyZW5jZXM7
ICB9CiAgICAgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZVB0ciBwcml2YXRlUHJlZmVyZW5jZXMoKSB7
IHJldHVybiBtX3ByZWZzUHJpdmF0ZTsgfQogICAgIElXZWJGcmFtZVB0ciBtYWluRnJhbWUoKTsK
LQ0KLSAgICBib29sIGhhc1dlYlZpZXcoKSBjb25zdCB7IHJldHVybiAhIW1fd2ViVmlldzsgfQ0K
LSAgICBib29sIHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGF5ZXJl
ZFdlYlZpZXc7IH0NCi0gICAgYm9vbCBnb0JhY2soKTsNCi0gICAgYm9vbCBnb0ZvcndhcmQoKTsN
Ci0NCi1wcml2YXRlOg0KKyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgc3RhdGlzdGljcygpIHsg
cmV0dXJuIG1fc3RhdGlzdGljczsgfQorICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZSgpIHsgcmV0
dXJuIG1fd2ViQ2FjaGU7ICB9CisKKyAgICBib29sIGhhc1dlYlZpZXcoKSBjb25zdCB7IHJldHVy
biAhIW1fd2ViVmlldzsgfQorICAgIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3KCkgY29uc3QgeyBy
ZXR1cm4gbV91c2VMYXllcmVkV2ViVmlldzsgfQorICAgIGJvb2wgZ29CYWNrKCk7CisgICAgYm9v
bCBnb0ZvcndhcmQoKTsKKworcHJpdmF0ZToKICAgICBzdGQ6OnZlY3RvcjxJV2ViSGlzdG9yeUl0
ZW1QdHI+IG1faGlzdG9yeUl0ZW1zOwotDQotICAgIElXZWJWaWV3UHRyIG1fd2ViVmlldzsNCisK
KyAgICBJV2ViVmlld1B0ciBtX3dlYlZpZXc7CiAgICAgSVdlYlZpZXdQcml2YXRlUHRyIG1fd2Vi
Vmlld1ByaXZhdGU7Ci0NCi0gICAgSVdlYkhpc3RvcnlQdHIgbV93ZWJIaXN0b3J5Ow0KLSAgICBJ
V2ViSW5zcGVjdG9yUHRyIG1faW5zcGVjdG9yOw0KKworICAgIElXZWJIaXN0b3J5UHRyIG1fd2Vi
SGlzdG9yeTsKKyAgICBJV2ViSW5zcGVjdG9yUHRyIG1faW5zcGVjdG9yOwogICAgIElXZWJQcmVm
ZXJlbmNlc1B0ciBtX3N0YW5kYXJkUHJlZmVyZW5jZXM7CiAgICAgSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZVB0ciBtX3ByZWZzUHJpdmF0ZTsKLQ0KLSAgICBJV2ViRnJhbWVMb2FkRGVsZWdhdGVQdHIg
bV9mcmFtZUxvYWREZWxlZ2F0ZTsNCi0gICAgSVdlYlVJRGVsZWdhdGVQdHIgbV91aURlbGVnYXRl
Ow0KLSAgICBJQWNjZXNzaWJpbGl0eURlbGVnYXRlUHRyIG1fYWNjZXNzaWJpbGl0eURlbGVnYXRl
Ow0KLQ0KLSAgICBIV05EIG1faE1haW5XbmQ7DQorCisgICAgSVdlYkZyYW1lTG9hZERlbGVnYXRl
UHRyIG1fZnJhbWVMb2FkRGVsZWdhdGU7CisgICAgSVdlYlVJRGVsZWdhdGVQdHIgbV91aURlbGVn
YXRlOworICAgIElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQdHIgbV9hY2Nlc3NpYmlsaXR5RGVsZWdh
dGU7CisKKyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgbV9zdGF0aXN0aWNzOworICAgIElXZWJD
YWNoZVB0ciBtX3dlYkNhY2hlOworCisgICAgSFdORCBtX2hNYWluV25kOwogICAgIEhXTkQgbV9o
VVJMQmFyV25kOwotDQotICAgIGJvb2wgbV91c2VMYXllcmVkV2ViVmlldzsNCi19Ow0KKworICAg
IGJvb2wgbV91c2VMYXllcmVkV2ViVmlldzsKK307CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9X
aW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmMJKHJldmlz
aW9uIDE3MDQzMCkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJMaWIucmMJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcwICsxLDI3OSBAQAotLy8gTWlj
cm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4KLS8vCi0jaW5jbHVk
ZSAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oIgotCi0jZGVmaW5lIEFQU1RVRElPX1JFQURPTkxZ
X1NZTUJPTFMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhl
IFRFWFRJTkNMVURFIDIgcmVzb3VyY2UuCi0vLwotI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lN
Qk9MUwotI2luY2x1ZGUgIndpbmRvd3MuaCIKLSN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9M
UwotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJP
TFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwot
Ci0jaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUp
Ci0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9V
UwotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4zMgotCi0vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwotLy8KLS8vIEljb24KLS8vCi0KLS8vIEljb24gd2l0aCBsb3dlc3QgSUQgdmFs
dWUgcGxhY2VkIGZpcnN0IHRvIGVuc3VyZSBhcHBsaWNhdGlvbiBpY29uCi0vLyByZW1haW5zIGNv
bnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuCi1JRElfV0lOTEFVTkNIRVIgICAgICAgICBJQ09OICAg
ICAgICAgICAgICAgICAgICAiV2luTGF1bmNoZXIuaWNvIgotSURJX1NNQUxMICAgICAgICAgICAg
ICAgSUNPTiAgICAgICAgICAgICAgICAgICAgInNtYWxsLmljbyIKLQotLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KLS8vCi0vLyBNZW51Ci0vLwotCi1JRENfV0lOTEFVTkNIRVIgTUVOVSAKLUJFR0lOCi0g
ICAgUE9QVVAgIiZGaWxlIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICImUHJpbnRcdEN0
cmwtUCIsICAgICAgICAgICAgICBJRE1fUFJJTlQKLSAgICAgICAgTUVOVUlURU0gIkUmeGl0Iiwg
ICAgICAgICAgICAgICAgICAgICAgIElETV9FWElUCi0gICAgRU5ECi0gICAgUE9QVVAgIiZIaXN0
b3J5IgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICJCYWNrIiwgICAgICAgICAgICAgICAg
ICAgICAgICBJRE1fSElTVE9SWV9CQUNLV0FSRAotICAgICAgICBNRU5VSVRFTSAiRm9yd2FyZCIs
ICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllfRk9SV0FSRAotICAgICAgICBNRU5VSVRF
TSBTRVBBUkFUT1IKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDAiLCAgICAgICAg
ICAgIElETV9ISVNUT1JZX0xJTkswCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAx
IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMQotICAgICAgICBNRU5VSVRFTSAiVW51c2Vk
IEhpc3RvcnkgMiIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzIKLSAgICAgICAgTUVOVUlU
RU0gIlVudXNlZCBIaXN0b3J5IDMiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTkszCi0gICAg
ICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA0IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9M
SU5LNAotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNSIsICAgICAgICAgICAgSURN
X0hJU1RPUllfTElOSzUKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDYiLCAgICAg
ICAgICAgIElETV9ISVNUT1JZX0xJTks2Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9y
eSA3IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNwotICAgICAgICBNRU5VSVRFTSAiVW51
c2VkIEhpc3RvcnkgOCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzgKLSAgICAgICAgTUVO
VUlURU0gIlVudXNlZCBIaXN0b3J5IDkiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks5Ci0g
ICAgRU5ECi0gICAgUE9QVVAgIkQmZXZlbG9wIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVN
ICJTaG93IFdlYiBJbnNwZWN0b3IiLCAgICAgICAgICBJRE1fV0VCX0lOU1BFQ1RPUgotICAgICAg
ICBNRU5VSVRFTSBTRVBBUkFUT1IKLSAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgSW1hZ2VzIiwg
ICAgICAgICAgICAgIElETV9ESVNBQkxFX0lNQUdFUwotICAgICAgICBNRU5VSVRFTSAiRGlzYWJs
ZSBTdHlsZXMiLCAgICAgICAgICAgICAgSURNX0RJU0FCTEVfU1RZTEVTCi0gICAgICAgIE1FTlVJ
VEVNICJEaXNhYmxlIEphdmFTY3JpcHQiLCAgICAgICAgICBJRE1fRElTQUJMRV9KQVZBU0NSSVBU
Ci0gICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIExvY2FsIEZpbGUgUmVzdHJpY3Rpb25zIiwgSURN
X0RJU0FCTEVfTE9DQUxfRklMRV9SRVNUUklDVElPTlMKLSAgICBFTkQKLSAgICBQT1BVUCAiJkhl
bHAiCi0gICAgQkVHSU4KLSAgICAgICAgTUVOVUlURU0gIiZBYm91dCAuLi4iLCAgICAgICAgICAg
ICAgICAgIElETV9BQk9VVAotICAgIEVORAotICAgIFBPUFVQICImRGVidWciCi0gICAgQkVHSU4K
LSAgICAgICAgTUVOVUlURU0gIlVzZSBBVkZvdW5kYXRpb24iLCAgICAgICAgICAgIElETV9BVkZP
VU5EQVRJT04sIENIRUNLRUQKLSAgICAgICAgTUVOVUlURU0gIlVzZSBBY2NlbGVyYXRlZCBDb21w
b3NpdGluZyIsIElETV9BQ0NfQ09NUE9TSVRJTkcsIENIRUNLRUQKLSAgICAgICAgTUVOVUlURU0g
IkVuYWJsZSBXZWJLaXQgRnVsbCBTY3JlZW4iLCAgIElETV9XS19GVUxMU0NSRUVOLCBDSEVDS0VE
Ci0gICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgotICAgICAgICBNRU5VSVRFTSAiU2hvdyBDb21w
b3NpdGluZyBCb3JkZXJzIiwgICAgSURNX0NPTVBPU0lUSU5HX0JPUkRFUlMKLSAgICBFTkQKLUVO
RAotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gQWNjZWxlcmF0b3IKLS8vCi0KLUlE
Q19XSU5MQVVOQ0hFUiBBQ0NFTEVSQVRPUlMgCi1CRUdJTgotICAgICI/IiwgICAgICAgICAgICBJ
RE1fQUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFMVAotICAgICIvIiwgICAgICAgICAgICBJ
RE1fQUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFMVAotRU5ECi0KLQotLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KLS8vCi0vLyBEaWFsb2cKLS8vCi0KLUlERF9BQk9VVEJPWCBESUFMT0dFWCAyMiwg
MTcsIDIzMCwgNzUKLVNUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElP
TiB8IFdTX1NZU01FTlUKLUNBUFRJT04gIkFib3V0IgotRk9OVCA4LCAiU3lzdGVtIiwgMCwgMCwg
MHgwCi1CRUdJTgotICAgIElDT04gICAgICAgICAgICBJRElfV0lOTEFVTkNIRVIsSURDX01ZSUNP
TiwxNCw5LDIwLDIwCi0gICAgTFRFWFQgICAgICAgICAgICJXaW5MYXVuY2hlciBWZXJzaW9uIDEu
MiIsSURDX1NUQVRJQyw0OSwxMCwxMTksOCxTU19OT1BSRUZJWAotICAgIExURVhUICAgICAgICAg
ICAiQ29weXJpZ2h0IChDKSAyMDA5IixJRENfU1RBVElDLDQ5LDIwLDExOSw4Ci0gICAgREVGUFVT
SEJVVFRPTiAgICJPSyIsSURPSywxOTUsNiwzMCwxMSxXU19HUk9VUAotRU5ECi0KLQotI2lmZGVm
IEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gVEVYVElOQ0xV
REUKLS8vCi0KLTEgVEVYVElOQ0xVREUgCi1CRUdJTgotICAgICJXaW5MYXVuY2hlckxpYlJlc291
cmNlLmhcMCIKLUVORAotCi0yIFRFWFRJTkNMVURFIAotQkVHSU4KLSAgICAiI2RlZmluZSBBUFNU
VURJT19ISURERU5fU1lNQk9MU1xyXG4iCi0gICAgIiNpbmNsdWRlICIid2luZG93cy5oIiJcclxu
IgotICAgICIjdW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIgotICAgICJcMCIKLUVO
RAotCi0zIFRFWFRJTkNMVURFIAotQkVHSU4KLSAgICAiXHJcbiIKLSAgICAiXDAiCi1FTkQKLQot
I2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwot
Ly8KLS8vIFN0cmluZyBUYWJsZQotLy8KLQotU1RSSU5HVEFCTEUgCi1CRUdJTgotICAgIElEU19B
UFBfVElUTEUgICAgICAgICAgICJXaW5MYXVuY2hlciIKLSAgICBJRENfV0lOTEFVTkNIRVIgICAg
ICAgICAiV0lOTEFVTkNIRVIiCi1FTkQKLQotI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFUuUy4pIHJl
c291cmNlcwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLQotCi0KLSNpZm5kZWYgQVBTVFVESU9fSU5W
T0tFRAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVY
VElOQ0xVREUgMyByZXNvdXJjZS4KLS8vCi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSNlbmRp
ZiAgICAvLyBub3QgQVBTVFVESU9fSU5WT0tFRAotCisvLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBn
ZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0Lg0KKy8vDQorI2luY2x1ZGUgIldpbkxhdW5jaGVyTGli
UmVzb3VyY2UuaCINCisNCisjZGVmaW5lIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMNCisvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURF
IDIgcmVzb3VyY2UuDQorLy8NCisjZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTDQorI2lu
Y2x1ZGUgIndpbmRvd3MuaCINCisjdW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFMNCisNCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KKyN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTDQor
DQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLyBFbmdsaXNoIChVbml0ZWQgU3RhdGVzKSByZXNv
dXJjZXMNCisNCisjaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhf
VEFSR19FTlUpDQorTEFOR1VBR0UgTEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMNCisj
cHJhZ21hIGNvZGVfcGFnZSgxMjUyKQ0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisv
LyBJY29uDQorLy8NCisNCisvLyBJY29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJz
dCB0byBlbnN1cmUgYXBwbGljYXRpb24gaWNvbg0KKy8vIHJlbWFpbnMgY29uc2lzdGVudCBvbiBh
bGwgc3lzdGVtcy4NCitJRElfV0lOTEFVTkNIRVIgICAgICAgICBJQ09OICAgICAgICAgICAgICAg
ICAgICAiV2luTGF1bmNoZXIuaWNvIg0KK0lESV9TTUFMTCAgICAgICAgICAgICAgIElDT04gICAg
ICAgICAgICAgICAgICAgICJzbWFsbC5pY28iDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisv
Lw0KKy8vIE1lbnUNCisvLw0KKw0KK0lEQ19XSU5MQVVOQ0hFUiBNRU5VDQorQkVHSU4NCisgICAg
UE9QVVAgIiZGaWxlIg0KKyAgICBCRUdJTg0KKyAgICAgICAgTUVOVUlURU0gIiZQcmludFx0Q3Ry
bC1QIiwgICAgICAgICAgICAgIElETV9QUklOVA0KKyAgICAgICAgTUVOVUlURU0gIkUmeGl0Iiwg
ICAgICAgICAgICAgICAgICAgICAgIElETV9FWElUDQorICAgIEVORA0KKyAgICBQT1BVUCAiJkhp
c3RvcnkiDQorICAgIEJFR0lODQorICAgICAgICBNRU5VSVRFTSAiQmFjayIsICAgICAgICAgICAg
ICAgICAgICAgICAgSURNX0hJU1RPUllfQkFDS1dBUkQNCisgICAgICAgIE1FTlVJVEVNICJGb3J3
YXJkIiwgICAgICAgICAgICAgICAgICAgICBJRE1fSElTVE9SWV9GT1JXQVJEDQorICAgICAgICBN
RU5VSVRFTSBTRVBBUkFUT1INCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAwIiwg
ICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMA0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBI
aXN0b3J5IDEiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTksxDQorICAgICAgICBNRU5VSVRF
TSAiVW51c2VkIEhpc3RvcnkgMiIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzINCisgICAg
ICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAzIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9M
SU5LMw0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDQiLCAgICAgICAgICAgIElE
TV9ISVNUT1JZX0xJTks0DQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNSIsICAg
ICAgICAgICAgSURNX0hJU1RPUllfTElOSzUNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlz
dG9yeSA2IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNg0KKyAgICAgICAgTUVOVUlURU0g
IlVudXNlZCBIaXN0b3J5IDciLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks3DQorICAgICAg
ICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgOCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElO
SzgNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA5IiwgICAgICAgICAgICBJRE1f
SElTVE9SWV9MSU5LOQ0KKyAgICBFTkQNCisgICAgUE9QVVAgIkQmZXZlbG9wIg0KKyAgICBCRUdJ
Tg0KKyAgICAgICAgTUVOVUlURU0gIlNob3cgV2ViIEluc3BlY3RvciIsICAgICAgICAgIElETV9X
RUJfSU5TUEVDVE9SDQorICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCisgICAgICAgIE1FTlVJ
VEVNICJEaXNhYmxlIEltYWdlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9JTUFHRVMNCisg
ICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIFN0eWxlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJM
RV9TVFlMRVMNCisgICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIEphdmFTY3JpcHQiLCAgICAgICAg
ICBJRE1fRElTQUJMRV9KQVZBU0NSSVBUDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBMb2Nh
bCBGaWxlIFJlc3RyaWN0aW9ucyIsIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05T
DQorICAgIEVORA0KKyAgICBQT1BVUCAiJkhlbHAiDQorICAgIEJFR0lODQorICAgICAgICBNRU5V
SVRFTSAiJkFib3V0IC4uLiIsICAgICAgICAgICAgICAgICAgSURNX0FCT1VUDQorICAgIEVORA0K
KyAgICBQT1BVUCAiJkRlYnVnIg0KKyAgICBCRUdJTg0KKyAgICAgICAgTUVOVUlURU0gIlVzZSBB
VkZvdW5kYXRpb24iLCAgICAgICAgICAgIElETV9BVkZPVU5EQVRJT04sIENIRUNLRUQNCisgICAg
ICAgIE1FTlVJVEVNICJVc2UgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCBJRE1fQUNDX0NPTVBP
U0lUSU5HLCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSAiRW5hYmxlIFdlYktpdCBGdWxsIFNj
cmVlbiIsICAgSURNX1dLX0ZVTExTQ1JFRU4sIENIRUNLRUQNCisgICAgICAgIE1FTlVJVEVNIFNF
UEFSQVRPUg0KKyAgICAgICAgTUVOVUlURU0gIlNob3cgQ29tcG9zaXRpbmcgQm9yZGVycyIsICAg
IElETV9DT01QT1NJVElOR19CT1JERVJTDQorICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCisg
ICAgICAgIE1FTlVJVEVNICJTaG93IENhY2hlcyBXaW5kb3ciLCAgICAgICAgICBJRE1fQ0FDSEVT
DQorICAgIEVORA0KK0VORA0KKw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBB
Y2NlbGVyYXRvcg0KKy8vDQorDQorSURDX1dJTkxBVU5DSEVSIEFDQ0VMRVJBVE9SUw0KK0JFR0lO
DQorICAgICI/IiwgICAgICAgICAgICBJRE1fQUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFM
VA0KKyAgICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVNDSUksICBB
TFQNCitFTkQNCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gRGlhbG9nDQor
Ly8NCisNCitJRERfQUJPVVRCT1ggRElBTE9HRVggMjIsIDE3LCAyMzAsIDc1DQorU1RZTEUgRFNf
U0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQ0KK0NBUFRJ
T04gIkFib3V0Ig0KK0ZPTlQgOCwgIlN5c3RlbSIsIDAsIDAsIDB4MA0KK0JFR0lODQorICAgIElD
T04gICAgICAgICAgICBJRElfV0lOTEFVTkNIRVIsSURDX01ZSUNPTiwxNCw5LDIwLDIwDQorICAg
IExURVhUICAgICAgICAgICAiV2luTGF1bmNoZXIgVmVyc2lvbiAxLjMiLElEQ19TVEFUSUMsNDks
MTAsMTE5LDgsU1NfTk9QUkVGSVgNCisgICAgTFRFWFQgICAgICAgICAgICJDb3B5cmlnaHQgKEMp
IDIwMTQiLElEQ19TVEFUSUMsNDksMjAsMTE5LDgNCisgICAgREVGUFVTSEJVVFRPTiAgICJPSyIs
SURPSywxOTUsNiwzMCwxMSxXU19HUk9VUA0KK0VORA0KKw0KK0lERF9DQUNIRVMgRElBTE9HRVgg
MCwgMCwgNDAxLCA0NTYNCitTVFlMRSBEU19TRVRGT05UIHwgRFNfTU9EQUxGUkFNRSB8IERTX0ZJ
WEVEU1lTIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQ0KK0NBUFRJT04gIkRp
YWxvZyINCitGT05UIDgsICJNUyBTaGVsbCBEbGciLCA0MDAsIDAsIDB4MQ0KK0JFR0lODQorICAg
IERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjg3LDQzNSw1MCwxNA0KKyAgICBQVVNIQlVUVE9O
ICAgICAgIkNhbmNlbCIsSURDQU5DRUwsMzQ0LDQzNSw1MCwxNA0KKyAgICBHUk9VUEJPWCAgICAg
ICAgIkZhc3RNYWxsb2MiLElEQ19TVEFUSUMsMjA4LDE0LDE4Niw2Nw0KKyAgICBHUk9VUEJPWCAg
ICAgICAgIldlYkNvcmUgQ2FjaGUiLElEQ19TVEFUSUMsMTcsODMsMzc2LDEwNQ0KKyAgICBHUk9V
UEJPWCAgICAgICAgIkphdmFTY3JpcHQgSGVhcCIsSURDX1NUQVRJQywxOCwxOTMsMzc2LDE2OA0K
KyAgICBHUk9VUEJPWCAgICAgICAgIlNpdGUgSWNvbiBEYXRhYmFzZSIsSURDX1NUQVRJQywxOCwz
NjYsMTQyLDY1DQorICAgIEdST1VQQk9YICAgICAgICAiRm9udCBhbmQgR2x5cGggQ2FjaGVzIixJ
RENfU1RBVElDLDE2OCwzNjYsMjI2LDY2DQorICAgIEdST1VQQk9YICAgICAgICAiQ0ZVUkxDYWNo
ZSIsSURDX1NUQVRJQyw3LDE0LDE5Nyw2Nw0KKyAgICBQVVNIQlVUVE9OICAgICAgIkVtcHR5IFVS
TENhY2hlIixJRENfRU1QVFlfVVJMX0NBQ0hFLDEzMSw2Myw2OSwxNCxXU19ESVNBQkxFRA0KKyAg
ICBQVVNIQlVUVE9OICAgICAgIlJldHVybiBGcmVlIE1lbW9yeSIsSURDX1JFVFVSTl9GUkVFX01F
TU9SWSwzMDgsNjMsNzYsMTQsV1NfRElTQUJMRUQNCisgICAgUFVTSEJVVFRPTiAgICAgICJFbXB0
eSBXZWJDb3JlIENhY2hlIixJRENfRU1QVFlfV0VCQ09SRV9DQUNIRSwyMSwxNzAsODMsMTQsV1Nf
RElTQUJMRUQNCisgICAgQ09OVFJPTCAgICAgICAgICJEaXNhYmxlIFdlYkNvcmUgQ2FjaGUiLElE
Q19DSEVDSzEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfCBXU19UQUJT
VE9QLDExOSwxNzIsOTMsMTANCisgICAgUFVTSEJVVFRPTiAgICAgICJHYXJiYWdlIENvbGxlY3Qg
SmF2YVNjcmlwdCBPYmplY3RzIixJRENfR0NfSlNDLDI1MywzNDMsMTM1LDE0LFdTX0RJU0FCTEVE
DQorICAgIFJURVhUICAgICAgICAgICAiUmVzZXJ2ZWQgVk0iLElEQ19TVEFUSUMsMjEyLDI2LDY3
LDkNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfUkVTRVJWRURfVk0sMjkwLDI2LDk0LDgN
CisgICAgUlRFWFQgICAgICAgICAgICJDb21taXR0ZWQgVk0iLElEQ19TVEFUSUMsMjExLDM5LDY3
LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfQ09NTUlUVEVEX1ZNLDI5MCwzOSw5NCw4
DQorICAgIFJURVhUICAgICAgICAgICAiRnJlZSBMaXN0IEJ5dGVzIixJRENfU1RBVElDLDIxMSw1
Miw2Nyw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0ZSRUVfTElTVF9CWVRFUywyOTAs
NTIsOTQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkltYWdlcyIsSURDX1NUQVRJQywzNywxMDYs
MjQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkNTUyIsSURDX1NUQVRJQyw0NywxMTYsMTQsOA0K
KyAgICBSVEVYVCAgICAgICAgICAgIlhTTCIsSURDX1NUQVRJQyw0OSwxMjYsMTIsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIkphdmFTY3JpcHQiLElEQ19TVEFUSUMsMjcsMTM1LDM0LDgNCisgICAg
UlRFWFQgICAgICAgICAgICJUb3RhbCIsSURDX1NUQVRJQyw0MywxNDYsMTcsOA0KKyAgICBMVEVY
VCAgICAgICAgICAgIk9iamVjdHMiLElEQ19TVEFUSUMsMTExLDk2LDI2LDgNCisgICAgTFRFWFQg
ICAgICAgICAgICJCeXRlcyIsSURDX1NUQVRJQywxNzUsOTYsMTksOA0KKyAgICBMVEVYVCAgICAg
ICAgICAgIkxpdmUiLElEQ19TVEFUSUMsMjMyLDk2LDE0LDgNCisgICAgTFRFWFQgICAgICAgICAg
ICJEZWNvZGVkIixJRENfU1RBVElDLDI4NCw5NiwyOSw4DQorICAgIExURVhUICAgICAgICAgICAi
UHVyZ2VhYmxlIixJRENfU1RBVElDLDM1MSw5NiwzMyw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0lNQUdFU19PQkpFQ1RfQ09VTlQsMTAwLDEwNiwzMiw4DQorICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0NTU19PQkpFQ1RfQ09VTlQsMTAwLDExNiwzMiw4DQorICAgIFJURVhUICAg
ICAgICAgICAiMCIsSURDX1hTTF9PQkpFQ1RfQ09VTlQsMTAwLDEyNiwzMiw4DQorICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX0pTQ19PQkpFQ1RfQ09VTlQsMTAwLDEzNSwzMiw4DQorICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX09CSkVDVF9DT1VOVCwxMDAsMTQ2LDMyLDgNCisg
ICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSU1BR0VTX0JZVEVTLDE2MiwxMDYsMzIsOA0KKyAg
ICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfQllURVMsMTYyLDExNiwzMiw4DQorICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX1hTTF9CWVRFUywxNjIsMTI2LDMyLDgNCisgICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfSlNDX0JZVEVTLDE2MiwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAg
ICAgICAgIjAiLElEQ19UT1RBTF9CWVRFUywxNjIsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfSU1BR0VTX0xJVkVfQ09VTlQsMjIxLDEwNiwzMiw4DQorICAgIFJURVhUICAg
ICAgICAgICAiMCIsSURDX0NTU19MSVZFX0NPVU5ULDIyMSwxMTYsMzIsOA0KKyAgICBSVEVYVCAg
ICAgICAgICAgIjAiLElEQ19YU0xfTElWRV9DT1VOVCwyMjEsMTI2LDMyLDgNCisgICAgUlRFWFQg
ICAgICAgICAgICIwIixJRENfSlNDX0xJVkVfQ09VTlQsMjIxLDEzNSwzMiw4DQorICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX1RPVEFMX0xJVkVfQ09VTlQsMjIxLDE0NiwzMiw4DQorICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19ERUNPREVEX0NPVU5ULDI4NCwxMDYsMzIsOA0K
KyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfREVDT0RFRF9DT1VOVCwyODQsMTE2LDMy
LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0RFQ09ERURfQ09VTlQsMjg0LDEy
NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19ERUNPREVEX0NPVU5ULDI4
NCwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9ERUNPREVELDI4
NCwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfUFVSR0VBQkxF
X0NPVU5ULDM1NCwxMDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfUFVS
R0VBQkxFX0NPVU5ULDM1NCwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19Y
U0xfUFVSR0VBQkxFX0NPVU5ULDM1NCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAi
LElEQ19KU0NfUFVSR0VBQkxFX0NPVU5ULDM1NCwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19UT1RBTF9QVVJHRUFCTEUsMzU0LDE0NiwzMiw4DQorICAgIFJURVhUICAgICAg
ICAgICAiVG90YWwgT2JqZWN0cyIsSURDX1NUQVRJQyw2MywyMDcsNDQsOA0KKyAgICBSVEVYVCAg
ICAgICAgICAgIkdsb2JhbCBPYmplY3RzIixJRENfU1RBVElDLDU2LDIxNyw1MSw4DQorICAgIFJU
RVhUICAgICAgICAgICAiUHJvdGVjdGVkIE9iamVjdHMiLElEQ19TVEFUSUMsNDgsMjI3LDU5LDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNUUywxMjcs
MjA3LDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfR0xPQkFMX0pTQ19IRUFQX09C
SkVDVFMsMTI3LDIxNyw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1BST1RFQ1RF
RF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMjcsNTYsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlNp
emUiLElEQ19TVEFUSUM1NiwyMjMsMjA3LDE0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJGcmVl
IixJRENfU1RBVElDNTcsMjIyLDIxNywxNiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURD
X0pTQ19IRUFQX1NJWkUsMjcwLDIwNyw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURD
X0pTQ19IRUFQX0ZSRUUsMjcwLDIxNyw1Niw4DQorICAgIFBVU0hCVVRUT04gICAgICAiUHVyZ2Ug
SW5hY3RpdmUgRm9udCBEYXRhIixJRENfQlVUVE9ONSwyOTMsNDE1LDk1LDE0LFdTX0RJU0FCTEVE
DQorICAgIExURVhUICAgICAgICAgICAiVG90YWwgRm9udCBEYXRhIE9iamVjdHMiLElEQ19TVEFU
SUMsMjA4LDM3OSw3OCw4DQorICAgIExURVhUICAgICAgICAgICAiSW5hY3RpdmUgRm9udCBEYXRh
IE9iamVjdHMiLElEQ19TVEFUSUMsMTk4LDM5MCw4OCw4DQorICAgIExURVhUICAgICAgICAgICAi
R2x5cGggUGFnZXMiLElEQ19TVEFUSUMsMjQ2LDQwMiw0MCw4DQorICAgIFJURVhUICAgICAgICAg
ICAiMCIsSURDX1RPVEFMX0ZPTlRfT0JKRUNUUywzMjksMzc5LDU2LDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfSU5BQ1RJVkVfRk9OVF9PQkpFQ1RTLDMyOSwzOTAsNTYsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19HTFlQSF9QQUdFUywzMjksNDAyLDU2LDgNCisgICAgTFRF
WFQgICAgICAgICAgICJQYWdlIFVSTCBNYXBwaW5ncyIsSURDX1NUQVRJQywzMywzODAsNjQsOA0K
KyAgICBMVEVYVCAgICAgICAgICAgIlJldGFpbmVkIFBhZ2UgVVJMcyIsSURDX1NUQVRJQywzMSwz
OTAsNjYsOA0KKyAgICBMVEVYVCAgICAgICAgICAgIlNpdGUgSWNvbiBSZWNvcmRzIixJRENfU1RB
VElDLDQwLDQwMCw1Nyw4DQorICAgIExURVhUICAgICAgICAgICAiU2l0ZSBJY29ucyB3aXRoIERh
dGEiLElEQ19TVEFUSUMsMzIsNDEwLDY1LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENf
UEFHRV9VUkxfTUFQUElOR1MsMTAxLDM4MCw1Miw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1JFVEFJTkVEX1BBR0VfVVJMUywxMDEsMzkwLDUyLDgNCisgICAgUlRFWFQgICAgICAgICAg
ICIwIixJRENfU0lURV9JQ09OX1JFQ09SRFMsMTAxLDQwMCw1Miw4DQorICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBLDEwMSw0MTAsNTIsOA0KK0VORA0KKw0K
Kw0KKyNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0K
Ky8vIFRFWFRJTkNMVURFDQorLy8NCisNCisxIFRFWFRJTkNMVURFIA0KK0JFR0lODQorICAgICJX
aW5MYXVuY2hlckxpYlJlc291cmNlLmhcMCINCitFTkQNCisNCisyIFRFWFRJTkNMVURFIA0KK0JF
R0lODQorICAgICIjZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTXHJcbiINCisgICAgIiNp
bmNsdWRlICIid2luZG93cy5oIiJcclxuIg0KKyAgICAiI3VuZGVmIEFQU1RVRElPX0hJRERFTl9T
WU1CT0xTXHJcbiINCisgICAgIlwwIg0KK0VORA0KKw0KKzMgVEVYVElOQ0xVREUgDQorQkVHSU4N
CisgICAgIlxyXG4iDQorICAgICJcMCINCitFTkQNCisNCisjZW5kaWYgICAgLy8gQVBTVFVESU9f
SU5WT0tFRA0KKw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBERVNJR05JTkZP
DQorLy8NCisNCisjaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KK0dVSURFTElORVMgREVTSUdOSU5G
Tw0KK0JFR0lODQorICAgIElERF9BQk9VVEJPWCwgRElBTE9HDQorICAgIEJFR0lODQorICAgIEVO
RA0KKw0KKyAgICBJRERfQ0FDSEVTLCBESUFMT0cNCisgICAgQkVHSU4NCisgICAgICAgIExFRlRN
QVJHSU4sIDcNCisgICAgICAgIFJJR0hUTUFSR0lOLCAzOTQNCisgICAgICAgIFRPUE1BUkdJTiwg
Nw0KKyAgICAgICAgQk9UVE9NTUFSR0lOLCA0NDkNCisgICAgRU5EDQorRU5EDQorI2VuZGlmICAg
IC8vIEFQU1RVRElPX0lOVk9LRUQNCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQor
Ly8gU3RyaW5nIFRhYmxlDQorLy8NCisNCitTVFJJTkdUQUJMRQ0KK0JFR0lODQorICAgIElEU19B
UFBfVElUTEUgICAgICAgICAgICJXaW5MYXVuY2hlciINCisgICAgSURDX1dJTkxBVU5DSEVSICAg
ICAgICAgIldJTkxBVU5DSEVSIg0KK0VORA0KKw0KKyNlbmRpZiAgICAvLyBFbmdsaXNoIChVbml0
ZWQgU3RhdGVzKSByZXNvdXJjZXMNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKw0KKw0KKw0KKyNp
Zm5kZWYgQVBTVFVESU9fSU5WT0tFRA0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBH
ZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMyByZXNvdXJjZS4NCisvLw0KKw0KKw0KKy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vDQorI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VEDQor
DQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYkNvbW1vbi5wcm9wcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzCShyZXZpc2lvbiAxNzA0MzAp
CisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGli
Q29tbW9uLnByb3BzCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBACiAgICAgICA8UHJl
Y29tcGlsZWRIZWFkZXJGaWxlPlN0ZEFmeC5oPC9QcmVjb21waWxlZEhlYWRlckZpbGU+CiAgICAg
PC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5X
aW5pbmV0LmxpYjtEYmdIZWxwLmxpYjtjb21kbGczMi5saWI7Y29tc3VwcHcubGliO2dkaTMyLmxp
Yjtjb21jdGwzMi5saWI7c2hsd2FwaS5saWI7dXNlcjMyLmxpYjtvbGUzMi5saWI7b2xlYXV0MzIu
bGliO1dlYktpdEdVSUQkKERlYnVnU3VmZml4KS5saWI7V2ViS2l0JChEZWJ1Z1N1ZmZpeCkubGli
OyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAg
ICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5XaW5pbmV0LmxpYjtEYmdIZWxwLmxpYjtjb21kbGcz
Mi5saWI7Y29tc3VwcHcubGliO2dkaTMyLmxpYjtjb21jdGwzMi5saWI7c2hsd2FwaS5saWI7dXNl
cjMyLmxpYjtvbGUzMi5saWI7b2xlYXV0MzIubGliO1dlYktpdEdVSUQkKERlYnVnU3VmZml4KS5s
aWI7V2ViS2l0JChEZWJ1Z1N1ZmZpeCkubGliO1dURiQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0
aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4K
ICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2lu
TGF1bmNoZXJMaWJSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oCShyZXZpc2lvbiAxNzA0
MzApCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVy
TGliUmVzb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKLS8ve3tOT19ERVBF
TkRFTkNJRVN9fQorLy8ge3tOT19ERVBFTkRFTkNJRVN9fQogLy8gTWljcm9zb2Z0IFZpc3VhbCBD
KysgZ2VuZXJhdGVkIGluY2x1ZGUgZmlsZS4KLS8vIFVzZWQgYnkgV2luTGF1bmNoZXIucmMKKy8v
IFVzZWQgYnkgV2luTGF1bmNoZXJMaWIucmMKIC8vCiAjZGVmaW5lIElEQ19NWUlDT04gICAgICAg
ICAgICAgICAgICAgICAgMgogI2RlZmluZSBJRERfV0lOTEFVTkNIRVJfRElBTE9HICAgICAgICAg
IDEwMgpAQCAtMTYsMTEgKzE2LDE0IEBACiAjZGVmaW5lIElETV9BQ0NfQ09NUE9TSVRJTkcgICAg
ICAgICAgICAgMTExCiAjZGVmaW5lIElETV9XS19GVUxMU0NSRUVOICAgICAgICAgICAgICAgMTEy
CiAjZGVmaW5lIElETV9DT01QT1NJVElOR19CT1JERVJTICAgICAgICAgMTEzCisjZGVmaW5lIElE
TV9DQUNIRVMgICAgICAgICAgICAgICAgICAgICAgMTE0CiAjZGVmaW5lIElETV9XRUJfSU5TUEVD
VE9SICAgICAgICAgICAgICAgMTIwCiAjZGVmaW5lIElETV9ESVNBQkxFX0lNQUdFUyAgICAgICAg
ICAgICAgMTIxCiAjZGVmaW5lIElETV9ESVNBQkxFX1NUWUxFUyAgICAgICAgICAgICAgMTIyCiAj
ZGVmaW5lIElETV9ESVNBQkxFX0pBVkFTQ1JJUFQgICAgICAgICAgMTIzCiAjZGVmaW5lIElETV9E
SVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJQ1RJT05TIDEyNAorI2RlZmluZSBJRFJfTUFJTkZSQU1F
ICAgICAgICAgICAgICAgICAgIDEyOAorI2RlZmluZSBJRERfQ0FDSEVTICAgICAgICAgICAgICAg
ICAgICAgIDEyOQogI2RlZmluZSBJRE1fSElTVE9SWV9CQUNLV0FSRCAgICAgICAgICAgIDEzMAog
I2RlZmluZSBJRE1fSElTVE9SWV9GT1JXQVJEICAgICAgICAgICAgIDEzMQogI2RlZmluZSBJRE1f
SElTVE9SWV9MSU5LMCAgICAgICAgICAgICAgIDE1MApAQCAtMzMsOCArMzYsNTcgQEAKICNkZWZp
bmUgSURNX0hJU1RPUllfTElOSzcgICAgICAgICAgICAgICAxNTcKICNkZWZpbmUgSURNX0hJU1RP
UllfTElOSzggICAgICAgICAgICAgICAxNTgKICNkZWZpbmUgSURNX0hJU1RPUllfTElOSzkgICAg
ICAgICAgICAgICAxNTkKLQotI2RlZmluZSBJRFJfTUFJTkZSQU1FICAgICAgICAgICAgICAgICAg
IDEyOAorI2RlZmluZSBJRFRfVVBEQVRFX1NUQVRTICAgICAgICAgICAgICAgIDE2MAorI2RlZmlu
ZSBJRENfRU1QVFlfVVJMX0NBQ0hFICAgICAgICAgICAgIDEwMDAKKyNkZWZpbmUgSURDX1JFVFVS
Tl9GUkVFX01FTU9SWSAgICAgICAgICAxMDAxCisjZGVmaW5lIElEQ19FTVBUWV9XRUJDT1JFX0NB
Q0hFICAgICAgICAgMTAwMgorI2RlZmluZSBJRENfQ0hFQ0sxICAgICAgICAgICAgICAgICAgICAg
IDEwMDMKKyNkZWZpbmUgSURDX0hFQVBfT0JKRUNUUyAgICAgICAgICAgICAgICAxMDA1CisjZGVm
aW5lIElEQ19HQ19KU0MgICAgICAgICAgICAgICAgICAgICAgMTAwNgorI2RlZmluZSBJRENfUkVT
RVJWRURfVk0gICAgICAgICAgICAgICAgIDEwMDcKKyNkZWZpbmUgSURDX0NPTU1JVFRFRF9WTSAg
ICAgICAgICAgICAgICAxMDA4CisjZGVmaW5lIElEQ19GUkVFX0xJU1RfQllURVMgICAgICAgICAg
ICAgMTAwOQorI2RlZmluZSBJRENfSU1BR0VTX09CSkVDVF9DT1VOVCAgICAgICAgIDEwMTEKKyNk
ZWZpbmUgSURDX0NTU19PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDEyCisjZGVmaW5lIElEQ19Y
U0xfT0JKRUNUX0NPVU5UICAgICAgICAgICAgMTAxMworI2RlZmluZSBJRENfSlNDX09CSkVDVF9D
T1VOVCAgICAgICAgICAgIDEwMTQKKyNkZWZpbmUgSURDX1RPVEFMX09CSkVDVF9DT1VOVCAgICAg
ICAgICAxMDE1CisjZGVmaW5lIElEQ19JTUFHRVNfQllURVMgICAgICAgICAgICAgICAgMTAxNgor
I2RlZmluZSBJRENfQ1NTX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTcKKyNkZWZpbmUgSURD
X1hTTF9CWVRFUyAgICAgICAgICAgICAgICAgICAxMDE4CisjZGVmaW5lIElEQ19KU0NfQllURVMg
ICAgICAgICAgICAgICAgICAgMTAxOQorI2RlZmluZSBJRENfVE9UQUxfQllURVMgICAgICAgICAg
ICAgICAgIDEwMjAKKyNkZWZpbmUgSURDX0lNQUdFU19MSVZFX0NPVU5UICAgICAgICAgICAxMDIx
CisjZGVmaW5lIElEQ19DU1NfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyMgorI2RlZmluZSBJ
RENfWFNMX0xJVkVfQ09VTlQgICAgICAgICAgICAgIDEwMjMKKyNkZWZpbmUgSURDX0pTQ19MSVZF
X0NPVU5UICAgICAgICAgICAgICAxMDI0CisjZGVmaW5lIElEQ19UT1RBTF9MSVZFX0NPVU5UICAg
ICAgICAgICAgMTAyNQorI2RlZmluZSBJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQgICAgICAgIDEw
MjYKKyNkZWZpbmUgSURDX0NTU19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI3CisjZGVmaW5l
IElEQ19YU0xfREVDT0RFRF9DT1VOVCAgICAgICAgICAgMTAyOAorI2RlZmluZSBJRENfSlNDX0RF
Q09ERURfQ09VTlQgICAgICAgICAgIDEwMjkKKyNkZWZpbmUgSURDX1RPVEFMX0RFQ09ERUQgICAg
ICAgICAgICAgICAxMDMwCisjZGVmaW5lIElEQ19JTUFHRVNfUFVSR0VBQkxFX0NPVU5UICAgICAg
MTAzMQorI2RlZmluZSBJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzIKKyNkZWZp
bmUgSURDX1hTTF9QVVJHRUFCTEVfQ09VTlQgICAgICAgICAxMDMzCisjZGVmaW5lIElEQ19KU0Nf
UFVSR0VBQkxFX0NPVU5UICAgICAgICAgMTAzNAorI2RlZmluZSBJRENfVE9UQUxfUFVSR0VBQkxF
ICAgICAgICAgICAgIDEwMzUKKyNkZWZpbmUgSURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMgICAg
ICAxMDM2CisjZGVmaW5lIElEQ19HTE9CQUxfSlNDX0hFQVBfT0JKRUNUUyAgICAgMTAzNworI2Rl
ZmluZSBJRENfUFJPVEVDVEVEX0pTQ19IRUFQX09CSkVDVFMgIDEwMzgKKyNkZWZpbmUgSURDX1NU
QVRJQzU2ICAgICAgICAgICAgICAgICAgICAxMDM5CisjZGVmaW5lIElEQ19TVEFUSUM1NyAgICAg
ICAgICAgICAgICAgICAgMTA0MAorI2RlZmluZSBJRENfSlNDX0hFQVBfU0laRSAgICAgICAgICAg
ICAgIDEwNDEKKyNkZWZpbmUgSURDX0pTQ19IRUFQX0ZSRUUgICAgICAgICAgICAgICAxMDQyCisj
ZGVmaW5lIElEQ19CVVRUT041ICAgICAgICAgICAgICAgICAgICAgMTA0MworI2RlZmluZSBJRENf
VE9UQUxfRk9OVF9PQkpFQ1RTICAgICAgICAgIDEwNDQKKyNkZWZpbmUgSURDX0lOQUNUSVZFX0ZP
TlRfT0JKRUNUUyAgICAgICAxMDQ1CisjZGVmaW5lIElEQ19HTFlQSF9QQUdFUyAgICAgICAgICAg
ICAgICAgMTA0NgorI2RlZmluZSBJRENfUEFHRV9VUkxfTUFQUElOR1MgICAgICAgICAgIDEwNDcK
KyNkZWZpbmUgSURDX1JFVEFJTkVEX1BBR0VfVVJMUyAgICAgICAgICAxMDQ4CisjZGVmaW5lIElE
Q19TSVRFX0lDT05fUkVDT1JEUyAgICAgICAgICAgMTA0OQorI2RlZmluZSBJRENfVE9UQUxfRk9O
VF9PQkpFQ1RTNSAgICAgICAgIDEwNTAKKyNkZWZpbmUgSURDX1NJVEVfSUNPTlNfV0lUSF9EQVRB
ICAgICAgICAxMDUwCiAjZGVmaW5lIElEQ19TVEFUSUMgICAgICAgICAgICAgICAgICAgICAgLTEK
IAogLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMKQEAgLTQyLDkgKzk0LDkg
QEAKICNpZmRlZiBBUFNUVURJT19JTlZPS0VECiAjaWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZ
TUJPTFMKICNkZWZpbmUgX0FQU19OT19NRkMgICAgICAgICAgICAgICAgICAgICAxCi0jZGVmaW5l
IF9BUFNfTkVYVF9SRVNPVVJDRV9WQUxVRSAgICAgICAgMTI5CisjZGVmaW5lIF9BUFNfTkVYVF9S
RVNPVVJDRV9WQUxVRSAgICAgICAgMTMwCiAjZGVmaW5lIF9BUFNfTkVYVF9DT01NQU5EX1ZBTFVF
ICAgICAgICAgMzI3NzEKLSNkZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAx
MDAwCisjZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTA0NAogI2RlZmlu
ZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAgIDExMAogI2VuZGlmCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233908</attachid>
            <date>2014-06-26 09:21:28 -0700</date>
            <delta_ts>2014-06-26 09:56:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134318-20140626092114.patch</filename>
            <type>text/plain</type>
            <size>56002</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNDQ4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6IEFkZCBtaXNzaW5nCisgICAgICAgIE1l
bW9yeVN0YXRpc3RpY3MgZmlsZXMgdG8gdGhlIFdJbmRvd3MgYnVpbGQuCisgICAgICAgICogSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisKIDIw
MTQtMDYtMjUgIERhbmEgQnVya2FydCAgPGRidXJrYXJ0QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgNS10dXBsZSB2ZXJzaW9uaW5nLgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcTWFwSXRlcmF0b3JQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxNYXBQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxNYXRoT2JqZWN0LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5U3RhdGlzdGljcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVDb25zdHJ1Y3Rvci5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVJbnN0YW5jZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVQcm90b3R5cGUuY3BwIiAvPgpAQCAtMTQ3OCw2
ICsxNDc5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwUHJvdG90
eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hdGNoUmVzdWx0
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hdGhPYmplY3QuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5U3RhdGlzdGljcy5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxNaWNyb3Rhc2suaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTmFtZUNvbnN0cnVjdG9yLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE5hbWVJbnN0YW5jZS5oIiAvPgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwkocmV2aXNpb24gMTcwNDMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjA1LDYgKzE2MDUsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXFNjcmlwdERlYnVnU2VydmVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxNZW1vcnlTdGF0aXN0aWNzLmNwcCI+CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4K
KyAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIj4KQEAgLTM5MDcs
NiArMzkxMCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0
RGVidWdMaXN0ZW5lci5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1lbW9yeVN0
YXRpc3RpY3MuaCI+CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5j
bHVkZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0i
SmF2YVNjcmlwdENvcmVQcmVMaW5rLmNtZCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzA0
NDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQu
dmN4cHJvai9XZWJLaXQvV2ViS2l0UG9zdEJ1aWxkLmNtZDogQ29weSB0aGUKKyAgICAgICAgQ0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWcgaGVhZGVyIHRvIFdlYktpdCBBUEkgZGlyZWN0b3J5LgorICAg
ICAgICAqIFdlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdlbmVyYXRvci9XZWJLaXRFeHBvcnRz
LmRlZi5pbjoKKyAgICAgICAgRXhwb3NlIHRoZSBkaWN0aW9uYXJ5IGFjY2Vzc29yIGZvciB0aGUg
Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuCisKIDIwMTQtMDYtMjMgIFJ5dWFuIENob2kgIDxyeXVh
bi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSB0aGUgV2ViS2l0MSBF
RkwgY29kZQpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0
UG9zdEJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9q
L1dlYktpdC9XZWJLaXRQb3N0QnVpbGQuY21kCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXRQb3N0QnVpbGQuY21kCSh3b3JraW5n
IGNvcHkpCkBAIC02LDYgKzYsNyBAQCB4Y29weSAveSAvZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdp
blxXZWJMCiB4Y29weSAveSAvZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdpblxXZWJLaXRHcmFwaGlj
cy5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJLaXQiCiB4Y29weSAveSAv
ZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdpblxXZWJLaXRDT01BUEkuaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViS2l0IgogeGNvcHkgL3kgL2QgIiVQUk9KRUNURElSJVwuLlwu
Llx3aW5cV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElS
JVxpbmNsdWRlXFdlYktpdCIKK3hjb3B5IC95IC9kICIlUFJPSkVDVERJUiVcLi5cLi5cd2luXENG
RGljdGlvbmFyeVByb3BlcnR5QmFnLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRl
XFdlYktpdCIKIAogeGNvcHkgL3kgL2QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVc
V2ViQ29yZVxucGFwaS5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJLaXQi
CiB4Y29weSAveSAvZCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlXG5w
ZnVuY3Rpb25zLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYktpdCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dl
YktpdEV4cG9ydHMuZGVmLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZj
eHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCShyZXZpc2lv
biAxNzA0MzApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdl
bmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbgkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3
OSw3IEBAIEVYUE9SVFMKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2NyZWF0ZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWiwgP2NyZWF0ZUBTZXJpYWxpemVk
U2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUBXZWJDb3JlQEBAV1RGQEBBRUJWU3RyaW5nQDRAQFopCiAjaWYgVVNFKENGKQogICAgICAg
ICBzeW1ib2xXaXRoUG9pbnRlcig/Y3JlYXRlQ0ZTdHJpbmdAU3RyaW5nQFdURkBAUUJFP0FWPyRS
ZXRhaW5QdHJAUEJVX19DRlN0cmluZ0BAQDJAWFosID9jcmVhdGVDRlN0cmluZ0BTdHJpbmdAV1RG
QEBRRUJBP0FWPyRSZXRhaW5QdHJAUEVCVV9fQ0ZTdHJpbmdAQEAyQFhaKQorICAgICAgICBzeW1i
b2xXaXRoUG9pbnRlcig/ZGljdGlvbmFyeUBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZ0BAUUJFUEFV
X19DRkRpY3Rpb25hcnlAQFhaLCApCiAjZW5kaWYKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIo
P2NyZWF0ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUU/QVY/JFBhc3NSZWZQdHJAVlNo
YWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAQUFIQFosID9jcmVhdGVTaGFkb3dSb290QEVsZW1lbnRA
V2ViQ29yZUBAUUVBQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBB
RUFIQFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9jcmVhdGVXcmFwcGVyQFdlYkNvcmVA
QFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFA
UEFWTm9kZUAxQEBaLCA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQ
RUFWRXhlY1N0YXRlQDNAUEVBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEVBVk5vZGVAMUBAWikKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MDQ0OCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA2LTI1ICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIEV4cG9z
ZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJDb3JlU3RhdGlzdGlj
cy5pZGw6IEFkZCBtaXNzaW5nCisgICAgICAgIEFQSSBhZGRlZCB0byBXZWJLaXQgc2luY2UgdGhp
cyB3YXMgbGFzdCB1cGRhdGVkLgorICAgICAgICAqIFdlYkNhY2hlLmNwcDoKKyAgICAgICAgKFdl
YkNhY2hlOjpzdGF0aXN0aWNzKTogQWRkIG1pc3NpbmcgZWxlbWVudHMgZm9yCisgICAgICAgIHB1
cmdhYmxlIGFuZCBwdXJnZWQgZGF0YS4KKyAgICAgICAgKiBXZWJDb3JlU3RhdGlzdGljcy5jcHA6
IFByb3ZpZGUgaW1wbGVtZW50YWlvbnMuCisgICAgICAgICogV2ViQ29yZVN0YXRpc3RpY3MuaDog
RGl0dG8uCisKIDIwMTQtMDYtMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KIAogICAgICAgICBUcnkgdG8gZml4IFdpbmRvd3MgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2Vi
Q2FjaGUuY3BwCShyZXZpc2lvbiAxNzA0MzApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNo
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDE0ICs5MSwxMiBAQCBVTE9ORyBTVERNRVRIT0RD
QUxMVFlQRSBXZWJDYWNoZTo6UmVsZWFzCiAKIC8vIElXZWJDYWNoZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAotSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdGlzdGljcygg
Ci0gICAgLyogW2luXVtvdXRdICovIGludCogY291bnQsCi0gICAgLyogW3JldHZhbF1bb3V0XSAq
LyBJUHJvcGVydHlCYWcgKiogcykKK0hSRVNVTFQgV2ViQ2FjaGU6OnN0YXRpc3RpY3MoaW50KiBj
b3VudCwgSVByb3BlcnR5QmFnKiogcykKIHsKLSAgICBpZiAoIWNvdW50IHx8IChzICYmICpjb3Vu
dCA8IDQpKQorICAgIGlmICghY291bnQgfHwgKHMgJiYgKmNvdW50IDwgNikpCiAgICAgICAgIHJl
dHVybiBFX0ZBSUw7CiAKLSAgICAqY291bnQgPSA0OworICAgICpjb3VudCA9IDY7CiAgICAgaWYg
KCFzKQogICAgICAgICByZXR1cm4gU19PSzsKIApAQCAtMTEyLDYgKzExMCw3IEBAIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0YXQKICAgICBjb25zdCBpbnQgemVybyA9IDA7
CiAjZW5kaWYKIAorICAgIC8vIENvdW50cwogICAgIFJldGFpblB0cjxDRk11dGFibGVEaWN0aW9u
YXJ5UmVmPiBkaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAs
IDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFs
dWVDYWxsQmFja3MpKTsKIAogICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gdmFsdWUgPSBhZG9w
dENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LmltYWdlcy5jb3Vu
dCkpOwpAQCAtMTM0LDYgKzEzMyw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2Fj
aGU6OnN0YXQKICAgICBwcm9wQmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOwog
ICAgIHNbMF0gPSBwcm9wQmFnLmxlYWtSZWYoKTsKIAorICAgIC8vIFNpemVzCiAgICAgZGljdGlv
bmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgwLCAwLCAma0NGVHlwZURp
Y3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7
CiAKICAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlw
ZSwgJnN0YXQuaW1hZ2VzLnNpemUpKTsKQEAgLTE1Niw2ICsxNTYsNyBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYkNhY2hlOjpzdGF0CiAgICAgcHJvcEJhZy0+c2V0RGljdGlvbmFyeShk
aWN0aW9uYXJ5LmdldCgpKTsKICAgICBzWzFdID0gcHJvcEJhZy5sZWFrUmVmKCk7CiAKKyAgICAv
LyBMaXZlIFNpemVzCiAgICAgZGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRl
TXV0YWJsZSgwLCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGlj
dGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAKICAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJD
cmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuaW1hZ2VzLmxpdmVTaXplKSk7CkBAIC0x
NzgsNiArMTc5LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdAog
ICAgIHByb3BCYWctPnNldERpY3Rpb25hcnkoZGljdGlvbmFyeS5nZXQoKSk7CiAgICAgc1syXSA9
IHByb3BCYWcubGVha1JlZigpOwogCisgICAgLy8gRGVjb2RlZCBTaXplcwogICAgIGRpY3Rpb25h
cnkgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0
aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwog
CiAgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUs
ICZzdGF0LmltYWdlcy5kZWNvZGVkU2l6ZSkpOwpAQCAtMjAwLDYgKzIwMiw1MiBAQCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFdlYkNhY2hlOjpzdGF0CiAgICAgcHJvcEJhZy0+c2V0RGljdGlv
bmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKICAgICBzWzNdID0gcHJvcEJhZy5sZWFrUmVmKCk7CiAK
KyAgICAvLyBQdXJnYWJsZSBTaXplcworICAgIGRpY3Rpb25hcnkgPSBhZG9wdENGKENGRGljdGlv
bmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAm
a0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOworCisgICAgdmFsdWUgPSBhZG9wdENG
KENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LmltYWdlcy5wdXJnZWFi
bGVTaXplKSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5nZXQoKSwgaW1h
Z2VzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVh
dGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuY3NzU3R5bGVTaGVldHMucHVyZ2VhYmxlU2l6
ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHN0eWxlc2hl
ZXRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyNpZiBFTkFCTEUoWFNMVCkKKyAgICB2YWx1ZSA9IGFk
b3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQueHNsU3R5bGVT
aGVldHMucHVyZ2VhYmxlU2l6ZSkpOworI2Vsc2UKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZOdW1i
ZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnplcm8pKTsKKyNlbmRpZgorICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHhzbEtleSwgdmFsdWUuZ2V0KCkpOwor
CisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUs
ICZzdGF0LnNjcmlwdHMucHVyZ2VhYmxlU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRpY3Rpb25hcnkuZ2V0KCksIHNjcmlwdHNLZXksIHZhbHVlLmdldCgpKTsKKworICAgIHByb3BC
YWcgPSBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZzo6Y3JlYXRlSW5zdGFuY2UoKTsKKyAgICBwcm9w
QmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOworICAgIHNbNF0gPSBwcm9wQmFn
LmxlYWtSZWYoKTsKKworICAgIC8vIFB1cmdlZCBTaXplcworICAgIGRpY3Rpb25hcnkgPSBhZG9w
dENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5
Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOworCisgICAgdmFs
dWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0Lmlt
YWdlcy5wdXJnZWRTaXplKSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5n
ZXQoKSwgaW1hZ2VzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZO
dW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQuY3NzU3R5bGVTaGVldHMucHVy
Z2VkU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHN0
eWxlc2hlZXRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyNpZiBFTkFCTEUoWFNMVCkKKyAgICB2YWx1
ZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnN0YXQueHNs
U3R5bGVTaGVldHMucHVyZ2VkU2l6ZSkpOworI2Vsc2UKKyAgICB2YWx1ZSA9IGFkb3B0Q0YoQ0ZO
dW1iZXJDcmVhdGUoMCwga0NGTnVtYmVySW50VHlwZSwgJnplcm8pKTsKKyNlbmRpZgorICAgIENG
RGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIHhzbEtleSwgdmFsdWUuZ2V0KCkp
OworCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5
cGUsICZzdGF0LnNjcmlwdHMucHVyZ2VkU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGRpY3Rpb25hcnkuZ2V0KCksIHNjcmlwdHNLZXksIHZhbHVlLmdldCgpKTsKKworICAgIHByb3BC
YWcgPSBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZzo6Y3JlYXRlSW5zdGFuY2UoKTsKKyAgICBwcm9w
QmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOworICAgIHNbNV0gPSBwcm9wQmFn
LmxlYWtSZWYoKTsKKwogICAgIHJldHVybiBTX09LOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3RhdGlzdGljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdGF0aXN0aWNzLmgJKHJldmlzaW9uIDE3MDQzMCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdGF0aXN0aWNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxNCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY0LDEwICs2NCwyNyBAQCBw
dWJsaWM6CiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gVUlOVCAqY291bnQpOwogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZWRGb250RGF0YUluYWN0aXZlQ291
bnQoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIFVJTlQgKmNvdW50KTsKLSAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcHVyZ2VJbmFjdGl2ZUZvbnREYXRhKHZvaWQp
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwdXJnZUluYWN0aXZlRm9u
dERhdGEoKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZ2x5cGhQYWdl
Q291bnQoIAogICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIFVJTlQgKmNvdW50KTsKIAorICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBqYXZhU2NyaXB0T2JqZWN0VHlwZUNv
dW50cygvKiBbcmV0dmFsXVtvdXRdICovIElQcm9wZXJ0eUJhZzIqKiB0eXBlTmFtZXNBbmRDb3Vu
dHMpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBnYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYmplY3RzKCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHNPbkFsdGVybmF0ZVRocmVhZEZvckRl
YnVnZ2luZyhCT09MIHdhaXRVbnRpbERvbmUpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChCT09M
KTsKKworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzaG91bGRQcmludEV4
Y2VwdGlvbnMoQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRTaG91bGRQcmludEV4Y2VwdGlvbnMoQk9PTCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc3RhcnRJZ25vcmluZ1dlYkNvcmVOb2RlTGVha3MoKTsKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc3RvcElnbm9yaW5nV2ViQ29yZU5vZGVMZWFr
cygpOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIG1lbW9yeVN0YXRp
c3RpY3MoLyogW3JldHZhbF1bb3V0XSAqLyBJUHJvcGVydHlCYWcqKiBzdGF0aXN0aWNzKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmV0dXJuRnJlZU1lbW9yeVRvU3lz
dGVtKCk7CisKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FjaGVkUGFn
ZUNvdW50KC8qIFtyZXR2YWxdW291dF0gKi8gSU5UICpjb3VudCk7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNhY2hlZEZyYW1lQ291bnQoLyogW3JldHZhbF1bb3V0XSAq
LyBJTlQgKmNvdW50KTsKKwogcHJvdGVjdGVkOgogICAgIFVMT05HIG1fcmVmQ291bnQ7CiB9OwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQ29yZVN0YXRpc3RpY3MuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkNvcmVTdGF0
aXN0aWNzLmlkbAkocmV2aXNpb24gMTcwNDMwKQorKysgU291cmNlL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9JV2ViQ29yZVN0YXRpc3RpY3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTQgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01Myw0ICs1MywyMSBA
QCBpbnRlcmZhY2UgSVdlYkNvcmVTdGF0aXN0aWNzIDogSVVua25vd24KICAgICBIUkVTVUxUIGds
eXBoUGFnZUNvdW50KFtvdXQsIHJldHZhbF0gVUlOVCogY291bnQpOwogCiAgICAgSFJFU1VMVCBq
YXZhU2NyaXB0UHJvdGVjdGVkT2JqZWN0VHlwZUNvdW50cyhbb3V0LCByZXR2YWxdIElQcm9wZXJ0
eUJhZzIqKiB0eXBlTmFtZXNBbmRDb3VudHMpOworICAgIEhSRVNVTFQgamF2YVNjcmlwdE9iamVj
dFR5cGVDb3VudHMoW291dCwgcmV0dmFsXSBJUHJvcGVydHlCYWcyKiogdHlwZU5hbWVzQW5kQ291
bnRzKTsKKworICAgIEhSRVNVTFQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cygpOwor
ICAgIEhSRVNVTFQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0c09uQWx0ZXJuYXRlVGhy
ZWFkRm9yRGVidWdnaW5nKFtpbl0gQk9PTCB3YWl0VW50aWxEb25lKTsKKyAgICBIUkVTVUxUIHNl
dEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKFtpbl0gQk9PTCk7CisKKyAg
ICBIUkVTVUxUIHNob3VsZFByaW50RXhjZXB0aW9ucyhbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAg
ICBIUkVTVUxUIHNldFNob3VsZFByaW50RXhjZXB0aW9ucyhbaW5dIEJPT0wpOworCisgICAgSFJF
U1VMVCBzdGFydElnbm9yaW5nV2ViQ29yZU5vZGVMZWFrcygpOworICAgIEhSRVNVTFQgc3RvcEln
bm9yaW5nV2ViQ29yZU5vZGVMZWFrcygpOworCisgICAgSFJFU1VMVCBtZW1vcnlTdGF0aXN0aWNz
KFtvdXQsIHJldHZhbF0gSVByb3BlcnR5QmFnKiogc3RhdGlzdGljcyk7CisgICAgSFJFU1VMVCBy
ZXR1cm5GcmVlTWVtb3J5VG9TeXN0ZW0oKTsKKworICAgIEhSRVNVTFQgY2FjaGVkUGFnZUNvdW50
KFtvdXQsIHJldHZhbF0gSU5UKiBjb3VudCk7CisgICAgSFJFU1VMVCBjYWNoZWRGcmFtZUNvdW50
KFtvdXQsIHJldHZhbF0gSU5UKiBjb3VudCk7CiB9CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzA0NDgpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wNi0yNSAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBFeHBvc2Ug
Q2FjaGUgSW5mb3JtYXRpb24gdG8gV2luTGF1bmNoZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDMxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2luTGF1bmNoZXIvQ29tbW9uLmNwcDogVXBkYXRl
IGZvciBuZXcgZGlhbG9nLgorICAgICAgICAqIFdpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmNwcDog
QWRkIHN1cHBvcnQgZm9yIFdlYkNhY2hlCisgICAgICAgIGFuZCBXZWJDb3JlU3RhdGlzdGljcy4K
KyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oOgorICAgICAgICAqIFdpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmM6CisgICAgICAgIFVwZGF0
ZSBmb3IgbmV3IENhY2hlIERpYWxvZy4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hl
ci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29tbW9uLnByb3BzOiBMaW5rIHRvCisgICAgICAgIFdU
Ri5saWIKKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaDogVXBkYXRlCisgICAgICAgIGZvciBuZXcgRGlhbG9nLgorCiAyMDE0
LTA2LTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGFuIHVuZG8gZ3JvdXAgZm9yIGVhY2ggZGljdGF0ZWQgdXR0ZXJhbmNlIGluIFdlYktpdApJ
bmRleDogVG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
aW5MYXVuY2hlci9Db21tb24uY3BwCShyZXZpc2lvbiAxNzA0MzApCisrKyBUb29scy9XaW5MYXVu
Y2hlci9Db21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw5ICszNCwxMiBAQAogI2luY2x1
ZGUgPFdlYktpdC9XZWJLaXRDT01BUEkuaD4KICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+
CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgVVNFKENGKQogI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NGUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYktpdC9DRkRpY3Rp
b25hcnlQcm9wZXJ0eUJhZy5oPgogI2VuZGlmCiAKICNpbmNsdWRlIDxjYXNzZXJ0PgpAQCAtNjIs
NyArNjUsNiBAQCBzdGF0aWMgY29uc3QgaW50IG1heEhpc3RvcnlTaXplID0gMTA7CiAKIHR5cGVk
ZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2YoSVdlYkZyYW1lKT4+
IElXZWJGcmFtZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYk11dGFibGVV
UkxSZXF1ZXN0LCAmX191dWlkb2YoSVdlYk11dGFibGVVUkxSZXF1ZXN0KT4+IElXZWJNdXRhYmxl
VVJMUmVxdWVzdFB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkNhY2hlLCAm
X191dWlkb2YoSVdlYkNhY2hlKT4+IElXZWJDYWNoZVB0cjsKIAogLy8gR2xvYmFsIFZhcmlhYmxl
czoKIEhJTlNUQU5DRSBoSW5zdDsKQEAgLTcwLDYgKzcyLDcgQEAgSFdORCBoTWFpblduZDsKIEhX
TkQgaFVSTEJhclduZDsKIEhXTkQgaEJhY2tCdXR0b25XbmQ7CiBIV05EIGhGb3J3YXJkQnV0dG9u
V25kOworSFdORCBoQ2FjaGVXbmQ7CiBXTkRQUk9DIERlZkVkaXRQcm9jID0gbnVsbHB0cjsKIFdO
RFBST0MgRGVmQnV0dG9uUHJvYyA9IG51bGxwdHI7CiBXTkRQUk9DIERlZldlYktpdFByb2MgPSBu
dWxscHRyOwpAQCAtOTAsOCArOTMsMTAgQEAgTFJFU1VMVCBDQUxMQkFDSyBFZGl0UHJvYyhIV05E
LCBVSU5ULCBXUAogTFJFU1VMVCBDQUxMQkFDSyBCYWNrQnV0dG9uUHJvYyhIV05ELCBVSU5ULCBX
UEFSQU0sIExQQVJBTSk7CiBMUkVTVUxUIENBTExCQUNLIEZvcndhcmRCdXR0b25Qcm9jKEhXTkQs
IFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIExSRVNVTFQgQ0FMTEJBQ0sgUmVsb2FkQnV0dG9uUHJv
YyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CitJTlRfUFRSIENBTExCQUNLIENhY2hlcyhI
V05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CiAKIHN0YXRpYyB2b2lkIGxvYWRVUkwoQlNUUiB1
cmxCU3RyKTsKK3N0YXRpYyB2b2lkIHVwZGF0ZVN0YXRpc3RpY3MoSFdORCBoRGxnKTsKIAogc3Rh
dGljIHZvaWQgcmVzaXplU3ViVmlld3MoKQogewpAQCAtMTU1LDEwICsxNjAsOCBAQCBzdGF0aWMg
Ym9vbCBnZXRBcHBEYXRhRm9sZGVyKF9ic3RyX3QmIGRpCiAKIHN0YXRpYyBib29sIHNldENhY2hl
Rm9sZGVyKCkKIHsKLSAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGU7Ci0KLSAgICBIUkVTVUxUIGhy
ID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURfV2ViQ2FjaGUsIDAsIF9fdXVpZG9mKHdlYkNh
Y2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3ZWJDYWNoZS5HZXRJbnRlcmZhY2VQdHIo
KSkpOwotICAgIGlmIChGQUlMRUQoaHIpKQorICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZSA9IGdX
aW5MYXVuY2hlci0+d2ViQ2FjaGUoKTsKKyAgICBpZiAoIXdlYkNhY2hlKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBfYnN0cl90IGFwcERhdGFGb2xkZXI7CkBAIC0zNzksNiArMzgyLDEy
IEBAIExSRVNVTFQgQ0FMTEJBQ0sgV25kUHJvYyhIV05EIGhXbmQsIFVJTlQKICAgICAgICAgICAg
IGlmIChnV2luTGF1bmNoZXIpCiAgICAgICAgICAgICAgICAgZ1dpbkxhdW5jaGVyLT5sYXVuY2hJ
bnNwZWN0b3IoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElETV9DQUNIRVM6
CisgICAgICAgICAgICBpZiAoITo6SXNXaW5kb3coaENhY2hlV25kKSkgeworICAgICAgICAgICAg
ICAgIGhDYWNoZVduZCA9IENyZWF0ZURpYWxvZyhoSW5zdCwgTUFLRUlOVFJFU09VUkNFKElERF9D
QUNIRVMpLCBoV25kLCBDYWNoZXMpOworICAgICAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhoQ2Fj
aGVXbmQsIFNXX1NIT1cpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgSURNX0hJU1RPUllfQkFDS1dBUkQ6CiAgICAgICAgIGNhc2UgSURNX0hJU1RPUllf
Rk9SV0FSRDoKICAgICAgICAgICAgIGlmIChnV2luTGF1bmNoZXIpCkBAIC00NzYsNiArNDg1LDM1
IEBAIElOVF9QVFIgQ0FMTEJBQ0sgQWJvdXQoSFdORCBoRGxnLCBVSU5UIG0KICAgICByZXR1cm4g
KElOVF9QVFIpRkFMU0U7CiB9CiAKK0lOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhXTkQgaERsZywg
VUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQoreworICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIobFBhcmFtKTsKKyAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKKyAgICBj
YXNlIFdNX0lOSVRESUFMT0c6CisgICAgICAgIDo6U2V0VGltZXIoaERsZywgSURUX1VQREFURV9T
VEFUUywgMTAwMCwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOworCisg
ICAgY2FzZSBXTV9DT01NQU5EOgorICAgICAgICBpZiAoTE9XT1JEKHdQYXJhbSkgPT0gSURPSyB8
fCBMT1dPUkQod1BhcmFtKSA9PSBJRENBTkNFTCkgeworICAgICAgICAgICAgOjpLaWxsVGltZXIo
aERsZywgSURUX1VQREFURV9TVEFUUyk7CisgICAgICAgICAgICA6OkRlc3Ryb3lXaW5kb3coaERs
Zyk7CisgICAgICAgICAgICBoQ2FjaGVXbmQgPSAwOworICAgICAgICAgICAgcmV0dXJuIChJTlRf
UFRSKVRSVUU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElEVF9VUERB
VEVfU1RBVFM6CisgICAgICAgIDo6SW52YWxpZGF0ZVJlY3QoaERsZywgbnVsbHB0ciwgRkFMU0Up
OworICAgICAgICByZXR1cm4gKElOVF9QVFIpVFJVRTsKKworICAgIGNhc2UgV01fUEFJTlQ6Cisg
ICAgICAgIHVwZGF0ZVN0YXRpc3RpY3MoaERsZyk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwor
ICAgIHJldHVybiAoSU5UX1BUUilGQUxTRTsKK30KKwogc3RhdGljIHZvaWQgbG9hZFVSTChCU1RS
IHBhc3NlZFVSTCkKIHsKICAgICBpZiAoRkFJTEVEKGdXaW5MYXVuY2hlci0+bG9hZFVSTChwYXNz
ZWRVUkwpKSkKQEAgLTQ4NCw2ICs1MjIsMTY3IEBAIHN0YXRpYyB2b2lkIGxvYWRVUkwoQlNUUiBw
YXNzZWRVUkwpCiAgICAgU2V0Rm9jdXMoZ1ZpZXdXaW5kb3cpOwogfQogCitzdGF0aWMgdm9pZCBz
ZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBfYnN0cl90IHZhbHVlKQorewor
ICAgIDo6U2V0RGxnSXRlbVRleHQoZGlhbG9nLCBmaWVsZCwgdmFsdWUpOworfQorCitzdGF0aWMg
dm9pZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBVSU5UIHZhbHVlKQor
eworICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUpOworCisg
ICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5k
YXRhKCkpKTsKK30KKwordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJUHJvcGVydHlCYWcs
ICZfX3V1aWRvZihJUHJvcGVydHlCYWcpPj4gSVByb3BlcnR5QmFnUHRyOworCitzdGF0aWMgdm9p
ZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBJUHJvcGVydHlCYWdQdHIg
c3RhdGlzdGljcywgY29uc3QgX2JzdHJfdCYga2V5KQoreworICAgIFZBUklBTlQgdmFyOworICAg
IDo6VmFyaWFudEluaXQoJnZhcik7CisgICAgVl9WVCgmdmFyKSA9IFZUX1VJODsKKyAgICBpZiAo
RkFJTEVEKHN0YXRpc3RpY3MtPlJlYWQoa2V5LCAmdmFyLCAwKSkpIHsKKyAgICAgICAgOjpWYXJp
YW50Q2xlYXIoJnZhcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBs
b25nIGxvbmcgdmFsdWUgPSBWX1VJOCgmdmFyKTsKKyAgICBTdHJpbmcgdmFsdWVTdHIgPSBXVEY6
OlN0cmluZzo6bnVtYmVyKHZhbHVlKTsKKworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBmaWVs
ZCwgX2JzdHJfdCh2YWx1ZVN0ci51dGY4KCkuZGF0YSgpKSk7CisgICAgOjpWYXJpYW50Q2xlYXIo
JnZhcik7Cit9CisKK3N0YXRpYyB2b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQg
ZmllbGQsIENGRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5LCBDRlN0cmluZ1JlZiBrZXksIFVJTlQm
IHRvdGFsKQoreworICAgIENGTnVtYmVyUmVmIGNvdW50TnVtID0gc3RhdGljX2Nhc3Q8Q0ZOdW1i
ZXJSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGRpY3Rpb25hcnksIGtleSkpOworICAgIGlmICgh
Y291bnROdW0pCisgICAgICAgIHJldHVybjsKKworICAgIGludCBjb3VudCA9IDA7CisgICAgQ0ZO
dW1iZXJHZXRWYWx1ZShjb3VudE51bSwga0NGTnVtYmVySW50VHlwZSwgJmNvdW50KTsKKworICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBmaWVsZCwgc3RhdGljX2Nhc3Q8VUlOVD4oY291bnQpKTsK
KyAgICB0b3RhbCArPSBjb3VudDsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlU3RhdGlzdGljcyhI
V05EIGRpYWxvZykKK3sKKyAgICBpZiAoIWdXaW5MYXVuY2hlcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgSVdlYkNvcmVTdGF0aXN0aWNzUHRyIHdlYkNvcmVTdGF0aXN0aWNzID0gZ1dpbkxhdW5j
aGVyLT5zdGF0aXN0aWNzKCk7CisgICAgaWYgKCF3ZWJDb3JlU3RhdGlzdGljcykKKyAgICAgICAg
cmV0dXJuOworCisgICAgSVByb3BlcnR5QmFnUHRyIHN0YXRpc3RpY3M7CisgICAgSFJFU1VMVCBo
ciA9IHdlYkNvcmVTdGF0aXN0aWNzLT5tZW1vcnlTdGF0aXN0aWNzKCZzdGF0aXN0aWNzLkdldElu
dGVyZmFjZVB0cigpKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gRmFzdE1hbGxvYworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUkVTRVJWRURf
Vk0sIHN0YXRpc3RpY3MsICJGYXN0TWFsbG9jUmVzZXJ2ZWRWTUJ5dGVzIik7CisgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19DT01NSVRURURfVk0sIHN0YXRpc3RpY3MsICJGYXN0TWFsbG9j
Q29tbWl0dGVkVk1CeXRlcyIpOworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfRlJFRV9M
SVNUX0JZVEVTLCBzdGF0aXN0aWNzLCAiRmFzdE1hbGxvY0ZyZWVMaXN0Qnl0ZXMiKTsKKworICAg
IC8vIFdlYkNvcmUgQ2FjaGUKKyNpZiBVU0UoQ0YpCisgICAgSVdlYkNhY2hlUHRyIHdlYkNhY2hl
ID0gZ1dpbkxhdW5jaGVyLT53ZWJDYWNoZSgpOworCisgICAgaW50IGRpY3RDb3VudCA9IDY7Cisg
ICAgSVByb3BlcnR5QmFnKiBjYWNoZURpY3RbNl0gPSB7IDAgfTsKKyAgICBpZiAoRkFJTEVEKHdl
YkNhY2hlLT5zdGF0aXN0aWNzKCZkaWN0Q291bnQsIGNhY2hlRGljdCkpKQorICAgICAgICByZXR1
cm47CisKKyAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGNvdW50cywgc2l6ZXMs
IGxpdmVTaXplcywgZGVjb2RlZFNpemVzLCBwdXJnYWJsZVNpemVzOworICAgIGNvdW50cy5hZG9w
dFJlZihyZWludGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0
WzBdKSk7CisgICAgc2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQ
cm9wZXJ0eUJhZyo+KGNhY2hlRGljdFsxXSkpOworICAgIGxpdmVTaXplcy5hZG9wdFJlZihyZWlu
dGVycHJldF9jYXN0PENGRGljdGlvbmFyeVByb3BlcnR5QmFnKj4oY2FjaGVEaWN0WzJdKSk7Cisg
ICAgZGVjb2RlZFNpemVzLmFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJv
cGVydHlCYWcqPihjYWNoZURpY3RbM10pKTsKKyAgICBwdXJnYWJsZVNpemVzLmFkb3B0UmVmKHJl
aW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbNF0pKTsK
KworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBpbWFnZXNLZXkgPSBDRlNUUigiaW1hZ2VzIik7Cisg
ICAgc3RhdGljIENGU3RyaW5nUmVmIHN0eWxlc2hlZXRzS2V5ID0gQ0ZTVFIoInN0eWxlIHNoZWV0
cyIpOworICAgIHN0YXRpYyBDRlN0cmluZ1JlZiB4c2xLZXkgPSBDRlNUUigieHNsIik7CisgICAg
c3RhdGljIENGU3RyaW5nUmVmIHNjcmlwdHNLZXkgPSBDRlNUUigic2NyaXB0cyIpOworCisgICAg
aWYgKGNvdW50cykgeworICAgICAgICBVSU5UIHRvdGFsT2JqZWN0cyA9IDA7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX09CSkVDVF9DT1VOVCwgY291bnRzLT5kaWN0
aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxPYmplY3RzKTsKKyAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19DU1NfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgc3R5
bGVzaGVldHNLZXksIHRvdGFsT2JqZWN0cyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfWFNMX09CSkVDVF9DT1VOVCwgY291bnRzLT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90
YWxPYmplY3RzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfT0JKRUNU
X0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxPYmplY3RzKTsK
KyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQsIHRv
dGFsT2JqZWN0cyk7CisgICAgfQorCisgICAgaWYgKHNpemVzKSB7CisgICAgICAgIFVJTlQgdG90
YWxCeXRlcyA9IDA7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0JZ
VEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsQnl0ZXMpOworICAgICAg
ICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0NTU19CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnko
KSwgc3R5bGVzaGVldHNLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX1hTTF9CWVRFUywgc2l6ZXMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3RhbEJ5
dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfQllURVMsIHNpemVz
LT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXksIHRvdGFsQnl0ZXMpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0JZVEVTLCB0b3RhbEJ5dGVzKTsKKyAgICB9CisKKyAg
ICBpZiAobGl2ZVNpemVzKSB7CisgICAgICAgIFVJTlQgdG90YWxMaXZlQnl0ZXMgPSAwOworICAg
ICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19MSVZFX0NPVU5ULCBsaXZlU2l6
ZXMtPmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlv
bmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxMaXZlQnl0ZXMpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX1hTTF9MSVZFX0NPVU5ULCBsaXZlU2l6ZXMtPmRpY3Rpb25hcnko
KSwgeHNsS2V5LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfSlNDX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5
LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9U
QUxfTElWRV9DT1VOVCwgdG90YWxMaXZlQnl0ZXMpOworICAgIH0KKworICAgIGlmIChkZWNvZGVk
U2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbERlY29kZWQgPSAwOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19ERUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRp
Y3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbERlY29kZWQpOworICAgICAgICBzZXRXaW5kb3dU
ZXh0KGRpYWxvZywgSURDX0NTU19ERUNPREVEX0NPVU5ULCBkZWNvZGVkU2l6ZXMtPmRpY3Rpb25h
cnkoKSwgc3R5bGVzaGVldHNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1Rl
eHQoZGlhbG9nLCBJRENfWFNMX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFy
eSgpLCB4c2xLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9n
LCBJRENfSlNDX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFyeSgpLCBzY3Jp
cHRzS2V5LCB0b3RhbERlY29kZWQpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURD
X1RPVEFMX0RFQ09ERUQsIHRvdGFsRGVjb2RlZCk7CisgICAgfQorCisgICAgaWYgKHB1cmdhYmxl
U2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbFB1cmdhYmxlID0gMDsKKyAgICAgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVz
LT5kaWN0aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNldFdp
bmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+
ZGljdGlvbmFyeSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNl
dFdpbmRvd1RleHQoZGlhbG9nLCBJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXpl
cy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsUHVyZ2FibGUpOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0pTQ19QVVJHRUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMtPmRp
Y3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfVE9UQUxfUFVSR0VBQkxFLCB0b3RhbFB1cmdhYmxlKTsKKyAgICB9
CisjZW5kaWYKKworICAgIC8vIEphdmFTY3JpcHQgSGVhcAorICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfSlNDX0hFQVBfU0laRSwgc3RhdGlzdGljcywgIkphdmFTY3JpcHRIZWFwU2l6ZSIp
OworICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSlNDX0hFQVBfRlJFRSwgc3RhdGlzdGlj
cywgIkphdmFTY3JpcHRGcmVlU2l6ZSIpOworCisgICAgVUlOVCBjb3VudDsKKyAgICBpZiAoU1VD
Q0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2NyaXB0T2JqZWN0c0NvdW50KCZjb3VudCkp
KQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0pTQ19IRUFQX09CSkVD
VFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2Ny
aXB0R2xvYmFsT2JqZWN0c0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRp
YWxvZywgSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+amF2YVNjcmlwdFByb3RlY3RlZE9iamVjdHNDb3VudCgm
Y291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19QUk9URUNURURfSlND
X0hFQVBfT0JKRUNUUywgY291bnQpOworCisgICAgLy8gRm9udCBhbmQgR2x5cGggQ2FjaGVzCisg
ICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+Y2FjaGVkRm9udERhdGFDb3VudCgm
Y291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RBTF9GT05UX09C
SkVDVFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5jYWNo
ZWRGb250RGF0YUluYWN0aXZlQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQo
ZGlhbG9nLCBJRENfSU5BQ1RJVkVfRk9OVF9PQkpFQ1RTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NF
RURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+Z2x5cGhQYWdlQ291bnQoJmNvdW50KSkpCisgICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfR0xZUEhfUEFHRVMsIGNvdW50KTsKKworICAgIC8v
IFNpdGUgSWNvbiBEYXRhYmFzZQorICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3Mt
Pmljb25QYWdlVVJMTWFwcGluZ0NvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX1BBR0VfVVJMX01BUFBJTkdTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NFRURF
RCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblJldGFpbmVkUGFnZVVSTENvdW50KCZjb3VudCkpKQor
ICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1JFVEFJTkVEX1BBR0VfVVJMUywgY291
bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmljb25SZWNvcmRDb3Vu
dCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19TSVRFX0lDT05f
UkVDT1JEUywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmlj
b25zV2l0aERhdGFDb3VudCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSwgY291bnQpOworfQorCiBleHRlcm4gIkMiIF9fZGVj
bHNwZWMoZGxsZXhwb3J0KSBpbnQgV0lOQVBJIGRsbExhdW5jaGVyRW50cnlQb2ludChISU5TVEFO
Q0UgaEluc3RhbmNlLCBISU5TVEFOQ0UgaFByZXZJbnN0YW5jZSwgTFBXU1RSIGxwc3RyQ21kTGlu
ZSwgaW50IG5DbWRTaG93KQogewogICAgIHJldHVybiB3V2luTWFpbihoSW5zdGFuY2UsIGhQcmV2
SW5zdGFuY2UsIGxwc3RyQ21kTGluZSwgbkNtZFNob3cpOwpJbmRleDogVG9vbHMvV2luTGF1bmNo
ZXIvV2luTGF1bmNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxh
dW5jaGVyLmNwcAkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBACiBzdGF0aWMgY29uc3Qg
aW50IG1heEhpc3RvcnlTaXplID0gMTA7CiAKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYk11dGFibGVVUkxSZXF1ZXN0LCAmX191dWlkb2YoSVdlYk11dGFibGVVUkxSZXF1ZXN0KT4+
IElXZWJNdXRhYmxlVVJMUmVxdWVzdFB0cjsKLXR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYkNhY2hlLCAmX191dWlkb2YoSVdlYkNhY2hlKT4+IElXZWJDYWNoZVB0cjsKIAogV2luTGF1
bmNoZXI6OldpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQsIGJvb2wgdXNl
TGF5ZXJlZFdlYlZpZXcpCiAgICAgOiBtX2hNYWluV25kKG1haW5XbmQpCkBAIC03MCw2ICs2OSwx
NCBAQCBIUkVTVUxUIFdpbkxhdW5jaGVyOjppbml0KCkKICAgICAgICAgcmV0dXJuIGhyOwogCiAg
ICAgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJIaXN0b3J5LCAwLCBfX3V1aWRv
ZihtX3dlYkhpc3RvcnkpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJm1fd2ViSGlzdG9yeS5H
ZXRJbnRlcmZhY2VQdHIoKSkpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4g
aHI7CisKKyAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkNvcmVTdGF0aXN0
aWNzLCAwLCBfX3V1aWRvZihtX3N0YXRpc3RpY3MpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4o
Jm1fc3RhdGlzdGljcy5HZXRJbnRlcmZhY2VQdHIoKSkpOworICAgIGlmIChGQUlMRUQoaHIpKQor
ICAgICAgICByZXR1cm4gaHI7CisKKyAgICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lE
X1dlYkNhY2hlLCAwLCBfX3V1aWRvZihtX3dlYkNhY2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kio+KCZtX3dlYkNhY2hlLkdldEludGVyZmFjZVB0cigpKSk7CiAKICAgICByZXR1cm4gaHI7CiB9
CkluZGV4OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgJKHJldmlzaW9uIDE3MDQzMCkKKysrIFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMzEgKzEsMzEg
QEAKLS8qDQotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQotICoNCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCi0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCi0gKiBhcmUgbWV0Og0K
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0DQotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQ0KLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQotICoNCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkNCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQ0KLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUg0KLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SDQotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsDQotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUg0KLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkNCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiANCi0gKi8NCi0NCi0jaW5jbHVkZSA8V2ViS2l0L1dlYktpdC5oPg0KLSNpbmNsdWRl
IDx2ZWN0b3I+DQotDQorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKIHR5
cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkZyYW1lLCAmX191dWlkb2YoSVdlYkZyYW1l
KT4+IElXZWJGcmFtZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlZpZXcs
ICZfX3V1aWRvZihJV2ViVmlldyk+PiBJV2ViVmlld1B0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxf
Y29tX0lJSUQ8SVdlYlZpZXdQcml2YXRlLCAmX191dWlkb2YoSVdlYlZpZXdQcml2YXRlKT4+IElX
ZWJWaWV3UHJpdmF0ZVB0cjsKQEAgLTM3LDU0ICszNyw2MCBAQCB0eXBlZGVmIF9jb21fcHRyX3Q8
X2NvbV9JSUlEPElXZWJQcmVmZXJlCiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJV
SURlbGVnYXRlLCAmX191dWlkb2YoSVdlYlVJRGVsZWdhdGUpPj4gSVdlYlVJRGVsZWdhdGVQdHI7
CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUsICZf
X3V1aWRvZihJQWNjZXNzaWJpbGl0eURlbGVnYXRlKT4+IElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQ
dHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJJbnNwZWN0b3IsICZfX3V1aWRv
ZihJV2ViSW5zcGVjdG9yKT4+IElXZWJJbnNwZWN0b3JQdHI7Ci0NCi1jbGFzcyBXaW5MYXVuY2hl
cg0KLXsNCi1wdWJsaWM6DQotICAgIFdpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxC
YXJXbmQsIGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcgPSBmYWxzZSk7DQotDQotICAgIEhSRVNVTFQg
aW5pdCgpOw0KLSAgICBIUkVTVUxUIHByZXBhcmVWaWV3cyhIV05EIG1haW5XbmQsIGNvbnN0IFJF
Q1QmIGNsaWVudFJlY3QsIGNvbnN0IEJTVFImIHJlcXVlc3RlZFVSTCwgSFdORCYgdmlld1duZCk7
DQotDQordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ29yZVN0YXRpc3RpY3MsICZf
X3V1aWRvZihJV2ViQ29yZVN0YXRpc3RpY3MpPj4gSVdlYkNvcmVTdGF0aXN0aWNzUHRyOwordHlw
ZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUp
Pj4gSVdlYkNhY2hlUHRyOworCitjbGFzcyBXaW5MYXVuY2hlciB7CitwdWJsaWM6CisgICAgV2lu
TGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VMYXllcmVkV2Vi
VmlldyA9IGZhbHNlKTsKKworICAgIEhSRVNVTFQgaW5pdCgpOworICAgIEhSRVNVTFQgcHJlcGFy
ZVZpZXdzKEhXTkQgbWFpblduZCwgY29uc3QgUkVDVCYgY2xpZW50UmVjdCwgY29uc3QgQlNUUiYg
cmVxdWVzdGVkVVJMLCBIV05EJiB2aWV3V25kKTsKKwogICAgIEhSRVNVTFQgbG9hZFVSTChjb25z
dCBCU1RSJiBwYXNzZWRVUkwpOwotDQotICAgIHZvaWQgc2hvd0xhc3RWaXNpdGVkU2l0ZXMoSVdl
YlZpZXcmIHdlYlZpZXcpOw0KLSAgICB2b2lkIGxhdW5jaEluc3BlY3RvcigpOw0KLSAgICB2b2lk
IG5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5UIG1lbnVJRCk7DQorCisg
ICAgdm9pZCBzaG93TGFzdFZpc2l0ZWRTaXRlcyhJV2ViVmlldyYpOworICAgIHZvaWQgbGF1bmNo
SW5zcGVjdG9yKCk7CisgICAgdm9pZCBuYXZpZ2F0ZUZvcndhcmRPckJhY2t3YXJkKEhXTkQgaFdu
ZCwgVUlOVCBtZW51SUQpOwogICAgIHZvaWQgbmF2aWdhdGVUb0hpc3RvcnkoSFdORCBoV25kLCBV
SU5UIG1lbnVJRCk7Ci0gICAgYm9vbCBzZWVkSW5pdGlhbERlZmF1bHRQcmVmZXJlbmNlcygpOw0K
LSAgICBib29sIHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCk7DQotDQotICAgIEhSRVNVTFQgc2V0
RnJhbWVMb2FkRGVsZWdhdGUoSVdlYkZyYW1lTG9hZERlbGVnYXRlKik7DQorICAgIGJvb2wgc2Vl
ZEluaXRpYWxEZWZhdWx0UHJlZmVyZW5jZXMoKTsKKyAgICBib29sIHNldFRvRGVmYXVsdFByZWZl
cmVuY2VzKCk7CisKKyAgICBIUkVTVUxUIHNldEZyYW1lTG9hZERlbGVnYXRlKElXZWJGcmFtZUxv
YWREZWxlZ2F0ZSopOwogICAgIEhSRVNVTFQgc2V0VUlEZWxlZ2F0ZShJV2ViVUlEZWxlZ2F0ZSop
OwogICAgIEhSRVNVTFQgc2V0QWNjZXNzaWJpbGl0eURlbGVnYXRlKElBY2Nlc3NpYmlsaXR5RGVs
ZWdhdGUqKTsKIAogICAgIElXZWJQcmVmZXJlbmNlc1B0ciBzdGFuZGFyZFByZWZlcmVuY2VzKCkg
eyByZXR1cm4gbV9zdGFuZGFyZFByZWZlcmVuY2VzOyAgfQogICAgIElXZWJQcmVmZXJlbmNlc1By
aXZhdGVQdHIgcHJpdmF0ZVByZWZlcmVuY2VzKCkgeyByZXR1cm4gbV9wcmVmc1ByaXZhdGU7IH0K
ICAgICBJV2ViRnJhbWVQdHIgbWFpbkZyYW1lKCk7Ci0NCi0gICAgYm9vbCBoYXNXZWJWaWV3KCkg
Y29uc3QgeyByZXR1cm4gISFtX3dlYlZpZXc7IH0NCi0gICAgYm9vbCB1c2VzTGF5ZXJlZFdlYlZp
ZXcoKSBjb25zdCB7IHJldHVybiBtX3VzZUxheWVyZWRXZWJWaWV3OyB9DQotICAgIGJvb2wgZ29C
YWNrKCk7DQotICAgIGJvb2wgZ29Gb3J3YXJkKCk7DQotDQotcHJpdmF0ZToNCisgICAgSVdlYkNv
cmVTdGF0aXN0aWNzUHRyIHN0YXRpc3RpY3MoKSB7IHJldHVybiBtX3N0YXRpc3RpY3M7IH0KKyAg
ICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUoKSB7IHJldHVybiBtX3dlYkNhY2hlOyAgfQorCisgICAg
Ym9vbCBoYXNXZWJWaWV3KCkgY29uc3QgeyByZXR1cm4gISFtX3dlYlZpZXc7IH0KKyAgICBib29s
IHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGF5ZXJlZFdlYlZpZXc7
IH0KKyAgICBib29sIGdvQmFjaygpOworICAgIGJvb2wgZ29Gb3J3YXJkKCk7CisKK3ByaXZhdGU6
CiAgICAgc3RkOjp2ZWN0b3I8SVdlYkhpc3RvcnlJdGVtUHRyPiBtX2hpc3RvcnlJdGVtczsKLQ0K
LSAgICBJV2ViVmlld1B0ciBtX3dlYlZpZXc7DQorCisgICAgSVdlYlZpZXdQdHIgbV93ZWJWaWV3
OwogICAgIElXZWJWaWV3UHJpdmF0ZVB0ciBtX3dlYlZpZXdQcml2YXRlOwotDQotICAgIElXZWJI
aXN0b3J5UHRyIG1fd2ViSGlzdG9yeTsNCi0gICAgSVdlYkluc3BlY3RvclB0ciBtX2luc3BlY3Rv
cjsNCisKKyAgICBJV2ViSGlzdG9yeVB0ciBtX3dlYkhpc3Rvcnk7CisgICAgSVdlYkluc3BlY3Rv
clB0ciBtX2luc3BlY3RvcjsKICAgICBJV2ViUHJlZmVyZW5jZXNQdHIgbV9zdGFuZGFyZFByZWZl
cmVuY2VzOwogICAgIElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHIgbV9wcmVmc1ByaXZhdGU7Ci0N
Ci0gICAgSVdlYkZyYW1lTG9hZERlbGVnYXRlUHRyIG1fZnJhbWVMb2FkRGVsZWdhdGU7DQotICAg
IElXZWJVSURlbGVnYXRlUHRyIG1fdWlEZWxlZ2F0ZTsNCi0gICAgSUFjY2Vzc2liaWxpdHlEZWxl
Z2F0ZVB0ciBtX2FjY2Vzc2liaWxpdHlEZWxlZ2F0ZTsNCi0NCi0gICAgSFdORCBtX2hNYWluV25k
Ow0KKworICAgIElXZWJGcmFtZUxvYWREZWxlZ2F0ZVB0ciBtX2ZyYW1lTG9hZERlbGVnYXRlOwor
ICAgIElXZWJVSURlbGVnYXRlUHRyIG1fdWlEZWxlZ2F0ZTsKKyAgICBJQWNjZXNzaWJpbGl0eURl
bGVnYXRlUHRyIG1fYWNjZXNzaWJpbGl0eURlbGVnYXRlOworCisgICAgSVdlYkNvcmVTdGF0aXN0
aWNzUHRyIG1fc3RhdGlzdGljczsKKyAgICBJV2ViQ2FjaGVQdHIgbV93ZWJDYWNoZTsKKworICAg
IEhXTkQgbV9oTWFpblduZDsKICAgICBIV05EIG1faFVSTEJhclduZDsKLQ0KLSAgICBib29sIG1f
dXNlTGF5ZXJlZFdlYlZpZXc7DQotfTsNCisKKyAgICBib29sIG1fdXNlTGF5ZXJlZFdlYlZpZXc7
Cit9OwpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVu
Y2hlckxpYi5yYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52
Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCShyZXZpc2lvbiAxNzA0MzApCisrKyBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE3MCArMSwyNzkgQEAKLS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRl
ZCByZXNvdXJjZSBzY3JpcHQuCi0vLwotI2luY2x1ZGUgIldpbkxhdW5jaGVyTGliUmVzb3VyY2Uu
aCIKLQotI2RlZmluZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwotLy8KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLgot
Ly8KLSNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFMKLSNpbmNsdWRlICJ3aW5kb3dzLmgi
Ci0jdW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
LSN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ci0vLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLQotI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJD
RV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQotI2lmZGVmIF9XSU4zMgotTEFOR1VBR0Ug
TEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMKLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIp
Ci0jZW5kaWYgLy9fV0lOMzIKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBJY29uCi0v
LwotCi0vLyBJY29uIHdpdGggbG93ZXN0IElEIHZhbHVlIHBsYWNlZCBmaXJzdCB0byBlbnN1cmUg
YXBwbGljYXRpb24gaWNvbgotLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLgot
SURJX1dJTkxBVU5DSEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5j
aGVyLmljbyIKLUlESV9TTUFMTCAgICAgICAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAg
ICJzbWFsbC5pY28iCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gTWVudQotLy8KLQot
SURDX1dJTkxBVU5DSEVSIE1FTlUgCi1CRUdJTgotICAgIFBPUFVQICImRmlsZSIKLSAgICBCRUdJ
TgotICAgICAgICBNRU5VSVRFTSAiJlByaW50XHRDdHJsLVAiLCAgICAgICAgICAgICAgSURNX1BS
SU5UCi0gICAgICAgIE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1f
RVhJVAotICAgIEVORAotICAgIFBPUFVQICImSGlzdG9yeSIKLSAgICBCRUdJTgotICAgICAgICBN
RU5VSVRFTSAiQmFjayIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX0hJU1RPUllfQkFDS1dB
UkQKLSAgICAgICAgTUVOVUlURU0gIkZvcndhcmQiLCAgICAgICAgICAgICAgICAgICAgIElETV9I
SVNUT1JZX0ZPUldBUkQKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAgICAgIE1FTlVJ
VEVNICJVbnVzZWQgSGlzdG9yeSAwIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMAotICAg
ICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMSIsICAgICAgICAgICAgSURNX0hJU1RPUllf
TElOSzEKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAgICAgICAgIElE
TV9ISVNUT1JZX0xJTksyCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAzIiwgICAg
ICAgICAgICBJRE1fSElTVE9SWV9MSU5LMwotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rv
cnkgNCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzQKLSAgICAgICAgTUVOVUlURU0gIlVu
dXNlZCBIaXN0b3J5IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1Ci0gICAgICAgIE1F
TlVJVEVNICJVbnVzZWQgSGlzdG9yeSA2IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNgot
ICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNyIsICAgICAgICAgICAgSURNX0hJU1RP
UllfTElOSzcKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDgiLCAgICAgICAgICAg
IElETV9ISVNUT1JZX0xJTks4Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA5Iiwg
ICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LOQotICAgIEVORAotICAgIFBPUFVQICJEJmV2ZWxv
cCIKLSAgICBCRUdJTgotICAgICAgICBNRU5VSVRFTSAiU2hvdyBXZWIgSW5zcGVjdG9yIiwgICAg
ICAgICAgSURNX1dFQl9JTlNQRUNUT1IKLSAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAg
ICAgIE1FTlVJVEVNICJEaXNhYmxlIEltYWdlcyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9J
TUFHRVMKLSAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgU3R5bGVzIiwgICAgICAgICAgICAgIElE
TV9ESVNBQkxFX1NUWUxFUwotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBKYXZhU2NyaXB0Iiwg
ICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVAotICAgICAgICBNRU5VSVRFTSAiRGlzYWJs
ZSBMb2NhbCBGaWxlIFJlc3RyaWN0aW9ucyIsIElETV9ESVNBQkxFX0xPQ0FMX0ZJTEVfUkVTVFJJ
Q1RJT05TCi0gICAgRU5ECi0gICAgUE9QVVAgIiZIZWxwIgotICAgIEJFR0lOCi0gICAgICAgIE1F
TlVJVEVNICImQWJvdXQgLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fQUJPVVQKLSAgICBFTkQK
LSAgICBQT1BVUCAiJkRlYnVnIgotICAgIEJFR0lOCi0gICAgICAgIE1FTlVJVEVNICJVc2UgQVZG
b3VuZGF0aW9uIiwgICAgICAgICAgICBJRE1fQVZGT1VOREFUSU9OLCBDSEVDS0VECi0gICAgICAg
IE1FTlVJVEVNICJVc2UgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCBJRE1fQUNDX0NPTVBPU0lU
SU5HLCBDSEVDS0VECi0gICAgICAgIE1FTlVJVEVNICJFbmFibGUgV2ViS2l0IEZ1bGwgU2NyZWVu
IiwgICBJRE1fV0tfRlVMTFNDUkVFTiwgQ0hFQ0tFRAotICAgICAgICBNRU5VSVRFTSBTRVBBUkFU
T1IKLSAgICAgICAgTUVOVUlURU0gIlNob3cgQ29tcG9zaXRpbmcgQm9yZGVycyIsICAgIElETV9D
T01QT1NJVElOR19CT1JERVJTCi0gICAgRU5ECi1FTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwotLy8KLS8vIEFjY2VsZXJhdG9yCi0vLwotCi1JRENfV0lOTEFVTkNIRVIgQUNDRUxFUkFUT1JT
IAotQkVHSU4KLSAgICAiPyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVND
SUksICBBTFQKLSAgICAiLyIsICAgICAgICAgICAgSURNX0FCT1VULCAgICAgICAgICAgICAgQVND
SUksICBBTFQKLUVORAotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gRGlhbG9nCi0v
LwotCi1JRERfQUJPVVRCT1ggRElBTE9HRVggMjIsIDE3LCAyMzAsIDc1Ci1TVFlMRSBEU19TRVRG
T05UIHwgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCi1DQVBUSU9OICJB
Ym91dCIKLUZPTlQgOCwgIlN5c3RlbSIsIDAsIDAsIDB4MAotQkVHSU4KLSAgICBJQ09OICAgICAg
ICAgICAgSURJX1dJTkxBVU5DSEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMAotICAgIExURVhUICAg
ICAgICAgICAiV2luTGF1bmNoZXIgVmVyc2lvbiAxLjIiLElEQ19TVEFUSUMsNDksMTAsMTE5LDgs
U1NfTk9QUkVGSVgKLSAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdodCAoQykgMjAwOSIsSURD
X1NUQVRJQyw0OSwyMCwxMTksOAotICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYs
MzAsMTEsV1NfR1JPVVAKLUVORAotCi0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi0vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwotLy8KLS8vIFRFWFRJTkNMVURFCi0vLwotCi0xIFRFWFRJTkNMVURFIAot
QkVHSU4KLSAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAiCi1FTkQKLQotMiBURVhUSU5D
TFVERSAKLUJFR0lOCi0gICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIgot
ICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiIKLSAgICAiI3VuZGVmIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTXHJcbiIKLSAgICAiXDAiCi1FTkQKLQotMyBURVhUSU5DTFVERSAKLUJFR0lO
Ci0gICAgIlxyXG4iCi0gICAgIlwwIgotRU5ECi0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZP
S0VECi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBTdHJpbmcgVGFibGUKLS8vCi0K
LVNUUklOR1RBQkxFIAotQkVHSU4KLSAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1
bmNoZXIiCi0gICAgSURDX1dJTkxBVU5DSEVSICAgICAgICAgIldJTkxBVU5DSEVSIgotRU5ECi0K
LSNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCi0KLQotCi0jaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ci0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi0vLwot
Ci0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9L
RUQKLQorLy8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4N
CisvLw0KKyNpbmNsdWRlICJXaW5MYXVuY2hlckxpYlJlc291cmNlLmgiDQorDQorI2RlZmluZSBB
UFNUVURJT19SRUFET05MWV9TWU1CT0xTDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8v
IEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLg0KKy8vDQorI2RlZmlu
ZSBBUFNUVURJT19ISURERU5fU1lNQk9MUw0KKyNpbmNsdWRlICJ3aW5kb3dzLmgiDQorI3VuZGVm
IEFQU1RVRElPX0hJRERFTl9TWU1CT0xTDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisjdW5k
ZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQor
Ly8gRW5nbGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorDQorI2lmICFkZWZpbmVkKEFG
WF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQ0KK0xBTkdVQUdFIExBTkdf
RU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTDQorI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikNCisN
CisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gSWNvbg0KKy8vDQorDQorLy8gSWNvbiB3
aXRoIGxvd2VzdCBJRCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGlj
b24NCisvLyByZW1haW5zIGNvbnNpc3RlbnQgb24gYWxsIHN5c3RlbXMuDQorSURJX1dJTkxBVU5D
SEVSICAgICAgICAgSUNPTiAgICAgICAgICAgICAgICAgICAgIldpbkxhdW5jaGVyLmljbyINCitJ
RElfU01BTEwgICAgICAgICAgICAgICBJQ09OICAgICAgICAgICAgICAgICAgICAic21hbGwuaWNv
Ig0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBNZW51DQorLy8NCisNCitJRENf
V0lOTEFVTkNIRVIgTUVOVQ0KK0JFR0lODQorICAgIFBPUFVQICImRmlsZSINCisgICAgQkVHSU4N
CisgICAgICAgIE1FTlVJVEVNICImUHJpbnRcdEN0cmwtUCIsICAgICAgICAgICAgICBJRE1fUFJJ
TlQNCisgICAgICAgIE1FTlVJVEVNICJFJnhpdCIsICAgICAgICAgICAgICAgICAgICAgICBJRE1f
RVhJVA0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZIaXN0b3J5Ig0KKyAgICBCRUdJTg0KKyAgICAg
ICAgTUVOVUlURU0gIkJhY2siLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9ISVNUT1JZX0JB
Q0tXQVJEDQorICAgICAgICBNRU5VSVRFTSAiRm9yd2FyZCIsICAgICAgICAgICAgICAgICAgICAg
SURNX0hJU1RPUllfRk9SV0FSRA0KKyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQorICAgICAg
ICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMCIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElO
SzANCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSAxIiwgICAgICAgICAgICBJRE1f
SElTVE9SWV9MSU5LMQ0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDIiLCAgICAg
ICAgICAgIElETV9ISVNUT1JZX0xJTksyDQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rv
cnkgMyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzMNCisgICAgICAgIE1FTlVJVEVNICJV
bnVzZWQgSGlzdG9yeSA0IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LNA0KKyAgICAgICAg
TUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDUiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks1
DQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNiIsICAgICAgICAgICAgSURNX0hJ
U1RPUllfTElOSzYNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA3IiwgICAgICAg
ICAgICBJRE1fSElTVE9SWV9MSU5LNw0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5
IDgiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks4DQorICAgICAgICBNRU5VSVRFTSAiVW51
c2VkIEhpc3RvcnkgOSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzkNCisgICAgRU5EDQor
ICAgIFBPUFVQICJEJmV2ZWxvcCINCisgICAgQkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJTaG93
IFdlYiBJbnNwZWN0b3IiLCAgICAgICAgICBJRE1fV0VCX0lOU1BFQ1RPUg0KKyAgICAgICAgTUVO
VUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBJbWFnZXMiLCAgICAg
ICAgICAgICAgSURNX0RJU0FCTEVfSU1BR0VTDQorICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBT
dHlsZXMiLCAgICAgICAgICAgICAgSURNX0RJU0FCTEVfU1RZTEVTDQorICAgICAgICBNRU5VSVRF
TSAiRGlzYWJsZSBKYXZhU2NyaXB0IiwgICAgICAgICAgSURNX0RJU0FCTEVfSkFWQVNDUklQVA0K
KyAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgTG9jYWwgRmlsZSBSZXN0cmljdGlvbnMiLCBJRE1f
RElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNUSU9OUw0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZI
ZWxwIg0KKyAgICBCRUdJTg0KKyAgICAgICAgTUVOVUlURU0gIiZBYm91dCAuLi4iLCAgICAgICAg
ICAgICAgICAgIElETV9BQk9VVA0KKyAgICBFTkQNCisgICAgUE9QVVAgIiZEZWJ1ZyINCisgICAg
QkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJVc2UgQVZGb3VuZGF0aW9uIiwgICAgICAgICAgICBJ
RE1fQVZGT1VOREFUSU9OLCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSAiVXNlIEFjY2VsZXJh
dGVkIENvbXBvc2l0aW5nIiwgSURNX0FDQ19DT01QT1NJVElORywgQ0hFQ0tFRA0KKyAgICAgICAg
TUVOVUlURU0gIkVuYWJsZSBXZWJLaXQgRnVsbCBTY3JlZW4iLCAgIElETV9XS19GVUxMU0NSRUVO
LCBDSEVDS0VEDQorICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCisgICAgICAgIE1FTlVJVEVN
ICJTaG93IENvbXBvc2l0aW5nIEJvcmRlcnMiLCAgICBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUw0K
KyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SDQorICAgICAgICBNRU5VSVRFTSAiU2hvdyBDYWNo
ZXMgV2luZG93IiwgICAgICAgICAgSURNX0NBQ0hFUw0KKyAgICBFTkQNCitFTkQNCisNCisNCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gQWNjZWxlcmF0b3INCisvLw0KKw0KK0lEQ19X
SU5MQVVOQ0hFUiBBQ0NFTEVSQVRPUlMNCitCRUdJTg0KKyAgICAiPyIsICAgICAgICAgICAgSURN
X0FCT1VULCAgICAgICAgICAgICAgQVNDSUksICBBTFQNCisgICAgIi8iLCAgICAgICAgICAgIElE
TV9BQk9VVCwgICAgICAgICAgICAgIEFTQ0lJLCAgQUxUDQorRU5EDQorDQorDQorLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8NCisvLw0KKy8vIERpYWxvZw0KKy8vDQorDQorSUREX0FCT1VUQk9YIERJQUxP
R0VYIDIyLCAxNywgMjMwLCA3NQ0KK1NUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwg
V1NfQ0FQVElPTiB8IFdTX1NZU01FTlUNCitDQVBUSU9OICJBYm91dCINCitGT05UIDgsICJTeXN0
ZW0iLCAwLCAwLCAweDANCitCRUdJTg0KKyAgICBJQ09OICAgICAgICAgICAgSURJX1dJTkxBVU5D
SEVSLElEQ19NWUlDT04sMTQsOSwyMCwyMA0KKyAgICBMVEVYVCAgICAgICAgICAgIldpbkxhdW5j
aGVyIFZlcnNpb24gMS4zIixJRENfU1RBVElDLDQ5LDEwLDExOSw4LFNTX05PUFJFRklYDQorICAg
IExURVhUICAgICAgICAgICAiQ29weXJpZ2h0IChDKSAyMDE0IixJRENfU1RBVElDLDQ5LDIwLDEx
OSw4DQorICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTk1LDYsMzAsMTEsV1NfR1JPVVAN
CitFTkQNCisNCitJRERfQ0FDSEVTIERJQUxPR0VYIDAsIDAsIDQwMSwgNDU2DQorU1RZTEUgRFNf
U0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBEU19GSVhFRFNZUyB8IFdTX1BPUFVQIHwgV1NfQ0FQ
VElPTiB8IFdTX1NZU01FTlUNCitDQVBUSU9OICJEaWFsb2ciDQorRk9OVCA4LCAiTVMgU2hlbGwg
RGxnIiwgNDAwLCAwLCAweDENCitCRUdJTg0KKyAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9L
LDI4Nyw0MzUsNTAsMTQNCisgICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWwiLElEQ0FOQ0VMLDM0
NCw0MzUsNTAsMTQNCisgICAgR1JPVVBCT1ggICAgICAgICJGYXN0TWFsbG9jIixJRENfU1RBVElD
LDIwOCwxNCwxODYsNjcNCisgICAgR1JPVVBCT1ggICAgICAgICJXZWJDb3JlIENhY2hlIixJRENf
U1RBVElDLDE3LDgzLDM3NiwxMDUNCisgICAgR1JPVVBCT1ggICAgICAgICJKYXZhU2NyaXB0IEhl
YXAiLElEQ19TVEFUSUMsMTgsMTkzLDM3NiwxNjgNCisgICAgR1JPVVBCT1ggICAgICAgICJTaXRl
IEljb24gRGF0YWJhc2UiLElEQ19TVEFUSUMsMTgsMzY2LDE0Miw2NQ0KKyAgICBHUk9VUEJPWCAg
ICAgICAgIkZvbnQgYW5kIEdseXBoIENhY2hlcyIsSURDX1NUQVRJQywxNjgsMzY2LDIyNiw2Ng0K
KyAgICBHUk9VUEJPWCAgICAgICAgIkNGVVJMQ2FjaGUiLElEQ19TVEFUSUMsNywxNCwxOTcsNjcN
CisgICAgUFVTSEJVVFRPTiAgICAgICJFbXB0eSBVUkxDYWNoZSIsSURDX0VNUFRZX1VSTF9DQUNI
RSwxMzEsNjMsNjksMTQsV1NfRElTQUJMRUQNCisgICAgUFVTSEJVVFRPTiAgICAgICJSZXR1cm4g
RnJlZSBNZW1vcnkiLElEQ19SRVRVUk5fRlJFRV9NRU1PUlksMzA4LDYzLDc2LDE0LFdTX0RJU0FC
TEVEDQorICAgIFBVU0hCVVRUT04gICAgICAiRW1wdHkgV2ViQ29yZSBDYWNoZSIsSURDX0VNUFRZ
X1dFQkNPUkVfQ0FDSEUsMjEsMTcwLDgzLDE0LFdTX0RJU0FCTEVEDQorICAgIENPTlRST0wgICAg
ICAgICAiRGlzYWJsZSBXZWJDb3JlIENhY2hlIixJRENfQ0hFQ0sxLCJCdXR0b24iLEJTX0FVVE9D
SEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTksMTcyLDkzLDEwDQorICAgIFBV
U0hCVVRUT04gICAgICAiR2FyYmFnZSBDb2xsZWN0IEphdmFTY3JpcHQgT2JqZWN0cyIsSURDX0dD
X0pTQywyNTMsMzQzLDEzNSwxNCxXU19ESVNBQkxFRA0KKyAgICBSVEVYVCAgICAgICAgICAgIlJl
c2VydmVkIFZNIixJRENfU1RBVElDLDIxMiwyNiw2Nyw5DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX1JFU0VSVkVEX1ZNLDI5MCwyNiw5NCw4DQorICAgIFJURVhUICAgICAgICAgICAiQ29t
bWl0dGVkIFZNIixJRENfU1RBVElDLDIxMSwzOSw2Nyw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX0NPTU1JVFRFRF9WTSwyOTAsMzksOTQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkZy
ZWUgTGlzdCBCeXRlcyIsSURDX1NUQVRJQywyMTEsNTIsNjcsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19GUkVFX0xJU1RfQllURVMsMjkwLDUyLDk0LDgNCisgICAgUlRFWFQgICAgICAg
ICAgICJJbWFnZXMiLElEQ19TVEFUSUMsMzcsMTA2LDI0LDgNCisgICAgUlRFWFQgICAgICAgICAg
ICJDU1MiLElEQ19TVEFUSUMsNDcsMTE2LDE0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJYU0wi
LElEQ19TVEFUSUMsNDksMTI2LDEyLDgNCisgICAgUlRFWFQgICAgICAgICAgICJKYXZhU2NyaXB0
IixJRENfU1RBVElDLDI3LDEzNSwzNCw4DQorICAgIFJURVhUICAgICAgICAgICAiVG90YWwiLElE
Q19TVEFUSUMsNDMsMTQ2LDE3LDgNCisgICAgTFRFWFQgICAgICAgICAgICJPYmplY3RzIixJRENf
U1RBVElDLDExMSw5NiwyNiw4DQorICAgIExURVhUICAgICAgICAgICAiQnl0ZXMiLElEQ19TVEFU
SUMsMTc1LDk2LDE5LDgNCisgICAgTFRFWFQgICAgICAgICAgICJMaXZlIixJRENfU1RBVElDLDIz
Miw5NiwxNCw4DQorICAgIExURVhUICAgICAgICAgICAiRGVjb2RlZCIsSURDX1NUQVRJQywyODQs
OTYsMjksOA0KKyAgICBMVEVYVCAgICAgICAgICAgIlB1cmdlYWJsZSIsSURDX1NUQVRJQywzNTEs
OTYsMzMsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfT0JKRUNUX0NPVU5U
LDEwMCwxMDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfT0JKRUNUX0NP
VU5ULDEwMCwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfT0JKRUNU
X0NPVU5ULDEwMCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfT0JK
RUNUX0NPVU5ULDEwMCwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RB
TF9PQkpFQ1RfQ09VTlQsMTAwLDE0NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURD
X0lNQUdFU19CWVRFUywxNjIsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENf
Q1NTX0JZVEVTLDE2MiwxMTYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xf
QllURVMsMTYyLDEyNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19CWVRF
UywxNjIsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfQllURVMs
MTYyLDE0NiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19MSVZFX0NP
VU5ULDIyMSwxMDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DU1NfTElWRV9D
T1VOVCwyMjEsMTE2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX0xJVkVf
Q09VTlQsMjIxLDEyNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pTQ19MSVZF
X0NPVU5ULDIyMSwxMzUsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9M
SVZFX0NPVU5ULDIyMSwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19JTUFH
RVNfREVDT0RFRF9DT1VOVCwyODQsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJ
RENfQ1NTX0RFQ09ERURfQ09VTlQsMjg0LDExNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX1hTTF9ERUNPREVEX0NPVU5ULDI4NCwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19KU0NfREVDT0RFRF9DT1VOVCwyODQsMTM1LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfVE9UQUxfREVDT0RFRCwyODQsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTA2LDMyLDgNCisgICAg
UlRFWFQgICAgICAgICAgICIwIixJRENfQ1NTX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTE2LDMyLDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfWFNMX1BVUkdFQUJMRV9DT1VOVCwzNTQsMTI2
LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCwz
NTQsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfVE9UQUxfUFVSR0VBQkxF
LDM1NCwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlRvdGFsIE9iamVjdHMiLElEQ19T
VEFUSUMsNjMsMjA3LDQ0LDgNCisgICAgUlRFWFQgICAgICAgICAgICJHbG9iYWwgT2JqZWN0cyIs
SURDX1NUQVRJQyw1NiwyMTcsNTEsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIlByb3RlY3RlZCBP
YmplY3RzIixJRENfU1RBVElDLDQ4LDIyNyw1OSw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1RPVEFMX0pTQ19IRUFQX09CSkVDVFMsMTI3LDIwNyw1Niw4DQorICAgIFJURVhUICAgICAg
ICAgICAiMCIsSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMTcsNTYsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19QUk9URUNURURfSlNDX0hFQVBfT0JKRUNUUywxMjcsMjI3
LDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICJTaXplIixJRENfU1RBVElDNTYsMjIzLDIwNywx
NCw4DQorICAgIFJURVhUICAgICAgICAgICAiRnJlZSIsSURDX1NUQVRJQzU3LDIyMiwyMTcsMTYs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9TSVpFLDI3MCwyMDcsNTYs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19KU0NfSEVBUF9GUkVFLDI3MCwyMTcsNTYs
OA0KKyAgICBQVVNIQlVUVE9OICAgICAgIlB1cmdlIEluYWN0aXZlIEZvbnQgRGF0YSIsSURDX0JV
VFRPTjUsMjkzLDQxNSw5NSwxNCxXU19ESVNBQkxFRA0KKyAgICBMVEVYVCAgICAgICAgICAgIlRv
dGFsIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDIwOCwzNzksNzgsOA0KKyAgICBMVEVY
VCAgICAgICAgICAgIkluYWN0aXZlIEZvbnQgRGF0YSBPYmplY3RzIixJRENfU1RBVElDLDE5OCwz
OTAsODgsOA0KKyAgICBMVEVYVCAgICAgICAgICAgIkdseXBoIFBhZ2VzIixJRENfU1RBVElDLDI0
Niw0MDIsNDAsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9GT05UX09CSkVD
VFMsMzI5LDM3OSw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lOQUNUSVZFX0ZP
TlRfT0JKRUNUUywzMjksMzkwLDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfR0xZ
UEhfUEFHRVMsMzI5LDQwMiw1Niw4DQorICAgIExURVhUICAgICAgICAgICAiUGFnZSBVUkwgTWFw
cGluZ3MiLElEQ19TVEFUSUMsMzMsMzgwLDY0LDgNCisgICAgTFRFWFQgICAgICAgICAgICJSZXRh
aW5lZCBQYWdlIFVSTHMiLElEQ19TVEFUSUMsMzEsMzkwLDY2LDgNCisgICAgTFRFWFQgICAgICAg
ICAgICJTaXRlIEljb24gUmVjb3JkcyIsSURDX1NUQVRJQyw0MCw0MDAsNTcsOA0KKyAgICBMVEVY
VCAgICAgICAgICAgIlNpdGUgSWNvbnMgd2l0aCBEYXRhIixJRENfU1RBVElDLDMyLDQxMCw2NSw4
DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1BBR0VfVVJMX01BUFBJTkdTLDEwMSwzODAs
NTIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19SRVRBSU5FRF9QQUdFX1VSTFMsMTAx
LDM5MCw1Miw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1NJVEVfSUNPTl9SRUNPUkRT
LDEwMSw0MDAsNTIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19TSVRFX0lDT05TX1dJ
VEhfREFUQSwxMDEsNDEwLDUyLDgNCitFTkQNCisNCisNCisjaWZkZWYgQVBTVFVESU9fSU5WT0tF
RA0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBURVhUSU5DTFVERQ0KKy8vDQorDQor
MSBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAiV2luTGF1bmNoZXJMaWJSZXNvdXJjZS5oXDAi
DQorRU5EDQorDQorMiBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAiI2RlZmluZSBBUFNUVURJ
T19ISURERU5fU1lNQk9MU1xyXG4iDQorICAgICIjaW5jbHVkZSAiIndpbmRvd3MuaCIiXHJcbiIN
CisgICAgIiN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iDQorICAgICJcMCINCitF
TkQNCisNCiszIFRFWFRJTkNMVURFIA0KK0JFR0lODQorICAgICJcclxuIg0KKyAgICAiXDAiDQor
RU5EDQorDQorI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQNCisNCisNCisvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLw0KKy8vDQorLy8gREVTSUdOSU5GTw0KKy8vDQorDQorI2lmZGVmIEFQU1RVRElP
X0lOVk9LRUQNCitHVUlERUxJTkVTIERFU0lHTklORk8NCitCRUdJTg0KKyAgICBJRERfQUJPVVRC
T1gsIERJQUxPRw0KKyAgICBCRUdJTg0KKyAgICBFTkQNCisNCisgICAgSUREX0NBQ0hFUywgRElB
TE9HDQorICAgIEJFR0lODQorICAgICAgICBMRUZUTUFSR0lOLCA3DQorICAgICAgICBSSUdIVE1B
UkdJTiwgMzk0DQorICAgICAgICBUT1BNQVJHSU4sIDcNCisgICAgICAgIEJPVFRPTU1BUkdJTiwg
NDQ5DQorICAgIEVORA0KK0VORA0KKyNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VEDQorDQor
DQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIFN0cmluZyBUYWJsZQ0KKy8vDQorDQor
U1RSSU5HVEFCTEUNCitCRUdJTg0KKyAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiV2luTGF1
bmNoZXIiDQorICAgIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICJXSU5MQVVOQ0hFUiINCitFTkQN
CisNCisjZW5kaWYgICAgLy8gRW5nbGlzaCAoVW5pdGVkIFN0YXRlcykgcmVzb3VyY2VzDQorLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8NCisNCisNCisNCisjaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQNCisv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNM
VURFIDMgcmVzb3VyY2UuDQorLy8NCisNCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKyNlbmRp
ZiAgICAvLyBub3QgQVBTVFVESU9fSU5WT0tFRA0KKw0KSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVy
L1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxp
YkNvbW1vbi5wcm9wcwkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2lu
TGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wcwkod29ya2luZyBjb3B5
KQpAQCAtMTAsNyArMTAsNyBAQAogICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZT5TdGRBZngu
aDwvUHJlY29tcGlsZWRIZWFkZXJGaWxlPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgot
ICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29t
ZGxnMzIubGliO2NvbXN1cHB3LmxpYjtnZGkzMi5saWI7Y29tY3RsMzIubGliO3NobHdhcGkubGli
O3VzZXIzMi5saWI7b2xlMzIubGliO29sZWF1dDMyLmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZp
eCkubGliO1dlYktpdCQoRGVidWdTdWZmaXgpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMp
PC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+
V2luaW5ldC5saWI7RGJnSGVscC5saWI7Y29tZGxnMzIubGliO2NvbXN1cHB3LmxpYjtnZGkzMi5s
aWI7Y29tY3RsMzIubGliO3NobHdhcGkubGliO3VzZXIzMi5saWI7b2xlMzIubGliO29sZWF1dDMy
LmxpYjtXZWJLaXRHVUlEJChEZWJ1Z1N1ZmZpeCkubGliO1dlYktpdCQoRGVidWdTdWZmaXgpLmxp
YjtXVEYkKERlYnVnU3VmZml4KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRp
b25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4K
IDwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBUb29scy9XaW5M
YXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliUmVzb3VyY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaAkocmV2aXNpb24gMTcwNDMwKQorKysgVG9vbHMvV2luTGF1bmNoZXIv
V2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACi0vL3t7Tk9fREVQRU5ERU5DSUVTfX0KKy8vIHt7Tk9fREVQRU5E
RU5DSUVTfX0KIC8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCBpbmNsdWRlIGZpbGUu
Ci0vLyBVc2VkIGJ5IFdpbkxhdW5jaGVyLnJjCisvLyBVc2VkIGJ5IFdpbkxhdW5jaGVyTGliLnJj
CiAvLwogI2RlZmluZSBJRENfTVlJQ09OICAgICAgICAgICAgICAgICAgICAgIDIKICNkZWZpbmUg
SUREX1dJTkxBVU5DSEVSX0RJQUxPRyAgICAgICAgICAxMDIKQEAgLTE2LDExICsxNiwxNCBAQAog
I2RlZmluZSBJRE1fQUNDX0NPTVBPU0lUSU5HICAgICAgICAgICAgIDExMQogI2RlZmluZSBJRE1f
V0tfRlVMTFNDUkVFTiAgICAgICAgICAgICAgIDExMgogI2RlZmluZSBJRE1fQ09NUE9TSVRJTkdf
Qk9SREVSUyAgICAgICAgIDExMworI2RlZmluZSBJRE1fQ0FDSEVTICAgICAgICAgICAgICAgICAg
ICAgIDExNAogI2RlZmluZSBJRE1fV0VCX0lOU1BFQ1RPUiAgICAgICAgICAgICAgIDEyMAogI2Rl
ZmluZSBJRE1fRElTQUJMRV9JTUFHRVMgICAgICAgICAgICAgIDEyMQogI2RlZmluZSBJRE1fRElT
QUJMRV9TVFlMRVMgICAgICAgICAgICAgIDEyMgogI2RlZmluZSBJRE1fRElTQUJMRV9KQVZBU0NS
SVBUICAgICAgICAgIDEyMwogI2RlZmluZSBJRE1fRElTQUJMRV9MT0NBTF9GSUxFX1JFU1RSSUNU
SU9OUyAxMjQKKyNkZWZpbmUgSURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKKyNk
ZWZpbmUgSUREX0NBQ0hFUyAgICAgICAgICAgICAgICAgICAgICAxMjkKICNkZWZpbmUgSURNX0hJ
U1RPUllfQkFDS1dBUkQgICAgICAgICAgICAxMzAKICNkZWZpbmUgSURNX0hJU1RPUllfRk9SV0FS
RCAgICAgICAgICAgICAxMzEKICNkZWZpbmUgSURNX0hJU1RPUllfTElOSzAgICAgICAgICAgICAg
ICAxNTAKQEAgLTMzLDggKzM2LDU3IEBACiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks3ICAgICAg
ICAgICAgICAgMTU3CiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks4ICAgICAgICAgICAgICAgMTU4
CiAjZGVmaW5lIElETV9ISVNUT1JZX0xJTks5ICAgICAgICAgICAgICAgMTU5Ci0KLSNkZWZpbmUg
SURSX01BSU5GUkFNRSAgICAgICAgICAgICAgICAgICAxMjgKKyNkZWZpbmUgSURUX1VQREFURV9T
VEFUUyAgICAgICAgICAgICAgICAxNjAKKyNkZWZpbmUgSURDX0VNUFRZX1VSTF9DQUNIRSAgICAg
ICAgICAgICAxMDAwCisjZGVmaW5lIElEQ19SRVRVUk5fRlJFRV9NRU1PUlkgICAgICAgICAgMTAw
MQorI2RlZmluZSBJRENfRU1QVFlfV0VCQ09SRV9DQUNIRSAgICAgICAgIDEwMDIKKyNkZWZpbmUg
SURDX0NIRUNLMSAgICAgICAgICAgICAgICAgICAgICAxMDAzCisjZGVmaW5lIElEQ19IRUFQX09C
SkVDVFMgICAgICAgICAgICAgICAgMTAwNQorI2RlZmluZSBJRENfR0NfSlNDICAgICAgICAgICAg
ICAgICAgICAgIDEwMDYKKyNkZWZpbmUgSURDX1JFU0VSVkVEX1ZNICAgICAgICAgICAgICAgICAx
MDA3CisjZGVmaW5lIElEQ19DT01NSVRURURfVk0gICAgICAgICAgICAgICAgMTAwOAorI2RlZmlu
ZSBJRENfRlJFRV9MSVNUX0JZVEVTICAgICAgICAgICAgIDEwMDkKKyNkZWZpbmUgSURDX0lNQUdF
U19PQkpFQ1RfQ09VTlQgICAgICAgICAxMDExCisjZGVmaW5lIElEQ19DU1NfT0JKRUNUX0NPVU5U
ICAgICAgICAgICAgMTAxMgorI2RlZmluZSBJRENfWFNMX09CSkVDVF9DT1VOVCAgICAgICAgICAg
IDEwMTMKKyNkZWZpbmUgSURDX0pTQ19PQkpFQ1RfQ09VTlQgICAgICAgICAgICAxMDE0CisjZGVm
aW5lIElEQ19UT1RBTF9PQkpFQ1RfQ09VTlQgICAgICAgICAgMTAxNQorI2RlZmluZSBJRENfSU1B
R0VTX0JZVEVTICAgICAgICAgICAgICAgIDEwMTYKKyNkZWZpbmUgSURDX0NTU19CWVRFUyAgICAg
ICAgICAgICAgICAgICAxMDE3CisjZGVmaW5lIElEQ19YU0xfQllURVMgICAgICAgICAgICAgICAg
ICAgMTAxOAorI2RlZmluZSBJRENfSlNDX0JZVEVTICAgICAgICAgICAgICAgICAgIDEwMTkKKyNk
ZWZpbmUgSURDX1RPVEFMX0JZVEVTICAgICAgICAgICAgICAgICAxMDIwCisjZGVmaW5lIElEQ19J
TUFHRVNfTElWRV9DT1VOVCAgICAgICAgICAgMTAyMQorI2RlZmluZSBJRENfQ1NTX0xJVkVfQ09V
TlQgICAgICAgICAgICAgIDEwMjIKKyNkZWZpbmUgSURDX1hTTF9MSVZFX0NPVU5UICAgICAgICAg
ICAgICAxMDIzCisjZGVmaW5lIElEQ19KU0NfTElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyNAor
I2RlZmluZSBJRENfVE9UQUxfTElWRV9DT1VOVCAgICAgICAgICAgIDEwMjUKKyNkZWZpbmUgSURD
X0lNQUdFU19ERUNPREVEX0NPVU5UICAgICAgICAxMDI2CisjZGVmaW5lIElEQ19DU1NfREVDT0RF
RF9DT1VOVCAgICAgICAgICAgMTAyNworI2RlZmluZSBJRENfWFNMX0RFQ09ERURfQ09VTlQgICAg
ICAgICAgIDEwMjgKKyNkZWZpbmUgSURDX0pTQ19ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI5
CisjZGVmaW5lIElEQ19UT1RBTF9ERUNPREVEICAgICAgICAgICAgICAgMTAzMAorI2RlZmluZSBJ
RENfSU1BR0VTX1BVUkdFQUJMRV9DT1VOVCAgICAgIDEwMzEKKyNkZWZpbmUgSURDX0NTU19QVVJH
RUFCTEVfQ09VTlQgICAgICAgICAxMDMyCisjZGVmaW5lIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5U
ICAgICAgICAgMTAzMworI2RlZmluZSBJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEw
MzQKKyNkZWZpbmUgSURDX1RPVEFMX1BVUkdFQUJMRSAgICAgICAgICAgICAxMDM1CisjZGVmaW5l
IElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RTICAgICAgMTAzNgorI2RlZmluZSBJRENfR0xPQkFM
X0pTQ19IRUFQX09CSkVDVFMgICAgIDEwMzcKKyNkZWZpbmUgSURDX1BST1RFQ1RFRF9KU0NfSEVB
UF9PQkpFQ1RTICAxMDM4CisjZGVmaW5lIElEQ19TVEFUSUM1NiAgICAgICAgICAgICAgICAgICAg
MTAzOQorI2RlZmluZSBJRENfU1RBVElDNTcgICAgICAgICAgICAgICAgICAgIDEwNDAKKyNkZWZp
bmUgSURDX0pTQ19IRUFQX1NJWkUgICAgICAgICAgICAgICAxMDQxCisjZGVmaW5lIElEQ19KU0Nf
SEVBUF9GUkVFICAgICAgICAgICAgICAgMTA0MgorI2RlZmluZSBJRENfQlVUVE9ONSAgICAgICAg
ICAgICAgICAgICAgIDEwNDMKKyNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUyAgICAgICAg
ICAxMDQ0CisjZGVmaW5lIElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMgICAgICAgMTA0NQorI2Rl
ZmluZSBJRENfR0xZUEhfUEFHRVMgICAgICAgICAgICAgICAgIDEwNDYKKyNkZWZpbmUgSURDX1BB
R0VfVVJMX01BUFBJTkdTICAgICAgICAgICAxMDQ3CisjZGVmaW5lIElEQ19SRVRBSU5FRF9QQUdF
X1VSTFMgICAgICAgICAgMTA0OAorI2RlZmluZSBJRENfU0lURV9JQ09OX1JFQ09SRFMgICAgICAg
ICAgIDEwNDkKKyNkZWZpbmUgSURDX1RPVEFMX0ZPTlRfT0JKRUNUUzUgICAgICAgICAxMDUwCisj
ZGVmaW5lIElEQ19TSVRFX0lDT05TX1dJVEhfREFUQSAgICAgICAgMTA1MAogI2RlZmluZSBJRENf
U1RBVElDICAgICAgICAgICAgICAgICAgICAgIC0xCiAKIC8vIE5leHQgZGVmYXVsdCB2YWx1ZXMg
Zm9yIG5ldyBvYmplY3RzCkBAIC00Miw5ICs5NCw5IEBACiAjaWZkZWYgQVBTVFVESU9fSU5WT0tF
RAogI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCiAjZGVmaW5lIF9BUFNfTk9fTUZD
ICAgICAgICAgICAgICAgICAgICAgMQotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUg
ICAgICAgIDEyOQorI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDEzMAog
I2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDMyNzcxCi0jZGVmaW5lIF9B
UFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAwMAorI2RlZmluZSBfQVBTX05FWFRfQ09O
VFJPTF9WQUxVRSAgICAgICAgIDEwNDQKICNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAg
ICAgICAgICAxMTAKICNlbmRpZgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233910</attachid>
            <date>2014-06-26 09:56:43 -0700</date>
            <delta_ts>2014-06-26 10:09:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134318-20140626095629.patch</filename>
            <type>text/plain</type>
            <size>51233</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNDgxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE0LTA2LTI1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXaW5dIEV4cG9zZSBDYWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6IEFkZCBtaXNzaW5nCisgICAgICAgIE1l
bW9yeVN0YXRpc3RpY3MgZmlsZXMgdG8gdGhlIFdJbmRvd3MgYnVpbGQuCisgICAgICAgICogSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnM6CisKIDIw
MTQtMDYtMjYgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBE
Rkc6OkZ1bmN0aW9uV2hpdGVsaXN0OjpwYXJzZUZ1bmN0aW9uTmFtZXNJbkZpbGUgZG9lcyBub3Qg
Y2xvc2UgZmlsZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCShy
ZXZpc2lvbiAxNzA0ODEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC03MzQsNiAr
NzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwSXRlcmF0b3JQ
cm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxNYXBQ
cm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxNYXRo
T2JqZWN0LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5
U3RhdGlzdGljcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXE5h
bWVDb25zdHJ1Y3Rvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XE5hbWVJbnN0YW5jZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XE5hbWVQcm90b3R5cGUuY3BwIiAvPgpAQCAtMTQ3OCw2ICsxNDc5LDcgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcTWFwUHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXE1hdGNoUmVzdWx0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxydW50aW1lXE1hdGhPYmplY3QuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcTWVtb3J5U3RhdGlzdGljcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxNaWNyb3Rhc2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcTmFtZUNvbnN0cnVjdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXE5hbWVJbnN0YW5jZS5oIiAvPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTcwNDgxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0xNjA1LDYgKzE2MDUsOSBAQAog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXFNjcmlwdERlYnVnU2VydmVyLmNw
cCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxNZW1vcnlTdGF0aXN0aWNzLmNwcCI+
CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgPC9J
dGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxBUElc
QVBJQ2FsbGJhY2tGdW5jdGlvbi5oIj4KQEAgLTM5MDcsNiArMzkxMCw5IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcU2NyaXB0RGVidWdMaXN0ZW5lci5oIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXE1lbW9yeVN0YXRpc3RpY3MuaCI+CisgICAgICA8Rmls
dGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgPC9JdGVtR3JvdXA+CiAg
IDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0iSmF2YVNjcmlwdENvcmVQcmVMaW5rLmNt
ZCIgLz4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzA0ODEpCisrKyBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA2LTI1ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIEV4cG9zZSBD
YWNoZSBJbmZvcm1hdGlvbiB0byBXaW5MYXVuY2hlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MzE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9XZWJLaXQvV2ViS2l0UG9z
dEJ1aWxkLmNtZDogQ29weSB0aGUKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcgaGVh
ZGVyIHRvIFdlYktpdCBBUEkgZGlyZWN0b3J5LgorICAgICAgICAqIFdlYktpdC52Y3hwcm9qL1dl
YktpdEV4cG9ydEdlbmVyYXRvci9XZWJLaXRFeHBvcnRzLmRlZi5pbjoKKyAgICAgICAgRXhwb3Nl
IHRoZSBkaWN0aW9uYXJ5IGFjY2Vzc29yIGZvciB0aGUgQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcu
CisKIDIwMTQtMDYtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBISUQtYmFzZWQgZ2FtZXBhZCBpbXBsZW1lbnRhdGlvbiBmb3IgTWFjCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdC9XZWJLaXRQb3N0QnVpbGQuY21kCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0L1dlYktpdFBv
c3RCdWlsZC5jbWQJKHJldmlzaW9uIDE3MDQ4MSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZj
eHByb2ovV2ViS2l0L1dlYktpdFBvc3RCdWlsZC5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTYsNiAr
Niw3IEBAIHhjb3B5IC95IC9kICIlUFJPSkVDVERJUiVcLi5cLi5cd2luXFdlYkwKIHhjb3B5IC95
IC9kICIlUFJPSkVDVERJUiVcLi5cLi5cd2luXFdlYktpdEdyYXBoaWNzLmgiICIlQ09ORklHVVJB
VElPTkJVSUxERElSJVxpbmNsdWRlXFdlYktpdCIKIHhjb3B5IC95IC9kICIlUFJPSkVDVERJUiVc
Li5cLi5cd2luXFdlYktpdENPTUFQSS5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVk
ZVxXZWJLaXQiCiB4Y29weSAveSAvZCAiJVBST0pFQ1RESVIlXC4uXC4uXHdpblxXZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViS2l0
IgoreGNvcHkgL3kgL2QgIiVQUk9KRUNURElSJVwuLlwuLlx3aW5cQ0ZEaWN0aW9uYXJ5UHJvcGVy
dHlCYWcuaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViS2l0IgogCiB4Y29w
eSAveSAvZCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlXG5wYXBpLmgi
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYktpdCIKIHhjb3B5IC95IC9kICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmVcbnBmdW5jdGlvbnMuaCIgIiVD
T05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViS2l0IgpJbmRleDogU291cmNlL1dlYktp
dC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBv
cnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4JKHJldmlzaW9uIDE3MDQ4MSkKKysrIFNv
dXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4
cG9ydHMuZGVmLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDcgQEAgRVhQT1JUUwog
ICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVA
QEBXVEZAQEFCVlN0cmluZ0A0QEBaLCA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJD
b3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBX
VEZAQEFFQlZTdHJpbmdANEBAWikKICNpZiBVU0UoQ0YpCiAgICAgICAgIHN5bWJvbFdpdGhQb2lu
dGVyKD9jcmVhdGVDRlN0cmluZ0BTdHJpbmdAV1RGQEBRQkU/QVY/JFJldGFpblB0ckBQQlVfX0NG
U3RyaW5nQEBAMkBYWiwgP2NyZWF0ZUNGU3RyaW5nQFN0cmluZ0BXVEZAQFFFQkE/QVY/JFJldGFp
blB0ckBQRUJVX19DRlN0cmluZ0BAQDJAWFopCisgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9k
aWN0aW9uYXJ5QENGRGljdGlvbmFyeVByb3BlcnR5QmFnQEBRQkVQQVVfX0NGRGljdGlvbmFyeUBA
WFosICkKICNlbmRpZgogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/Y3JlYXRlU2hhZG93Um9v
dEBFbGVtZW50QFdlYkNvcmVAQFFBRT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3Jl
QEBAV1RGQEBBQUhAWiwgP2NyZWF0ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRRUFBP0FW
PyRQYXNzUmVmUHRyQFZTaGFkb3dSb290QFdlYkNvcmVAQEBXVEZAQEFFQUhAWikKICAgICAgICAg
c3ltYm9sV2l0aFBvaW50ZXIoP2NyZWF0ZVdyYXBwZXJAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpT
Q0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlQDFAQFosID9j
cmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBFQVZFeGVjU3RhdGVAM0BQ
RUFWSlNET01HbG9iYWxPYmplY3RAMUBQRUFWTm9kZUAxQEBaKQpJbmRleDogU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTcwNDgxKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMDYtMjUgIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbl0gRXhwb3NlIENhY2hlIEluZm9ybWF0
aW9uIHRvIFdpbkxhdW5jaGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzQzMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEludGVyZmFjZXMvSVdlYkNvcmVTdGF0aXN0aWNzLmlkbDogQWRkIG1pc3Np
bmcKKyAgICAgICAgQVBJIGFkZGVkIHRvIFdlYktpdCBzaW5jZSB0aGlzIHdhcyBsYXN0IHVwZGF0
ZWQuCisgICAgICAgICogV2ViQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ2FjaGU6OnN0YXRpc3Rp
Y3MpOiBBZGQgbWlzc2luZyBlbGVtZW50cyBmb3IKKyAgICAgICAgcHVyZ2FibGUgYW5kIHB1cmdl
ZCBkYXRhLgorICAgICAgICAqIFdlYkNvcmVTdGF0aXN0aWNzLmNwcDogUHJvdmlkZSBpbXBsZW1l
bnRhaW9ucy4KKyAgICAgICAgKiBXZWJDb3JlU3RhdGlzdGljcy5oOiBEaXR0by4KKwogMjAxNC0w
Ni0yNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG5l
dyBwbGF0Zm9ybSBnYW1lcGFkIGFic3RyYWN0aW9ucwpJbmRleDogU291cmNlL1dlYktpdC93aW4v
V2ViQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmNw
cAkocmV2aXNpb24gMTcwNDgxKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ2FjaGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05MSwxNCArOTEsMTIgQEAgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUg
V2ViQ2FjaGU6OlJlbGVhcwogCiAvLyBJV2ViQ2FjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
LUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0YXRpc3RpY3MoIAotICAgIC8q
IFtpbl1bb3V0XSAqLyBpbnQqIGNvdW50LAotICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVByb3Bl
cnR5QmFnICoqIHMpCitIUkVTVUxUIFdlYkNhY2hlOjpzdGF0aXN0aWNzKGludCogY291bnQsIElQ
cm9wZXJ0eUJhZyoqIHMpCiB7Ci0gICAgaWYgKCFjb3VudCB8fCAocyAmJiAqY291bnQgPCA0KSkK
KyAgICBpZiAoIWNvdW50IHx8IChzICYmICpjb3VudCA8IDYpKQogICAgICAgICByZXR1cm4gRV9G
QUlMOwogCi0gICAgKmNvdW50ID0gNDsKKyAgICAqY291bnQgPSA2OwogICAgIGlmICghcykKICAg
ICAgICAgcmV0dXJuIFNfT0s7CiAKQEAgLTExMiw2ICsxMTAsNyBAQCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFdlYkNhY2hlOjpzdGF0CiAgICAgY29uc3QgaW50IHplcm8gPSAwOwogI2VuZGlm
CiAKKyAgICAvLyBDb3VudHMKICAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGljdGlvbmFyeVJlZj4g
ZGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgwLCAwLCAma0NG
VHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJh
Y2tzKSk7CiAKICAgICBSZXRhaW5QdHI8Q0ZOdW1iZXJSZWY+IHZhbHVlID0gYWRvcHRDRihDRk51
bWJlckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3RhdC5pbWFnZXMuY291bnQpKTsKQEAg
LTEzNCw2ICsxMzMsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkNhY2hlOjpzdGF0
CiAgICAgcHJvcEJhZy0+c2V0RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKICAgICBzWzBd
ID0gcHJvcEJhZy5sZWFrUmVmKCk7CiAKKyAgICAvLyBTaXplcwogICAgIGRpY3Rpb25hcnkgPSBh
ZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5
S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogCiAgICAg
dmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0
LmltYWdlcy5zaXplKSk7CkBAIC0xNTYsNiArMTU2LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBXZWJDYWNoZTo6c3RhdAogICAgIHByb3BCYWctPnNldERpY3Rpb25hcnkoZGljdGlvbmFy
eS5nZXQoKSk7CiAgICAgc1sxXSA9IHByb3BCYWcubGVha1JlZigpOwogCisgICAgLy8gTGl2ZSBT
aXplcwogICAgIGRpY3Rpb25hcnkgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUo
MCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlW
YWx1ZUNhbGxCYWNrcykpOwogCiAgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAs
IGtDRk51bWJlckludFR5cGUsICZzdGF0LmltYWdlcy5saXZlU2l6ZSkpOwpAQCAtMTc4LDYgKzE3
OSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OnN0YXQKICAgICBwcm9w
QmFnLT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOwogICAgIHNbMl0gPSBwcm9wQmFn
LmxlYWtSZWYoKTsKIAorICAgIC8vIERlY29kZWQgU2l6ZXMKICAgICBkaWN0aW9uYXJ5ID0gYWRv
cHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtl
eUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKIAogICAgIHZh
bHVlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3RhdC5p
bWFnZXMuZGVjb2RlZFNpemUpKTsKQEAgLTIwMCw2ICsyMDIsNTIgQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJDYWNoZTo6c3RhdAogICAgIHByb3BCYWctPnNldERpY3Rpb25hcnkoZGlj
dGlvbmFyeS5nZXQoKSk7CiAgICAgc1szXSA9IHByb3BCYWcubGVha1JlZigpOwogCisgICAgLy8g
UHVyZ2FibGUgU2l6ZXMKKyAgICBkaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVh
dGVNdXRhYmxlKDAsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVE
aWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKKworICAgIHZhbHVlID0gYWRvcHRDRihDRk51bWJl
ckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3RhdC5pbWFnZXMucHVyZ2VhYmxlU2l6ZSkp
OworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIGltYWdlc0tleSwg
dmFsdWUuZ2V0KCkpOworCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKDAsIGtD
Rk51bWJlckludFR5cGUsICZzdGF0LmNzc1N0eWxlU2hlZXRzLnB1cmdlYWJsZVNpemUpKTsKKyAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBzdHlsZXNoZWV0c0tleSwg
dmFsdWUuZ2V0KCkpOworCisjaWYgRU5BQkxFKFhTTFQpCisgICAgdmFsdWUgPSBhZG9wdENGKENG
TnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LnhzbFN0eWxlU2hlZXRzLnB1
cmdlYWJsZVNpemUpKTsKKyNlbHNlCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRl
KDAsIGtDRk51bWJlckludFR5cGUsICZ6ZXJvKSk7CisjZW5kaWYKKyAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCB4c2xLZXksIHZhbHVlLmdldCgpKTsKKworICAgIHZh
bHVlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3RhdC5z
Y3JpcHRzLnB1cmdlYWJsZVNpemUpKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9u
YXJ5LmdldCgpLCBzY3JpcHRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICBwcm9wQmFnID0gQ0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWc6OmNyZWF0ZUluc3RhbmNlKCk7CisgICAgcHJvcEJhZy0+c2V0
RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKKyAgICBzWzRdID0gcHJvcEJhZy5sZWFrUmVm
KCk7CisKKyAgICAvLyBQdXJnZWQgU2l6ZXMKKyAgICBkaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRp
Y3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNr
cywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKKworICAgIHZhbHVlID0gYWRv
cHRDRihDRk51bWJlckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3RhdC5pbWFnZXMucHVy
Z2VkU2l6ZSkpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIGlt
YWdlc0tleSwgdmFsdWUuZ2V0KCkpOworCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3Jl
YXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LmNzc1N0eWxlU2hlZXRzLnB1cmdlZFNpemUp
KTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBzdHlsZXNoZWV0
c0tleSwgdmFsdWUuZ2V0KCkpOworCisjaWYgRU5BQkxFKFhTTFQpCisgICAgdmFsdWUgPSBhZG9w
dENGKENGTnVtYmVyQ3JlYXRlKDAsIGtDRk51bWJlckludFR5cGUsICZzdGF0LnhzbFN0eWxlU2hl
ZXRzLnB1cmdlZFNpemUpKTsKKyNlbHNlCisgICAgdmFsdWUgPSBhZG9wdENGKENGTnVtYmVyQ3Jl
YXRlKDAsIGtDRk51bWJlckludFR5cGUsICZ6ZXJvKSk7CisjZW5kaWYKKyAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCB4c2xLZXksIHZhbHVlLmdldCgpKTsKKworICAg
IHZhbHVlID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZSgwLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmc3Rh
dC5zY3JpcHRzLnB1cmdlZFNpemUpKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9u
YXJ5LmdldCgpLCBzY3JpcHRzS2V5LCB2YWx1ZS5nZXQoKSk7CisKKyAgICBwcm9wQmFnID0gQ0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWc6OmNyZWF0ZUluc3RhbmNlKCk7CisgICAgcHJvcEJhZy0+c2V0
RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKKyAgICBzWzVdID0gcHJvcEJhZy5sZWFrUmVm
KCk7CisKICAgICByZXR1cm4gU19PSzsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN0YXRpc3RpY3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3RhdGlzdGljcy5oCShyZXZpc2lvbiAxNzA0ODEpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3RhdGlzdGljcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMTQgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCwxMCArNjQsMjcgQEAgcHVibGljOgog
ICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIFVJTlQgKmNvdW50KTsKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY2FjaGVkRm9udERhdGFJbmFjdGl2ZUNvdW50KCAKICAg
ICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBVSU5UICpjb3VudCk7Ci0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHB1cmdlSW5hY3RpdmVGb250RGF0YSh2b2lkKTsKKyAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcHVyZ2VJbmFjdGl2ZUZvbnREYXRhKCk7
CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGdseXBoUGFnZUNvdW50KCAK
ICAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBVSU5UICpjb3VudCk7CiAKKyAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgamF2YVNjcmlwdE9iamVjdFR5cGVDb3VudHMoLyog
W3JldHZhbF1bb3V0XSAqLyBJUHJvcGVydHlCYWcyKiogdHlwZU5hbWVzQW5kQ291bnRzKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZ2FyYmFnZUNvbGxlY3RKYXZhU2Ny
aXB0T2JqZWN0cygpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBnYXJi
YWdlQ29sbGVjdEphdmFTY3JpcHRPYmplY3RzT25BbHRlcm5hdGVUaHJlYWRGb3JEZWJ1Z2dpbmco
Qk9PTCB3YWl0VW50aWxEb25lKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoQk9PTCk7CisKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2hvdWxkUHJpbnRFeGNlcHRpb25z
KEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U2hvdWxk
UHJpbnRFeGNlcHRpb25zKEJPT0wpOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHN0YXJ0SWdub3JpbmdXZWJDb3JlTm9kZUxlYWtzKCk7CisgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHN0b3BJZ25vcmluZ1dlYkNvcmVOb2RlTGVha3MoKTsKKwor
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBtZW1vcnlTdGF0aXN0aWNzKC8q
IFtyZXR2YWxdW291dF0gKi8gSVByb3BlcnR5QmFnKiogc3RhdGlzdGljcyk7CisgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJldHVybkZyZWVNZW1vcnlUb1N5c3RlbSgpOwor
CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhY2hlZFBhZ2VDb3VudCgv
KiBbcmV0dmFsXVtvdXRdICovIElOVCAqY291bnQpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBjYWNoZWRGcmFtZUNvdW50KC8qIFtyZXR2YWxdW291dF0gKi8gSU5UICpj
b3VudCk7CisKIHByb3RlY3RlZDoKICAgICBVTE9ORyBtX3JlZkNvdW50OwogfTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYkNvcmVTdGF0aXN0aWNzLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJDb3JlU3RhdGlzdGljcy5p
ZGwJKHJldmlzaW9uIDE3MDQ4MSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YkNvcmVTdGF0aXN0aWNzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA4LCAyMDE0IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsNCArNTMsMjEgQEAgaW50ZXJm
YWNlIElXZWJDb3JlU3RhdGlzdGljcyA6IElVbmtub3duCiAgICAgSFJFU1VMVCBnbHlwaFBhZ2VD
b3VudChbb3V0LCByZXR2YWxdIFVJTlQqIGNvdW50KTsKIAogICAgIEhSRVNVTFQgamF2YVNjcmlw
dFByb3RlY3RlZE9iamVjdFR5cGVDb3VudHMoW291dCwgcmV0dmFsXSBJUHJvcGVydHlCYWcyKiog
dHlwZU5hbWVzQW5kQ291bnRzKTsKKyAgICBIUkVTVUxUIGphdmFTY3JpcHRPYmplY3RUeXBlQ291
bnRzKFtvdXQsIHJldHZhbF0gSVByb3BlcnR5QmFnMioqIHR5cGVOYW1lc0FuZENvdW50cyk7CisK
KyAgICBIUkVTVUxUIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKTsKKyAgICBIUkVT
VUxUIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHNPbkFsdGVybmF0ZVRocmVhZEZvckRl
YnVnZ2luZyhbaW5dIEJPT0wgd2FpdFVudGlsRG9uZSk7CisgICAgSFJFU1VMVCBzZXRKYXZhU2Ny
aXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChbaW5dIEJPT0wpOworCisgICAgSFJFU1VM
VCBzaG91bGRQcmludEV4Y2VwdGlvbnMoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VM
VCBzZXRTaG91bGRQcmludEV4Y2VwdGlvbnMoW2luXSBCT09MKTsKKworICAgIEhSRVNVTFQgc3Rh
cnRJZ25vcmluZ1dlYkNvcmVOb2RlTGVha3MoKTsKKyAgICBIUkVTVUxUIHN0b3BJZ25vcmluZ1dl
YkNvcmVOb2RlTGVha3MoKTsKKworICAgIEhSRVNVTFQgbWVtb3J5U3RhdGlzdGljcyhbb3V0LCBy
ZXR2YWxdIElQcm9wZXJ0eUJhZyoqIHN0YXRpc3RpY3MpOworICAgIEhSRVNVTFQgcmV0dXJuRnJl
ZU1lbW9yeVRvU3lzdGVtKCk7CisKKyAgICBIUkVTVUxUIGNhY2hlZFBhZ2VDb3VudChbb3V0LCBy
ZXR2YWxdIElOVCogY291bnQpOworICAgIEhSRVNVTFQgY2FjaGVkRnJhbWVDb3VudChbb3V0LCBy
ZXR2YWxdIElOVCogY291bnQpOwogfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNDgxKQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDYtMjUgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dpbl0gRXhwb3NlIENhY2hlIElu
Zm9ybWF0aW9uIHRvIFdpbkxhdW5jaGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzQzMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdpbkxhdW5jaGVyL0NvbW1vbi5jcHA6IFVwZGF0ZSBmb3IgbmV3
IGRpYWxvZy4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHA6IEFkZCBzdXBw
b3J0IGZvciBXZWJDYWNoZQorICAgICAgICBhbmQgV2ViQ29yZVN0YXRpc3RpY3MuCisgICAgICAg
ICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaDoKKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5M
YXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliLnJjOgorICAgICAgICBVcGRhdGUgZm9yIG5l
dyBDYWNoZSBEaWFsb2cuCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJv
ai9XaW5MYXVuY2hlckxpYkNvbW1vbi5wcm9wczogTGluayB0bworICAgICAgICBXVEYubGliCisg
ICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJl
c291cmNlLmg6IFVwZGF0ZQorICAgICAgICBmb3IgbmV3IERpYWxvZy4KKwogMjAxNC0wNi0yNiAg
QnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBVbnJl
dmlld2VkIGdhcmRlbmluZy4gVXNlIGNvbnNpc3RlbnQgbGluZS1lbmRpbmdzIGluIGZpbGUuCklu
ZGV4OiBUb29scy9XaW5MYXVuY2hlci9Db21tb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dp
bkxhdW5jaGVyL0NvbW1vbi5jcHAJKHJldmlzaW9uIDE3MDQ4MSkKKysrIFRvb2xzL1dpbkxhdW5j
aGVyL0NvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0LDEyIEBACiAjaW5jbHVk
ZSA8V2ViS2l0L1dlYktpdENPTUFQSS5oPgogI2luY2x1ZGUgPHd0Zi9FeHBvcnRNYWNyb3MuaD4K
ICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBVU0UoQ0YpCiAjaW5jbHVk
ZSA8Q29yZUZvdW5kYXRpb24vQ0ZSdW5Mb29wLmg+CisjaW5jbHVkZSA8V2ViS2l0L0NGRGljdGlv
bmFyeVByb3BlcnR5QmFnLmg+CiAjZW5kaWYKIAogI2luY2x1ZGUgPGNhc3NlcnQ+CkBAIC02Miw3
ICs2NSw2IEBAIHN0YXRpYyBjb25zdCBpbnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKIAogdHlwZWRl
ZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViRnJhbWUsICZfX3V1aWRvZihJV2ViRnJhbWUpPj4g
SVdlYkZyYW1lUHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViTXV0YWJsZVVS
TFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0YWJsZVVSTFJlcXVlc3QpPj4gSVdlYk11dGFibGVV
UkxSZXF1ZXN0UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZf
X3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hlUHRyOwogCiAvLyBHbG9iYWwgVmFyaWFibGVz
OgogSElOU1RBTkNFIGhJbnN0OwpAQCAtNzAsNiArNzIsNyBAQCBIV05EIGhNYWluV25kOwogSFdO
RCBoVVJMQmFyV25kOwogSFdORCBoQmFja0J1dHRvblduZDsKIEhXTkQgaEZvcndhcmRCdXR0b25X
bmQ7CitIV05EIGhDYWNoZVduZDsKIFdORFBST0MgRGVmRWRpdFByb2MgPSBudWxscHRyOwogV05E
UFJPQyBEZWZCdXR0b25Qcm9jID0gbnVsbHB0cjsKIFdORFBST0MgRGVmV2ViS2l0UHJvYyA9IG51
bGxwdHI7CkBAIC05MCw4ICs5MywxMCBAQCBMUkVTVUxUIENBTExCQUNLIEVkaXRQcm9jKEhXTkQs
IFVJTlQsIFdQCiBMUkVTVUxUIENBTExCQUNLIEJhY2tCdXR0b25Qcm9jKEhXTkQsIFVJTlQsIFdQ
QVJBTSwgTFBBUkFNKTsKIExSRVNVTFQgQ0FMTEJBQ0sgRm9yd2FyZEJ1dHRvblByb2MoSFdORCwg
VUlOVCwgV1BBUkFNLCBMUEFSQU0pOwogTFJFU1VMVCBDQUxMQkFDSyBSZWxvYWRCdXR0b25Qcm9j
KEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKK0lOVF9QVFIgQ0FMTEJBQ0sgQ2FjaGVzKEhX
TkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKIAogc3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHVy
bEJTdHIpOworc3RhdGljIHZvaWQgdXBkYXRlU3RhdGlzdGljcyhIV05EIGhEbGcpOwogCiBzdGF0
aWMgdm9pZCByZXNpemVTdWJWaWV3cygpCiB7CkBAIC0xNTUsMTAgKzE2MCw4IEBAIHN0YXRpYyBi
b29sIGdldEFwcERhdGFGb2xkZXIoX2JzdHJfdCYgZGkKIAogc3RhdGljIGJvb2wgc2V0Q2FjaGVG
b2xkZXIoKQogewotICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZTsKLQotICAgIEhSRVNVTFQgaHIg
PSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJDYWNoZSwgMCwgX191dWlkb2Yod2ViQ2Fj
aGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndlYkNhY2hlLkdldEludGVyZmFjZVB0cigp
KSk7Ci0gICAgaWYgKEZBSUxFRChocikpCisgICAgSVdlYkNhY2hlUHRyIHdlYkNhY2hlID0gZ1dp
bkxhdW5jaGVyLT53ZWJDYWNoZSgpOworICAgIGlmICghd2ViQ2FjaGUpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIF9ic3RyX3QgYXBwRGF0YUZvbGRlcjsKQEAgLTM3OSw2ICszODIsMTIg
QEAgTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKEhXTkQgaFduZCwgVUlOVAogICAgICAgICAgICAg
aWYgKGdXaW5MYXVuY2hlcikKICAgICAgICAgICAgICAgICBnV2luTGF1bmNoZXItPmxhdW5jaElu
c3BlY3RvcigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURNX0NBQ0hFUzoK
KyAgICAgICAgICAgIGlmICghOjpJc1dpbmRvdyhoQ2FjaGVXbmQpKSB7CisgICAgICAgICAgICAg
ICAgaENhY2hlV25kID0gQ3JlYXRlRGlhbG9nKGhJbnN0LCBNQUtFSU5UUkVTT1VSQ0UoSUREX0NB
Q0hFUyksIGhXbmQsIENhY2hlcyk7CisgICAgICAgICAgICAgICAgOjpTaG93V2luZG93KGhDYWNo
ZVduZCwgU1dfU0hPVyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBJRE1fSElTVE9SWV9CQUNLV0FSRDoKICAgICAgICAgY2FzZSBJRE1fSElTVE9SWV9G
T1JXQVJEOgogICAgICAgICAgICAgaWYgKGdXaW5MYXVuY2hlcikKQEAgLTQ3Niw2ICs0ODUsMzUg
QEAgSU5UX1BUUiBDQUxMQkFDSyBBYm91dChIV05EIGhEbGcsIFVJTlQgbQogICAgIHJldHVybiAo
SU5UX1BUUilGQUxTRTsKIH0KIAorSU5UX1BUUiBDQUxMQkFDSyBDYWNoZXMoSFdORCBoRGxnLCBV
SU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCit7CisgICAgVU5SRUZF
UkVOQ0VEX1BBUkFNRVRFUihsUGFyYW0pOworICAgIHN3aXRjaCAobWVzc2FnZSkgeworICAgIGNh
c2UgV01fSU5JVERJQUxPRzoKKyAgICAgICAgOjpTZXRUaW1lcihoRGxnLCBJRFRfVVBEQVRFX1NU
QVRTLCAxMDAwLCBudWxscHRyKTsKKyAgICAgICAgcmV0dXJuIChJTlRfUFRSKVRSVUU7CisKKyAg
ICBjYXNlIFdNX0NPTU1BTkQ6CisgICAgICAgIGlmIChMT1dPUkQod1BhcmFtKSA9PSBJRE9LIHx8
IExPV09SRCh3UGFyYW0pID09IElEQ0FOQ0VMKSB7CisgICAgICAgICAgICA6OktpbGxUaW1lciho
RGxnLCBJRFRfVVBEQVRFX1NUQVRTKTsKKyAgICAgICAgICAgIDo6RGVzdHJveVdpbmRvdyhoRGxn
KTsKKyAgICAgICAgICAgIGhDYWNoZVduZCA9IDA7CisgICAgICAgICAgICByZXR1cm4gKElOVF9Q
VFIpVFJVRTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgSURUX1VQREFU
RV9TVEFUUzoKKyAgICAgICAgOjpJbnZhbGlkYXRlUmVjdChoRGxnLCBudWxscHRyLCBGQUxTRSk7
CisgICAgICAgIHJldHVybiAoSU5UX1BUUilUUlVFOworCisgICAgY2FzZSBXTV9QQUlOVDoKKyAg
ICAgICAgdXBkYXRlU3RhdGlzdGljcyhoRGxnKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg
ICAgcmV0dXJuIChJTlRfUFRSKUZBTFNFOworfQorCiBzdGF0aWMgdm9pZCBsb2FkVVJMKEJTVFIg
cGFzc2VkVVJMKQogewogICAgIGlmIChGQUlMRUQoZ1dpbkxhdW5jaGVyLT5sb2FkVVJMKHBhc3Nl
ZFVSTCkpKQpAQCAtNDg0LDYgKzUyMiwxNjcgQEAgc3RhdGljIHZvaWQgbG9hZFVSTChCU1RSIHBh
c3NlZFVSTCkKICAgICBTZXRGb2N1cyhnVmlld1dpbmRvdyk7CiB9CiAKK3N0YXRpYyB2b2lkIHNl
dFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIF9ic3RyX3QgdmFsdWUpCit7Cisg
ICAgOjpTZXREbGdJdGVtVGV4dChkaWFsb2csIGZpZWxkLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2
b2lkIHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIFVJTlQgdmFsdWUpCit7
CisgICAgU3RyaW5nIHZhbHVlU3RyID0gV1RGOjpTdHJpbmc6Om51bWJlcih2YWx1ZSk7CisKKyAg
ICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgZmllbGQsIF9ic3RyX3QodmFsdWVTdHIudXRmOCgpLmRh
dGEoKSkpOworfQorCit0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElQcm9wZXJ0eUJhZywg
Jl9fdXVpZG9mKElQcm9wZXJ0eUJhZyk+PiBJUHJvcGVydHlCYWdQdHI7CisKK3N0YXRpYyB2b2lk
IHNldFdpbmRvd1RleHQoSFdORCBkaWFsb2csIFVJTlQgZmllbGQsIElQcm9wZXJ0eUJhZ1B0ciBz
dGF0aXN0aWNzLCBjb25zdCBfYnN0cl90JiBrZXkpCit7CisgICAgVkFSSUFOVCB2YXI7CisgICAg
OjpWYXJpYW50SW5pdCgmdmFyKTsKKyAgICBWX1ZUKCZ2YXIpID0gVlRfVUk4OworICAgIGlmIChG
QUlMRUQoc3RhdGlzdGljcy0+UmVhZChrZXksICZ2YXIsIDApKSkgeworICAgICAgICA6OlZhcmlh
bnRDbGVhcigmdmFyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyB2YWx1ZSA9IFZfVUk4KCZ2YXIpOworICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6
U3RyaW5nOjpudW1iZXIodmFsdWUpOworCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxk
LCBfYnN0cl90KHZhbHVlU3RyLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICA6OlZhcmlhbnRDbGVhcigm
dmFyKTsKK30KKworc3RhdGljIHZvaWQgc2V0V2luZG93VGV4dChIV05EIGRpYWxvZywgVUlOVCBm
aWVsZCwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIENGU3RyaW5nUmVmIGtleSwgVUlOVCYg
dG90YWwpCit7CisgICAgQ0ZOdW1iZXJSZWYgY291bnROdW0gPSBzdGF0aWNfY2FzdDxDRk51bWJl
clJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGljdGlvbmFyeSwga2V5KSk7CisgICAgaWYgKCFj
b3VudE51bSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW50IGNvdW50ID0gMDsKKyAgICBDRk51
bWJlckdldFZhbHVlKGNvdW50TnVtLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmY291bnQpOworCisgICAg
c2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBzdGF0aWNfY2FzdDxVSU5UPihjb3VudCkpOwor
ICAgIHRvdGFsICs9IGNvdW50OworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVTdGF0aXN0aWNzKEhX
TkQgZGlhbG9nKQoreworICAgIGlmICghZ1dpbkxhdW5jaGVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBJV2ViQ29yZVN0YXRpc3RpY3NQdHIgd2ViQ29yZVN0YXRpc3RpY3MgPSBnV2luTGF1bmNo
ZXItPnN0YXRpc3RpY3MoKTsKKyAgICBpZiAoIXdlYkNvcmVTdGF0aXN0aWNzKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBJUHJvcGVydHlCYWdQdHIgc3RhdGlzdGljczsKKyAgICBIUkVTVUxUIGhy
ID0gd2ViQ29yZVN0YXRpc3RpY3MtPm1lbW9yeVN0YXRpc3RpY3MoJnN0YXRpc3RpY3MuR2V0SW50
ZXJmYWNlUHRyKCkpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm47CisKKyAg
ICAvLyBGYXN0TWFsbG9jCisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19SRVNFUlZFRF9W
TSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2NSZXNlcnZlZFZNQnl0ZXMiKTsKKyAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0NPTU1JVFRFRF9WTSwgc3RhdGlzdGljcywgIkZhc3RNYWxsb2ND
b21taXR0ZWRWTUJ5dGVzIik7CisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19GUkVFX0xJ
U1RfQllURVMsIHN0YXRpc3RpY3MsICJGYXN0TWFsbG9jRnJlZUxpc3RCeXRlcyIpOworCisgICAg
Ly8gV2ViQ29yZSBDYWNoZQorI2lmIFVTRShDRikKKyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUg
PSBnV2luTGF1bmNoZXItPndlYkNhY2hlKCk7CisKKyAgICBpbnQgZGljdENvdW50ID0gNjsKKyAg
ICBJUHJvcGVydHlCYWcqIGNhY2hlRGljdFs2XSA9IHsgMCB9OworICAgIGlmIChGQUlMRUQod2Vi
Q2FjaGUtPnN0YXRpc3RpY3MoJmRpY3RDb3VudCwgY2FjaGVEaWN0KSkpCisgICAgICAgIHJldHVy
bjsKKworICAgIENPTVB0cjxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4gY291bnRzLCBzaXplcywg
bGl2ZVNpemVzLCBkZWNvZGVkU2l6ZXMsIHB1cmdhYmxlU2l6ZXM7CisgICAgY291bnRzLmFkb3B0
UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3Rb
MF0pKTsKKyAgICBzaXplcy5hZG9wdFJlZihyZWludGVycHJldF9jYXN0PENGRGljdGlvbmFyeVBy
b3BlcnR5QmFnKj4oY2FjaGVEaWN0WzFdKSk7CisgICAgbGl2ZVNpemVzLmFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcqPihjYWNoZURpY3RbMl0pKTsKKyAg
ICBkZWNvZGVkU2l6ZXMuYWRvcHRSZWYocmVpbnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9w
ZXJ0eUJhZyo+KGNhY2hlRGljdFszXSkpOworICAgIHB1cmdhYmxlU2l6ZXMuYWRvcHRSZWYocmVp
bnRlcnByZXRfY2FzdDxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZyo+KGNhY2hlRGljdFs0XSkpOwor
CisgICAgc3RhdGljIENGU3RyaW5nUmVmIGltYWdlc0tleSA9IENGU1RSKCJpbWFnZXMiKTsKKyAg
ICBzdGF0aWMgQ0ZTdHJpbmdSZWYgc3R5bGVzaGVldHNLZXkgPSBDRlNUUigic3R5bGUgc2hlZXRz
Iik7CisgICAgc3RhdGljIENGU3RyaW5nUmVmIHhzbEtleSA9IENGU1RSKCJ4c2wiKTsKKyAgICBz
dGF0aWMgQ0ZTdHJpbmdSZWYgc2NyaXB0c0tleSA9IENGU1RSKCJzY3JpcHRzIik7CisKKyAgICBp
ZiAoY291bnRzKSB7CisgICAgICAgIFVJTlQgdG90YWxPYmplY3RzID0gMDsKKyAgICAgICAgc2V0
V2luZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rp
b25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0
KGRpYWxvZywgSURDX0NTU19PQkpFQ1RfQ09VTlQsIGNvdW50cy0+ZGljdGlvbmFyeSgpLCBzdHls
ZXNoZWV0c0tleSwgdG90YWxPYmplY3RzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19YU0xfT0JKRUNUX0NPVU5ULCBjb3VudHMtPmRpY3Rpb25hcnkoKSwgeHNsS2V5LCB0b3Rh
bE9iamVjdHMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pTQ19PQkpFQ1Rf
Q09VTlQsIGNvdW50cy0+ZGljdGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbE9iamVjdHMpOwor
ICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX09CSkVDVF9DT1VOVCwgdG90
YWxPYmplY3RzKTsKKyAgICB9CisKKyAgICBpZiAoc2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3Rh
bEJ5dGVzID0gMDsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19JTUFHRVNfQllU
RVMsIHNpemVzLT5kaWN0aW9uYXJ5KCksIGltYWdlc0tleSwgdG90YWxCeXRlcyk7CisgICAgICAg
IHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfQ1NTX0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgp
LCBzdHlsZXNoZWV0c0tleSwgdG90YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfWFNMX0JZVEVTLCBzaXplcy0+ZGljdGlvbmFyeSgpLCB4c2xLZXksIHRvdGFsQnl0
ZXMpOworICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX0pTQ19CWVRFUywgc2l6ZXMt
PmRpY3Rpb25hcnkoKSwgc2NyaXB0c0tleSwgdG90YWxCeXRlcyk7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfVE9UQUxfQllURVMsIHRvdGFsQnl0ZXMpOworICAgIH0KKworICAg
IGlmIChsaXZlU2l6ZXMpIHsKKyAgICAgICAgVUlOVCB0b3RhbExpdmVCeXRlcyA9IDA7CisgICAg
ICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0xJVkVfQ09VTlQsIGxpdmVTaXpl
cy0+ZGljdGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0
V2luZG93VGV4dChkaWFsb2csIElEQ19DU1NfTElWRV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9u
YXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0b3RhbExpdmVCeXRlcyk7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfWFNMX0xJVkVfQ09VTlQsIGxpdmVTaXplcy0+ZGljdGlvbmFyeSgp
LCB4c2xLZXksIHRvdGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19KU0NfTElWRV9DT1VOVCwgbGl2ZVNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlwdHNLZXks
IHRvdGFsTGl2ZUJ5dGVzKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19UT1RB
TF9MSVZFX0NPVU5ULCB0b3RhbExpdmVCeXRlcyk7CisgICAgfQorCisgICAgaWYgKGRlY29kZWRT
aXplcykgeworICAgICAgICBVSU5UIHRvdGFsRGVjb2RlZCA9IDA7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGlj
dGlvbmFyeSgpLCBpbWFnZXNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1Rl
eHQoZGlhbG9nLCBJRENfQ1NTX0RFQ09ERURfQ09VTlQsIGRlY29kZWRTaXplcy0+ZGljdGlvbmFy
eSgpLCBzdHlsZXNoZWV0c0tleSwgdG90YWxEZWNvZGVkKTsKKyAgICAgICAgc2V0V2luZG93VGV4
dChkaWFsb2csIElEQ19YU0xfREVDT0RFRF9DT1VOVCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5
KCksIHhzbEtleSwgdG90YWxEZWNvZGVkKTsKKyAgICAgICAgc2V0V2luZG93VGV4dChkaWFsb2cs
IElEQ19KU0NfREVDT0RFRF9DT1VOVCwgZGVjb2RlZFNpemVzLT5kaWN0aW9uYXJ5KCksIHNjcmlw
dHNLZXksIHRvdGFsRGVjb2RlZCk7CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENf
VE9UQUxfREVDT0RFRCwgdG90YWxEZWNvZGVkKTsKKyAgICB9CisKKyAgICBpZiAocHVyZ2FibGVT
aXplcykgeworICAgICAgICBVSU5UIHRvdGFsUHVyZ2FibGUgPSAwOworICAgICAgICBzZXRXaW5k
b3dUZXh0KGRpYWxvZywgSURDX0lNQUdFU19QVVJHRUFCTEVfQ09VTlQsIHB1cmdhYmxlU2l6ZXMt
PmRpY3Rpb25hcnkoKSwgaW1hZ2VzS2V5LCB0b3RhbFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2lu
ZG93VGV4dChkaWFsb2csIElEQ19DU1NfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVzLT5k
aWN0aW9uYXJ5KCksIHN0eWxlc2hlZXRzS2V5LCB0b3RhbFB1cmdhYmxlKTsKKyAgICAgICAgc2V0
V2luZG93VGV4dChkaWFsb2csIElEQ19YU0xfUFVSR0VBQkxFX0NPVU5ULCBwdXJnYWJsZVNpemVz
LT5kaWN0aW9uYXJ5KCksIHhzbEtleSwgdG90YWxQdXJnYWJsZSk7CisgICAgICAgIHNldFdpbmRv
d1RleHQoZGlhbG9nLCBJRENfSlNDX1BVUkdFQUJMRV9DT1VOVCwgcHVyZ2FibGVTaXplcy0+ZGlj
dGlvbmFyeSgpLCBzY3JpcHRzS2V5LCB0b3RhbFB1cmdhYmxlKTsKKyAgICAgICAgc2V0V2luZG93
VGV4dChkaWFsb2csIElEQ19UT1RBTF9QVVJHRUFCTEUsIHRvdGFsUHVyZ2FibGUpOworICAgIH0K
KyNlbmRpZgorCisgICAgLy8gSmF2YVNjcmlwdCBIZWFwCisgICAgc2V0V2luZG93VGV4dChkaWFs
b2csIElEQ19KU0NfSEVBUF9TSVpFLCBzdGF0aXN0aWNzLCAiSmF2YVNjcmlwdEhlYXBTaXplIik7
CisgICAgc2V0V2luZG93VGV4dChkaWFsb2csIElEQ19KU0NfSEVBUF9GUkVFLCBzdGF0aXN0aWNz
LCAiSmF2YVNjcmlwdEZyZWVTaXplIik7CisKKyAgICBVSU5UIGNvdW50OworICAgIGlmIChTVUND
RUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmphdmFTY3JpcHRPYmplY3RzQ291bnQoJmNvdW50KSkp
CisgICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNU
UywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmphdmFTY3Jp
cHRHbG9iYWxPYmplY3RzQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQoZGlh
bG9nLCBJRENfR0xPQkFMX0pTQ19IRUFQX09CSkVDVFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VF
REVEKHdlYkNvcmVTdGF0aXN0aWNzLT5qYXZhU2NyaXB0UHJvdGVjdGVkT2JqZWN0c0NvdW50KCZj
b3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1BST1RFQ1RFRF9KU0Nf
SEVBUF9PQkpFQ1RTLCBjb3VudCk7CisKKyAgICAvLyBGb250IGFuZCBHbHlwaCBDYWNoZXMKKyAg
ICBpZiAoU1VDQ0VFREVEKHdlYkNvcmVTdGF0aXN0aWNzLT5jYWNoZWRGb250RGF0YUNvdW50KCZj
b3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1RPVEFMX0ZPTlRfT0JK
RUNUUywgY291bnQpOworICAgIGlmIChTVUNDRUVERUQod2ViQ29yZVN0YXRpc3RpY3MtPmNhY2hl
ZEZvbnREYXRhSW5hY3RpdmVDb3VudCgmY291bnQpKSkKKyAgICAgICAgc2V0V2luZG93VGV4dChk
aWFsb2csIElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VF
REVEKHdlYkNvcmVTdGF0aXN0aWNzLT5nbHlwaFBhZ2VDb3VudCgmY291bnQpKSkKKyAgICAgICAg
c2V0V2luZG93VGV4dChkaWFsb2csIElEQ19HTFlQSF9QQUdFUywgY291bnQpOworCisgICAgLy8g
U2l0ZSBJY29uIERhdGFiYXNlCisgICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+
aWNvblBhZ2VVUkxNYXBwaW5nQ291bnQoJmNvdW50KSkpCisgICAgICAgIHNldFdpbmRvd1RleHQo
ZGlhbG9nLCBJRENfUEFHRV9VUkxfTUFQUElOR1MsIGNvdW50KTsKKyAgICBpZiAoU1VDQ0VFREVE
KHdlYkNvcmVTdGF0aXN0aWNzLT5pY29uUmV0YWluZWRQYWdlVVJMQ291bnQoJmNvdW50KSkpCisg
ICAgICAgIHNldFdpbmRvd1RleHQoZGlhbG9nLCBJRENfUkVUQUlORURfUEFHRV9VUkxTLCBjb3Vu
dCk7CisgICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNvblJlY29yZENvdW50
KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywgSURDX1NJVEVfSUNPTl9S
RUNPUkRTLCBjb3VudCk7CisgICAgaWYgKFNVQ0NFRURFRCh3ZWJDb3JlU3RhdGlzdGljcy0+aWNv
bnNXaXRoRGF0YUNvdW50KCZjb3VudCkpKQorICAgICAgICBzZXRXaW5kb3dUZXh0KGRpYWxvZywg
SURDX1NJVEVfSUNPTlNfV0lUSF9EQVRBLCBjb3VudCk7Cit9CisKIGV4dGVybiAiQyIgX19kZWNs
c3BlYyhkbGxleHBvcnQpIGludCBXSU5BUEkgZGxsTGF1bmNoZXJFbnRyeVBvaW50KEhJTlNUQU5D
RSBoSW5zdGFuY2UsIEhJTlNUQU5DRSBoUHJldkluc3RhbmNlLCBMUFdTVFIgbHBzdHJDbWRMaW5l
LCBpbnQgbkNtZFNob3cpCiB7CiAgICAgcmV0dXJuIHdXaW5NYWluKGhJbnN0YW5jZSwgaFByZXZJ
bnN0YW5jZSwgbHBzdHJDbWRMaW5lLCBuQ21kU2hvdyk7CkluZGV4OiBUb29scy9XaW5MYXVuY2hl
ci9XaW5MYXVuY2hlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1
bmNoZXIuY3BwCShyZXZpc2lvbiAxNzA0ODEpCisrKyBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVu
Y2hlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDYgQEAKIHN0YXRpYyBjb25zdCBp
bnQgbWF4SGlzdG9yeVNpemUgPSAxMDsKIAogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViTXV0YWJsZVVSTFJlcXVlc3QsICZfX3V1aWRvZihJV2ViTXV0YWJsZVVSTFJlcXVlc3QpPj4g
SVdlYk11dGFibGVVUkxSZXF1ZXN0UHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4gSVdlYkNhY2hlUHRyOwogCiBXaW5MYXVu
Y2hlcjo6V2luTGF1bmNoZXIoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCB1c2VM
YXllcmVkV2ViVmlldykKICAgICA6IG1faE1haW5XbmQobWFpblduZCkKQEAgLTcwLDYgKzY5LDE0
IEBAIEhSRVNVTFQgV2luTGF1bmNoZXI6OmluaXQoKQogICAgICAgICByZXR1cm4gaHI7CiAKICAg
ICBociA9IFdlYktpdENyZWF0ZUluc3RhbmNlKENMU0lEX1dlYkhpc3RvcnksIDAsIF9fdXVpZG9m
KG1fd2ViSGlzdG9yeSksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmbV93ZWJIaXN0b3J5Lkdl
dEludGVyZmFjZVB0cigpKSk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBo
cjsKKworICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURfV2ViQ29yZVN0YXRpc3Rp
Y3MsIDAsIF9fdXVpZG9mKG1fc3RhdGlzdGljcyksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigm
bV9zdGF0aXN0aWNzLkdldEludGVyZmFjZVB0cigpKSk7CisgICAgaWYgKEZBSUxFRChocikpCisg
ICAgICAgIHJldHVybiBocjsKKworICAgIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURf
V2ViQ2FjaGUsIDAsIF9fdXVpZG9mKG1fd2ViQ2FjaGUpLCByZWludGVycHJldF9jYXN0PHZvaWQq
Kj4oJm1fd2ViQ2FjaGUuR2V0SW50ZXJmYWNlUHRyKCkpKTsKIAogICAgIHJldHVybiBocjsKIH0K
SW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkocmV2aXNpb24gMTcwNDgxKQorKysgVG9vbHMv
V2luTGF1bmNoZXIvV2luTGF1bmNoZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsOSArMzcsMTAg
QEAgdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUHJlZmVyZQogdHlwZWRlZiBfY29t
X3B0cl90PF9jb21fSUlJRDxJV2ViVUlEZWxlZ2F0ZSwgJl9fdXVpZG9mKElXZWJVSURlbGVnYXRl
KT4+IElXZWJVSURlbGVnYXRlUHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJQWNj
ZXNzaWJpbGl0eURlbGVnYXRlLCAmX191dWlkb2YoSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZSk+PiBJ
QWNjZXNzaWJpbGl0eURlbGVnYXRlUHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJ
V2ViSW5zcGVjdG9yLCAmX191dWlkb2YoSVdlYkluc3BlY3Rvcik+PiBJV2ViSW5zcGVjdG9yUHRy
OwordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ29yZVN0YXRpc3RpY3MsICZfX3V1
aWRvZihJV2ViQ29yZVN0YXRpc3RpY3MpPj4gSVdlYkNvcmVTdGF0aXN0aWNzUHRyOwordHlwZWRl
ZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViQ2FjaGUsICZfX3V1aWRvZihJV2ViQ2FjaGUpPj4g
SVdlYkNhY2hlUHRyOwogCi1jbGFzcyBXaW5MYXVuY2hlcgoteworY2xhc3MgV2luTGF1bmNoZXIg
ewogcHVibGljOgogICAgIFdpbkxhdW5jaGVyKEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQs
IGJvb2wgdXNlTGF5ZXJlZFdlYlZpZXcgPSBmYWxzZSk7CiAKQEAgLTQ4LDcgKzQ5LDcgQEAgcHVi
bGljOgogCiAgICAgSFJFU1VMVCBsb2FkVVJMKGNvbnN0IEJTVFImIHBhc3NlZFVSTCk7CiAKLSAg
ICB2b2lkIHNob3dMYXN0VmlzaXRlZFNpdGVzKElXZWJWaWV3JiB3ZWJWaWV3KTsKKyAgICB2b2lk
IHNob3dMYXN0VmlzaXRlZFNpdGVzKElXZWJWaWV3Jik7CiAgICAgdm9pZCBsYXVuY2hJbnNwZWN0
b3IoKTsKICAgICB2b2lkIG5hdmlnYXRlRm9yd2FyZE9yQmFja3dhcmQoSFdORCBoV25kLCBVSU5U
IG1lbnVJRCk7CiAgICAgdm9pZCBuYXZpZ2F0ZVRvSGlzdG9yeShIV05EIGhXbmQsIFVJTlQgbWVu
dUlEKTsKQEAgLTYyLDYgKzYzLDggQEAgcHVibGljOgogICAgIElXZWJQcmVmZXJlbmNlc1B0ciBz
dGFuZGFyZFByZWZlcmVuY2VzKCkgeyByZXR1cm4gbV9zdGFuZGFyZFByZWZlcmVuY2VzOyAgfQog
ICAgIElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHIgcHJpdmF0ZVByZWZlcmVuY2VzKCkgeyByZXR1
cm4gbV9wcmVmc1ByaXZhdGU7IH0KICAgICBJV2ViRnJhbWVQdHIgbWFpbkZyYW1lKCk7CisgICAg
SVdlYkNvcmVTdGF0aXN0aWNzUHRyIHN0YXRpc3RpY3MoKSB7IHJldHVybiBtX3N0YXRpc3RpY3M7
IH0KKyAgICBJV2ViQ2FjaGVQdHIgd2ViQ2FjaGUoKSB7IHJldHVybiBtX3dlYkNhY2hlOyAgfQog
CiAgICAgYm9vbCBoYXNXZWJWaWV3KCkgY29uc3QgeyByZXR1cm4gISFtX3dlYlZpZXc7IH0KICAg
ICBib29sIHVzZXNMYXllcmVkV2ViVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGF5ZXJlZFdl
YlZpZXc7IH0KQEAgLTgzLDYgKzg2LDkgQEAgcHJpdmF0ZToKICAgICBJV2ViVUlEZWxlZ2F0ZVB0
ciBtX3VpRGVsZWdhdGU7CiAgICAgSUFjY2Vzc2liaWxpdHlEZWxlZ2F0ZVB0ciBtX2FjY2Vzc2li
aWxpdHlEZWxlZ2F0ZTsKIAorICAgIElXZWJDb3JlU3RhdGlzdGljc1B0ciBtX3N0YXRpc3RpY3M7
CisgICAgSVdlYkNhY2hlUHRyIG1fd2ViQ2FjaGU7CisKICAgICBIV05EIG1faE1haW5XbmQ7CiAg
ICAgSFdORCBtX2hVUkxCYXJXbmQ7CiAKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5j
aGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWIucmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1
bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYi5yYwkocmV2aXNpb24gMTcw
NDgxKQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYi5yYwkod29ya2luZyBjb3B5KQpAQCAtMSwxNzAgKzEsMjc5IEBACi0vLyBNaWNyb3NvZnQg
VmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgotLy8KLSNpbmNsdWRlICJXaW5M
YXVuY2hlckxpYlJlc291cmNlLmgiCi0KLSNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9M
UwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElO
Q0xVREUgMiByZXNvdXJjZS4KLS8vCi0jZGVmaW5lIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTCi0j
aW5jbHVkZSAid2luZG93cy5oIgotI3VuZGVmIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTCi0KLS8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCi0jdW5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwotCi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwotLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi0KLSNpZiAh
ZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKLSNpZmRl
ZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCi0jcHJh
Z21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCi0vLwotLy8gSWNvbgotLy8KLQotLy8gSWNvbiB3aXRoIGxvd2VzdCBJRCB2YWx1ZSBwbGFj
ZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGljb24KLS8vIHJlbWFpbnMgY29uc2lzdGVu
dCBvbiBhbGwgc3lzdGVtcy4KLUlESV9XSU5MQVVOQ0hFUiAgICAgICAgIElDT04gICAgICAgICAg
ICAgICAgICAgICJXaW5MYXVuY2hlci5pY28iCi1JRElfU01BTEwgICAgICAgICAgICAgICBJQ09O
ICAgICAgICAgICAgICAgICAgICAic21hbGwuaWNvIgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwot
Ly8KLS8vIE1lbnUKLS8vCi0KLUlEQ19XSU5MQVVOQ0hFUiBNRU5VIAotQkVHSU4KLSAgICBQT1BV
UCAiJkZpbGUiCi0gICAgQkVHSU4KLSAgICAgICAgTUVOVUlURU0gIiZQcmludFx0Q3RybC1QIiwg
ICAgICAgICAgICAgIElETV9QUklOVAotICAgICAgICBNRU5VSVRFTSAiRSZ4aXQiLCAgICAgICAg
ICAgICAgICAgICAgICAgSURNX0VYSVQKLSAgICBFTkQKLSAgICBQT1BVUCAiJkhpc3RvcnkiCi0g
ICAgQkVHSU4KLSAgICAgICAgTUVOVUlURU0gIkJhY2siLCAgICAgICAgICAgICAgICAgICAgICAg
IElETV9ISVNUT1JZX0JBQ0tXQVJECi0gICAgICAgIE1FTlVJVEVNICJGb3J3YXJkIiwgICAgICAg
ICAgICAgICAgICAgICBJRE1fSElTVE9SWV9GT1JXQVJECi0gICAgICAgIE1FTlVJVEVNIFNFUEFS
QVRPUgotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgMCIsICAgICAgICAgICAgSURN
X0hJU1RPUllfTElOSzAKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDEiLCAgICAg
ICAgICAgIElETV9ISVNUT1JZX0xJTksxCi0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9y
eSAyIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMgotICAgICAgICBNRU5VSVRFTSAiVW51
c2VkIEhpc3RvcnkgMyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzMKLSAgICAgICAgTUVO
VUlURU0gIlVudXNlZCBIaXN0b3J5IDQiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks0Ci0g
ICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA1IiwgICAgICAgICAgICBJRE1fSElTVE9S
WV9MSU5LNQotICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNiIsICAgICAgICAgICAg
SURNX0hJU1RPUllfTElOSzYKLSAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDciLCAg
ICAgICAgICAgIElETV9ISVNUT1JZX0xJTks3Ci0gICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlz
dG9yeSA4IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LOAotICAgICAgICBNRU5VSVRFTSAi
VW51c2VkIEhpc3RvcnkgOSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzkKLSAgICBFTkQK
LSAgICBQT1BVUCAiRCZldmVsb3AiCi0gICAgQkVHSU4KLSAgICAgICAgTUVOVUlURU0gIlNob3cg
V2ViIEluc3BlY3RvciIsICAgICAgICAgIElETV9XRUJfSU5TUEVDVE9SCi0gICAgICAgIE1FTlVJ
VEVNIFNFUEFSQVRPUgotICAgICAgICBNRU5VSVRFTSAiRGlzYWJsZSBJbWFnZXMiLCAgICAgICAg
ICAgICAgSURNX0RJU0FCTEVfSU1BR0VTCi0gICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIFN0eWxl
cyIsICAgICAgICAgICAgICBJRE1fRElTQUJMRV9TVFlMRVMKLSAgICAgICAgTUVOVUlURU0gIkRp
c2FibGUgSmF2YVNjcmlwdCIsICAgICAgICAgIElETV9ESVNBQkxFX0pBVkFTQ1JJUFQKLSAgICAg
ICAgTUVOVUlURU0gIkRpc2FibGUgTG9jYWwgRmlsZSBSZXN0cmljdGlvbnMiLCBJRE1fRElTQUJM
RV9MT0NBTF9GSUxFX1JFU1RSSUNUSU9OUwotICAgIEVORAotICAgIFBPUFVQICImSGVscCIKLSAg
ICBCRUdJTgotICAgICAgICBNRU5VSVRFTSAiJkFib3V0IC4uLiIsICAgICAgICAgICAgICAgICAg
SURNX0FCT1VUCi0gICAgRU5ECi0gICAgUE9QVVAgIiZEZWJ1ZyIKLSAgICBCRUdJTgotICAgICAg
ICBNRU5VSVRFTSAiVXNlIEFWRm91bmRhdGlvbiIsICAgICAgICAgICAgSURNX0FWRk9VTkRBVElP
TiwgQ0hFQ0tFRAotICAgICAgICBNRU5VSVRFTSAiVXNlIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5n
IiwgSURNX0FDQ19DT01QT1NJVElORywgQ0hFQ0tFRAotICAgICAgICBNRU5VSVRFTSAiRW5hYmxl
IFdlYktpdCBGdWxsIFNjcmVlbiIsICAgSURNX1dLX0ZVTExTQ1JFRU4sIENIRUNLRUQKLSAgICAg
ICAgTUVOVUlURU0gU0VQQVJBVE9SCi0gICAgICAgIE1FTlVJVEVNICJTaG93IENvbXBvc2l0aW5n
IEJvcmRlcnMiLCAgICBJRE1fQ09NUE9TSVRJTkdfQk9SREVSUwotICAgIEVORAotRU5ECi0KLQot
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBBY2NlbGVyYXRvcgotLy8KLQotSURDX1dJTkxB
VU5DSEVSIEFDQ0VMRVJBVE9SUyAKLUJFR0lOCi0gICAgIj8iLCAgICAgICAgICAgIElETV9BQk9V
VCwgICAgICAgICAgICAgIEFTQ0lJLCAgQUxUCi0gICAgIi8iLCAgICAgICAgICAgIElETV9BQk9V
VCwgICAgICAgICAgICAgIEFTQ0lJLCAgQUxUCi1FTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwotLy8KLS8vIERpYWxvZwotLy8KLQotSUREX0FCT1VUQk9YIERJQUxPR0VYIDIyLCAxNywgMjMw
LCA3NQotU1RZTEUgRFNfU0VURk9OVCB8IERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1Nf
U1lTTUVOVQotQ0FQVElPTiAiQWJvdXQiCi1GT05UIDgsICJTeXN0ZW0iLCAwLCAwLCAweDAKLUJF
R0lOCi0gICAgSUNPTiAgICAgICAgICAgIElESV9XSU5MQVVOQ0hFUixJRENfTVlJQ09OLDE0LDks
MjAsMjAKLSAgICBMVEVYVCAgICAgICAgICAgIldpbkxhdW5jaGVyIFZlcnNpb24gMS4yIixJRENf
U1RBVElDLDQ5LDEwLDExOSw4LFNTX05PUFJFRklYCi0gICAgTFRFWFQgICAgICAgICAgICJDb3B5
cmlnaHQgKEMpIDIwMDkiLElEQ19TVEFUSUMsNDksMjAsMTE5LDgKLSAgICBERUZQVVNIQlVUVE9O
ICAgIk9LIixJRE9LLDE5NSw2LDMwLDExLFdTX0dST1VQCi1FTkQKLQotCi0jaWZkZWYgQVBTVFVE
SU9fSU5WT0tFRAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBURVhUSU5DTFVERQotLy8K
LQotMSBURVhUSU5DTFVERSAKLUJFR0lOCi0gICAgIldpbkxhdW5jaGVyTGliUmVzb3VyY2UuaFww
IgotRU5ECi0KLTIgVEVYVElOQ0xVREUgCi1CRUdJTgotICAgICIjZGVmaW5lIEFQU1RVRElPX0hJ
RERFTl9TWU1CT0xTXHJcbiIKLSAgICAiI2luY2x1ZGUgIiJ3aW5kb3dzLmgiIlxyXG4iCi0gICAg
IiN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iCi0gICAgIlwwIgotRU5ECi0KLTMg
VEVYVElOQ0xVREUgCi1CRUdJTgotICAgICJcclxuIgotICAgICJcMCIKLUVORAotCi0jZW5kaWYg
ICAgLy8gQVBTVFVESU9fSU5WT0tFRAotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8g
U3RyaW5nIFRhYmxlCi0vLwotCi1TVFJJTkdUQUJMRSAKLUJFR0lOCi0gICAgSURTX0FQUF9USVRM
RSAgICAgICAgICAgIldpbkxhdW5jaGVyIgotICAgIElEQ19XSU5MQVVOQ0hFUiAgICAgICAgICJX
SU5MQVVOQ0hFUiIKLUVORAotCi0jZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2Vz
Ci0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwotCi0KLQotI2lmbmRlZiBBUFNUVURJT19JTlZPS0VECi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVE
RSAzIHJlc291cmNlLgotLy8KLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotI2VuZGlmICAgIC8v
IG5vdCBBUFNUVURJT19JTlZPS0VECi0KKy8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRl
ZCByZXNvdXJjZSBzY3JpcHQuDQorLy8NCisjaW5jbHVkZSAiV2luTGF1bmNoZXJMaWJSZXNvdXJj
ZS5oIg0KKw0KKyNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUw0KKy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vDQorLy8NCisvLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNv
dXJjZS4NCisvLw0KKyNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFMNCisjaW5jbHVkZSAi
d2luZG93cy5oIg0KKyN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MUw0KKw0KKy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vDQorI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMNCisNCisvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLw0KKy8vIEVuZ2xpc2ggKFVuaXRlZCBTdGF0ZXMpIHJlc291cmNlcw0K
Kw0KKyNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VO
VSkNCitMQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUw0KKyNwcmFnbWEg
Y29kZV9wYWdlKDEyNTIpDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIEljb24N
CisvLw0KKw0KKy8vIEljb24gd2l0aCBsb3dlc3QgSUQgdmFsdWUgcGxhY2VkIGZpcnN0IHRvIGVu
c3VyZSBhcHBsaWNhdGlvbiBpY29uDQorLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0
ZW1zLg0KK0lESV9XSU5MQVVOQ0hFUiAgICAgICAgIElDT04gICAgICAgICAgICAgICAgICAgICJX
aW5MYXVuY2hlci5pY28iDQorSURJX1NNQUxMICAgICAgICAgICAgICAgSUNPTiAgICAgICAgICAg
ICAgICAgICAgInNtYWxsLmljbyINCisNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8g
TWVudQ0KKy8vDQorDQorSURDX1dJTkxBVU5DSEVSIE1FTlUNCitCRUdJTg0KKyAgICBQT1BVUCAi
JkZpbGUiDQorICAgIEJFR0lODQorICAgICAgICBNRU5VSVRFTSAiJlByaW50XHRDdHJsLVAiLCAg
ICAgICAgICAgICAgSURNX1BSSU5UDQorICAgICAgICBNRU5VSVRFTSAiRSZ4aXQiLCAgICAgICAg
ICAgICAgICAgICAgICAgSURNX0VYSVQNCisgICAgRU5EDQorICAgIFBPUFVQICImSGlzdG9yeSIN
CisgICAgQkVHSU4NCisgICAgICAgIE1FTlVJVEVNICJCYWNrIiwgICAgICAgICAgICAgICAgICAg
ICAgICBJRE1fSElTVE9SWV9CQUNLV0FSRA0KKyAgICAgICAgTUVOVUlURU0gIkZvcndhcmQiLCAg
ICAgICAgICAgICAgICAgICAgIElETV9ISVNUT1JZX0ZPUldBUkQNCisgICAgICAgIE1FTlVJVEVN
IFNFUEFSQVRPUg0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDAiLCAgICAgICAg
ICAgIElETV9ISVNUT1JZX0xJTkswDQorICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3Rvcnkg
MSIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzENCisgICAgICAgIE1FTlVJVEVNICJVbnVz
ZWQgSGlzdG9yeSAyIiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LMg0KKyAgICAgICAgTUVO
VUlURU0gIlVudXNlZCBIaXN0b3J5IDMiLCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTkszDQor
ICAgICAgICBNRU5VSVRFTSAiVW51c2VkIEhpc3RvcnkgNCIsICAgICAgICAgICAgSURNX0hJU1RP
UllfTElOSzQNCisgICAgICAgIE1FTlVJVEVNICJVbnVzZWQgSGlzdG9yeSA1IiwgICAgICAgICAg
ICBJRE1fSElTVE9SWV9MSU5LNQ0KKyAgICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDYi
LCAgICAgICAgICAgIElETV9ISVNUT1JZX0xJTks2DQorICAgICAgICBNRU5VSVRFTSAiVW51c2Vk
IEhpc3RvcnkgNyIsICAgICAgICAgICAgSURNX0hJU1RPUllfTElOSzcNCisgICAgICAgIE1FTlVJ
VEVNICJVbnVzZWQgSGlzdG9yeSA4IiwgICAgICAgICAgICBJRE1fSElTVE9SWV9MSU5LOA0KKyAg
ICAgICAgTUVOVUlURU0gIlVudXNlZCBIaXN0b3J5IDkiLCAgICAgICAgICAgIElETV9ISVNUT1JZ
X0xJTks5DQorICAgIEVORA0KKyAgICBQT1BVUCAiRCZldmVsb3AiDQorICAgIEJFR0lODQorICAg
ICAgICBNRU5VSVRFTSAiU2hvdyBXZWIgSW5zcGVjdG9yIiwgICAgICAgICAgSURNX1dFQl9JTlNQ
RUNUT1INCisgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KKyAgICAgICAgTUVOVUlURU0gIkRp
c2FibGUgSW1hZ2VzIiwgICAgICAgICAgICAgIElETV9ESVNBQkxFX0lNQUdFUw0KKyAgICAgICAg
TUVOVUlURU0gIkRpc2FibGUgU3R5bGVzIiwgICAgICAgICAgICAgIElETV9ESVNBQkxFX1NUWUxF
Uw0KKyAgICAgICAgTUVOVUlURU0gIkRpc2FibGUgSmF2YVNjcmlwdCIsICAgICAgICAgIElETV9E
SVNBQkxFX0pBVkFTQ1JJUFQNCisgICAgICAgIE1FTlVJVEVNICJEaXNhYmxlIExvY2FsIEZpbGUg
UmVzdHJpY3Rpb25zIiwgSURNX0RJU0FCTEVfTE9DQUxfRklMRV9SRVNUUklDVElPTlMNCisgICAg
RU5EDQorICAgIFBPUFVQICImSGVscCINCisgICAgQkVHSU4NCisgICAgICAgIE1FTlVJVEVNICIm
QWJvdXQgLi4uIiwgICAgICAgICAgICAgICAgICBJRE1fQUJPVVQNCisgICAgRU5EDQorICAgIFBP
UFVQICImRGVidWciDQorICAgIEJFR0lODQorICAgICAgICBNRU5VSVRFTSAiVXNlIEFWRm91bmRh
dGlvbiIsICAgICAgICAgICAgSURNX0FWRk9VTkRBVElPTiwgQ0hFQ0tFRA0KKyAgICAgICAgTUVO
VUlURU0gIlVzZSBBY2NlbGVyYXRlZCBDb21wb3NpdGluZyIsIElETV9BQ0NfQ09NUE9TSVRJTkcs
IENIRUNLRUQNCisgICAgICAgIE1FTlVJVEVNICJFbmFibGUgV2ViS2l0IEZ1bGwgU2NyZWVuIiwg
ICBJRE1fV0tfRlVMTFNDUkVFTiwgQ0hFQ0tFRA0KKyAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9S
DQorICAgICAgICBNRU5VSVRFTSAiU2hvdyBDb21wb3NpdGluZyBCb3JkZXJzIiwgICAgSURNX0NP
TVBPU0lUSU5HX0JPUkRFUlMNCisgICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KKyAgICAgICAg
TUVOVUlURU0gIlNob3cgQ2FjaGVzIFdpbmRvdyIsICAgICAgICAgIElETV9DQUNIRVMNCisgICAg
RU5EDQorRU5EDQorDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIEFjY2VsZXJh
dG9yDQorLy8NCisNCitJRENfV0lOTEFVTkNIRVIgQUNDRUxFUkFUT1JTDQorQkVHSU4NCisgICAg
Ij8iLCAgICAgICAgICAgIElETV9BQk9VVCwgICAgICAgICAgICAgIEFTQ0lJLCAgQUxUDQorICAg
ICIvIiwgICAgICAgICAgICBJRE1fQUJPVVQsICAgICAgICAgICAgICBBU0NJSSwgIEFMVA0KK0VO
RA0KKw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBEaWFsb2cNCisvLw0KKw0K
K0lERF9BQk9VVEJPWCBESUFMT0dFWCAyMiwgMTcsIDIzMCwgNzUNCitTVFlMRSBEU19TRVRGT05U
IHwgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VDQorQ0FQVElPTiAiQWJv
dXQiDQorRk9OVCA4LCAiU3lzdGVtIiwgMCwgMCwgMHgwDQorQkVHSU4NCisgICAgSUNPTiAgICAg
ICAgICAgIElESV9XSU5MQVVOQ0hFUixJRENfTVlJQ09OLDE0LDksMjAsMjANCisgICAgTFRFWFQg
ICAgICAgICAgICJXaW5MYXVuY2hlciBWZXJzaW9uIDEuMyIsSURDX1NUQVRJQyw0OSwxMCwxMTks
OCxTU19OT1BSRUZJWA0KKyAgICBMVEVYVCAgICAgICAgICAgIkNvcHlyaWdodCAoQykgMjAxNCIs
SURDX1NUQVRJQyw0OSwyMCwxMTksOA0KKyAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDE5
NSw2LDMwLDExLFdTX0dST1VQDQorRU5EDQorDQorSUREX0NBQ0hFUyBESUFMT0dFWCAwLCAwLCA0
MDEsIDQ1Ng0KK1NUWUxFIERTX1NFVEZPTlQgfCBEU19NT0RBTEZSQU1FIHwgRFNfRklYRURTWVMg
fCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VDQorQ0FQVElPTiAiRGlhbG9nIg0K
K0ZPTlQgOCwgIk1TIFNoZWxsIERsZyIsIDQwMCwgMCwgMHgxDQorQkVHSU4NCisgICAgREVGUFVT
SEJVVFRPTiAgICJPSyIsSURPSywyODcsNDM1LDUwLDE0DQorICAgIFBVU0hCVVRUT04gICAgICAi
Q2FuY2VsIixJRENBTkNFTCwzNDQsNDM1LDUwLDE0DQorICAgIEdST1VQQk9YICAgICAgICAiRmFz
dE1hbGxvYyIsSURDX1NUQVRJQywyMDgsMTQsMTg2LDY3DQorICAgIEdST1VQQk9YICAgICAgICAi
V2ViQ29yZSBDYWNoZSIsSURDX1NUQVRJQywxNyw4MywzNzYsMTA1DQorICAgIEdST1VQQk9YICAg
ICAgICAiSmF2YVNjcmlwdCBIZWFwIixJRENfU1RBVElDLDE4LDE5MywzNzYsMTY4DQorICAgIEdS
T1VQQk9YICAgICAgICAiU2l0ZSBJY29uIERhdGFiYXNlIixJRENfU1RBVElDLDE4LDM2NiwxNDIs
NjUNCisgICAgR1JPVVBCT1ggICAgICAgICJGb250IGFuZCBHbHlwaCBDYWNoZXMiLElEQ19TVEFU
SUMsMTY4LDM2NiwyMjYsNjYNCisgICAgR1JPVVBCT1ggICAgICAgICJDRlVSTENhY2hlIixJRENf
U1RBVElDLDcsMTQsMTk3LDY3DQorICAgIFBVU0hCVVRUT04gICAgICAiRW1wdHkgVVJMQ2FjaGUi
LElEQ19FTVBUWV9VUkxfQ0FDSEUsMTMxLDYzLDY5LDE0LFdTX0RJU0FCTEVEDQorICAgIFBVU0hC
VVRUT04gICAgICAiUmV0dXJuIEZyZWUgTWVtb3J5IixJRENfUkVUVVJOX0ZSRUVfTUVNT1JZLDMw
OCw2Myw3NiwxNCxXU19ESVNBQkxFRA0KKyAgICBQVVNIQlVUVE9OICAgICAgIkVtcHR5IFdlYkNv
cmUgQ2FjaGUiLElEQ19FTVBUWV9XRUJDT1JFX0NBQ0hFLDIxLDE3MCw4MywxNCxXU19ESVNBQkxF
RA0KKyAgICBDT05UUk9MICAgICAgICAgIkRpc2FibGUgV2ViQ29yZSBDYWNoZSIsSURDX0NIRUNL
MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE5
LDE3Miw5MywxMA0KKyAgICBQVVNIQlVUVE9OICAgICAgIkdhcmJhZ2UgQ29sbGVjdCBKYXZhU2Ny
aXB0IE9iamVjdHMiLElEQ19HQ19KU0MsMjUzLDM0MywxMzUsMTQsV1NfRElTQUJMRUQNCisgICAg
UlRFWFQgICAgICAgICAgICJSZXNlcnZlZCBWTSIsSURDX1NUQVRJQywyMTIsMjYsNjcsOQ0KKyAg
ICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19SRVNFUlZFRF9WTSwyOTAsMjYsOTQsOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIkNvbW1pdHRlZCBWTSIsSURDX1NUQVRJQywyMTEsMzksNjcsOA0KKyAg
ICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19DT01NSVRURURfVk0sMjkwLDM5LDk0LDgNCisgICAg
UlRFWFQgICAgICAgICAgICJGcmVlIExpc3QgQnl0ZXMiLElEQ19TVEFUSUMsMjExLDUyLDY3LDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfRlJFRV9MSVNUX0JZVEVTLDI5MCw1Miw5NCw4
DQorICAgIFJURVhUICAgICAgICAgICAiSW1hZ2VzIixJRENfU1RBVElDLDM3LDEwNiwyNCw4DQor
ICAgIFJURVhUICAgICAgICAgICAiQ1NTIixJRENfU1RBVElDLDQ3LDExNiwxNCw4DQorICAgIFJU
RVhUICAgICAgICAgICAiWFNMIixJRENfU1RBVElDLDQ5LDEyNiwxMiw4DQorICAgIFJURVhUICAg
ICAgICAgICAiSmF2YVNjcmlwdCIsSURDX1NUQVRJQywyNywxMzUsMzQsOA0KKyAgICBSVEVYVCAg
ICAgICAgICAgIlRvdGFsIixJRENfU1RBVElDLDQzLDE0NiwxNyw4DQorICAgIExURVhUICAgICAg
ICAgICAiT2JqZWN0cyIsSURDX1NUQVRJQywxMTEsOTYsMjYsOA0KKyAgICBMVEVYVCAgICAgICAg
ICAgIkJ5dGVzIixJRENfU1RBVElDLDE3NSw5NiwxOSw4DQorICAgIExURVhUICAgICAgICAgICAi
TGl2ZSIsSURDX1NUQVRJQywyMzIsOTYsMTQsOA0KKyAgICBMVEVYVCAgICAgICAgICAgIkRlY29k
ZWQiLElEQ19TVEFUSUMsMjg0LDk2LDI5LDgNCisgICAgTFRFWFQgICAgICAgICAgICJQdXJnZWFi
bGUiLElEQ19TVEFUSUMsMzUxLDk2LDMzLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENf
SU1BR0VTX09CSkVDVF9DT1VOVCwxMDAsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfQ1NTX09CSkVDVF9DT1VOVCwxMDAsMTE2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAg
ICIwIixJRENfWFNMX09CSkVDVF9DT1VOVCwxMDAsMTI2LDMyLDgNCisgICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfSlNDX09CSkVDVF9DT1VOVCwxMDAsMTM1LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfVE9UQUxfT0JKRUNUX0NPVU5ULDEwMCwxNDYsMzIsOA0KKyAgICBSVEVY
VCAgICAgICAgICAgIjAiLElEQ19JTUFHRVNfQllURVMsMTYyLDEwNiwzMiw4DQorICAgIFJURVhU
ICAgICAgICAgICAiMCIsSURDX0NTU19CWVRFUywxNjIsMTE2LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfWFNMX0JZVEVTLDE2MiwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19KU0NfQllURVMsMTYyLDEzNSwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAi
MCIsSURDX1RPVEFMX0JZVEVTLDE2MiwxNDYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAi
LElEQ19JTUFHRVNfTElWRV9DT1VOVCwyMjEsMTA2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAg
ICIwIixJRENfQ1NTX0xJVkVfQ09VTlQsMjIxLDExNiwzMiw4DQorICAgIFJURVhUICAgICAgICAg
ICAiMCIsSURDX1hTTF9MSVZFX0NPVU5ULDIyMSwxMjYsMzIsOA0KKyAgICBSVEVYVCAgICAgICAg
ICAgIjAiLElEQ19KU0NfTElWRV9DT1VOVCwyMjEsMTM1LDMyLDgNCisgICAgUlRFWFQgICAgICAg
ICAgICIwIixJRENfVE9UQUxfTElWRV9DT1VOVCwyMjEsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICIwIixJRENfSU1BR0VTX0RFQ09ERURfQ09VTlQsMjg0LDEwNiwzMiw4DQorICAgIFJU
RVhUICAgICAgICAgICAiMCIsSURDX0NTU19ERUNPREVEX0NPVU5ULDI4NCwxMTYsMzIsOA0KKyAg
ICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19YU0xfREVDT0RFRF9DT1VOVCwyODQsMTI2LDMyLDgN
CisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0RFQ09ERURfQ09VTlQsMjg0LDEzNSwz
Miw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1RPVEFMX0RFQ09ERUQsMjg0LDE0Niwz
Miw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0lNQUdFU19QVVJHRUFCTEVfQ09VTlQs
MzU0LDEwNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0NTU19QVVJHRUFCTEVf
Q09VTlQsMzU0LDExNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX1hTTF9QVVJH
RUFCTEVfQ09VTlQsMzU0LDEyNiwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIsSURDX0pT
Q19QVVJHRUFCTEVfQ09VTlQsMzU0LDEzNSwzMiw4DQorICAgIFJURVhUICAgICAgICAgICAiMCIs
SURDX1RPVEFMX1BVUkdFQUJMRSwzNTQsMTQ2LDMyLDgNCisgICAgUlRFWFQgICAgICAgICAgICJU
b3RhbCBPYmplY3RzIixJRENfU1RBVElDLDYzLDIwNyw0NCw4DQorICAgIFJURVhUICAgICAgICAg
ICAiR2xvYmFsIE9iamVjdHMiLElEQ19TVEFUSUMsNTYsMjE3LDUxLDgNCisgICAgUlRFWFQgICAg
ICAgICAgICJQcm90ZWN0ZWQgT2JqZWN0cyIsSURDX1NUQVRJQyw0OCwyMjcsNTksOA0KKyAgICBS
VEVYVCAgICAgICAgICAgIjAiLElEQ19UT1RBTF9KU0NfSEVBUF9PQkpFQ1RTLDEyNywyMDcsNTYs
OA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19HTE9CQUxfSlNDX0hFQVBfT0JKRUNUUywx
MjcsMjE3LDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfUFJPVEVDVEVEX0pTQ19I
RUFQX09CSkVDVFMsMTI3LDIyNyw1Niw4DQorICAgIFJURVhUICAgICAgICAgICAiU2l6ZSIsSURD
X1NUQVRJQzU2LDIyMywyMDcsMTQsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIkZyZWUiLElEQ19T
VEFUSUM1NywyMjIsMjE3LDE2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0hF
QVBfU0laRSwyNzAsMjA3LDU2LDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfSlNDX0hF
QVBfRlJFRSwyNzAsMjE3LDU2LDgNCisgICAgUFVTSEJVVFRPTiAgICAgICJQdXJnZSBJbmFjdGl2
ZSBGb250IERhdGEiLElEQ19CVVRUT041LDI5Myw0MTUsOTUsMTQsV1NfRElTQUJMRUQNCisgICAg
TFRFWFQgICAgICAgICAgICJUb3RhbCBGb250IERhdGEgT2JqZWN0cyIsSURDX1NUQVRJQywyMDgs
Mzc5LDc4LDgNCisgICAgTFRFWFQgICAgICAgICAgICJJbmFjdGl2ZSBGb250IERhdGEgT2JqZWN0
cyIsSURDX1NUQVRJQywxOTgsMzkwLDg4LDgNCisgICAgTFRFWFQgICAgICAgICAgICJHbHlwaCBQ
YWdlcyIsSURDX1NUQVRJQywyNDYsNDAyLDQwLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJ
RENfVE9UQUxfRk9OVF9PQkpFQ1RTLDMyOSwzNzksNTYsOA0KKyAgICBSVEVYVCAgICAgICAgICAg
IjAiLElEQ19JTkFDVElWRV9GT05UX09CSkVDVFMsMzI5LDM5MCw1Niw4DQorICAgIFJURVhUICAg
ICAgICAgICAiMCIsSURDX0dMWVBIX1BBR0VTLDMyOSw0MDIsNTYsOA0KKyAgICBMVEVYVCAgICAg
ICAgICAgIlBhZ2UgVVJMIE1hcHBpbmdzIixJRENfU1RBVElDLDMzLDM4MCw2NCw4DQorICAgIExU
RVhUICAgICAgICAgICAiUmV0YWluZWQgUGFnZSBVUkxzIixJRENfU1RBVElDLDMxLDM5MCw2Niw4
DQorICAgIExURVhUICAgICAgICAgICAiU2l0ZSBJY29uIFJlY29yZHMiLElEQ19TVEFUSUMsNDAs
NDAwLDU3LDgNCisgICAgTFRFWFQgICAgICAgICAgICJTaXRlIEljb25zIHdpdGggRGF0YSIsSURD
X1NUQVRJQywzMiw0MTAsNjUsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElEQ19QQUdFX1VS
TF9NQVBQSU5HUywxMDEsMzgwLDUyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIwIixJRENfUkVU
QUlORURfUEFHRV9VUkxTLDEwMSwzOTAsNTIsOA0KKyAgICBSVEVYVCAgICAgICAgICAgIjAiLElE
Q19TSVRFX0lDT05fUkVDT1JEUywxMDEsNDAwLDUyLDgNCisgICAgUlRFWFQgICAgICAgICAgICIw
IixJRENfU0lURV9JQ09OU19XSVRIX0RBVEEsMTAxLDQxMCw1Miw4DQorRU5EDQorDQorDQorI2lm
ZGVmIEFQU1RVRElPX0lOVk9LRUQNCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KKy8vDQorLy8gVEVY
VElOQ0xVREUNCisvLw0KKw0KKzEgVEVYVElOQ0xVREUgDQorQkVHSU4NCisgICAgIldpbkxhdW5j
aGVyTGliUmVzb3VyY2UuaFwwIg0KK0VORA0KKw0KKzIgVEVYVElOQ0xVREUgDQorQkVHSU4NCisg
ICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIg0KKyAgICAiI2luY2x1ZGUg
IiJ3aW5kb3dzLmgiIlxyXG4iDQorICAgICIjdW5kZWYgQVBTVFVESU9fSElEREVOX1NZTUJPTFNc
clxuIg0KKyAgICAiXDAiDQorRU5EDQorDQorMyBURVhUSU5DTFVERSANCitCRUdJTg0KKyAgICAi
XHJcbiINCisgICAgIlwwIg0KK0VORA0KKw0KKyNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VE
DQorDQorDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIERFU0lHTklORk8NCisvLw0K
Kw0KKyNpZmRlZiBBUFNUVURJT19JTlZPS0VEDQorR1VJREVMSU5FUyBERVNJR05JTkZPDQorQkVH
SU4NCisgICAgSUREX0FCT1VUQk9YLCBESUFMT0cNCisgICAgQkVHSU4NCisgICAgRU5EDQorDQor
ICAgIElERF9DQUNIRVMsIERJQUxPRw0KKyAgICBCRUdJTg0KKyAgICAgICAgTEVGVE1BUkdJTiwg
Nw0KKyAgICAgICAgUklHSFRNQVJHSU4sIDM5NA0KKyAgICAgICAgVE9QTUFSR0lOLCA3DQorICAg
ICAgICBCT1RUT01NQVJHSU4sIDQ0OQ0KKyAgICBFTkQNCitFTkQNCisjZW5kaWYgICAgLy8gQVBT
VFVESU9fSU5WT0tFRA0KKw0KKw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorLy8NCisvLyBTdHJp
bmcgVGFibGUNCisvLw0KKw0KK1NUUklOR1RBQkxFDQorQkVHSU4NCisgICAgSURTX0FQUF9USVRM
RSAgICAgICAgICAgIldpbkxhdW5jaGVyIg0KKyAgICBJRENfV0lOTEFVTkNIRVIgICAgICAgICAi
V0lOTEFVTkNIRVIiDQorRU5EDQorDQorI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFVuaXRlZCBTdGF0
ZXMpIHJlc291cmNlcw0KKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQorDQorDQorDQorI2lmbmRlZiBB
UFNUVURJT19JTlZPS0VEDQorLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCisvLw0KKy8vIEdlbmVyYXRl
ZCBmcm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLg0KKy8vDQorDQorDQorLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8NCisjZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQNCisNCkluZGV4
OiBUb29scy9XaW5MYXVuY2hlci9XaW5MYXVuY2hlci52Y3hwcm9qL1dpbkxhdW5jaGVyTGliQ29t
bW9uLnByb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZj
eHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24ucHJvcHMJKHJldmlzaW9uIDE3MDQ4MSkKKysrIFRv
b2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJDb21tb24u
cHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTEwLDcgKzEwLDcgQEAKICAgICAgIDxQcmVjb21waWxl
ZEhlYWRlckZpbGU+U3RkQWZ4Lmg8L1ByZWNvbXBpbGVkSGVhZGVyRmlsZT4KICAgICA8L0NsQ29t
cGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPldpbmluZXQu
bGliO0RiZ0hlbHAubGliO2NvbWRsZzMyLmxpYjtjb21zdXBwdy5saWI7Z2RpMzIubGliO2NvbWN0
bDMyLmxpYjtzaGx3YXBpLmxpYjt1c2VyMzIubGliO29sZTMyLmxpYjtvbGVhdXQzMi5saWI7V2Vi
S2l0R1VJRCQoRGVidWdTdWZmaXgpLmxpYjtXZWJLaXQkKERlYnVnU3VmZml4KS5saWI7JShBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPldpbmluZXQubGliO0RiZ0hlbHAubGliO2NvbWRsZzMyLmxpYjtj
b21zdXBwdy5saWI7Z2RpMzIubGliO2NvbWN0bDMyLmxpYjtzaGx3YXBpLmxpYjt1c2VyMzIubGli
O29sZTMyLmxpYjtvbGVhdXQzMi5saWI7V2ViS2l0R1VJRCQoRGVidWdTdWZmaXgpLmxpYjtXZWJL
aXQkKERlYnVnU3VmZml4KS5saWI7V1RGJChEZWJ1Z1N1ZmZpeCkubGliOyUoQWRkaXRpb25hbERl
cGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgPC9MaW5rPgogICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+CiA8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIudmN4cHJvai9XaW5MYXVuY2hl
ckxpYlJlc291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNo
ZXIudmN4cHJvai9XaW5MYXVuY2hlckxpYlJlc291cmNlLmgJKHJldmlzaW9uIDE3MDQ4MSkKKysr
IFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLnZjeHByb2ovV2luTGF1bmNoZXJMaWJSZXNv
dXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAotLy97e05PX0RFUEVOREVOQ0lF
U319CisvLyB7e05PX0RFUEVOREVOQ0lFU319CiAvLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5l
cmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBXaW5MYXVuY2hlci5yYworLy8gVXNlZCBi
eSBXaW5MYXVuY2hlckxpYi5yYwogLy8KICNkZWZpbmUgSURDX01ZSUNPTiAgICAgICAgICAgICAg
ICAgICAgICAyCiAjZGVmaW5lIElERF9XSU5MQVVOQ0hFUl9ESUFMT0cgICAgICAgICAgMTAyCkBA
IC0xNiwxMSArMTYsMTQgQEAKICNkZWZpbmUgSURNX0FDQ19DT01QT1NJVElORyAgICAgICAgICAg
ICAxMTEKICNkZWZpbmUgSURNX1dLX0ZVTExTQ1JFRU4gICAgICAgICAgICAgICAxMTIKICNkZWZp
bmUgSURNX0NPTVBPU0lUSU5HX0JPUkRFUlMgICAgICAgICAxMTMKKyNkZWZpbmUgSURNX0NBQ0hF
UyAgICAgICAgICAgICAgICAgICAgICAxMTQKICNkZWZpbmUgSURNX1dFQl9JTlNQRUNUT1IgICAg
ICAgICAgICAgICAxMjAKICNkZWZpbmUgSURNX0RJU0FCTEVfSU1BR0VTICAgICAgICAgICAgICAx
MjEKICNkZWZpbmUgSURNX0RJU0FCTEVfU1RZTEVTICAgICAgICAgICAgICAxMjIKICNkZWZpbmUg
SURNX0RJU0FCTEVfSkFWQVNDUklQVCAgICAgICAgICAxMjMKICNkZWZpbmUgSURNX0RJU0FCTEVf
TE9DQUxfRklMRV9SRVNUUklDVElPTlMgMTI0CisjZGVmaW5lIElEUl9NQUlORlJBTUUgICAgICAg
ICAgICAgICAgICAgMTI4CisjZGVmaW5lIElERF9DQUNIRVMgICAgICAgICAgICAgICAgICAgICAg
MTI5CiAjZGVmaW5lIElETV9ISVNUT1JZX0JBQ0tXQVJEICAgICAgICAgICAgMTMwCiAjZGVmaW5l
IElETV9ISVNUT1JZX0ZPUldBUkQgICAgICAgICAgICAgMTMxCiAjZGVmaW5lIElETV9ISVNUT1JZ
X0xJTkswICAgICAgICAgICAgICAgMTUwCkBAIC0zMyw4ICszNiw1NyBAQAogI2RlZmluZSBJRE1f
SElTVE9SWV9MSU5LNyAgICAgICAgICAgICAgIDE1NwogI2RlZmluZSBJRE1fSElTVE9SWV9MSU5L
OCAgICAgICAgICAgICAgIDE1OAogI2RlZmluZSBJRE1fSElTVE9SWV9MSU5LOSAgICAgICAgICAg
ICAgIDE1OQotCi0jZGVmaW5lIElEUl9NQUlORlJBTUUgICAgICAgICAgICAgICAgICAgMTI4Cisj
ZGVmaW5lIElEVF9VUERBVEVfU1RBVFMgICAgICAgICAgICAgICAgMTYwCisjZGVmaW5lIElEQ19F
TVBUWV9VUkxfQ0FDSEUgICAgICAgICAgICAgMTAwMAorI2RlZmluZSBJRENfUkVUVVJOX0ZSRUVf
TUVNT1JZICAgICAgICAgIDEwMDEKKyNkZWZpbmUgSURDX0VNUFRZX1dFQkNPUkVfQ0FDSEUgICAg
ICAgICAxMDAyCisjZGVmaW5lIElEQ19DSEVDSzEgICAgICAgICAgICAgICAgICAgICAgMTAwMwor
I2RlZmluZSBJRENfSEVBUF9PQkpFQ1RTICAgICAgICAgICAgICAgIDEwMDUKKyNkZWZpbmUgSURD
X0dDX0pTQyAgICAgICAgICAgICAgICAgICAgICAxMDA2CisjZGVmaW5lIElEQ19SRVNFUlZFRF9W
TSAgICAgICAgICAgICAgICAgMTAwNworI2RlZmluZSBJRENfQ09NTUlUVEVEX1ZNICAgICAgICAg
ICAgICAgIDEwMDgKKyNkZWZpbmUgSURDX0ZSRUVfTElTVF9CWVRFUyAgICAgICAgICAgICAxMDA5
CisjZGVmaW5lIElEQ19JTUFHRVNfT0JKRUNUX0NPVU5UICAgICAgICAgMTAxMQorI2RlZmluZSBJ
RENfQ1NTX09CSkVDVF9DT1VOVCAgICAgICAgICAgIDEwMTIKKyNkZWZpbmUgSURDX1hTTF9PQkpF
Q1RfQ09VTlQgICAgICAgICAgICAxMDEzCisjZGVmaW5lIElEQ19KU0NfT0JKRUNUX0NPVU5UICAg
ICAgICAgICAgMTAxNAorI2RlZmluZSBJRENfVE9UQUxfT0JKRUNUX0NPVU5UICAgICAgICAgIDEw
MTUKKyNkZWZpbmUgSURDX0lNQUdFU19CWVRFUyAgICAgICAgICAgICAgICAxMDE2CisjZGVmaW5l
IElEQ19DU1NfQllURVMgICAgICAgICAgICAgICAgICAgMTAxNworI2RlZmluZSBJRENfWFNMX0JZ
VEVTICAgICAgICAgICAgICAgICAgIDEwMTgKKyNkZWZpbmUgSURDX0pTQ19CWVRFUyAgICAgICAg
ICAgICAgICAgICAxMDE5CisjZGVmaW5lIElEQ19UT1RBTF9CWVRFUyAgICAgICAgICAgICAgICAg
MTAyMAorI2RlZmluZSBJRENfSU1BR0VTX0xJVkVfQ09VTlQgICAgICAgICAgIDEwMjEKKyNkZWZp
bmUgSURDX0NTU19MSVZFX0NPVU5UICAgICAgICAgICAgICAxMDIyCisjZGVmaW5lIElEQ19YU0xf
TElWRV9DT1VOVCAgICAgICAgICAgICAgMTAyMworI2RlZmluZSBJRENfSlNDX0xJVkVfQ09VTlQg
ICAgICAgICAgICAgIDEwMjQKKyNkZWZpbmUgSURDX1RPVEFMX0xJVkVfQ09VTlQgICAgICAgICAg
ICAxMDI1CisjZGVmaW5lIElEQ19JTUFHRVNfREVDT0RFRF9DT1VOVCAgICAgICAgMTAyNgorI2Rl
ZmluZSBJRENfQ1NTX0RFQ09ERURfQ09VTlQgICAgICAgICAgIDEwMjcKKyNkZWZpbmUgSURDX1hT
TF9ERUNPREVEX0NPVU5UICAgICAgICAgICAxMDI4CisjZGVmaW5lIElEQ19KU0NfREVDT0RFRF9D
T1VOVCAgICAgICAgICAgMTAyOQorI2RlZmluZSBJRENfVE9UQUxfREVDT0RFRCAgICAgICAgICAg
ICAgIDEwMzAKKyNkZWZpbmUgSURDX0lNQUdFU19QVVJHRUFCTEVfQ09VTlQgICAgICAxMDMxCisj
ZGVmaW5lIElEQ19DU1NfUFVSR0VBQkxFX0NPVU5UICAgICAgICAgMTAzMgorI2RlZmluZSBJRENf
WFNMX1BVUkdFQUJMRV9DT1VOVCAgICAgICAgIDEwMzMKKyNkZWZpbmUgSURDX0pTQ19QVVJHRUFC
TEVfQ09VTlQgICAgICAgICAxMDM0CisjZGVmaW5lIElEQ19UT1RBTF9QVVJHRUFCTEUgICAgICAg
ICAgICAgMTAzNQorI2RlZmluZSBJRENfVE9UQUxfSlNDX0hFQVBfT0JKRUNUUyAgICAgIDEwMzYK
KyNkZWZpbmUgSURDX0dMT0JBTF9KU0NfSEVBUF9PQkpFQ1RTICAgICAxMDM3CisjZGVmaW5lIElE
Q19QUk9URUNURURfSlNDX0hFQVBfT0JKRUNUUyAgMTAzOAorI2RlZmluZSBJRENfU1RBVElDNTYg
ICAgICAgICAgICAgICAgICAgIDEwMzkKKyNkZWZpbmUgSURDX1NUQVRJQzU3ICAgICAgICAgICAg
ICAgICAgICAxMDQwCisjZGVmaW5lIElEQ19KU0NfSEVBUF9TSVpFICAgICAgICAgICAgICAgMTA0
MQorI2RlZmluZSBJRENfSlNDX0hFQVBfRlJFRSAgICAgICAgICAgICAgIDEwNDIKKyNkZWZpbmUg
SURDX0JVVFRPTjUgICAgICAgICAgICAgICAgICAgICAxMDQzCisjZGVmaW5lIElEQ19UT1RBTF9G
T05UX09CSkVDVFMgICAgICAgICAgMTA0NAorI2RlZmluZSBJRENfSU5BQ1RJVkVfRk9OVF9PQkpF
Q1RTICAgICAgIDEwNDUKKyNkZWZpbmUgSURDX0dMWVBIX1BBR0VTICAgICAgICAgICAgICAgICAx
MDQ2CisjZGVmaW5lIElEQ19QQUdFX1VSTF9NQVBQSU5HUyAgICAgICAgICAgMTA0NworI2RlZmlu
ZSBJRENfUkVUQUlORURfUEFHRV9VUkxTICAgICAgICAgIDEwNDgKKyNkZWZpbmUgSURDX1NJVEVf
SUNPTl9SRUNPUkRTICAgICAgICAgICAxMDQ5CisjZGVmaW5lIElEQ19UT1RBTF9GT05UX09CSkVD
VFM1ICAgICAgICAgMTA1MAorI2RlZmluZSBJRENfU0lURV9JQ09OU19XSVRIX0RBVEEgICAgICAg
IDEwNTAKICNkZWZpbmUgSURDX1NUQVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQogCiAvLyBO
ZXh0IGRlZmF1bHQgdmFsdWVzIGZvciBuZXcgb2JqZWN0cwpAQCAtNDIsOSArOTQsOSBAQAogI2lm
ZGVmIEFQU1RVRElPX0lOVk9LRUQKICNpZm5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwog
I2RlZmluZSBfQVBTX05PX01GQyAgICAgICAgICAgICAgICAgICAgIDEKLSNkZWZpbmUgX0FQU19O
RVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMjkKKyNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNF
X1ZBTFVFICAgICAgICAxMzAKICNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAg
ICAzMjc3MQotI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAgIDEwMDAKKyNk
ZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAxMDQ0CiAjZGVmaW5lIF9BUFNf
TkVYVF9TWU1FRF9WQUxVRSAgICAgICAgICAgMTEwCiAjZW5kaWYKICNlbmRpZgo=
</data>
<flag name="review"
          id="258424"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>