<?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>130645</bug_id>
          
          <creation_ts>2014-03-22 13:09:54 -0700</creation_ts>
          <short_desc>Clean up #includes by geometry classes</short_desc>
          <delta_ts>2014-03-23 13:09:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993550</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 13:09:54 -0700</bug_when>
    <thetext>Clean up #includes by geometry classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993552</commentid>
    <comment_count>1</comment_count>
      <attachid>227566</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 13:11:59 -0700</bug_when>
    <thetext>Created attachment 227566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993553</commentid>
    <comment_count>2</comment_count>
      <attachid>227566</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-03-22 13:15:33 -0700</bug_when>
    <thetext>Comment on attachment 227566
Patch

Great! r=me if it builds :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993561</commentid>
    <comment_count>3</comment_count>
      <attachid>227566</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-22 13:48:22 -0700</bug_when>
    <thetext>Comment on attachment 227566
Patch

Rejecting attachment 227566 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ang.1_0.compiler
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/AccessibilityMockObject.o accessibility/AccessibilityMockObject.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/AccessibilitySpinButton.o accessibility/AccessibilitySpinButton.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(7 failures)

Full output: http://webkit-queues.appspot.com/results/6569124461281280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993568</commentid>
    <comment_count>4</comment_count>
      <attachid>227571</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 14:14:53 -0700</bug_when>
    <thetext>Created attachment 227571
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993586</commentid>
    <comment_count>5</comment_count>
      <attachid>227579</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 16:55:26 -0700</bug_when>
    <thetext>Created attachment 227579
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993589</commentid>
    <comment_count>6</comment_count>
      <attachid>227582</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 17:10:57 -0700</bug_when>
    <thetext>Created attachment 227582
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993601</commentid>
    <comment_count>7</comment_count>
      <attachid>227588</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 17:58:27 -0700</bug_when>
    <thetext>Created attachment 227588
For EWS again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993604</commentid>
    <comment_count>8</comment_count>
      <attachid>227589</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 18:14:42 -0700</bug_when>
    <thetext>Created attachment 227589
Will it never end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993609</commentid>
    <comment_count>9</comment_count>
      <attachid>227591</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 18:29:54 -0700</bug_when>
    <thetext>Created attachment 227591
Apparently not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993612</commentid>
    <comment_count>10</comment_count>
      <attachid>227593</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 18:39:55 -0700</bug_when>
    <thetext>Created attachment 227593
Sigh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993614</commentid>
    <comment_count>11</comment_count>
      <attachid>227594</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 19:07:57 -0700</bug_when>
    <thetext>Created attachment 227594
Trying again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993623</commentid>
    <comment_count>12</comment_count>
      <attachid>227597</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 20:58:49 -0700</bug_when>
    <thetext>Created attachment 227597
Yep</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993637</commentid>
    <comment_count>13</comment_count>
      <attachid>227603</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 22:31:41 -0700</bug_when>
    <thetext>Created attachment 227603
We love you EFL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993642</commentid>
    <comment_count>14</comment_count>
      <attachid>227606</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-22 23:51:36 -0700</bug_when>
    <thetext>Created attachment 227606
We love you EFL even more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993646</commentid>
    <comment_count>15</comment_count>
      <attachid>227606</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-03-23 01:05:18 -0700</bug_when>
    <thetext>Comment on attachment 227606
We love you EFL even more

Sending her off to landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993647</commentid>
    <comment_count>16</comment_count>
      <attachid>227606</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-23 01:36:40 -0700</bug_when>
    <thetext>Comment on attachment 227606
We love you EFL even more

Clearing flags on attachment: 227606

Committed r166138: &lt;http://trac.webkit.org/changeset/166138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993648</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-23 01:36:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993683</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-23 13:09:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166139 is what I get by doing this before coffee.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227566</attachid>
            <date>2014-03-22 13:11:59 -0700</date>
            <delta_ts>2014-03-22 14:14:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130645-20140322131137.patch</filename>
            <type>text/plain</type>
            <size>27497</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYxNDU0OGViNjI3NjRl
NDdjMmI5M2MyZjk1YWVkZTUyZWYwZDdhNC4uM2UyNDcxYmQ2ZTEyNjMyMWQ3ZDdhYTlhZTY5MDRh
MjNmNDQ3NGJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKwogMjAxNC0wMy0yMiAgTWFydGluIEhvZG92YW4gIDxtaG9kb3ZhbkBpbmYudS1zemVnZWQu
aHU+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogc3RkOjppc2Zpbml0ZShudW0pIGluIFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggOTc1MDVmMGFhZDgwMmYzZGEzMzMwNGM0YzMwN2UzMDgzZjMw
M2Q5Yy4uOTM5Nzc4MjAzZjliZjkzNWEyNGM2MjQ5NzhkZmM3YmJhZjBlOGIxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NzY4LDYgKzU3NjgsOCBAQCBwbGF0Zm9ybV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250V2lkdGhWYXJp
YW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2Uu
aCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGll
cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCAzYjA1MmY4YmM4ZjEx
NDBiYzk3NzFlOTc4MzhjNzk5NGRiYjFlZjc2Li4xYjRjODAwMWU5NWM5N2I2NmEwYmM4NmIxMmFj
N2JiN2JjZDA0MTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKQEAgLTc4MDcsNiArNzgwNyw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250RmFzdFBhdGguY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZlYXR1cmVTZXR0aW5ncy5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UGxh
dGZvcm1EYXRhLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdy
YXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlbmVyYXRlZEltYWdlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoUGFnZVRyZWVOb2RlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYWRpZW50
LmNwcCIgLz4KQEAgLTE5MjU0LDYgKzE5MjU1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRTbW9vdGhpbmdNb2RlLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250VHJhaXRzTWFzay5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VuZXJhdGVkSW1h
Z2UuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
b21ldHJ5VXRpbGl0aWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxncmFwaGljc1xHbHlwaC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcR2x5cGhCdWZmZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoTWV0cmljc01hcC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4
IDhmZTVmZTE4MThlODZjMTM5N2NlNzEyMDZkNjdjZDBkNjM1YzExNDYuLjlkMjA0YTAzNGU1YTEz
MzIwZWU1NzNhOTdkYzEyNzg3ZjhkZjI5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ5MTEsNiArNDkx
MSw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5l
cmF0ZWRJbWFnZS5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcR2VvbWV0cnlVdGlsaXRpZXMuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1c
Z3JhcGhpY3M8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZsb2F0UmVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5w
bGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZTRkMDc1
NmM3OTMyNzY1ZDE5MGM0OGVkOGVhN2RkMGU4MjRjY2IuLjliODEyYjhhZjI5MmE4YWRkNTY3Zjc5
NWQxMmZkZWI5NDljNmRkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxNCw2ICs1MTQsOCBAQAogCQkwRkEyNEQ3OTE2MkRG
OTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzcxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLzsgfTsKIAkJMEZBMjREN0ExNjJERjkxOTAwQTNG
NEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkEyNEQ3ODE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NM
YXllclVwZGF0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkwRkE4OEVCRDE2QThEMUJEMDBGOTk5ODQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZBODhFQkMxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZU1hYy5tbSAqLzsgfTsKKwkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRp
bGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi87IH07
CisJCTBGQjYyNTJGMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNjI1MkQxOERFMUIx
NTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmggKi87IH07CiAJCTBGQjg4OTBBMTY3RDJG
QTEwMDEwQ0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8q
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGlu
Z1RyZWVTdGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lO
b2RlLm1tICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGUuY3BwICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAw
QTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQw
MEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEw
N0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNr
eU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYw
MDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JG
QTE4N0YzNzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMx
NUVGNjFGMzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBE
QUZGNEE0MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUx
QjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThE
RTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2
MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYy
NiAvKiBHbHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBH
bHlwaE1ldHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1
NjEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5w
dXRSZXN1bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdD
MDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZB
NEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QUEyQTVBRDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRo
ZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJ
CQkJMDc5NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8q
IEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3
OTY5REJGMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JU
Q1N0YXRzUmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdG
Rjg0MiAvKiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVG
RDQxN0QzRUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5kZXgg
MzFkNWViZDIyZDZiNjZkYWQ2NmQ2MTlhNzRkN2ZkNGEyYzU2NjQ4Yi4uYzQxMGQwNTI0NzIyYzU3
NzI4NzY4MTUyMjM5NDk1ZGI1MjVkNTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgor
I2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCmluZGV4IDc5
MWUwM2ZjODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1YmZlYTM4MTRhZThlNWUy
MmMzMzE5MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBAQCBGbG9hdFBvaW50IEZs
b2F0UG9pbnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91YmxlIHkpCiAgICAgcmV0dXJu
IEZsb2F0UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFycm93UHJlY2lzaW9uVG9G
bG9hdCh5KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29u
c3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChwMi54KCkgPT0gcDEueCgp
KQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7
Ci0KLSAgICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgp
KSAvIChwMi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsK
LSAgICByZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9h
dFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBj
b25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKLXsKLSAgICBm
bG9hdCBwT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBw
T2Zmc2V0KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZsb2F0IGRTbG9wZSA9IGZp
bmRTbG9wZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRY
KHAxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlv
bi54KCkgKyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGlmIChk
U2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKLSAgICAg
ICAgaW50ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFko
cFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMg
b3ZlcmxhcDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRlcnNlY3Rpb24uc2V0WCgo
ZE9mZnNldCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwotICAgIGludGVyc2VjdGlv
bi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7CiAgICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXggZGRjMzNkZGQ5ODU4NzFh
MTQ4MzlmYmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYwNzgwMjg5MTY1NDBiYTcx
NDc2YTE5NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RmxvYXRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UG9pbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFBvaW50IG1hdHJp
eFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNvbnN0OwogICAgIEZsb2F0
UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIGNvbnN0OwogCi0g
ICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6
OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1feCwgbV95
OwpAQCAtMjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRvRmxvYXRTaXplKGNvbnN0
IEZsb2F0UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngoKSwgYS55KCkpOwogfQog
Ci1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQm
IHAyLCBmbG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGluZXMgdGhyb3VnaCB0aGUg
dHdvIHBhaXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFsc2UgaWYgdGhlIGxpbmVz
IGRvbid0IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50
JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBG
bG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKLQogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCmluZGV4
IGZlNzA2YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcuLmE3YzA4ZTY3NzEyZWJi
ODhjMjU0Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcsNiBAQCB2b2lkIEZsb2F0
UmVjdDo6c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6ZS5zZXRIZWlnaHQoaGVp
Z2h0KCkgKiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UmVjdD4mIHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0KLSAgICBzaXplX3QgY291
bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytp
KQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQogdm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHAwLCBj
b25zdCBGbG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0gc3RkOjptaW4ocDAueCgp
LCBwMS54KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkSW50UG9pbnQo
cmVjdC5sb2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXplKCkpKTsKIH0KIAotRmxv
YXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYgKHNyY1JlY3Qud2lkdGgo
KSA9PSAwIHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVj
dCgpOwotCi0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0
LndpZHRoKCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNy
Y1JlY3QuaGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54
KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAgICAgICAgICAgICAgZGVz
dFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0U2NhbGUsCi0gICAgICAg
ICAgICAgICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0
U2NhbGUpOwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dAogewogICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4IDZlNGE2YzNjNzNjOTcw
YWFiNzNlMmY0MTU3NDBhMmYzZDZjYmNkNzUuLjAwMGU2MjQ0NDY3ZDcyNzFhOGQ5YWVjNWViYWU5
ODVkODUwYTAxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVjdF9oCiAKICNpbmNsdWRl
ICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0o
SU9TKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0dlb21ldHJ5Lmg+CkBAIC0xODEsNyArMTgw
LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIGNhaXJvX3JlY3RhbmdsZV90KCkgY29uc3Q7CiAj
ZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lk
IGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogICAgIHN0YXRpYyBGbG9hdFJl
Y3QgaW5maW5pdGVSZWN0KCk7CiAgICAgYm9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMTIs
OCArMjExLDYgQEAgaW5saW5lIEZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiBh
LCBjb25zdCBGbG9hdFJlY3QmIGIpCiAgICAgcmV0dXJuIGM7CiB9CiAKLUZsb2F0UmVjdCB1bmlv
blJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKLQogaW5saW5lIEZsb2F0UmVjdCYgb3Bl
cmF0b3IrPShGbG9hdFJlY3QmIGEsIGNvbnN0IEZsb2F0UmVjdCYgYikKIHsKICAgICBhLm1vdmUo
Yi54KCksIGIueSgpKTsKQEAgLTI1Nyw5ICsyNTQsNiBAQCBJbnRSZWN0IGVuY2xvc2VkSW50UmVj
dChjb25zdCBGbG9hdFJlY3QmKTsKIAogSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9h
dFJlY3QmKTsKIAotLy8gTWFwIHJlY3QgciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCBy
ZWN0IGluIGRlc3RSZWN0LgotRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwotCiB9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RmxvYXRTaXplLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5jcHAKaW5kZXggNmVlNGM0MDQzYmEzNjkxYjVmMTQyNDZjMDEwMTc1YzUxN2JlMGY5ZS4uZTdl
YjQyZDM2MjhjMTdjYmE2MTBjNTQxYjc2N2QwNmIxNGFhODk2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+
CisjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCAyMzI1
NjVjZjI3ZDViMjJhODU2ZTllNWJlM2FhYjBkZWI1MDkyYmM5Li43M2NjMGZlYThkNGQ1OTI0Y2Ex
ZTQ0ZGY5MmU4Y2UyNmIwNmRlMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFNpemUuaApAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRv
ciBOU1NpemUoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIGZsb2F0IG1fd2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwYzk3MjUxNjhjZGNmM2E3M2ViODZiMzVlYjVhZWFjZmU4NDNmODAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxp
dGllcy5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitmbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHAyLCBmbG9hdCYgYykKK3sKKyAgICBpZiAocDIueCgpID09IHAxLngoKSkKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOworCisgICAgLy8g
eSA9IG14ICsgYworICAgIGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgp
IC0gcDEueCgpKTsKKyAgICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7CisgICAgcmV0dXJu
IHNsb3BlOworfQorCitib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEs
IGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQ
b2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbikgCit7CisgICAgZmxvYXQgcE9mZnNl
dCA9IDA7CisgICAgZmxvYXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7CisK
KyAgICBmbG9hdCBkT2Zmc2V0ID0gMDsKKyAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEs
IGQyLCBkT2Zmc2V0KTsKKworICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgCisgICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkgeworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOwor
ICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9m
ZnNldCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoZFNsb3BlID09IHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2Vj
dGlvbi5zZXRYKGQxLngoKSk7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGlu
dGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICAgIAorICAgIC8vIEZpbmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHgg
PSAoYycgLSBjKSAvIChtIC0gbScpCisgICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBw
T2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xvcGUpKTsKKyAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xv
cGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K0ludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAg
SW50UmVjdCByZXN1bHQ7CisKKyAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUo
cmVjdHNbaV0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworRmxvYXRSZWN0IHVuaW9uUmVj
dChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3Vs
dDsKKworICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJl
Y3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVj
dCkKK3sKKyAgICBpZiAoIXNyY1JlY3Qud2lkdGgoKSB8fCAhc3JjUmVjdC5oZWlnaHQoKSkKKyAg
ICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOworCisgICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RS
ZWN0LndpZHRoKCkgLyBzcmNSZWN0LndpZHRoKCk7CisgICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBk
ZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1JlY3QuaGVpZ2h0KCk7CisgICAgcmV0dXJuIEZsb2F0UmVj
dChkZXN0UmVjdC54KCkgKyAoci54KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAorICAg
ICAgICBkZXN0UmVjdC55KCkgKyAoci55KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWlnaHRTY2FsZSwK
KyAgICAgICAgci53aWR0aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxl
KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VvbWV0cnlVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dl
b21ldHJ5VXRpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUzNzMxODFiYmNhNWE2YmMyYjA4YzJhMzU5
YzMzYjNmNTI5YmY5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgR2VvbWV0cnlVdGlsaXRpZXNfaAorI2RlZmluZSBHZW9tZXRyeVV0aWxpdGll
c19oCisKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRT
bG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBj
KTsKKworLy8gRmluZCBwb2ludCB3aGVyZSBsaW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2Yg
cG9pbnRzIGludGVyc2VjdC4gUmV0dXJucyBmYWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJz
ZWN0LgorYm9vbCBmaW5kSW50ZXJzZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBG
bG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQy
LCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24pOworCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBW
ZWN0b3I8SW50UmVjdD4mKTsKK0Zsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UmVjdD4mKTsKKworLy8gTWFwIHJlY3QgciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCBy
ZWN0IGluIGRlc3RSZWN0LgorRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29u
c3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKworfQor
CisjZW5kaWYgLy8gR2VvbWV0cnlVdGlsaXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFBvaW50LmgKaW5kZXggOTE5OTdkZTVjZTkwZjY2MGZkMWQwOTdlMmQwMDM0
YmE4NjVmZDc1OC4uMDlmNmQ1MDllNGI3OTU5ZjYzYzU4Y2M0MGNmODAyMGUyNDgwMTY3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC0xMjcsNyAr
MTI3LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIEV2YXNfUG9pbnQoKSBjb25zdDsKICNlbmRp
ZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVt
cChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBtX3gs
IG1feTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5k
ZXggMGU4ZmY5Nzg1MWI0YjQ5YmY5ODk2NTFjNDViODNmZTRlMWZkNzI5Ni4uNzhlMGQ1N2E2ODg5
N2E3YmM5OGQ3ZTUzZTZmOGRkNmUwY2E0OTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKQEAgLTE0NiwxNyArMTQ2LDYgQEAgSW50U2l6ZSBJbnRS
ZWN0OjpkaWZmZXJlbmNlVG9Qb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiAgICAg
cmV0dXJuIEludFNpemUoeGRpc3RhbmNlLCB5ZGlzdGFuY2UpOwogfQogCi1JbnRSZWN0IHVuaW9u
UmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzKQotewotICAgIEludFJlY3QgcmVzdWx0
OwotCi0gICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHZvaWQgSW50UmVjdDo6ZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogewogICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDYwNmIwZWM3
NDZhYTkzNzcyNWI5MDQ2YWUyZTk1YjY4NDhkN2YwMC4uMTJjZjYzODYyMzJlMGQ3YTEwYjc1NTY5
YzUwYTg5MWJiZGY5YWYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFJlY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNs
dWRlICJMYXlvdXRVbml0LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENH
KQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTIyMSw4ICsyMjAsNiBAQCBpbmxp
bmUgSW50UmVjdCB1bmlvblJlY3QoY29uc3QgSW50UmVjdCYgYSwgY29uc3QgSW50UmVjdCYgYikK
ICAgICByZXR1cm4gYzsKIH0KIAotSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJl
Y3Q+Jik7Ci0KIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgSW50UmVjdCYgYSwgY29uc3Qg
SW50UmVjdCYgYikKIHsKICAgICByZXR1cm4gYS5sb2NhdGlvbigpID09IGIubG9jYXRpb24oKSAm
JiBhLnNpemUoKSA9PSBiLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaAppbmRleCA3YzViNThjZjFkMDUxOThjOGViNzU1NjZiZWVlYWEzNjg2YWZiYzQ2
Li45YjU0ZmI2MDM3YTNhMTI0YjU4NDlkMWIyZmQ3ZDMwMmFhODQyZDQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIEludFNpemVfaAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHd0Zi9Qcmlu
dFN0cmVhbS5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsK
QEAgLTUxLDYgKzUwLDEwIEBAIHR5cGVkZWYgc3RydWN0IF9OU1NpemUgTlNTaXplOwogdHlwZWRl
ZiBzdHJ1Y3QgdGFnU0laRSBTSVpFOwogI2VuZGlmCiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3Mg
UHJpbnRTdHJlYW07Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW50U2l6ZSB7
CkBAIC0xMzksNyArMTQyLDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFNJWkUoKSBjb25zdDsK
ICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZv
aWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGlu
dCBtX3dpZHRoLCBtX2hlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZm
ZTI0YzY1OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQz
ZWU3ZGI1ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0Zjcx
OTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4
ODI5YWNiZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227571</attachid>
            <date>2014-03-22 14:14:53 -0700</date>
            <delta_ts>2014-03-22 16:55:22 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-130645-20140322141431.patch</filename>
            <type>text/plain</type>
            <size>21836</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5kZXggMzFkNWVi
ZDIyZDZiNjZkYWQ2NmQ2MTlhNzRkN2ZkNGEyYzU2NjQ4Yi4uYzQxMGQwNTI0NzIyYzU3NzI4NzY4
MTUyMjM5NDk1ZGI1MjVkNTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgorI2luY2x1
ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCmluZGV4IDc5MWUwM2Zj
ODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1YmZlYTM4MTRhZThlNWUyMmMzMzE5
MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBAQCBGbG9hdFBvaW50IEZsb2F0UG9p
bnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91YmxlIHkpCiAgICAgcmV0dXJuIEZsb2F0
UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFycm93UHJlY2lzaW9uVG9GbG9hdCh5
KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxv
YXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQotICAg
ICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7Ci0KLSAg
ICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChw
Mi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKLSAgICBy
ZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50
JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBG
bG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKLXsKLSAgICBmbG9hdCBw
T2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0
KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9w
ZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngo
KSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkg
KyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGlmIChkU2xvcGUg
PT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKLSAgICAgICAgaW50
ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3Bl
ICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3Zlcmxh
cDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNl
dCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwotICAgIGludGVyc2VjdGlvbi5zZXRZ
KHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAg
ICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXggZGRjMzNkZGQ5ODU4NzFhMTQ4Mzlm
YmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYwNzgwMjg5MTY1NDBiYTcxNDc2YTE5
NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFBvaW50IG1hdHJpeFRyYW5z
Zm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQg
bWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIGNvbnN0OwogCi0gICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50
U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1feCwgbV95OwpAQCAt
MjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRvRmxvYXRTaXplKGNvbnN0IEZsb2F0
UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngoKSwgYS55KCkpOwogfQogCi1mbG9h
dCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBm
bG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGluZXMgdGhyb3VnaCB0aGUgdHdvIHBh
aXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFsc2UgaWYgdGhlIGxpbmVzIGRvbid0
IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwg
Y29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBv
aW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKLQogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCmluZGV4IGZlNzA2
YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcuLmE3YzA4ZTY3NzEyZWJiODhjMjU0
Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcsNiBAQCB2b2lkIEZsb2F0UmVjdDo6
c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KCkg
KiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4m
IHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0KLSAgICBzaXplX3QgY291bnQgPSBy
ZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAg
ICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
dm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHAwLCBjb25zdCBG
bG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0gc3RkOjptaW4ocDAueCgpLCBwMS54
KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkSW50UG9pbnQocmVjdC5s
b2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXplKCkpKTsKIH0KIAotRmxvYXRSZWN0
IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNv
bnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYgKHNyY1JlY3Qud2lkdGgoKSA9PSAw
IHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwot
Ci0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0LndpZHRo
KCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qu
aGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54KCkgLSBz
cmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Qu
eSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0U2NhbGUsCi0gICAgICAgICAgICAg
ICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2NhbGUp
OwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4IDExZjFlYTk1YWQxMDg3MDhhZDc5
ODM2OTA4MTNkYmM5ZTk5YzkxOGQuLmQzNDZkZDU1YzYwYTYwYzdhYTEwNDBkYWJiZDMzMTNlY2Q0
NTA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5o
CkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVjdF9oCiAKICNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRl
ZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE3Nyw3ICsxNzYsNyBAQCBwdWJsaWM6CiAgICAg
b3BlcmF0b3IgY2Fpcm9fcmVjdGFuZ2xlX3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEZsb2F0UmVjdCBpbmZpbml0ZVJlY3QoKTsK
ICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIwOCw4ICsyMDcsNiBAQCBpbmxpbmUg
RmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIGEsIGNvbnN0IEZsb2F0UmVjdCYg
YikKICAgICByZXR1cm4gYzsKIH0KIAotRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8
RmxvYXRSZWN0PiYpOwotCiBpbmxpbmUgRmxvYXRSZWN0JiBvcGVyYXRvcis9KEZsb2F0UmVjdCYg
YSwgY29uc3QgRmxvYXRSZWN0JiBiKQogewogICAgIGEubW92ZShiLngoKSwgYi55KCkpOwpAQCAt
MjUzLDkgKzI1MCw2IEBAIEludFJlY3QgZW5jbG9zZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYp
OwogCiBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCi0vLyBNYXAg
cmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50IHJlY3QgaW4gZGVzdFJlY3QuCi1G
bG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYgc3Jj
UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcAppbmRleCA2ZWU0YzQw
NDNiYTM2OTFiNWYxNDI0NmMwMTAxNzVjNTE3YmUwZjllLi5lN2ViNDJkMzYyOGMxN2NiYTYxMGM1
NDFiNzY3ZDA2YjE0YWE4OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0U2l6ZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgi
CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDx3dGYvUHJp
bnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDIzMjU2NWNmMjdkNWIyMmE4NTZlOWU1
YmUzYWFiMGRlYjUwOTJiYzkuLjczY2MwZmVhOGQ0ZDU5MjRjYTFlNDRkZjkyZThjZTI2YjA2ZGUx
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCkBA
IC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIE5TU2l6ZSgpIGNvbnN0Owog
I2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9p
ZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZmxv
YXQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UG9pbnQuaAppbmRleCA5MTk5N2RlNWNlOTBmNjYwZmQxZDA5N2UyZDAwMzRiYTg2NWZkNzU4
Li4wOWY2ZDUwOWU0Yjc5NTlmNjNjNThjYzQwY2Y4MDIwZTI0ODAxNjcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
dWJsaWM6CiAgICAgb3BlcmF0b3IgRXZhc19Qb2ludCgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJp
bnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1feCwgbV95OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAppbmRleCAwZThmZjk3
ODUxYjRiNDliZjk4OTY1MWM0NWI4M2ZlNGUxZmQ3Mjk2Li43OGUwZDU3YTY4ODk3YTdiYzk4ZDdl
NTNlNmY4ZGQ2ZTBjYTQ5MmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0LmNwcApAQCAtMTQ2LDE3ICsxNDYsNiBAQCBJbnRTaXplIEludFJlY3Q6OmRpZmZl
cmVuY2VUb1BvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAgICByZXR1cm4gSW50
U2l6ZSh4ZGlzdGFuY2UsIHlkaXN0YW5jZSk7CiB9CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCi17Ci0gICAgSW50UmVjdCByZXN1bHQ7Ci0KLSAgICBz
aXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQogdm9pZCBJbnRSZWN0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6ZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCA0NjA2YjBlYzc0NmFhOTM3NzI1
YjkwNDZhZTJlOTViNjg0OGQ3ZjAwLi5iZjAyMzc5NjUyNmEyZWQxNzYwZTIyYzY1MmY3NGViM2Jh
ZTExZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRS
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgIkxheW91
dFVuaXQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0UoQ0cpCiB0eXBlZGVm
IHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTk3LDcgKzE5Niw3IEBAIHB1YmxpYzoKICAgICBv
cGVyYXRvciBOU1JlY3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNv
bnN0OwogCiAgICAgc3RhdGljIEludFJlY3QgaW5maW5pdGVSZWN0KCk7CiAgICAgYm9vbCBpc0lu
ZmluaXRlKCkgY29uc3Q7CkBAIC0yMjEsOCArMjIwLDYgQEAgaW5saW5lIEludFJlY3QgdW5pb25S
ZWN0KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiAgICAgcmV0dXJuIGM7CiB9
CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpOwotCiBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiB7CiAg
ICAgcmV0dXJuIGEubG9jYXRpb24oKSA9PSBiLmxvY2F0aW9uKCkgJiYgYS5zaXplKCkgPT0gYi5z
aXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKaW5kZXgg
N2M1YjU4Y2YxZDA1MTk4YzhlYjc1NTY2YmVlZWFhMzY4NmFmYmM0Ni4uOWI1NGZiNjAzN2EzYTEy
NGI1ODQ5ZDFiMmZkN2QzMDJhYTg0MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ludFNpemUuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBJbnRTaXplX2gKIAog
I2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogI2lm
IFVTRShDRykKIHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CkBAIC01MSw2ICs1MCwxMCBA
QCB0eXBlZGVmIHN0cnVjdCBfTlNTaXplIE5TU2l6ZTsKIHR5cGVkZWYgc3RydWN0IHRhZ1NJWkUg
U0laRTsKICNlbmRpZgogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFByaW50U3RyZWFtOworfQor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpAQCAtMTM5LDcgKzE0Miw3
IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBTSVpFKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQgbV93aWR0aCwgbV9oZWln
aHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCA3MjZkYTYwMDYxYTAyNGFlYWMyYTMzZGM1M2ZmZmUyNGM2NTlkODQ2Li4wOGRi
YTdkZjhiODg4M2Y2YzNlZWY2NGQ0MDVhODQ4NDhlZWVkNTFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJGbG9hdFJvdW5kZWRSZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKaW5kZXggYzE4NjY4ZGY4YTM5ZDdmMjExODI0M2VlN2RiNWQ0MThiMTU3N2Vm
NS4uZmM2NGRmOTM3NDFkZDQ5OGYyOTIyYzFkODRjZjg0MzE5NGY3MTk4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiRm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVj
dGlvbi5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TEltYWdlRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCBkNjI2OWIyYTdiODhiMzFiNTQxZTcyMWQ1NWZjNWQ4ODgyOWFjYmY5Li4wMGI5YmE5
NzYxYzI1NzYyYjE4NWU1ZTk2MDYzMjYzYjVhZDA0NTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
KyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1l
bnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9y
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAppbmRleCAy
YWQxOTNmMWI0YTcxYjgwNzVhZDA0N2FkMzliNjdlOGNlZjgwNmE2Li45NTAzNzNlNzY3ZWIzNzBl
YjMxMGY4ZmNkMjUxOWZkYTRmOTdlMDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRmluZEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Zp
bmRJbmRpY2F0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmluZEluZGljYXRv
ci5oIgogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9H
ZW9tZXRyeVV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGllbnQuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVj
dC5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227579</attachid>
            <date>2014-03-22 16:55:26 -0700</date>
            <delta_ts>2014-03-22 17:10:52 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-130645-20140322165505.patch</filename>
            <type>text/plain</type>
            <size>28268</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5kZXggMzFkNWVi
