<?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>227578</bug_id>
          
          <creation_ts>2021-07-01 03:25:30 -0700</creation_ts>
          <short_desc>REGRESSION(r278062): [Nicosia] Threaded rendering is broken since r278062</short_desc>
          <delta_ts>2021-07-02 00:25:28 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226170</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>alicem</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774061</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-07-01 03:25:30 -0700</bug_when>
    <thetext>We need to bring back things previously done by the base class and chain up to base class save/restore and being/end transparency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774062</commentid>
    <comment_count>1</comment_count>
      <attachid>432675</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-07-01 03:27:47 -0700</bug_when>
    <thetext>Created attachment 432675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774071</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-07-01 04:20:53 -0700</bug_when>
    <thetext>Committed r279462 (239318@main): &lt;https://commits.webkit.org/239318@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774072</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-01 04:21:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80016872&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774086</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-07-01 06:08:11 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774087</commentid>
    <comment_count>5</comment_count>
      <attachid>432684</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-07-01 06:08:15 -0700</bug_when>
    <thetext>Created attachment 432684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774089</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-07-01 06:26:15 -0700</bug_when>
    <thetext>Youenn, did you re-open the wrong bug? the patch looks unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774090</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-07-01 06:27:36 -0700</bug_when>
    <thetext>Hum, not sure why my patch was uploaded there. Thanks for noticing it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774093</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-07-01 06:32:51 -0700</bug_when>
    <thetext>ChangeLog merge issue...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774216</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-01 12:42:21 -0700</bug_when>
    <thetext>Whoops, sorry! I was so close :)

Is this a special mode or different port? I did build + test webkitgtk (obviously, or the original patch would have been impossible), but didn&apos;t catch this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774217</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-07-01 12:49:14 -0700</bug_when>
    <thetext>Yeah, only GTK 4 and WPE use threaded rendering. GTK 3 does not because it&apos;s incompatible with the code for rendering scrollbars.

With GTK 4 we&apos;ve just given up on themed scrollbars and have hardcoded a theme that&apos;s similar to GTK&apos;s default. Distros are going to hate this, but they haven&apos;t noticed yet....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774378</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-07-02 00:25:28 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; Yeah, only GTK 4 and WPE use threaded rendering. GTK 3 does not because it&apos;s
&gt; incompatible with the code for rendering scrollbars.

Not even WPE that defaults to 0 threads (so disabled). And the GTK4 bot was broken so didn&apos;t catch it either.

&gt; With GTK 4 we&apos;ve just given up on themed scrollbars and have hardcoded a
&gt; theme that&apos;s similar to GTK&apos;s default. Distros are going to hate this, but
&gt; they haven&apos;t noticed yet....</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432675</attachid>
            <date>2021-07-01 03:27:47 -0700</date>
            <delta_ts>2021-07-01 06:27:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-threaded-rendering-fix.diff</filename>
            <type>text/plain</type>
            <size>5747</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhOGZlNDU1ZWIzNDkuLjcyYTlhNzRmOTY2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDIxLTA3LTAxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzgwNjIpOiBbTmljb3NpYV0gVGhy
