<?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>192658</bug_id>
          
          <creation_ts>2018-12-12 22:29:48 -0800</creation_ts>
          <short_desc>Resurrect Mac CMake build</short_desc>
          <delta_ts>2018-12-27 08:14:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CMake</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>tobias.andersen111</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1487499</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-12 22:29:48 -0800</bug_when>
    <thetext>Resurrect Mac CMake build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487502</commentid>
    <comment_count>1</comment_count>
      <attachid>357210</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-12 22:32:17 -0800</bug_when>
    <thetext>Created attachment 357210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487503</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-12-12 22:35:01 -0800</bug_when>
    <thetext>Attachment 357210 did not pass style-queue:


ERROR: Source/WTF/wtf/cf/CFURLExtras.cpp:27:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487602</commentid>
    <comment_count>3</comment_count>
      <attachid>357210</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-13 09:01:39 -0800</bug_when>
    <thetext>Comment on attachment 357210
Patch

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

Overall looks fine. Just fix those and we&apos;re good to go.

&gt; Source/WebCore/PlatformMac.cmake:73
&gt; +    &quot;${PAL_DIR}&quot;

Pal is copied so you shouldn&apos;t have to put this here.

&gt; Source/WebCore/PlatformMac.cmake:81
&gt; +    &quot;${WEBCORE_DIR}/layout/layouttree&quot;

All the layout stuff should go into the root CMakeLists. I actually have this patched locally since there were a number of includes.

This should only have mac specific stuff.

&gt; Source/WebKitLegacy/PlatformMac.cmake:25
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Carbon&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/DefaultDelegates&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/DOM&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/History&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/icu&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Misc&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Panels&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Plugins&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Plugins/Hosted&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/Storage&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/WebCoreSupport&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/WebInspector&quot;
&gt; +    &quot;${WEBKITLEGACY_DIR}/mac/WebView&quot;

This is in System includes?

&gt; Source/cmake/OptionsMac.cmake:45
&gt; +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WIRELESS_PLAYBACK_TARGET PRIVATE ON)

A bunch more options were added that I thought were turned on in Mac. Like Paint API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487840</commentid>
    <comment_count>4</comment_count>
      <attachid>357210</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-13 20:58:23 -0800</bug_when>
    <thetext>Comment on attachment 357210
Patch

Just testing reviewer powers :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488952</commentid>
    <comment_count>5</comment_count>
      <attachid>357210</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-18 11:01:18 -0800</bug_when>
    <thetext>Comment on attachment 357210
Patch

There are also idl files missing under the Modules/applepay directory. Not sure if we should include this in the root CMake or just make it Mac specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488993</commentid>
    <comment_count>6</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-18 11:49:13 -0800</bug_when>
    <thetext>*** Bug 191502 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488995</commentid>
    <comment_count>7</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-18 11:49:25 -0800</bug_when>
    <thetext>*** Bug 191503 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489071</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-18 14:27:48 -0800</bug_when>
    <thetext>They should eventually be added, but this is step 1.  That is step 4:

Step 1: Get it to mostly compile
Step 2: Get it to entirely compile and link
Step 3: Get it to run (the XPC services have never worked with CMake)
Step 4: Make it equivalent to the current Xcode build.  This is the hardest step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489073</commentid>
    <comment_count>9</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-12-18 14:35:50 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #8)
&gt; They should eventually be added, but this is step 1.  That is step 4:
&gt; 
&gt; Step 1: Get it to mostly compile
&gt; Step 2: Get it to entirely compile and link
&gt; Step 3: Get it to run (the XPC services have never worked with CMake)
&gt; Step 4: Make it equivalent to the current Xcode build.  This is the hardest
&gt; step.

For #4 are you talking about replacing the Xcode build and going to a CMake based everything?

If so I know annulen has mentioned using ExternalProject https://cmake.org/cmake/help/latest/module/ExternalProject.html and it feels like this is how the internal Apple Win build is doing things. I&apos;ve thought about giving it a try but I don&apos;t have access to any internal builds so I&apos;m not sure how to completely match it.

If you want to in the new year work together on it I&apos;d be interested. I think it&apos;d simplify the header copying we should be doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489074</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-18 14:38:33 -0800</bug_when>
    <thetext>For #4 I&apos;m not making any promises, but if such a thing were to exist it would help some people consider it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489994</commentid>
    <comment_count>11</comment_count>
      <attachid>357847</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-20 12:10:50 -0800</bug_when>
    <thetext>Created attachment 357847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489995</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-12-20 12:12:54 -0800</bug_when>
    <thetext>Attachment 357847 did not pass style-queue:


ERROR: Source/WTF/wtf/cf/CFURLExtras.cpp:27:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490846</commentid>
    <comment_count>13</comment_count>
      <attachid>357847</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-12-26 16:04:05 -0800</bug_when>
    <thetext>Comment on attachment 357847
Patch

OK, r=me as Alex described this is a first step to resurrect macOS CMake build.
CMake build can offer various fancy tools. For example, compile_commands.json can be generated, and it can be an input of many fancy tools (e.g. clang-tidy). CMake ports are useful and thus I think it is worth resurrecting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490902</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-27 08:14:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/r239556</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357210</attachid>
            <date>2018-12-12 22:32:17 -0800</date>
            <delta_ts>2018-12-20 12:10:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192658-20181212223216.patch</filename>
            <type>text/plain</type>
            <size>23112</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTEz
MykKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEy
LTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZToKKwog
MjAxOC0xMi0xMiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBtYW51YWwgcm9sbG91dCBvZiByMjM5MTAwLXIyMzkxMDIgYW5k
IHIyMzkxMTYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5MTMzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDE4LTEyLTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFr
ZToKKwogMjAxOC0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQu
b3JnPgogCiAgICAgICAgIFtCaWdJbnRdIFNpbXBsaWZ5IGJvb2xlYW4gY29udGV4dCBldmFsdWF0
aW9uIGJ5IGxldmVyYWdpbmcgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3RoKCkgPT0gSlNCaWdJbnQ6
Om9mZnNldE9mTGVuZ3RoKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybU1h
Yy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1NYWMu
Y21ha2UJKHJldmlzaW9uIDIzOTEzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9y
bU1hYy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsNyBAQCBsaXN0KEFQUEVORCBK
YXZhU2NyaXB0Q29yZV9VTklGSUVEX1NPVVJDCiApCiAKIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRD
b3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7REVSSVZFRF9TT1VSQ0VTX1dU
Rl9ESVJ9CiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2Rpc2Fzc2VtYmxlci91ZGlzODYKICAg
ICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL2NvY29hCiAgICAgJHtKQVZBU0NSSVBU
Q09SRV9ESVJ9L2luc3BlY3Rvci9yZW1vdGUvY29jb2EKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzkxMzQp
CisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE4LTEyLTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6Cisg
ICAgICAgICogd3RmL2NmL0NGVVJMRXh0cmFzLmNwcDoKKyAgICAgICAgKiB3dGYvY2YvQ0ZVUkxF
eHRyYXMuaDoKKyAgICAgICAgKiB3dGYvY2YvVVJMQ0YuY3BwOgorICAgICAgICAqIHd0Zi9jb2Nv
YS9OU1VSTEV4dHJhcy5oOgorICAgICAgICAqIHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbToKKyAg
ICAgICAgKiB3dGYvY29jb2EvVVJMQ29jb2EubW06CisKIDIwMTgtMTItMTIgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgc2Fm
ZSBicm93c2luZyBpbiBXZWJLaXQgb24gV2F0Y2hPUwpJbmRleDogU291cmNlL1dURi93dGYvUGxh
dGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMu
Y21ha2UJKHJldmlzaW9uIDIzOTEzMykKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNt
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw2IEBAIGxpc3QoQVBQRU5EIFdURl9QVUJM
SUNfSEVBREVSUwogICAgIGNmL1R5cGVDYXN0c0NGLmgKIAogICAgIGNvY29hL0VudGl0bGVtZW50
cy5oCi0gICAgY29jb2EvTWFjaFNlbmRSaWdodC5oCiAgICAgY29jb2EvTlNVUkxFeHRyYXMuaAog
ICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIApAQCAtMjMsNiArMjIsNyBAQCBsaXN0KEFQUEVORCBX
VEZfUFVCTElDX0hFQURFUlMKICAgICBzcGkvY2YvQ0ZCdW5kbGVTUEkuaAogICAgIHNwaS9jZi9D
RlN0cmluZ1NQSS5oCiAKKyAgICBzcGkvY29jb2EvQ0ZYUENCcmlkZ2VTUEkuaAogICAgIHNwaS9j
b2NvYS9TZWN1cml0eVNQSS5oCiAgICAgc3BpL2NvY29hL29iamNTUEkuaAogCkBAIC00Niw3ICs0
Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAKICAgICBjb2NvYS9BdXRvZHJhaW5lZFBv
b2wuY3BwCiAgICAgY29jb2EvQ1BVVGltZUNvY29hLmNwcAotICAgIGNvY29hL0VudGl0bGVtZW50
cy5jcHAKKyAgICBjb2NvYS9FbnRpdGxlbWVudHMubW0KICAgICBjb2NvYS9NYWNoU2VuZFJpZ2h0
LmNwcAogICAgIGNvY29hL01haW5UaHJlYWRDb2NvYS5tbQogICAgIGNvY29hL01lbW9yeUZvb3Rw
cmludENvY29hLmNwcApAQCAtNjksMTEgKzY5LDExIEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VT
CiApCiAKIGxpc3QoQVBQRU5EIFdURl9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAi
JHtXVEZfRElSfS9pY3UiCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV1RGX0RJUn0KICkKIAogZmls
ZShDT1BZIG1hYy9NYWNoRXhjZXB0aW9ucy5kZWZzIERFU1RJTkFUSU9OICR7REVSSVZFRF9TT1VS
Q0VTX1dURl9ESVJ9KQorZmlsZShDT1BZICIke1dURl9ESVJ9L2ljdS91bmljb2RlIiBERVNUSU5B
VElPTiAke0RFUklWRURfU09VUkNFU19XVEZfRElSfSkKIAogYWRkX2N1c3RvbV9jb21tYW5kKAog
ICAgIE9VVFBVVApJbmRleDogU291cmNlL1dURi93dGYvY2YvQ0ZVUkxFeHRyYXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NmL0NGVVJMRXh0cmFzLmNwcAkocmV2aXNpb24gMjM5
MTMzKQorKysgU291cmNlL1dURi93dGYvY2YvQ0ZVUkxFeHRyYXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkNGVVJMRXh0cmFzLmgiCisjaW5jbHVkZSA8d3RmL2NmL0NGVVJMRXh0cmFzLmg+CiAKICNpbmNs
dWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpJbmRleDogU291
cmNlL1dURi93dGYvY2YvQ0ZVUkxFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9jZi9DRlVSTEV4dHJhcy5oCShyZXZpc2lvbiAyMzkxMzMpCisrKyBTb3VyY2UvV1RGL3d0Zi9j
Zi9DRlVSTEV4dHJhcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBDRlVSTEV4dHJhc19o
Ci0jZGVmaW5lIENGVVJMRXh0cmFzX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC00Miw1ICs0MSwzIEBAIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIGdldFVSTEJ5dGVzKENGVVIKIGJvb2wgaXNDRlVSTFNhbWVP
cmlnaW4oQ0ZVUkxSZWYsIGNvbnN0IFVSTCYpOwogCiB9Ci0KLSNlbmRpZiAvLyBDRlVSTEV4dHJh
c19oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jZi9VUkxDRi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvY2YvVVJMQ0YuY3BwCShyZXZpc2lvbiAyMzkxMzMpCisrKyBTb3VyY2UvV1RG
L3d0Zi9jZi9VUkxDRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKLSNpbmNsdWRlICJDRlVSTEV4
dHJhcy5oIgotI2luY2x1ZGUgIlVSTFBhcnNlci5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9u
L0NGVVJMLmg+CisjaW5jbHVkZSA8d3RmL1VSTFBhcnNlci5oPgorI2luY2x1ZGUgPHd0Zi9jZi9D
RlVSTEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFdURiB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NvY29hL05TVVJMRXh0cmFzLmgJKHJldmlzaW9uIDIzOTEz
MykKKysrIFNvdXJjZS9XVEYvd3RmL2NvY29hL05TVVJMRXh0cmFzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDYgKzI2LDggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI3ByYWdtYSBvbmNlCisKIEBj
bGFzcyBOU1N0cmluZzsKIEBjbGFzcyBOU1VSTDsKIApJbmRleDogU291cmNlL1dURi93dGYvY29j
b2EvTlNVUkxFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvY29jb2EvTlNV
UkxFeHRyYXMubW0JKHJldmlzaW9uIDIzOTEzMykKKysrIFNvdXJjZS9XVEYvd3RmL2NvY29hL05T
VVJMRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNiArMzAsMTYgQEAKICNpbXBvcnQg
PEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCAiTlNVUkxFeHRyYXMuaCIKIAotI2lt
cG9ydCAiQ0ZVUkxFeHRyYXMuaCIKLSNpbXBvcnQgIlVSTFBhcnNlci5oIgorI2ltcG9ydCA8dW5p
Y29kZS91Y2hhci5oPgorI2ltcG9ydCA8dW5pY29kZS91aWRuYS5oPgorI2ltcG9ydCA8dW5pY29k
ZS91c2NyaXB0Lmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IZXhO
dW1iZXIuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgorI2ltcG9ydCA8d3RmL1VSTFBhcnNlci5oPgogI2ltcG9ydCA8d3RmL1Zl
Y3Rvci5oPgotI2ltcG9ydCA8dW5pY29kZS91Y2hhci5oPgotI2ltcG9ydCA8dW5pY29kZS91aWRu
YS5oPgotI2ltcG9ydCA8dW5pY29kZS91c2NyaXB0Lmg+CisjaW1wb3J0IDx3dGYvY2YvQ0ZVUkxF
eHRyYXMuaD4KIAogLy8gTmVlZHMgdG8gYmUgYmlnIGVub3VnaCB0byBob2xkIGFuIElETi1lbmNv
ZGVkIG5hbWUuCiAvLyBGb3IgaG9zdCBuYW1lcyBiaWdnZXIgdGhhbiB0aGlzLCB3ZSB3b24ndCBk
byBJRE4gZW5jb2RpbmcsIHdoaWNoIGlzIGFsbW9zdCBjZXJ0YWlubHkgT0suCkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9VUkxDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9jb2NvYS9VUkxDb2NvYS5tbQkocmV2aXNpb24gMjM5MTMzKQorKysgU291cmNlL1dURi93dGYv
Y29jb2EvVVJMQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDEwICsyNiwxMCBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0IDx3dGYvVVJMLmg+CiAKLSNpbXBvcnQgIkNGVVJMRXh0
cmFzLmgiCi0jaW1wb3J0ICJOU1VSTEV4dHJhcy5oIgogI2ltcG9ydCA8d3RmL09iakNSdW50aW1l
RXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvVVJMUGFyc2VyLmg+CisjaW1wb3J0IDx3dGYvY2YvQ0ZV
UkxFeHRyYXMuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCiBAaW50ZXJmYWNlIE5TU3RyaW5nIChXVEZOU1VSTEV4dHJh
cykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTEzMykKKysrIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisKKzIwMTgtMTItMTIgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXN1
cnJlY3QgTWFjIENNYWtlIGJ1aWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTI2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIG1ha2VzIGl0IHNvIEpTQyBhbmQgbW9zdCBvZiBXZWJDb3JlIGJ1
aWxkcy4KKyAgICAgICAgV2ViQ29yZSdzIHVzZSBvZiBBUkMgc2VlbXMgaW5jb25zaXN0ZW50LCBz
byBJJ2xsIGZpeCB0aGF0IGxhdGVyLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6Cisg
ICAgICAgICogY29uZmlnLmg6CisKIDIwMTgtMTItMTIgIFZpdmVrIFNldGggIDx2X3NldGhAYXBw
bGUuY29tPgogCiAgICAgICAgIEhUVFBTIFVwZ3JhZGU6IEZpZ3VyZSBvdXQgaWYvaG93IHRvIHRl
bGwgY2xpZW50cyB0aGF0IHRoZSBIVFRQUyB1cGdyYWRlIGhhcHBlbmVkCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybU1hYy5jbWFrZQkocmV2aXNpb24gMjM5MTMzKQorKysgU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDYgQEAgZmluZF9wYWNr
YWdlKFpMSUIgUkVRVUlSRUQpCiAKIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0Vf
TElTVF9GSUxFUwogICAgICJTb3VyY2VzQ29jb2EudHh0IgotICAgICJTb3VyY2VzTWFjLnR4dCIK
ICkKIAogbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKQEAgLTY3LDggKzY2LDExIEBAIGlm
IChOT1QgTE9PS1VQX0ZSQU1FV09SSy1OT1RGT1VORCkKIGVuZGlmICgpCiAKIGxpc3QoQVBQRU5E
IFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICIke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZSIKKyAgICAiJHtERVJJVkVEX1NPVVJDRVNfV1RGX0RJUn0iCiAgICAgIiR7VEhJUkRQQVJU
WV9ESVJ9L0FOR0xFIgogICAgICIke1RISVJEUEFSVFlfRElSfS9BTkdMRS9pbmNsdWRlL0tIUiIK
KyAgICAiJHtQQUxfRElSfSIKICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9tYWMi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JyaWRnZS9vYmpjIgogICAgICIke1dFQkNPUkVfRElSfS9l
ZGl0aW5nL2NvY29hIgpAQCAtNzYsNiArNzgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX0lOQ0xV
REVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9tYWMiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2h0bWwvc2hhZG93L2NvY29hIgogICAgICIke1dFQkNPUkVfRElSfS9pY3Ui
CisgICAgIiR7V0VCQ09SRV9ESVJ9L2xheW91dC9sYXlvdXR0cmVlIgogICAgICIke1dFQkNPUkVf
RElSfS9sb2FkZXIvYXJjaGl2ZS9jZiIKICAgICAiJHtXRUJDT1JFX0RJUn0vbG9hZGVyL2NmIgog
ICAgICIke1dFQkNPUkVfRElSfS9sb2FkZXIvbWFjIgpAQCAtOTQsNiArOTcsNyBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vZ3JhcGhpY3MvY2ciCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNz
L2N2IgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUiCisgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9sZWdhY3kiCiAgICAgIiR7V0VCQ09S
RV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2VnbCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbCIKQEAgLTE0MiwxMSArMTQ2LDkgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgZWRpdGluZy9pb3MvQXV0b2ZpbGxFbGVtZW50cy5jcHAKIAogICAgIGVkaXRpbmcv
bWFjL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbQotICAgIGVkaXRpbmcvbWFjL0RpY3Rp
b25hcnlMb29rdXAubW0KICAgICBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KICAgICBlZGl0aW5n
L21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0KICAgICBlZGl0aW5nL21hYy9UZXh0VW5k
b0luc2VydGlvbk1hcmt1cE1hYy5tbQotICAgIGVkaXRpbmcvbWFjL1dlYkNvbnRlbnRSZWFkZXJN
YWMubW0KIAogICAgIGh0bWwvSFRNTFNsb3RFbGVtZW50LmNwcAogCkBAIC0xNTgsNyArMTYwLDYg
QEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tCiAgICAgcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQogICAgIHBh
Z2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KLSAgICBwYWdlL21hYy9Vc2VyQWdlbnRNYWMu
bW0KICAgICBwYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KIAogICAgIHBhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTczLDcgKzE3NCw2
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vYXVkaW8vQXVk
aW9TZXNzaW9uLmNwcAogCi0gICAgcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFu
YWdlckNvY29hLmNwcAogICAgIHBsYXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlz
dC5jcHAKIAogICAgIHBsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24u
Y3BwCkBAIC0xODUsNyArMTg1LDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5jcHAKICAgICBwbGF0Zm9ybS9hdWRp
by9tYWMvQ0FSaW5nQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1h
Yy5jcHAKLSAgICBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbQog
CiAgICAgcGxhdGZvcm0vY2YvRmlsZVN5c3RlbUNGLmNwcAogICAgIHBsYXRmb3JtL2NmL0tleWVk
RGVjb2RlckNGLmNwcApAQCAtMjAyLDcgKzIwMSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIHBsYXRmb3JtL2NvY29hL0tleUV2ZW50Q29jb2EubW0KICAgICBwbGF0Zm9ybS9j
b2NvYS9Mb2NhbGl6ZWRTdHJpbmdzQ29jb2EubW0KICAgICBwbGF0Zm9ybS9jb2NvYS9NSU1FVHlw
ZVJlZ2lzdHJ5Q29jb2EubW0KLSAgICBwbGF0Zm9ybS9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAog
ICAgIHBsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1tCiAgICAg
cGxhdGZvcm0vY29jb2EvUGFyZW50YWxDb250cm9sc0NvbnRlbnRGaWx0ZXIubW0KICAgICBwbGF0
Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KQEAgLTMyOCwzNCArMzI2LDEwIEBAIGxpc3Qo
QVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9JbnRQb2lu
dE1hYy5tbQogICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9JbnRSZWN0TWFjLm1tCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ludFNpemVNYWMubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
TWVkaWFUaW1lUVRLaXQubW0KICAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvUERGRG9jdW1lbnRJ
bWFnZU1hYy5tbQogICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9XZWJMYXllci5tbQogCi0gICAgcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQnVmZmVyTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGVNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW0KLSAgICBwbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXZpY2VNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVURyYXdhYmxlTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVGdW5jdGlvbk1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGli
cmFyeU1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXJNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvck1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbQotICAgIHBs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVEZXNjcmlwdG9yTWV0YWwubW0KLSAgICBw
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0KLQogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC00MDQsNyArMzc4
LDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbWFjL1dlYkNv
cmVPYmpDRXh0cmFzLm1tCiAgICAgcGxhdGZvcm0vbWFjL1dlYkdMQmxhY2tsaXN0Lm1tCiAgICAg
cGxhdGZvcm0vbWFjL1dlYk5TQXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbQotICAgIHBsYXRmb3Jt
L21hYy9XZWJXaW5kb3dBbmltYXRpb24ubW0KICAgICBwbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1t
CiAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VN
YWMubW0KQEAgLTUxMiw2ICs0ODUsNyBAQCBzZXQoV2ViQ29yZV9GT1JXQVJESU5HX0hFQURFUlNf
RElSRUNUT1JJCiAgICAgaHRtbC9mb3JtcwogICAgIGh0bWwvcGFyc2VyCiAgICAgaHRtbC9zaGFk
b3cKKyAgICBodG1sL3RyYWNrCiAKICAgICBpbnNwZWN0b3IvYWdlbnRzCiAKQEAgLTUzNCw2ICs1
MDgsNyBAQCBzZXQoV2ViQ29yZV9GT1JXQVJESU5HX0hFQURFUlNfRElSRUNUT1JJCiAgICAgcGxh
dGZvcm0vYXVkaW8KICAgICBwbGF0Zm9ybS9jZgogICAgIHBsYXRmb3JtL2NvY29hCisgICAgcGxh
dGZvcm0vaW9zCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MKICAgICBwbGF0Zm9ybS9tYWMKICAgICBw
bGF0Zm9ybS9tZWRpYXN0cmVhbQpAQCAtNTQ3LDYgKzUyMiw3IEBAIHNldChXZWJDb3JlX0ZPUldB
UkRJTkdfSEVBREVSU19ESVJFQ1RPUkkKICAgICBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hCiAgICAg
cGxhdGZvcm0vZ2FtZXBhZC9tYWMKIAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bgogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jZwpJbmRleDogU291cmNlL1dlYkNvcmUvY29uZmlnLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29uZmlnLmgJKHJldmlzaW9uIDIzOTEzMykK
KysrIFNvdXJjZS9XZWJDb3JlL2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw5
IEBACiAvLyBVc2luZyBDTWFrZSB3aXRoIFVuaXggbWFrZWZpbGVzIGRvZXMgbm90IHVzZSBwcmVm
aXggaGVhZGVycy4KICNpZiBQTEFURk9STShNQUMpICYmIGRlZmluZWQoQlVJTERJTkdfV0lUSF9D
TUFLRSkKICNpbmNsdWRlICJXZWJDb3JlUHJlZml4LmgiCisjaWZuZGVmIEpTQ19BUElfQVZBSUxB
QkxFCisjZGVmaW5lIEpTQ19BUElfQVZBSUxBQkxFKC4uLikKKyNlbmRpZgogI2VuZGlmCiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzkxMzMp
CisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTgtMTItMTIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXN1cnJlY3QgTWFjIENNYWtlIGJ1aWxkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI2NTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9QbGF0Zm9ybU1hYy5j
bWFrZToKKwogMjAxOC0xMi0xMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGZlYXR1cmUgZmxhZyBmb3IgQ1NTIFR5cGVkIE9N
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UJKHJldmlzaW9u
IDIzOTEzMykKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UJKHdv
cmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDYgQEAgbGlzdChBUFBFTkQgUEFMX1NPVVJDRVMKICAg
ICBjZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKIAogICAgIGNvY29hL0ZpbGVTaXplRm9ybWF0dGVy
Q29jb2EubW0KLSAgICBjb2NvYS9Mb2dnaW5nQ29jb2EubW0KICAgICBjb2NvYS9QYXNzS2l0U29m
dExpbmsubW0KIAogICAgIGNyeXB0by9jb21tb25jcnlwdG8vQ3J5cHRvRGlnZXN0Q29tbW9uQ3J5
cHRvLmNwcApAQCAtMTE1LDYgKzExNCw3IEBAIGxpc3QoQVBQRU5EIFBBTF9TT1VSQ0VTCiApCiAK
IGxpc3QoQVBQRU5EIFBBTF9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtERVJJ
VkVEX1NPVVJDRVNfV1RGX0RJUn0iCiAgICAgIiR7UEFMX0RJUn0vcGFsL2F2Zm91bmRhdGlvbiIK
ICAgICAiJHtQQUxfRElSfS9wYWwvY2YiCiAgICAgIiR7UEFMX0RJUn0vcGFsL2NvY29hIgpJbmRl
eDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIzOTEzNCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMTItMTIgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXN1cnJlY3QgTWFjIENN
YWtlIGJ1aWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTI2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorCiAyMDE4LTEyLTEyICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IHNhZmUgYnJvd3Np
bmcgaW4gV2ViS2l0IG9uIFdhdGNoT1MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMu
Y21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQkocmV2
aXNpb24gMjM5MTMzKQorKysgU291cmNlL1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQkod29ya2lu
ZyBjb3B5KQpAQCAtOTUsOCArOTUsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAg
IFNoYXJlZC9BUEkvYy9tYWMvV0tXZWJBcmNoaXZlLmNwcAogICAgIFNoYXJlZC9BUEkvYy9tYWMv
V0tXZWJBcmNoaXZlUmVzb3VyY2UuY3BwCiAKLSAgICBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFj
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KLQogICAgIFNoYXJlZC9Db2NvYS9BUElEYXRh
Q29jb2EubW0KICAgICBTaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCiAgICAgU2hhcmVkL0NvY29h
L0NoaWxkUHJvY2Vzc0NvY29hLm1tCkBAIC0xMzcsNyArMTM1LDYgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0X1NPVVJDRVMKICAgICBTaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQogICAgIFNoYXJl
ZC9tYWMvQ29kZVNpZ25pbmcubW0KICAgICBTaGFyZWQvbWFjL0NvbG9yU3BhY2VEYXRhLm1tCi0g
ICAgU2hhcmVkL21hYy9Db29raWVTdG9yYWdlU2hpbUxpYnJhcnkuY3BwCiAgICAgU2hhcmVkL21h
Yy9IYW5nRGV0ZWN0aW9uRGlzYWJsZXJNYWMubW0KICAgICBTaGFyZWQvbWFjL05hdGl2ZVdlYkdl
c3R1cmVFdmVudE1hYy5tbQogICAgIFNoYXJlZC9tYWMvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudE1h
Yy5tbQpAQCAtMjYyLDcgKzI1OSw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAg
VUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tCiAgICAgVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KICAgICBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Byb3h5Q29jb2EubW0KLSAgICBVSVByb2Nlc3MvQ29jb2EvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlQ29jb2EubW0KICAgICBVSVByb2Nlc3MvQ29jb2EvV2ViVVJMU2NoZW1lSGFu
ZGxlckNvY29hLm1tCiAgICAgVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCiAKQEAgLTI3
MCw4ICsyNjYsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXRfU09VUkNFUwogCiAgICAgVUlQcm9jZXNz
L05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5
LmNwcAogCi0gICAgVUlQcm9jZXNzL05ldHdvcmsvbWFjL05ldHdvcmtQcm9jZXNzUHJveHlNYWMu
bW0KLQogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KICAg
ICBVSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0KICAgICBV
SVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L0NoYW5nZUxvZwkocmV2aXNpb24gMjM5MTMzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMi0xMiAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3Vy
cmVjdCBNYWMgQ01ha2UgYnVpbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MjY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisKIDIwMTgtMTItMTEgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl1bV2ViS2l0
TGVnYWN5XVtDbGFuZ10gV2ViS2l0Lmggd2FybmluZzogJ0lXZWJFZGl0aW5nRGVsZWdhdGUyOjpz
aG91bGRJbnNlcnROb2RlJyBoaWRlcyBvdmVybG9hZGVkIHZpcnR1YWwgZnVuY3Rpb24gWy1Xb3Zl
cmxvYWRlZC12aXJ0dWFsXQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9QbGF0Zm9ybU1hYy5j
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L1BsYXRmb3JtTWFjLmNtYWtl
CShyZXZpc2lvbiAyMzkxMzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L1BsYXRmb3JtTWFjLmNt
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC05LDIwICs5LDIwIEBAIGxpc3QoQVBQRU5EIFdlYktpdExl
Z2FjeV9JTkNMVURFX0RJUkVDVE8KICkKIAogbGlzdChBUFBFTkQgV2ViS2l0TGVnYWN5X1NZU1RF
TV9JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgbWFjCi0gICAgbWFjL0NhcmJvbgotICAgIG1hYy9E
ZWZhdWx0RGVsZWdhdGVzCi0gICAgbWFjL0RPTQotICAgIG1hYy9IaXN0b3J5Ci0gICAgbWFjL2lj
dQotICAgIG1hYy9NaXNjCi0gICAgbWFjL1BhbmVscwotICAgIG1hYy9QbHVnaW5zCi0gICAgbWFj
L1BsdWdpbnMvSG9zdGVkCi0gICAgbWFjL1N0b3JhZ2UKLSAgICBtYWMvV2ViQ29yZVN1cHBvcnQK
LSAgICBtYWMvV2ViSW5zcGVjdG9yCi0gICAgbWFjL1dlYlZpZXcKKyAgICAiJHtXRUJLSVRMRUdB
Q1lfRElSfS9tYWMiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFjL0NhcmJvbiIKKyAgICAi
JHtXRUJLSVRMRUdBQ1lfRElSfS9tYWMvRGVmYXVsdERlbGVnYXRlcyIKKyAgICAiJHtXRUJLSVRM
RUdBQ1lfRElSfS9tYWMvRE9NIgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9IaXN0b3J5
IgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9pY3UiCisgICAgIiR7V0VCS0lUTEVHQUNZ
X0RJUn0vbWFjL01pc2MiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFjL1BhbmVscyIKKyAg
ICAiJHtXRUJLSVRMRUdBQ1lfRElSfS9tYWMvUGx1Z2lucyIKKyAgICAiJHtXRUJLSVRMRUdBQ1lf
RElSfS9tYWMvUGx1Z2lucy9Ib3N0ZWQiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFjL1N0
b3JhZ2UiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFjL1dlYkNvcmVTdXBwb3J0IgorICAg
ICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9XZWJJbnNwZWN0b3IiCisgICAgIiR7V0VCS0lUTEVH
QUNZX0RJUn0vbWFjL1dlYlZpZXciCiApCiAKIGxpc3QoQVBQRU5EIFdlYktpdExlZ2FjeV9TT1VS
Q0VTCkBAIC0yNzEsNyArMjcxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0TGVnYWN5X1NPVVJDRVMK
ICAgICBtYWMvV2ViQ29yZVN1cHBvcnQvV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lm1tCiAgICAg
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCiAgICAgbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyLm1tCi0gICAgbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlVzZXJNZWRpYUNsaWVudC5tbQogICAgIG1hYy9XZWJDb3JlU3VwcG9ydC9XZWJW
YWxpZGF0aW9uTWVzc2FnZUNsaWVudC5tbQogICAgIG1hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaXNp
dGVkTGlua1N0b3JlLm1tCiAKSW5kZXg6IFNvdXJjZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zTWFjLmNtYWtlCShyZXZpc2lvbiAyMzkx
MzMpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAt
MjcsMTkgKzI3LDIyIEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8K
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSBQUklWQVRFIE9OKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFVFRFUlBSRVNTIFBSSVZBVEUgT04pCitXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVUVEVSUFJFU1MgUFJJVkFURSBP
RkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfU09VUkNF
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVN
T1JZX1NBTVBMRVIgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QREZLSVRfUExVR0lOIFBSSVZBVEUgT04pCitXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9SVUJCRVJfQkFORElORyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMgUFJJVkFURSBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTIFBSSVZBVEUg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04gUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSBQUklWQVRFIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQkdMMiBQUklWQVRFIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQkdQVSBQUklWQVRFIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQk1FVEFMIFBSSVZBVEUgT04p
CitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUIFBSSVZBVEUgT04pCiAKICMgRklYTUU6IFRoZXNlIGFyZSB0dXJuZWQgb2ZmIHRl
bXBvcmFyaWx5IHRvIGdldCBDTWFrZSB3b3JraW5nIGVhc2llci4gCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU4NTYKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTE1MCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTEyICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVz
dXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9tYWMvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybU1hYy5jbWFrZToKKwogMjAxOC0xMi0xMiAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIFRleHRJbnB1dENvbnRyb2xsZXIubGVnYWN5
QXR0cmlidXRlZFN0cmluZyB0YWtlIERPTSBub2RlcyBhbmQgb2Zmc2V0cwpJbmRleDogVG9vbHMv
RHVtcFJlbmRlclRyZWUvUGxhdGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVt
cFJlbmRlclRyZWUvUGxhdGZvcm1NYWMuY21ha2UJKHJldmlzaW9uIDIzOTEzMykKKysrIFRvb2xz
L0R1bXBSZW5kZXJUcmVlL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw3
ICs3Nyw2IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX09iakNwcF9TT1VSQ0UKICAgICBt
YWMvRHVtcFJlbmRlclRyZWVEcmFnZ2luZ0luZm8ubW0KICAgICBtYWMvRHVtcFJlbmRlclRyZWVN
YWluLm1tCiAgICAgbWFjL0R1bXBSZW5kZXJUcmVlUGFzdGVib2FyZC5tbQotICAgIG1hYy9EdW1w
UmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5tbQogICAgIG1hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5t
bQogICAgIG1hYy9FZGl0aW5nRGVsZWdhdGUubW0KICAgICBtYWMvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5tbQpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvbWFjL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL21hYy9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjM5MTMzKQorKysgVG9vbHMvTWluaUJyb3dzZXIvbWFjL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMiw3ICsxMiw2IEBAIHNldChNaW5pQnJvd3Nlcl9TT1VSQ0VTCiAgICAgJHtN
SU5JQlJPV1NFUl9ESVJ9L1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KICAgICAke01JTklC
Uk9XU0VSX0RJUn0vbWFpbi5tCiAgICAgJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL01CVG9vbGJh
ckl0ZW0ubQotICAgICR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9NaW5pQnJvd3NlcldlYlByb2Nl
c3NQbHVnSW4ubQogKQogCiBzZXQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUwpJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtTWFjLmNtYWtlCShyZXZpc2lvbiAyMzkxMzMpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw2IEBAIGxpc3QoQVBQRU5EIFRlc3RXZWJLaXRBUElfTElCUkFSSUVTCiApCiAK
IHNldChidW5kbGVfaGFybmVzc19TT1VSQ0VTCi0gICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vY29j
b2EvSW5zdGFuY2VNZXRob2RTd2l6emxlci5tbQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L2Nv
Y29hL1BsYXRmb3JtVXRpbGl0aWVzQ29jb2EubW0KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9j
b2NvYS9VdGlsaXRpZXNDb2NvYS5tbQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L21hYy9Jbmpl
Y3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357847</attachid>
            <date>2018-12-20 12:10:50 -0800</date>
            <delta_ts>2018-12-26 16:04:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192658-20181220121049.patch</filename>
            <type>text/plain</type>
            <size>44640</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIzOTQw
OCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEy
LTE5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZToKKwog
MjAxOC0xMi0xOSAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIENhbm5vdCBidWlsZCB3aXRoIENNYWtlIDwzLjcKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEyLTE5
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKwogMjAxOC0xMi0xOCAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBUaW1lbGluZXM6IGNvcnJlY3RseSBsYWJlbCBJbnRlcnNlY3Rpb24gT2JzZXJ2ZXIgY2Fs
bGJhY2tzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1NYWMuY21ha2UKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCShyZXZp
c2lvbiAyMzk0MDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1NYWMuY21ha2UJ
KHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDcgQEAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENv
cmVfVU5JRklFRF9TT1VSQwogKQogCiBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9QUklWQVRF
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0RFUklWRURfU09VUkNFU19XVEZfRElSfQogICAg
ICR7SkFWQVNDUklQVENPUkVfRElSfS9kaXNhc3NlbWJsZXIvdWRpczg2CiAgICAgJHtKQVZBU0NS
SVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9jb2NvYQogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9p
bnNwZWN0b3IvcmVtb3RlL2NvY29hCkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNl
L1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0xMi0x
OSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAg
IFJlc3VycmVjdCBNYWMgQ01ha2UgYnVpbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MjY1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHd0
Zi9jZi9DRlVSTEV4dHJhcy5jcHA6CisgICAgICAgICogd3RmL2NmL0NGVVJMRXh0cmFzLmg6Cisg
ICAgICAgICogd3RmL2NmL1VSTENGLmNwcDoKKyAgICAgICAgKiB3dGYvY29jb2EvTlNVUkxFeHRy
YXMuaDoKKyAgICAgICAgKiB3dGYvY29jb2EvTlNVUkxFeHRyYXMubW06CisgICAgICAgICogd3Rm
L2NvY29hL1VSTENvY29hLm1tOgorCiAyMDE4LTEyLTE5ICBFcmljIENhcmxzb24gIDxlcmljLmNh
cmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gRm9yY2Ugc3lzdGVtIGNh
bWVyYS9taWNyb3Bob25lIFRDQyBwcm9tcHQgaWYgbmVjZXNzYXJ5CkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybU1hYy5jbWFrZQkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNlL1dURi93dGYvUGxhdGZv
cm1NYWMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTgsMTEgKzgsMTIgQEAgbGlzdChBUFBFTkQg
V1RGX0xJQlJBUklFUwogKQogCiBsaXN0KEFQUEVORCBXVEZfUFVCTElDX0hFQURFUlMKKyAgICBX
ZWFrT2JqQ1B0ci5oCisKICAgICBjZi9DRlVSTEV4dHJhcy5oCiAgICAgY2YvVHlwZUNhc3RzQ0Yu
aAogCiAgICAgY29jb2EvRW50aXRsZW1lbnRzLmgKLSAgICBjb2NvYS9NYWNoU2VuZFJpZ2h0LmgK
ICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCiAgICAgY29jb2EvU29mdExpbmtpbmcuaAogCkBAIC0y
Myw2ICsyNCw3IEBAIGxpc3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIHNwaS9jZi9D
RkJ1bmRsZVNQSS5oCiAgICAgc3BpL2NmL0NGU3RyaW5nU1BJLmgKIAorICAgIHNwaS9jb2NvYS9D
RlhQQ0JyaWRnZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY3VyaXR5U1BJLmgKICAgICBzcGkvY29j
b2Evb2JqY1NQSS5oCiAKQEAgLTQ2LDcgKzQ4LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
IAogICAgIGNvY29hL0F1dG9kcmFpbmVkUG9vbC5jcHAKICAgICBjb2NvYS9DUFVUaW1lQ29jb2Eu
Y3BwCi0gICAgY29jb2EvRW50aXRsZW1lbnRzLmNwcAorICAgIGNvY29hL0VudGl0bGVtZW50cy5t
bQogICAgIGNvY29hL01hY2hTZW5kUmlnaHQuY3BwCiAgICAgY29jb2EvTWFpblRocmVhZENvY29h
Lm1tCiAgICAgY29jb2EvTWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwCkBAIC02OSwxMSArNzEsMTEg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICkKIAogbGlzdChBUFBFTkQgV1RGX1BSSVZBVEVf
SU5DTFVERV9ESVJFQ1RPUklFUwotICAgICIke1dURl9ESVJ9L2ljdSIKICAgICAke0RFUklWRURf
U09VUkNFU19XVEZfRElSfQogKQogCiBmaWxlKENPUFkgbWFjL01hY2hFeGNlcHRpb25zLmRlZnMg
REVTVElOQVRJT04gJHtERVJJVkVEX1NPVVJDRVNfV1RGX0RJUn0pCitmaWxlKENPUFkgIiR7V1RG
X0RJUn0vaWN1L3VuaWNvZGUiIERFU1RJTkFUSU9OICR7REVSSVZFRF9TT1VSQ0VTX1dURl9ESVJ9
KQogCiBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgT1VUUFVUCkluZGV4OiBTb3VyY2UvV1RGL3d0
Zi9jZi9DRlVSTEV4dHJhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvY2YvQ0ZV
UkxFeHRyYXMuY3BwCShyZXZpc2lvbiAyMzk0MDgpCisrKyBTb3VyY2UvV1RGL3d0Zi9jZi9DRlVS
TEV4dHJhcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ0ZVUkxFeHRyYXMuaCIKKyNpbmNsdWRlIDx3dGYv
Y2YvQ0ZVUkxFeHRyYXMuaD4KIAogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jZi9DRlVSTEV4dHJhcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NmL0NGVVJMRXh0cmFzLmgJKHJldmlzaW9uIDIz
OTQwOCkKKysrIFNvdXJjZS9XVEYvd3RmL2NmL0NGVVJMRXh0cmFzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDggKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
LwogCi0jaWZuZGVmIENGVVJMRXh0cmFzX2gKLSNkZWZpbmUgQ0ZVUkxFeHRyYXNfaAorI3ByYWdt
YSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KQEAgLTQyLDUgKzQxLDMgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZ2V0VVJMQnl0
ZXMoQ0ZVUgogYm9vbCBpc0NGVVJMU2FtZU9yaWdpbihDRlVSTFJlZiwgY29uc3QgVVJMJik7CiAK
IH0KLQotI2VuZGlmIC8vIENGVVJMRXh0cmFzX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL2NmL1VS
TENGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9jZi9VUkxDRi5jcHAJKHJldmlz
aW9uIDIzOTQwOCkKKysrIFNvdXJjZS9XVEYvd3RmL2NmL1VSTENGLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsOSArMjYsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KIAotI2luY2x1ZGUgIkNGVVJMRXh0cmFzLmgiCi0jaW5jbHVkZSAiVVJMUGFyc2VyLmgi
CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZVUkwuaD4KKyNpbmNsdWRlIDx3dGYvVVJMUGFy
c2VyLmg+CisjaW5jbHVkZSA8d3RmL2NmL0NGVVJMRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL2Nv
Y29hL05TVVJMRXh0cmFzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvY29jb2EvTlNV
UkxFeHRyYXMuaAkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNlL1dURi93dGYvY29jb2EvTlNV
UkxFeHRyYXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsOCBAQAogICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCisjcHJhZ21hIG9uY2UKKwogQGNsYXNzIE5TU3RyaW5nOwogQGNsYXNzIE5TVVJMOwog
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQkocmV2aXNpb24gMjM5NDA4KQor
KysgU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMwLDE2ICszMCwxNiBAQAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1w
b3J0ICJOU1VSTEV4dHJhcy5oIgogCi0jaW1wb3J0ICJDRlVSTEV4dHJhcy5oIgotI2ltcG9ydCAi
VVJMUGFyc2VyLmgiCisjaW1wb3J0IDx1bmljb2RlL3VjaGFyLmg+CisjaW1wb3J0IDx1bmljb2Rl
L3VpZG5hLmg+CisjaW1wb3J0IDx1bmljb2RlL3VzY3JpcHQuaD4KICNpbXBvcnQgPHd0Zi9GdW5j
dGlvbi5oPgogI2ltcG9ydCA8d3RmL0hleE51bWJlci5oPgogI2ltcG9ydCA8d3RmL09iakNSdW50
aW1lRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYvVVJM
UGFyc2VyLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+Ci0jaW1wb3J0IDx1bmljb2RlL3VjaGFy
Lmg+Ci0jaW1wb3J0IDx1bmljb2RlL3VpZG5hLmg+Ci0jaW1wb3J0IDx1bmljb2RlL3VzY3JpcHQu
aD4KKyNpbXBvcnQgPHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgogCiAvLyBOZWVkcyB0byBiZSBiaWcg
ZW5vdWdoIHRvIGhvbGQgYW4gSUROLWVuY29kZWQgbmFtZS4KIC8vIEZvciBob3N0IG5hbWVzIGJp
Z2dlciB0aGFuIHRoaXMsIHdlIHdvbid0IGRvIElETiBlbmNvZGluZywgd2hpY2ggaXMgYWxtb3N0
IGNlcnRhaW5seSBPSy4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL2NvY29hL1VSTENvY29hLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NvY29hL1VSTENvY29hLm1tCShyZXZpc2lvbiAy
Mzk0MDgpCisrKyBTb3VyY2UvV1RGL3d0Zi9jb2NvYS9VUkxDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjYsMTAgKzI2LDEwIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgPHd0Zi9V
UkwuaD4KIAotI2ltcG9ydCAiQ0ZVUkxFeHRyYXMuaCIKLSNpbXBvcnQgIk5TVVJMRXh0cmFzLmgi
CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9VUkxQYXJz
ZXIuaD4KKyNpbXBvcnQgPHd0Zi9jZi9DRlVSTEV4dHJhcy5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L05TVVJMRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIEBpbnRlcmZh
Y2UgTlNTdHJpbmcgKFdURk5TVVJMRXh0cmFzKQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5
NDA4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTgtMTItMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXN1cnJlY3QgTWFjIENNYWtlIGJ1aWxkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI2NTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1ha2VzIGl0IHNvIEpT
QyBhbmQgbW9zdCBvZiBXZWJDb3JlIGJ1aWxkcy4KKyAgICAgICAgV2ViQ29yZSdzIHVzZSBvZiBB
UkMgc2VlbXMgaW5jb25zaXN0ZW50LCBzbyBJJ2xsIGZpeCB0aGF0IGxhdGVyLgorCisgICAgICAg
ICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogY29uZmlnLmg6CisKIDIwMTgtMTItMTgg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU1ZHVXNlRWxlbWVu
dDo6ZmluZFRhcmdldCBzaG91bGQgcmV0dXJuIG51bGxwdHIgd2hlbiB0aGVyZSBpcyBhIGN5Y2xl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4NDEsNyArMTg0MSw3IEBA
IGFkZF9jdXN0b21fY29tbWFuZCgKICAgICBERVBFTkRTICR7V2ViQ29yZV9DU1NfVkFMVUVfS0VZ
V09SRFN9CiAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9CiAgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gLW5lICJwcmludCIgJHtXZWJDb3Jl
X0NTU19WQUxVRV9LRVlXT1JEU30gPiAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ1NT
VmFsdWVLZXl3b3Jkcy5pbgotICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCQ09S
RV9ESVJ9L2Nzcy9tYWtldmFsdWVzLnBsIC0tZGVmaW5lcyAiJHtGRUFUVVJFX0RFRklORVNfV0lU
SF9TUEFDRV9TRVBBUkFUT1J9IiAtLXByZXByb2Nlc3NvciAiJHtDT0RFX0dFTkVSQVRPUl9QUkVQ
Uk9DRVNTT1J9IiAtLWdwZXJmLWV4ZWN1dGFibGUgIiR7R1BFUkZfRVhFQ1VUQUJMRX0iCisgICAg
Q09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vY3NzL21ha2V2YWx1ZXMu
cGwgLS1kZWZpbmVzICIke0ZFQVRVUkVfREVGSU5FU19XSVRIX1NQQUNFX1NFUEFSQVRPUn0gJHtD
U1NfVkFMVUVfUExBVEZPUk1fREVGSU5FU30iIC0tcHJlcHJvY2Vzc29yICIke0NPREVfR0VORVJB
VE9SX1BSRVBST0NFU1NPUn0iIC0tZ3BlcmYtZXhlY3V0YWJsZSAiJHtHUEVSRl9FWEVDVVRBQkxF
fSIKICAgICBWRVJCQVRJTSkKIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURf
U09VUkNFU19XRUJDT1JFX0RJUn0vQ1NTVmFsdWVLZXl3b3Jkcy5jcHApCiBBRERfU09VUkNFX1dF
QkNPUkVfREVSSVZFRF9ERVBFTkRFTkNJRVMoJHtXRUJDT1JFX0RJUn0vY3NzL0NTU1BhcnNlci5j
cHAgQ1NTVmFsdWVLZXl3b3Jkcy5oKQpJbmRleDogU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMu
Y21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UJKHJl
dmlzaW9uIDIzOTQwOCkKKysrIFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotZmluZF9saWJyYXJ5KEFDQ0VMRVJBVEVfTElCUkFS
WSBhY2NlbGVyYXRlKQogZmluZF9saWJyYXJ5KEFQUExJQ0FUSU9OU0VSVklDRVNfTElCUkFSWSBB
cHBsaWNhdGlvblNlcnZpY2VzKQogZmluZF9saWJyYXJ5KEFWRk9VTkRBVElPTl9MSUJSQVJZIEFW
Rm91bmRhdGlvbikKIGZpbmRfbGlicmFyeShBVURJT1RPT0xCT1hfTElCUkFSWSBBdWRpb1Rvb2xi
b3gpCkBAIC0yMywxMSArMjIsOSBAQCBmaW5kX3BhY2thZ2UoWkxJQiBSRVFVSVJFRCkKIAogbGlz
dChBUFBFTkQgV2ViQ29yZV9VTklGSUVEX1NPVVJDRV9MSVNUX0ZJTEVTCiAgICAgIlNvdXJjZXND
b2NvYS50eHQiCi0gICAgIlNvdXJjZXNNYWMudHh0IgogKQogCiBsaXN0KEFQUEVORCBXZWJDb3Jl
X0xJQlJBUklFUwotICAgICR7QUNDRUxFUkFURV9MSUJSQVJZfQogICAgICR7QVVESU9UT09MQk9Y
X0xJQlJBUll9CiAgICAgJHtBVURJT1VOSVRfTElCUkFSWX0KICAgICAke0FWRk9VTkRBVElPTl9M
SUJSQVJZfQpAQCAtNjcsNiArNjQsOCBAQCBpZiAoTk9UIExPT0tVUF9GUkFNRVdPUkstTk9URk9V
TkQpCiBlbmRpZiAoKQogCiBsaXN0KEFQUEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMK
KyAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UiCisgICAgIiR7REVSSVZFRF9TT1VSQ0VT
X1dURl9ESVJ9IgogICAgICIke1RISVJEUEFSVFlfRElSfS9BTkdMRSIKICAgICAiJHtUSElSRFBB
UlRZX0RJUn0vQU5HTEUvaW5jbHVkZS9LSFIiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2li
aWxpdHkvbWFjIgpAQCAtOTQsNiArOTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX0lOQ0xVREVf
RElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvY2ciCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2N2IgogICAgICIke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9sZWdhY3kiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBo
aWNzL2VnbCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbCIKQEAgLTE0Miwx
MSArMTQyLDkgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgZWRpdGluZy9pb3Mv
QXV0b2ZpbGxFbGVtZW50cy5jcHAKIAogICAgIGVkaXRpbmcvbWFjL0FsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5tbQotICAgIGVkaXRpbmcvbWFjL0RpY3Rpb25hcnlMb29rdXAubW0KICAgICBl
ZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KICAgICBlZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVX
aXRoUmFuZ2UubW0KICAgICBlZGl0aW5nL21hYy9UZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5t
bQotICAgIGVkaXRpbmcvbWFjL1dlYkNvbnRlbnRSZWFkZXJNYWMubW0KIAogICAgIGh0bWwvSFRN
TFNsb3RFbGVtZW50LmNwcAogCkBAIC0xNTgsNyArMTU2LDYgQEAgbGlzdChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCiAgICAgcGFnZS9tYWMv
U2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQogICAgIHBhZ2UvbWFjL1RleHRJbmRpY2F0b3JX
aW5kb3cubW0KLSAgICBwYWdlL21hYy9Vc2VyQWdlbnRNYWMubW0KICAgICBwYWdlL21hYy9XaGVl
bEV2ZW50RGVsdGFGaWx0ZXJNYWMubW0KIAogICAgIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTczLDcgKzE3MCw2IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcAogCi0gICAg
cGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmNwcAogICAgIHBs
YXRmb3JtL2F1ZGlvL2NvY29hL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHAKIAogICAgIHBsYXRmb3Jt
L2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uY3BwCkBAIC0xODUsNyArMTgxLDYg
QEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vYXVkaW8vbWFjL0F1
ZGlvU2Vzc2lvbk1hYy5jcHAKICAgICBwbGF0Zm9ybS9hdWRpby9tYWMvQ0FSaW5nQnVmZmVyLmNw
cAogICAgIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHAKLSAgICBwbGF0Zm9ybS9h
dWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbQogCiAgICAgcGxhdGZvcm0vY2YvRmls
ZVN5c3RlbUNGLmNwcAogICAgIHBsYXRmb3JtL2NmL0tleWVkRGVjb2RlckNGLmNwcApAQCAtMjAy
LDcgKzE5Nyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2Nv
Y29hL0tleUV2ZW50Q29jb2EubW0KICAgICBwbGF0Zm9ybS9jb2NvYS9Mb2NhbGl6ZWRTdHJpbmdz
Q29jb2EubW0KICAgICBwbGF0Zm9ybS9jb2NvYS9NSU1FVHlwZVJlZ2lzdHJ5Q29jb2EubW0KLSAg
ICBwbGF0Zm9ybS9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAogICAgIHBsYXRmb3JtL2NvY29hL05l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1tCiAgICAgcGxhdGZvcm0vY29jb2EvUGFyZW50
YWxDb250cm9sc0NvbnRlbnRGaWx0ZXIubW0KICAgICBwbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJk
Q29jb2EubW0KQEAgLTMyOCwzNCArMzIyLDEwIEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9JbnRQb2ludE1hYy5tbQogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9JbnRSZWN0TWFjLm1tCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0lu
dFNpemVNYWMubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFUaW1lUVRLaXQubW0KICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvUERGRG9jdW1lbnRJbWFnZU1hYy5tbQogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9XZWJMYXllci5tbQogCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVQnVmZmVyTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5k
QnVmZmVyTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVl
dWVNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlck1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGVNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURlcHRo
U3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVEZXZpY2VNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURyYXdhYmxl
TWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVGdW5jdGlvbk1ldGFsLm1t
Ci0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGlicmFyeU1ldGFsLm1tCi0gICAgcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXJNZXRhbC5tbQotICAg
IHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ck1ldGFsLm1tCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFs
L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KLSAgICBwbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvck1ldGFsLm1tCi0gICAg
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbQotICAgIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFs
L0dQVVRleHR1cmVEZXNjcmlwdG9yTWV0YWwubW0KLSAgICBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVUZXh0dXJlTWV0YWwubW0KLQogICAgIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0wuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lv
bnMzRE9wZW5HTENvbW1vbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC00MDQsNyArMzc0LDYgQEAgbGlzdChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbWFjL1dlYkNvcmVPYmpDRXh0cmFzLm1tCiAgICAg
cGxhdGZvcm0vbWFjL1dlYkdMQmxhY2tsaXN0Lm1tCiAgICAgcGxhdGZvcm0vbWFjL1dlYk5TQXR0
cmlidXRlZFN0cmluZ0V4dHJhcy5tbQotICAgIHBsYXRmb3JtL21hYy9XZWJXaW5kb3dBbmltYXRp
b24ubW0KICAgICBwbGF0Zm9ybS9tYWMvV2lkZ2V0TWFjLm1tCiAKICAgICBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW0KQEAgLTUxMiw2ICs0ODEs
NyBAQCBzZXQoV2ViQ29yZV9GT1JXQVJESU5HX0hFQURFUlNfRElSRUNUT1JJCiAgICAgaHRtbC9m
b3JtcwogICAgIGh0bWwvcGFyc2VyCiAgICAgaHRtbC9zaGFkb3cKKyAgICBodG1sL3RyYWNrCiAK
ICAgICBpbnNwZWN0b3IvYWdlbnRzCiAKQEAgLTUzNCw2ICs1MDQsNyBAQCBzZXQoV2ViQ29yZV9G
T1JXQVJESU5HX0hFQURFUlNfRElSRUNUT1JJCiAgICAgcGxhdGZvcm0vYXVkaW8KICAgICBwbGF0
Zm9ybS9jZgogICAgIHBsYXRmb3JtL2NvY29hCisgICAgcGxhdGZvcm0vaW9zCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MKICAgICBwbGF0Zm9ybS9tYWMKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbQpA
QCAtNTQ3LDYgKzUxOCw3IEBAIHNldChXZWJDb3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RP
UkkKICAgICBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hCiAgICAgcGxhdGZvcm0vZ2FtZXBhZC9tYWMK
IAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbgogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2NhCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9jZwpAQCAtNjQ3LDYgKzYxOSw3IEBAIHNldChBRERJVElPTkFMX0JJTkRJTkdTX0RFUEVOREVO
Q0lFUwogICAgICR7V09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEV9CiAgICAgJHtE
RURJQ0FURURXT1JLRVJHTE9CQUxTQ09QRV9DT05TVFJVQ1RPUlNfRklMRX0KICkKK3NldChDU1Nf
VkFMVUVfUExBVEZPUk1fREVGSU5FUyBXVEZfUExBVEZPUk1fTUFDPTEpCiAKIGxpc3QoQVBQRU5E
IFdlYkNvcmVUZXN0U3VwcG9ydF9MSUJSQVJJRVMgUFJJVkFURSBXZWJDb3JlKQogbGlzdChBUFBF
TkQgV2ViQ29yZVRlc3RTdXBwb3J0X1NPVVJDRVMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJj
ZXNDb2NvYS50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4
dAkocmV2aXNpb24gMjM5NDA4KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNDkzLDcgKzQ5Myw2IEBAIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lv
cy9Db3JlQXVkaW9DYXB0dXIKIAogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvVHJhY2tQ
cml2YXRlTWVkaWFTdHJlYW1Db2NvYS5jcHAKIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tIEBuby11bmlmeQotcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWTWVkaWFDYXB0dXJlU291cmNlLm1tIEBuby11bmlmeQogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tIEBuby11bmlmeQogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL01vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2NvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbmZpZy5oCShyZXZp
c2lvbiAyMzk0MDgpCisrKyBTb3VyY2UvV2ViQ29yZS9jb25maWcuaAkod29ya2luZyBjb3B5KQpA
QCAtMzYsNiArMzYsOSBAQAogLy8gVXNpbmcgQ01ha2Ugd2l0aCBVbml4IG1ha2VmaWxlcyBkb2Vz
IG5vdCB1c2UgcHJlZml4IGhlYWRlcnMuCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBkZWZpbmVkKEJV
SUxESU5HX1dJVEhfQ01BS0UpCiAjaW5jbHVkZSAiV2ViQ29yZVByZWZpeC5oIgorI2lmbmRlZiBK
U0NfQVBJX0FWQUlMQUJMRQorI2RlZmluZSBKU0NfQVBJX0FWQUlMQUJMRSguLi4pCisjZW5kaWYK
ICNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGV4ZXIuY3BwCShyZXZpc2lvbiAyMzk0MDgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExleGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldITFNMTGV4
ZXIuaCIKIAorI2lmIEVOQUJMRShXRUJHUFUpCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFt
ZXNwYWNlIFdITFNMIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM5NDA4KQor
KysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEyIEBACisyMDE4LTEyLTE5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1NYWMuY21h
a2U6CisKIDIwMTgtMTItMTcgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAg
ICAgICAgRW5hYmxlIEhUVFAgYW5kIEhUVFBTIHByb3hpZXMgb24gaU9TIGFuZCBtYWtlIGl0IGEg
cHJvcGVydHkgb2YgdGhlIE5TVVJMU2Vzc2lvbgpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L1BsYXRmb3JtTWFjLmNtYWtlCShyZXZpc2lvbiAyMzk0MDgpCisrKyBTb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw2ICsxNiw3IEBA
IGxpc3QoQVBQRU5EIFBBTF9QVUJMSUNfSEVBREVSUwogICAgIHNwaS9jZy9JbWFnZUlPU1BJLmgK
IAogICAgIHNwaS9jb2NvYS9BVktpdFNQSS5oCisgICAgc3BpL2NvY29hL0F1ZGlvVG9vbGJveFNQ
SS5oCiAgICAgc3BpL2NvY29hL0NGTlNVUkxDb25uZWN0aW9uU1BJLmgKICAgICBzcGkvY29jb2Ev
Q29yZVRleHRTUEkuaAogICAgIHNwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oCkBAIC00
Nyw3ICs0OCwxMSBAQCBsaXN0KEFQUEVORCBQQUxfUFVCTElDX0hFQURFUlMKICAgICBzcGkvY29j
b2EvV2ViRmlsdGVyRXZhbHVhdG9yU1BJLmgKICAgICBzcGkvY29jb2EvcHRocmVhZFNQSS5oCiAK
KyAgICBzcGkvaW9zL0RhdGFEZXRlY3RvcnNVSVNQSS5oCisgICAgc3BpL2lvcy9HcmFwaGljc1Nl
cnZpY2VzU1BJLmgKKwogICAgIHNwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgKKyAgICBzcGkvbWFj
L0NvcmVVSVNQSS5oCiAgICAgc3BpL21hYy9EYXRhRGV0ZWN0b3JzU1BJLmgKICAgICBzcGkvbWFj
L0hJU2VydmljZXNTUEkuaAogICAgIHNwaS9tYWMvSElUb29sYm94U1BJLmgKQEAgLTU1LDExICs2
MCwxMyBAQCBsaXN0KEFQUEVORCBQQUxfUFVCTElDX0hFQURFUlMKICAgICBzcGkvbWFjL01lZGlh
UmVtb3RlU1BJLmgKICAgICBzcGkvbWFjL01ldGFkYXRhU1BJLmgKICAgICBzcGkvbWFjL05TQWNj
ZXNzaWJpbGl0eVNQSS5oCisgICAgc3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaAogICAgIHNwaS9t
YWMvTlNBcHBsaWNhdGlvblNQSS5oCiAgICAgc3BpL21hYy9OU0NlbGxTUEkuaAogICAgIHNwaS9t
YWMvTlNFdmVudFNQSS5oCiAgICAgc3BpL21hYy9OU0ZvbnRTUEkuaAogICAgIHNwaS9tYWMvTlNH
cmFwaGljc1NQSS5oCisgICAgc3BpL21hYy9OU0ltYWdlU1BJLmgKICAgICBzcGkvbWFjL05TSW1t
ZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXJTUEkuaAogICAgIHNwaS9tYWMvTlNNZW51U1BJ
LmgKICAgICBzcGkvbWFjL05TUGFzdGVib2FyZFNQSS5oCkBAIC05Nyw3ICsxMDQsNiBAQCBsaXN0
KEFQUEVORCBQQUxfU09VUkNFUwogICAgIGNmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAogCiAgICAg
Y29jb2EvRmlsZVNpemVGb3JtYXR0ZXJDb2NvYS5tbQotICAgIGNvY29hL0xvZ2dpbmdDb2NvYS5t
bQogICAgIGNvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQogCiAgICAgY3J5cHRvL2NvbW1vbmNyeXB0
by9DcnlwdG9EaWdlc3RDb21tb25DcnlwdG8uY3BwCkBAIC0xMTUsNiArMTIxLDcgQEAgbGlzdChB
UFBFTkQgUEFMX1NPVVJDRVMKICkKIAogbGlzdChBUFBFTkQgUEFMX1BSSVZBVEVfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICIke0RFUklWRURfU09VUkNFU19XVEZfRElSfSIKICAgICAiJHtQQUxf
RElSfS9wYWwvYXZmb3VuZGF0aW9uIgogICAgICIke1BBTF9ESVJ9L3BhbC9jZiIKICAgICAiJHtQ
QUxfRElSfS9wYWwvY29jb2EiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZUZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcuaAkocmV2
aXNpb24gMjM5NDA4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxs
U2NyZWVuUGxhY2Vob2xkZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDEyICsyNiwxMyBA
QAogI2lmIFBMQVRGT1JNKE1BQykKIAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9y
dCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAKIFdFQkNPUkVfRVhQT1JUIEBpbnRlcmZhY2UgV2ViQ29y
ZUZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcgOiBOU1ZpZXcgewogQHByaXZhdGUKICAgICBSZXRh
aW5QdHI8TlNWaXN1YWxFZmZlY3RWaWV3PiBfZWZmZWN0VmlldzsKICAgICBSZXRhaW5QdHI8TlNU
ZXh0RmllbGQ+IF9leGl0V2FybmluZzsKLSAgICBfX3dlYWsgTlNSZXNwb25kZXIgKl90YXJnZXQ7
CisgICAgV2Vha09iakNQdHI8TlNSZXNwb25kZXI+IF90YXJnZXQ7CiB9CiBAcHJvcGVydHkgKG51
bGxhYmxlLCBzdHJvbmcpIGlkIGNvbnRlbnRzOwogQHByb3BlcnR5IChudWxsYWJsZSwgd2Vhaykg
TlNSZXNwb25kZXIgKnRhcmdldDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcubW0J
KHJldmlzaW9uIDIzOTQwOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3Jl
RnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEs
MTUgQEAgLSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lUmVjdAogICAgIHJldHVybiBz
ZWxmOwogfQogCi1Ac3ludGhlc2l6ZSB0YXJnZXQgPSBfdGFyZ2V0OworLSAoTlNSZXNwb25kZXIg
Kil0YXJnZXQKK3sKKyAgICByZXR1cm4gX3RhcmdldC5nZXQoKS5nZXQoKTsKK30KKworLSAodm9p
ZClzZXRUYXJnZXQ6KE5TUmVzcG9uZGVyICopdGFyZ2V0Cit7CisgICAgX3RhcmdldCA9IHRhcmdl
dDsKK30KIAogQGR5bmFtaWMgY29udGVudHM7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BVk1lZGlhQ2FwdHVyZVNvdXJjZS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZNZWRpYUNhcHR1cmVT
b3VyY2UubW0JKHJldmlzaW9uIDIzOTQwOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVk1lZGlhQ2FwdHVyZVNvdXJjZS5tbQkobm9uZXhpc3RlbnQpCkBAIC0x
LDQzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkFWTWVkaWFDYXB0dXJlU291cmNl
LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotCi0j
aW1wb3J0ICJBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCi0jaW1wb3J0ICJBdWRpb1NvdXJjZVBy
b3ZpZGVyLmgiCi0jaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0ICJNZWRpYUNvbnN0cmFpbnRz
LmgiCi0jaW1wb3J0ICJSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKLSNpbXBvcnQgPEFW
Rm91bmRhdGlvbi9BVkNhcHR1cmVEZXZpY2UuaD4KLSNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkNh
cHR1cmVJbnB1dC5oPgotI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQ2FwdHVyZU91dHB1dC5oPgot
I2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQ2FwdHVyZVNlc3Npb24uaD4KLSNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVkVycm9yLmg+Ci0jaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KLSNpbXBvcnQgPHd0
Zi9NYWluVGhyZWFkLmg+Ci0KLSNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgot
Ci10eXBlZGVmIEFWQ2FwdHVyZUNvbm5lY3Rpb24gQVZDYXB0dXJlQ29ubmVjdGlvblR5cGU7Ci10
eXBlZGVmIEFWQ2FwdHVyZURldmljZSBBVkNhcHR1cmVEZXZpY2VUeXBlZGVmOwotdHlwZWRlZiBB
VkNhcHR1cmVEZXZpY2VJbnB1dCBBVkNhcHR1cmVEZXZpY2VJbnB1dFR5cGU7Ci10eXBlZGVmIEFW
Q2FwdHVyZU91dHB1dCBBVkNhcHR1cmVPdXRwdXRUeXBlOwotdHlwZWRlZiBBVkNhcHR1cmVTZXNz
aW9uIEFWQ2FwdHVyZVNlc3Npb25UeXBlOwotdHlwZWRlZiBBVkNhcHR1cmVBdWRpb0RhdGFPdXRw
dXQgQVZDYXB0dXJlQXVkaW9EYXRhT3V0cHV0VHlwZTsKLXR5cGVkZWYgQVZDYXB0dXJlVmlkZW9E
YXRhT3V0cHV0IEFWQ2FwdHVyZVZpZGVvRGF0YU91dHB1dFR5cGU7Ci0KLVNPRlRfTElOS19GUkFN
RVdPUktfT1BUSU9OQUwoQVZGb3VuZGF0aW9uKQotCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0
aW9uLCBBVkNhcHR1cmVBdWRpb0RhdGFPdXRwdXQpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0
aW9uLCBBVkNhcHR1cmVDb25uZWN0aW9uKQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwg
QVZDYXB0dXJlRGV2aWNlKQotU09GVF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJl
RGV2aWNlSW5wdXQpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVPdXRw
dXQpCi1TT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uKQotU09G
VF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlVmlkZW9EYXRhT3V0cHV0KQotCi0j
ZGVmaW5lIEFWQ2FwdHVyZUF1ZGlvRGF0YU91dHB1dCBnZXRBVkNhcHR1cmVBdWRpb0RhdGFPdXRw
dXRDbGFzcygpCi0jZGVmaW5lIEFWQ2FwdHVyZUNvbm5lY3Rpb24gZ2V0QVZDYXB0dXJlQ29ubmVj
dGlvbkNsYXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlRGV2aWNlIGdldEFWQ2FwdHVyZURldmljZUNs
YXNzKCkKLSNkZWZpbmUgQVZDYXB0dXJlRGV2aWNlSW5wdXQgZ2V0QVZDYXB0dXJlRGV2aWNlSW5w
dXRDbGFzcygpCi0jZGVmaW5lIEFWQ2FwdHVyZU91dHB1dCBnZXRBVkNhcHR1cmVPdXRwdXRDbGFz
cygpCi0jZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb24gZ2V0QVZDYXB0dXJlU2Vzc2lvbkNsYXNzKCkK
LSNkZWZpbmUgQVZDYXB0dXJlVmlkZW9EYXRhT3V0cHV0IGdldEFWQ2FwdHVyZVZpZGVvRGF0YU91
dHB1dENsYXNzKCkKLQotU09GVF9MSU5LX0NPTlNUQU5UKEFWRm91bmRhdGlvbiwgQVZNZWRpYVR5
cGVBdWRpbywgTlNTdHJpbmcgKikKLVNPRlRfTElOS19DT05TVEFOVChBVkZvdW5kYXRpb24sIEFW
TWVkaWFUeXBlTXV4ZWQsIE5TU3RyaW5nICopCi1TT0ZUX0xJTktfQ09OU1RBTlQoQVZGb3VuZGF0
aW9uLCBBVk1lZGlhVHlwZVZpZGVvLCBOU1N0cmluZyAqKQotCi0jZGVmaW5lIEFWTWVkaWFUeXBl
QXVkaW8gZ2V0QVZNZWRpYVR5cGVBdWRpbygpCi0jZGVmaW5lIEFWTWVkaWFUeXBlTXV4ZWQgZ2V0
QVZNZWRpYVR5cGVNdXhlZCgpCi0jZGVmaW5lIEFWTWVkaWFUeXBlVmlkZW8gZ2V0QVZNZWRpYVR5
cGVWaWRlbygpCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotU09GVF9MSU5LX1BPSU5URVJf
T1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uUnVudGltZUVycm9yTm90aWZp
Y2F0aW9uLCBOU1N0cmluZyAqKQotU09GVF9MSU5LX1BPSU5URVJfT1BUSU9OQUwoQVZGb3VuZGF0
aW9uLCBBVkNhcHR1cmVTZXNzaW9uV2FzSW50ZXJydXB0ZWROb3RpZmljYXRpb24sIE5TU3RyaW5n
ICopCi1TT0ZUX0xJTktfUE9JTlRFUl9PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNl
c3Npb25JbnRlcnJ1cHRpb25FbmRlZE5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKikKLVNPRlRfTElO
S19QT0lOVEVSX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lvbkludGVycnVw
dGlvblJlYXNvbktleSwgTlNTdHJpbmcgKikKLVNPRlRfTElOS19QT0lOVEVSX09QVElPTkFMKEFW
Rm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lvbkVycm9yS2V5LCBOU1N0cmluZyAqKQotCi0jZGVm
aW5lIEFWQ2FwdHVyZVNlc3Npb25SdW50aW1lRXJyb3JOb3RpZmljYXRpb24gZ2V0QVZDYXB0dXJl
U2Vzc2lvblJ1bnRpbWVFcnJvck5vdGlmaWNhdGlvbigpCi0jZGVmaW5lIEFWQ2FwdHVyZVNlc3Np
b25XYXNJbnRlcnJ1cHRlZE5vdGlmaWNhdGlvbiBnZXRBVkNhcHR1cmVTZXNzaW9uV2FzSW50ZXJy
dXB0ZWROb3RpZmljYXRpb24oKQotI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9uSW50ZXJydXB0aW9u
RW5kZWROb3RpZmljYXRpb24gZ2V0QVZDYXB0dXJlU2Vzc2lvbkludGVycnVwdGlvbkVuZGVkTm90
aWZpY2F0aW9uKCkKLSNkZWZpbmUgQVZDYXB0dXJlU2Vzc2lvbkludGVycnVwdGlvblJlYXNvbktl
eSBnZXRBVkNhcHR1cmVTZXNzaW9uSW50ZXJydXB0aW9uUmVhc29uS2V5KCkKLSNkZWZpbmUgQVZD
YXB0dXJlU2Vzc2lvbkVycm9yS2V5IGdldEFWQ2FwdHVyZVNlc3Npb25FcnJvcktleSgpCi0jZW5k
aWYKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLUBpbnRlcmZhY2UgV2ViQ29yZUFWTWVk
aWFDYXB0dXJlU291cmNlT2JzZXJ2ZXIgOiBOU09iamVjdDxBVkNhcHR1cmVBdWRpb0RhdGFPdXRw
dXRTYW1wbGVCdWZmZXJEZWxlZ2F0ZSwgQVZDYXB0dXJlVmlkZW9EYXRhT3V0cHV0U2FtcGxlQnVm
ZmVyRGVsZWdhdGU+Ci17Ci0gICAgQVZNZWRpYUNhcHR1cmVTb3VyY2UqIG1fY2FsbGJhY2s7Ci19
Ci0KLS0oaWQpaW5pdFdpdGhDYWxsYmFjazooQVZNZWRpYUNhcHR1cmVTb3VyY2UqKWNhbGxiYWNr
OwotLSh2b2lkKWRpc2Nvbm5lY3Q7Ci0tKHZvaWQpYWRkTm90aWZpY2F0aW9uT2JzZXJ2ZXJzOwot
LSh2b2lkKXJlbW92ZU5vdGlmaWNhdGlvbk9ic2VydmVyczsKLS0odm9pZCljYXB0dXJlT3V0cHV0
OihBVkNhcHR1cmVPdXRwdXRUeXBlKiljYXB0dXJlT3V0cHV0IGRpZE91dHB1dFNhbXBsZUJ1ZmZl
cjooQ01TYW1wbGVCdWZmZXJSZWYpc2FtcGxlQnVmZmVyIGZyb21Db25uZWN0aW9uOihBVkNhcHR1
cmVDb25uZWN0aW9uVHlwZSopY29ubmVjdGlvbjsKLS0odm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQ
YXRoOmtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeSopY2hh
bmdlIGNvbnRleHQ6KHZvaWQqKWNvbnRleHQ7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLS0o
dm9pZClzZXNzaW9uUnVudGltZUVycm9yOihOU05vdGlmaWNhdGlvbiopbm90aWZpY2F0aW9uOwot
LSh2b2lkKWJlZ2luU2Vzc2lvbkludGVycnVwdGVkOihOU05vdGlmaWNhdGlvbiopbm90aWZpY2F0
aW9uOwotLSh2b2lkKWVuZFNlc3Npb25JbnRlcnJ1cHRlZDooTlNOb3RpZmljYXRpb24qKW5vdGlm
aWNhdGlvbjsKLSNlbmRpZgotQGVuZAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBO
U0FycmF5PE5TU3RyaW5nKj4qIHNlc3Npb25LVk9Qcm9wZXJ0aWVzKCk7Ci0KLXN0YXRpYyBkaXNw
YXRjaF9xdWV1ZV90IGdsb2JhQXVkaW9DYXB0dXJlU2VyaWFsUXVldWUoKQotewotICAgIHN0YXRp
YyBkaXNwYXRjaF9xdWV1ZV90IGdsb2JhbFF1ZXVlOwotICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNl
X3Qgb25jZVRva2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAg
Z2xvYmFsUXVldWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoIldlYkNvcmVBVk1lZGlhQ2FwdHVy
ZVNvdXJjZSBhdWRpbyBjYXB0dXJlIHF1ZXVlIiwgRElTUEFUQ0hfUVVFVUVfU0VSSUFMKTsKLSAg
ICB9KTsKLSAgICByZXR1cm4gZ2xvYmFsUXVldWU7Ci19Ci0KLXN0YXRpYyBkaXNwYXRjaF9xdWV1
ZV90IGdsb2JhVmlkZW9DYXB0dXJlU2VyaWFsUXVldWUoKQotewotICAgIHN0YXRpYyBkaXNwYXRj
aF9xdWV1ZV90IGdsb2JhbFF1ZXVlOwotICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZVRv
a2VuOwotICAgIGRpc3BhdGNoX29uY2UoJm9uY2VUb2tlbiwgXnsKLSAgICAgICAgZ2xvYmFsUXVl
dWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGVfd2l0aF90YXJnZXQoIldlYkNvcmVBVk1lZGlhQ2Fw
dHVyZVNvdXJjZSB2aWRlbyBjYXB0dXJlIHF1ZXVlIiwgRElTUEFUQ0hfUVVFVUVfU0VSSUFMLCBk
aXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BBVENIX1FVRVVFX1BSSU9SSVRZX0hJR0gsIDAp
KTsKLSAgICB9KTsKLSAgICByZXR1cm4gZ2xvYmFsUXVldWU7Ci19Ci0KLUFWTWVkaWFDYXB0dXJl
U291cmNlOjpBVk1lZGlhQ2FwdHVyZVNvdXJjZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZp
Y2UsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlw
ZSkKLSAgICA6IFJlYWx0aW1lTWVkaWFTb3VyY2UoaWQsIHR5cGUsIGRldmljZS5sb2NhbGl6ZWRO
YW1lKQotICAgICwgbV9vYmpjT2JzZXJ2ZXIoYWRvcHROUyhbW1dlYkNvcmVBVk1lZGlhQ2FwdHVy
ZVNvdXJjZU9ic2VydmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXNdKSkKLSAgICAsIG1f
ZGV2aWNlKGRldmljZSkKLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHN0YXRpY19h
c3NlcnQoc3RhdGljX2Nhc3Q8aW50PihJbnRlcnJ1cHRpb25SZWFzb246OlZpZGVvTm90QWxsb3dl
ZEluQmFja2dyb3VuZCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBVkNhcHR1cmVTZXNzaW9uSW50ZXJy
dXB0aW9uUmVhc29uVmlkZW9EZXZpY2VOb3RBdmFpbGFibGVJbkJhY2tncm91bmQpLCAiSW50ZXJy
dXB0aW9uUmVhc29uOjpWaWRlb05vdEFsbG93ZWRJbkJhY2tncm91bmQgaXMgbm90IEFWQ2FwdHVy
ZVNlc3Npb25JbnRlcnJ1cHRpb25SZWFzb25WaWRlb0RldmljZU5vdEF2YWlsYWJsZUluQmFja2dy
b3VuZCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8aW50PihJ
bnRlcnJ1cHRpb25SZWFzb246OlZpZGVvTm90QWxsb3dlZEluU2lkZUJ5U2lkZSkgPT0gQVZDYXB0
dXJlU2Vzc2lvbkludGVycnVwdGlvblJlYXNvblZpZGVvRGV2aWNlTm90QXZhaWxhYmxlV2l0aE11
bHRpcGxlRm9yZWdyb3VuZEFwcHMsICJJbnRlcnJ1cHRpb25SZWFzb246OlZpZGVvTm90QWxsb3dl
ZEluU2lkZUJ5U2lkZSBpcyBub3QgQVZDYXB0dXJlU2Vzc2lvbkludGVycnVwdGlvblJlYXNvblZp
ZGVvRGV2aWNlTm90QXZhaWxhYmxlV2l0aE11bHRpcGxlRm9yZWdyb3VuZEFwcHMgYXMgZXhwZWN0
ZWQiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PGludD4oSW50ZXJydXB0aW9uUmVh
c29uOjpWaWRlb0luVXNlKSA9PSBBVkNhcHR1cmVTZXNzaW9uSW50ZXJydXB0aW9uUmVhc29uVmlk
ZW9EZXZpY2VJblVzZUJ5QW5vdGhlckNsaWVudCwgIkludGVycnVwdGlvblJlYXNvbjo6VmlkZW9J
blVzZSBpcyBub3QgQVZDYXB0dXJlU2Vzc2lvbkludGVycnVwdGlvblJlYXNvblZpZGVvRGV2aWNl
SW5Vc2VCeUFub3RoZXJDbGllbnQgYXMgZXhwZWN0ZWQiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0
YXRpY19jYXN0PGludD4oSW50ZXJydXB0aW9uUmVhc29uOjpBdWRpb0luVXNlKSA9PSBBVkNhcHR1
cmVTZXNzaW9uSW50ZXJydXB0aW9uUmVhc29uQXVkaW9EZXZpY2VJblVzZUJ5QW5vdGhlckNsaWVu
dCwgIkludGVycnVwdGlvblJlYXNvbjo6QXVkaW9JblVzZSBpcyBub3QgQVZDYXB0dXJlU2Vzc2lv
bkludGVycnVwdGlvblJlYXNvbkF1ZGlvRGV2aWNlSW5Vc2VCeUFub3RoZXJDbGllbnQgYXMgZXhw
ZWN0ZWQiKTsKLSNlbmRpZgotICAgIAotICAgIHNldFBlcnNpc3RlbnRJRChTdHJpbmcoZGV2aWNl
LnVuaXF1ZUlEKSk7Ci19Ci0KLUFWTWVkaWFDYXB0dXJlU291cmNlOjp+QVZNZWRpYUNhcHR1cmVT
b3VyY2UoKQotewotICAgIFttX29iamNPYnNlcnZlciBkaXNjb25uZWN0XTsKLQotICAgIGlmICgh
bV9zZXNzaW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3IgKE5TU3RyaW5nICprZXlOYW1l
IGluIHNlc3Npb25LVk9Qcm9wZXJ0aWVzKCkpCi0gICAgICAgIFttX3Nlc3Npb24gcmVtb3ZlT2Jz
ZXJ2ZXI6bV9vYmpjT2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDprZXlOYW1lXTsKLQotICAgIGlm
IChbbV9zZXNzaW9uIGlzUnVubmluZ10pCi0gICAgICAgIFttX3Nlc3Npb24gc3RvcFJ1bm5pbmdd
OwotCi19Ci0KLXZvaWQgQVZNZWRpYUNhcHR1cmVTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgp
Ci17Ci0gICAgaWYgKCFtX3Nlc3Npb24pIHsKLSAgICAgICAgaWYgKCFzZXR1cFNlc3Npb24oKSkK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoW21fc2Vzc2lvbiBpc1J1bm5p
bmddKQotICAgICAgICByZXR1cm47Ci0KLSAgICBbbV9vYmpjT2JzZXJ2ZXIgYWRkTm90aWZpY2F0
aW9uT2JzZXJ2ZXJzXTsKLSAgICBbbV9zZXNzaW9uIHN0YXJ0UnVubmluZ107Ci19Ci0KLXZvaWQg
QVZNZWRpYUNhcHR1cmVTb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKLXsKLSAgICBpZiAoIW1f
c2Vzc2lvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgW21fb2JqY09ic2VydmVyIHJlbW92ZU5v
dGlmaWNhdGlvbk9ic2VydmVyc107Ci0KLSAgICBpZiAoW21fc2Vzc2lvbiBpc1J1bm5pbmddKQot
ICAgICAgICBbbV9zZXNzaW9uIHN0b3BSdW5uaW5nXTsKLQotICAgIG1faW50ZXJydXB0aW9uID0g
SW50ZXJydXB0aW9uUmVhc29uOjpOb25lOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
bV9zZXNzaW9uID0gbnVsbHB0cjsKLSNlbmRpZgotfQotCi12b2lkIEFWTWVkaWFDYXB0dXJlU291
cmNlOjpiZWdpbkNvbmZpZ3VyYXRpb24oKQotewotICAgIGlmIChtX3Nlc3Npb24pCi0gICAgICAg
IFttX3Nlc3Npb24gYmVnaW5Db25maWd1cmF0aW9uXTsKLX0KLQotdm9pZCBBVk1lZGlhQ2FwdHVy
ZVNvdXJjZTo6Y29tbWl0Q29uZmlndXJhdGlvbigpCi17Ci0gICAgaWYgKG1fc2Vzc2lvbikKLSAg
ICAgICAgW21fc2Vzc2lvbiBjb21taXRDb25maWd1cmF0aW9uXTsKLX0KLQotdm9pZCBBVk1lZGlh
Q2FwdHVyZVNvdXJjZTo6aW5pdGlhbGl6ZVNldHRpbmdzKCkKLXsKLSAgICBpZiAobV9jdXJyZW50
U2V0dGluZ3MuZGV2aWNlSWQoKS5pc0VtcHR5KCkpCi0gICAgICAgIG1fY3VycmVudFNldHRpbmdz
LnNldFN1cHBvcnRlZENvbnN0cmFpbnRzKHN1cHBvcnRlZENvbnN0cmFpbnRzKCkpOwotCi0gICAg
bV9jdXJyZW50U2V0dGluZ3Muc2V0RGV2aWNlSWQoaWQoKSk7Ci0gICAgdXBkYXRlU2V0dGluZ3Mo
bV9jdXJyZW50U2V0dGluZ3MpOwotfQotCi1jb25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0dGlu
Z3MmIEFWTWVkaWFDYXB0dXJlU291cmNlOjpzZXR0aW5ncygpIGNvbnN0Ci17Ci0gICAgY29uc3Rf
Y2FzdDxBVk1lZGlhQ2FwdHVyZVNvdXJjZSY+KCp0aGlzKS5pbml0aWFsaXplU2V0dGluZ3MoKTsK
LSAgICByZXR1cm4gbV9jdXJyZW50U2V0dGluZ3M7Ci19Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VT
dXBwb3J0ZWRDb25zdHJhaW50cyYgQVZNZWRpYUNhcHR1cmVTb3VyY2U6OnN1cHBvcnRlZENvbnN0
cmFpbnRzKCkKLXsKLSAgICBpZiAobV9zdXBwb3J0ZWRDb25zdHJhaW50cy5zdXBwb3J0c0Rldmlj
ZUlkKCkpCi0gICAgICAgIHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzOwotCi0gICAgbV9z
dXBwb3J0ZWRDb25zdHJhaW50cy5zZXRTdXBwb3J0c0RldmljZUlkKHRydWUpOwotICAgIGluaXRp
YWxpemVTdXBwb3J0ZWRDb25zdHJhaW50cyhtX3N1cHBvcnRlZENvbnN0cmFpbnRzKTsKLQotICAg
IHJldHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzOwotfQotCi12b2lkIEFWTWVkaWFDYXB0dXJl
U291cmNlOjppbml0aWFsaXplQ2FwYWJpbGl0aWVzKCkKLXsKLSAgICBtX2NhcGFiaWxpdGllcyA9
IHN0ZDo6bWFrZV91bmlxdWU8UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcz4oc3VwcG9y
dGVkQ29uc3RyYWludHMoKSk7Ci0gICAgbV9jYXBhYmlsaXRpZXMtPnNldERldmljZUlkKGlkKCkp
OwotCi0gICAgaW5pdGlhbGl6ZUNhcGFiaWxpdGllcygqbV9jYXBhYmlsaXRpZXMuZ2V0KCkpOwot
fQotCi1jb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBBVk1lZGlhQ2FwdHVy
ZVNvdXJjZTo6Y2FwYWJpbGl0aWVzKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fY2FwYWJpbGl0aWVz
KQotICAgICAgICBjb25zdF9jYXN0PEFWTWVkaWFDYXB0dXJlU291cmNlJj4oKnRoaXMpLmluaXRp
YWxpemVDYXBhYmlsaXRpZXMoKTsKLSAgICByZXR1cm4gKm1fY2FwYWJpbGl0aWVzOwotfQotCi1i
b29sIEFWTWVkaWFDYXB0dXJlU291cmNlOjpzZXR1cFNlc3Npb24oKQotewotICAgIGlmIChtX3Nl
c3Npb24pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgbV9zZXNzaW9uID0gYWRvcHROUyhb
YWxsb2NBVkNhcHR1cmVTZXNzaW9uSW5zdGFuY2UoKSBpbml0XSk7Ci0gICAgZm9yIChOU1N0cmlu
Zyoga2V5TmFtZSBpbiBzZXNzaW9uS1ZPUHJvcGVydGllcygpKQotICAgICAgICBbbV9zZXNzaW9u
IGFkZE9ic2VydmVyOm1fb2JqY09ic2VydmVyLmdldCgpIGZvcktleVBhdGg6a2V5TmFtZSBvcHRp
b25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDoodm9pZCAqKW5pbF07Ci0K
LSAgICBbbV9zZXNzaW9uIGJlZ2luQ29uZmlndXJhdGlvbl07Ci0gICAgYm9vbCBzdWNjZXNzID0g
c2V0dXBDYXB0dXJlU2Vzc2lvbigpOwotICAgIFttX3Nlc3Npb24gY29tbWl0Q29uZmlndXJhdGlv
bl07Ci0KLSAgICBpZiAoIXN1Y2Nlc3MpCi0gICAgICAgIGNhcHR1cmVGYWlsZWQoKTsKLQotICAg
IHJldHVybiBzdWNjZXNzOwotfQotCi12b2lkIEFWTWVkaWFDYXB0dXJlU291cmNlOjpjYXB0dXJl
U2Vzc2lvbklzUnVubmluZ0RpZENoYW5nZShib29sIHN0YXRlKQotewotICAgIHNjaGVkdWxlRGVm
ZXJyZWRUYXNrKFt0aGlzLCBzdGF0ZV0gewotICAgICAgICBpZiAoKHN0YXRlID09IG1faXNSdW5u
aW5nKSAmJiAoc3RhdGUgPT0gIW11dGVkKCkpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIG1faXNSdW5uaW5nID0gc3RhdGU7Ci0gICAgICAgIG5vdGlmeU11dGVkQ2hhbmdlKCFtX2lz
UnVubmluZyk7Ci0gICAgfSk7Ci19Ci0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBB
Vk1lZGlhQ2FwdHVyZVNvdXJjZTo6Y2FwdHVyZVNlc3Npb25SdW50aW1lRXJyb3IoUmV0YWluUHRy
PE5TRXJyb3I+IGVycm9yKQotewotICAgIGlmICghbV9pc1J1bm5pbmcgfHwgZXJyb3IuZ2V0KCku
Y29kZSAhPSBBVkVycm9yTWVkaWFTZXJ2aWNlc1dlcmVSZXNldCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgLy8gVHJ5IHRvIHJlc3RhcnQgdGhlIHNlc3Npb24sIGJ1dCByZXNldCBtX2lzUnVubmlu
ZyBpbW1lZGlhdGVseSBzbyBpZiBpdCBmYWlscyB3ZSB3b24ndCB0cnkgYWdhaW4uCi0gICAgW21f
c2Vzc2lvbiBzdGFydFJ1bm5pbmddOwotICAgIG1faXNSdW5uaW5nID0gW21fc2Vzc2lvbiBpc1J1
bm5pbmddOwotfQotCi12b2lkIEFWTWVkaWFDYXB0dXJlU291cmNlOjpjYXB0dXJlU2Vzc2lvbkJl
Z2luSW50ZXJydXB0aW9uKFJldGFpblB0cjxOU05vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uKQot
ewotICAgIG1faW50ZXJydXB0aW9uID0gc3RhdGljX2Nhc3Q8QVZNZWRpYUNhcHR1cmVTb3VyY2U6
OkludGVycnVwdGlvblJlYXNvbj4oW25vdGlmaWNhdGlvbi5nZXQoKS51c2VySW5mb1tBVkNhcHR1
cmVTZXNzaW9uSW50ZXJydXB0aW9uUmVhc29uS2V5XSBpbnRlZ2VyVmFsdWVdKTsKLX0KLQotdm9p
ZCBBVk1lZGlhQ2FwdHVyZVNvdXJjZTo6Y2FwdHVyZVNlc3Npb25FbmRJbnRlcnJ1cHRpb24oUmV0
YWluUHRyPE5TTm90aWZpY2F0aW9uPikKLXsKLSAgICBJbnRlcnJ1cHRpb25SZWFzb24gcmVhc29u
ID0gbV9pbnRlcnJ1cHRpb247Ci0KLSAgICBtX2ludGVycnVwdGlvbiA9IEludGVycnVwdGlvblJl
YXNvbjo6Tm9uZTsKLSAgICBpZiAocmVhc29uICE9IEludGVycnVwdGlvblJlYXNvbjo6VmlkZW9O
b3RBbGxvd2VkSW5TaWRlQnlTaWRlIHx8IG1faXNSdW5uaW5nIHx8ICFtX3Nlc3Npb24pCi0gICAg
ICAgIHJldHVybjsKLQotICAgIFttX3Nlc3Npb24gc3RhcnRSdW5uaW5nXTsKLSAgICBtX2lzUnVu
bmluZyA9IFttX3Nlc3Npb24gaXNSdW5uaW5nXTsKLX0KLSNlbmRpZgotCi12b2lkIEFWTWVkaWFD
YXB0dXJlU291cmNlOjpzZXRWaWRlb1NhbXBsZUJ1ZmZlckRlbGVnYXRlKEFWQ2FwdHVyZVZpZGVv
RGF0YU91dHB1dFR5cGUqIHZpZGVvT3V0cHV0KQotewotICAgIFt2aWRlb091dHB1dCBzZXRTYW1w
bGVCdWZmZXJEZWxlZ2F0ZTptX29iamNPYnNlcnZlci5nZXQoKSBxdWV1ZTpnbG9iYVZpZGVvQ2Fw
dHVyZVNlcmlhbFF1ZXVlKCldOwotfQotCi12b2lkIEFWTWVkaWFDYXB0dXJlU291cmNlOjpzZXRB
dWRpb1NhbXBsZUJ1ZmZlckRlbGVnYXRlKEFWQ2FwdHVyZUF1ZGlvRGF0YU91dHB1dFR5cGUqIGF1
ZGlvT3V0cHV0KQotewotICAgIFthdWRpb091dHB1dCBzZXRTYW1wbGVCdWZmZXJEZWxlZ2F0ZTpt
X29iamNPYnNlcnZlci5nZXQoKSBxdWV1ZTpnbG9iYUF1ZGlvQ2FwdHVyZVNlcmlhbFF1ZXVlKCld
OwotfQotCi1ib29sIEFWTWVkaWFDYXB0dXJlU291cmNlOjppbnRlcnJ1cHRlZCgpIGNvbnN0Ci17
Ci0gICAgaWYgKG1faW50ZXJydXB0aW9uICE9IEludGVycnVwdGlvblJlYXNvbjo6Tm9uZSkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6aW50
ZXJydXB0ZWQoKTsKLX0KLQotTlNBcnJheTxOU1N0cmluZyo+KiBzZXNzaW9uS1ZPUHJvcGVydGll
cygpCi17Ci0gICAgc3RhdGljIE5TQXJyYXkqIGtleXMgPSBbQFtAInJ1bm5pbmciXSByZXRhaW5d
OwotICAgIHJldHVybiBrZXlzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLUBpbXBs
ZW1lbnRhdGlvbiBXZWJDb3JlQVZNZWRpYUNhcHR1cmVTb3VyY2VPYnNlcnZlcgotCi0tIChpZClp
bml0V2l0aENhbGxiYWNrOihBVk1lZGlhQ2FwdHVyZVNvdXJjZSopY2FsbGJhY2sKLXsKLSAgICBz
ZWxmID0gW3N1cGVyIGluaXRdOwotICAgIGlmICghc2VsZikKLSAgICAgICAgcmV0dXJuIG5pbDsK
LQotICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFjazsKLQotICAgIHJldHVybiBzZWxmOwotfQotCi0t
ICh2b2lkKWRpc2Nvbm5lY3QKLXsKLSAgICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQZXJmb3Jt
UmVxdWVzdHNXaXRoVGFyZ2V0OnNlbGZdOwotICAgIFtzZWxmIHJlbW92ZU5vdGlmaWNhdGlvbk9i
c2VydmVyc107Ci0gICAgbV9jYWxsYmFjayA9IG51bGxwdHI7Ci19Ci0KLS0gKHZvaWQpYWRkTm90
aWZpY2F0aW9uT2JzZXJ2ZXJzCi17Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBBU1NF
UlQobV9jYWxsYmFjayk7Ci0KLSAgICBOU05vdGlmaWNhdGlvbkNlbnRlciogY2VudGVyID0gW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwotICAgIEFWQ2FwdHVyZVNlc3Npb25U
eXBlKiBzZXNzaW9uID0gbV9jYWxsYmFjay0+c2Vzc2lvbigpOwotCi0gICAgW2NlbnRlciBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihzZXNzaW9uUnVudGltZUVycm9yOikgbmFt
ZTpBVkNhcHR1cmVTZXNzaW9uUnVudGltZUVycm9yTm90aWZpY2F0aW9uIG9iamVjdDpzZXNzaW9u
XTsKLSAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGJlZ2lu
U2Vzc2lvbkludGVycnVwdGVkOikgbmFtZTpBVkNhcHR1cmVTZXNzaW9uV2FzSW50ZXJydXB0ZWRO
b3RpZmljYXRpb24gb2JqZWN0OnNlc3Npb25dOwotICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2Vs
ZiBzZWxlY3RvcjpAc2VsZWN0b3IoZW5kU2Vzc2lvbkludGVycnVwdGVkOikgbmFtZTpBVkNhcHR1
cmVTZXNzaW9uSW50ZXJydXB0aW9uRW5kZWROb3RpZmljYXRpb24gb2JqZWN0OnNlc3Npb25dOwot
I2VuZGlmCi19Ci0KLS0gKHZvaWQpcmVtb3ZlTm90aWZpY2F0aW9uT2JzZXJ2ZXJzCi17Ci0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGZdOwotI2VuZGlmCi19Ci0KLS0gKHZvaWQpY2FwdHVy
ZU91dHB1dDooQVZDYXB0dXJlT3V0cHV0VHlwZSopY2FwdHVyZU91dHB1dCBkaWRPdXRwdXRTYW1w
bGVCdWZmZXI6KENNU2FtcGxlQnVmZmVyUmVmKXNhbXBsZUJ1ZmZlciBmcm9tQ29ubmVjdGlvbjoo
QVZDYXB0dXJlQ29ubmVjdGlvblR5cGUqKWNvbm5lY3Rpb24KLXsKLSAgICBpZiAoIW1fY2FsbGJh
Y2spCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fY2FsbGJhY2stPmNhcHR1cmVPdXRwdXREaWRP
dXRwdXRTYW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihjYXB0dXJlT3V0cHV0LCBzYW1wbGVCdWZm
ZXIsIGNvbm5lY3Rpb24pOwotfQotCi0tICh2b2lkKW9ic2VydmVWYWx1ZUZvcktleVBhdGg6a2V5
UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0aW9uYXJ5KiljaGFuZ2UgY29u
dGV4dDoodm9pZCopY29udGV4dAotewotICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOwotICAgIFVO
VVNFRF9QQVJBTShjb250ZXh0KTsKLQotICAgIGlmICghbV9jYWxsYmFjaykKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgaWQgbmV3VmFsdWUgPSBbY2hhbmdlIHZhbHVlRm9yS2V5Ok5TS2V5VmFsdWVD
aGFuZ2VOZXdLZXldOwotCi0jaWYgIUxPR19ESVNBQkxFRAotICAgIGJvb2wgd2lsbENoYW5nZSA9
IFtbY2hhbmdlIHZhbHVlRm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOb3RpZmljYXRpb25Jc1ByaW9y
S2V5XSBib29sVmFsdWVdOwotCi0gICAgaWYgKHdpbGxDaGFuZ2UpCi0gICAgICAgIExPRyhNZWRp
YSwgIldlYkNvcmVBVk1lZGlhQ2FwdHVyZVNvdXJjZU9ic2VydmVyOjpvYnNlcnZlVmFsdWVGb3JL
ZXlQYXRoKCVwKSAtIHdpbGwgY2hhbmdlLCBrZXlQYXRoID0gJXMiLCBzZWxmLCBba2V5UGF0aCBV
VEY4U3RyaW5nXSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gdmFs
dWVTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJUAi
LCBuZXdWYWx1ZV0pOwotICAgICAgICBMT0coTWVkaWEsICJXZWJDb3JlQVZNZWRpYUNhcHR1cmVT
b3VyY2VPYnNlcnZlcjo6b2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aCglcCkgLSBkaWQgY2hhbmdlLCBr
ZXlQYXRoID0gJXMsIHZhbHVlID0gJXMiLCBzZWxmLCBba2V5UGF0aCBVVEY4U3RyaW5nXSwgW3Zh
bHVlU3RyaW5nLmdldCgpIFVURjhTdHJpbmddKTsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGlmIChb
a2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJydW5uaW5nIl0pCi0gICAgICAgIG1fY2FsbGJhY2st
PmNhcHR1cmVTZXNzaW9uSXNSdW5uaW5nRGlkQ2hhbmdlKFtuZXdWYWx1ZSBib29sVmFsdWVdKTsK
LX0KLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0tICh2b2lkKXNlc3Npb25SdW50aW1lRXJy
b3I6KE5TTm90aWZpY2F0aW9uKilub3RpZmljYXRpb24KLXsKLSAgICBOU0Vycm9yICplcnJvciA9
IG5vdGlmaWNhdGlvbi51c2VySW5mb1tBVkNhcHR1cmVTZXNzaW9uRXJyb3JLZXldOwotICAgIExP
RyhNZWRpYSwgIldlYkNvcmVBVk1lZGlhQ2FwdHVyZVNvdXJjZU9ic2VydmVyOjpzZXNzaW9uUnVu
dGltZUVycm9yKCVwKSAtIGVycm9yID0gJXMiLCBzZWxmLCBbW2Vycm9yIGxvY2FsaXplZERlc2Ny
aXB0aW9uXSBVVEY4U3RyaW5nXSk7Ci0KLSAgICBpZiAobV9jYWxsYmFjaykKLSAgICAgICAgbV9j
YWxsYmFjay0+Y2FwdHVyZVNlc3Npb25SdW50aW1lRXJyb3IoZXJyb3IpOwotfQotCi0tKHZvaWQp
YmVnaW5TZXNzaW9uSW50ZXJydXB0ZWQ6KE5TTm90aWZpY2F0aW9uKilub3RpZmljYXRpb24KLXsK
LSAgICBMT0coTWVkaWEsICJXZWJDb3JlQVZNZWRpYUNhcHR1cmVTb3VyY2VPYnNlcnZlcjo6YmVn
aW5TZXNzaW9uSW50ZXJydXB0ZWQoJXApIC0gcmVhc29uID0gJWQiLCBzZWxmLCBbbm90aWZpY2F0
aW9uLnVzZXJJbmZvW0FWQ2FwdHVyZVNlc3Npb25JbnRlcnJ1cHRpb25SZWFzb25LZXldIGludGVn
ZXJWYWx1ZV0pOwotCi0gICAgaWYgKG1fY2FsbGJhY2spCi0gICAgICAgIG1fY2FsbGJhY2stPmNh
cHR1cmVTZXNzaW9uQmVnaW5JbnRlcnJ1cHRpb24obm90aWZpY2F0aW9uKTsKLX0KLQotLSAodm9p
ZCllbmRTZXNzaW9uSW50ZXJydXB0ZWQ6KE5TTm90aWZpY2F0aW9uKilub3RpZmljYXRpb24KLXsK
LSAgICBMT0coTWVkaWEsICJXZWJDb3JlQVZNZWRpYUNhcHR1cmVTb3VyY2VPYnNlcnZlcjo6ZW5k
U2Vzc2lvbkludGVycnVwdGVkKCVwKSIsIHNlbGYpOwotCi0gICAgaWYgKG1fY2FsbGJhY2spCi0g
ICAgICAgIG1fY2FsbGJhY2stPmNhcHR1cmVTZXNzaW9uRW5kSW50ZXJydXB0aW9uKG5vdGlmaWNh
dGlvbik7Ci19Ci0jZW5kaWYKLQotQGVuZAotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk0MTgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEyLTE5ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVzdXJyZWN0
IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKwogMjAxOC0xMi0xOSAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgZGVsZWdhdGUgaW5zdGVh
ZCBvZiBkcmF3aW5nRGVsZWdhdGUgaW4gV0tEcmF3aW5nVmlldwpJbmRleDogU291cmNlL1dlYktp
dC9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
TWFjLmNtYWtlCShyZXZpc2lvbiAyMzk0MDgpCisrKyBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFj
LmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC05NSw4ICs5NSw2IEBAIGxpc3QoQVBQRU5EIFdlYktp
dF9TT1VSQ0VTCiAgICAgU2hhcmVkL0FQSS9jL21hYy9XS1dlYkFyY2hpdmUuY3BwCiAgICAgU2hh
cmVkL0FQSS9jL21hYy9XS1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAKIAotICAgIFNoYXJlZC9BdXRo
ZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQotCiAgICAgU2hhcmVk
L0NvY29hL0FQSURhdGFDb2NvYS5tbQogICAgIFNoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KICAg
ICBTaGFyZWQvQ29jb2EvQ2hpbGRQcm9jZXNzQ29jb2EubW0KQEAgLTEzNyw3ICsxMzUsNiBAQCBs
aXN0KEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIFNoYXJlZC9tYWMvQ2hpbGRQcm9jZXNzTWFj
Lm1tCiAgICAgU2hhcmVkL21hYy9Db2RlU2lnbmluZy5tbQogICAgIFNoYXJlZC9tYWMvQ29sb3JT
cGFjZURhdGEubW0KLSAgICBTaGFyZWQvbWFjL0Nvb2tpZVN0b3JhZ2VTaGltTGlicmFyeS5jcHAK
ICAgICBTaGFyZWQvbWFjL0hhbmdEZXRlY3Rpb25EaXNhYmxlck1hYy5tbQogICAgIFNoYXJlZC9t
YWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCiAgICAgU2hhcmVkL21hYy9OYXRpdmVXZWJL
ZXlib2FyZEV2ZW50TWFjLm1tCkBAIC0yNjMsNyArMjYwLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0
X1NPVVJDRVMKICAgICBVSVByb2Nlc3MvQ29jb2EvV2ViUGFzdGVib2FyZFByb3h5Q29jb2EubW0K
ICAgICBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQogICAgIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQotICAgIFVJUHJvY2Vzcy9Db2NvYS9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVDb2NvYS5tbQogICAgIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EubW0KICAgICBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwubW0KIApAQCAtMjcxLDggKzI2Nyw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAK
ICAgICBVSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyUHJveHkuY3BwCiAKLSAgICBVSVByb2Nlc3MvTmV0d29yay9tYWMvTmV0d29ya1By
b2Nlc3NQcm94eU1hYy5tbQotCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9T
dG9yZU1hYy5tbQogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ck1hYy5tbQogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMu
bW0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzk0MDgpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisy
MDE4LTEyLTE5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVzdXJyZWN0IE1hYyBDTWFrZSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKwogMjAxOC0x
Mi0xMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAg
ICBbV2luXVtXZWJLaXRMZWdhY3ldW0NsYW5nXSBXZWJLaXQuaCB3YXJuaW5nOiAnSVdlYkVkaXRp
bmdEZWxlZ2F0ZTI6OnNob3VsZEluc2VydE5vZGUnIGhpZGVzIG92ZXJsb2FkZWQgdmlydHVhbCBm
dW5jdGlvbiBbLVdvdmVybG9hZGVkLXZpcnR1YWxdCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L1BsYXRmb3JtTWFjLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvUGxh
dGZvcm1NYWMuY21ha2UJKHJldmlzaW9uIDIzOTQwOCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
UGxhdGZvcm1NYWMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTYsMjMgKzYsMjAgQEAgYWRkX2Rl
ZmluaXRpb25zKC1pZnJhbWV3b3JrICR7QVBQTElDQVRJTwogbGlzdChBUFBFTkQgV2ViS2l0TGVn
YWN5X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUTEVH
QUNZX0RJUn0iCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vV2ViS2l0TGlicmFyaWVzIgotKQot
Ci1saXN0KEFQUEVORCBXZWJLaXRMZWdhY3lfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAg
ICBtYWMKLSAgICBtYWMvQ2FyYm9uCi0gICAgbWFjL0RlZmF1bHREZWxlZ2F0ZXMKLSAgICBtYWMv
RE9NCi0gICAgbWFjL0hpc3RvcnkKLSAgICBtYWMvaWN1Ci0gICAgbWFjL01pc2MKLSAgICBtYWMv
UGFuZWxzCi0gICAgbWFjL1BsdWdpbnMKLSAgICBtYWMvUGx1Z2lucy9Ib3N0ZWQKLSAgICBtYWMv
U3RvcmFnZQotICAgIG1hYy9XZWJDb3JlU3VwcG9ydAotICAgIG1hYy9XZWJJbnNwZWN0b3IKLSAg
ICBtYWMvV2ViVmlldworICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYyIKKyAgICAiJHtXRUJL
SVRMRUdBQ1lfRElSfS9tYWMvQ2FyYm9uIgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9E
ZWZhdWx0RGVsZWdhdGVzIgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9ET00iCisgICAg
IiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFjL0hpc3RvcnkiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJ
Un0vbWFjL2ljdSIKKyAgICAiJHtXRUJLSVRMRUdBQ1lfRElSfS9tYWMvTWlzYyIKKyAgICAiJHtX
RUJLSVRMRUdBQ1lfRElSfS9tYWMvUGFuZWxzIgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21h
Yy9QbHVnaW5zIgorICAgICIke1dFQktJVExFR0FDWV9ESVJ9L21hYy9QbHVnaW5zL0hvc3RlZCIK
KyAgICAiJHtXRUJLSVRMRUdBQ1lfRElSfS9tYWMvU3RvcmFnZSIKKyAgICAiJHtXRUJLSVRMRUdB
Q1lfRElSfS9tYWMvV2ViQ29yZVN1cHBvcnQiCisgICAgIiR7V0VCS0lUTEVHQUNZX0RJUn0vbWFj
L1dlYkluc3BlY3RvciIKKyAgICAiJHtXRUJLSVRMRUdBQ1lfRElSfS9tYWMvV2ViVmlldyIKICkK
IAogbGlzdChBUFBFTkQgV2ViS2l0TGVnYWN5X1NPVVJDRVMKQEAgLTI3MSw3ICsyNjgsNiBAQCBs
aXN0KEFQUEVORCBXZWJLaXRMZWdhY3lfU09VUkNFUwogICAgIG1hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQubW0KICAgICBtYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2Vj
dXJpdHlPcmlnaW4ubW0KICAgICBtYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VsZWN0aW9uU2Vydmlj
ZUNvbnRyb2xsZXIubW0KLSAgICBtYWMvV2ViQ29yZVN1cHBvcnQvV2ViVXNlck1lZGlhQ2xpZW50
Lm1tCiAgICAgbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50Lm1t
CiAgICAgbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZpc2l0ZWRMaW5rU3RvcmUubW0KIApJbmRleDog
U291cmNlL2NtYWtlL09wdGlvbnNNYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtl
L09wdGlvbnNNYWMuY21ha2UJKHJldmlzaW9uIDIzOTQwOCkKKysrIFNvdXJjZS9jbWFrZS9PcHRp
b25zTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOSArMjcsMjIgQEAgV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFXwogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEggUFJJVkFURSBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUgUFJJVkFURSBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBIFBSSVZBVEUgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfTEVUVEVSUFJFU1MgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9MRVRURVJQUkVTUyBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9NRURJQV9TT1VSQ0UgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NRU1PUllfU0FNUExFUiBQUklWQVRFIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BE
RktJVF9QTFVHSU4gUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSBQUklWQVRFIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JVQkJFUl9CQU5ESU5HIFBS
SVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0VSVklD
RV9DT05UUk9MUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTiBQUklWQVRFIE9O
KQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfV0VCR0wyIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfV0VCR1BVIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfV0VCTUVUQUwgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgUFJJVkFURSBPTikKIAog
IyBGSVhNRTogVGhlc2UgYXJlIHR1cm5lZCBvZmYgdGVtcG9yYXJpbHkgdG8gZ2V0IENNYWtlIHdv
cmtpbmcgZWFzaWVyLiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNTg1NgpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjM5NDE4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTItMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXN1cnJlY3QgTWFjIENNYWtlIGJ1aWxkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI2NTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIE1pbmlCcm93c2VyL21hYy9DTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtTWFjLmNtYWtlOgor
CiAyMDE4LTEyLTE5ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDYxOTQzMTU+IG1hY09TOiBXZWJLaXQxIGRvZXMgbm90
IGhhbmRsZSBvY2NsdXNpb24gY2hhbmdlcwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvUGxh
dGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvUGxhdGZv
cm1NYWMuY21ha2UJKHJldmlzaW9uIDIzOTQwOCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Bs
YXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw3ICs3Nyw2IEBAIGxpc3QoQVBQ
RU5EIER1bXBSZW5kZXJUcmVlX09iakNwcF9TT1VSQ0UKICAgICBtYWMvRHVtcFJlbmRlclRyZWVE
cmFnZ2luZ0luZm8ubW0KICAgICBtYWMvRHVtcFJlbmRlclRyZWVNYWluLm1tCiAgICAgbWFjL0R1
bXBSZW5kZXJUcmVlUGFzdGVib2FyZC5tbQotICAgIG1hYy9EdW1wUmVuZGVyVHJlZVNwZWxsQ2hl
Y2tlci5tbQogICAgIG1hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5tbQogICAgIG1hYy9FZGl0aW5n
RGVsZWdhdGUubW0KICAgICBtYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQpJbmRleDogVG9v
bHMvTWluaUJyb3dzZXIvbWFjL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01p
bmlCcm93c2VyL21hYy9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjM5NDA4KQorKysgVG9vbHMv
TWluaUJyb3dzZXIvbWFjL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsx
Miw2IEBAIHNldChNaW5pQnJvd3Nlcl9TT1VSQ0VTCiAgICAgJHtNSU5JQlJPV1NFUl9ESVJ9L1dL
MkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KICAgICAke01JTklCUk9XU0VSX0RJUn0vbWFpbi5t
CiAgICAgJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL01CVG9vbGJhckl0ZW0ubQotICAgICR7VE9P
TFNfRElSfS9NaW5pQnJvd3Nlci9NaW5pQnJvd3NlcldlYlByb2Nlc3NQbHVnSW4ubQogKQogCiBz
ZXQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUwpJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybU1hYy5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtTWFjLmNtYWtlCShyZXZpc2lvbiAyMzk0MDgpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1BsYXRmb3JtTWFjLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw2IEBAIGxp
c3QoQVBQRU5EIFRlc3RXZWJLaXRBUElfTElCUkFSSUVTCiApCiAKIHNldChidW5kbGVfaGFybmVz
c19TT1VSQ0VTCi0gICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vY29jb2EvSW5zdGFuY2VNZXRob2RT
d2l6emxlci5tbQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L2NvY29hL1BsYXRmb3JtVXRpbGl0
aWVzQ29jb2EubW0KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9jb2NvYS9VdGlsaXRpZXNDb2Nv
YS5tbQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L21hYy9JbmplY3RlZEJ1bmRsZUNvbnRyb2xs
ZXJNYWMubW0K
</data>
<flag name="review"
          id="374728"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>