ZDIyZDZiNjZkYWQ2NmQ2MTlhNzRkN2ZkNGEyYzU2NjQ4Yi4uYzQxMGQwNTI0NzIyYzU3NzI4NzY4
MTUyMjM5NDk1ZGI1MjVkNTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Q2FudmFzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgorI2luY2x1
ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCmluZGV4IDc5MWUwM2Zj
ODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1YmZlYTM4MTRhZThlNWUyMmMzMzE5
MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBAQCBGbG9hdFBvaW50IEZsb2F0UG9p
bnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91YmxlIHkpCiAgICAgcmV0dXJuIEZsb2F0
UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFycm93UHJlY2lzaW9uVG9GbG9hdCh5
KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxv
YXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQotICAg
ICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7Ci0KLSAg
ICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChw
Mi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKLSAgICBy
ZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50
JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBG
bG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKLXsKLSAgICBmbG9hdCBw
T2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0
KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9w
ZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngo
KSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkg
KyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGlmIChkU2xvcGUg
PT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKLSAgICAgICAgaW50
ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3Bl
ICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3Zlcmxh
cDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNl
dCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwotICAgIGludGVyc2VjdGlvbi5zZXRZ
KHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAg
ICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXggZGRjMzNkZGQ5ODU4NzFhMTQ4Mzlm
YmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYwNzgwMjg5MTY1NDBiYTcxNDc2YTE5
NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFBvaW50IG1hdHJpeFRyYW5z
Zm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQg
bWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIGNvbnN0OwogCi0gICAgdm9p
ZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50
U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1feCwgbV95OwpAQCAt
MjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRvRmxvYXRTaXplKGNvbnN0IEZsb2F0
UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngoKSwgYS55KCkpOwogfQogCi1mbG9h
dCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBm
bG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGluZXMgdGhyb3VnaCB0aGUgdHdvIHBh
aXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFsc2UgaWYgdGhlIGxpbmVzIGRvbid0
IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwg
Y29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBv
aW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKLQogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCmluZGV4IGZlNzA2
YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcuLmE3YzA4ZTY3NzEyZWJiODhjMjU0
Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcsNiBAQCB2b2lkIEZsb2F0UmVjdDo6
c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KCkg
KiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4m
IHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0KLSAgICBzaXplX3QgY291bnQgPSBy
ZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAg
ICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQog
dm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHAwLCBjb25zdCBG
bG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0gc3RkOjptaW4ocDAueCgpLCBwMS54
KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkSW50UG9pbnQocmVjdC5s
b2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXplKCkpKTsKIH0KIAotRmxvYXRSZWN0
IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNv
bnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYgKHNyY1JlY3Qud2lkdGgoKSA9PSAw
IHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwot
Ci0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0LndpZHRo
KCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1JlY3Qu
aGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54KCkgLSBz
cmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAgICAgICAgICAgICAgZGVzdFJlY3Qu
eSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0U2NhbGUsCi0gICAgICAgICAgICAg
ICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2NhbGUp
OwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4IDExZjFlYTk1YWQxMDg3MDhhZDc5
ODM2OTA4MTNkYmM5ZTk5YzkxOGQuLmQzNDZkZDU1YzYwYTYwYzdhYTEwNDBkYWJiZDMzMTNlY2Q0
NTA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5o
CkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVjdF9oCiAKICNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRl
ZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE3Nyw3ICsxNzYsNyBAQCBwdWJsaWM6CiAgICAg
b3BlcmF0b3IgY2Fpcm9fcmVjdGFuZ2xlX3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEZsb2F0UmVjdCBpbmZpbml0ZVJlY3QoKTsK
ICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIwOCw4ICsyMDcsNiBAQCBpbmxpbmUg
RmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIGEsIGNvbnN0IEZsb2F0UmVjdCYg
YikKICAgICByZXR1cm4gYzsKIH0KIAotRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8
RmxvYXRSZWN0PiYpOwotCiBpbmxpbmUgRmxvYXRSZWN0JiBvcGVyYXRvcis9KEZsb2F0UmVjdCYg
YSwgY29uc3QgRmxvYXRSZWN0JiBiKQogewogICAgIGEubW92ZShiLngoKSwgYi55KCkpOwpAQCAt
MjUzLDkgKzI1MCw2IEBAIEludFJlY3QgZW5jbG9zZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYp
OwogCiBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCi0vLyBNYXAg
cmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50IHJlY3QgaW4gZGVzdFJlY3QuCi1G
bG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYgc3Jj
UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcAppbmRleCA2ZWU0YzQw
NDNiYTM2OTFiNWYxNDI0NmMwMTAxNzVjNTE3YmUwZjllLi5lN2ViNDJkMzYyOGMxN2NiYTYxMGM1
NDFiNzY3ZDA2YjE0YWE4OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0U2l6ZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgi
CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDx3dGYvUHJp
bnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDIzMjU2NWNmMjdkNWIyMmE4NTZlOWU1
YmUzYWFiMGRlYjUwOTJiYzkuLjczY2MwZmVhOGQ0ZDU5MjRjYTFlNDRkZjkyZThjZTI2YjA2ZGUx
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCkBA
IC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIE5TU2l6ZSgpIGNvbnN0Owog
I2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9p
ZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZmxv
YXQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTBjOTcyNTE2OGNk
Y2YzYTczZWI4NmIzNWViNWFlYWNmZTg0M2Y4MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApAQCAtMCwwICsx
LDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHZW9t
ZXRyeVV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRTbG9w
ZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKQor
eworICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQorICAgICAgICByZXR1cm4gc3RkOjpudW1lcmlj
X2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7CisKKyAgICAvLyB5ID0gbXggKyBjCisgICAgZmxv
YXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChwMi54KCkgLSBwMS54KCkpOworICAgIGMg
PSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKKyAgICByZXR1cm4gc2xvcGU7Cit9CisKK2Jvb2wg
ZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYg
cDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2lu
dCYgaW50ZXJzZWN0aW9uKSAKK3sKKyAgICBmbG9hdCBwT2Zmc2V0ID0gMDsKKyAgICBmbG9hdCBw
U2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsKKworICAgIGZsb2F0IGRPZmZzZXQg
PSAwOworICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9wZShkMSwgZDIsIGRPZmZzZXQpOworCisg
ICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAg
ICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7
CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7CisgICAgICAgIGludGVyc2VjdGlv
bi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBkT2Zmc2V0KTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxm
bG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsK
KyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBP
ZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgLy8gRmluZCB4
IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsgeCA9IChjJyAtIGMpIC8gKG0gLSBt
JykKKyAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNldCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAt
IGRTbG9wZSkpOworICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54
KCkgKyBwT2Zmc2V0KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSW50UmVjdCB1bmlvblJlY3Qo
Y29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKK3sKKyAgICBJbnRSZWN0IHJlc3VsdDsKKwor
ICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGNvdW50OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9h
dFJlY3Q+JiByZWN0cykKK3sKKyAgICBGbG9hdFJlY3QgcmVzdWx0OworCisgICAgc2l6ZV90IGNv
dW50ID0gcmVjdHMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsr
aSkKKyAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKKworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRS
ZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQoreworICAgIGlmICghc3Jj
UmVjdC53aWR0aCgpIHx8ICFzcmNSZWN0LmhlaWdodCgpKQorICAgICAgICByZXR1cm4gRmxvYXRS
ZWN0KCk7CisKKyAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVzdFJlY3Qud2lkdGgoKSAvIHNyY1Jl
Y3Qud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHRTY2FsZSA9IGRlc3RSZWN0LmhlaWdodCgpIC8g
c3JjUmVjdC5oZWlnaHQoKTsKKyAgICByZXR1cm4gRmxvYXRSZWN0KGRlc3RSZWN0LngoKSArIChy
LngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCisgICAgICAgIGRlc3RSZWN0LnkoKSAr
IChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxlLAorICAgICAgICByLndpZHRoKCkg
KiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2NhbGUpOworfQorCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZTM3MzE4MWJiY2E1YTZiYzJiMDhjMmEzNTljMzNiM2Y1MjliZjkyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlV
dGlsaXRpZXMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBHZW9tZXRy
eVV0aWxpdGllc19oCisjZGVmaW5lIEdlb21ldHJ5VXRpbGl0aWVzX2gKKworI2luY2x1ZGUgIkZs
b2F0UmVjdC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9p
bnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQmIGMpOworCisvLyBGaW5kIHBvaW50
IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBvZiBwb2ludHMgaW50ZXJzZWN0LiBS
ZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRlcnNlY3QuCitib29sIGZpbmRJbnRl
cnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25z
dCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVy
c2VjdGlvbik7CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpOwor
RmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOworCisvLyBNYXAg
cmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50IHJlY3QgaW4gZGVzdFJlY3QuCitG
bG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1Jl
Y3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOworCit9CisKKyNlbmRpZiAvLyBHZW9tZXRy
eVV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQu
aAppbmRleCA5MTk5N2RlNWNlOTBmNjYwZmQxZDA5N2UyZDAwMzRiYTg2NWZkNzU4Li4wOWY2ZDUw
OWU0Yjc5NTlmNjNjNThjYzQwY2Y4MDIwZTI0ODAxNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAg
ICAgb3BlcmF0b3IgRXZhc19Qb2ludCgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0m
IG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1feCwgbV95OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAppbmRleCAwZThmZjk3ODUxYjRiNDli
Zjk4OTY1MWM0NWI4M2ZlNGUxZmQ3Mjk2Li43OGUwZDU3YTY4ODk3YTdiYzk4ZDdlNTNlNmY4ZGQ2
ZTBjYTQ5MmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0
LmNwcApAQCAtMTQ2LDE3ICsxNDYsNiBAQCBJbnRTaXplIEludFJlY3Q6OmRpZmZlcmVuY2VUb1Bv
aW50KGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAgICByZXR1cm4gSW50U2l6ZSh4ZGlz
dGFuY2UsIHlkaXN0YW5jZSk7CiB9CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJ
bnRSZWN0PiYgcmVjdHMpCi17Ci0gICAgSW50UmVjdCByZXN1bHQ7Ci0KLSAgICBzaXplX3QgY291
bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytp
KQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQogdm9pZCBJbnRSZWN0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAg
b3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCA0NjA2YjBlYzc0NmFhOTM3NzI1YjkwNDZhZTJl
OTViNjg0OGQ3ZjAwLi5iZjAyMzc5NjUyNmEyZWQxNzYwZTIyYzY1MmY3NGViM2JhZTExZjY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCkBAIC0yOCw3ICsy
OCw2IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgIkxheW91dFVuaXQuaCIK
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBD
R1JlY3QgQ0dSZWN0OwpAQCAtMTk3LDcgKzE5Niw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBO
U1JlY3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiAg
ICAgc3RhdGljIEludFJlY3QgaW5maW5pdGVSZWN0KCk7CiAgICAgYm9vbCBpc0luZmluaXRlKCkg
Y29uc3Q7CkBAIC0yMjEsOCArMjIwLDYgQEAgaW5saW5lIEludFJlY3QgdW5pb25SZWN0KGNvbnN0
IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiAgICAgcmV0dXJuIGM7CiB9CiAKLUludFJl
Y3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpOwotCiBpbmxpbmUgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiB7CiAgICAgcmV0dXJu
IGEubG9jYXRpb24oKSA9PSBiLmxvY2F0aW9uKCkgJiYgYS5zaXplKCkgPT0gYi5zaXplKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKaW5kZXggN2M1YjU4Y2Yx
ZDA1MTk4YzhlYjc1NTY2YmVlZWFhMzY4NmFmYmM0Ni4uOWI1NGZiNjAzN2EzYTEyNGI1ODQ5ZDFi
MmZkN2QzMDJhYTg0MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFNpemUuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBJbnRTaXplX2gKIAogI2luY2x1ZGUg
PGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogI2lmIFVTRShDRykK
IHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CkBAIC01MSw2ICs1MCwxMCBAQCB0eXBlZGVm
IHN0cnVjdCBfTlNTaXplIE5TU2l6ZTsKIHR5cGVkZWYgc3RydWN0IHRhZ1NJWkUgU0laRTsKICNl
bmRpZgogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFByaW50U3RyZWFtOworfQorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpAQCAtMTM5LDcgKzE0Miw3IEBAIHB1Ymxp
YzoKICAgICBvcGVyYXRvciBTSVpFKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCA3MjZkYTYwMDYxYTAyNGFlYWMyYTMzZGM1M2ZmZmUyNGM2NTlkODQ2Li4wOGRiYTdkZjhiODg4
M2Y2YzNlZWY2NGQ0MDVhODQ4NDhlZWVkNTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNs
dWRlICJGbG9hdFJvdW5kZWRSZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAKaW5kZXggYzE4NjY4ZGY4YTM5ZDdmMjExODI0M2VlN2RiNWQ0MThiMTU3N2VmNS4uZmM2NGRm
OTM3NDFkZDQ5OGYyOTIyYzFkODRjZjg0MzE5NGY3MTk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRm9udENh
Y2hlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgor
I2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
LmgiCiAjaW5jbHVkZSAiSFRNTEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxl
bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBk
NjI2OWIyYTdiODhiMzFiNTQxZTcyMWQ1NWZjNWQ4ODgyOWFjYmY5Li4wMGI5YmE5NzYxYzI1NzYy
YjE4NWU1ZTk2MDYzMjYzYjVhZDA0NTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRl
ICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAppbmRleCAyYWQxOTNmMWI0
YTcxYjgwNzVhZDA0N2FkMzliNjdlOGNlZjgwNmE2Li45NTAzNzNlNzY3ZWIzNzBlYjMxMGY4ZmNk
MjUxOWZkYTRmOTdlMDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRmlu
ZEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0
b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogCiAj
aW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9HZW9tZXRyeVV0
aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGllbnQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227582</attachid>
            <date>2014-03-22 17:10:57 -0700</date>
            <delta_ts>2014-03-22 17:58:22 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-130645-20140322171035.patch</filename>
            <type>text/plain</type>
            <size>28690</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJhODAxODI2MzNh
M2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUwZjJjNmYyNzk2
Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiArMjQsOCBAQAog
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0YTJjNTY2NDhi
Li5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJ
bWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5jcHAKaW5kZXggNzkxZTAzZmM4NDI3NDUyM2FhZTVlYjI4OTQwNGIyOTQ5ZjcxMjBhMS4u
OTViZmVhMzgxNGFlOGU1ZTIyYzMzMTkyZjcxYWEwMzI1MjYxZDNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKQEAgLTgwLDQ1ICs4MCw2
IEBAIEZsb2F0UG9pbnQgRmxvYXRQb2ludDo6bmFycm93UHJlY2lzaW9uKGRvdWJsZSB4LCBkb3Vi
bGUgeSkKICAgICByZXR1cm4gRmxvYXRQb2ludChuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHgpLCBu
YXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHkpKTsKIH0KIAotZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZs
b2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQmIGMpCi17Ci0gICAgaWYg
KHAyLngoKSA9PSBwMS54KCkpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKTsKLQotICAgIC8vIHkgPSBteCArIGMKLSAgICBmbG9hdCBzbG9wZSA9
IChwMi55KCkgLSBwMS55KCkpIC8gKHAyLngoKSAtIHAxLngoKSk7Ci0gICAgYyA9IHAxLnkoKSAt
IHNsb3BlICogcDEueCgpOwotICAgIHJldHVybiBzbG9wZTsKLX0KLQotYm9vbCBmaW5kSW50ZXJz
ZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3Qg
RmxvYXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNl
Y3Rpb24pIAotewotICAgIGZsb2F0IHBPZmZzZXQgPSAwOwotICAgIGZsb2F0IHBTbG9wZSA9IGZp
bmRTbG9wZShwMSwgcDIsIHBPZmZzZXQpOwotCi0gICAgZmxvYXQgZE9mZnNldCA9IDA7Ci0gICAg
ZmxvYXQgZFNsb3BlID0gZmluZFNsb3BlKGQxLCBkMiwgZE9mZnNldCk7Ci0KLSAgICBpZiAoZFNs
b3BlID09IHBTbG9wZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIGlmIChwU2xv
cGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKLSAgICAgICAg
aW50ZXJzZWN0aW9uLnNldFgocDEueCgpKTsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkoZFNs
b3BlICogaW50ZXJzZWN0aW9uLngoKSArIGRPZmZzZXQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgaWYgKGRTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5m
aW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChkMS54KCkpOwotICAgICAgICBp
bnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICAKLSAgICAvLyBGaW5kIHggYXQgaW50ZXJz
ZWN0aW9uLCB3aGVyZSB5cyBvdmVybGFwOyB4ID0gKGMnIC0gYykgLyAobSAtIG0nKQotICAgIGlu
dGVyc2VjdGlvbi5zZXRYKChkT2Zmc2V0IC0gcE9mZnNldCkgLyAocFNsb3BlIC0gZFNsb3BlKSk7
Ci0gICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZz
ZXQpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEZsb2F0UG9pbnQ6OmR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnRmKCIoJWYsICVmKSIsIHgoKSwgeSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAppbmRl
eCBkZGMzM2RkZDk4NTg3MWExNDgzOWZiYjQyOWVhYjc0ZTIxZWFmM2EzLi41Mzk4YzBjOWQ2MDMx
ZjA3ODAyODkxNjU0MGJhNzE0NzZhMTk1NGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogICAg
IEZsb2F0UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikg
Y29uc3Q7CiAgICAgRmxvYXRQb2ludCBtYXRyaXhUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNm
b3JtJikgY29uc3Q7CiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7Cisg
ICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAg
ICAgZmxvYXQgbV94LCBtX3k7CkBAIC0yMzUsMTEgKzIzNSw2IEBAIGlubGluZSBGbG9hdFNpemUg
dG9GbG9hdFNpemUoY29uc3QgRmxvYXRQb2ludCYgYSkKICAgICByZXR1cm4gRmxvYXRTaXplKGEu
eCgpLCBhLnkoKSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwg
Y29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKLQotLy8gRmluZCBwb2ludCB3aGVyZSBs
aW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJucyBm
YWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgotYm9vbCBmaW5kSW50ZXJzZWN0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQ
b2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24p
OwotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zs
b2F0UmVjdC5jcHAKaW5kZXggZmU3MDZiNzE1MzBmNmIwNDRmZTMwODFiNTE4Nzg5NmUzYzJlNGYz
Ny4uYTdjMDhlNjc3MTJlYmI4OGMyNTRjYmNmZjZkOGQxNzg4NGExN2YyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCkBAIC0xNDcsMTcgKzE0
Nyw2IEBAIHZvaWQgRmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpCiAgICAgbV9z
aXplLnNldEhlaWdodChoZWlnaHQoKSAqIHN5KTsKIH0KIAotRmxvYXRSZWN0IHVuaW9uUmVjdChj
b25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMpCi17Ci0gICAgRmxvYXRSZWN0IHJlc3VsdDsK
LQotICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGNvdW50OyArK2kpCi0gICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7Ci0KLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIEZsb2F0UmVjdDo6Zml0VG9Qb2ludHMoY29uc3Qg
RmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQmIHAxKQogewogICAgIGZsb2F0IGxlZnQg
PSBzdGQ6Om1pbihwMC54KCksIHAxLngoKSk7CkBAIC0yNDAsMTggKzIyOSw2IEBAIEludFJlY3Qg
cm91bmRlZEludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiBJbnRSZWN0
KHJvdW5kZWRJbnRQb2ludChyZWN0LmxvY2F0aW9uKCkpLCByb3VuZGVkSW50U2l6ZShyZWN0LnNp
emUoKSkpOwogfQogCi1GbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0
IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKLXsKLSAgICBp
ZiAoc3JjUmVjdC53aWR0aCgpID09IDAgfHwgc3JjUmVjdC5oZWlnaHQoKSA9PSAwKQotICAgICAg
ICByZXR1cm4gRmxvYXRSZWN0KCk7Ci0KLSAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVzdFJlY3Qu
d2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKTsKLSAgICBmbG9hdCBoZWlnaHRTY2FsZSA9IGRlc3RS
ZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKTsKLSAgICByZXR1cm4gRmxvYXRSZWN0KGRl
c3RSZWN0LngoKSArIChyLngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCi0gICAgICAg
ICAgICAgICAgICAgICBkZXN0UmVjdC55KCkgKyAoci55KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWln
aHRTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIHIud2lkdGgoKSAqIHdpZHRoU2NhbGUsIHIu
aGVpZ2h0KCkgKiBoZWlnaHRTY2FsZSk7Ci19Ci0KIHZvaWQgRmxvYXRSZWN0OjpkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKaW5k
ZXggMTFmMWVhOTVhZDEwODcwOGFkNzk4MzY5MDgxM2RiYzllOTljOTE4ZC4uZDM0NmRkNTVjNjBh
NjBjN2FhMTA0MGRhYmJkMzMxM2VjZDQ1MDljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgRmxvYXRS
ZWN0X2gKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKICNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTc3LDcg
KzE3Niw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0YW5nbGVfdCgpIGNvbnN0
OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAg
dm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKICAgICBzdGF0aWMgRmxv
YXRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0ZSgpIGNvbnN0OwpAQCAt
MjA4LDggKzIwNyw2IEBAIGlubGluZSBGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IEZsb2F0UmVj
dCYgYSwgY29uc3QgRmxvYXRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1GbG9hdFJlY3Qg
dW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7Ci0KIGlubGluZSBGbG9hdFJlY3Qm
IG9wZXJhdG9yKz0oRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJlY3QmIGIpCiB7CiAgICAgYS5t
b3ZlKGIueCgpLCBiLnkoKSk7CkBAIC0yNTMsOSArMjUwLDYgQEAgSW50UmVjdCBlbmNsb3NlZElu
dFJlY3QoY29uc3QgRmxvYXRSZWN0Jik7CiAKIEludFJlY3Qgcm91bmRlZEludFJlY3QoY29uc3Qg
RmxvYXRSZWN0Jik7CiAKLS8vIE1hcCByZWN0IHIgZnJvbSBzcmNSZWN0IHRvIGFuIGVxdWl2YWxl
bnQgcmVjdCBpbiBkZXN0UmVjdC4KLUZsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYg
ciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsK
LQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0U2l6ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFNpemUuY3BwCmluZGV4IDZlZTRjNDA0M2JhMzY5MWI1ZjE0MjQ2YzAxMDE3NWM1MTdiZTBmOWUu
LmU3ZWI0MmQzNjI4YzE3Y2JhNjEwYzU0MWI3NjdkMDZiMTRhYTg5NjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8bWF0
aC5oPgorI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmgKaW5kZXgg
MjMyNTY1Y2YyN2Q1YjIyYTg1NmU5ZTViZTNhYWIwZGViNTA5MmJjOS4uNzNjYzBmZWE4ZDRkNTky
NGNhMWU0NGRmOTJlOGNlMjZiMDZkZTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRTaXplLmgKQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgb3Bl
cmF0b3IgTlNTaXplKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVh
bSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3dpZHRoLCBtX2hlaWdodDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45MGM5NzI1MTY4Y2RjZjNhNzNlYjg2YjM1ZWI1YWVhY2ZlODQzZjgwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlV
dGlsaXRpZXMuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9h
dFBvaW50JiBwMiwgZmxvYXQmIGMpCit7CisgICAgaWYgKHAyLngoKSA9PSBwMS54KCkpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKTsKKworICAg
IC8vIHkgPSBteCArIGMKKyAgICBmbG9hdCBzbG9wZSA9IChwMi55KCkgLSBwMS55KCkpIC8gKHAy
LngoKSAtIHAxLngoKSk7CisgICAgYyA9IHAxLnkoKSAtIHNsb3BlICogcDEueCgpOworICAgIHJl
dHVybiBzbG9wZTsKK30KKworYm9vbCBmaW5kSW50ZXJzZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQm
IHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYgZDEsIGNvbnN0IEZs
b2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24pIAoreworICAgIGZsb2F0IHBP
ZmZzZXQgPSAwOworICAgIGZsb2F0IHBTbG9wZSA9IGZpbmRTbG9wZShwMSwgcDIsIHBPZmZzZXQp
OworCisgICAgZmxvYXQgZE9mZnNldCA9IDA7CisgICAgZmxvYXQgZFNsb3BlID0gZmluZFNsb3Bl
KGQxLCBkMiwgZE9mZnNldCk7CisKKyAgICBpZiAoZFNsb3BlID09IHBTbG9wZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIAorICAgIGlmIChwU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0
czxmbG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgocDEueCgp
KTsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkoZFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSAr
IGRPZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKGRTbG9wZSA9
PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgeworICAgICAgICBpbnRl
cnNlY3Rpb24uc2V0WChkMS54KCkpOworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUg
KiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICAKKyAgICAvLyBGaW5kIHggYXQgaW50ZXJzZWN0aW9uLCB3aGVyZSB5cyBvdmVybGFw
OyB4ID0gKGMnIC0gYykgLyAobSAtIG0nKQorICAgIGludGVyc2VjdGlvbi5zZXRYKChkT2Zmc2V0
IC0gcE9mZnNldCkgLyAocFNsb3BlIC0gZFNsb3BlKSk7CisgICAgaW50ZXJzZWN0aW9uLnNldFko
cFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOworICAgIHJldHVybiB0cnVlOwor
fQorCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzKQorewor
ICAgIEludFJlY3QgcmVzdWx0OworCisgICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgcmVzdWx0LnVu
aXRlKHJlY3RzW2ldKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0Zsb2F0UmVjdCB1bmlv
blJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQoreworICAgIEZsb2F0UmVjdCBy
ZXN1bHQ7CisKKyAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0p
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxv
YXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVz
dFJlY3QpCit7CisgICAgaWYgKCFzcmNSZWN0LndpZHRoKCkgfHwgIXNyY1JlY3QuaGVpZ2h0KCkp
CisgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKKworICAgIGZsb2F0IHdpZHRoU2NhbGUgPSBk
ZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgpOworICAgIGZsb2F0IGhlaWdodFNjYWxl
ID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LmhlaWdodCgpOworICAgIHJldHVybiBGbG9h
dFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgpIC0gc3JjUmVjdC54KCkpICogd2lkdGhTY2FsZSwK
KyAgICAgICAgZGVzdFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0U2Nh
bGUsCisgICAgICAgIHIud2lkdGgoKSAqIHdpZHRoU2NhbGUsIHIuaGVpZ2h0KCkgKiBoZWlnaHRT
Y2FsZSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dlb21ldHJ5VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlMzczMTgxYmJjYTVhNmJjMmIwOGMy
YTM1OWMzM2IzZjUyOWJmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIEdlb21ldHJ5VXRpbGl0aWVzX2gKKyNkZWZpbmUgR2VvbWV0cnlVdGls
aXRpZXNfaAorCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBm
aW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9h
dCYgYyk7CisKKy8vIEZpbmQgcG9pbnQgd2hlcmUgbGluZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJz
IG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFsc2UgaWYgdGhlIGxpbmVzIGRvbid0IGlu
dGVyc2VjdC4KK2Jvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29u
c3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50
JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKKworSW50UmVjdCB1bmlvblJlY3QoY29u
c3QgVmVjdG9yPEludFJlY3Q+Jik7CitGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxG
bG9hdFJlY3Q+Jik7CisKKy8vIE1hcCByZWN0IHIgZnJvbSBzcmNSZWN0IHRvIGFuIGVxdWl2YWxl
bnQgcmVjdCBpbiBkZXN0UmVjdC4KK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7CisK
K30KKworI2VuZGlmIC8vIEdlb21ldHJ5VXRpbGl0aWVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCmluZGV4IDkxOTk3ZGU1Y2U5MGY2NjBmZDFkMDk3ZTJk
MDAzNGJhODY1ZmQ3NTguLjA5ZjZkNTA5ZTRiNzk1OWY2M2M1OGNjNDBjZjgwMjBlMjQ4MDE2NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaApAQCAtMTI3
LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBFdmFzX1BvaW50KCkgY29uc3Q7CiAj
ZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lk
IGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQg
bV94LCBtX3k7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3Bw
CmluZGV4IDBlOGZmOTc4NTFiNGI0OWJmOTg5NjUxYzQ1YjgzZmU0ZTFmZDcyOTYuLjc4ZTBkNTdh
Njg4OTdhN2JjOThkN2U1M2U2ZjhkZDZlMGNhNDkyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCkBAIC0xNDYsMTcgKzE0Niw2IEBAIEludFNpemUg
SW50UmVjdDo6ZGlmZmVyZW5jZVRvUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50KSBjb25zdAog
ICAgIHJldHVybiBJbnRTaXplKHhkaXN0YW5jZSwgeWRpc3RhbmNlKTsKIH0KIAotSW50UmVjdCB1
bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKLXsKLSAgICBJbnRSZWN0IHJl
c3VsdDsKLQotICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7
Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIEludFJlY3Q6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IDQ2MDZi
MGVjNzQ2YWE5Mzc3MjViOTA0NmFlMmU5NWI2ODQ4ZDdmMDAuLmJmMDIzNzk2NTI2YTJlZDE3NjBl
MjJjNjUyZjc0ZWIzYmFlMTFmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAj
aW5jbHVkZSAiTGF5b3V0VW5pdC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVT
RShDRykKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xOTcsNyArMTk2LDcgQEAg
cHVibGljOgogICAgIG9wZXJhdG9yIE5TUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRT
dHJlYW0mIG91dCkgY29uc3Q7CiAKICAgICBzdGF0aWMgSW50UmVjdCBpbmZpbml0ZVJlY3QoKTsK
ICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIyMSw4ICsyMjAsNiBAQCBpbmxpbmUg
SW50UmVjdCB1bmlvblJlY3QoY29uc3QgSW50UmVjdCYgYSwgY29uc3QgSW50UmVjdCYgYikKICAg
ICByZXR1cm4gYzsKIH0KIAotSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+
Jik7Ci0KIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgSW50UmVjdCYgYSwgY29uc3QgSW50
UmVjdCYgYikKIHsKICAgICByZXR1cm4gYS5sb2NhdGlvbigpID09IGIubG9jYXRpb24oKSAmJiBh
LnNpemUoKSA9PSBiLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFNpemUuaAppbmRleCA3YzViNThjZjFkMDUxOThjOGViNzU1NjZiZWVlYWEzNjg2YWZiYzQ2Li45
YjU0ZmI2MDM3YTNhMTI0YjU4NDlkMWIyZmQ3ZDMwMmFhODQyZDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IEludFNpemVfaAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHd0Zi9QcmludFN0
cmVhbS5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKQEAg
LTUxLDYgKzUwLDEwIEBAIHR5cGVkZWYgc3RydWN0IF9OU1NpemUgTlNTaXplOwogdHlwZWRlZiBz
dHJ1Y3QgdGFnU0laRSBTSVpFOwogI2VuZGlmCiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgUHJp
bnRTdHJlYW07Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW50U2l6ZSB7CkBA
IC0xMzksNyArMTQyLDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFNJWkUoKSBjb25zdDsKICNl
bmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQg
ZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBt
X3dpZHRoLCBtX2hlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZmZTI0
YzY1OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRp
bGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEZy
YW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQzZWU3
ZGI1ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0ZjcxOTgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYgKzM0
LDcgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1
ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4ODI5
YWNiZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUg
IkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0ZpbmRJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0
b3IuY3BwCmluZGV4IDJhZDE5M2YxYjRhNzFiODA3NWFkMDQ3YWQzOWI2N2U4Y2VmODA2YTYuLjk1
MDM3M2U3NjdlYjM3MGViMzEwZjhmY2QyNTE5ZmRhNGY5N2UwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRl
ICJGaW5kSW5kaWNhdG9yLmgiCiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL0dlb21ldHJ5VXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFk
aWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9JbnRSZWN0Lmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227588</attachid>
            <date>2014-03-22 17:58:27 -0700</date>
            <delta_ts>2014-03-22 18:14:31 -0700</delta_ts>
            <desc>For EWS again</desc>
            <filename>bug-130645-20140322175805.patch</filename>
            <type>text/plain</type>
            <size>29200</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJhODAxODI2MzNh