ZWFkZWQgcmVuZGVyaW5nIGlzIGJyb2tlbiBzaW5jZSByMjc4MDYyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1NzgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSByMjc4MDYyIE5pY29zaWFDYWly
b09wZXJhdGlvblJlY29yZGVyIGlzIGEgR3JhcGhpY3NDb250ZXh0IGNsYXNzLCBzbyB3ZSBuZWVk
IHRvIGJyaW5nIGJhY2sgdGhpbmdzCisgICAgICAgIHByZXZpb3VzbHkgZG9uZSBieSB0aGUgYmFz
ZSBjbGFzcyBhbmQgY2hhaW4gdXAgdG8gYmFzZSBjbGFzcyBzYXZlL3Jlc3RvcmUgYW5kIGJlaW5n
L2VuZCB0cmFuc3BhcmVuY3kuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lh
L2NhaXJvL05pY29zaWFDYWlyb09wZXJhdGlvblJlY29yZGVyLmNwcDoKKyAgICAgICAgKE5pY29z
aWE6OkNhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OmZpbGxQYXRoKToKKyAgICAgICAgKE5pY29zaWE6
OkNhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OnN0cm9rZVBhdGgpOgorICAgICAgICAoTmljb3NpYTo6
Q2Fpcm9PcGVyYXRpb25SZWNvcmRlcjo6ZHJhd0xpbmUpOgorICAgICAgICAoTmljb3NpYTo6Q2Fp
cm9PcGVyYXRpb25SZWNvcmRlcjo6ZHJhd0xpbmVzRm9yVGV4dCk6CisgICAgICAgIChOaWNvc2lh
OjpDYWlyb09wZXJhdGlvblJlY29yZGVyOjpkcmF3Rm9jdXNSaW5nKToKKyAgICAgICAgKE5pY29z
aWE6OkNhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OnNhdmUpOgorICAgICAgICAoTmljb3NpYTo6Q2Fp
cm9PcGVyYXRpb25SZWNvcmRlcjo6cmVzdG9yZSk6CisgICAgICAgIChOaWNvc2lhOjpDYWlyb09w
ZXJhdGlvblJlY29yZGVyOjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKToKKyAgICAgICAgKE5pY29z
aWE6OkNhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OmVuZFRyYW5zcGFyZW5jeUxheWVyKToKKwogMjAy
MS0wNy0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0NhaXJvXSBTaW1wbGlmeSBHcmFwaGljc0NvbnRleHRDYWlybyBjcmVhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9jYWlyby9O
aWNvc2lhQ2Fpcm9PcGVyYXRpb25SZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9uaWNvc2lhL2NhaXJvL05pY29zaWFDYWlyb09wZXJhdGlvblJlY29yZGVyLmNw
cAppbmRleCBhMTM1MjhlMTJkOTcuLjViMDZiMzdiYWQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9jYWlyby9OaWNvc2lhQ2Fpcm9PcGVyYXRp
b25SZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmlj
b3NpYS9jYWlyby9OaWNvc2lhQ2Fpcm9PcGVyYXRpb25SZWNvcmRlci5jcHAKQEAgLTM3LDYgKzM3
LDEwIEBACiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0
cmVhbS5oPgogCisjaWYgUExBVEZPUk0oV1BFKSB8fCBQTEFURk9STShHVEspCisjaW5jbHVkZSAi
VGhlbWVBZHdhaXRhLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIE5pY29zaWEgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTM4MSw2ICszODUsOSBAQCB2b2lkIENhaXJvT3BlcmF0aW9u
UmVjb3JkZXI6OmZpbGxQYXRoKGNvbnN0IFBhdGgmIHBhdGgpCiAgICAgICAgIH0KICAgICB9Owog
CisgICAgaWYgKHBhdGguaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICBhdXRvJiBz
dGF0ZSA9IHRoaXMtPnN0YXRlKCk7CiAgICAgYXBwZW5kKGNyZWF0ZUNvbW1hbmQ8RmlsbFBhdGg+
KHBhdGgsIENhaXJvOjpGaWxsU291cmNlKHN0YXRlKSwgQ2Fpcm86OlNoYWRvd1N0YXRlKHN0YXRl
KSkpOwogfQpAQCAtNDQzLDYgKzQ1MCw5IEBAIHZvaWQgQ2Fpcm9PcGVyYXRpb25SZWNvcmRlcjo6
c3Ryb2tlUGF0aChjb25zdCBQYXRoJiBwYXRoKQogICAgICAgICB9CiAgICAgfTsKIAorICAgIGlm
IChwYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byYgc3RhdGUgPSB0
aGlzLT5zdGF0ZSgpOwogICAgIGFwcGVuZChjcmVhdGVDb21tYW5kPFN0cm9rZVBhdGg+KHBhdGgs
IENhaXJvOjpTdHJva2VTb3VyY2Uoc3RhdGUpLCBDYWlybzo6U2hhZG93U3RhdGUoc3RhdGUpKSk7
CiB9CkBAIC02MDgsNiArNjE4LDkgQEAgdm9pZCBDYWlyb09wZXJhdGlvblJlY29yZGVyOjpkcmF3
TGluZShjb25zdCBGbG9hdFBvaW50JiBwb2ludDEsIGNvbnN0IEZsb2F0UG9pbnQKICAgICAgICAg
fQogICAgIH07CiAKKyAgICBpZiAoc3Ryb2tlU3R5bGUoKSA9PSBOb1N0cm9rZSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgYXV0byYgc3RhdGUgPSB0aGlzLT5zdGF0ZSgpOwogICAgIGFwcGVuZChj
cmVhdGVDb21tYW5kPERyYXdMaW5lPihwb2ludDEsIHBvaW50Miwgc3RhdGUuc3Ryb2tlU3R5bGUs
IHN0YXRlLnN0cm9rZUNvbG9yLCBzdGF0ZS5zdHJva2VUaGlja25lc3MsIHN0YXRlLnNob3VsZEFu
dGlhbGlhcykpOwogfQpAQCAtNjI4LDYgKzY0MSw5IEBAIHZvaWQgQ2Fpcm9PcGVyYXRpb25SZWNv
cmRlcjo6ZHJhd0xpbmVzRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgdGhp
CiAgICAgICAgIH0KICAgICB9OwogCisgICAgaWYgKHdpZHRocy5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybjsKKwogICAgIGF1dG8mIHN0YXRlID0gdGhpcy0+c3RhdGUoKTsKICAgICBhcHBlbmQo
Y3JlYXRlQ29tbWFuZDxEcmF3TGluZXNGb3JUZXh0Pihwb2ludCwgdGhpY2tuZXNzLCB3aWR0aHMs
IHByaW50aW5nLCBkb3VibGVVbmRlcmxpbmVzLCBzdGF0ZS5zdHJva2VDb2xvcikpOwogfQpAQCAt
NjczLDYgKzY4OSwxMCBAQCB2b2lkIENhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OmRyYXdFbGxpcHNl
KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIAogdm9pZCBDYWlyb09wZXJhdGlvblJlY29yZGVyOjpk
cmF3Rm9jdXNSaW5nKGNvbnN0IFBhdGgmIHBhdGgsIGZsb2F0IHdpZHRoLCBmbG9hdCBvZmZzZXQs
IGNvbnN0IENvbG9yJiBjb2xvcikKIHsKKyNpZiBQTEFURk9STShXUEUpIHx8IFBMQVRGT1JNKEdU
SykKKyAgICBUaGVtZUFkd2FpdGE6OnBhaW50Rm9jdXMoKnRoaXMsIHBhdGgsIGNvbG9yKTsKKyAg
ICBVTlVTRURfUEFSQU0od2lkdGgpOworI2Vsc2UKICAgICBzdHJ1Y3QgRHJhd0ZvY3VzUmluZyBm
aW5hbCA6IFBhaW50aW5nT3BlcmF0aW9uLCBPcGVyYXRpb25EYXRhPFBhdGgsIGZsb2F0LCBDb2xv
cj4gewogICAgICAgICB2aXJ0dWFsIH5EcmF3Rm9jdXNSaW5nKCkgPSBkZWZhdWx0OwogCkBAIC02
ODcsMTIgKzcwNywxNyBAQCB2b2lkIENhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OmRyYXdGb2N1c1Jp
bmcoY29uc3QgUGF0aCYgcGF0aCwgZmxvYXQgd2lkdGgsIGZsb2F0CiAgICAgICAgIH0KICAgICB9
OwogCi0gICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiAgICAgYXBwZW5kKGNyZWF0ZUNvbW1hbmQ8
RHJhd0ZvY3VzUmluZz4ocGF0aCwgd2lkdGgsIGNvbG9yKSk7CisjZW5kaWYKKyAgICBVTlVTRURf
UEFSQU0ob2Zmc2V0KTsKIH0KIAogdm9pZCBDYWlyb09wZXJhdGlvblJlY29yZGVyOjpkcmF3Rm9j
dXNSaW5nKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiByZWN0cywgZmxvYXQgd2lkdGgsIGZsb2F0
IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQogeworI2lmIFBMQVRGT1JNKFdQRSkgfHwgUExB
VEZPUk0oR1RLKQorICAgIFRoZW1lQWR3YWl0YTo6cGFpbnRGb2N1cygqdGhpcywgcmVjdHMsIGNv
bG9yKTsKKyAgICBVTlVTRURfUEFSQU0od2lkdGgpOworI2Vsc2UKICAgICBzdHJ1Y3QgRHJhd0Zv
Y3VzUmluZyBmaW5hbCA6IFBhaW50aW5nT3BlcmF0aW9uLCBPcGVyYXRpb25EYXRhPFZlY3RvcjxG
bG9hdFJlY3Q+LCBmbG9hdCwgQ29sb3I+IHsKICAgICAgICAgdmlydHVhbCB+RHJhd0ZvY3VzUmlu
ZygpID0gZGVmYXVsdDsKIApAQCAtNzA3LDggKzczMiw5IEBAIHZvaWQgQ2Fpcm9PcGVyYXRpb25S
ZWNvcmRlcjo6ZHJhd0ZvY3VzUmluZyhjb25zdCBWZWN0b3I8RmxvYXRSZWN0PiYgcmVjdHMsIGZs
b2F0CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiAgICAg
YXBwZW5kKGNyZWF0ZUNvbW1hbmQ8RHJhd0ZvY3VzUmluZz4ocmVjdHMsIHdpZHRoLCBjb2xvcikp
OworI2VuZGlmCisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiB9CiAKIHZvaWQgQ2Fpcm9PcGVy
YXRpb25SZWNvcmRlcjo6c2F2ZSgpCkBAIC03MjcsNiArNzUzLDggQEAgdm9pZCBDYWlyb09wZXJh
dGlvblJlY29yZGVyOjpzYXZlKCkKICAgICAgICAgfQogICAgIH07CiAKKyAgICBHcmFwaGljc0Nv
bnRleHQ6OnNhdmUoKTsKKwogICAgIGFwcGVuZChjcmVhdGVDb21tYW5kPFNhdmU+KCkpOwogCiAg
ICAgbV9zdGF0ZVN0YWNrLmFwcGVuZChtX3N0YXRlU3RhY2subGFzdCgpKTsKQEAgLTczNCw5ICs3
NjIsNiBAQCB2b2lkIENhaXJvT3BlcmF0aW9uUmVjb3JkZXI6OnNhdmUoKQogCiB2b2lkIENhaXJv
T3BlcmF0aW9uUmVjb3JkZXI6OnJlc3RvcmUoKQogewotICAgIGlmIChtX3N0YXRlU3RhY2suaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBzdHJ1Y3QgUmVzdG9yZSBmaW5hbCA6IFBh
aW50aW5nT3BlcmF0aW9uLCBPcGVyYXRpb25EYXRhPD4gewogICAgICAgICB2aXJ0dWFsIH5SZXN0
b3JlKCkgPSBkZWZhdWx0OwogCkBAIC03NTEsNiArNzc2LDE0IEBAIHZvaWQgQ2Fpcm9PcGVyYXRp
b25SZWNvcmRlcjo6cmVzdG9yZSgpCiAgICAgICAgIH0KICAgICB9OwogCisgICAgaWYgKCFzdGFj
a1NpemUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0OjpyZXN0b3Jl
KCk7CisKKyAgICBpZiAobV9zdGF0ZVN0YWNrLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgYXBwZW5kKGNyZWF0ZUNvbW1hbmQ8UmVzdG9yZT4oKSk7CiAKICAgICBtX3N0YXRlU3Rh
Y2sucmVtb3ZlTGFzdCgpOwpAQCAtOTE3LDYgKzk1MCw4IEBAIHZvaWQgQ2Fpcm9PcGVyYXRpb25S
ZWNvcmRlcjo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcihmbG9hdCBvcGFjaXR5KQogICAgICAgICB9
CiAgICAgfTsKIAorICAgIEdyYXBoaWNzQ29udGV4dDo6YmVnaW5UcmFuc3BhcmVuY3lMYXllcihv
cGFjaXR5KTsKKwogICAgIGFwcGVuZChjcmVhdGVDb21tYW5kPEJlZ2luVHJhbnNwYXJlbmN5TGF5
ZXI+KG9wYWNpdHkpKTsKIH0KIApAQCAtOTM2LDYgKzk3MSw4IEBAIHZvaWQgQ2Fpcm9PcGVyYXRp
b25SZWNvcmRlcjo6ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKQogICAgICAgICB9CiAgICAgfTsKIAor
ICAgIEdyYXBoaWNzQ29udGV4dDo6ZW5kVHJhbnNwYXJlbmN5TGF5ZXIoKTsKKwogICAgIGFwcGVu
ZChjcmVhdGVDb21tYW5kPEVuZFRyYW5zcGFyZW5jeUxheWVyPigpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432684</attachid>
            <date>2021-07-01 06:08:15 -0700</date>
            <delta_ts>2021-07-01 06:41:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227578-20210701150814.patch</filename>
            <type>text/plain</type>
            <size>38948</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGJiNjE3NWNjZGMwOGI0MTlmNGU2NGJm