M2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUwZjJjNmYyNzk2
Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiArMjQsOCBAQAog
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0YTJjNTY2NDhi
Li5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJ
bWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQ
b2ludC5jcHAKaW5kZXggNzkxZTAzZmM4NDI3NDUyM2FhZTVlYjI4OTQwNGIyOTQ5ZjcxMjBhMS4u
OTViZmVhMzgxNGFlOGU1ZTIyYzMzMTkyZjcxYWEwMzI1MjYxZDNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAKQEAgLTgwLDQ1ICs4MCw2
IEBAIEZsb2F0UG9pbnQgRmxvYXRQb2ludDo6bmFycm93UHJlY2lzaW9uKGRvdWJsZSB4LCBkb3Vi
bGUgeSkKICAgICByZXR1cm4gRmxvYXRQb2ludChuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHgpLCBu
YXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHkpKTsKIH0KIAotZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZs
b2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQmIGMpCi17Ci0gICAgaWYg
KHAyLngoKSA9PSBwMS54KCkpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKTsKLQotICAgIC8vIHkgPSBteCArIGMKLSAgICBmbG9hdCBzbG9wZSA9
IChwMi55KCkgLSBwMS55KCkpIC8gKHAyLngoKSAtIHAxLngoKSk7Ci0gICAgYyA9IHAxLnkoKSAt
IHNsb3BlICogcDEueCgpOwotICAgIHJldHVybiBzbG9wZTsKLX0KLQotYm9vbCBmaW5kSW50ZXJz
ZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3Qg
RmxvYXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNl
Y3Rpb24pIAotewotICAgIGZsb2F0IHBPZmZzZXQgPSAwOwotICAgIGZsb2F0IHBTbG9wZSA9IGZp
bmRTbG9wZShwMSwgcDIsIHBPZmZzZXQpOwotCi0gICAgZmxvYXQgZE9mZnNldCA9IDA7Ci0gICAg
ZmxvYXQgZFNsb3BlID0gZmluZFNsb3BlKGQxLCBkMiwgZE9mZnNldCk7Ci0KLSAgICBpZiAoZFNs
b3BlID09IHBTbG9wZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIGlmIChwU2xv
cGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKLSAgICAgICAg
aW50ZXJzZWN0aW9uLnNldFgocDEueCgpKTsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkoZFNs
b3BlICogaW50ZXJzZWN0aW9uLngoKSArIGRPZmZzZXQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgaWYgKGRTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5m
aW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChkMS54KCkpOwotICAgICAgICBp
bnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICAKLSAgICAvLyBGaW5kIHggYXQgaW50ZXJz
ZWN0aW9uLCB3aGVyZSB5cyBvdmVybGFwOyB4ID0gKGMnIC0gYykgLyAobSAtIG0nKQotICAgIGlu
dGVyc2VjdGlvbi5zZXRYKChkT2Zmc2V0IC0gcE9mZnNldCkgLyAocFNsb3BlIC0gZFNsb3BlKSk7
Ci0gICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZz
ZXQpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEZsb2F0UG9pbnQ6OmR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnRmKCIoJWYsICVmKSIsIHgoKSwgeSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuaAppbmRl
eCBkZGMzM2RkZDk4NTg3MWExNDgzOWZiYjQyOWVhYjc0ZTIxZWFmM2EzLi41Mzk4YzBjOWQ2MDMx
ZjA3ODAyODkxNjU0MGJhNzE0NzZhMTk1NGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogICAg
IEZsb2F0UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikg
Y29uc3Q7CiAgICAgRmxvYXRQb2ludCBtYXRyaXhUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNm
b3JtJikgY29uc3Q7CiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7Cisg
ICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAg
ICAgZmxvYXQgbV94LCBtX3k7CkBAIC0yMzUsMTEgKzIzNSw2IEBAIGlubGluZSBGbG9hdFNpemUg
dG9GbG9hdFNpemUoY29uc3QgRmxvYXRQb2ludCYgYSkKICAgICByZXR1cm4gRmxvYXRTaXplKGEu
eCgpLCBhLnkoKSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwg
Y29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKLQotLy8gRmluZCBwb2ludCB3aGVyZSBs
aW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJucyBm
YWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgotYm9vbCBmaW5kSW50ZXJzZWN0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQ
b2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24p
OwotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRmxvYXRSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zs
b2F0UmVjdC5jcHAKaW5kZXggZmU3MDZiNzE1MzBmNmIwNDRmZTMwODFiNTE4Nzg5NmUzYzJlNGYz
Ny4uYTdjMDhlNjc3MTJlYmI4OGMyNTRjYmNmZjZkOGQxNzg4NGExN2YyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCkBAIC0xNDcsMTcgKzE0
Nyw2IEBAIHZvaWQgRmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpCiAgICAgbV9z
aXplLnNldEhlaWdodChoZWlnaHQoKSAqIHN5KTsKIH0KIAotRmxvYXRSZWN0IHVuaW9uUmVjdChj
b25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMpCi17Ci0gICAgRmxvYXRSZWN0IHJlc3VsdDsK
LQotICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGNvdW50OyArK2kpCi0gICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7Ci0KLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIEZsb2F0UmVjdDo6Zml0VG9Qb2ludHMoY29uc3Qg
RmxvYXRQb2ludCYgcDAsIGNvbnN0IEZsb2F0UG9pbnQmIHAxKQogewogICAgIGZsb2F0IGxlZnQg
PSBzdGQ6Om1pbihwMC54KCksIHAxLngoKSk7CkBAIC0yNDAsMTggKzIyOSw2IEBAIEludFJlY3Qg
cm91bmRlZEludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiBJbnRSZWN0
KHJvdW5kZWRJbnRQb2ludChyZWN0LmxvY2F0aW9uKCkpLCByb3VuZGVkSW50U2l6ZShyZWN0LnNp
emUoKSkpOwogfQogCi1GbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0
IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKLXsKLSAgICBp
ZiAoc3JjUmVjdC53aWR0aCgpID09IDAgfHwgc3JjUmVjdC5oZWlnaHQoKSA9PSAwKQotICAgICAg
ICByZXR1cm4gRmxvYXRSZWN0KCk7Ci0KLSAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVzdFJlY3Qu
d2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKTsKLSAgICBmbG9hdCBoZWlnaHRTY2FsZSA9IGRlc3RS
ZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKTsKLSAgICByZXR1cm4gRmxvYXRSZWN0KGRl
c3RSZWN0LngoKSArIChyLngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCi0gICAgICAg
ICAgICAgICAgICAgICBkZXN0UmVjdC55KCkgKyAoci55KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWln
aHRTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIHIud2lkdGgoKSAqIHdpZHRoU2NhbGUsIHIu
aGVpZ2h0KCkgKiBoZWlnaHRTY2FsZSk7Ci19Ci0KIHZvaWQgRmxvYXRSZWN0OjpkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKaW5k
ZXggMTFmMWVhOTVhZDEwODcwOGFkNzk4MzY5MDgxM2RiYzllOTljOTE4ZC4uZDM0NmRkNTVjNjBh
NjBjN2FhMTA0MGRhYmJkMzMxM2VjZDQ1MDljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgRmxvYXRS
ZWN0X2gKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKICNpZiBVU0UoQ0cpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTc3LDcg
KzE3Niw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBjYWlyb19yZWN0YW5nbGVfdCgpIGNvbnN0
OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAg
dm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKICAgICBzdGF0aWMgRmxv
YXRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0ZSgpIGNvbnN0OwpAQCAt
MjA4LDggKzIwNyw2IEBAIGlubGluZSBGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IEZsb2F0UmVj
dCYgYSwgY29uc3QgRmxvYXRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1GbG9hdFJlY3Qg
dW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+Jik7Ci0KIGlubGluZSBGbG9hdFJlY3Qm
IG9wZXJhdG9yKz0oRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJlY3QmIGIpCiB7CiAgICAgYS5t
b3ZlKGIueCgpLCBiLnkoKSk7CkBAIC0yNTMsOSArMjUwLDYgQEAgSW50UmVjdCBlbmNsb3NlZElu
dFJlY3QoY29uc3QgRmxvYXRSZWN0Jik7CiAKIEludFJlY3Qgcm91bmRlZEludFJlY3QoY29uc3Qg
RmxvYXRSZWN0Jik7CiAKLS8vIE1hcCByZWN0IHIgZnJvbSBzcmNSZWN0IHRvIGFuIGVxdWl2YWxl
bnQgcmVjdCBpbiBkZXN0UmVjdC4KLUZsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYg
ciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsK
LQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0U2l6ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFNpemUuY3BwCmluZGV4IDZlZTRjNDA0M2JhMzY5MWI1ZjE0MjQ2YzAxMDE3NWM1MTdiZTBmOWUu
LmU3ZWI0MmQzNjI4YzE3Y2JhNjEwYzU0MWI3NjdkMDZiMTRhYTg5NjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8bWF0
aC5oPgorI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmgKaW5kZXgg
MjMyNTY1Y2YyN2Q1YjIyYTg1NmU5ZTViZTNhYWIwZGViNTA5MmJjOS4uNzNjYzBmZWE4ZDRkNTky
NGNhMWU0NGRmOTJlOGNlMjZiMDZkZTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRTaXplLmgKQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgb3Bl
cmF0b3IgTlNTaXplKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVh
bSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3dpZHRoLCBtX2hlaWdodDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45MGM5NzI1MTY4Y2RjZjNhNzNlYjg2YjM1ZWI1YWVhY2ZlODQzZjgwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlV
dGlsaXRpZXMuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9h
dFBvaW50JiBwMiwgZmxvYXQmIGMpCit7CisgICAgaWYgKHAyLngoKSA9PSBwMS54KCkpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKTsKKworICAg
IC8vIHkgPSBteCArIGMKKyAgICBmbG9hdCBzbG9wZSA9IChwMi55KCkgLSBwMS55KCkpIC8gKHAy
LngoKSAtIHAxLngoKSk7CisgICAgYyA9IHAxLnkoKSAtIHNsb3BlICogcDEueCgpOworICAgIHJl
dHVybiBzbG9wZTsKK30KKworYm9vbCBmaW5kSW50ZXJzZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQm
IHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxvYXRQb2ludCYgZDEsIGNvbnN0IEZs
b2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rpb24pIAoreworICAgIGZsb2F0IHBP
ZmZzZXQgPSAwOworICAgIGZsb2F0IHBTbG9wZSA9IGZpbmRTbG9wZShwMSwgcDIsIHBPZmZzZXQp
OworCisgICAgZmxvYXQgZE9mZnNldCA9IDA7CisgICAgZmxvYXQgZFNsb3BlID0gZmluZFNsb3Bl
KGQxLCBkMiwgZE9mZnNldCk7CisKKyAgICBpZiAoZFNsb3BlID09IHBTbG9wZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIAorICAgIGlmIChwU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0
czxmbG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgocDEueCgp
KTsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkoZFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSAr
IGRPZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKGRTbG9wZSA9
PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgeworICAgICAgICBpbnRl
cnNlY3Rpb24uc2V0WChkMS54KCkpOworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUg
KiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICAKKyAgICAvLyBGaW5kIHggYXQgaW50ZXJzZWN0aW9uLCB3aGVyZSB5cyBvdmVybGFw
OyB4ID0gKGMnIC0gYykgLyAobSAtIG0nKQorICAgIGludGVyc2VjdGlvbi5zZXRYKChkT2Zmc2V0
IC0gcE9mZnNldCkgLyAocFNsb3BlIC0gZFNsb3BlKSk7CisgICAgaW50ZXJzZWN0aW9uLnNldFko
cFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOworICAgIHJldHVybiB0cnVlOwor
fQorCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mIHJlY3RzKQorewor
ICAgIEludFJlY3QgcmVzdWx0OworCisgICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgcmVzdWx0LnVu
aXRlKHJlY3RzW2ldKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0Zsb2F0UmVjdCB1bmlv
blJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQoreworICAgIEZsb2F0UmVjdCBy
ZXN1bHQ7CisKKyAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0p
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxv
YXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVz
dFJlY3QpCit7CisgICAgaWYgKCFzcmNSZWN0LndpZHRoKCkgfHwgIXNyY1JlY3QuaGVpZ2h0KCkp
CisgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKKworICAgIGZsb2F0IHdpZHRoU2NhbGUgPSBk
ZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgpOworICAgIGZsb2F0IGhlaWdodFNjYWxl
ID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LmhlaWdodCgpOworICAgIHJldHVybiBGbG9h
dFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgpIC0gc3JjUmVjdC54KCkpICogd2lkdGhTY2FsZSwK
KyAgICAgICAgZGVzdFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0U2Nh
bGUsCisgICAgICAgIHIud2lkdGgoKSAqIHdpZHRoU2NhbGUsIHIuaGVpZ2h0KCkgKiBoZWlnaHRT
Y2FsZSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dlb21ldHJ5VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlMzczMTgxYmJjYTVhNmJjMmIwOGMy
YTM1OWMzM2IzZjUyOWJmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIEdlb21ldHJ5VXRpbGl0aWVzX2gKKyNkZWZpbmUgR2VvbWV0cnlVdGls
aXRpZXNfaAorCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBm
aW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9h
dCYgYyk7CisKKy8vIEZpbmQgcG9pbnQgd2hlcmUgbGluZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJz
IG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFsc2UgaWYgdGhlIGxpbmVzIGRvbid0IGlu
dGVyc2VjdC4KK2Jvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29u
c3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50
JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsKKworSW50UmVjdCB1bmlvblJlY3QoY29u
c3QgVmVjdG9yPEludFJlY3Q+Jik7CitGbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxG
bG9hdFJlY3Q+Jik7CisKKy8vIE1hcCByZWN0IHIgZnJvbSBzcmNSZWN0IHRvIGFuIGVxdWl2YWxl
bnQgcmVjdCBpbiBkZXN0UmVjdC4KK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7CisK
K30KKworI2VuZGlmIC8vIEdlb21ldHJ5VXRpbGl0aWVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCmluZGV4IDkxOTk3ZGU1Y2U5MGY2NjBmZDFkMDk3ZTJk
MDAzNGJhODY1ZmQ3NTguLjA5ZjZkNTA5ZTRiNzk1OWY2M2M1OGNjNDBjZjgwMjBlMjQ4MDE2NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaApAQCAtMTI3
LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBFdmFzX1BvaW50KCkgY29uc3Q7CiAj
ZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lk
IGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQg
bV94LCBtX3k7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3Bw
CmluZGV4IDBlOGZmOTc4NTFiNGI0OWJmOTg5NjUxYzQ1YjgzZmU0ZTFmZDcyOTYuLjc4ZTBkNTdh
Njg4OTdhN2JjOThkN2U1M2U2ZjhkZDZlMGNhNDkyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCkBAIC0xNDYsMTcgKzE0Niw2IEBAIEludFNpemUg
SW50UmVjdDo6ZGlmZmVyZW5jZVRvUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50KSBjb25zdAog
ICAgIHJldHVybiBJbnRTaXplKHhkaXN0YW5jZSwgeWRpc3RhbmNlKTsKIH0KIAotSW50UmVjdCB1
bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKLXsKLSAgICBJbnRSZWN0IHJl
c3VsdDsKLQotICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7
Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIEludFJlY3Q6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IDQ2MDZi
MGVjNzQ2YWE5Mzc3MjViOTA0NmFlMmU5NWI2ODQ4ZDdmMDAuLmJmMDIzNzk2NTI2YTJlZDE3NjBl
MjJjNjUyZjc0ZWIzYmFlMTFmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAj
aW5jbHVkZSAiTGF5b3V0VW5pdC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVT
RShDRykKIHR5cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xOTcsNyArMTk2LDcgQEAg
cHVibGljOgogICAgIG9wZXJhdG9yIE5TUmVjdCgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRT
dHJlYW0mIG91dCkgY29uc3Q7CiAKICAgICBzdGF0aWMgSW50UmVjdCBpbmZpbml0ZVJlY3QoKTsK
ICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIyMSw4ICsyMjAsNiBAQCBpbmxpbmUg
SW50UmVjdCB1bmlvblJlY3QoY29uc3QgSW50UmVjdCYgYSwgY29uc3QgSW50UmVjdCYgYikKICAg
ICByZXR1cm4gYzsKIH0KIAotSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+
Jik7Ci0KIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgSW50UmVjdCYgYSwgY29uc3QgSW50
UmVjdCYgYikKIHsKICAgICByZXR1cm4gYS5sb2NhdGlvbigpID09IGIubG9jYXRpb24oKSAmJiBh
LnNpemUoKSA9PSBiLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
dFNpemUuaAppbmRleCA3YzViNThjZjFkMDUxOThjOGViNzU1NjZiZWVlYWEzNjg2YWZiYzQ2Li45
YjU0ZmI2MDM3YTNhMTI0YjU4NDlkMWIyZmQ3ZDMwMmFhODQyZDQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IEludFNpemVfaAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHd0Zi9QcmludFN0
cmVhbS5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dTaXplIENHU2l6ZTsKQEAg
LTUxLDYgKzUwLDEwIEBAIHR5cGVkZWYgc3RydWN0IF9OU1NpemUgTlNTaXplOwogdHlwZWRlZiBz
dHJ1Y3QgdGFnU0laRSBTSVpFOwogI2VuZGlmCiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgUHJp
bnRTdHJlYW07Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW50U2l6ZSB7CkBA
IC0xMzksNyArMTQyLDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFNJWkUoKSBjb25zdDsKICNl
bmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQg
ZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBt
X3dpZHRoLCBtX2hlaWdodDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCmluZGV4IDllMWM4M2JkOGE5ODY3
ZmJhOTlkODU1Y2MyMGZiMDlkMjg0NDE2MjkuLmY0YjM4MzFhZTYwYjM5NzI3Y2EyNGNmZGE3NGQz
NzgxZDk1OGVhNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZmZTI0YzY1
OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQzZWU3ZGI1
ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0ZjcxOTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4ODI5YWNi
ZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkZy
YW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Zp
bmRJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3Iu
Y3BwCmluZGV4IDJhZDE5M2YxYjRhNzFiODA3NWFkMDQ3YWQzOWI2N2U4Y2VmODA2YTYuLjk1MDM3
M2U3NjdlYjM3MGViMzEwZjhmY2QyNTE5ZmRhNGY5N2UwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJG
aW5kSW5kaWNhdG9yLmgiCiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0dlb21ldHJ5VXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFkaWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227589</attachid>
            <date>2014-03-22 18:14:42 -0700</date>
            <delta_ts>2014-03-22 18:29:48 -0700</delta_ts>
            <desc>Will it never end?</desc>
            <filename>bug-130645-20140322181420.patch</filename>
            <type>text/plain</type>
            <size>29685</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJhODAxODI2MzNh
M2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUwZjJjNmYyNzk2
Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiArMjQsOCBAQAog
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0YTJjNTY2NDhi
Li5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJ
bWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dp
ZGdldEJhY2tpbmdTdG9yZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9X
aWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCmluZGV4IDliMGUwZjcwYTllNzRjYzFlNTRkMGFiYzk3
MmYzYWNmMGVmNjlkYTUuLjM5ZDI2NTcwYmE4MmM4ZDkyNDNjODI4MGY4Y2I0YzM1NzkwZmU0ZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdT
dG9yZUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFj
a2luZ1N0b3JlQ2Fpcm8uaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBXaWRnZXRCYWNraW5n
U3RvcmVDYWlyb19oCiAKICNpbmNsdWRlICJXaWRnZXRCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCA3OTFlMDNmYzg0Mjc0
NTIzYWFlNWViMjg5NDA0YjI5NDlmNzEyMGExLi45NWJmZWEzODE0YWU4ZTVlMjJjMzMxOTJmNzFh
YTAzMjUyNjFkM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcApAQCAtODAsNDUgKzgwLDYgQEAgRmxvYXRQb2ludCBGbG9hdFBvaW50Ojpu
YXJyb3dQcmVjaXNpb24oZG91YmxlIHgsIGRvdWJsZSB5KQogICAgIHJldHVybiBGbG9hdFBvaW50
KG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeCksIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeSkpOwog
fQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHAyLCBmbG9hdCYgYykKLXsKLSAgICBpZiAocDIueCgpID09IHAxLngoKSkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOwotCi0gICAgLy8g
eSA9IG14ICsgYwotICAgIGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgp
IC0gcDEueCgpKTsKLSAgICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7Ci0gICAgcmV0dXJu
IHNsb3BlOwotfQotCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEs
IGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQ
b2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbikgCi17Ci0gICAgZmxvYXQgcE9mZnNl
dCA9IDA7Ci0gICAgZmxvYXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7Ci0K
LSAgICBmbG9hdCBkT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEs
IGQyLCBkT2Zmc2V0KTsKLQotICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOwot
ICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9m
ZnNldCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBpZiAoZFNsb3BlID09IHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2Vj
dGlvbi5zZXRYKGQxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGlu
dGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
ICAgIAotICAgIC8vIEZpbmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHgg
PSAoYycgLSBjKSAvIChtIC0gbScpCi0gICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBw
T2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xvcGUpKTsKLSAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xv
cGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IHZvaWQgRmxvYXRQb2ludDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91
dC5wcmludGYoIiglZiwgJWYpIiwgeCgpLCB5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IGRkYzMzZGRkOTg1ODcxYTE0ODM5ZmJiNDI5
ZWFiNzRlMjFlYWYzYTMuLjUzOThjMGM5ZDYwMzFmMDc4MDI4OTE2NTQwYmE3MTQ3NmExOTU0ZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBtYXRyaXhUcmFuc2Zvcm0o
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBjb25zdDsKICAgICBGbG9hdFBvaW50IG1hdHJp
eFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSBjb25zdDsKIAotICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVh
bSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3gsIG1feTsKQEAgLTIzNSwx
MSArMjM1LDYgQEAgaW5saW5lIEZsb2F0U2l6ZSB0b0Zsb2F0U2l6ZShjb25zdCBGbG9hdFBvaW50
JiBhKQogICAgIHJldHVybiBGbG9hdFNpemUoYS54KCksIGEueSgpKTsKIH0KIAotZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOwotCi0vLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAppbmRleCBmZTcwNmI3MTUz
MGY2YjA0NGZlMzA4MWI1MTg3ODk2ZTNjMmU0ZjM3Li5hN2MwOGU2NzcxMmViYjg4YzI1NGNiY2Zm
NmQ4ZDE3ODg0YTE3ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5jcHAKQEAgLTE0NywxNyArMTQ3LDYgQEAgdm9pZCBGbG9hdFJlY3Q6OnNjYWxl
KGZsb2F0IHN4LCBmbG9hdCBzeSkKICAgICBtX3NpemUuc2V0SGVpZ2h0KGhlaWdodCgpICogc3kp
OwogfQogCi1GbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0
cykKLXsKLSAgICBGbG9hdFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0gcmVjdHMu
c2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAg
cmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHZvaWQg
RmxvYXRSZWN0OjpmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQ
b2ludCYgcDEpCiB7CiAgICAgZmxvYXQgbGVmdCA9IHN0ZDo6bWluKHAwLngoKSwgcDEueCgpKTsK
QEAgLTI0MCwxOCArMjI5LDYgQEAgSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiAgICAgcmV0dXJuIEludFJlY3Qocm91bmRlZEludFBvaW50KHJlY3QubG9jYXRp
b24oKSksIHJvdW5kZWRJbnRTaXplKHJlY3Quc2l6ZSgpKSk7CiB9CiAKLUZsb2F0UmVjdCBtYXBS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIGRlc3RSZWN0KQotewotICAgIGlmIChzcmNSZWN0LndpZHRoKCkgPT0gMCB8fCBz
cmNSZWN0LmhlaWdodCgpID09IDApCi0gICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLQotICAg
IGZsb2F0IHdpZHRoU2NhbGUgPSBkZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgpOwot
ICAgIGZsb2F0IGhlaWdodFNjYWxlID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LmhlaWdo
dCgpOwotICAgIHJldHVybiBGbG9hdFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgpIC0gc3JjUmVj
dC54KCkpICogd2lkdGhTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LnkoKSAr
IChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxlLAotICAgICAgICAgICAgICAgICAg
ICAgci53aWR0aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKLX0K
LQogdm9pZCBGbG9hdFJlY3Q6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBv
dXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCAxMWYxZWE5NWFkMTA4NzA4YWQ3OTgzNjkw
ODEzZGJjOWU5OWM5MThkLi5kMzQ2ZGQ1NWM2MGE2MGM3YWExMDQwZGFiYmQzMzEzZWNkNDUwOWNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaApAQCAt
MjgsNyArMjgsNiBAQAogI2RlZmluZSBGbG9hdFJlY3RfaAogCiAjaW5jbHVkZSAiRmxvYXRQb2lu
dC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3Ry
dWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xNzcsNyArMTc2LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIGNhaXJvX3JlY3RhbmdsZV90KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKIAogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5maW5pdGVSZWN0KCk7CiAgICAg
Ym9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMDgsOCArMjA3LDYgQEAgaW5saW5lIEZsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJlY3QmIGIpCiAg
ICAgcmV0dXJuIGM7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UmVjdD4mKTsKLQogaW5saW5lIEZsb2F0UmVjdCYgb3BlcmF0b3IrPShGbG9hdFJlY3QmIGEsIGNv
bnN0IEZsb2F0UmVjdCYgYikKIHsKICAgICBhLm1vdmUoYi54KCksIGIueSgpKTsKQEAgLTI1Myw5
ICsyNTAsNiBAQCBJbnRSZWN0IGVuY2xvc2VkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAog
SW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAotLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgotRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKaW5kZXggNmVlNGM0MDQzYmEz
NjkxYjVmMTQyNDZjMDEwMTc1YzUxN2JlMGY5ZS4uZTdlYjQyZDM2MjhjMTdjYmE2MTBjNTQxYjc2
N2QwNmIxNGFhODk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRTaXplLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFNpemUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8d3RmL1ByaW50U3Ry
ZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCAyMzI1NjVjZjI3ZDViMjJhODU2ZTllNWJlM2Fh
YjBkZWI1MDkyYmM5Li43M2NjMGZlYThkNGQ1OTI0Y2ExZTQ0ZGY5MmU4Y2UyNmIwNmRlMWRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaApAQCAtMTE4
LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNlbmRp
ZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVt
cChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1f
d2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYzk3MjUxNjhjZGNmM2E3
M2ViODZiMzVlYjVhZWFjZmU4NDNmODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlV
dGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBmaW5kU2xvcGUoY29u
c3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYykKK3sKKyAg
ICBpZiAocDIueCgpID09IHAxLngoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpOworCisgICAgLy8geSA9IG14ICsgYworICAgIGZsb2F0IHNs
b3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgpIC0gcDEueCgpKTsKKyAgICBjID0gcDEu
eSgpIC0gc2xvcGUgKiBwMS54KCk7CisgICAgcmV0dXJuIHNsb3BlOworfQorCitib29sIGZpbmRJ
bnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBj
b25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGlu
dGVyc2VjdGlvbikgCit7CisgICAgZmxvYXQgcE9mZnNldCA9IDA7CisgICAgZmxvYXQgcFNsb3Bl
ID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7CisKKyAgICBmbG9hdCBkT2Zmc2V0ID0gMDsK
KyAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEsIGQyLCBkT2Zmc2V0KTsKKworICAgIGlm
IChkU2xvcGUgPT0gcFNsb3BlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYg
KHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgeworICAg
ICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0
WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9mZnNldCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICBpZiAoZFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKGQxLngoKSk7CisgICAg
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIC8vIEZpbmQgeCBhdCBp
bnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHggPSAoYycgLSBjKSAvIChtIC0gbScpCisg
ICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBwT2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xv
cGUpKTsKKyAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsg
cE9mZnNldCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAgSW50UmVjdCByZXN1bHQ7CisKKyAgICBz
aXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0
PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9
IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisg
ICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKK3sKKyAgICBpZiAoIXNyY1JlY3Qu
d2lkdGgoKSB8fCAhc3JjUmVjdC5oZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgp
OworCisgICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0Lndp
ZHRoKCk7CisgICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1Jl
Y3QuaGVpZ2h0KCk7CisgICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54KCkg
LSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAorICAgICAgICBkZXN0UmVjdC55KCkgKyAoci55
KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWlnaHRTY2FsZSwKKyAgICAgICAgci53aWR0aCgpICogd2lk
dGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWUzNzMxODFiYmNhNWE2YmMyYjA4YzJhMzU5YzMzYjNmNTI5YmY5MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0
aWVzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR2VvbWV0cnlVdGls
aXRpZXNfaAorI2RlZmluZSBHZW9tZXRyeVV0aWxpdGllc19oCisKKyNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKKworLy8gRmluZCBwb2ludCB3aGVy
ZSBsaW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJu
cyBmYWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgorYm9vbCBmaW5kSW50ZXJzZWN0
aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxv
YXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rp
b24pOworCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKK0Zsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKKworLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgorRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKworfQorCisjZW5kaWYgLy8gR2VvbWV0cnlVdGls
aXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKaW5k
ZXggOTE5OTdkZTVjZTkwZjY2MGZkMWQwOTdlMmQwMDM0YmE4NjVmZDc1OC4uMDlmNmQ1MDllNGI3
OTU5ZjYzYzU4Y2M0MGNmODAyMGUyNDgwMTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgogICAgIG9w
ZXJhdG9yIEV2YXNfUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBtX3gsIG1feTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5kZXggMGU4ZmY5Nzg1MWI0YjQ5YmY5ODk2
NTFjNDViODNmZTRlMWZkNzI5Ni4uNzhlMGQ1N2E2ODg5N2E3YmM5OGQ3ZTUzZTZmOGRkNmUwY2E0
OTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAK
QEAgLTE0NiwxNyArMTQ2LDYgQEAgSW50U2l6ZSBJbnRSZWN0OjpkaWZmZXJlbmNlVG9Qb2ludChj
b25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiAgICAgcmV0dXJuIEludFNpemUoeGRpc3RhbmNl
LCB5ZGlzdGFuY2UpOwogfQogCi1JbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVj
dD4mIHJlY3RzKQotewotICAgIEludFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0g
cmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAg
ICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
IHZvaWQgSW50UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5w
cmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDYwNmIwZWM3NDZhYTkzNzcyNWI5MDQ2YWUyZTk1YjY4
NDhkN2YwMC4uYmYwMjM3OTY1MjZhMmVkMTc2MGUyMmM2NTJmNzRlYjNiYWUxMWY2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJMYXlvdXRVbml0LmgiCi0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0
IENHUmVjdDsKQEAgLTE5Nyw3ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgTlNSZWN0
KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogICAgIHN0
YXRpYyBJbnRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0ZSgpIGNvbnN0
OwpAQCAtMjIxLDggKzIyMCw2IEBAIGlubGluZSBJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBJbnRS
ZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1JbnRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKLQogaW5saW5lIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBJbnRSZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogewogICAgIHJldHVybiBhLmxv
Y2F0aW9uKCkgPT0gYi5sb2NhdGlvbigpICYmIGEuc2l6ZSgpID09IGIuc2l6ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCmluZGV4IDdjNWI1OGNmMWQwNTE5
OGM4ZWI3NTU2NmJlZWVhYTM2ODZhZmJjNDYuLjliNTRmYjYwMzdhM2ExMjRiNTg0OWQxYjJmZDdk
MzAyYWE4NDJkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXpl
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSW50U2l6ZV9oCiAKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKICNpZiBVU0UoQ0cpCiB0eXBl
ZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwpAQCAtNTEsNiArNTAsMTAgQEAgdHlwZWRlZiBzdHJ1
Y3QgX05TU2l6ZSBOU1NpemU7CiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7CiAjZW5kaWYK
IAorbmFtZXNwYWNlIFdURiB7CitjbGFzcyBQcmludFN0cmVhbTsKK30KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBJbnRTaXplIHsKQEAgLTEzOSw3ICsxNDIsNyBAQCBwdWJsaWM6CiAg
ICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1fd2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uLmgKaW5kZXggOWUxYzgzYmQ4YTk4NjdmYmE5OWQ4NTVjYzIwZmIwOWQyODQ0MTYyOS4u
ZjRiMzgzMWFlNjBiMzk3MjdjYTI0Y2ZkYTc0ZDM3ODFkOTU4ZWE2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggNzI2ZGE2
MDA2MWEwMjRhZWFjMmEzM2RjNTNmZmZlMjRjNjU5ZDg0Ni4uMDhkYmE3ZGY4Yjg4ODNmNmMzZWVm
NjRkNDA1YTg0ODQ4ZWVlZDUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRmxv
YXRSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4
IGMxODY2OGRmOGEzOWQ3ZjIxMTgyNDNlZTdkYjVkNDE4YjE1NzdlZjUuLmZjNjRkZjkzNzQxZGQ0
OThmMjkyMmMxZDg0Y2Y4NDMxOTRmNzE5ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKKyNpbmNsdWRl
ICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIkhUTUxBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZDYyNjliMmE3
Yjg4YjMxYjU0MWU3MjFkNTVmYzVkODg4MjlhY2JmOS4uMDBiOWJhOTc2MWMyNTc2MmIxODVlNWU5
NjA2MzI2M2I1YWQwNDU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZy
YW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR2VvbWV0
cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJI
VE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKaW5kZXggMmFkMTkzZjFiNGE3MWI4MDc1
YWQwNDdhZDM5YjY3ZThjZWY4MDZhNi4uOTUwMzczZTc2N2ViMzcwZWIzMTBmOGZjZDI1MTlmZGE0
Zjk3ZTA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcApA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKIAogI2luY2x1ZGUg
IlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvR2VvbWV0cnlVdGlsaXRpZXMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYWRpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227591</attachid>
            <date>2014-03-22 18:29:54 -0700</date>
            <delta_ts>2014-03-22 18:39:50 -0700</delta_ts>
            <desc>Apparently not</desc>
            <filename>bug-130645-20140322182932.patch</filename>
            <type>text/plain</type>
            <size>30169</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJhODAxODI2MzNh
M2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUwZjJjNmYyNzk2
Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiArMjQsOCBAQAog
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0YTJjNTY2NDhi
Li5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJ
bWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dp
ZGdldEJhY2tpbmdTdG9yZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9X
aWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCmluZGV4IDliMGUwZjcwYTllNzRjYzFlNTRkMGFiYzk3
MmYzYWNmMGVmNjlkYTUuLjM5ZDI2NTcwYmE4MmM4ZDkyNDNjODI4MGY4Y2I0YzM1NzkwZmU0ZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdT
dG9yZUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFj
a2luZ1N0b3JlQ2Fpcm8uaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBXaWRnZXRCYWNraW5n
U3RvcmVDYWlyb19oCiAKICNpbmNsdWRlICJXaWRnZXRCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCA3OTFlMDNmYzg0Mjc0
NTIzYWFlNWViMjg5NDA0YjI5NDlmNzEyMGExLi45NWJmZWEzODE0YWU4ZTVlMjJjMzMxOTJmNzFh
YTAzMjUyNjFkM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcApAQCAtODAsNDUgKzgwLDYgQEAgRmxvYXRQb2ludCBGbG9hdFBvaW50Ojpu
YXJyb3dQcmVjaXNpb24oZG91YmxlIHgsIGRvdWJsZSB5KQogICAgIHJldHVybiBGbG9hdFBvaW50
KG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeCksIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeSkpOwog
fQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHAyLCBmbG9hdCYgYykKLXsKLSAgICBpZiAocDIueCgpID09IHAxLngoKSkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOwotCi0gICAgLy8g
eSA9IG14ICsgYwotICAgIGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgp
IC0gcDEueCgpKTsKLSAgICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7Ci0gICAgcmV0dXJu
IHNsb3BlOwotfQotCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEs
IGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQ
b2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbikgCi17Ci0gICAgZmxvYXQgcE9mZnNl
dCA9IDA7Ci0gICAgZmxvYXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7Ci0K
LSAgICBmbG9hdCBkT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEs
IGQyLCBkT2Zmc2V0KTsKLQotICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOwot
ICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9m
ZnNldCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBpZiAoZFNsb3BlID09IHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2Vj
dGlvbi5zZXRYKGQxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGlu
dGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
ICAgIAotICAgIC8vIEZpbmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHgg
PSAoYycgLSBjKSAvIChtIC0gbScpCi0gICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBw
T2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xvcGUpKTsKLSAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xv
cGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IHZvaWQgRmxvYXRQb2ludDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91
dC5wcmludGYoIiglZiwgJWYpIiwgeCgpLCB5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IGRkYzMzZGRkOTg1ODcxYTE0ODM5ZmJiNDI5
ZWFiNzRlMjFlYWYzYTMuLjUzOThjMGM5ZDYwMzFmMDc4MDI4OTE2NTQwYmE3MTQ3NmExOTU0ZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBtYXRyaXhUcmFuc2Zvcm0o
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBjb25zdDsKICAgICBGbG9hdFBvaW50IG1hdHJp
eFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSBjb25zdDsKIAotICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVh
bSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3gsIG1feTsKQEAgLTIzNSwx
MSArMjM1LDYgQEAgaW5saW5lIEZsb2F0U2l6ZSB0b0Zsb2F0U2l6ZShjb25zdCBGbG9hdFBvaW50
JiBhKQogICAgIHJldHVybiBGbG9hdFNpemUoYS54KCksIGEueSgpKTsKIH0KIAotZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOwotCi0vLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAppbmRleCBmZTcwNmI3MTUz
MGY2YjA0NGZlMzA4MWI1MTg3ODk2ZTNjMmU0ZjM3Li5hN2MwOGU2NzcxMmViYjg4YzI1NGNiY2Zm
NmQ4ZDE3ODg0YTE3ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5jcHAKQEAgLTE0NywxNyArMTQ3LDYgQEAgdm9pZCBGbG9hdFJlY3Q6OnNjYWxl
KGZsb2F0IHN4LCBmbG9hdCBzeSkKICAgICBtX3NpemUuc2V0SGVpZ2h0KGhlaWdodCgpICogc3kp
OwogfQogCi1GbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0
cykKLXsKLSAgICBGbG9hdFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0gcmVjdHMu
c2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAg
cmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHZvaWQg
RmxvYXRSZWN0OjpmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQ
b2ludCYgcDEpCiB7CiAgICAgZmxvYXQgbGVmdCA9IHN0ZDo6bWluKHAwLngoKSwgcDEueCgpKTsK
QEAgLTI0MCwxOCArMjI5LDYgQEAgSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiAgICAgcmV0dXJuIEludFJlY3Qocm91bmRlZEludFBvaW50KHJlY3QubG9jYXRp
b24oKSksIHJvdW5kZWRJbnRTaXplKHJlY3Quc2l6ZSgpKSk7CiB9CiAKLUZsb2F0UmVjdCBtYXBS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIGRlc3RSZWN0KQotewotICAgIGlmIChzcmNSZWN0LndpZHRoKCkgPT0gMCB8fCBz
cmNSZWN0LmhlaWdodCgpID09IDApCi0gICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLQotICAg
IGZsb2F0IHdpZHRoU2NhbGUgPSBkZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgpOwot
ICAgIGZsb2F0IGhlaWdodFNjYWxlID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LmhlaWdo
dCgpOwotICAgIHJldHVybiBGbG9hdFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgpIC0gc3JjUmVj
dC54KCkpICogd2lkdGhTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LnkoKSAr
IChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxlLAotICAgICAgICAgICAgICAgICAg
ICAgci53aWR0aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKLX0K
LQogdm9pZCBGbG9hdFJlY3Q6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBv
dXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCAxMWYxZWE5NWFkMTA4NzA4YWQ3OTgzNjkw
ODEzZGJjOWU5OWM5MThkLi5kMzQ2ZGQ1NWM2MGE2MGM3YWExMDQwZGFiYmQzMzEzZWNkNDUwOWNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaApAQCAt
MjgsNyArMjgsNiBAQAogI2RlZmluZSBGbG9hdFJlY3RfaAogCiAjaW5jbHVkZSAiRmxvYXRQb2lu
dC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3Ry
dWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xNzcsNyArMTc2LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIGNhaXJvX3JlY3RhbmdsZV90KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKIAogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5maW5pdGVSZWN0KCk7CiAgICAg
Ym9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMDgsOCArMjA3LDYgQEAgaW5saW5lIEZsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJlY3QmIGIpCiAg
ICAgcmV0dXJuIGM7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UmVjdD4mKTsKLQogaW5saW5lIEZsb2F0UmVjdCYgb3BlcmF0b3IrPShGbG9hdFJlY3QmIGEsIGNv
bnN0IEZsb2F0UmVjdCYgYikKIHsKICAgICBhLm1vdmUoYi54KCksIGIueSgpKTsKQEAgLTI1Myw5
ICsyNTAsNiBAQCBJbnRSZWN0IGVuY2xvc2VkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAog
SW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAotLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgotRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKaW5kZXggNmVlNGM0MDQzYmEz
NjkxYjVmMTQyNDZjMDEwMTc1YzUxN2JlMGY5ZS4uZTdlYjQyZDM2MjhjMTdjYmE2MTBjNTQxYjc2
N2QwNmIxNGFhODk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRTaXplLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFNpemUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8d3RmL1ByaW50U3Ry
ZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCAyMzI1NjVjZjI3ZDViMjJhODU2ZTllNWJlM2Fh
YjBkZWI1MDkyYmM5Li43M2NjMGZlYThkNGQ1OTI0Y2ExZTQ0ZGY5MmU4Y2UyNmIwNmRlMWRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaApAQCAtMTE4
LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNlbmRp
ZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVt
cChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1f
d2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYzk3MjUxNjhjZGNmM2E3
M2ViODZiMzVlYjVhZWFjZmU4NDNmODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlV
dGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBmaW5kU2xvcGUoY29u
c3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYykKK3sKKyAg
ICBpZiAocDIueCgpID09IHAxLngoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpOworCisgICAgLy8geSA9IG14ICsgYworICAgIGZsb2F0IHNs
b3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgpIC0gcDEueCgpKTsKKyAgICBjID0gcDEu
eSgpIC0gc2xvcGUgKiBwMS54KCk7CisgICAgcmV0dXJuIHNsb3BlOworfQorCitib29sIGZpbmRJ
bnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBj
b25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGlu
dGVyc2VjdGlvbikgCit7CisgICAgZmxvYXQgcE9mZnNldCA9IDA7CisgICAgZmxvYXQgcFNsb3Bl
ID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7CisKKyAgICBmbG9hdCBkT2Zmc2V0ID0gMDsK
KyAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEsIGQyLCBkT2Zmc2V0KTsKKworICAgIGlm
IChkU2xvcGUgPT0gcFNsb3BlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYg
KHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgeworICAg
ICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0
WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9mZnNldCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICBpZiAoZFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKGQxLngoKSk7CisgICAg
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIC8vIEZpbmQgeCBhdCBp
bnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHggPSAoYycgLSBjKSAvIChtIC0gbScpCisg
ICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBwT2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xv
cGUpKTsKKyAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsg
cE9mZnNldCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAgSW50UmVjdCByZXN1bHQ7CisKKyAgICBz
aXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0
PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9
IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisg
ICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKK3sKKyAgICBpZiAoIXNyY1JlY3Qu
d2lkdGgoKSB8fCAhc3JjUmVjdC5oZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgp
OworCisgICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0Lndp
ZHRoKCk7CisgICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1Jl
Y3QuaGVpZ2h0KCk7CisgICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54KCkg
LSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAorICAgICAgICBkZXN0UmVjdC55KCkgKyAoci55
KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWlnaHRTY2FsZSwKKyAgICAgICAgci53aWR0aCgpICogd2lk
dGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWUzNzMxODFiYmNhNWE2YmMyYjA4YzJhMzU5YzMzYjNmNTI5YmY5MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0
aWVzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR2VvbWV0cnlVdGls
aXRpZXNfaAorI2RlZmluZSBHZW9tZXRyeVV0aWxpdGllc19oCisKKyNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKKworLy8gRmluZCBwb2ludCB3aGVy
ZSBsaW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJu
cyBmYWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgorYm9vbCBmaW5kSW50ZXJzZWN0
aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxv
YXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rp
b24pOworCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKK0Zsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKKworLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgorRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKworfQorCisjZW5kaWYgLy8gR2VvbWV0cnlVdGls
aXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKaW5k
ZXggOTE5OTdkZTVjZTkwZjY2MGZkMWQwOTdlMmQwMDM0YmE4NjVmZDc1OC4uMDlmNmQ1MDllNGI3
OTU5ZjYzYzU4Y2M0MGNmODAyMGUyNDgwMTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgogICAgIG9w
ZXJhdG9yIEV2YXNfUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBtX3gsIG1feTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5kZXggMGU4ZmY5Nzg1MWI0YjQ5YmY5ODk2
NTFjNDViODNmZTRlMWZkNzI5Ni4uNzhlMGQ1N2E2ODg5N2E3YmM5OGQ3ZTUzZTZmOGRkNmUwY2E0
OTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAK
QEAgLTE0NiwxNyArMTQ2LDYgQEAgSW50U2l6ZSBJbnRSZWN0OjpkaWZmZXJlbmNlVG9Qb2ludChj
b25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiAgICAgcmV0dXJuIEludFNpemUoeGRpc3RhbmNl
LCB5ZGlzdGFuY2UpOwogfQogCi1JbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVj
dD4mIHJlY3RzKQotewotICAgIEludFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0g
cmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAg
ICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
IHZvaWQgSW50UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5w
cmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDYwNmIwZWM3NDZhYTkzNzcyNWI5MDQ2YWUyZTk1YjY4
NDhkN2YwMC4uYmYwMjM3OTY1MjZhMmVkMTc2MGUyMmM2NTJmNzRlYjNiYWUxMWY2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJMYXlvdXRVbml0LmgiCi0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0
IENHUmVjdDsKQEAgLTE5Nyw3ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgTlNSZWN0
KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogICAgIHN0
YXRpYyBJbnRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0ZSgpIGNvbnN0
OwpAQCAtMjIxLDggKzIyMCw2IEBAIGlubGluZSBJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBJbnRS
ZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1JbnRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKLQogaW5saW5lIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBJbnRSZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogewogICAgIHJldHVybiBhLmxv
Y2F0aW9uKCkgPT0gYi5sb2NhdGlvbigpICYmIGEuc2l6ZSgpID09IGIuc2l6ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCmluZGV4IDdjNWI1OGNmMWQwNTE5
OGM4ZWI3NTU2NmJlZWVhYTM2ODZhZmJjNDYuLjliNTRmYjYwMzdhM2ExMjRiNTg0OWQxYjJmZDdk
MzAyYWE4NDJkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXpl
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSW50U2l6ZV9oCiAKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKICNpZiBVU0UoQ0cpCiB0eXBl
ZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwpAQCAtNTEsNiArNTAsMTAgQEAgdHlwZWRlZiBzdHJ1
Y3QgX05TU2l6ZSBOU1NpemU7CiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7CiAjZW5kaWYK
IAorbmFtZXNwYWNlIFdURiB7CitjbGFzcyBQcmludFN0cmVhbTsKK30KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBJbnRTaXplIHsKQEAgLTEzOSw3ICsxNDIsNyBAQCBwdWJsaWM6CiAg
ICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1fd2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uLmgKaW5kZXggOWUxYzgzYmQ4YTk4NjdmYmE5OWQ4NTVjYzIwZmIwOWQyODQ0MTYyOS4u
ZjRiMzgzMWFlNjBiMzk3MjdjYTI0Y2ZkYTc0ZDM3ODFkOTU4ZWE2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oCmlu
ZGV4IDYyYjg3ZGY2ZDE4ZTk4MTE3OWExNjYxNDY5OTk3NzdkMjMxN2NlMTguLjdhNGIxMWYzOGJl
Yjk0NTRkMDkxMDIyNmJmYWMwYjI3OTkzYmM5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKQEAgLTIwLDYgKzIw
LDcgQEAKICNkZWZpbmUgV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExX2gKIAogI2luY2x1ZGUgIldp
ZGdldEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2luY2x1ZGUg
PFgxMS9YbGliLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZmZTI0YzY1
OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQzZWU3ZGI1
ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0ZjcxOTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4ODI5YWNi
ZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkZy
YW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Zp
bmRJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3Iu
Y3BwCmluZGV4IDJhZDE5M2YxYjRhNzFiODA3NWFkMDQ3YWQzOWI2N2U4Y2VmODA2YTYuLjk1MDM3
M2U3NjdlYjM3MGViMzEwZjhmY2QyNTE5ZmRhNGY5N2UwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJG
aW5kSW5kaWNhdG9yLmgiCiAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0dlb21ldHJ5VXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFkaWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227593</attachid>
            <date>2014-03-22 18:39:55 -0700</date>
            <delta_ts>2014-03-22 19:07:51 -0700</delta_ts>
            <desc>Sigh</desc>
            <filename>bug-130645-20140322183934.patch</filename>
            <type>text/plain</type>
            <size>30608</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2RhMzMzMDRjNGMz
MDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2JiYWYwZThiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4LDggQEAgcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5l
cmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5
VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0
cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGgu
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggM2Iw
NTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFlOTVjOTdiNjZh
MGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRGZWF0dXJlU2V0
dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaFBhZ2VUcmVl
Tm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFRyYWl0c01h
c2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdl
bmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMxMTQ2Li45ZDIw
NGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00
OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhp
Y3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAgICA8RmlsdGVy
PnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40NzljMDYyODJmNzY5
YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDggQEAKIAkJMEZB
MjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3MTYyREY5MTkw
MEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBGQTI0RDdBMTYy
REY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8q
IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEwN0MwNSAvKiBH
ZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMu
Y3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYy
NTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3RDJGQTEwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3Bw
ICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkxOTAwQTNGNEMw
IC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4
NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAv
KiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCODg5
MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RB
NSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2Q0JGQTE4N0Yz
NzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkwQUMxNUVGNjFG
MzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBEQTBEQUZGNEE0
MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJEMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBFMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVGNkYyNiAvKiBH
bHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQxNUQ1NjEyOUFC
MkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNoSW5wdXRSZXN1
bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyog
R2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFEMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUEyQTVB
RDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBACiAJCQkJMDc5
NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDNDIC8qIEpTUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REJG
MTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRz
UmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEwMDdGRjg0MiAv
KiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEQzVGRDQxN0Qz
RUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJhODAxODI2MzNh
M2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUwZjJjNmYyNzk2
Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiArMjQsOCBAQAog
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0YTJjNTY2NDhi
Li5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJ
bWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dp
ZGdldEJhY2tpbmdTdG9yZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9X
aWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCmluZGV4IDliMGUwZjcwYTllNzRjYzFlNTRkMGFiYzk3
MmYzYWNmMGVmNjlkYTUuLjM5ZDI2NTcwYmE4MmM4ZDkyNDNjODI4MGY4Y2I0YzM1NzkwZmU0ZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdT
dG9yZUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFj
a2luZ1N0b3JlQ2Fpcm8uaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBXaWRnZXRCYWNraW5n
U3RvcmVDYWlyb19oCiAKICNpbmNsdWRlICJXaWRnZXRCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCA3OTFlMDNmYzg0Mjc0
NTIzYWFlNWViMjg5NDA0YjI5NDlmNzEyMGExLi45NWJmZWEzODE0YWU4ZTVlMjJjMzMxOTJmNzFh
YTAzMjUyNjFkM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcApAQCAtODAsNDUgKzgwLDYgQEAgRmxvYXRQb2ludCBGbG9hdFBvaW50Ojpu
YXJyb3dQcmVjaXNpb24oZG91YmxlIHgsIGRvdWJsZSB5KQogICAgIHJldHVybiBGbG9hdFBvaW50
KG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeCksIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeSkpOwog
fQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHAyLCBmbG9hdCYgYykKLXsKLSAgICBpZiAocDIueCgpID09IHAxLngoKSkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOwotCi0gICAgLy8g
eSA9IG14ICsgYwotICAgIGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgp
IC0gcDEueCgpKTsKLSAgICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7Ci0gICAgcmV0dXJu
IHNsb3BlOwotfQotCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEs
IGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQ
b2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbikgCi17Ci0gICAgZmxvYXQgcE9mZnNl
dCA9IDA7Ci0gICAgZmxvYXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7Ci0K
LSAgICBmbG9hdCBkT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEs
IGQyLCBkT2Zmc2V0KTsKLQotICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6aW5maW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOwot
ICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9m
ZnNldCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBpZiAoZFNsb3BlID09IHN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGludGVyc2Vj
dGlvbi5zZXRYKGQxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGlu
dGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
ICAgIAotICAgIC8vIEZpbmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHgg
PSAoYycgLSBjKSAvIChtIC0gbScpCi0gICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBw
T2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xvcGUpKTsKLSAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xv
cGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IHZvaWQgRmxvYXRQb2ludDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91
dC5wcmludGYoIiglZiwgJWYpIiwgeCgpLCB5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IGRkYzMzZGRkOTg1ODcxYTE0ODM5ZmJiNDI5
ZWFiNzRlMjFlYWYzYTMuLjUzOThjMGM5ZDYwMzFmMDc4MDI4OTE2NTQwYmE3MTQ3NmExOTU0ZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKQEAg
LTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBtYXRyaXhUcmFuc2Zvcm0o
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBjb25zdDsKICAgICBGbG9hdFBvaW50IG1hdHJp
eFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSBjb25zdDsKIAotICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVh
bSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3gsIG1feTsKQEAgLTIzNSwx
MSArMjM1LDYgQEAgaW5saW5lIEZsb2F0U2l6ZSB0b0Zsb2F0U2l6ZShjb25zdCBGbG9hdFBvaW50
JiBhKQogICAgIHJldHVybiBGbG9hdFNpemUoYS54KCksIGEueSgpKTsKIH0KIAotZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOwotCi0vLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7Ci0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAppbmRleCBmZTcwNmI3MTUz
MGY2YjA0NGZlMzA4MWI1MTg3ODk2ZTNjMmU0ZjM3Li5hN2MwOGU2NzcxMmViYjg4YzI1NGNiY2Zm
NmQ4ZDE3ODg0YTE3ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5jcHAKQEAgLTE0NywxNyArMTQ3LDYgQEAgdm9pZCBGbG9hdFJlY3Q6OnNjYWxl
KGZsb2F0IHN4LCBmbG9hdCBzeSkKICAgICBtX3NpemUuc2V0SGVpZ2h0KGhlaWdodCgpICogc3kp
OwogfQogCi1GbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0
cykKLXsKLSAgICBGbG9hdFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0gcmVjdHMu
c2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAg
cmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHZvaWQg
RmxvYXRSZWN0OjpmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29uc3QgRmxvYXRQ
b2ludCYgcDEpCiB7CiAgICAgZmxvYXQgbGVmdCA9IHN0ZDo6bWluKHAwLngoKSwgcDEueCgpKTsK
QEAgLTI0MCwxOCArMjI5LDYgQEAgSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiAgICAgcmV0dXJuIEludFJlY3Qocm91bmRlZEludFBvaW50KHJlY3QubG9jYXRp
b24oKSksIHJvdW5kZWRJbnRTaXplKHJlY3Quc2l6ZSgpKSk7CiB9CiAKLUZsb2F0UmVjdCBtYXBS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIGRlc3RSZWN0KQotewotICAgIGlmIChzcmNSZWN0LndpZHRoKCkgPT0gMCB8fCBz
cmNSZWN0LmhlaWdodCgpID09IDApCi0gICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLQotICAg
IGZsb2F0IHdpZHRoU2NhbGUgPSBkZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgpOwot
ICAgIGZsb2F0IGhlaWdodFNjYWxlID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNSZWN0LmhlaWdo
dCgpOwotICAgIHJldHVybiBGbG9hdFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgpIC0gc3JjUmVj
dC54KCkpICogd2lkdGhTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIGRlc3RSZWN0LnkoKSAr
IChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxlLAotICAgICAgICAgICAgICAgICAg
ICAgci53aWR0aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKLX0K
LQogdm9pZCBGbG9hdFJlY3Q6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBv
dXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCAxMWYxZWE5NWFkMTA4NzA4YWQ3OTgzNjkw
ODEzZGJjOWU5OWM5MThkLi5kMzQ2ZGQ1NWM2MGE2MGM3YWExMDQwZGFiYmQzMzEzZWNkNDUwOWNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaApAQCAt
MjgsNyArMjgsNiBAQAogI2RlZmluZSBGbG9hdFJlY3RfaAogCiAjaW5jbHVkZSAiRmxvYXRQb2lu
dC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3Ry
dWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xNzcsNyArMTc2LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIGNhaXJvX3JlY3RhbmdsZV90KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKIAogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5maW5pdGVSZWN0KCk7CiAgICAg
Ym9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMDgsOCArMjA3LDYgQEAgaW5saW5lIEZsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJlY3QmIGIpCiAg
ICAgcmV0dXJuIGM7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UmVjdD4mKTsKLQogaW5saW5lIEZsb2F0UmVjdCYgb3BlcmF0b3IrPShGbG9hdFJlY3QmIGEsIGNv
bnN0IEZsb2F0UmVjdCYgYikKIHsKICAgICBhLm1vdmUoYi54KCksIGIueSgpKTsKQEAgLTI1Myw5
ICsyNTAsNiBAQCBJbnRSZWN0IGVuY2xvc2VkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAog
SW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAotLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgotRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKaW5kZXggNmVlNGM0MDQzYmEz
NjkxYjVmMTQyNDZjMDEwMTc1YzUxN2JlMGY5ZS4uZTdlYjQyZDM2MjhjMTdjYmE2MTBjNTQxYjc2
N2QwNmIxNGFhODk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRTaXplLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFNpemUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8d3RmL1ByaW50U3Ry
ZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCAyMzI1NjVjZjI3ZDViMjJhODU2ZTllNWJlM2Fh
YjBkZWI1MDkyYmM5Li43M2NjMGZlYThkNGQ1OTI0Y2ExZTQ0ZGY5MmU4Y2UyNmIwNmRlMWRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaApAQCAtMTE4
LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25zdDsKICNlbmRp
ZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVt
cChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1f
d2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYzk3MjUxNjhjZGNmM2E3
M2ViODZiMzVlYjVhZWFjZmU4NDNmODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlV
dGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBmaW5kU2xvcGUoY29u
c3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYykKK3sKKyAg
ICBpZiAocDIueCgpID09IHAxLngoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpOworCisgICAgLy8geSA9IG14ICsgYworICAgIGZsb2F0IHNs
b3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgpIC0gcDEueCgpKTsKKyAgICBjID0gcDEu
eSgpIC0gc2xvcGUgKiBwMS54KCk7CisgICAgcmV0dXJuIHNsb3BlOworfQorCitib29sIGZpbmRJ
bnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBj
b25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGlu
dGVyc2VjdGlvbikgCit7CisgICAgZmxvYXQgcE9mZnNldCA9IDA7CisgICAgZmxvYXQgcFNsb3Bl
ID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7CisKKyAgICBmbG9hdCBkT2Zmc2V0ID0gMDsK
KyAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEsIGQyLCBkT2Zmc2V0KTsKKworICAgIGlm
IChkU2xvcGUgPT0gcFNsb3BlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaWYg
KHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgeworICAg
ICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0
WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9mZnNldCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICBpZiAoZFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKGQxLngoKSk7CisgICAg
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIC8vIEZpbmQgeCBhdCBp
bnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHggPSAoYycgLSBjKSAvIChtIC0gbScpCisg
ICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBwT2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xv
cGUpKTsKKyAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsg
cE9mZnNldCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAgSW50UmVjdCByZXN1bHQ7CisKKyAgICBz
aXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBj
b3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0
PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9
IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisg
ICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKK3sKKyAgICBpZiAoIXNyY1JlY3Qu
d2lkdGgoKSB8fCAhc3JjUmVjdC5oZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgp
OworCisgICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0Lndp
ZHRoKCk7CisgICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQoKSAvIHNyY1Jl
Y3QuaGVpZ2h0KCk7CisgICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkgKyAoci54KCkg
LSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAorICAgICAgICBkZXN0UmVjdC55KCkgKyAoci55
KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWlnaHRTY2FsZSwKKyAgICAgICAgci53aWR0aCgpICogd2lk
dGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWUzNzMxODFiYmNhNWE2YmMyYjA4YzJhMzU5YzMzYjNmNTI5YmY5MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0
aWVzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR2VvbWV0cnlVdGls
aXRpZXNfaAorI2RlZmluZSBHZW9tZXRyeVV0aWxpdGllc19oCisKKyNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKKworLy8gRmluZCBwb2ludCB3aGVy
ZSBsaW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2VjdC4gUmV0dXJu
cyBmYWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgorYm9vbCBmaW5kSW50ZXJzZWN0
aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgY29uc3QgRmxv
YXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBpbnRlcnNlY3Rp
b24pOworCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKK0Zsb2F0
UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKKworLy8gTWFwIHJlY3Qg
ciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0LgorRmxvYXRS
ZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKworfQorCisjZW5kaWYgLy8gR2VvbWV0cnlVdGls
aXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKaW5k
ZXggOTE5OTdkZTVjZTkwZjY2MGZkMWQwOTdlMmQwMDM0YmE4NjVmZDc1OC4uMDlmNmQ1MDllNGI3
OTU5ZjYzYzU4Y2M0MGNmODAyMGUyNDgwMTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgogICAgIG9w
ZXJhdG9yIEV2YXNfUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBtX3gsIG1feTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5kZXggMGU4ZmY5Nzg1MWI0YjQ5YmY5ODk2
NTFjNDViODNmZTRlMWZkNzI5Ni4uNzhlMGQ1N2E2ODg5N2E3YmM5OGQ3ZTUzZTZmOGRkNmUwY2E0
OTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAK
QEAgLTE0NiwxNyArMTQ2LDYgQEAgSW50U2l6ZSBJbnRSZWN0OjpkaWZmZXJlbmNlVG9Qb2ludChj
b25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiAgICAgcmV0dXJuIEludFNpemUoeGRpc3RhbmNl
LCB5ZGlzdGFuY2UpOwogfQogCi1JbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVj
dD4mIHJlY3RzKQotewotICAgIEludFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50ID0g
cmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAg
ICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
IHZvaWQgSW50UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5w
cmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDYwNmIwZWM3NDZhYTkzNzcyNWI5MDQ2YWUyZTk1YjY4
NDhkN2YwMC4uYmYwMjM3OTY1MjZhMmVkMTc2MGUyMmM2NTJmNzRlYjNiYWUxMWY2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJMYXlvdXRVbml0LmgiCi0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0
IENHUmVjdDsKQEAgLTE5Nyw3ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgTlNSZWN0
KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogICAgIHN0
YXRpYyBJbnRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0ZSgpIGNvbnN0
OwpAQCAtMjIxLDggKzIyMCw2IEBAIGlubGluZSBJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBJbnRS
ZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1JbnRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKLQogaW5saW5lIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBJbnRSZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogewogICAgIHJldHVybiBhLmxv
Y2F0aW9uKCkgPT0gYi5sb2NhdGlvbigpICYmIGEuc2l6ZSgpID09IGIuc2l6ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCmluZGV4IDdjNWI1OGNmMWQwNTE5
OGM4ZWI3NTU2NmJlZWVhYTM2ODZhZmJjNDYuLjliNTRmYjYwMzdhM2ExMjRiNTg0OWQxYjJmZDdk
MzAyYWE4NDJkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXpl
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSW50U2l6ZV9oCiAKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKICNpZiBVU0UoQ0cpCiB0eXBl
ZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwpAQCAtNTEsNiArNTAsMTAgQEAgdHlwZWRlZiBzdHJ1
Y3QgX05TU2l6ZSBOU1NpemU7CiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7CiAjZW5kaWYK
IAorbmFtZXNwYWNlIFdURiB7CitjbGFzcyBQcmludFN0cmVhbTsKK30KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBJbnRTaXplIHsKQEAgLTEzOSw3ICsxNDIsNyBAQCBwdWJsaWM6CiAg
ICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1fd2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uLmgKaW5kZXggOWUxYzgzYmQ4YTk4NjdmYmE5OWQ4NTVjYzIwZmIwOWQyODQ0MTYyOS4u
ZjRiMzgzMWFlNjBiMzk3MjdjYTI0Y2ZkYTc0ZDM3ODFkOTU4ZWE2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tSZXByZXNlbnRh
dGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oCmlu
ZGV4IDYyYjg3ZGY2ZDE4ZTk4MTE3OWExNjYxNDY5OTk3NzdkMjMxN2NlMTguLjdhNGIxMWYzOGJl
Yjk0NTRkMDkxMDIyNmJmYWMwYjI3OTkzYmM5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKQEAgLTIwLDYgKzIw
LDcgQEAKICNkZWZpbmUgV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExX2gKIAogI2luY2x1ZGUgIldp
ZGdldEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2luY2x1ZGUg
PFgxMS9YbGliLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZmZTI0YzY1
OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQzZWU3ZGI1
ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0ZjcxOTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4ODI5YWNi
ZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkZy
YW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Jh
Y2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdTdG9yZS5oCmlu
ZGV4IDBhOWZlOWE2ZjRlYWQ3NjAxMWM3MjYyMDM2MGU4NDZmYzQ4ZDM3MmUuLjk3ODYwNTA1YTJl
MDczZTZlMzIzZDVlMjQ0ZDBlMzExNzcwYzhkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QmFja2luZ1N0b3JlLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpZiBVU0UoQ0FJUk8pCiAjaW5jbHVk
ZSA8UmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpZGdldEJhY2tpbmdTdG9yZS5o
PgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAppbmRleCAyYWQxOTNm
MWI0YTcxYjgwNzVhZDA0N2FkMzliNjdlOGNlZjgwNmE2Li45NTAzNzNlNzY3ZWIzNzBlYjMxMGY4
ZmNkMjUxOWZkYTRmOTdlMDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RmluZEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRp
Y2F0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgog
CiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9HZW9tZXRy
eVV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGllbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227594</attachid>
            <date>2014-03-22 19:07:57 -0700</date>
            <delta_ts>2014-03-22 20:58:41 -0700</delta_ts>
            <desc>Trying again</desc>
            <filename>bug-130645-20140322190735.patch</filename>
            <type>text/plain</type>
            <size>31677</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uMGY2YWEyZTRiOGIxZTkyNDY1ZmEzYjE0MjIxNzIz