OWUxYmJiNDk2ZTQ5OWViYWIuLjA4NzcyMWEzYzI2N2E0OTg1ODAwZjY4NzYwZDk3YjkwZGMzYzQ3
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMjEtMDctMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCisgICAgICAgIERpc2FibGUgcmVsYXkgZm9yIFVEUCBzb2NrZXRzIHdo
ZW4gbm90IG5lZWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3MjUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83OTkxMjE1ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhh
dmUuaDoKKyAgICAgICAgQWRkIGEgbWFjcm8gZm9yIG5ldyBOVyBtZXRob2RzLgorCisyMDIxLTA2
LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBbQ29jb2Fd
IE1pZ3JhdGUgV2ViUlRDIFVEUCBzb2NrZXQgaGFuZGxpbmcgdG8gTlcgQVBJCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcyMTAKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGE3OGE5MzU1YWE1NjlkMjdkOWRjYmE0YTA5M2E3YmM4OWUyMmQ0ODUuLjE4NDc4MTU5ZWU1
NTFiZDFiNjIzZDBjZTU1Mzk4ODJmZDUzZGFkMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTUyNCw2ICs1MjQs
MjQgQEAKIAogMjAyMS0wNi0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
KyAgICAgICAgRGlzYWJsZSByZWxheSBmb3IgVURQIHNvY2tldHMgd2hlbiBub3QgbmVlZGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcyNTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgIChXZWJDb3JlOjpQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnNob3VsZEZpbHRlcklDRUNhbmRpZGF0ZXMgY29uc3QpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5k
cG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6c2V0
Q29uZmlndXJhdGlvbik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDTWVkaWFFbmRwb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVk
aWFFbmRwb2ludDo6cnRjU29ja2V0RmFjdG9yeSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDo6ZGlzYWJsZUlDRUNh
bmRpZGF0ZUZpbHRlcmluZyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisKKzIwMjEtMDYtMjIg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtDb2NvYV0gTWln
cmF0ZSBXZWJSVEMgVURQIHNvY2tldCBoYW5kbGluZyB0byBOVyBBUEkKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzIxMAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3
MTRhOGJhNTRkMmU5Y2VhNWM3YjE0MTdkNmY0NDg5OThmNjQyYWIuLmE4YWIyZGExYWZiMDRiYWFh
YWRlZDdjNGMzN2QyMDJjNzU1MmY3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMgQEAKIDIwMjEt
MDctMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAgIERpc2Fi
bGUgcmVsYXkgZm9yIFVEUCBzb2NrZXRzIHdoZW4gbm90IG5lZWRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MjUzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3Zp
ZGVyOjpjcmVhdGVVRFBTb2NrZXQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1JUQ1VEUFNvY2tldENvY29hOjpjcmVhdGVVRFBTb2NrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6Ok5ldHdvcmtSVENVRFBTb2NrZXRD
b2NvYSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rp
b25zOjpOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVhdGVOV0Nvbm5lY3Rp
b24pOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpSVENTb2NrZXRGYWN0b3J5OjpSVENTb2NrZXRGYWN0b3J5KToKKyAgICAg
ICAgKFdlYktpdDo6UlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlVWRwU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldEZhY3RvcnkpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpjcmVhdGVVZHBTb2Nr
ZXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
RmFjdG9yeS5oOgorCisyMDIxLTA2LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKwogICAgICAgICBbQ29jb2FdIE1pZ3JhdGUgV2ViUlRDIFVEUCBzb2NrZXQgaGFuZGxpbmcg
dG8gTlcgQVBJCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjcyMTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA2ZTExMTMxNDZhYzAyNDk4ZDViNmU5
MmU0NTc0OGVhMzdmMDBmOTk4Li5kYmI3NWVjODkwNDc5NzkzYWFmNWE2MTFiYWZhZTAxMTFiYWUy
YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNTQ2LDYgKzU0NiwxMCBAQAogI2RlZmluZSBI
QVZFX05TVVJMU0VTU0lPTl9XRUJTT0NLRVQgMQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1
MDAwMCkKKyNkZWZpbmUgSEFWRV9OV1BBUkFNRVRFUlNfVFJBQ0tFUl9BUEkgMQorI2VuZGlmCisK
ICNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNk
ZWZpbmUgSEFWRV9BVlBMQVlFUl9SRVNPVVJDRV9DT05TRVJWQVRJT05fTEVWRUwgMQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbkJhY2tlbmQuaAppbmRleCAzMzY5NzYzOWUwYmM1MGI2OWU4OGY4ZmM4N2M4Y2Vj
YTQ0MDc5NzY2Li5jMDIzNDJiZmRkODY1MDE1NTUyOGUwZjE1OTVjNTc0M2E2MjNmY2I1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNv
bm5lY3Rpb25CYWNrZW5kLmgKQEAgLTEyOSw3ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGVtdWxhdGVQbGF0Zm9ybUV2ZW50KGNvbnN0IFN0cmluZyYgYWN0aW9uKSA9IDA7CiAK
ICAgICB2b2lkIG5ld0lDRUNhbmRpZGF0ZShTdHJpbmcmJiBzZHAsIFN0cmluZyYmIG1pZCwgdW5z
aWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCwgU3RyaW5nJiYgc2VydmVyVVJMKTsKLSAgICB2b2lk
IGRpc2FibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJs
ZUlDRUNhbmRpZGF0ZUZpbHRlcmluZygpOwogICAgIHZvaWQgZW5hYmxlSUNFQ2FuZGlkYXRlRmls
dGVyaW5nKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlSb3RhdGlvbkZvck91dGdvaW5nVmlk
ZW9Tb3VyY2VzKCkgeyB9CkBAIC0xODEsNiArMTgxLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBzdXNwZW5kKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpIHsgfQogCisgICAg
Ym9vbCBzaG91bGRGaWx0ZXJJQ0VDYW5kaWRhdGVzKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRG
aWx0ZXJJQ0VDYW5kaWRhdGVzOyB9OworCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaXJlSUNFQ2Fu
ZGlkYXRlRXZlbnQoUmVmUHRyPFJUQ0ljZUNhbmRpZGF0ZT4mJiwgU3RyaW5nJiYgdXJsKTsKICAg
ICB2b2lkIGRvbmVHYXRoZXJpbmdDYW5kaWRhdGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDQ3ZDFiMjQzZmM3OGU5YzVkYTBiZWQxN2MyOWRj
NjI5ZTU0Zjg1OTguLmYzM2M0Mzc1YjU2MzYzNTJiNTFjYWNjMGY1NzMzODg5ZWRmYThhZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC05NCw3ICs5
NCwxMSBAQCBib29sIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OnNldENvbmZpZ3VyYXRpb24oTGli
V2ViUlRDUHJvdmlkZXImIGNsaWVudCwgd2VicnRjOgogICAgIGlmICghbV9iYWNrZW5kKSB7CiAg
ICAgICAgIGlmICghbV9ydGNTb2NrZXRGYWN0b3J5KSB7CiAgICAgICAgICAgICBhdXRvJiBkb2N1
bWVudCA9IGRvd25jYXN0PERvY3VtZW50PigqbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVj
dGlvbigpLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgICAgICAgICBtX3J0Y1NvY2tl
dEZhY3RvcnkgPSBjbGllbnQuY3JlYXRlU29ja2V0RmFjdG9yeShkb2N1bWVudC51c2VyQWdlbnQo
ZG9jdW1lbnQudXJsKCkpKTsKKyAgICAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbiB7
IGRvY3VtZW50LnVybCgpIH07CisgICAgICAgICAgICBib29sIGlzRmlyc3RQYXJ0eSA9IGRvbWFp
biA9PSBSZWdpc3RyYWJsZURvbWFpbihkb2N1bWVudC5maXJzdFBhcnR5Rm9yQ29va2llcygpKTsK
KyAgICAgICAgICAgIG1fcnRjU29ja2V0RmFjdG9yeSA9IGNsaWVudC5jcmVhdGVTb2NrZXRGYWN0
b3J5KGRvY3VtZW50LnVzZXJBZ2VudChkb2N1bWVudC51cmwoKSksIGlzRmlyc3RQYXJ0eSwgV1RG
TW92ZShkb21haW4pKTsKKyAgICAgICAgICAgIGlmICghbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQu
c2hvdWxkRmlsdGVySUNFQ2FuZGlkYXRlcygpKQorICAgICAgICAgICAgICAgIG1fcnRjU29ja2V0
RmFjdG9yeS0+ZGlzYWJsZVJlbGF5KCk7CiAgICAgICAgIH0KICAgICAgICAgbV9iYWNrZW5kID0g
Y2xpZW50LmNyZWF0ZVBlZXJDb25uZWN0aW9uKCp0aGlzLCBtX3J0Y1NvY2tldEZhY3RvcnkuZ2V0
KCksIFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogICAgICAgICByZXR1cm4gISFtX2JhY2tlbmQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmgKaW5kZXggMTc2ZTdlY2Q4
MjUxNTc2ZWE2N2MxNDk5MDcyMzljMzdjNjRmYjJhYS4uMTFlNTc4NjhiMjQyOWY5NzE5ZjM3Mjlm
MzcwZjEzODJkNzZmNmM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9p
bnQuaApAQCAtMTE5LDYgKzExOSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3VzcGVuZCgpOwog
ICAgIHZvaWQgcmVzdW1lKCk7CisgICAgTGliV2ViUlRDUHJvdmlkZXI6OlN1c3BlbmRhYmxlU29j
a2V0RmFjdG9yeSogcnRjU29ja2V0RmFjdG9yeSgpIHsgcmV0dXJuIG1fcnRjU29ja2V0RmFjdG9y
eS5nZXQoKTsgfQogCiBwcml2YXRlOgogICAgIExpYldlYlJUQ01lZGlhRW5kcG9pbnQoTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kJiwgTGliV2ViUlRDUHJvdmlkZXImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCmluZGV4
IGNiYmU2ZDcxNjk2OTg1ZmQzMGNiMmU5MzkyNzQ5MzgyZjc2NDlkZGUuLmRhNWZjM2ZiM2E2MTUw
MDAwYWVjOTQ5OTIxODNiZDJiNWU4MmQzNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAtMTAyLDYgKzEwMiwxMyBAQCB2
b2lkIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVzdW1lKCkKICAgICBtX2VuZHBv
aW50LT5yZXN1bWUoKTsKIH0KIAordm9pZCBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmRpc2FibGVJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcoKQoreworICAgIFBlZXJDb25uZWN0aW9uQmFj
a2VuZDo6ZGlzYWJsZUlDRUNhbmRpZGF0ZUZpbHRlcmluZygpOworICAgIGlmIChhdXRvKiBmYWN0
b3J5ID0gbV9lbmRwb2ludC0+cnRjU29ja2V0RmFjdG9yeSgpKQorICAgICAgICBmYWN0b3J5LT5k
aXNhYmxlUmVsYXkoKTsKK30KKwogc3RhdGljIGlubGluZSB3ZWJydGM6OlBlZXJDb25uZWN0aW9u
SW50ZXJmYWNlOjpCdW5kbGVQb2xpY3kgYnVuZGxlUG9saWN5ZnJvbUNvbmZpZ3VyYXRpb24oY29u
c3QgTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgc3dp
dGNoIChjb25maWd1cmF0aW9uLmJ1bmRsZVBvbGljeSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAppbmRleCBiZjMwODNhN2VhOGE3YTc3
OWRkY2I3NjdhNjM5OGJkNDE1MzhkNGYwLi5mOWQxMjM3NmNkMTkzMzIxN2NlMWMyMGJjMjlkZDc1
MGVkMGZlZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVj
dGlvbkJhY2tlbmQuaApAQCAtMTEwLDYgKzExMCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHN1
c3BlbmQoKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOworICAgIHZvaWQgZGlzYWJs
ZUlDRUNhbmRpZGF0ZUZpbHRlcmluZygpIGZpbmFsOwogCiAgICAgUmVmPExpYldlYlJUQ01lZGlh
RW5kcG9pbnQ+IG1fZW5kcG9pbnQ7CiAgICAgYm9vbCBtX2lzTG9jYWxEZXNjcmlwdGlvblNldCB7
IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCmluZGV4IDA4YTI5NTY4
ZTlhNmViYmJhYzlkODU1ZjgyMzFiMTU2NmJiODJjOTMuLjE4NjI3ZWU1N2Y3NThhMDQ3MjJkMTYx
NmYwZjg3NjI4NDM0MTE1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCkBA
IC02Miw2ICs2Miw3IEBAIGNsYXNzIFBlZXJDb25uZWN0aW9uRmFjdG9yeUludGVyZmFjZTsKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTGliV2ViUlRDQXVkaW9Nb2R1bGU7CitjbGFzcyBS
ZWdpc3RyYWJsZURvbWFpbjsKIHN0cnVjdCBQZWVyQ29ubmVjdGlvbkZhY3RvcnlBbmRUaHJlYWRz
Owogc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIApAQCAtMTM5LDggKzE0MCw5IEBAIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+U3VzcGVuZGFibGVTb2NrZXRGYWN0b3J5KCkgPSBkZWZhdWx0
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZCgpIHsgfTsKICAgICAgICAgdmlydHVhbCB2
b2lkIHJlc3VtZSgpIHsgfTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVSZWxheSgpIHsg
fTsKICAgICB9OwotICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRhYmxlU29ja2V0
RmFjdG9yeT4gY3JlYXRlU29ja2V0RmFjdG9yeShTdHJpbmcmJiAvKiB1c2VyQWdlbnQgKi8pIHsg
cmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kYWJs
ZVNvY2tldEZhY3Rvcnk+IGNyZWF0ZVNvY2tldEZhY3RvcnkoU3RyaW5nJiYgLyogdXNlckFnZW50
ICovLCBib29sIC8qIGlzRmlyc3RQYXJ0eSAqLywgUmVnaXN0cmFibGVEb21haW4mJikgeyByZXR1
cm4gbnVsbHB0cjsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgTGliV2ViUlRDUHJvdmlkZXIoKSA9IGRl
ZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAppbmRleCBmNzJmMmNmZGNmMmNiZDYwNGJjNGNkNTA3
OTJiOWQ3YmY0YTdhMzhhLi5lZjc4NDAyNDBjMjkwNGQyZDZiNTRmMWZjMTkzY2M4ZWQyZWZjMTVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENQcm92aWRlci5jcHAKQEAgLTEzMiwxMSArMTMyLDExIEBAIHZvaWQgTmV0d29y
a1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVu
dGlmaWVyLCBzdGQ6CiAgICAgYWRkU29ja2V0KGlkZW50aWZpZXIsIG1ha2VVbmlxdWU8TGliV2Vi
UlRDU29ja2V0Q2xpZW50PihpZGVudGlmaWVyLCAqdGhpcywgV1RGTW92ZShzb2NrZXQpLCB0eXBl
LCBXVEZNb3ZlKGNvbm5lY3Rpb24pKSk7CiB9CiAKLXZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpj
cmVhdGVVRFBTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25z
dCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1
aW50MTZfdCBtYXhQb3J0KQordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVEUFNvY2tl
dChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6
OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBv
cnQsIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNhYmxlZCwgV2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4mJiBkb21haW4pCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgaWYg
KG1fcGxhdGZvcm1VRFBTb2NrZXRzRW5hYmxlZCkgewotICAgICAgICBpZiAoYXV0byBzb2NrZXQg
PSBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6OmNyZWF0ZVVEUFNvY2tldChpZGVudGlmaWVyLCAq
dGhpcywgYWRkcmVzcy52YWx1ZSwgbWluUG9ydCwgbWF4UG9ydCwgbV9pcGNDb25uZWN0aW9uLmNv
cHlSZWYoKSkpIHsKKyAgICAgICAgaWYgKGF1dG8gc29ja2V0ID0gTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hOjpjcmVhdGVVRFBTb2NrZXQoaWRlbnRpZmllciwgKnRoaXMsIGFkZHJlc3MudmFsdWUs
IG1pblBvcnQsIG1heFBvcnQsIG1faXBjQ29ubmVjdGlvbi5jb3B5UmVmKCksIGlzRmlyc3RQYXJ0
eSwgaXNSZWxheURpc2FibGVkLCBXVEZNb3ZlKGRvbWFpbikpKSB7CiAgICAgICAgICAgICBhZGRT
b2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaAppbmRleCA1NTE3MTljNWZjOGU2ZDUzZTdkZmViNDZi
ODJkNjY0YjI5ZDEyNjgxLi5iMjk4NWJhZTk0YjZlNGYzZWQxMzEzYzNlODI0YzI4NTcwY2RjYzMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIuaApAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgUGFja2V0T3B0aW9u
czsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgUmVnaXN0cmFibGVEb21haW47CiBj
bGFzcyBTaGFyZWRCdWZmZXI7CiB9CiAKQEAgLTEwNyw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAg
IGV4cGxpY2l0IE5ldHdvcmtSVENQcm92aWRlcihOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyYpOwogICAgIHZvaWQgc3RhcnRMaXN0ZW5pbmdGb3JJUEMoKTsKIAotICAgIHZvaWQgY3JlYXRl
VURQU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFJUQ05l
dHdvcms6OlNvY2tldEFkZHJlc3MmLCB1aW50MTZfdCwgdWludDE2X3QpOworICAgIHZvaWQgY3Jl
YXRlVURQU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFJU
Q05ldHdvcms6OlNvY2tldEFkZHJlc3MmLCB1aW50MTZfdCwgdWludDE2X3QsIGJvb2wgaXNGaXJz
dFBhcnR5LCBib29sIGlzUmVsYXlEaXNhYmxlZCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4m
Jik7CiAgICAgdm9pZCBjcmVhdGVDbGllbnRUQ1BTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IFJU
Q05ldHdvcms6OlNvY2tldEFkZHJlc3MmLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGludCk7CiAgICAg
dm9pZCBjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pblBvcnQs
IHVpbnQxNl90IG1heFBvcnQsIGludCk7CiAgICAgdm9pZCB3cmFwTmV3VENQQ29ubmVjdGlvbihX
ZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JU
Q1Byb3ZpZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCmluZGV4IGJmZGRkYTc5OTgzNmE0NTBk
OGI1OTkyZDk1MTgyNTE1OGM2MzFjNWIuLjE5NTQwOTZhYjE1NjFhN2E3ZmRmNWM1MGUzYTMwMzI0
ODY0NmUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4KQEAgLTIzLDcg
KzIzLDcgQEAKICNpZiBVU0UoTElCV0VCUlRDKQogCiBtZXNzYWdlcyAtPiBOZXR3b3JrUlRDUHJv
dmlkZXIgewotICAgIENyZWF0ZVVEUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBsb2Nh
bEFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCisgICAgQ3JlYXRl
VURQU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwg
V2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGxvY2FsQWRkcmVzcywgdWludDE2X3Qg
bWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxh
eURpc2FibGVkLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBkb21haW4pCiAgICAgQ3JlYXRl
U2VydmVyVENQU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRp
ZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGxvY2FsQWRkcmVzcywgdWlu
dDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCiAgICAgQ3JlYXRl
Q2xpZW50VENQU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRp
ZmllciwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGxvY2FsQWRkcmVzcywgV2Vi
S2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHJlbW90ZUFkZHJlc3MsIFN0cmluZyB1c2Vy
QWdlbnQsIGludCBvcHRpb25zKQogICAgIFdyYXBOZXdUQ1BDb25uZWN0aW9uKFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBuZXdDb25uZWN0aW9uU29ja2V0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRD
b2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VE
UFNvY2tldENvY29hLmgKaW5kZXggN2E3NTEyOWJmZGUyZTY3YjFmYjJmYjAwNTg5ZTlmMjViMDUx
M2M0Ny4uMDE2MjBhMWZlMzJkN2Q2ZDczYjBiNjQxMTJkZWFkZjUzOGVhZDVlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ1VEUFNvY2tldENvY29hLmgKQEAgLTU5LDkgKzU5LDkgQEAgY2xhc3MgTmV0d29ya1JUQ1VE
UFNvY2tldENvY29hQ29ubmVjdGlvbnM7CiBjbGFzcyBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2Eg
ZmluYWwgOiBwdWJsaWMgTmV0d29ya1JUQ1Byb3ZpZGVyOjpTb2NrZXQgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TmV0
d29ya1JUQ1Byb3ZpZGVyOjpTb2NrZXQ+IGNyZWF0ZVVEUFNvY2tldChXZWJDb3JlOjpMaWJXZWJS
VENTb2NrZXRJZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImLCBjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBSZWY8SVBDOjpD
b25uZWN0aW9uPiYmKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtSVENQcm92
aWRlcjo6U29ja2V0PiBjcmVhdGVVRFBTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRl
bnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwg
dWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgUmVmPElQQzo6Q29ubmVjdGlvbj4m
JiwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxheURpc2FibGVkLCBjb25zdCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYpOwogCi0gICAgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hKFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYpOworICAgIE5l
dHdvcmtSVENVRFBTb2NrZXRDb2NvYShXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVy
LCBOZXR3b3JrUlRDUHJvdmlkZXImLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBSZWY8SVBD
OjpDb25uZWN0aW9uPiYmLCBib29sIGlzRmlyc3RQYXJ0eSwgYm9vbCBpc1JlbGF5RGlzYWJsZWQs
IGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJik7CiAgICAgfk5ldHdvcmtSVENVRFBT
b2NrZXRDb2NvYSgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tCmlu
ZGV4IDdhYmI2OTY1OWM3OTJlZjQwZmVjMDVkOTNjMmNkYjk2MGFiMDEwN2QuLmIwNzJiN2JkYzgy
ZTM4ZDkzZGM3ODIwYjMyODExZTQ4NDExZWIwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29j
b2EubW0KQEAgLTMxLDMxICszMSw0NiBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENOZXR3b3JrTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CisjaW5jbHVkZSAiTldQYXJhbWV0ZXJzU1BJLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3Ry
YWJsZURvbWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU1RVTk1lc3NhZ2VQYXJzaW5nLmg+CiAj
aW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNsdWRlIDx3dGYvQmxvY2tQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvU29mdExpbmtpbmcuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KIAorI2lmIEhBVkUoTldQQVJBTUVURVJTX1RSQUNLRVJfQVBJKQorU09GVF9M
SU5LX0xJQlJBUlkobGlibmV0d29ya2V4dGVuc2lvbikKK1NPRlRfTElOS19DTEFTUyhsaWJuZXR3
b3JrZXh0ZW5zaW9uLCBORUhlbHBlclRyYWNrZXJEaXNwb3NpdGlvbl90KQorU09GVF9MSU5LX0NM
QVNTKGxpYm5ldHdvcmtleHRlbnNpb24sIE5FSGVscGVyVHJhY2tlckFwcEluZm9SZWYpCitTT0ZU
X0xJTktfQ0xBU1MobGlibmV0d29ya2V4dGVuc2lvbiwgTkVIZWxwZXJUcmFja2VyRG9tYWluQ29u
dGV4dFJlZikKK1NPRlRfTElOSyhsaWJuZXR3b3JrZXh0ZW5zaW9uLCBORUhlbHBlclRyYWNrZXJH
ZXREaXNwb3NpdGlvbiwgTkVIZWxwZXJUcmFja2VyRGlzcG9zaXRpb25fdCosIChORUhlbHBlclRy
YWNrZXJBcHBJbmZvUmVmICphcHBfaW5mb19yZWYsIENGQXJyYXlSZWYgZG9tYWlucywgTkVIZWxw
ZXJUcmFja2VyRG9tYWluQ29udGV4dFJlZiAqdHJhY2tlckRvbWFpbkNvbnRleHRSZWYsIENGSW5k
ZXggKnRyYWNrZXJEb21haW5JbmRleCksIChhcHBfaW5mb19yZWYsIGRvbWFpbnMsIHRyYWNrZXJE
b21haW5Db250ZXh0UmVmLCB0cmFja2VyRG9tYWluSW5kZXgpKQorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY2xhc3MgTmV0d29ya1JU
Q1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
TmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM+IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zPiBjcmVhdGUoV2ViQ29y
ZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlk
ZXImIHByb3ZpZGVyLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIFJlZjxJUEM6
OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3Jr
UlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyhpZGVudGlmaWVyLCBwcm92aWRlciwgYWRkcmVz
cywgV1RGTW92ZShjb25uZWN0aW9uKSkpOyB9CisgICAgc3RhdGljIFJlZjxOZXR3b3JrUlRDVURQ
U29ja2V0Q29jb2FDb25uZWN0aW9ucz4gY3JlYXRlKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiBwcm92aWRlciwgY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5l
Y3Rpb24sIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNhYmxlZCwgY29uc3QgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBO
ZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyhpZGVudGlmaWVyLCBwcm92aWRlciwg
YWRkcmVzcywgV1RGTW92ZShjb25uZWN0aW9uKSwgaXNGaXJzdFBhcnR5LCBpc1JlbGF5RGlzYWJs
ZWQsIGRvbWFpbikpOyB9CiAKICAgICB2b2lkIGNsb3NlKCk7CiAgICAgdm9pZCBzZXRPcHRpb24o
aW50IG9wdGlvbiwgaW50IHZhbHVlKTsKICAgICB2b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwg
c2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlv
bnMmKTsKIAogcHJpdmF0ZToKLSAgICBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9u
cyhXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXIm
LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmKTsKKyAg
ICBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyhXZWJDb3JlOjpMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImLCBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmLCBib29sIGlzRmlyc3RQYXJ0eSwgYm9vbCBp
c1JlbGF5RGlzYWJsZWQsIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJik7CiAKICAg
ICBSZXRhaW5QdHI8bndfY29ubmVjdGlvbl90PiBjcmVhdGVOV0Nvbm5lY3Rpb24oY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJik7CiAgICAgdm9pZCBzZXR1cE5XQ29ubmVjdGlvbihud19jb25uZWN0
aW9uX3QsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgY29uZmlndXJlUGFy
YW1ldGVycyhud19wYXJhbWV0ZXJzX3QsIG53X2lwX3ZlcnNpb25fdCk7CiAKICAgICBXZWJDb3Jl
OjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBSZWY8SVBDOjpD
b25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CisgICAgYm9vbCBtX2lzRmlyc3RQYXJ0eSB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2lzS25vd25UcmFja2VyIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2hv
dWxkQnlwYXNzUmVsYXkgeyBmYWxzZSB9OwogICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBtX2FkZHJl
c3M7CiAgICAgUmV0YWluUHRyPG53X2xpc3RlbmVyX3Q+IG1fbndMaXN0ZW5lcjsKICAgICBMb2Nr
IG1fbndDb25uZWN0aW9uc0xvY2s7CkBAIC03MywxNiArODgsMTUgQEAgc3RhdGljIGRpc3BhdGNo
X3F1ZXVlX3QgdWRwU29ja2V0UXVldWUoKQogICAgIHJldHVybiBxdWV1ZTsKIH0KIAotc3RkOjp1
bmlxdWVfcHRyPE5ldHdvcmtSVENQcm92aWRlcjo6U29ja2V0PiBOZXR3b3JrUlRDVURQU29ja2V0
Q29jb2E6OmNyZWF0ZVVEUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVy
IGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIsIGNvbnN0IHJ0Yzo6
U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9y
dCwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uKQorc3RkOjp1bmlxdWVfcHRyPE5l
dHdvcmtSVENQcm92aWRlcjo6U29ja2V0PiBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6OmNyZWF0
ZVVEUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIs
IE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVz
cyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgUmVmPElQQzo6
Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBib29sIGlzRmlyc3RQYXJ0eSwgYm9vbCBpc1JlbGF5
RGlzYWJsZWQsIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBkb21haW4pCiB7Ci0g
ICAgLy8gRklYTUU6IERlY2lkZSBob3cgdG8gdXNlIG1pblBvcnQvbWF4UG9ydC4KLSAgICByZXR1
cm4gbWFrZVVuaXF1ZTxOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E+KGlkZW50aWZpZXIsIHJ0Y1By
b3ZpZGVyLCBhZGRyZXNzLCBXVEZNb3ZlKGNvbm5lY3Rpb24pKTsKKyAgICByZXR1cm4gbWFrZVVu
aXF1ZTxOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E+KGlkZW50aWZpZXIsIHJ0Y1Byb3ZpZGVyLCBh
ZGRyZXNzLCBXVEZNb3ZlKGNvbm5lY3Rpb24pLCBpc0ZpcnN0UGFydHksIGlzUmVsYXlEaXNhYmxl
ZCwgZG9tYWluKTsKIH0KIAotTmV0d29ya1JUQ1VEUFNvY2tldENvY29hOjpOZXR3b3JrUlRDVURQ
U29ja2V0Q29jb2EoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVy
LCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyLCBjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmIGFkZHJlc3MsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbikKK05ldHdvcmtS
VENVRFBTb2NrZXRDb2NvYTo6TmV0d29ya1JUQ1VEUFNvY2tldENvY29hKFdlYkNvcmU6OkxpYldl
YlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQ
cm92aWRlciwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBSZWY8SVBDOjpDb25u
ZWN0aW9uPiYmIGNvbm5lY3Rpb24sIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNh
YmxlZCwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikKICAgICA6IG1f
cnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
LSAgICAsIG1fbndDb25uZWN0aW9ucyhOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9u
czo6Y3JlYXRlKGlkZW50aWZpZXIsIHJ0Y1Byb3ZpZGVyLCBhZGRyZXNzLCBXVEZNb3ZlKGNvbm5l
Y3Rpb24pKSkKKyAgICAsIG1fbndDb25uZWN0aW9ucyhOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FD
b25uZWN0aW9uczo6Y3JlYXRlKGlkZW50aWZpZXIsIHJ0Y1Byb3ZpZGVyLCBhZGRyZXNzLCBXVEZN
b3ZlKGNvbm5lY3Rpb24pLCBpc0ZpcnN0UGFydHksIGlzUmVsYXlEaXNhYmxlZCwgZG9tYWluKSkK
IHsKIH0KIApAQCAtMTE5LDkgKzEzMywyNCBAQCBzdGF0aWMgcnRjOjpTb2NrZXRBZGRyZXNzIHNv
Y2tldEFkZHJlc3NGcm9tSW5jb21pbmdDb25uZWN0aW9uKG53X2Nvbm5lY3Rpb25fdCBjbwogICAg
IHJldHVybiBydGM6OlNvY2tldEFkZHJlc3MgeyBud19lbmRwb2ludF9nZXRfaG9zdG5hbWUoZW5k
cG9pbnQuZ2V0KCkpLCBud19lbmRwb2ludF9nZXRfcG9ydChlbmRwb2ludC5nZXQoKSkgfTsKIH0K
IAotTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6Ok5ldHdvcmtSVENVRFBTb2Nr
ZXRDb2NvYUNvbm5lY3Rpb25zKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRl
bnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQcm92aWRlciwgY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiBhZGRyZXNzLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pCitz
dGF0aWMgYm9vbCBpc0tub3duVHJhY2tlcihjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFp
biYgZG9tYWluKQoreworI2lmIEhBVkUoTldQQVJBTUVURVJTX1RSQUNLRVJfQVBJKQorICAgIE5T
QXJyYXk8TlNTdHJpbmcgKj4gKmRvbWFpbnMgPSBAW2RvbWFpbi5zdHJpbmcoKV07CisgICAgTkVI
ZWxwZXJUcmFja2VyRG9tYWluQ29udGV4dFJlZiAqY29udGV4dCA9IG5pbDsKKyAgICBDRkluZGV4
IGluZGV4ID0gMDsKKyAgICByZXR1cm4gISFORUhlbHBlclRyYWNrZXJHZXREaXNwb3NpdGlvbihu
dWxscHRyLCAoQ0ZBcnJheVJlZilkb21haW5zLCBjb250ZXh0LCAmaW5kZXgpOworI2Vsc2UKKyAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29u
bmVjdGlvbnM6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zKFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiBy
dGNQcm92aWRlciwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBSZWY8SVBDOjpD
b25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlE
aXNhYmxlZCwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikKICAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29u
bmVjdGlvbikpCisgICAgLCBtX2lzRmlyc3RQYXJ0eShpc0ZpcnN0UGFydHkpCisgICAgLCBtX2lz
S25vd25UcmFja2VyKGlzS25vd25UcmFja2VyKGRvbWFpbikpCisgICAgLCBtX3Nob3VsZEJ5cGFz
c1JlbGF5KGlzUmVsYXlEaXNhYmxlZCkKIHsKICAgICBhdXRvIHBhcmFtZXRlcnMgPSBhZG9wdE5T
KG53X3BhcmFtZXRlcnNfY3JlYXRlX3NlY3VyZV91ZHAoTldfUEFSQU1FVEVSU19ESVNBQkxFX1BS
T1RPQ09MLCBOV19QQVJBTUVURVJTX0RFRkFVTFRfQ09ORklHVVJBVElPTikpOwogICAgIHsKQEAg
LTEzMiwxMSArMTYxLDcgQEAgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6Ok5l
dHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zKFdlYkNvcmUKICAgICAgICAgbV9hZGRy
ZXNzID0geyBud19lbmRwb2ludF9nZXRfaG9zdG5hbWUobG9jYWxFbmRwb2ludC5nZXQoKSksIG53
X2VuZHBvaW50X2dldF9wb3J0KGxvY2FsRW5kcG9pbnQuZ2V0KCkpIH07CiAgICAgICAgIG53X3Bh
cmFtZXRlcnNfc2V0X2xvY2FsX2VuZHBvaW50KHBhcmFtZXRlcnMuZ2V0KCksIGxvY2FsRW5kcG9p
bnQuZ2V0KCkpOwogICAgIH0KLSAgICB7Ci0gICAgICAgIGF1dG8gcHJvdG9jb2xTdGFjayA9IGFk
b3B0TlMobndfcGFyYW1ldGVyc19jb3B5X2RlZmF1bHRfcHJvdG9jb2xfc3RhY2socGFyYW1ldGVy
cy5nZXQoKSkpOwotICAgICAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5TKG53X3Byb3RvY29sX3N0
YWNrX2NvcHlfaW50ZXJuZXRfcHJvdG9jb2wocHJvdG9jb2xTdGFjay5nZXQoKSkpOwotICAgICAg
ICBud19pcF9vcHRpb25zX3NldF92ZXJzaW9uKG9wdGlvbnMuZ2V0KCksIGFkZHJlc3MuZmFtaWx5
KCkgPT0gQUZfSU5FVCA/IG53X2lwX3ZlcnNpb25fNCA6IG53X2lwX3ZlcnNpb25fNik7Ci0gICAg
fQorICAgIGNvbmZpZ3VyZVBhcmFtZXRlcnMocGFyYW1ldGVycy5nZXQoKSwgYWRkcmVzcy5mYW1p
bHkoKSA9PSBBRl9JTkVUID8gbndfaXBfdmVyc2lvbl80IDogbndfaXBfdmVyc2lvbl82KTsKIAog
ICAgIG1fbndMaXN0ZW5lciA9IGFkb3B0TlMobndfbGlzdGVuZXJfY3JlYXRlKHBhcmFtZXRlcnMu
Z2V0KCkpKTsKICAgICBud19saXN0ZW5lcl9zZXRfcXVldWUobV9ud0xpc3RlbmVyLmdldCgpLCB1
ZHBTb2NrZXRRdWV1ZSgpKTsKQEAgLTE3NSw2ICsyMDAsMjAgQEAgTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hQ29ubmVjdGlvbnM6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zKFdl
YkNvcmUKICAgICBud19saXN0ZW5lcl9zdGFydChtX253TGlzdGVuZXIuZ2V0KCkpOwogfQogCit2
b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjb25maWd1cmVQYXJhbWV0
ZXJzKG53X3BhcmFtZXRlcnNfdCBwYXJhbWV0ZXJzLCBud19pcF92ZXJzaW9uX3QgdmVyc2lvbikK
K3sKKyAgICBhdXRvIHByb3RvY29sU3RhY2sgPSBhZG9wdE5TKG53X3BhcmFtZXRlcnNfY29weV9k
ZWZhdWx0X3Byb3RvY29sX3N0YWNrKHBhcmFtZXRlcnMpKTsKKyAgICBhdXRvIG9wdGlvbnMgPSBh
ZG9wdE5TKG53X3Byb3RvY29sX3N0YWNrX2NvcHlfaW50ZXJuZXRfcHJvdG9jb2wocHJvdG9jb2xT
dGFjay5nZXQoKSkpOworICAgIG53X2lwX29wdGlvbnNfc2V0X3ZlcnNpb24ob3B0aW9ucy5nZXQo
KSwgdmVyc2lvbik7CisKKyAgICBpZiAobV9zaG91bGRCeXBhc3NSZWxheSkKKyAgICAgICAgbndf
cGFyYW1ldGVyc19zZXRfYWNjb3VudF9pZChwYXJhbWV0ZXJzLCAiY29tLmFwcGxlLnNhZmFyaS5w
ZWVydG9wZWVyIik7CisjaWYgSEFWRShOV1BBUkFNRVRFUlNfVFJBQ0tFUl9BUEkpCisgICAgbndf
cGFyYW1ldGVyc19zZXRfaXNfdGhpcmRfcGFydHlfd2ViX2NvbnRlbnQocGFyYW1ldGVycywgbV9p
c0ZpcnN0UGFydHkpOworICAgIG53X3BhcmFtZXRlcnNfc2V0X2lzX2tub3duX3RyYWNrZXIocGFy
YW1ldGVycywgbV9pc0tub3duVHJhY2tlcik7CisjZW5kaWYKK30KKwogdm9pZCBOZXR3b3JrUlRD
VURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y2xvc2UoKQogewogICAgIExvY2tlciBsb2NrZXIg
eyBtX253Q29ubmVjdGlvbnNMb2NrIH07CkBAIC0yMjMsMTEgKzI2Miw3IEBAIFJldGFpblB0cjxu
d19jb25uZWN0aW9uX3Q+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVh
dGVOV0Nvbm5lY3RpCiAgICAgICAgIGF1dG8gbG9jYWxFbmRwb2ludCA9IGFkb3B0TlMobndfZW5k
cG9pbnRfY3JlYXRlX2hvc3QoaG9zdEFkZHJlc3MuY19zdHIoKSwgU3RyaW5nOjpudW1iZXIobV9h
ZGRyZXNzLnBvcnQoKSkudXRmOCgpLmRhdGEoKSkpOwogICAgICAgICBud19wYXJhbWV0ZXJzX3Nl
dF9sb2NhbF9lbmRwb2ludChwYXJhbWV0ZXJzLmdldCgpLCBsb2NhbEVuZHBvaW50LmdldCgpKTsK
ICAgICB9Ci0gICAgewotICAgICAgICBhdXRvIHByb3RvY29sU3RhY2sgPSBhZG9wdE5TKG53X3Bh
cmFtZXRlcnNfY29weV9kZWZhdWx0X3Byb3RvY29sX3N0YWNrKHBhcmFtZXRlcnMuZ2V0KCkpKTsK
LSAgICAgICAgYXV0byBvcHRpb25zID0gYWRvcHROUyhud19wcm90b2NvbF9zdGFja19jb3B5X2lu
dGVybmV0X3Byb3RvY29sKHByb3RvY29sU3RhY2suZ2V0KCkpKTsKLSAgICAgICAgbndfaXBfb3B0
aW9uc19zZXRfdmVyc2lvbihvcHRpb25zLmdldCgpLCByZW1vdGVBZGRyZXNzLmZhbWlseSgpID09
IEFGX0lORVQgPyBud19pcF92ZXJzaW9uXzQgOiBud19pcF92ZXJzaW9uXzYpOwotICAgIH0KKyAg
ICBjb25maWd1cmVQYXJhbWV0ZXJzKHBhcmFtZXRlcnMuZ2V0KCksIHJlbW90ZUFkZHJlc3MuZmFt
aWx5KCkgPT0gQUZfSU5FVCA/IG53X2lwX3ZlcnNpb25fNCA6IG53X2lwX3ZlcnNpb25fNik7CiAK
ICAgICBhdXRvIHJlbW90ZUhvc3RBZGRyZXNzID0gcmVtb3RlQWRkcmVzcy5pcGFkZHIoKS5Ub1N0
cmluZygpOwogICAgIGlmIChyZW1vdGVBZGRyZXNzLmlwYWRkcigpLklzTmlsKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9OV1BhcmFtZXRlcnNTUEkuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL05XUGFyYW1ldGVyc1NQSS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU0NTI4MWEyZjYxNzQ4NTJkZWJlNjhhODkzMGVkNzUzOGI3YTM4YTMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9Db2NvYS9OV1BhcmFtZXRlcnNT
UEkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisKKyNpbXBvcnQgPG53L3ByaXZhdGUuaD4KKworI2Vsc2UKKworI2ltcG9ydCA8bncv
cGFyYW1ldGVycy5oPgorCitXVEZfRVhURVJOX0NfQkVHSU4KKwordm9pZCBud19wYXJhbWV0ZXJz
X3NldF9hY2NvdW50X2lkKG53X3BhcmFtZXRlcnNfdCwgY29uc3QgY2hhciAqIGFjY291bnRfaWQp
OworCisjaWYgSEFWRShOV1BBUkFNRVRFUlNfVFJBQ0tFUl9BUEkpCit2b2lkIG53X3BhcmFtZXRl
cnNfc2V0X2lzX3RoaXJkX3BhcnR5X3dlYl9jb250ZW50KG53X3BhcmFtZXRlcnNfdCwgYm9vbCBp
c190aGlyZF9wYXJ0eV93ZWJfY29udGVudCk7Cit2b2lkIG53X3BhcmFtZXRlcnNfc2V0X2lzX2tu
b3duX3RyYWNrZXIobndfcGFyYW1ldGVyc190LCBib29sIGlzX2tub3duX3RyYWNrZXIpOworI2Vu
ZGlmIC8vIEhBVkUoTldQQVJBTUVURVJTX1RSQUNLRVJfQVBJKQorCitXVEZfRVhURVJOX0NfRU5E
CisKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWFlMGZlZDkwOWE1MGE1OWEw
YzNmNDMzNjlhNjg0MmZjYWY3ZDUwMC4uOThjZTRkODM5ZTQwOGMyY2ZlMTJjOGVmNzg4Y2Q0MTZh
MjYwZGI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC05NDUsNiArOTQ1LDcgQEAKIAkJNDFEMTI5REExRjNEMTAxODAwRDE1RTQ3IC8q
IFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICov
OyB9OwogCQk0MURDNDU5QzFFM0RCQjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5
QTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmggKi87IH07CisJCTQx
REQ3MkFCMjY4MjE2NzMwMEE5MEM3MSAvKiBOV1BhcmFtZXRlcnNTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREQ3MkFBMjY4MjE2NzMwMEE5MEM3
MSAvKiBOV1BhcmFtZXRlcnNTUEkuaCAqLzsgfTsKIAkJNDFERTdDNkMyMjI3OEYxRTAwNTMyQjY1
IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1MTg1MzYyMjI3MDRGNjAwNTQzMEM2IC8qIFNlcnZpY2VX
b3JrZXJGZXRjaFRhc2suY3BwICovOyB9OwogCQk0MUUwQTdDQjIzQjY0NUNEMDA1NjEwNjAgLyog
V2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTc5MTVBQzIyNTZCQjc0MDBENkY5N0UgLyogV2ViU29ja2V0Q2hhbm5lbC5j
cHAgKi87IH07CiAJCTQxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJTb2NrZXRDaGFubmVs
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJTb2NrZXRDaGFubmVsTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTM4NDMsNiArMzg0NCw3IEBACiAJCTQxREM0NUEw
MUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9XZWJSVENSZXNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
REQ3MkE2MjY3QjhDMzAwMEE5MEM3MSAvKiBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2EubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxREQ3MkE3MjY3QjhDMzEwMEE5MEM3MSAvKiBOZXR3b3Jr
UlRDVURQU29ja2V0Q29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1JUQ1VEUFNvY2tldENv
Y29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREQ3MkFBMjY4MjE2NzMwMEE5
MEM3MSAvKiBOV1BhcmFtZXRlcnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTldQYXJhbWV0ZXJzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTBB
N0M2MjNCNjM5NzgwMDU2MTA2MCAvKiBMaWJXZWJSVENDb2RlY3NQcm94eS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMaWJXZWJSVENDb2RlY3NQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUUwQTdDNzIzQjYzOTc5MDA1NjEwNjAgLyogTGliV2ViUlRDQ29kZWNzUHJveHkubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTGliV2ViUlRDQ29kZWNzUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxRTBBN0M4MjNCNjM5NzkwMDU2MTA2MCAvKiBMaWJXZWJSVEND
b2RlY3NQcm94eS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExpYldlYlJUQ0NvZGVjc1Byb3h5
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzkzOCw2ICs3OTQwLDcgQEAKIAkJ
CQk1NzQyMTc5MTI0MDBFMDk4MDAyQjMwM0QgLyogTG9jYWxBdXRoZW50aWNhdGlvblNQSS5oICov
LAogCQkJCTU3QjgyNjQwMjMwNEVCM0UwMEI3MkVCMCAvKiBOZWFyRmllbGRTUEkuaCAqLywKIAkJ
CQkzNzU0RDU0NDFCM0EyOUZEMDAzQTRDN0YgLyogTlNJbnZvY2F0aW9uU1BJLmggKi8sCisJCQkJ
NDFERDcyQUEyNjgyMTY3MzAwQTkwQzcxIC8qIE5XUGFyYW1ldGVyc1NQSS5oICovLAogCQkJCTVD
QjZBRTQzMjYwOTc5OUMwMEI2RUQ1QSAvKiBSZWFzb25TUEkuaCAqLywKIAkJCQkwRTk3RDc0QzIw
MEU4RkYzMDBCRjY2NDMgLyogU2FmZUJyb3dzaW5nU1BJLmggKi8sCiAJCQkJNDQ4QUMyNEQyNjcx
MzVBNjAwQjI4OTIxIC8qIFN5bmFwc2VTUEkuaCAqLywKQEAgLTEyMTY0LDYgKzEyMTY3LDcgQEAK
IAkJCQkxQzIwOTM2MDIyMzE4Q0IwMDAwMjZBMzkgLyogTlNBdHRyaWJ1dGVkU3RyaW5nLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQzIxODQwMjIyMzM4NzI4MDBCQUM3MDAgLyogTlNBdHRyaWJ1dGVk
U3RyaW5nUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc1NEQ1NDUxQjNBMjlGRDAwM0E0
QzdGIC8qIE5TSW52b2NhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFERDcyQUIyNjgy
MTY3MzAwQTkwQzcxIC8qIE5XUGFyYW1ldGVyc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4
QUNBMTMxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RHcmFwaC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0NGNDdGRkIxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNkVEQUE2MTExMjcxQzYwMEU3Njc4QiAvKiBQYWdlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCmluZGV4IDYyNjQzMTc5YmNhYjU5NjJl
Y2M4OGMxMGNlZDNkZGI4OTgyNWM4NDEuLjUyMjJiYjlkMDEyYjE2NTNiMDdmYjA5ZDRmMWY3ODdi
NmE3ZGU4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtMzcsNiArMzcsNyBAQAog
I2luY2x1ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9QYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbmNsdWRlIDx3ZWJydGMvYXBpL2FzeW5j
X3Jlc29sdmVyX2ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3ZWJydGMvcGMvcGVlcl9jb25uZWN0aW9u
X2ZhY3RvcnkuaD4KQEAgLTg3LDcgKzg4LDcgQEAgdm9pZCBMaWJXZWJSVENQcm92aWRlcjo6cmVn
aXN0ZXJNRE5TTmFtZShEb2N1bWVudElkZW50aWZpZXIgZG9jdW1lbnRJZGVudGlmaWVyLAogY2xh
c3MgUlRDU29ja2V0RmFjdG9yeSBmaW5hbCA6IHB1YmxpYyBMaWJXZWJSVENQcm92aWRlcjo6U3Vz
cGVuZGFibGVTb2NrZXRGYWN0b3J5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBSVENTb2NrZXRGYWN0b3J5KFN0cmluZyYmIHVzZXJBZ2VudCk7
CisgICAgUlRDU29ja2V0RmFjdG9yeShTdHJpbmcmJiB1c2VyQWdlbnQsIGJvb2wgaXNGaXJzdFBh
cnR5LCBSZWdpc3RyYWJsZURvbWFpbiYmKTsKIAogcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJs
ZVNvY2tldEZhY3RvcnkKQEAgLTk3LDE5ICs5OCwyNSBAQCBwcml2YXRlOgogICAgIHJ0Yzo6QXN5
bmNSZXNvbHZlckludGVyZmFjZSogQ3JlYXRlQXN5bmNSZXNvbHZlcigpIGZpbmFsOwogICAgIHZv
aWQgc3VzcGVuZCgpIGZpbmFsOwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CisgICAgdm9pZCBk
aXNhYmxlUmVsYXkoKSBmaW5hbCB7IG1faXNSZWxheURpc2FibGVkID0gdHJ1ZTsgfQogCiBwcml2
YXRlOgogICAgIFN0cmluZyBtX3VzZXJBZ2VudDsKKyAgICBib29sIG1faXNGaXJzdFBhcnR5IHsg
ZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWxheURpc2FibGVkIHsgZmFsc2UgfTsKKyAgICBSZWdp
c3RyYWJsZURvbWFpbiBtX2RvbWFpbjsKIH07CiAKLVJUQ1NvY2tldEZhY3Rvcnk6OlJUQ1NvY2tl
dEZhY3RvcnkoU3RyaW5nJiYgdXNlckFnZW50KQorUlRDU29ja2V0RmFjdG9yeTo6UlRDU29ja2V0
RmFjdG9yeShTdHJpbmcmJiB1c2VyQWdlbnQsIGJvb2wgaXNGaXJzdFBhcnR5LCBSZWdpc3RyYWJs
ZURvbWFpbiYmIGRvbWFpbikKICAgICA6IG1fdXNlckFnZW50KFdURk1vdmUodXNlckFnZW50KSkK
KyAgICAsIG1faXNGaXJzdFBhcnR5KGlzRmlyc3RQYXJ0eSkKKyAgICAsIG1fZG9tYWluKFdURk1v
dmUoZG9tYWluKSkKIHsKIH0KIAogcnRjOjpBc3luY1BhY2tldFNvY2tldCogUlRDU29ja2V0RmFj
dG9yeTo6Q3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywg
dWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKIHsKLSAgICByZXR1cm4gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNvY2tldEZhY3RvcnkoKS5jcmVh
dGVVZHBTb2NrZXQodGhpcywgYWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCk7CisgICAgcmV0dXJu
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5zb2NrZXRGYWN0b3J5
KCkuY3JlYXRlVWRwU29ja2V0KHRoaXMsIGFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG1faXNG
aXJzdFBhcnR5LCBtX2lzUmVsYXlEaXNhYmxlZCwgbV9kb21haW4pOwogfQogCiBydGM6OkFzeW5j
UGFja2V0U29ja2V0KiBSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZf
dCBtYXhQb3J0LCBpbnQgb3B0aW9ucykKQEAgLTE1MCw5ICsxNTcsOSBAQCB2b2lkIExpYldlYlJU
Q1Byb3ZpZGVyOjpzdGFydGVkTmV0d29ya1RocmVhZCgpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNldEFzQWN0aXZlKCk7CiB9CiAKLXN0ZDo6dW5pcXVl
X3B0cjxMaWJXZWJSVENQcm92aWRlcjo6U3VzcGVuZGFibGVTb2NrZXRGYWN0b3J5PiBMaWJXZWJS
VENQcm92aWRlcjo6Y3JlYXRlU29ja2V0RmFjdG9yeShTdHJpbmcmJiB1c2VyQWdlbnQpCitzdGQ6
OnVuaXF1ZV9wdHI8TGliV2ViUlRDUHJvdmlkZXI6OlN1c3BlbmRhYmxlU29ja2V0RmFjdG9yeT4g
TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldEZhY3RvcnkoU3RyaW5nJiYgdXNlckFnZW50
LCBib29sIGlzRmlyc3RQYXJ0eSwgUmVnaXN0cmFibGVEb21haW4mJiBkb21haW4pCiB7Ci0gICAg
cmV0dXJuIG1ha2VVbmlxdWU8UlRDU29ja2V0RmFjdG9yeT4oV1RGTW92ZSh1c2VyQWdlbnQpKTsK
KyAgICByZXR1cm4gbWFrZVVuaXF1ZTxSVENTb2NrZXRGYWN0b3J5PihXVEZNb3ZlKHVzZXJBZ2Vu
dCksIGlzRmlyc3RQYXJ0eSwgV1RGTW92ZShkb21haW4pKTsKIH0KIAogUmVmUHRyPFJUQ0RhdGFD
aGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVS
VENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmgKaW5kZXggMWQxNjZjMGFhNjc2MTRmMmM4NmMyM2UwYmJlMGMyMjZiNjBkOTk1Yi4uNjA1OGU1
NGMxNTM4OTQ4ZDhhNmI0NDM1MjdkNTNjMGQ4NzhhYmZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IExpYldlYlJUQ1Byb3Zp
ZGVyKFdlYlBhZ2UmKTsKIAogcHJpdmF0ZToKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGFi
bGVTb2NrZXRGYWN0b3J5PiBjcmVhdGVTb2NrZXRGYWN0b3J5KFN0cmluZyYmIC8qIHVzZXJBZ2Vu
dCAqLykgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRhYmxlU29ja2V0RmFjdG9y
eT4gY3JlYXRlU29ja2V0RmFjdG9yeShTdHJpbmcmJiAvKiB1c2VyQWdlbnQgKi8sIGJvb2wgLyog
aXNGaXJzdFBhcnR5ICovLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmKSBmaW5hbDsKIAog
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBj
cmVhdGVQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImLCBydGM6
OlBhY2tldFNvY2tldEZhY3RvcnkqLCB3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlOjpS
VENDb25maWd1cmF0aW9uJiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9y
eS5jcHAKaW5kZXggNTMyMzNiZWY5ZWYxYjlmYjJhNWUzNzI2N2QyYmNlNDFmZTM0ODRiMi4uYTM5
MzliYzE0NWUwYjk4M2RiMThiNzlhZDdhNjJmZTY5NjY2Y2IzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3Rvcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXRGYWN0b3J5LmNwcApAQCAtODUsMTkgKzg1LDE5IEBAIHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OmNyZWF0ZVNlcnZlclRjcFNvY2tldChjb25z
dCB2b2lkCiAgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7CiB9CiAKLXJ0Yzo6QXN5bmNQYWNr
ZXRTb2NrZXQqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OmNyZWF0ZVVkcFNvY2tldChjb25zdCB2
b2lkKiBzb2NrZXRHcm91cCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCB1aW50
MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQorcnRjOjpBc3luY1BhY2tldFNvY2tldCog
TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Y3JlYXRlVWRwU29ja2V0KGNvbnN0IHZvaWQqIHNvY2tl
dEdyb3VwLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBv
cnQsIHVpbnQxNl90IG1heFBvcnQsIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNh
YmxlZCwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikKIHsKICAgICBB
U1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsKICAgICBhdXRvIHNvY2tldCA9IG1ha2VVbmlx
dWU8TGliV2ViUlRDU29ja2V0PigqdGhpcywgc29ja2V0R3JvdXAsIExpYldlYlJUQ1NvY2tldDo6
VHlwZTo6VURQLCBhZGRyZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7CiAKICAgICBpZiAobV9j
b25uZWN0aW9uKQotICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtS
VENQcm92aWRlcjo6Q3JlYXRlVURQU29ja2V0KHNvY2tldC0+aWRlbnRpZmllcigpLCBSVENOZXR3
b3JrOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MpLCBtaW5Qb3J0LCBtYXhQb3J0KSwgMCk7CisgICAg
ICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDcmVh
dGVVRFBTb2NrZXQoc29ja2V0LT5pZGVudGlmaWVyKCksIFJUQ05ldHdvcms6OlNvY2tldEFkZHJl
c3MoYWRkcmVzcyksIG1pblBvcnQsIG1heFBvcnQsIGlzRmlyc3RQYXJ0eSwgaXNSZWxheURpc2Fi
bGVkLCBkb21haW4pLCAwKTsKICAgICBlbHNlIHsKICAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3Ao
W10gewogICAgICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgICAgIH0pOwotICAgICAgICBtX3BlbmRpbmdNZXNzYWdl
VGFza3MuYXBwZW5kKFtpZGVudGlmaWVyID0gc29ja2V0LT5pZGVudGlmaWVyKCksIGFkZHJlc3Mg
PSBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MpLCBtaW5Qb3J0LCBtYXhQb3J0XShh
dXRvJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlVURQU29ja2V0KGlkZW50aWZpZXIsIGFkZHJlc3Ms
IG1pblBvcnQsIG1heFBvcnQpLCAwKTsKKyAgICAgICAgbV9wZW5kaW5nTWVzc2FnZVRhc2tzLmFw
cGVuZChbaWRlbnRpZmllciA9IHNvY2tldC0+aWRlbnRpZmllcigpLCBhZGRyZXNzID0gUlRDTmV0
d29yazo6U29ja2V0QWRkcmVzcyhhZGRyZXNzKSwgbWluUG9ydCwgbWF4UG9ydCwgaXNGaXJzdFBh
cnR5LCBpc1JlbGF5RGlzYWJsZWQsIGRvbWFpbl0oYXV0byYgY29ubmVjdGlvbikgeworICAgICAg
ICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OkNyZWF0
ZVVEUFNvY2tldChpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBpc0ZpcnN0
UGFydHksIGlzUmVsYXlEaXNhYmxlZCwgZG9tYWluKSwgMCk7CiAgICAgICAgIH0pOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1NvY2tldEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgKaW5kZXggNjFiMGM3YTBmYmIyNGE2OWY5
M2FiYjJiNDE0NmMwYzdhN2ZjY2M1MC4uNzFkMTI0ODI3YWIyYTZlYTI5YjE4OTliZGMwNzQ0MmI0
YjkxYmQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oCkBAIC01MSw3ICs1MSw3
IEBAIHB1YmxpYzoKICAgICBMaWJXZWJSVENTb2NrZXQqIHNvY2tldChXZWJDb3JlOjpMaWJXZWJS
VENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgcmV0dXJuIG1fc29ja2V0cy5nZXQoaWRl
bnRpZmllcik7IH0KIAogICAgIHZvaWQgZm9yU29ja2V0SW5Hcm91cChjb25zdCB2b2lkKiBzb2Nr
ZXRHcm91cCwgY29uc3QgRnVuY3Rpb248dm9pZChMaWJXZWJSVENTb2NrZXQmKT4mKTsKLSAgICBy
dGM6OkFzeW5jUGFja2V0U29ja2V0KiBjcmVhdGVVZHBTb2NrZXQoY29uc3Qgdm9pZCogc29ja2V0
R3JvdXAsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQpOworICAgIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIGNyZWF0ZVVkcFNvY2tl
dChjb25zdCB2b2lkKiBzb2NrZXRHcm91cCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgdWlu
dDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wg
aXNSZWxheURpc2FibGVkLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpOwogICAg
IHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIGNyZWF0ZVNlcnZlclRjcFNvY2tldChjb25zdCB2b2lk
KiBzb2NrZXRHcm91cCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluUG9y
dCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpOwogICAgIHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQqIGNyZWF0ZUNsaWVudFRjcFNvY2tldChjb25zdCB2b2lkKiBzb2NrZXRHcm91cCwgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRk
cmVzcyYgcmVtb3RlQWRkcmVzcywgU3RyaW5nJiYgdXNlckFnZW50LCBjb25zdCBydGM6OlBhY2tl
dFNvY2tldFRjcE9wdGlvbnMmKTsKICAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBjcmVhdGVO
ZXdDb25uZWN0aW9uU29ja2V0KExpYldlYlJUQ1NvY2tldCYsIFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIgbmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIsIGNvbnN0IHJ0Yzo6
U29ja2V0QWRkcmVzcyYpOwo=
</data>
<flag name="commit-queue"
          id="454720"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>