MDI0ODEwM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQdWxsaW5nIGluIDx3dGYvVmVjdG9yLmg+IGFuZCA8d3RmL1By
aW50U3RyZWFtLmg+IGluIHRoZSBzaW1wbGUgZ2VvbWV0cnkKKyAgICAgICAgY2xhc3NlcyBicmlu
Z3MgaW4gYSBsb3Qgb2YgYWRkaXRpb25hbCBoZWFkZXJzLiBGaXggYnkgYWRkaW5nIGEgbmV3Cisg
ICAgICAgIEdlb21ldHJ5VXRpbGl0aWVzIGZpbGUgc28gdGhhdCB0aGUgYmFzaWMgZmlsZXMgZG9u
J3QgbmVlZCBWZWN0b3IsCisgICAgICAgIGFuZCBpbmNsdWRpbmcgR2VvbWV0cnlVdGlsaXRpZXMu
aCB3aGVyZSBuZWNlc3NhcnkuCisgICAgICAgIAorICAgICAgICBBbHNvIGZvcndhcmQgZGVjbGFy
ZSBQcmludFN0cmVhbS5oIGFuZCBvbmx5IGJyaW5nIGluIHRoZSBoZWFkZXIKKyAgICAgICAgaW4g
aW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9J
bnRSZWN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKworMjAxNC0wMy0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KwogICAgICAgICBTb21lICNpbmNsdWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggY2UwNDA0ZjcyYzU0YTE0N2ZkMDA5MjU0YTQ5NzE4YjkyMjkz
ZjcyMi4uZDA0YzYyMDYzNDM0ZjUzYzE2MGI5ZGU0YzIzMjhlZTkyNDM4Y2RkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTE4ODIsNiArMTg4Miw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250R2VuZXJpY0ZhbWlsaWVzLmNwcAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRHbHlwaHMuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVk
SW1hZ2UuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQYWdlVHJlZU5vZGUuY3BwCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhZGllbnQuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFn
ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk3NTA1ZjBhYWQ4MDJmM2Rh
MzMzMDRjNGMzMDdlMzA4M2YzMDNkOWMuLjkzOTc3ODIwM2Y5YmY5MzVhMjRjNjI0OTc4ZGZjN2Ji
YWYwZThiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc2OCw2ICs1NzY4
LDggQEAgcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFdpZHRoVmFyaWFudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dlbmVyYXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dlb21ldHJ5VXRpbGl0aWVzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR2VvbWV0cnlVdGlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGguaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZm
ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFw
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
aW5kZXggM2IwNTJmOGJjOGYxMTQwYmM5NzcxZTk3ODM4Yzc5OTRkYmIxZWY3Ni4uMWI0YzgwMDFl
OTVjOTdiNjZhMGJjODZiMTJhYzdiYjdiY2QwNDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03ODA3LDYgKzc4MDcsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udEZhc3RQYXRoLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRG
ZWF0dXJlU2V0dGluZ3MuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcRm9udFBsYXRmb3JtRGF0YS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlw
aFBhZ2VUcmVlTm9kZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxncmFwaGljc1xHcmFkaWVudC5jcHAiIC8+CkBAIC0xOTI1NCw2ICsxOTI1NSw3IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250U21vb3RoaW5nTW9k
ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9u
dFRyYWl0c01hc2suaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdy
YXBoaWNzXEdlbmVyYXRlZEltYWdlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxncmFwaGljc1xHZW9tZXRyeVV0aWxpdGllcy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGguaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdseXBoQnVmZmVyLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaE1ldHJpY3NNYXAuaCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwppbmRleCA4ZmU1ZmUxODE4ZTg2YzEzOTdjZTcxMjA2ZDY3Y2QwZDYzNWMx
MTQ2Li45ZDIwNGEwMzRlNWExMzMyMGVlNTczYTk3ZGMxMjc4N2Y4ZGYyOWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCkBAIC00OTExLDYgKzQ5MTEsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3NcR2VuZXJhdGVkSW1hZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmNwcCI+CisgICAg
ICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGbG9hdFJlY3QuY3Bw
Ij4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KICAgICA8L0NsQ29t
cGlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA1M2U0ZDA3NTZjNzkzMjc2NWQxOTBjNDhlZDhlYTdkZDBlODI0Y2NiLi40Nzlj
MDYyODJmNzY5YzIxOTAwMzFiN2E2ZGQwZTA3YTFjMzM2OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTQsNiArNTE0LDgg
QEAKIAkJMEZBMjRENzkxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTI0RDc3
MTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5jcHAgKi87IH07CiAJCTBG
QTI0RDdBMTYyREY5MTkwMEEzRjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBMjRENzgxNjJERjkxOTAw
QTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZBODhFQkQxNkE4RDFCRDAwRjk5OTg0IC8qIFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTg4RUJDMTZBOEQxQkQwMEY5OTk4NCAvKiBTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi87IH07CisJCTBGQjYyNTJFMThERTFCMTUwMEEw
N0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI2MjUyQzE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlV
dGlsaXRpZXMuY3BwICovOyB9OworCQkwRkI2MjUyRjE4REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0
cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjg4OTBBMTY3
RDJGQTEwMDEwQ0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MDgxNjdEMkZBMTAwMTBDREE1
IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlj
a3lOb2RlLm1tICovOyB9OwogCQkwRkI4ODkwRTE2N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQjg4OTBDMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGUuY3BwICovOyB9OwpAQCAtNzMyMCw2ICs3MzIyLDggQEAKIAkJMEZBMjRENzcxNjJERjkx
OTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJVcGRhdGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMjRENzgxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5
ZXJVcGRhdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5
ZXJVcGRhdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTg4RUJDMTZBOEQx
QkQwMEY5OTk4NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQjYyNTJDMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9tZXRyeVV0aWxpdGllcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwODE2N0QyRkExMDAxMENEQTUgLyog
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZCODg5MDkxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVN0
aWNreU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTBDMTY3RDMw
MTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDIwLDYgKzIwMDI0LDggQEAKIAkJCQk3Q0U2
Q0JGQTE4N0YzNzA3MDBENDZCRjUgLyogRm9ybWF0Q29udmVydGVyLmggKi8sCiAJCQkJNEZCMzkw
QUMxNUVGNjFGMzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKIAkJCQlCQzIzRjBE
QTBEQUZGNEE0MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLywKKwkJCQkwRkI2MjUyQzE4
REUxQjE1MDBBMDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwICovLAorCQkJCTBGQjYyNTJE
MThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oICovLAogCQkJCTA4NkJCRDBF
MTM2MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oICovLAogCQkJCUIyQzNEQTVCMEQwMDZDRDYwMEVG
NkYyNiAvKiBHbHlwaEJ1ZmZlci5oICovLAogCQkJCUM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAv
KiBHbHlwaE1ldHJpY3NNYXAuaCAqLywKQEAgLTI0NDkyLDYgKzI0NDk4LDcgQEAKIAkJCQk3NTQx
NUQ1NjEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk3NTQxNUQ1ODEyOUFCMkQyMDAzQUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzU0MTVENUExMjlBQjJEMjAwM0FENjY5IC8qIEpTU3BlZWNo
SW5wdXRSZXN1bHRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkI2MjUyRjE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUFE
MTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQUEyQTVBRDIxNkE0ODYwQTAwOTc2QTI1IC8qIEpTU3BlZWNoU3ludGhlc2lzRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5
bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzkzNiw2ICsyNzk0Myw3IEBA
CiAJCQkJMDc5NjlEQkQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdEMDdCMTQxODM0MTU4ODAwQUJERDND
IC8qIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA3OTY5REJGMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ1N0YXRzQ2FsbGJhY2suY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEZCNjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0
aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMxMTdEMTQxNTEwMDdGRjg0MiAvKiBK
U1JUQ1N0YXRzUmVwb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OTY5REMzMTdEMTQxNTEw
MDdGRjg0MiAvKiBKU1JUQ1N0YXRzUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdE
QzVGRDQxN0QzRUVFOTAwOTlGODkwIC8qIEpTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFw
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5oCmluZGV4IGNmNTBjODU5NDJh
ODAxODI2MzNhM2MzMTAyY2I3Njc5MjY5YTQwNTMuLjFhMTNkODM3NmVmMWRhNGM2NmU1OGQ5NmUw
ZjJjNmYyNzk2Y2NkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxl
TWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaApAQCAtMjQsNiAr
MjQsOCBAQAogCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkxlbmd0
aEJveC5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmNwcAppbmRleCAzMWQ1ZWJkMjJkNmI2NmRhZDY2ZDYxOWE3NGQ3ZmQ0
YTJjNTY2NDhiLi5jNDEwZDA1MjQ3MjJjNTc3Mjg3NjgxNTIyMzk0OTVkYjUyNWQ1MTgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApAQCAtMzgsNiArMzgsNyBA
QAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1
ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJJbWFnZURhdGEuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NhaXJvL1dpZGdldEJhY2tpbmdTdG9yZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCmluZGV4IDliMGUwZjcwYTllNzRjYzFl
NTRkMGFiYzk3MmYzYWNmMGVmNjlkYTUuLjM5ZDI2NTcwYmE4MmM4ZDkyNDNjODI4MGY4Y2I0YzM1
NzkwZmU0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdl
dEJhY2tpbmdTdG9yZUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8v
V2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBXaWRn
ZXRCYWNraW5nU3RvcmVDYWlyb19oCiAKICNpbmNsdWRlICJXaWRnZXRCYWNraW5nU3RvcmUuaCIK
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAppbmRleCA3OTFl
MDNmYzg0Mjc0NTIzYWFlNWViMjg5NDA0YjI5NDlmNzEyMGExLi45NWJmZWEzODE0YWU4ZTVlMjJj
MzMxOTJmNzFhYTAzMjUyNjFkM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFBvaW50LmNwcApAQCAtODAsNDUgKzgwLDYgQEAgRmxvYXRQb2ludCBGbG9h
dFBvaW50OjpuYXJyb3dQcmVjaXNpb24oZG91YmxlIHgsIGRvdWJsZSB5KQogICAgIHJldHVybiBG
bG9hdFBvaW50KG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoeCksIG5hcnJvd1ByZWNpc2lvblRvRmxv
YXQoeSkpOwogfQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYykKLXsKLSAgICBpZiAocDIueCgpID09IHAxLngoKSkK
LSAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOwot
Ci0gICAgLy8geSA9IG14ICsgYwotICAgIGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkg
LyAocDIueCgpIC0gcDEueCgpKTsKLSAgICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7Ci0g
ICAgcmV0dXJuIHNsb3BlOwotfQotCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQ
b2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29u
c3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbikgCi17Ci0gICAgZmxv
YXQgcE9mZnNldCA9IDA7Ci0gICAgZmxvYXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9m
ZnNldCk7Ci0KLSAgICBmbG9hdCBkT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBkU2xvcGUgPSBmaW5k
U2xvcGUoZDEsIGQyLCBkT2Zmc2V0KTsKLQotICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNf
bGltaXRzPGZsb2F0Pjo6aW5maW5pdHkoKSkgewotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChw
MS54KCkpOwotICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24u
eCgpICsgZE9mZnNldCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBpZiAoZFNs
b3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAg
IGludGVyc2VjdGlvbi5zZXRYKGQxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBT
bG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotICAgIAotICAgIC8vIEZpbmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92
ZXJsYXA7IHggPSAoYycgLSBjKSAvIChtIC0gbScpCi0gICAgaW50ZXJzZWN0aW9uLnNldFgoKGRP
ZmZzZXQgLSBwT2Zmc2V0KSAvIChwU2xvcGUgLSBkU2xvcGUpKTsKLSAgICBpbnRlcnNlY3Rpb24u
c2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgcE9mZnNldCk7Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KIHZvaWQgRmxvYXRQb2ludDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAog
ewogICAgIG91dC5wcmludGYoIiglZiwgJWYpIiwgeCgpLCB5KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCmluZGV4IGRkYzMzZGRkOTg1ODcxYTE0
ODM5ZmJiNDI5ZWFiNzRlMjFlYWYzYTMuLjUzOThjMGM5ZDYwMzFmMDc4MDI4OTE2NTQwYmE3MTQ3
NmExOTU0ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zs
b2F0UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBv
aW50LmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBtYXRyaXhU
cmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBjb25zdDsKICAgICBGbG9hdFBv
aW50IG1hdHJpeFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKSBjb25zdDsKIAotICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQ
cmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3gsIG1feTsK
QEAgLTIzNSwxMSArMjM1LDYgQEAgaW5saW5lIEZsb2F0U2l6ZSB0b0Zsb2F0U2l6ZShjb25zdCBG
bG9hdFBvaW50JiBhKQogICAgIHJldHVybiBGbG9hdFNpemUoYS54KCksIGEueSgpKTsKIH0KIAot
ZmxvYXQgZmluZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBw
MiwgZmxvYXQmIGMpOwotCi0vLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3
byBwYWlycyBvZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBk
b24ndCBpbnRlcnNlY3QuCi1ib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYg
cDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxv
YXRQb2ludCYgZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7Ci0KIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAppbmRleCBm
ZTcwNmI3MTUzMGY2YjA0NGZlMzA4MWI1MTg3ODk2ZTNjMmU0ZjM3Li5hN2MwOGU2NzcxMmViYjg4
YzI1NGNiY2ZmNmQ4ZDE3ODg0YTE3ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKQEAgLTE0NywxNyArMTQ3LDYgQEAgdm9pZCBGbG9hdFJl
Y3Q6OnNjYWxlKGZsb2F0IHN4LCBmbG9hdCBzeSkKICAgICBtX3NpemUuc2V0SGVpZ2h0KGhlaWdo
dCgpICogc3kpOwogfQogCi1GbG9hdFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJl
Y3Q+JiByZWN0cykKLXsKLSAgICBGbG9hdFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90IGNvdW50
ID0gcmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkK
LSAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19
Ci0KIHZvaWQgRmxvYXRSZWN0OjpmaXRUb1BvaW50cyhjb25zdCBGbG9hdFBvaW50JiBwMCwgY29u
c3QgRmxvYXRQb2ludCYgcDEpCiB7CiAgICAgZmxvYXQgbGVmdCA9IHN0ZDo6bWluKHAwLngoKSwg
cDEueCgpKTsKQEAgLTI0MCwxOCArMjI5LDYgQEAgSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgcmV0dXJuIEludFJlY3Qocm91bmRlZEludFBvaW50KHJl
Y3QubG9jYXRpb24oKSksIHJvdW5kZWRJbnRTaXplKHJlY3Quc2l6ZSgpKSk7CiB9CiAKLUZsb2F0
UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQotewotICAgIGlmIChzcmNSZWN0LndpZHRoKCkg
PT0gMCB8fCBzcmNSZWN0LmhlaWdodCgpID09IDApCi0gICAgICAgIHJldHVybiBGbG9hdFJlY3Qo
KTsKLQotICAgIGZsb2F0IHdpZHRoU2NhbGUgPSBkZXN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53
aWR0aCgpOwotICAgIGZsb2F0IGhlaWdodFNjYWxlID0gZGVzdFJlY3QuaGVpZ2h0KCkgLyBzcmNS
ZWN0LmhlaWdodCgpOwotICAgIHJldHVybiBGbG9hdFJlY3QoZGVzdFJlY3QueCgpICsgKHIueCgp
IC0gc3JjUmVjdC54KCkpICogd2lkdGhTY2FsZSwKLSAgICAgICAgICAgICAgICAgICAgIGRlc3RS
ZWN0LnkoKSArIChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxlLAotICAgICAgICAg
ICAgICAgICAgICAgci53aWR0aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNj
YWxlKTsKLX0KLQogdm9pZCBGbG9hdFJlY3Q6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QK
IHsKICAgICBvdXQucHJpbnQobG9jYXRpb24oKSwgIiAiLCBzaXplKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCAxMWYxZWE5NWFkMTA4NzA4
YWQ3OTgzNjkwODEzZGJjOWU5OWM5MThkLi5kMzQ2ZGQ1NWM2MGE2MGM3YWExMDQwZGFiYmQzMzEz
ZWNkNDUwOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJl
Y3QuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBGbG9hdFJlY3RfaAogCiAjaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShDRykKIHR5
cGVkZWYgc3RydWN0IENHUmVjdCBDR1JlY3Q7CkBAIC0xNzcsNyArMTc2LDcgQEAgcHVibGljOgog
ICAgIG9wZXJhdG9yIGNhaXJvX3JlY3RhbmdsZV90KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdDsKIAogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5maW5pdGVSZWN0
KCk7CiAgICAgYm9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMDgsOCArMjA3LDYgQEAgaW5s
aW5lIEZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiBhLCBjb25zdCBGbG9hdFJl
Y3QmIGIpCiAgICAgcmV0dXJuIGM7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVj
dG9yPEZsb2F0UmVjdD4mKTsKLQogaW5saW5lIEZsb2F0UmVjdCYgb3BlcmF0b3IrPShGbG9hdFJl
Y3QmIGEsIGNvbnN0IEZsb2F0UmVjdCYgYikKIHsKICAgICBhLm1vdmUoYi54KCksIGIueSgpKTsK
QEAgLTI1Myw5ICsyNTAsNiBAQCBJbnRSZWN0IGVuY2xvc2VkSW50UmVjdChjb25zdCBGbG9hdFJl
Y3QmKTsKIAogSW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAotLy8g
TWFwIHJlY3QgciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0
LgotRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBGbG9hdFJlY3Qm
IHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOwotCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKaW5kZXggNmVl
NGM0MDQzYmEzNjkxYjVmMTQyNDZjMDEwMTc1YzUxN2JlMGY5ZS4uZTdlYjQyZDM2MjhjMTdjYmE2
MTBjNTQxYjc2N2QwNmIxNGFhODk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRTaXplLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFNpemUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50U2l6
ZS5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8d3Rm
L1ByaW50U3RyZWFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCAyMzI1NjVjZjI3ZDViMjJhODU2
ZTllNWJlM2FhYjBkZWI1MDkyYmM5Li43M2NjMGZlYThkNGQ1OTI0Y2ExZTQ0ZGY5MmU4Y2UyNmIw
NmRlMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aApAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBOU1NpemUoKSBjb25z
dDsKICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAg
IHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IGZsb2F0IG1fd2lkdGgsIG1faGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYzk3MjUx
NjhjZGNmM2E3M2ViODZiMzVlYjVhZWFjZmU4NDNmODAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAgLTAs
MCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
R2VvbWV0cnlVdGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitmbG9hdCBmaW5k
U2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYg
YykKK3sKKyAgICBpZiAocDIueCgpID09IHAxLngoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpOworCisgICAgLy8geSA9IG14ICsgYworICAg
IGZsb2F0IHNsb3BlID0gKHAyLnkoKSAtIHAxLnkoKSkgLyAocDIueCgpIC0gcDEueCgpKTsKKyAg
ICBjID0gcDEueSgpIC0gc2xvcGUgKiBwMS54KCk7CisgICAgcmV0dXJuIHNsb3BlOworfQorCiti
b29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0IEZsb2F0UG9p
bnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYgZDIsIEZsb2F0
UG9pbnQmIGludGVyc2VjdGlvbikgCit7CisgICAgZmxvYXQgcE9mZnNldCA9IDA7CisgICAgZmxv
YXQgcFNsb3BlID0gZmluZFNsb3BlKHAxLCBwMiwgcE9mZnNldCk7CisKKyAgICBmbG9hdCBkT2Zm
c2V0ID0gMDsKKyAgICBmbG9hdCBkU2xvcGUgPSBmaW5kU2xvcGUoZDEsIGQyLCBkT2Zmc2V0KTsK
KworICAgIGlmIChkU2xvcGUgPT0gcFNsb3BlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
CisgICAgaWYgKHBTbG9wZSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aW5maW5pdHko
KSkgeworICAgICAgICBpbnRlcnNlY3Rpb24uc2V0WChwMS54KCkpOworICAgICAgICBpbnRlcnNl
Y3Rpb24uc2V0WShkU2xvcGUgKiBpbnRlcnNlY3Rpb24ueCgpICsgZE9mZnNldCk7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoZFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKGQxLngo
KSk7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkg
KyBwT2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIC8vIEZp
bmQgeCBhdCBpbnRlcnNlY3Rpb24sIHdoZXJlIHlzIG92ZXJsYXA7IHggPSAoYycgLSBjKSAvICht
IC0gbScpCisgICAgaW50ZXJzZWN0aW9uLnNldFgoKGRPZmZzZXQgLSBwT2Zmc2V0KSAvIChwU2xv
cGUgLSBkU2xvcGUpKTsKKyAgICBpbnRlcnNlY3Rpb24uc2V0WShwU2xvcGUgKiBpbnRlcnNlY3Rp
b24ueCgpICsgcE9mZnNldCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ludFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCit7CisgICAgSW50UmVjdCByZXN1bHQ7
CisKKyAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBjb3VudDsgKytpKQorICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOworCisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8
RmxvYXRSZWN0PiYgcmVjdHMpCit7CisgICAgRmxvYXRSZWN0IHJlc3VsdDsKKworICAgIHNpemVf
dCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50
OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKK3sKKyAgICBpZiAo
IXNyY1JlY3Qud2lkdGgoKSB8fCAhc3JjUmVjdC5oZWlnaHQoKSkKKyAgICAgICAgcmV0dXJuIEZs
b2F0UmVjdCgpOworCisgICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0LndpZHRoKCkgLyBz
cmNSZWN0LndpZHRoKCk7CisgICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVjdC5oZWlnaHQo
KSAvIHNyY1JlY3QuaGVpZ2h0KCk7CisgICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0UmVjdC54KCkg
KyAoci54KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAorICAgICAgICBkZXN0UmVjdC55
KCkgKyAoci55KCkgLSBzcmNSZWN0LnkoKSkgKiBoZWlnaHRTY2FsZSwKKyAgICAgICAgci53aWR0
aCgpICogd2lkdGhTY2FsZSwgci5oZWlnaHQoKSAqIGhlaWdodFNjYWxlKTsKK30KKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRp
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVz
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWUzNzMxODFiYmNhNWE2YmMyYjA4YzJhMzU5YzMzYjNmNTI5YmY5Mgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21l
dHJ5VXRpbGl0aWVzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgR2Vv
bWV0cnlVdGlsaXRpZXNfaAorI2RlZmluZSBHZW9tZXRyeVV0aWxpdGllc19oCisKKyNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9h
dFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKTsKKworLy8gRmluZCBw
b2ludCB3aGVyZSBsaW5lcyB0aHJvdWdoIHRoZSB0d28gcGFpcnMgb2YgcG9pbnRzIGludGVyc2Vj
dC4gUmV0dXJucyBmYWxzZSBpZiB0aGUgbGluZXMgZG9uJ3QgaW50ZXJzZWN0LgorYm9vbCBmaW5k
SW50ZXJzZWN0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwg
Y29uc3QgRmxvYXRQb2ludCYgZDEsIGNvbnN0IEZsb2F0UG9pbnQmIGQyLCBGbG9hdFBvaW50JiBp
bnRlcnNlY3Rpb24pOworCitJbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4m
KTsKK0Zsb2F0UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mKTsKKworLy8g
TWFwIHJlY3QgciBmcm9tIHNyY1JlY3QgdG8gYW4gZXF1aXZhbGVudCByZWN0IGluIGRlc3RSZWN0
LgorRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiBz
cmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKworfQorCisjZW5kaWYgLy8gR2Vv
bWV0cnlVdGlsaXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBv
aW50LmgKaW5kZXggOTE5OTdkZTVjZTkwZjY2MGZkMWQwOTdlMmQwMDM0YmE4NjVmZDc1OC4uMDlm
NmQ1MDllNGI3OTU5ZjYzYzU4Y2M0MGNmODAyMGUyNDgwMTY3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGlj
OgogICAgIG9wZXJhdG9yIEV2YXNfUG9pbnQoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGludCBtX3gsIG1feTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKaW5kZXggMGU4ZmY5Nzg1MWI0
YjQ5YmY5ODk2NTFjNDViODNmZTRlMWZkNzI5Ni4uNzhlMGQ1N2E2ODg5N2E3YmM5OGQ3ZTUzZTZm
OGRkNmUwY2E0OTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAKQEAgLTE0NiwxNyArMTQ2LDYgQEAgSW50U2l6ZSBJbnRSZWN0OjpkaWZmZXJlbmNl
VG9Qb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiAgICAgcmV0dXJuIEludFNpemUo
eGRpc3RhbmNlLCB5ZGlzdGFuY2UpOwogfQogCi1JbnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0
b3I8SW50UmVjdD4mIHJlY3RzKQotewotICAgIEludFJlY3QgcmVzdWx0OwotCi0gICAgc2l6ZV90
IGNvdW50ID0gcmVjdHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7
ICsraSkKLSAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsKLQotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KIHZvaWQgSW50UmVjdDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKaW5kZXggNDYwNmIwZWM3NDZhYTkzNzcyNWI5MDQ2
YWUyZTk1YjY4NDhkN2YwMC4uYmYwMjM3OTY1MjZhMmVkMTc2MGUyMmM2NTJmNzRlYjNiYWUxMWY2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJMYXlvdXRVbml0
LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1
Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE5Nyw3ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0
b3IgTlNSZWN0KCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKKyAgICB2b2lkIGR1bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsK
IAogICAgIHN0YXRpYyBJbnRSZWN0IGluZmluaXRlUmVjdCgpOwogICAgIGJvb2wgaXNJbmZpbml0
ZSgpIGNvbnN0OwpAQCAtMjIxLDggKzIyMCw2IEBAIGlubGluZSBJbnRSZWN0IHVuaW9uUmVjdChj
b25zdCBJbnRSZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogICAgIHJldHVybiBjOwogfQogCi1J
bnRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8SW50UmVjdD4mKTsKLQogaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBJbnRSZWN0JiBhLCBjb25zdCBJbnRSZWN0JiBiKQogewogICAgIHJl
dHVybiBhLmxvY2F0aW9uKCkgPT0gYi5sb2NhdGlvbigpICYmIGEuc2l6ZSgpID09IGIuc2l6ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCmluZGV4IDdjNWI1
OGNmMWQwNTE5OGM4ZWI3NTU2NmJlZWVhYTM2ODZhZmJjNDYuLjliNTRmYjYwMzdhM2ExMjRiNTg0
OWQxYjJmZDdkMzAyYWE4NDJkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRTaXplLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSW50U2l6ZV9oCiAKICNpbmNs
dWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAKICNpZiBVU0Uo
Q0cpCiB0eXBlZGVmIHN0cnVjdCBDR1NpemUgQ0dTaXplOwpAQCAtNTEsNiArNTAsMTAgQEAgdHlw
ZWRlZiBzdHJ1Y3QgX05TU2l6ZSBOU1NpemU7CiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7
CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdURiB7CitjbGFzcyBQcmludFN0cmVhbTsKK30KKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnRTaXplIHsKQEAgLTEzOSw3ICsxNDIsNyBAQCBw
dWJsaWM6CiAgICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJl
YW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1fd2lkdGgsIG1faGVpZ2h0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uLmgKaW5kZXggOWUxYzgzYmQ4YTk4NjdmYmE5OWQ4NTVjYzIwZmIwOWQy
ODQ0MTYyOS4uZjRiMzgzMWFlNjBiMzk3MjdjYTI0Y2ZkYTc0ZDM3ODFkOTU4ZWE2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0
a1gxMS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0
a1gxMS5oCmluZGV4IDYyYjg3ZGY2ZDE4ZTk4MTE3OWExNjYxNDY5OTk3NzdkMjMxN2NlMTguLjdh
NGIxMWYzOGJlYjk0NTRkMDkxMDIyNmJmYWMwYjI3OTkzYmM5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKQEAg
LTIwLDYgKzIwLDcgQEAKICNkZWZpbmUgV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExX2gKIAogI2lu
Y2x1ZGUgIldpZGdldEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
I2luY2x1ZGUgPFgxMS9YbGliLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUz
ZmZmZTI0YzY1OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21l
dHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
SFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4
MjQzZWU3ZGI1ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0
ZjcxOTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMu
aCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1
ZDg4ODI5YWNiZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3
IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2lu
Y2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0JhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdT
dG9yZS5oCmluZGV4IDBhOWZlOWE2ZjRlYWQ3NjAxMWM3MjYyMDM2MGU4NDZmYzQ4ZDM3MmUuLjk3
ODYwNTA1YTJlMDczZTZlMzIzZDVlMjQ0ZDBlMzExNzcwYzhkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQmFja2luZ1N0b3JlLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpZiBVU0UoQ0FJUk8p
CiAjaW5jbHVkZSA8UmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpZGdldEJhY2tp
bmdTdG9yZS5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNh
dG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcAppbmRl
eCAyYWQxOTNmMWI0YTcxYjgwNzVhZDA0N2FkMzliNjdlOGNlZjgwNmE2Li45NTAzNzNlNzY3ZWIz
NzBlYjMxMGY4ZmNkMjUxOWZkYTRmOTdlMDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0ZpbmRJbmRpY2F0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmluZEluZGlj
YXRvci5oIgogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9HZW9tZXRyeVV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGllbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50
UmVjdC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS1ByaW50
aW5nVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5o
CmluZGV4IDg1ZTZhMWFiNTQxNzE1YzYxNThjZTllNWEzYTEwODM3MzQ2MjE4ZmMuLmM4YzdjNDQ2
YmQxNGFkYTAyNTQwZDJhYjNmZGQ3NWRkNDcyOGVlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbXBvcnQg
PFdlYkNvcmUvSW50UmVjdEhhc2guaD4KICNpbXBvcnQgPGNvbmRpdGlvbl92YXJpYWJsZT4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KIAogQGNsYXNz
IFdLUHJpbnRpbmdWaWV3RGF0YTsKIEBjbGFzcyBQREZEb2N1bWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227597</attachid>
            <date>2014-03-22 20:58:49 -0700</date>
            <delta_ts>2014-03-22 22:31:35 -0700</delta_ts>
            <desc>Yep</desc>
            <filename>bug-130645-20140322205827.patch</filename>
            <type>text/plain</type>
            <size>33991</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uOTc5YTAwZDAxYzMxMmE1NWQzMGJkZmMwNDY4MDA4
ODRjMzUzZTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFz
IEtsaW5nLgorCisgICAgICAgIFB1bGxpbmcgaW4gPHd0Zi9WZWN0b3IuaD4gYW5kIDx3dGYvUHJp
bnRTdHJlYW0uaD4gaW4gdGhlIHNpbXBsZSBnZW9tZXRyeQorICAgICAgICBjbGFzc2VzIGJyaW5n
cyBpbiBhIGxvdCBvZiBhZGRpdGlvbmFsIGhlYWRlcnMuIEZpeCBieSBhZGRpbmcgYSBuZXcKKyAg
ICAgICAgR2VvbWV0cnlVdGlsaXRpZXMgZmlsZSBzbyB0aGF0IHRoZSBiYXNpYyBmaWxlcyBkb24n
dCBuZWVkIFZlY3RvciwKKyAgICAgICAgYW5kIGluY2x1ZGluZyBHZW9tZXRyeVV0aWxpdGllcy5o
IHdoZXJlIG5lY2Vzc2FyeS4KKyAgICAgICAgCisgICAgICAgIEFsc28gZm9yd2FyZCBkZWNsYXJl
IFByaW50U3RyZWFtLmggYW5kIG9ubHkgYnJpbmcgaW4gdGhlIGhlYWRlcgorICAgICAgICBpbiBp
bXBsZW1lbnRhdGlvbiBmaWxlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NUb1N0eWxlTWFwLmg6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fp
cm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ludFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKworMjAxNC0wMy0yMiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBTb21lICNpbmNs
dWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzMGFjMjEyM2Mz
MTQwZDM1OTM3ODVkMDBlYzQ1NWZiZmNjNWY0NjgzLi5jYTBhZGU4ODc1NTllNzI2MTZlOTg3Yzkx
N2I1MTBkOTUxY2I1MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTQtMDMtMjIg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4g
dXAgI2luY2x1ZGVzIGJ5IGdlb21ldHJ5IGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
ZHJlYXMgS2xpbmcuCisKKyAgICAgICAgUHVsbGluZyBpbiA8d3RmL1ZlY3Rvci5oPiBhbmQgPHd0
Zi9QcmludFN0cmVhbS5oPiBpbiB0aGUgc2ltcGxlIGdlb21ldHJ5CisgICAgICAgIGNsYXNzZXMg
YnJpbmdzIGluIGEgbG90IG9mIGFkZGl0aW9uYWwgaGVhZGVycy4gRml4IGJ5IGFkZGluZyBhIG5l
dworICAgICAgICBHZW9tZXRyeVV0aWxpdGllcyBmaWxlIHNvIHRoYXQgdGhlIGJhc2ljIGZpbGVz
IGRvbid0IG5lZWQgVmVjdG9yLAorICAgICAgICBhbmQgaW5jbHVkaW5nIEdlb21ldHJ5VXRpbGl0
aWVzLmggd2hlcmUgbmVjZXNzYXJ5LgorICAgICAgICAKKyAgICAgICAgQWxzbyBmb3J3YXJkIGRl
Y2xhcmUgUHJpbnRTdHJlYW0uaCBhbmQgb25seSBicmluZyBpbiB0aGUgaGVhZGVyCisgICAgICAg
IGluIGltcGxlbWVudGF0aW9uIGZpbGVzLgorCisgICAgICAgICogVUlQcm9jZXNzL0JhY2tpbmdT
dG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lmg6CisKIDIwMTQtMDMtMjIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9ucyBpbiBXZWJQ
YWdlOjpyYW5nZUZyb21FZGl0aW5nUmFuZ2Ugd2hlbiByZXF1ZXN0ZWQgcmFuZ2UgbG9jYXRpb24g
aXMgTlNOb3RGb3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZTA0MDRmNzJjNTRhMTQ3ZmQw
MDkyNTRhNDk3MThiOTIyOTNmNzIyLi5kMDRjNjIwNjM0MzRmNTNjMTYwYjlkZTRjMjMyOGVlOTI0
MzhjZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg4Miw2ICsxODgyLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMu
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRy
eVV0aWxpdGllcy5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VUcmVlTm9kZS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFkaWVudEltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
OTc1MDVmMGFhZDgwMmYzZGEzMzMwNGM0YzMwN2UzMDgzZjMwM2Q5Yy4uOTM5Nzc4MjAzZjliZjkz
NWEyNGM2MjQ5NzhkZmM3YmJhZjBlOGIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC01NzY4LDYgKzU3NjgsOCBAQCBwbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250V2lkdGhWYXJpYW50LmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HbHlwaEJ1ZmZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaE1ldHJpY3NNYXAuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagppbmRleCAzYjA1MmY4YmM4ZjExNDBiYzk3NzFlOTc4MzhjNzk5NGRi
YjFlZjc2Li4xYjRjODAwMWU5NWM5N2I2NmEwYmM4NmIxMmFjN2JiN2JjZDA0MTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc4MDcs
NiArNzgwNyw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xGb250RmFzdFBhdGguY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcRm9udEZlYXR1cmVTZXR0aW5ncy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UGxhdGZvcm1EYXRhLmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0
aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEdlbmVyYXRlZEltYWdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEdseXBoUGFnZVRyZWVOb2RlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYWRpZW50LmNwcCIgLz4KQEAgLTE5MjU0LDYg
KzE5MjU1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEZvbnRTbW9vdGhpbmdNb2RlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1xGb250VHJhaXRzTWFzay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VuZXJhdGVkSW1hZ2UuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGhCdWZm
ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEds
eXBoTWV0cmljc01hcC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhmZTVmZTE4MThlODZjMTM5N2Nl
NzEyMDZkNjdjZDBkNjM1YzExNDYuLjlkMjA0YTAzNGU1YTEzMzIwZWU1NzNhOTdkYzEyNzg3Zjhk
ZjI5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ5MTEsNiArNDkxMSw5IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VvbWV0cnlVdGls
aXRpZXMuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KKyAg
ICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBo
aWNzXEZsb2F0UmVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZTRkMDc1NmM3OTMyNzY1ZDE5MGM0OGVkOGVh
N2RkMGU4MjRjY2IuLjQ3OWMwNjI4MmY3NjljMjE5MDAzMWI3YTZkZDBlMDdhMWMzMzY5NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTUxNCw2ICs1MTQsOCBAQAogCQkwRkEyNEQ3OTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhp
Y3NMYXllclVwZGF0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZBMjRENzcxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmNwcCAqLzsgfTsKIAkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkEyNEQ3ODE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkE4OEVCRDE2QThE
MUJEMDBGOTk5ODQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBODhFQkMxNkE4RDFCRDAw
Rjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSAqLzsgfTsKKwkJMEZC
NjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYyNTJDMThERTFCMTUwMEEw
N0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi87IH07CisJCTBGQjYyNTJGMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5
VXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEZCODg5MEExNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkw
ODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI4ODkwQjE2N0QyRkEx
MDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyog
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gKi87IH07CiAJCTBGQjg4OTBFMTY3RDMwMTYwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAgKi87IH07CkBAIC03MzIwLDYgKzczMjIsOCBAQAog
CQkwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkEyNEQ3ODE2MkRGOTE5MDBBM0Y0
QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZBODhFQkMxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZCNjI1MkMxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb21ldHJ5VXRpbGl0aWVzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdl
b21ldHJ5VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb21l
dHJ5VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTA4MTY3
RDJGQTEwMDEwQ0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAwMjAsNiArMjAw
MjQsOCBAQAogCQkJCTdDRTZDQkZBMTg3RjM3MDcwMEQ0NkJGNSAvKiBGb3JtYXRDb252ZXJ0ZXIu
aCAqLywKIAkJCQk0RkIzOTBBQzE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJhdGVkSW1hZ2UuY3Bw
ICovLAogCQkJCUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICov
LAorCQkJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAg
Ki8sCisJCQkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmgg
Ki8sCiAJCQkJMDg2QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi8sCiAJCQkJQjJD
M0RBNUIwRDAwNkNENjAwRUY2RjI2IC8qIEdseXBoQnVmZmVyLmggKi8sCiAJCQkJQzVENEFBNzgx
MTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovLApAQCAtMjQ0OTIsNiArMjQ0
OTgsNyBAQAogCQkJCTc1NDE1RDU2MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0RXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NDE1RDU4MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1Nw
ZWVjaElucHV0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTQxNUQ1QTEyOUFCMkQyMDAz
QUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
QjYyNTJGMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQUE3RkVFQUQxNkE0RTc0QjAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBQTJBNUFEMjE2QTQ4NjBBMDA5NzZBMjUgLyogSlNTcGVlY2hT
eW50aGVzaXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE3RkVFQTcxNkE0RTZGMzAwNEMw
QzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
OTM2LDYgKzI3OTQzLDcgQEAKIAkJCQkwNzk2OURCRDE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENT
ZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0QwN0Ix
NDE4MzQxNTg4MDBBQkREM0MgLyogSlNSVENTZXNzaW9uRGVzY3JpcHRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQkYxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHND
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkI2MjUyRTE4REUxQjE1MDBBMDdDMDUg
LyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQzExN0Qx
NDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDc5NjlEQzMxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXNwb25zZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwN0RDNUZENDE3RDNFRUU5MDA5OUY4OTAgLyogSlNSVENTdGF0c1Jlc3Bv
bnNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1RvU3R5bGVNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgK
aW5kZXggY2Y1MGM4NTk0MmE4MDE4MjYzM2EzYzMxMDJjYjc2NzkyNjlhNDA1My4uMWExM2Q4Mzc2
ZWYxZGE0YzY2ZTU4ZDk2ZTBmMmM2ZjI3OTZjY2QzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1RvU3R5bGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHls
ZU1hcC5oCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDMxZDVlYmQyMmQ2YjY2
ZGFkNjZkNjE5YTc0ZDdmZDRhMmM1NjY0OGIuLmM0MTBkMDUyNDcyMmM1NzcyODc2ODE1MjIzOTQ5
NWRiNTI1ZDUxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
CkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJHZW9t
ZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdTdG9yZUNhaXJvLmgKaW5kZXgg
OWIwZTBmNzBhOWU3NGNjMWU1NGQwYWJjOTcyZjNhY2YwZWY2OWRhNS4uMzlkMjY1NzBiYTgyYzhk
OTI0M2M4MjgwZjhjYjRjMzU3OTBmZTRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCkBAIC0yMCw2ICsyMCw3
IEBACiAjZGVmaW5lIFdpZGdldEJhY2tpbmdTdG9yZUNhaXJvX2gKIAogI2luY2x1ZGUgIldpZGdl
dEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuY3BwCmluZGV4IDc5MWUwM2ZjODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1
YmZlYTM4MTRhZThlNWUyMmMzMzE5MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBA
QCBGbG9hdFBvaW50IEZsb2F0UG9pbnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91Ymxl
IHkpCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFy
cm93UHJlY2lzaW9uVG9GbG9hdCh5KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9h
dFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChw
Mi54KCkgPT0gcDEueCgpKQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9h
dD46OmluZmluaXR5KCk7Ci0KLSAgICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAo
cDIueSgpIC0gcDEueSgpKSAvIChwMi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBz
bG9wZSAqIHAxLngoKTsKLSAgICByZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2Vj
dGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZs
b2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0
aW9uKSAKLXsKLSAgICBmbG9hdCBwT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5k
U2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZs
b2F0IGRTbG9wZSA9IGZpbmRTbG9wZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9w
ZSA9PSBwU2xvcGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3Bl
ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGlu
dGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9w
ZSAqIGludGVyc2VjdGlvbi54KCkgKyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIGlmIChkU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmlu
aXR5KCkpIHsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50
ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2Vj
dGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRl
cnNlY3Rpb24uc2V0WCgoZE9mZnNldCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwot
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXgg
ZGRjMzNkZGQ5ODU4NzFhMTQ4MzlmYmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYw
NzgwMjg5MTY1NDBiYTcxNDc2YTE5NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UG9pbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBG
bG9hdFBvaW50IG1hdHJpeFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNv
bnN0OwogICAgIEZsb2F0UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYpIGNvbnN0OwogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAg
IHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IGZsb2F0IG1feCwgbV95OwpAQCAtMjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRv
RmxvYXRTaXplKGNvbnN0IEZsb2F0UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngo
KSwgYS55KCkpOwogfQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNv
bnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGlu
ZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFs
c2UgaWYgdGhlIGxpbmVzIGRvbid0IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihj
b25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9p
bnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsK
LQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuY3BwCmluZGV4IGZlNzA2YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcu
LmE3YzA4ZTY3NzEyZWJiODhjMjU0Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcs
NiBAQCB2b2lkIEZsb2F0UmVjdDo6c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6
ZS5zZXRIZWlnaHQoaGVpZ2h0KCkgKiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29u
c3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0K
LSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZs
b2F0UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0g
c3RkOjptaW4ocDAueCgpLCBwMS54KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJv
dW5kZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChy
b3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXpl
KCkpKTsKIH0KIAotRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBG
bG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYg
KHNyY1JlY3Qud2lkdGgoKSA9PSAwIHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAg
cmV0dXJuIEZsb2F0UmVjdCgpOwotCi0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0Lndp
ZHRoKCkgLyBzcmNSZWN0LndpZHRoKCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVj
dC5oZWlnaHQoKSAvIHNyY1JlY3QuaGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0
UmVjdC54KCkgKyAoci54KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAg
ICAgICAgICAgICAgZGVzdFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0
U2NhbGUsCi0gICAgICAgICAgICAgICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhl
aWdodCgpICogaGVpZ2h0U2NhbGUpOwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4
IDExZjFlYTk1YWQxMDg3MDhhZDc5ODM2OTA4MTNkYmM5ZTk5YzkxOGQuLmQzNDZkZDU1YzYwYTYw
YzdhYTEwNDBkYWJiZDMzMTNlY2Q0NTA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVj
dF9oCiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE3Nyw3ICsx
NzYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgY2Fpcm9fcmVjdGFuZ2xlX3QoKSBjb25zdDsK
ICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZv
aWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEZsb2F0
UmVjdCBpbmZpbml0ZVJlY3QoKTsKICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIw
OCw4ICsyMDcsNiBAQCBpbmxpbmUgRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBGbG9hdFJlY3Qm
IGEsIGNvbnN0IEZsb2F0UmVjdCYgYikKICAgICByZXR1cm4gYzsKIH0KIAotRmxvYXRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwotCiBpbmxpbmUgRmxvYXRSZWN0JiBv
cGVyYXRvcis9KEZsb2F0UmVjdCYgYSwgY29uc3QgRmxvYXRSZWN0JiBiKQogewogICAgIGEubW92
ZShiLngoKSwgYi55KCkpOwpAQCAtMjUzLDkgKzI1MCw2IEBAIEludFJlY3QgZW5jbG9zZWRJbnRS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYpOwogCi0vLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCi1GbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7Ci0K
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRT
aXplLmNwcAppbmRleCA2ZWU0YzQwNDNiYTM2OTFiNWYxNDI0NmMwMTAxNzVjNTE3YmUwZjllLi5l
N2ViNDJkMzYyOGMxN2NiYTYxMGM1NDFiNzY3ZDA2YjE0YWE4OTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGgu
aD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDIz
MjU2NWNmMjdkNWIyMmE4NTZlOWU1YmUzYWFiMGRlYjUwOTJiYzkuLjczY2MwZmVhOGQ0ZDU5MjRj
YTFlNDRkZjkyZThjZTI2YjA2ZGUxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0U2l6ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIE5TU2l6ZSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgZmxvYXQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTBjOTcyNTE2OGNkY2YzYTczZWI4NmIzNWViNWFlYWNmZTg0M2Y4MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRp
bGl0aWVzLmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQ
b2ludCYgcDIsIGZsb2F0JiBjKQoreworICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQorICAgICAg
ICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7CisKKyAgICAv
LyB5ID0gbXggKyBjCisgICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChwMi54
KCkgLSBwMS54KCkpOworICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKKyAgICByZXR1
cm4gc2xvcGU7Cit9CisKK2Jvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9h
dFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKK3sKKyAgICBmbG9hdCBwT2Zm
c2V0ID0gMDsKKyAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsK
KworICAgIGZsb2F0IGRPZmZzZXQgPSAwOworICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9wZShk
MSwgZDIsIGRPZmZzZXQpOworCisgICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7
CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBk
T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkU2xvcGUgPT0g
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJz
ZWN0aW9uLnNldFgoZDEueCgpKTsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICog
aW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgCisgICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsg
eCA9IChjJyAtIGMpIC8gKG0gLSBtJykKKyAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNldCAt
IHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOworICAgIGludGVyc2VjdGlvbi5zZXRZKHBT
bG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKK3sKKyAg
ICBJbnRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0
ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitGbG9hdFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBGbG9hdFJlY3QgcmVz
dWx0OworCisgICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0
UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RS
ZWN0KQoreworICAgIGlmICghc3JjUmVjdC53aWR0aCgpIHx8ICFzcmNSZWN0LmhlaWdodCgpKQor
ICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CisKKyAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVz
dFJlY3Qud2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHRTY2FsZSA9
IGRlc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKTsKKyAgICByZXR1cm4gRmxvYXRS
ZWN0KGRlc3RSZWN0LngoKSArIChyLngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCisg
ICAgICAgIGRlc3RSZWN0LnkoKSArIChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxl
LAorICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2Nh
bGUpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VvbWV0cnlVdGlsaXRpZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTM3MzE4MWJiY2E1YTZiYzJiMDhjMmEz
NTljMzNiM2Y1MjliZjkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBHZW9tZXRyeVV0aWxpdGllc19oCisjZGVmaW5lIEdlb21ldHJ5VXRpbGl0
aWVzX2gKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOworCisvLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCitib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYpOworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8Rmxv
YXRSZWN0PiYpOworCisvLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOworCit9
CisKKyNlbmRpZiAvLyBHZW9tZXRyeVV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW50UG9pbnQuaAppbmRleCA5MTk5N2RlNWNlOTBmNjYwZmQxZDA5N2UyZDAw
MzRiYTg2NWZkNzU4Li4wOWY2ZDUwOWU0Yjc5NTlmNjNjNThjYzQwY2Y4MDIwZTI0ODAxNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgRXZhc19Qb2ludCgpIGNvbnN0OwogI2Vu
ZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBk
dW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1f
eCwgbV95OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApp
bmRleCAwZThmZjk3ODUxYjRiNDliZjk4OTY1MWM0NWI4M2ZlNGUxZmQ3Mjk2Li43OGUwZDU3YTY4
ODk3YTdiYzk4ZDdlNTNlNmY4ZGQ2ZTBjYTQ5MmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApAQCAtMTQ2LDE3ICsxNDYsNiBAQCBJbnRTaXplIElu
dFJlY3Q6OmRpZmZlcmVuY2VUb1BvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAg
ICByZXR1cm4gSW50U2l6ZSh4ZGlzdGFuY2UsIHlkaXN0YW5jZSk7CiB9CiAKLUludFJlY3QgdW5p
b25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCi17Ci0gICAgSW50UmVjdCByZXN1
bHQ7Ci0KLSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwot
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBJbnRSZWN0OjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCA0NjA2YjBl
Yzc0NmFhOTM3NzI1YjkwNDZhZTJlOTViNjg0OGQ3ZjAwLi5iZjAyMzc5NjUyNmEyZWQxNzYwZTIy
YzY1MmY3NGViM2JhZTExZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgIkxheW91dFVuaXQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0Uo
Q0cpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTk3LDcgKzE5Niw3IEBAIHB1
YmxpYzoKICAgICBvcGVyYXRvciBOU1JlY3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEludFJlY3QgaW5maW5pdGVSZWN0KCk7CiAg
ICAgYm9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMjEsOCArMjIwLDYgQEAgaW5saW5lIElu
dFJlY3QgdW5pb25SZWN0KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiAgICAg
cmV0dXJuIGM7CiB9CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYp
OwotCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJl
Y3QmIGIpCiB7CiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSA9PSBiLmxvY2F0aW9uKCkgJiYgYS5z
aXplKCkgPT0gYi5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmgKaW5kZXggN2M1YjU4Y2YxZDA1MTk4YzhlYjc1NTY2YmVlZWFhMzY4NmFmYmM0Ni4uOWI1
NGZiNjAzN2EzYTEyNGI1ODQ5ZDFiMmZkN2QzMDJhYTg0MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBJ
bnRTaXplX2gKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUHJpbnRTdHJl
YW0uaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CkBAIC01
MSw2ICs1MCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfTlNTaXplIE5TU2l6ZTsKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1NJWkUgU0laRTsKICNlbmRpZgogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFByaW50
U3RyZWFtOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpAQCAt
MTM5LDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBTSVpFKCkgY29uc3Q7CiAjZW5k
aWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1
bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQgbV93
aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCA5ZTFjODNiZDhhOTg2N2Zi
YTk5ZDg1NWNjMjBmYjA5ZDI4NDQxNjI5Li5mNGIzODMxYWU2MGIzOTcyN2NhMjRjZmRhNzRkMzc4
MWQ5NThlYTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UaWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmgKaW5kZXgg
ZmEyNWNhMjhhMDBmZTQwZmFmYjg4NmE5ODkzOTJiZjg2NDk0MzdhNi4uNTAwZGJhY2NiZWVlMDZj
YmZiOTE1MzAwNmRhOThmY2M1OThlMmNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGUuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkludFBvaW50SGFzaC5oIgog
I2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKaW5k
ZXggNjJiODdkZjZkMThlOTgxMTc5YTE2NjE0Njk5OTc3N2QyMzE3Y2UxOC4uN2E0YjExZjM4YmVi
OTQ1NGQwOTEwMjI2YmZhYzBiMjc5OTNiYzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaApAQCAtMjAsNiArMjAs
NyBAQAogI2RlZmluZSBXaWRnZXRCYWNraW5nU3RvcmVHdGtYMTFfaAogCiAjaW5jbHVkZSAiV2lk
Z2V0QmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaW5jbHVkZSA8
WDExL1hsaWIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKaW5kZXggNzI2ZGE2MDA2MWEwMjRhZWFjMmEzM2RjNTNmZmZlMjRjNjU5
ZDg0Ni4uMDhkYmE3ZGY4Yjg4ODNmNmMzZWVmNjRkNDA1YTg0ODQ4ZWVlZDUxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRmxvYXRSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRp
ZXMuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVP
d25lckVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IGMxODY2OGRmOGEzOWQ3ZjIxMTgyNDNlZTdkYjVk
NDE4YjE1NzdlZjUuLmZjNjRkZjkzNzQxZGQ0OThmMjkyMmMxZDg0Y2Y4NDMxOTRmNzE5ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtMzQsNiArMzQsNyBA
QAogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVTZWxlY3Rpb24uaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxBcmVhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKaW5kZXggZDYyNjliMmE3Yjg4YjMxYjU0MWU3MjFkNTVmYzVkODg4MjlhY2Jm
OS4uMDBiOWJhOTc2MWMyNTc2MmIxODVlNWU5NjA2MzI2M2I1YWQwNDU5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiRnJh
bWVWaWV3LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBkYXRl
SW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1VwZGF0ZUluZm8uaAppbmRleCBkNGMxMTBk
MGUyZjMzMmU1NTMxMTRkZmExNTRhZWI1ZjRkNzhjYzdhLi5lMDBhZjgzNGVjMDU1ZmZmOGI5Njlh
NDM0NDhkNTk1Mzg1MTc4OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBk
YXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9VcGRhdGVJbmZvLmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogICAgIGNsYXNzIEFyZ3VtZW50RGVjb2Rl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaAppbmRleCAwYTlmZTlhNmY0
ZWFkNzYwMTFjNzI2MjAzNjBlODQ2ZmM0OGQzNzJlLi45Nzg2MDUwNWEyZTA3M2U2ZTMyM2Q1ZTI0
NGQwZTMxMTc3MGM4ZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFj
a2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdTdG9yZS5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaWYgVVNFKENBSVJPKQogI2luY2x1ZGUgPFJlZlB0ckNhaXJv
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XaWRnZXRCYWNraW5nU3RvcmUuaD4KKyNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKaW5kZXggMmFkMTkzZjFiNGE3MWI4MDc1YWQw
NDdhZDM5YjY3ZThjZWY4MDZhNi4uOTUwMzczZTc2N2ViMzcwZWIzMTBmOGZjZDI1MTlmZGE0Zjk3
ZTA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcApAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKIAogI2luY2x1ZGUgIlNo
YXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvR2VvbWV0cnlVdGlsaXRpZXMuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYWRpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGlj
c0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcuaAppbmRleCA4NWU2YTFhYjU0MTcxNWM2
MTU4Y2U5ZTVhM2ExMDgzNzM0NjIxOGZjLi5jOGM3YzQ0NmJkMTRhZGEwMjU0MGQyYWIzZmRkNzVk
ZDQ3MjhlZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLUHJp
bnRpbmdWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS1ByaW50aW5n
Vmlldy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0ludFJlY3RIYXNoLmg+
CiAjaW1wb3J0IDxjb25kaXRpb25fdmFyaWFibGU+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CisjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKIEBjbGFzcyBXS1ByaW50aW5nVmlld0RhdGE7CiBA
Y2xhc3MgUERGRG9jdW1lbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227603</attachid>
            <date>2014-03-22 22:31:41 -0700</date>
            <delta_ts>2014-03-22 23:51:29 -0700</delta_ts>
            <desc>We love you EFL</desc>
            <filename>bug-130645-20140322223119.patch</filename>
            <type>text/plain</type>
            <size>34568</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uOTc5YTAwZDAxYzMxMmE1NWQzMGJkZmMwNDY4MDA4
ODRjMzUzZTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFz
IEtsaW5nLgorCisgICAgICAgIFB1bGxpbmcgaW4gPHd0Zi9WZWN0b3IuaD4gYW5kIDx3dGYvUHJp
bnRTdHJlYW0uaD4gaW4gdGhlIHNpbXBsZSBnZW9tZXRyeQorICAgICAgICBjbGFzc2VzIGJyaW5n
cyBpbiBhIGxvdCBvZiBhZGRpdGlvbmFsIGhlYWRlcnMuIEZpeCBieSBhZGRpbmcgYSBuZXcKKyAg
ICAgICAgR2VvbWV0cnlVdGlsaXRpZXMgZmlsZSBzbyB0aGF0IHRoZSBiYXNpYyBmaWxlcyBkb24n
dCBuZWVkIFZlY3RvciwKKyAgICAgICAgYW5kIGluY2x1ZGluZyBHZW9tZXRyeVV0aWxpdGllcy5o
IHdoZXJlIG5lY2Vzc2FyeS4KKyAgICAgICAgCisgICAgICAgIEFsc28gZm9yd2FyZCBkZWNsYXJl
IFByaW50U3RyZWFtLmggYW5kIG9ubHkgYnJpbmcgaW4gdGhlIGhlYWRlcgorICAgICAgICBpbiBp
bXBsZW1lbnRhdGlvbiBmaWxlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NUb1N0eWxlTWFwLmg6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fp
cm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ludFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKworMjAxNC0wMy0yMiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBTb21lICNpbmNs
dWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzMGFjMjEyM2Mz
MTQwZDM1OTM3ODVkMDBlYzQ1NWZiZmNjNWY0NjgzLi5jYTBhZGU4ODc1NTllNzI2MTZlOTg3Yzkx
N2I1MTBkOTUxY2I1MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTQtMDMtMjIg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4g
dXAgI2luY2x1ZGVzIGJ5IGdlb21ldHJ5IGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
ZHJlYXMgS2xpbmcuCisKKyAgICAgICAgUHVsbGluZyBpbiA8d3RmL1ZlY3Rvci5oPiBhbmQgPHd0
Zi9QcmludFN0cmVhbS5oPiBpbiB0aGUgc2ltcGxlIGdlb21ldHJ5CisgICAgICAgIGNsYXNzZXMg
YnJpbmdzIGluIGEgbG90IG9mIGFkZGl0aW9uYWwgaGVhZGVycy4gRml4IGJ5IGFkZGluZyBhIG5l
dworICAgICAgICBHZW9tZXRyeVV0aWxpdGllcyBmaWxlIHNvIHRoYXQgdGhlIGJhc2ljIGZpbGVz
IGRvbid0IG5lZWQgVmVjdG9yLAorICAgICAgICBhbmQgaW5jbHVkaW5nIEdlb21ldHJ5VXRpbGl0
aWVzLmggd2hlcmUgbmVjZXNzYXJ5LgorICAgICAgICAKKyAgICAgICAgQWxzbyBmb3J3YXJkIGRl
Y2xhcmUgUHJpbnRTdHJlYW0uaCBhbmQgb25seSBicmluZyBpbiB0aGUgaGVhZGVyCisgICAgICAg
IGluIGltcGxlbWVudGF0aW9uIGZpbGVzLgorCisgICAgICAgICogVUlQcm9jZXNzL0JhY2tpbmdT
dG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lmg6CisKIDIwMTQtMDMtMjIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9ucyBpbiBXZWJQ
YWdlOjpyYW5nZUZyb21FZGl0aW5nUmFuZ2Ugd2hlbiByZXF1ZXN0ZWQgcmFuZ2UgbG9jYXRpb24g
aXMgTlNOb3RGb3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZTA0MDRmNzJjNTRhMTQ3ZmQw
MDkyNTRhNDk3MThiOTIyOTNmNzIyLi5kMDRjNjIwNjM0MzRmNTNjMTYwYjlkZTRjMjMyOGVlOTI0
MzhjZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg4Miw2ICsxODgyLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMu
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRy
eVV0aWxpdGllcy5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VUcmVlTm9kZS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFkaWVudEltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
OTc1MDVmMGFhZDgwMmYzZGEzMzMwNGM0YzMwN2UzMDgzZjMwM2Q5Yy4uOTM5Nzc4MjAzZjliZjkz
NWEyNGM2MjQ5NzhkZmM3YmJhZjBlOGIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC01NzY4LDYgKzU3NjgsOCBAQCBwbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250V2lkdGhWYXJpYW50LmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HbHlwaEJ1ZmZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaE1ldHJpY3NNYXAuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagppbmRleCAzYjA1MmY4YmM4ZjExNDBiYzk3NzFlOTc4MzhjNzk5NGRi
YjFlZjc2Li4xYjRjODAwMWU5NWM5N2I2NmEwYmM4NmIxMmFjN2JiN2JjZDA0MTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc4MDcs
NiArNzgwNyw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xGb250RmFzdFBhdGguY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcRm9udEZlYXR1cmVTZXR0aW5ncy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UGxhdGZvcm1EYXRhLmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0
aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEdlbmVyYXRlZEltYWdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEdseXBoUGFnZVRyZWVOb2RlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYWRpZW50LmNwcCIgLz4KQEAgLTE5MjU0LDYg
KzE5MjU1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEZvbnRTbW9vdGhpbmdNb2RlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1xGb250VHJhaXRzTWFzay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VuZXJhdGVkSW1hZ2UuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGhCdWZm
ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEds
eXBoTWV0cmljc01hcC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhmZTVmZTE4MThlODZjMTM5N2Nl
NzEyMDZkNjdjZDBkNjM1YzExNDYuLjlkMjA0YTAzNGU1YTEzMzIwZWU1NzNhOTdkYzEyNzg3Zjhk
ZjI5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ5MTEsNiArNDkxMSw5IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VvbWV0cnlVdGls
aXRpZXMuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KKyAg
ICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBo
aWNzXEZsb2F0UmVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZTRkMDc1NmM3OTMyNzY1ZDE5MGM0OGVkOGVh
N2RkMGU4MjRjY2IuLjQ3OWMwNjI4MmY3NjljMjE5MDAzMWI3YTZkZDBlMDdhMWMzMzY5NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTUxNCw2ICs1MTQsOCBAQAogCQkwRkEyNEQ3OTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhp
Y3NMYXllclVwZGF0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZBMjRENzcxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmNwcCAqLzsgfTsKIAkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkEyNEQ3ODE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkE4OEVCRDE2QThE
MUJEMDBGOTk5ODQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBODhFQkMxNkE4RDFCRDAw
Rjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSAqLzsgfTsKKwkJMEZC
NjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYyNTJDMThERTFCMTUwMEEw
N0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi87IH07CisJCTBGQjYyNTJGMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5
VXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEZCODg5MEExNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkw
ODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI4ODkwQjE2N0QyRkEx
MDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyog
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gKi87IH07CiAJCTBGQjg4OTBFMTY3RDMwMTYwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAgKi87IH07CkBAIC03MzIwLDYgKzczMjIsOCBAQAog
CQkwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkEyNEQ3ODE2MkRGOTE5MDBBM0Y0
QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZBODhFQkMxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZCNjI1MkMxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb21ldHJ5VXRpbGl0aWVzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdl
b21ldHJ5VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb21l
dHJ5VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTA4MTY3
RDJGQTEwMDEwQ0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAwMjAsNiArMjAw
MjQsOCBAQAogCQkJCTdDRTZDQkZBMTg3RjM3MDcwMEQ0NkJGNSAvKiBGb3JtYXRDb252ZXJ0ZXIu
aCAqLywKIAkJCQk0RkIzOTBBQzE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJhdGVkSW1hZ2UuY3Bw
ICovLAogCQkJCUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICov
LAorCQkJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAg
Ki8sCisJCQkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmgg
Ki8sCiAJCQkJMDg2QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi8sCiAJCQkJQjJD
M0RBNUIwRDAwNkNENjAwRUY2RjI2IC8qIEdseXBoQnVmZmVyLmggKi8sCiAJCQkJQzVENEFBNzgx
MTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovLApAQCAtMjQ0OTIsNiArMjQ0
OTgsNyBAQAogCQkJCTc1NDE1RDU2MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0RXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NDE1RDU4MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1Nw
ZWVjaElucHV0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTQxNUQ1QTEyOUFCMkQyMDAz
QUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
QjYyNTJGMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQUE3RkVFQUQxNkE0RTc0QjAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBQTJBNUFEMjE2QTQ4NjBBMDA5NzZBMjUgLyogSlNTcGVlY2hT
eW50aGVzaXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE3RkVFQTcxNkE0RTZGMzAwNEMw
QzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
OTM2LDYgKzI3OTQzLDcgQEAKIAkJCQkwNzk2OURCRDE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENT
ZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0QwN0Ix
NDE4MzQxNTg4MDBBQkREM0MgLyogSlNSVENTZXNzaW9uRGVzY3JpcHRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQkYxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHND
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkI2MjUyRTE4REUxQjE1MDBBMDdDMDUg
LyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQzExN0Qx
NDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDc5NjlEQzMxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXNwb25zZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwN0RDNUZENDE3RDNFRUU5MDA5OUY4OTAgLyogSlNSVENTdGF0c1Jlc3Bv
bnNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1RvU3R5bGVNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgK
aW5kZXggY2Y1MGM4NTk0MmE4MDE4MjYzM2EzYzMxMDJjYjc2NzkyNjlhNDA1My4uMWExM2Q4Mzc2
ZWYxZGE0YzY2ZTU4ZDk2ZTBmMmM2ZjI3OTZjY2QzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1RvU3R5bGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHls
ZU1hcC5oCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDMxZDVlYmQyMmQ2YjY2
ZGFkNjZkNjE5YTc0ZDdmZDRhMmM1NjY0OGIuLmM0MTBkMDUyNDcyMmM1NzcyODc2ODE1MjIzOTQ5
NWRiNTI1ZDUxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
CkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJHZW9t
ZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdTdG9yZUNhaXJvLmgKaW5kZXgg
OWIwZTBmNzBhOWU3NGNjMWU1NGQwYWJjOTcyZjNhY2YwZWY2OWRhNS4uMzlkMjY1NzBiYTgyYzhk
OTI0M2M4MjgwZjhjYjRjMzU3OTBmZTRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCkBAIC0yMCw2ICsyMCw3
IEBACiAjZGVmaW5lIFdpZGdldEJhY2tpbmdTdG9yZUNhaXJvX2gKIAogI2luY2x1ZGUgIldpZGdl
dEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuY3BwCmluZGV4IDc5MWUwM2ZjODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1
YmZlYTM4MTRhZThlNWUyMmMzMzE5MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBA
QCBGbG9hdFBvaW50IEZsb2F0UG9pbnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91Ymxl
IHkpCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFy
cm93UHJlY2lzaW9uVG9GbG9hdCh5KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9h
dFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChw
Mi54KCkgPT0gcDEueCgpKQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9h
dD46OmluZmluaXR5KCk7Ci0KLSAgICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAo
cDIueSgpIC0gcDEueSgpKSAvIChwMi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBz
bG9wZSAqIHAxLngoKTsKLSAgICByZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2Vj
dGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZs
b2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0
aW9uKSAKLXsKLSAgICBmbG9hdCBwT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5k
U2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZs
b2F0IGRTbG9wZSA9IGZpbmRTbG9wZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9w
ZSA9PSBwU2xvcGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3Bl
ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGlu
dGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9w
ZSAqIGludGVyc2VjdGlvbi54KCkgKyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIGlmIChkU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmlu
aXR5KCkpIHsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50
ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2Vj
dGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRl
cnNlY3Rpb24uc2V0WCgoZE9mZnNldCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwot
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXgg
ZGRjMzNkZGQ5ODU4NzFhMTQ4MzlmYmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYw
NzgwMjg5MTY1NDBiYTcxNDc2YTE5NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UG9pbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBG
bG9hdFBvaW50IG1hdHJpeFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNv
bnN0OwogICAgIEZsb2F0UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYpIGNvbnN0OwogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAg
IHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IGZsb2F0IG1feCwgbV95OwpAQCAtMjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRv
RmxvYXRTaXplKGNvbnN0IEZsb2F0UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngo
KSwgYS55KCkpOwogfQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNv
bnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGlu
ZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFs
c2UgaWYgdGhlIGxpbmVzIGRvbid0IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihj
b25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9p
bnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsK
LQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuY3BwCmluZGV4IGZlNzA2YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcu
LmE3YzA4ZTY3NzEyZWJiODhjMjU0Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcs
NiBAQCB2b2lkIEZsb2F0UmVjdDo6c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6
ZS5zZXRIZWlnaHQoaGVpZ2h0KCkgKiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29u
c3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0K
LSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZs
b2F0UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0g
c3RkOjptaW4ocDAueCgpLCBwMS54KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJv
dW5kZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChy
b3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXpl
KCkpKTsKIH0KIAotRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBG
bG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYg
KHNyY1JlY3Qud2lkdGgoKSA9PSAwIHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAg
cmV0dXJuIEZsb2F0UmVjdCgpOwotCi0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0Lndp
ZHRoKCkgLyBzcmNSZWN0LndpZHRoKCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVj
dC5oZWlnaHQoKSAvIHNyY1JlY3QuaGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0
UmVjdC54KCkgKyAoci54KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAg
ICAgICAgICAgICAgZGVzdFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0
U2NhbGUsCi0gICAgICAgICAgICAgICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhl
aWdodCgpICogaGVpZ2h0U2NhbGUpOwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4
IDExZjFlYTk1YWQxMDg3MDhhZDc5ODM2OTA4MTNkYmM5ZTk5YzkxOGQuLmQzNDZkZDU1YzYwYTYw
YzdhYTEwNDBkYWJiZDMzMTNlY2Q0NTA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVj
dF9oCiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE3Nyw3ICsx
NzYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgY2Fpcm9fcmVjdGFuZ2xlX3QoKSBjb25zdDsK
ICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZv
aWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEZsb2F0
UmVjdCBpbmZpbml0ZVJlY3QoKTsKICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIw
OCw4ICsyMDcsNiBAQCBpbmxpbmUgRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBGbG9hdFJlY3Qm
IGEsIGNvbnN0IEZsb2F0UmVjdCYgYikKICAgICByZXR1cm4gYzsKIH0KIAotRmxvYXRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwotCiBpbmxpbmUgRmxvYXRSZWN0JiBv
cGVyYXRvcis9KEZsb2F0UmVjdCYgYSwgY29uc3QgRmxvYXRSZWN0JiBiKQogewogICAgIGEubW92
ZShiLngoKSwgYi55KCkpOwpAQCAtMjUzLDkgKzI1MCw2IEBAIEludFJlY3QgZW5jbG9zZWRJbnRS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYpOwogCi0vLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCi1GbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7Ci0K
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRT
aXplLmNwcAppbmRleCA2ZWU0YzQwNDNiYTM2OTFiNWYxNDI0NmMwMTAxNzVjNTE3YmUwZjllLi5l
N2ViNDJkMzYyOGMxN2NiYTYxMGM1NDFiNzY3ZDA2YjE0YWE4OTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGgu
aD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDIz
MjU2NWNmMjdkNWIyMmE4NTZlOWU1YmUzYWFiMGRlYjUwOTJiYzkuLjczY2MwZmVhOGQ0ZDU5MjRj
YTFlNDRkZjkyZThjZTI2YjA2ZGUxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0U2l6ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIE5TU2l6ZSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgZmxvYXQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTBjOTcyNTE2OGNkY2YzYTczZWI4NmIzNWViNWFlYWNmZTg0M2Y4MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRp
bGl0aWVzLmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQ
b2ludCYgcDIsIGZsb2F0JiBjKQoreworICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQorICAgICAg
ICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7CisKKyAgICAv
LyB5ID0gbXggKyBjCisgICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChwMi54
KCkgLSBwMS54KCkpOworICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKKyAgICByZXR1
cm4gc2xvcGU7Cit9CisKK2Jvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9h
dFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKK3sKKyAgICBmbG9hdCBwT2Zm
c2V0ID0gMDsKKyAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsK
KworICAgIGZsb2F0IGRPZmZzZXQgPSAwOworICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9wZShk
MSwgZDIsIGRPZmZzZXQpOworCisgICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7
CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBk
T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkU2xvcGUgPT0g
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJz
ZWN0aW9uLnNldFgoZDEueCgpKTsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICog
aW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgCisgICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsg
eCA9IChjJyAtIGMpIC8gKG0gLSBtJykKKyAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNldCAt
IHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOworICAgIGludGVyc2VjdGlvbi5zZXRZKHBT
bG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKK3sKKyAg
ICBJbnRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0
ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitGbG9hdFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBGbG9hdFJlY3QgcmVz
dWx0OworCisgICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0
UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RS
ZWN0KQoreworICAgIGlmICghc3JjUmVjdC53aWR0aCgpIHx8ICFzcmNSZWN0LmhlaWdodCgpKQor
ICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CisKKyAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVz
dFJlY3Qud2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHRTY2FsZSA9
IGRlc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKTsKKyAgICByZXR1cm4gRmxvYXRS
ZWN0KGRlc3RSZWN0LngoKSArIChyLngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCisg
ICAgICAgIGRlc3RSZWN0LnkoKSArIChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxl
LAorICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2Nh
bGUpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VvbWV0cnlVdGlsaXRpZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTM3MzE4MWJiY2E1YTZiYzJiMDhjMmEz
NTljMzNiM2Y1MjliZjkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBHZW9tZXRyeVV0aWxpdGllc19oCisjZGVmaW5lIEdlb21ldHJ5VXRpbGl0
aWVzX2gKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOworCisvLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCitib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYpOworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8Rmxv
YXRSZWN0PiYpOworCisvLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOworCit9
CisKKyNlbmRpZiAvLyBHZW9tZXRyeVV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW50UG9pbnQuaAppbmRleCA5MTk5N2RlNWNlOTBmNjYwZmQxZDA5N2UyZDAw
MzRiYTg2NWZkNzU4Li4wOWY2ZDUwOWU0Yjc5NTlmNjNjNThjYzQwY2Y4MDIwZTI0ODAxNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgRXZhc19Qb2ludCgpIGNvbnN0OwogI2Vu
ZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBk
dW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1f
eCwgbV95OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApp
bmRleCAwZThmZjk3ODUxYjRiNDliZjk4OTY1MWM0NWI4M2ZlNGUxZmQ3Mjk2Li43OGUwZDU3YTY4
ODk3YTdiYzk4ZDdlNTNlNmY4ZGQ2ZTBjYTQ5MmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApAQCAtMTQ2LDE3ICsxNDYsNiBAQCBJbnRTaXplIElu
dFJlY3Q6OmRpZmZlcmVuY2VUb1BvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAg
ICByZXR1cm4gSW50U2l6ZSh4ZGlzdGFuY2UsIHlkaXN0YW5jZSk7CiB9CiAKLUludFJlY3QgdW5p
b25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCi17Ci0gICAgSW50UmVjdCByZXN1
bHQ7Ci0KLSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwot
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBJbnRSZWN0OjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCA0NjA2YjBl
Yzc0NmFhOTM3NzI1YjkwNDZhZTJlOTViNjg0OGQ3ZjAwLi5iZjAyMzc5NjUyNmEyZWQxNzYwZTIy
YzY1MmY3NGViM2JhZTExZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgIkxheW91dFVuaXQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0Uo
Q0cpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTk3LDcgKzE5Niw3IEBAIHB1
YmxpYzoKICAgICBvcGVyYXRvciBOU1JlY3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEludFJlY3QgaW5maW5pdGVSZWN0KCk7CiAg
ICAgYm9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMjEsOCArMjIwLDYgQEAgaW5saW5lIElu
dFJlY3QgdW5pb25SZWN0KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiAgICAg
cmV0dXJuIGM7CiB9CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYp
OwotCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJl
Y3QmIGIpCiB7CiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSA9PSBiLmxvY2F0aW9uKCkgJiYgYS5z
aXplKCkgPT0gYi5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmgKaW5kZXggN2M1YjU4Y2YxZDA1MTk4YzhlYjc1NTY2YmVlZWFhMzY4NmFmYmM0Ni4uOWI1
NGZiNjAzN2EzYTEyNGI1ODQ5ZDFiMmZkN2QzMDJhYTg0MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBJ
bnRTaXplX2gKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUHJpbnRTdHJl
YW0uaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CkBAIC01
MSw2ICs1MCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfTlNTaXplIE5TU2l6ZTsKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1NJWkUgU0laRTsKICNlbmRpZgogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFByaW50
U3RyZWFtOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpAQCAt
MTM5LDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBTSVpFKCkgY29uc3Q7CiAjZW5k
aWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1
bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQgbV93
aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCA5ZTFjODNiZDhhOTg2N2Zi
YTk5ZDg1NWNjMjBmYjA5ZDI4NDQxNjI5Li5mNGIzODMxYWU2MGIzOTcyN2NhMjRjZmRhNzRkMzc4
MWQ5NThlYTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UaWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmgKaW5kZXgg
ZmEyNWNhMjhhMDBmZTQwZmFmYjg4NmE5ODkzOTJiZjg2NDk0MzdhNi4uNTAwZGJhY2NiZWVlMDZj
YmZiOTE1MzAwNmRhOThmY2M1OThlMmNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGUuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkludFBvaW50SGFzaC5oIgog
I2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRl
QXRsYXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9VcGRhdGVBdGxhcy5oCmluZGV4IDMyNTMwYjNmY2U1MmJiMGUzYjA4YWFkMTk2YzBiZmNi
MGVjZTc0YjEuLmNmODY3ODJkZTQzOGE4MzI3OTE0ZDM0NDE4NTgxMzQ3Y2Y2OTc5MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9VcGRhdGVBdGxhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9VcGRhdGVBdGxhcy5oCkBAIC0yNCw2ICsyNCw4IEBACiAjaW5jbHVk
ZSAiQXJlYUFsbG9jYXRvci5oIgogI2luY2x1ZGUgIkNvb3JkaW5hdGVkU3VyZmFjZS5oIgogI2lu
Y2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gx
MS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gx
MS5oCmluZGV4IDYyYjg3ZGY2ZDE4ZTk4MTE3OWExNjYxNDY5OTk3NzdkMjMxN2NlMTguLjdhNGIx
MWYzOGJlYjk0NTRkMDkxMDIyNmJmYWMwYjI3OTkzYmM5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKQEAgLTIw
LDYgKzIwLDcgQEAKICNkZWZpbmUgV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExX2gKIAogI2luY2x1
ZGUgIldpZGdldEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2lu
Y2x1ZGUgPFgxMS9YbGliLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZm
ZTI0YzY1OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQz
ZWU3ZGI1ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0Zjcx
OTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4
ODI5YWNiZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1VwZGF0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9VcGRhdGVJbmZvLmgKaW5kZXgg
ZDRjMTEwZDBlMmYzMzJlNTUzMTE0ZGZhMTU0YWViNWY0ZDc4Y2M3YS4uZTAwYWY4MzRlYzA1NWZm
ZjhiOTY5YTQzNDQ4ZDU5NTM4NTE3ODk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VwZGF0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBkYXRlSW5mby5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKICAgICBjbGFzcyBBcmd1bWVu
dERlY29kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmgKaW5kZXggMGE5
ZmU5YTZmNGVhZDc2MDExYzcyNjIwMzYwZTg0NmZjNDhkMzcyZS4uOTc4NjA1MDVhMmUwNzNlNmUz
MjNkNWUyNDRkMGUzMTE3NzBjOGRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0JhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5n
U3RvcmUuaApAQCAtMzIsNiArMzIsNyBAQAogI2lmIFVTRShDQUlSTykKICNpbmNsdWRlIDxSZWZQ
dHJDYWlyby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2lkZ2V0QmFja2luZ1N0b3JlLmg+CisjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwCmluZGV4IDJhZDE5M2YxYjRhNzFi
ODA3NWFkMDQ3YWQzOWI2N2U4Y2VmODA2YTYuLjk1MDM3M2U3NjdlYjM3MGViMzEwZjhmY2QyNTE5
ZmRhNGY5N2UwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5k
aWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5j
cHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJGaW5kSW5kaWNhdG9yLmgiCiAKICNpbmNs
dWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dlb21ldHJ5VXRpbGl0
aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFkaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
R3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3LmgKaW5kZXggODVlNmExYWI1
NDE3MTVjNjE1OGNlOWU1YTNhMTA4MzczNDYyMThmYy4uYzhjN2M0NDZiZDE0YWRhMDI1NDBkMmFi
M2ZkZDc1ZGQ0NzI4ZWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XS1ByaW50aW5nVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tQ
cmludGluZ1ZpZXcuaApAQCAtMjgsNiArMjgsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9JbnRSZWN0
SGFzaC5oPgogI2ltcG9ydCA8Y29uZGl0aW9uX3ZhcmlhYmxlPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCiBAY2xhc3MgV0tQcmludGluZ1ZpZXdE
YXRhOwogQGNsYXNzIFBERkRvY3VtZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227606</attachid>
            <date>2014-03-22 23:51:36 -0700</date>
            <delta_ts>2014-03-23 01:36:40 -0700</delta_ts>
            <desc>We love you EFL even more</desc>
            <filename>bug-130645-20140322235114.patch</filename>
            <type>text/plain</type>
            <size>35163</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M2NjBlN2UzZWY1Nzg5
YmM4YzYxNjYxODJmYThlNzg4OTJkNzU0OC4uOTc5YTAwZDAxYzMxMmE1NWQzMGJkZmMwNDY4MDA4
ODRjMzUzZTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUxIEBACiAyMDE0LTAzLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENsZWFuIHVwICNp
bmNsdWRlcyBieSBnZW9tZXRyeSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFz
IEtsaW5nLgorCisgICAgICAgIFB1bGxpbmcgaW4gPHd0Zi9WZWN0b3IuaD4gYW5kIDx3dGYvUHJp
bnRTdHJlYW0uaD4gaW4gdGhlIHNpbXBsZSBnZW9tZXRyeQorICAgICAgICBjbGFzc2VzIGJyaW5n
cyBpbiBhIGxvdCBvZiBhZGRpdGlvbmFsIGhlYWRlcnMuIEZpeCBieSBhZGRpbmcgYSBuZXcKKyAg
ICAgICAgR2VvbWV0cnlVdGlsaXRpZXMgZmlsZSBzbyB0aGF0IHRoZSBiYXNpYyBmaWxlcyBkb24n
dCBuZWVkIFZlY3RvciwKKyAgICAgICAgYW5kIGluY2x1ZGluZyBHZW9tZXRyeVV0aWxpdGllcy5o
IHdoZXJlIG5lY2Vzc2FyeS4KKyAgICAgICAgCisgICAgICAgIEFsc28gZm9yd2FyZCBkZWNsYXJl
IFByaW50U3RyZWFtLmggYW5kIG9ubHkgYnJpbmcgaW4gdGhlIGhlYWRlcgorICAgICAgICBpbiBp
bXBsZW1lbnRhdGlvbiBmaWxlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NUb1N0eWxlTWFwLmg6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fp
cm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpmaW5kU2xvcGUpOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEludGVyc2VjdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjp1bmlvblJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6bWFwUmVjdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24uaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ludFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1dpZGdldEJhY2tpbmdTdG9yZUd0a1gxMS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKworMjAxNC0wMy0yMiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBTb21lICNpbmNs
dWRlIGh5Z2llbmUgaW4gTm9kZS9FbGVtZW50IGV0YwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjQyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzMGFjMjEyM2Mz
MTQwZDM1OTM3ODVkMDBlYzQ1NWZiZmNjNWY0NjgzLi5jYTBhZGU4ODc1NTllNzI2MTZlOTg3Yzkx
N2I1MTBkOTUxY2I1MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTQtMDMtMjIg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4g
dXAgI2luY2x1ZGVzIGJ5IGdlb21ldHJ5IGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
ZHJlYXMgS2xpbmcuCisKKyAgICAgICAgUHVsbGluZyBpbiA8d3RmL1ZlY3Rvci5oPiBhbmQgPHd0
Zi9QcmludFN0cmVhbS5oPiBpbiB0aGUgc2ltcGxlIGdlb21ldHJ5CisgICAgICAgIGNsYXNzZXMg
YnJpbmdzIGluIGEgbG90IG9mIGFkZGl0aW9uYWwgaGVhZGVycy4gRml4IGJ5IGFkZGluZyBhIG5l
dworICAgICAgICBHZW9tZXRyeVV0aWxpdGllcyBmaWxlIHNvIHRoYXQgdGhlIGJhc2ljIGZpbGVz
IGRvbid0IG5lZWQgVmVjdG9yLAorICAgICAgICBhbmQgaW5jbHVkaW5nIEdlb21ldHJ5VXRpbGl0
aWVzLmggd2hlcmUgbmVjZXNzYXJ5LgorICAgICAgICAKKyAgICAgICAgQWxzbyBmb3J3YXJkIGRl
Y2xhcmUgUHJpbnRTdHJlYW0uaCBhbmQgb25seSBicmluZyBpbiB0aGUgaGVhZGVyCisgICAgICAg
IGluIGltcGxlbWVudGF0aW9uIGZpbGVzLgorCisgICAgICAgICogVUlQcm9jZXNzL0JhY2tpbmdT
dG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lmg6CisKIDIwMTQtMDMtMjIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9ucyBpbiBXZWJQ
YWdlOjpyYW5nZUZyb21FZGl0aW5nUmFuZ2Ugd2hlbiByZXF1ZXN0ZWQgcmFuZ2UgbG9jYXRpb24g
aXMgTlNOb3RGb3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZTA0MDRmNzJjNTRhMTQ3ZmQw
MDkyNTRhNDk3MThiOTIyOTNmNzIyLi5kMDRjNjIwNjM0MzRmNTNjMTYwYjlkZTRjMjMyOGVlOTI0
MzhjZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg4Miw2ICsxODgyLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMu
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRy
eVV0aWxpdGllcy5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VUcmVlTm9kZS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFkaWVudEltYWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
OTc1MDVmMGFhZDgwMmYzZGEzMzMwNGM0YzMwN2UzMDgzZjMwM2Q5Yy4uOTM5Nzc4MjAzZjliZjkz
NWEyNGM2MjQ5NzhkZmM3YmJhZjBlOGIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC01NzY4LDYgKzU3NjgsOCBAQCBwbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250V2lkdGhWYXJpYW50LmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HbHlwaEJ1ZmZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaE1ldHJpY3NNYXAuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagppbmRleCAzYjA1MmY4YmM4ZjExNDBiYzk3NzFlOTc4MzhjNzk5NGRi
YjFlZjc2Li4xYjRjODAwMWU5NWM5N2I2NmEwYmM4NmIxMmFjN2JiN2JjZDA0MTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc4MDcs
NiArNzgwNyw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xGb250RmFzdFBhdGguY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcRm9udEZlYXR1cmVTZXR0aW5ncy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UGxhdGZvcm1EYXRhLmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0
aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEdlbmVyYXRlZEltYWdlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEdseXBoUGFnZVRyZWVOb2RlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdyYWRpZW50LmNwcCIgLz4KQEAgLTE5MjU0LDYg
KzE5MjU1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEZvbnRTbW9vdGhpbmdNb2RlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1xGb250VHJhaXRzTWFzay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VuZXJhdGVkSW1hZ2UuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEdlb21ldHJ5VXRpbGl0aWVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHbHlwaC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2x5cGhCdWZm
ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEds
eXBoTWV0cmljc01hcC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhmZTVmZTE4MThlODZjMTM5N2Nl
NzEyMDZkNjdjZDBkNjM1YzExNDYuLjlkMjA0YTAzNGU1YTEzMzIwZWU1NzNhOTdkYzEyNzg3Zjhk
ZjI5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTQ5MTEsNiArNDkxMSw5IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xHZW5lcmF0ZWRJbWFnZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcR2VvbWV0cnlVdGls
aXRpZXMuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3M8L0ZpbHRlcj4KKyAg
ICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBo
aWNzXEZsb2F0UmVjdC5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljczwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZTRkMDc1NmM3OTMyNzY1ZDE5MGM0OGVkOGVh
N2RkMGU4MjRjY2IuLjQ3OWMwNjI4MmY3NjljMjE5MDAzMWI3YTZkZDBlMDdhMWMzMzY5NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTUxNCw2ICs1MTQsOCBAQAogCQkwRkEyNEQ3OTE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhp
Y3NMYXllclVwZGF0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZBMjRENzcxNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmNwcCAqLzsgfTsKIAkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkEyNEQ3ODE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkE4OEVCRDE2QThE
MUJEMDBGOTk5ODQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBODhFQkMxNkE4RDFCRDAw
Rjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbSAqLzsgfTsKKwkJMEZC
NjI1MkUxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYyNTJDMThERTFCMTUwMEEw
N0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAgKi87IH07CisJCTBGQjYyNTJGMThERTFCMTUw
MEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5
VXRpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEZCODg5MEExNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkw
ODE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI4ODkwQjE2N0QyRkEx
MDAxMENEQTUgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyog
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gKi87IH07CiAJCTBGQjg4OTBFMTY3RDMwMTYwMDEw
Q0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAgKi87IH07CkBAIC03MzIwLDYgKzczMjIsOCBAQAog
CQkwRkEyNEQ3NzE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkEyNEQ3ODE2MkRGOTE5MDBBM0Y0
QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR3JhcGhpY3NMYXllclVwZGF0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZBODhFQkMxNkE4RDFCRDAwRjk5OTg0IC8qIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MEZCNjI1MkMxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb21ldHJ5VXRpbGl0aWVzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdl
b21ldHJ5VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb21l
dHJ5VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjg4OTA4MTY3
RDJGQTEwMDEwQ0RBNSAvKiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkI4ODkwOTE2N0QyRkExMDAxMENEQTUgLyogU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZCODg5MEMxNjdEMzAxNjAwMTBDREE1IC8qIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAwMjAsNiArMjAw
MjQsOCBAQAogCQkJCTdDRTZDQkZBMTg3RjM3MDcwMEQ0NkJGNSAvKiBGb3JtYXRDb252ZXJ0ZXIu
aCAqLywKIAkJCQk0RkIzOTBBQzE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJhdGVkSW1hZ2UuY3Bw
ICovLAogCQkJCUJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICov
LAorCQkJCTBGQjYyNTJDMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5jcHAg
Ki8sCisJCQkJMEZCNjI1MkQxOERFMUIxNTAwQTA3QzA1IC8qIEdlb21ldHJ5VXRpbGl0aWVzLmgg
Ki8sCiAJCQkJMDg2QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi8sCiAJCQkJQjJD
M0RBNUIwRDAwNkNENjAwRUY2RjI2IC8qIEdseXBoQnVmZmVyLmggKi8sCiAJCQkJQzVENEFBNzgx
MTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovLApAQCAtMjQ0OTIsNiArMjQ0
OTgsNyBAQAogCQkJCTc1NDE1RDU2MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1NwZWVjaElucHV0RXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NDE1RDU4MTI5QUIyRDIwMDNBRDY2OSAvKiBKU1Nw
ZWVjaElucHV0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTQxNUQ1QTEyOUFCMkQyMDAz
QUQ2NjkgLyogSlNTcGVlY2hJbnB1dFJlc3VsdExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
QjYyNTJGMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0aWxpdGllcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQUE3RkVFQUQxNkE0RTc0QjAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBQTJBNUFEMjE2QTQ4NjBBMDA5NzZBMjUgLyogSlNTcGVlY2hT
eW50aGVzaXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE3RkVFQTcxNkE0RTZGMzAwNEMw
QzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
OTM2LDYgKzI3OTQzLDcgQEAKIAkJCQkwNzk2OURCRDE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENT
ZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0QwN0Ix
NDE4MzQxNTg4MDBBQkREM0MgLyogSlNSVENTZXNzaW9uRGVzY3JpcHRpb25DdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQkYxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHND
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkI2MjUyRTE4REUxQjE1MDBBMDdDMDUg
LyogR2VvbWV0cnlVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc5NjlEQzExN0Qx
NDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDc5NjlEQzMxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDU3RhdHNSZXNwb25zZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwN0RDNUZENDE3RDNFRUU5MDA5OUY4OTAgLyogSlNSVENTdGF0c1Jlc3Bv
bnNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1RvU3R5bGVNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmgK
aW5kZXggY2Y1MGM4NTk0MmE4MDE4MjYzM2EzYzMxMDJjYjc2NzkyNjlhNDA1My4uMWExM2Q4Mzc2
ZWYxZGE0YzY2ZTU4ZDk2ZTBmMmM2ZjI3OTZjY2QzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1RvU3R5bGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHls
ZU1hcC5oCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiTGVuZ3RoQm94LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDMxZDVlYmQyMmQ2YjY2
ZGFkNjZkNjE5YTc0ZDdmZDRhMmM1NjY0OGIuLmM0MTBkMDUyNDcyMmM1NzcyODc2ODE1MjIzOTQ5
NWRiNTI1ZDUxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
CkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJHZW9t
ZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dpZGdldEJhY2tpbmdTdG9yZUNhaXJvLmgKaW5kZXgg
OWIwZTBmNzBhOWU3NGNjMWU1NGQwYWJjOTcyZjNhY2YwZWY2OWRhNS4uMzlkMjY1NzBiYTgyYzhk
OTI0M2M4MjgwZjhjYjRjMzU3OTBmZTRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlQ2Fpcm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmVDYWlyby5oCkBAIC0yMCw2ICsyMCw3
IEBACiAjZGVmaW5lIFdpZGdldEJhY2tpbmdTdG9yZUNhaXJvX2gKIAogI2luY2x1ZGUgIldpZGdl
dEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9p
bnQuY3BwCmluZGV4IDc5MWUwM2ZjODQyNzQ1MjNhYWU1ZWIyODk0MDRiMjk0OWY3MTIwYTEuLjk1
YmZlYTM4MTRhZThlNWUyMmMzMzE5MmY3MWFhMDMyNTI2MWQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9pbnQuY3BwCkBAIC04MCw0NSArODAsNiBA
QCBGbG9hdFBvaW50IEZsb2F0UG9pbnQ6Om5hcnJvd1ByZWNpc2lvbihkb3VibGUgeCwgZG91Ymxl
IHkpCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQobmFycm93UHJlY2lzaW9uVG9GbG9hdCh4KSwgbmFy
cm93UHJlY2lzaW9uVG9GbG9hdCh5KSk7CiB9CiAKLWZsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9h
dFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGZsb2F0JiBjKQotewotICAgIGlmIChw
Mi54KCkgPT0gcDEueCgpKQotICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9h
dD46OmluZmluaXR5KCk7Ci0KLSAgICAvLyB5ID0gbXggKyBjCi0gICAgZmxvYXQgc2xvcGUgPSAo
cDIueSgpIC0gcDEueSgpKSAvIChwMi54KCkgLSBwMS54KCkpOwotICAgIGMgPSBwMS55KCkgLSBz
bG9wZSAqIHAxLngoKTsKLSAgICByZXR1cm4gc2xvcGU7Ci19Ci0KLWJvb2wgZmluZEludGVyc2Vj
dGlvbihjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZs
b2F0UG9pbnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0
aW9uKSAKLXsKLSAgICBmbG9hdCBwT2Zmc2V0ID0gMDsKLSAgICBmbG9hdCBwU2xvcGUgPSBmaW5k
U2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsKLQotICAgIGZsb2F0IGRPZmZzZXQgPSAwOwotICAgIGZs
b2F0IGRTbG9wZSA9IGZpbmRTbG9wZShkMSwgZDIsIGRPZmZzZXQpOwotCi0gICAgaWYgKGRTbG9w
ZSA9PSBwU2xvcGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBpZiAocFNsb3Bl
ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjppbmZpbml0eSgpKSB7Ci0gICAgICAgIGlu
dGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7Ci0gICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9w
ZSAqIGludGVyc2VjdGlvbi54KCkgKyBkT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIGlmIChkU2xvcGUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmlu
aXR5KCkpIHsKLSAgICAgICAgaW50ZXJzZWN0aW9uLnNldFgoZDEueCgpKTsKLSAgICAgICAgaW50
ZXJzZWN0aW9uLnNldFkocFNsb3BlICogaW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOwotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0gICAgLy8gRmluZCB4IGF0IGludGVyc2Vj
dGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsgeCA9IChjJyAtIGMpIC8gKG0gLSBtJykKLSAgICBpbnRl
cnNlY3Rpb24uc2V0WCgoZE9mZnNldCAtIHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOwot
ICAgIGludGVyc2VjdGlvbi5zZXRZKHBTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBGbG9hdFBvaW50OjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50ZigiKCVmLCAlZikiLCB4KCksIHkoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvaW50LmgKaW5kZXgg
ZGRjMzNkZGQ5ODU4NzFhMTQ4MzlmYmI0MjllYWI3NGUyMWVhZjNhMy4uNTM5OGMwYzlkNjAzMWYw
NzgwMjg5MTY1NDBiYTcxNDc2YTE5NTRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UG9pbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBG
bG9hdFBvaW50IG1hdHJpeFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIGNv
bnN0OwogICAgIEZsb2F0UG9pbnQgbWF0cml4VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYpIGNvbnN0OwogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAg
IHZvaWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IGZsb2F0IG1feCwgbV95OwpAQCAtMjM1LDExICsyMzUsNiBAQCBpbmxpbmUgRmxvYXRTaXplIHRv
RmxvYXRTaXplKGNvbnN0IEZsb2F0UG9pbnQmIGEpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShhLngo
KSwgYS55KCkpOwogfQogCi1mbG9hdCBmaW5kU2xvcGUoY29uc3QgRmxvYXRQb2ludCYgcDEsIGNv
bnN0IEZsb2F0UG9pbnQmIHAyLCBmbG9hdCYgYyk7Ci0KLS8vIEZpbmQgcG9pbnQgd2hlcmUgbGlu
ZXMgdGhyb3VnaCB0aGUgdHdvIHBhaXJzIG9mIHBvaW50cyBpbnRlcnNlY3QuIFJldHVybnMgZmFs
c2UgaWYgdGhlIGxpbmVzIGRvbid0IGludGVyc2VjdC4KLWJvb2wgZmluZEludGVyc2VjdGlvbihj
b25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9p
bnQmIGQxLCBjb25zdCBGbG9hdFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKTsK
LQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuY3BwCmluZGV4IGZlNzA2YjcxNTMwZjZiMDQ0ZmUzMDgxYjUxODc4OTZlM2MyZTRmMzcu
LmE3YzA4ZTY3NzEyZWJiODhjMjU0Y2JjZmY2ZDhkMTc4ODRhMTdmMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMTQ3LDE3ICsxNDcs
NiBAQCB2b2lkIEZsb2F0UmVjdDo6c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogICAgIG1fc2l6
ZS5zZXRIZWlnaHQoaGVpZ2h0KCkgKiBzeSk7CiB9CiAKLUZsb2F0UmVjdCB1bmlvblJlY3QoY29u
c3QgVmVjdG9yPEZsb2F0UmVjdD4mIHJlY3RzKQotewotICAgIEZsb2F0UmVjdCByZXN1bHQ7Ci0K
LSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwotCi0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBGbG9hdFJlY3Q6OmZpdFRvUG9pbnRzKGNvbnN0IEZs
b2F0UG9pbnQmIHAwLCBjb25zdCBGbG9hdFBvaW50JiBwMSkKIHsKICAgICBmbG9hdCBsZWZ0ID0g
c3RkOjptaW4ocDAueCgpLCBwMS54KCkpOwpAQCAtMjQwLDE4ICsyMjksNiBAQCBJbnRSZWN0IHJv
dW5kZWRJbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKICAgICByZXR1cm4gSW50UmVjdChy
b3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlvbigpKSwgcm91bmRlZEludFNpemUocmVjdC5zaXpl
KCkpKTsKIH0KIAotRmxvYXRSZWN0IG1hcFJlY3QoY29uc3QgRmxvYXRSZWN0JiByLCBjb25zdCBG
bG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCi17Ci0gICAgaWYg
KHNyY1JlY3Qud2lkdGgoKSA9PSAwIHx8IHNyY1JlY3QuaGVpZ2h0KCkgPT0gMCkKLSAgICAgICAg
cmV0dXJuIEZsb2F0UmVjdCgpOwotCi0gICAgZmxvYXQgd2lkdGhTY2FsZSA9IGRlc3RSZWN0Lndp
ZHRoKCkgLyBzcmNSZWN0LndpZHRoKCk7Ci0gICAgZmxvYXQgaGVpZ2h0U2NhbGUgPSBkZXN0UmVj
dC5oZWlnaHQoKSAvIHNyY1JlY3QuaGVpZ2h0KCk7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdChkZXN0
UmVjdC54KCkgKyAoci54KCkgLSBzcmNSZWN0LngoKSkgKiB3aWR0aFNjYWxlLAotICAgICAgICAg
ICAgICAgICAgICAgZGVzdFJlY3QueSgpICsgKHIueSgpIC0gc3JjUmVjdC55KCkpICogaGVpZ2h0
U2NhbGUsCi0gICAgICAgICAgICAgICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhl
aWdodCgpICogaGVpZ2h0U2NhbGUpOwotfQotCiB2b2lkIEZsb2F0UmVjdDo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChsb2NhdGlvbigpLCAiICIsIHNpemUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCmluZGV4
IDExZjFlYTk1YWQxMDg3MDhhZDc5ODM2OTA4MTNkYmM5ZTk5YzkxOGQuLmQzNDZkZDU1YzYwYTYw
YzdhYTEwNDBkYWJiZDMzMTNlY2Q0NTA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEZsb2F0UmVj
dF9oCiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKQEAgLTE3Nyw3ICsx
NzYsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgY2Fpcm9fcmVjdGFuZ2xlX3QoKSBjb25zdDsK
ICNlbmRpZgogCi0gICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZv
aWQgZHVtcChXVEY6OlByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEZsb2F0
UmVjdCBpbmZpbml0ZVJlY3QoKTsKICAgICBib29sIGlzSW5maW5pdGUoKSBjb25zdDsKQEAgLTIw
OCw4ICsyMDcsNiBAQCBpbmxpbmUgRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBGbG9hdFJlY3Qm
IGEsIGNvbnN0IEZsb2F0UmVjdCYgYikKICAgICByZXR1cm4gYzsKIH0KIAotRmxvYXRSZWN0IHVu
aW9uUmVjdChjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYpOwotCiBpbmxpbmUgRmxvYXRSZWN0JiBv
cGVyYXRvcis9KEZsb2F0UmVjdCYgYSwgY29uc3QgRmxvYXRSZWN0JiBiKQogewogICAgIGEubW92
ZShiLngoKSwgYi55KCkpOwpAQCAtMjUzLDkgKzI1MCw2IEBAIEludFJlY3QgZW5jbG9zZWRJbnRS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiBJbnRSZWN0IHJvdW5kZWRJbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYpOwogCi0vLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCi1GbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmIHIs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCk7Ci0K
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9GbG9hdFNpemUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRT
aXplLmNwcAppbmRleCA2ZWU0YzQwNDNiYTM2OTFiNWYxNDI0NmMwMTAxNzVjNTE3YmUwZjllLi5l
N2ViNDJkMzYyOGMxN2NiYTYxMGM1NDFiNzY3ZDA2YjE0YWE4OTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGgu
aD4KKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDIz
MjU2NWNmMjdkNWIyMmE4NTZlOWU1YmUzYWFiMGRlYjUwOTJiYzkuLjczY2MwZmVhOGQ0ZDU5MjRj
YTFlNDRkZjkyZThjZTI2YjA2ZGUxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0U2l6ZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIG9wZXJh
dG9yIE5TU2l6ZSgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3Q7CisgICAgdm9pZCBkdW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgZmxvYXQgbV93aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTBjOTcyNTE2OGNkY2YzYTczZWI4NmIzNWViNWFlYWNmZTg0M2Y4MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRp
bGl0aWVzLmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2Zsb2F0IGZpbmRTbG9wZShjb25zdCBGbG9hdFBvaW50JiBwMSwgY29uc3QgRmxvYXRQ
b2ludCYgcDIsIGZsb2F0JiBjKQoreworICAgIGlmIChwMi54KCkgPT0gcDEueCgpKQorICAgICAg
ICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCk7CisKKyAgICAv
LyB5ID0gbXggKyBjCisgICAgZmxvYXQgc2xvcGUgPSAocDIueSgpIC0gcDEueSgpKSAvIChwMi54
KCkgLSBwMS54KCkpOworICAgIGMgPSBwMS55KCkgLSBzbG9wZSAqIHAxLngoKTsKKyAgICByZXR1
cm4gc2xvcGU7Cit9CisKK2Jvb2wgZmluZEludGVyc2VjdGlvbihjb25zdCBGbG9hdFBvaW50JiBw
MSwgY29uc3QgRmxvYXRQb2ludCYgcDIsIGNvbnN0IEZsb2F0UG9pbnQmIGQxLCBjb25zdCBGbG9h
dFBvaW50JiBkMiwgRmxvYXRQb2ludCYgaW50ZXJzZWN0aW9uKSAKK3sKKyAgICBmbG9hdCBwT2Zm
c2V0ID0gMDsKKyAgICBmbG9hdCBwU2xvcGUgPSBmaW5kU2xvcGUocDEsIHAyLCBwT2Zmc2V0KTsK
KworICAgIGZsb2F0IGRPZmZzZXQgPSAwOworICAgIGZsb2F0IGRTbG9wZSA9IGZpbmRTbG9wZShk
MSwgZDIsIGRPZmZzZXQpOworCisgICAgaWYgKGRTbG9wZSA9PSBwU2xvcGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAocFNsb3BlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjppbmZpbml0eSgpKSB7CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRYKHAxLngoKSk7
CisgICAgICAgIGludGVyc2VjdGlvbi5zZXRZKGRTbG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBk
T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkU2xvcGUgPT0g
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmluZmluaXR5KCkpIHsKKyAgICAgICAgaW50ZXJz
ZWN0aW9uLnNldFgoZDEueCgpKTsKKyAgICAgICAgaW50ZXJzZWN0aW9uLnNldFkocFNsb3BlICog
aW50ZXJzZWN0aW9uLngoKSArIHBPZmZzZXQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgCisgICAgLy8gRmluZCB4IGF0IGludGVyc2VjdGlvbiwgd2hlcmUgeXMgb3ZlcmxhcDsg
eCA9IChjJyAtIGMpIC8gKG0gLSBtJykKKyAgICBpbnRlcnNlY3Rpb24uc2V0WCgoZE9mZnNldCAt
IHBPZmZzZXQpIC8gKHBTbG9wZSAtIGRTbG9wZSkpOworICAgIGludGVyc2VjdGlvbi5zZXRZKHBT
bG9wZSAqIGludGVyc2VjdGlvbi54KCkgKyBwT2Zmc2V0KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSW50UmVjdCB1bmlvblJlY3QoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cykKK3sKKyAg
ICBJbnRSZWN0IHJlc3VsdDsKKworICAgIHNpemVfdCBjb3VudCA9IHJlY3RzLnNpemUoKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgIHJlc3VsdC51bml0
ZShyZWN0c1tpXSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitGbG9hdFJlY3QgdW5pb25S
ZWN0KGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cykKK3sKKyAgICBGbG9hdFJlY3QgcmVz
dWx0OworCisgICAgc2l6ZV90IGNvdW50ID0gcmVjdHMuc2l6ZSgpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgcmVzdWx0LnVuaXRlKHJlY3RzW2ldKTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0Zsb2F0UmVjdCBtYXBSZWN0KGNvbnN0IEZsb2F0
UmVjdCYgciwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RS
ZWN0KQoreworICAgIGlmICghc3JjUmVjdC53aWR0aCgpIHx8ICFzcmNSZWN0LmhlaWdodCgpKQor
ICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CisKKyAgICBmbG9hdCB3aWR0aFNjYWxlID0gZGVz
dFJlY3Qud2lkdGgoKSAvIHNyY1JlY3Qud2lkdGgoKTsKKyAgICBmbG9hdCBoZWlnaHRTY2FsZSA9
IGRlc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKTsKKyAgICByZXR1cm4gRmxvYXRS
ZWN0KGRlc3RSZWN0LngoKSArIChyLngoKSAtIHNyY1JlY3QueCgpKSAqIHdpZHRoU2NhbGUsCisg
ICAgICAgIGRlc3RSZWN0LnkoKSArIChyLnkoKSAtIHNyY1JlY3QueSgpKSAqIGhlaWdodFNjYWxl
LAorICAgICAgICByLndpZHRoKCkgKiB3aWR0aFNjYWxlLCByLmhlaWdodCgpICogaGVpZ2h0U2Nh
bGUpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VvbWV0cnlVdGlsaXRpZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTM3MzE4MWJiY2E1YTZiYzJiMDhjMmEz
NTljMzNiM2Y1MjliZjkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBHZW9tZXRyeVV0aWxpdGllc19oCisjZGVmaW5lIEdlb21ldHJ5VXRpbGl0
aWVzX2gKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZmxvYXQgZmlu
ZFNsb3BlKGNvbnN0IEZsb2F0UG9pbnQmIHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQm
IGMpOworCisvLyBGaW5kIHBvaW50IHdoZXJlIGxpbmVzIHRocm91Z2ggdGhlIHR3byBwYWlycyBv
ZiBwb2ludHMgaW50ZXJzZWN0LiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBsaW5lcyBkb24ndCBpbnRl
cnNlY3QuCitib29sIGZpbmRJbnRlcnNlY3Rpb24oY29uc3QgRmxvYXRQb2ludCYgcDEsIGNvbnN0
IEZsb2F0UG9pbnQmIHAyLCBjb25zdCBGbG9hdFBvaW50JiBkMSwgY29uc3QgRmxvYXRQb2ludCYg
ZDIsIEZsb2F0UG9pbnQmIGludGVyc2VjdGlvbik7CisKK0ludFJlY3QgdW5pb25SZWN0KGNvbnN0
IFZlY3RvcjxJbnRSZWN0PiYpOworRmxvYXRSZWN0IHVuaW9uUmVjdChjb25zdCBWZWN0b3I8Rmxv
YXRSZWN0PiYpOworCisvLyBNYXAgcmVjdCByIGZyb20gc3JjUmVjdCB0byBhbiBlcXVpdmFsZW50
IHJlY3QgaW4gZGVzdFJlY3QuCitGbG9hdFJlY3QgbWFwUmVjdChjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOworCit9
CisKKyNlbmRpZiAvLyBHZW9tZXRyeVV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW50UG9pbnQuaAppbmRleCA5MTk5N2RlNWNlOTBmNjYwZmQxZDA5N2UyZDAw
MzRiYTg2NWZkNzU4Li4wOWY2ZDUwOWU0Yjc5NTlmNjNjNThjYzQwY2Y4MDIwZTI0ODAxNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgb3BlcmF0b3IgRXZhc19Qb2ludCgpIGNvbnN0OwogI2Vu
ZGlmCiAKLSAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisgICAgdm9pZCBk
dW1wKFdURjo6UHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgaW50IG1f
eCwgbV95OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApp
bmRleCAwZThmZjk3ODUxYjRiNDliZjk4OTY1MWM0NWI4M2ZlNGUxZmQ3Mjk2Li43OGUwZDU3YTY4
ODk3YTdiYzk4ZDdlNTNlNmY4ZGQ2ZTBjYTQ5MmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNwcApAQCAtMTQ2LDE3ICsxNDYsNiBAQCBJbnRTaXplIElu
dFJlY3Q6OmRpZmZlcmVuY2VUb1BvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAg
ICByZXR1cm4gSW50U2l6ZSh4ZGlzdGFuY2UsIHlkaXN0YW5jZSk7CiB9CiAKLUludFJlY3QgdW5p
b25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMpCi17Ci0gICAgSW50UmVjdCByZXN1
bHQ7Ci0KLSAgICBzaXplX3QgY291bnQgPSByZWN0cy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAgICAgICByZXN1bHQudW5pdGUocmVjdHNbaV0pOwot
Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBJbnRSZWN0OjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KGxvY2F0aW9uKCksICIgIiwgc2l6ZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCA0NjA2YjBl
Yzc0NmFhOTM3NzI1YjkwNDZhZTJlOTViNjg0OGQ3ZjAwLi5iZjAyMzc5NjUyNmEyZWQxNzYwZTIy
YzY1MmY3NGViM2JhZTExZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW50UmVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgIkxheW91dFVuaXQuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBVU0Uo
Q0cpCiB0eXBlZGVmIHN0cnVjdCBDR1JlY3QgQ0dSZWN0OwpAQCAtMTk3LDcgKzE5Niw3IEBAIHB1
YmxpYzoKICAgICBvcGVyYXRvciBOU1JlY3QoKSBjb25zdDsKICNlbmRpZgogCi0gICAgdm9pZCBk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworICAgIHZvaWQgZHVtcChXVEY6OlByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0OwogCiAgICAgc3RhdGljIEludFJlY3QgaW5maW5pdGVSZWN0KCk7CiAg
ICAgYm9vbCBpc0luZmluaXRlKCkgY29uc3Q7CkBAIC0yMjEsOCArMjIwLDYgQEAgaW5saW5lIElu
dFJlY3QgdW5pb25SZWN0KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJlY3QmIGIpCiAgICAg
cmV0dXJuIGM7CiB9CiAKLUludFJlY3QgdW5pb25SZWN0KGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYp
OwotCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEludFJlY3QmIGEsIGNvbnN0IEludFJl
Y3QmIGIpCiB7CiAgICAgcmV0dXJuIGEubG9jYXRpb24oKSA9PSBiLmxvY2F0aW9uKCkgJiYgYS5z
aXplKCkgPT0gYi5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmgKaW5kZXggN2M1YjU4Y2YxZDA1MTk4YzhlYjc1NTY2YmVlZWFhMzY4NmFmYmM0Ni4uOWI1
NGZiNjAzN2EzYTEyNGI1ODQ5ZDFiMmZkN2QzMDJhYTg0MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFNpemUuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBJ
bnRTaXplX2gKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvUHJpbnRTdHJl
YW0uaD4KIAogI2lmIFVTRShDRykKIHR5cGVkZWYgc3RydWN0IENHU2l6ZSBDR1NpemU7CkBAIC01
MSw2ICs1MCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfTlNTaXplIE5TU2l6ZTsKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1NJWkUgU0laRTsKICNlbmRpZgogCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFByaW50
U3RyZWFtOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFNpemUgewpAQCAt
MTM5LDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBvcGVyYXRvciBTSVpFKCkgY29uc3Q7CiAjZW5k
aWYKIAotICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKyAgICB2b2lkIGR1
bXAoV1RGOjpQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBpbnQgbV93
aWR0aCwgbV9oZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaAppbmRleCA5ZTFjODNiZDhhOTg2N2Zi
YTk5ZDg1NWNjMjBmYjA5ZDI4NDQxNjI5Li5mNGIzODMxYWU2MGIzOTcyN2NhMjRjZmRhNzRkMzc4
MWQ5NThlYTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RleHRUcmFja1JlcHJlc2VudGF0aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UaWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlLmgKaW5kZXgg
ZmEyNWNhMjhhMDBmZTQwZmFmYjg4NmE5ODkzOTJiZjg2NDk0MzdhNi4uNTAwZGJhY2NiZWVlMDZj
YmZiOTE1MzAwNmRhOThmY2M1OThlMmNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGUuaApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkludFBvaW50SGFzaC5oIgog
I2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVXBkYXRl
QXRsYXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9VcGRhdGVBdGxhcy5oCmluZGV4IDMyNTMwYjNmY2U1MmJiMGUzYjA4YWFkMTk2YzBiZmNi
MGVjZTc0YjEuLmNmODY3ODJkZTQzOGE4MzI3OTE0ZDM0NDE4NTgxMzQ3Y2Y2OTc5MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9VcGRhdGVBdGxhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9VcGRhdGVBdGxhcy5oCkBAIC0yNCw2ICsyNCw4IEBACiAjaW5jbHVk
ZSAiQXJlYUFsbG9jYXRvci5oIgogI2luY2x1ZGUgIkNvb3JkaW5hdGVkU3VyZmFjZS5oIgogI2lu
Y2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gx
MS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldEJhY2tpbmdTdG9yZUd0a1gx
MS5oCmluZGV4IDYyYjg3ZGY2ZDE4ZTk4MTE3OWExNjYxNDY5OTk3NzdkMjMxN2NlMTguLjdhNGIx
MWYzOGJlYjk0NTRkMDkxMDIyNmJmYWMwYjI3OTkzYmM5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRCYWNraW5nU3RvcmVHdGtYMTEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExLmgKQEAgLTIw
LDYgKzIwLDcgQEAKICNkZWZpbmUgV2lkZ2V0QmFja2luZ1N0b3JlR3RrWDExX2gKIAogI2luY2x1
ZGUgIldpZGdldEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogI2lu
Y2x1ZGUgPFgxMS9YbGliLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDcyNmRhNjAwNjFhMDI0YWVhYzJhMzNkYzUzZmZm
ZTI0YzY1OWQ4NDYuLjA4ZGJhN2RmOGI4ODgzZjZjM2VlZjY0ZDQwNWE4NDg0OGVlZWQ1MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTg2NjhkZjhhMzlkN2YyMTE4MjQz
ZWU3ZGI1ZDQxOGIxNTc3ZWY1Li5mYzY0ZGY5Mzc0MWRkNDk4ZjI5MjJjMWQ4NGNmODQzMTk0Zjcx
OTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGQ2MjY5YjJhN2I4OGIzMWI1NDFlNzIxZDU1ZmM1ZDg4
ODI5YWNiZjkuLjAwYjliYTk3NjFjMjU3NjJiMTg1ZTVlOTYwNjMyNjNiNWFkMDQ1OTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFuY2hvckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1VwZGF0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9VcGRhdGVJbmZvLmgKaW5kZXgg
ZDRjMTEwZDBlMmYzMzJlNTUzMTE0ZGZhMTU0YWViNWY0ZDc4Y2M3YS4uZTAwYWY4MzRlYzA1NWZm
ZjhiOTY5YTQzNDQ4ZDU5NTM4NTE3ODk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VwZGF0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXBkYXRlSW5mby5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKICAgICBjbGFzcyBBcmd1bWVu
dERlY29kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmgKaW5kZXggMGE5
ZmU5YTZmNGVhZDc2MDExYzcyNjIwMzYwZTg0NmZjNDhkMzcyZS4uOTc4NjA1MDVhMmUwNzNlNmUz
MjNkNWUyNDRkMGUzMTE3NzBjOGRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0JhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5n
U3RvcmUuaApAQCAtMzIsNiArMzIsNyBAQAogI2lmIFVTRShDQUlSTykKICNpbmNsdWRlIDxSZWZQ
dHJDYWlyby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2lkZ2V0QmFja2luZ1N0b3JlLmg+CisjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oCmluZGV4IDMxNjRlZmRhN2I3YTRhMWIw
Nzg1ZDk1YmQxNDRlYjFjZDdiOWM0ZTguLmZlMjkzMjdjN2U0NTgxMGQyMGQ0MmZiYjRhZTNhNzY5
ZjlmZDNhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKQEAg
LTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50
cy5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBJbnRQb2ludDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9G
aW5kSW5kaWNhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9y
LmNwcAppbmRleCAyYWQxOTNmMWI0YTcxYjgwNzVhZDA0N2FkMzliNjdlOGNlZjgwNmE2Li45NTAz
NzNlNzY3ZWIzNzBlYjMxMGY4ZmNkMjUxOWZkYTRmOTdlMDc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi
RmluZEluZGljYXRvci5oIgogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9HZW9tZXRyeVV0aWxpdGllcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGll
bnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSW50UmVjdC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XS1ByaW50aW5nVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS1ByaW50
aW5nVmlldy5oCmluZGV4IDg1ZTZhMWFiNTQxNzE1YzYxNThjZTllNWEzYTEwODM3MzQ2MjE4ZmMu
LmM4YzdjNDQ2YmQxNGFkYTAyNTQwZDJhYjNmZGQ3NWRkNDcyOGVlNmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3LmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvSW50UmVjdEhhc2guaD4KICNpbXBvcnQgPGNvbmRpdGlvbl92YXJp
YWJsZT4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
IAogQGNsYXNzIFdLUHJpbnRpbmdWaWV3RGF0YTsKIEBjbGFzcyBQREZEb2N1bWVudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>