<?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>143561</bug_id>
          
          <creation_ts>2015-04-09 02:57:02 -0700</creation_ts>
          <short_desc>Remove TextureMapperImageBuffer</short_desc>
          <delta_ts>2015-05-06 20:57:22 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=143214</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=137842</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144654</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>clopez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ossy</cc>
    
    <cc>yoon</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083931</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 02:57:02 -0700</bug_when>
    <thetext>It isn&apos;t maintained and doesn&apos;t work, see https://bugs.webkit.org/show_bug.cgi?id=143214#c20 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083932</commentid>
    <comment_count>1</comment_count>
      <attachid>250431</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 02:57:51 -0700</bug_when>
    <thetext>Created attachment 250431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083934</commentid>
    <comment_count>2</comment_count>
      <attachid>250432</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 03:08:05 -0700</bug_when>
    <thetext>Created attachment 250432
Patch

removing setShouldSupportContentsTiling too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083935</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 03:12:32 -0700</bug_when>
    <thetext>Maybe we can remove AccelerationMode everywhere. Am I right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083937</commentid>
    <comment_count>4</comment_count>
      <attachid>250433</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 03:33:01 -0700</bug_when>
    <thetext>Created attachment 250433
Patch

removing accelerationMode + GTK buildfix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083939</commentid>
    <comment_count>5</comment_count>
      <attachid>250435</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 03:43:47 -0700</bug_when>
    <thetext>Created attachment 250435
Patch

more GTK fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083940</commentid>
    <comment_count>6</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-04-09 04:04:30 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Maybe we can remove AccelerationMode everywhere. Am I right?

Oh, yes. Please remove those!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083942</commentid>
    <comment_count>7</comment_count>
      <attachid>250436</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 05:23:20 -0700</bug_when>
    <thetext>Created attachment 250436
Patch

removing BitmapTextureImageBuffer too to fix the GTK build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083943</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-09 05:29:48 -0700</bug_when>
    <thetext>Just a question is there anybody build with
USE(TEXTURE_MAPPER) &amp;&amp; !USE(TEXTURE_MAPPER_GL) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083944</commentid>
    <comment_count>9</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-04-09 05:37:42 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Just a question is there anybody build with
&gt; USE(TEXTURE_MAPPER) &amp;&amp; !USE(TEXTURE_MAPPER_GL) ?

I don&apos;t think so. Maybe we can merge TEXTURE_MAPPER_GL and TEXTURE_MAPPER</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084204</commentid>
    <comment_count>10</comment_count>
      <attachid>250436</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-04-09 22:30:04 -0700</bug_when>
    <thetext>Comment on attachment 250436
Patch

Looks good for me. I&apos;ll merge TextureMapper and TextureMapperGL in separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084228</commentid>
    <comment_count>11</comment_count>
      <attachid>250436</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-10 00:44:05 -0700</bug_when>
    <thetext>Comment on attachment 250436
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:42
&gt;      return platformCreateAccelerated();

platformCreateAccelerated() can be removed as well, perhaps in the patch that merges USE(TEXTURE_MAPPER) and USE(TEXTURE_MAPPER_GL).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084229</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-10 00:44:59 -0700</bug_when>
    <thetext>On the note of merging USE(TEXTURE_MAPPER) and USE(TEXTURE_MAPPER_GL), can the TextureMapper and TextureMapperGL (and the related classes) be merged as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084230</commentid>
    <comment_count>13</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-04-10 00:49:49 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; On the note of merging USE(TEXTURE_MAPPER) and USE(TEXTURE_MAPPER_GL), can
&gt; the TextureMapper and TextureMapperGL (and the related classes) be merged as
&gt; well?

Yes, we can merge it. But I think it is safe to do it in separated bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084279</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:01:44 -0700</bug_when>
    <thetext>Unfortunately it didn&apos;t solve the problem, but introduced another
crashes, see https://bugs.webkit.org/show_bug.cgi?id=143214#c23
for details. I&apos;ll upload detailed results soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084281</commentid>
    <comment_count>15</comment_count>
      <attachid>250512</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:11:12 -0700</bug_when>
    <thetext>Created attachment 250512
results without the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084282</commentid>
    <comment_count>16</comment_count>
      <attachid>250513</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:12:08 -0700</bug_when>
    <thetext>Created attachment 250513
results with the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084284</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:15:14 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created attachment 250513 [details]
&gt; results with the patch

There are two major problem:
- Expected to fail, but passed: (267) - these tests don&apos;t pass at all in the
real life.
- Regressions: Unexpected crashes (72) - using TextureMapperGL with EFL which disabling GL isn&apos;t so good and cause this crashes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084287</commentid>
    <comment_count>18</comment_count>
      <attachid>250515</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:16:12 -0700</bug_when>
    <thetext>Created attachment 250515
crash log for accessibility/accessibility-node-memory-management.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084288</commentid>
    <comment_count>19</comment_count>
      <attachid>250516</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:23:42 -0700</bug_when>
    <thetext>Created attachment 250516
llvmpipe experiment

I tried to adapt GTK&apos;s solution to use llvmpipe for XVFBDriver,
additionally force EFL to use GL with setting ELM_ENGINE=opengl_x11
and setting EVAS_GL_NO_BLACKLIST to force EFL not to blacklist
llvmpipe ... but I got crash at the beginning somewhere in EFL
when it called glGetString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084289</commentid>
    <comment_count>20</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-10 06:27:07 -0700</bug_when>
    <thetext>I don&apos;t have enough graphics skill and any EFL internal skill to fix 
this bug and bug143214 myself in the near future, so feel free to
pick it up, if anybody interested in fixing this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091767</commentid>
    <comment_count>21</comment_count>
      <attachid>252385</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-05 08:36:39 -0700</bug_when>
    <thetext>Created attachment 252385
Patch

Patch for landing. No regression with USE_NATIVE_XDISPLAY=1, which is already set on the EFL bots, so it&apos;s safe to land it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091774</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-05 08:51:57 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Created attachment 252385 [details]
&gt; Patch
&gt; 
&gt; Patch for landing. No regression with USE_NATIVE_XDISPLAY=1, which is
&gt; already set on the EFL bots, so it&apos;s safe to land it now.

Landed in http://trac.webkit.org/changeset/183807</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250431</attachid>
            <date>2015-04-09 02:57:51 -0700</date>
            <delta_ts>2015-04-09 03:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150409025700.patch</filename>
            <type>text/plain</type>
            <size>13380</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwMmQ4ZWRjNmE0Mzk0
ZTkzMTVkYjRjYzI5OThlNWQxNjQzZjQ2Ny4uY2FlNjQ3Yzk4NWY1NzcxNDU1ZjRlOTI4MGI4MzBl
ZWFiN2YxN2RjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA0LTA5ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaDogUmVtb3ZlZC4KKwogMjAxNS0wNC0wOSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2
aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRlZCBDU1MgR3JpZCBM
YXlvdXQgdG8gZmVhdHVyZXMuanNvbiBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMWUx
YTY3Y2NiMGUxZWU3ZjRlMWI5Mjc0NjRjZmQwMmM3N2I4NjNmLi43OTI5NDAzYzNmMTBjMmI2NzQz
YzJlMmYyYTFjNGI0YzkwZDA0ZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjE3NCw3ICsy
MTc0LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUu
Y3BwCmluZGV4IDU0OGIwYjBjYjI2M2IyMDhkZWIzNWQ5ZWI0ZDE5ZjUxMmExNDQ2NDYuLjAzYzY2
MGFmNGU0YzE2Zjk3NDZjYmZmNzAyYTE0Y2U1MThmN2ExNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlLmNwcApAQCAtODksNDUgKzg5LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6
OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIKIAogICAg
IG1fY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwogCi0gICAgLy8gRklYTUU6IFdlIGRv
IG5vdCBzdXBwb3J0IG1hc2sgZm9yIHRoZSBtb21lbnQgd2l0aCBUZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuCi0gICAgaWYgKHRleHR1cmVNYXBwZXItPmFjY2VsZXJhdGlvbk1vZGUoKSAhPSBUZXh0
dXJlTWFwcGVyOjpPcGVuR0xNb2RlKSB7Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCA9IHRleHR1cmVNYXBwZXItPmdyYXBoaWNzQ29udGV4dCgpOwotICAgICAgICBjb250ZXh0LT5z
YXZlKCk7Ci0gICAgICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRHbG9iYWxBbHBo
YShvcGFjaXR5KTsKLQotICAgICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gbV9jb250ZXh0LT5tX2N1
cnJlbnRIZWlnaHQ7Ci0gICAgICAgIGNvbnN0IGludCB3aWR0aCA9IG1fY29udGV4dC0+bV9jdXJy
ZW50V2lkdGg7Ci0gICAgICAgIGludCB0b3RhbEJ5dGVzID0gd2lkdGggKiBoZWlnaHQgKiA0Owot
Ci0gICAgICAgIGF1dG8gcGl4ZWxzID0gc3RkOjptYWtlX3VuaXF1ZTx1bnNpZ25lZCBjaGFyW10+
KHRvdGFsQnl0ZXMpOwotICAgICAgICBpZiAoIXBpeGVscykKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICAvLyBPcGVuR0wga2VlcHMgdGhlIHBpeGVscyBzdG9yZWQgYm90dG9tIHVwLCBz
byB3ZSBuZWVkIHRvIGZsaXAgdGhlIGltYWdlIGhlcmUuCi0gICAgICAgIGNvbnRleHQtPnRyYW5z
bGF0ZSgwLCBoZWlnaHQpOwotICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoMSwgLTEp
KTsKLQotICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3Jt
KCkpOwotCi0gICAgICAgIG1fY29udGV4dC0+cmVhZFJlbmRlcmluZ1Jlc3VsdHMocGl4ZWxzLmdl
dCgpLCB0b3RhbEJ5dGVzKTsKLQotICAgICAgICAvLyBQcmVtdWx0aXBseSBhbHBoYS4KLSAgICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0b3RhbEJ5dGVzOyBpICs9IDQpCi0gICAgICAgICAgICBp
ZiAocGl4ZWxzW2kgKyAzXSAhPSAyNTUpIHsKLSAgICAgICAgICAgICAgICBwaXhlbHNbaSArIDBd
ID0gbWluKDI1NSwgcGl4ZWxzW2kgKyAwXSAqIHBpeGVsc1tpICsgM10gLyAyNTUpOwotICAgICAg
ICAgICAgICAgIHBpeGVsc1tpICsgMV0gPSBtaW4oMjU1LCBwaXhlbHNbaSArIDFdICogcGl4ZWxz
W2kgKyAzXSAvIDI1NSk7Ci0gICAgICAgICAgICAgICAgcGl4ZWxzW2kgKyAyXSA9IG1pbigyNTUs
IHBpeGVsc1tpICsgMl0gKiBwaXhlbHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBpbWFnZVN1cmZhY2UgPSBhZG9wdFJlZihj
YWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YSgKLSAgICAgICAgICAgIGNvbnN0X2Nh
c3Q8dW5zaWduZWQgY2hhcio+KHBpeGVscy5nZXQoKSksIENBSVJPX0ZPUk1BVF9BUkdCMzIsIHdp
ZHRoLCBoZWlnaHQsIHdpZHRoICogNCkpOwotCi0gICAgICAgIGNvbnRleHQtPnBsYXRmb3JtQ29u
dGV4dCgpLT5kcmF3U3VyZmFjZVRvQ29udGV4dChpbWFnZVN1cmZhY2UuZ2V0KCksIHRhcmdldFJl
Y3QsIEludFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCksIGNvbnRleHQpOwotCi0gICAgICAgIGNv
bnRleHQtPnJlc3RvcmUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogI2lmIFVTRShURVhU
VVJFX01BUFBFUl9HTCkKICAgICBpZiAobV9jb250ZXh0LT5tX2F0dHJzLmFudGlhbGlhcyAmJiBt
X2NvbnRleHQtPm1fc3RhdGUuYm91bmRGQk8gPT0gbV9jb250ZXh0LT5tX211bHRpc2FtcGxlRkJP
KSB7CiAgICAgICAgIEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250ZXh0ID0gR0xDb250ZXh0
OjpnZXRDdXJyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNw
cAppbmRleCAyZTdmYzVkZDg2YmY0MmMzZGFjNjAwYTAwNzZhN2M0YTE1ZDQyZTljLi41YTgwNzIw
NWNhNzEwMGVmZjgyMzk0YjU2ZDFlMWY5NDY5ZTg3MTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0xheWVyVGV4dHVyZU1hcHBlci5jcHAKQEAgLTYwMiw4ICs2MDIsNyBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyOjpyZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRp
b25OYW1lKQogYm9vbCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0RmlsdGVycyhjb25z
dCBGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzKQogewogICAgIFRleHR1cmVNYXBwZXIqIHRleHR1
cmVNYXBwZXIgPSBtX2xheWVyLnRleHR1cmVNYXBwZXIoKTsKLSAgICAvLyBUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIgZG9lcyBub3Qgc3VwcG9ydCBDU1MgZmlsdGVycy4KLSAgICBpZiAoIXRleHR1
cmVNYXBwZXIgfHwgdGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpID09IFRleHR1cmVN
YXBwZXI6OlNvZnR3YXJlTW9kZSkKKyAgICBpZiAoIXRleHR1cmVNYXBwZXIpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBub3RpZnlDaGFuZ2UoRmlsdGVyQ2hhbmdlKTsKICAgICByZXR1cm4g
R3JhcGhpY3NMYXllcjo6c2V0RmlsdGVycyhmaWx0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAppbmRl
eCAwMzNhNjFlNzdkM2YzNDFlMDMzMmJhY2U4ZmNjNjUyZTBjOGY4NTc1Li41OGU3NDI5ZTJkZjM4
MDY5NmQ3MDRlM2U2ZTIxYmE2Njg5OWE4Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCkBAIC0yMyw3
ICsyMyw2IEBACiAjaW5jbHVkZSAiQml0bWFwVGV4dHVyZVBvb2wuaCIKICNpbmNsdWRlICJGaWx0
ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIlRl
eHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8
d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTM4LDEwICszNyw4IEBAIFBhc3NSZWZQdHI8Qml0bWFw
VGV4dHVyZT4gVGV4dHVyZU1hcHBlcjo6YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRT
aXplJiBzCiAgICAgcmV0dXJuIHNlbGVjdGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyPiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0
aW9uTW9kZSBtb2RlKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBw
ZXI6OmNyZWF0ZShBY2NlbGVyYXRpb25Nb2RlKQogewotICAgIGlmIChtb2RlID09IFNvZnR3YXJl
TW9kZSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyPigpOwogICAgIHJldHVybiBwbGF0Zm9ybUNyZWF0ZUFjY2VsZXJhdGVkKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY2NjMyNjk5MDkwMmRmZDBmMDg0MTIxMzNmMjY2MDY2NzFkYmFiOTQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBDb3B5cmlnaHQgKEMpIDIwMTIg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVQb29sLmgiCi0jaW5j
bHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0KLSNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25z
dCBpbnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uID0gNDA5NjsKLQotVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIoKQotICAgIDog
VGV4dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90ZXh0dXJlUG9vbCA9IHN0ZDo6
bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0KLUludFNpemUgVGV4dHVyZU1h
cHBlckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIElu
dFNpemUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uLCBzX21heGltdW1BbGxv
d2VkSW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1
ZmZlcjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJy
ZW50Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotI2lmIEVO
QUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXggcHJldmlvdXNUcmFu
c2Zvcm0gPSBjb250ZXh0LT5nZXQzRFRyYW5zZm9ybSgpOwotI2Vsc2UKLSAgICBBZmZpbmVUcmFu
c2Zvcm0gcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRDVE0oKTsKLSNlbmRpZgotICAg
IGNvbnRleHQtPnNhdmUoKTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4
dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0
Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotCi0gICAgY29udGV4dC0+
Y2xpcChyZWN0KTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+c2V0
M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UKLSAgICBjb250ZXh0LT5zZXRD
VE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZvaWQgVGV4dHVyZU1hcHBlcklt
YWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0ZXh0dXJlLCBjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRy
aXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRFZGdlcyAqLykKLXsKLSAgICBH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29u
dGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0bWFwVGV4dHVyZUltYWdlQnVm
ZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxjb25zdCBCaXRtYXBUZXh0dXJl
SW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1hZ2UgPSB0ZXh0dXJl
SW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+
c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9zaXRlRGVzdGluYXRp
b25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRleHQtPnNldEFscGhhKG9wYWNp
dHkpOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+Y29uY2F0M0RUcmFu
c2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0Fm
ZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotICAgIGNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgdGFyZ2V0UmVjdCk7Ci0gICAgY29udGV4dC0+cmVz
dG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1NvbGlkQ29s
b3IoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0
cml4LCBjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
ID0gY3VycmVudENvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICBjb250ZXh0LT5zZXRDb21wb3NpdGVPcGVyYXRp
b24oaXNJbk1hc2tNb2RlKCkgPyBDb21wb3NpdGVEZXN0aW5hdGlvbkluIDogQ29tcG9zaXRlU291
cmNlT3Zlcik7Ci0jaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAgICBjb250ZXh0LT5jb25jYXQz
RFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0LT5jb25jYXRDVE0obWF0cml4
LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBjb250ZXh0LT5maWxsUmVjdChy
ZWN0LCBjb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+cmVzdG9yZSgp
OwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd0JvcmRlcihjb25zdCBD
b2xvciYsIGZsb2F0IC8qIGJvcmRlcldpZHRoICovLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9p
ZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIoaW50IC8qIG51bWJlciAqLywg
Y29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLVBhc3NSZWZQdHI8Qml0bWFwVGV4
dHVyZT4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjphcHBseUZpbHRlcnMoVGV4dHVyZU1hcHBl
ciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiB0aGlzOwotfQotCi19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQxNzE5M2U5YThi
NzQ4NTE4YTcxN2ViMWE0ZWFkMzkxMmE1OTYyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCww
IEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKLQotIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLQotIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2lmbmRlZiBUZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXJfaAotI2RlZmluZSBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJf
aAotCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiSW1h
Z2VCdWZmZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0KLSNpZiBVU0UoVEVYVFVS
RV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlciA6IHB1YmxpYyBUZXh0dXJlTWFwcGVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLXB1YmxpYzoKLSAgICBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIoKTsKLQotICAgIC8v
IFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRl
cihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9hdFJlY3QmLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3
TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgdW5zaWduZWQgZXhw
b3NlZEVkZ2VzKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29sb3IoY29u
c3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBDb2xvciYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
YmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgb3ZlcnJpZGUgeyBtX2N1cnJlbnRT
dXJmYWNlID0gc3VyZmFjZTt9Ci0gICAgdmlydHVhbCB2b2lkIGVuZENsaXAoKSBvdmVycmlkZSB7
IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KLSAgICB2aXJ0dWFsIEludFJlY3QgY2xp
cEJvdW5kcygpIG92ZXJyaWRlIHsgcmV0dXJuIGN1cnJlbnRDb250ZXh0KCktPmNsaXBCb3VuZHMo
KTsgfQotICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKCkgb3ZlcnJpZGUg
eyByZXR1cm4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjpjcmVhdGUoKTsgfQotCi0gICAgaW5s
aW5lIEdyYXBoaWNzQ29udGV4dCogY3VycmVudENvbnRleHQoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fY3VycmVudFN1cmZhY2UgPyBzdGF0aWNfY2FzdDxCaXRtYXBUZXh0dXJlSW1hZ2VCdWZm
ZXIqPihtX2N1cnJlbnRTdXJmYWNlLmdldCgpKS0+Z3JhcGhpY3NDb250ZXh0KCkgOiBncmFwaGlj
c0NvbnRleHQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+
IG1fY3VycmVudFN1cmZhY2U7Ci19OwotCi19Ci0jZW5kaWYgLy8gVVNFKFRFWFRVUkVfTUFQUEVS
KQotCi0jZW5kaWYgLy8gVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250432</attachid>
            <date>2015-04-09 03:08:05 -0700</date>
            <delta_ts>2015-04-09 03:25:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150409030713.patch</filename>
            <type>text/plain</type>
            <size>15968</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwMmQ4ZWRjNmE0Mzk0
ZTkzMTVkYjRjYzI5OThlNWQxNjQzZjQ2Ny4uY2FlNjQ3Yzk4NWY1NzcxNDU1ZjRlOTI4MGI4MzBl
ZWFiN2YxN2RjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA0LTA5ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaDogUmVtb3ZlZC4KKwogMjAxNS0wNC0wOSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2
aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRlZCBDU1MgR3JpZCBM
YXlvdXQgdG8gZmVhdHVyZXMuanNvbiBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMWUx
YTY3Y2NiMGUxZWU3ZjRlMWI5Mjc0NjRjZmQwMmM3N2I4NjNmLi43OTI5NDAzYzNmMTBjMmI2NzQz
YzJlMmYyYTFjNGI0YzkwZDA0ZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjE3NCw3ICsy
MTc0LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUu
Y3BwCmluZGV4IDU0OGIwYjBjYjI2M2IyMDhkZWIzNWQ5ZWI0ZDE5ZjUxMmExNDQ2NDYuLjAzYzY2
MGFmNGU0YzE2Zjk3NDZjYmZmNzAyYTE0Y2U1MThmN2ExNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlLmNwcApAQCAtODksNDUgKzg5LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6
OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIKIAogICAg
IG1fY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwogCi0gICAgLy8gRklYTUU6IFdlIGRv
IG5vdCBzdXBwb3J0IG1hc2sgZm9yIHRoZSBtb21lbnQgd2l0aCBUZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuCi0gICAgaWYgKHRleHR1cmVNYXBwZXItPmFjY2VsZXJhdGlvbk1vZGUoKSAhPSBUZXh0
dXJlTWFwcGVyOjpPcGVuR0xNb2RlKSB7Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCA9IHRleHR1cmVNYXBwZXItPmdyYXBoaWNzQ29udGV4dCgpOwotICAgICAgICBjb250ZXh0LT5z
YXZlKCk7Ci0gICAgICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRHbG9iYWxBbHBo
YShvcGFjaXR5KTsKLQotICAgICAgICBjb25zdCBpbnQgaGVpZ2h0ID0gbV9jb250ZXh0LT5tX2N1
cnJlbnRIZWlnaHQ7Ci0gICAgICAgIGNvbnN0IGludCB3aWR0aCA9IG1fY29udGV4dC0+bV9jdXJy
ZW50V2lkdGg7Ci0gICAgICAgIGludCB0b3RhbEJ5dGVzID0gd2lkdGggKiBoZWlnaHQgKiA0Owot
Ci0gICAgICAgIGF1dG8gcGl4ZWxzID0gc3RkOjptYWtlX3VuaXF1ZTx1bnNpZ25lZCBjaGFyW10+
KHRvdGFsQnl0ZXMpOwotICAgICAgICBpZiAoIXBpeGVscykKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICAvLyBPcGVuR0wga2VlcHMgdGhlIHBpeGVscyBzdG9yZWQgYm90dG9tIHVwLCBz
byB3ZSBuZWVkIHRvIGZsaXAgdGhlIGltYWdlIGhlcmUuCi0gICAgICAgIGNvbnRleHQtPnRyYW5z
bGF0ZSgwLCBoZWlnaHQpOwotICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoMSwgLTEp
KTsKLQotICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3Jt
KCkpOwotCi0gICAgICAgIG1fY29udGV4dC0+cmVhZFJlbmRlcmluZ1Jlc3VsdHMocGl4ZWxzLmdl
dCgpLCB0b3RhbEJ5dGVzKTsKLQotICAgICAgICAvLyBQcmVtdWx0aXBseSBhbHBoYS4KLSAgICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0b3RhbEJ5dGVzOyBpICs9IDQpCi0gICAgICAgICAgICBp
ZiAocGl4ZWxzW2kgKyAzXSAhPSAyNTUpIHsKLSAgICAgICAgICAgICAgICBwaXhlbHNbaSArIDBd
ID0gbWluKDI1NSwgcGl4ZWxzW2kgKyAwXSAqIHBpeGVsc1tpICsgM10gLyAyNTUpOwotICAgICAg
ICAgICAgICAgIHBpeGVsc1tpICsgMV0gPSBtaW4oMjU1LCBwaXhlbHNbaSArIDFdICogcGl4ZWxz
W2kgKyAzXSAvIDI1NSk7Ci0gICAgICAgICAgICAgICAgcGl4ZWxzW2kgKyAyXSA9IG1pbigyNTUs
IHBpeGVsc1tpICsgMl0gKiBwaXhlbHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBpbWFnZVN1cmZhY2UgPSBhZG9wdFJlZihj
YWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YSgKLSAgICAgICAgICAgIGNvbnN0X2Nh
c3Q8dW5zaWduZWQgY2hhcio+KHBpeGVscy5nZXQoKSksIENBSVJPX0ZPUk1BVF9BUkdCMzIsIHdp
ZHRoLCBoZWlnaHQsIHdpZHRoICogNCkpOwotCi0gICAgICAgIGNvbnRleHQtPnBsYXRmb3JtQ29u
dGV4dCgpLT5kcmF3U3VyZmFjZVRvQ29udGV4dChpbWFnZVN1cmZhY2UuZ2V0KCksIHRhcmdldFJl
Y3QsIEludFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCksIGNvbnRleHQpOwotCi0gICAgICAgIGNv
bnRleHQtPnJlc3RvcmUoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogI2lmIFVTRShURVhU
VVJFX01BUFBFUl9HTCkKICAgICBpZiAobV9jb250ZXh0LT5tX2F0dHJzLmFudGlhbGlhcyAmJiBt
X2NvbnRleHQtPm1fc3RhdGUuYm91bmRGQk8gPT0gbV9jb250ZXh0LT5tX211bHRpc2FtcGxlRkJP
KSB7CiAgICAgICAgIEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250ZXh0ID0gR0xDb250ZXh0
OjpnZXRDdXJyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNw
cAppbmRleCAyZTdmYzVkZDg2YmY0MmMzZGFjNjAwYTAwNzZhN2M0YTE1ZDQyZTljLi41YTgwNzIw
NWNhNzEwMGVmZjgyMzk0YjU2ZDFlMWY5NDY5ZTg3MTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0xheWVyVGV4dHVyZU1hcHBlci5jcHAKQEAgLTYwMiw4ICs2MDIsNyBAQCB2b2lkIEdyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyOjpyZW1vdmVBbmltYXRpb24oY29uc3QgU3RyaW5nJiBhbmltYXRp
b25OYW1lKQogYm9vbCBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcjo6c2V0RmlsdGVycyhjb25z
dCBGaWx0ZXJPcGVyYXRpb25zJiBmaWx0ZXJzKQogewogICAgIFRleHR1cmVNYXBwZXIqIHRleHR1
cmVNYXBwZXIgPSBtX2xheWVyLnRleHR1cmVNYXBwZXIoKTsKLSAgICAvLyBUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIgZG9lcyBub3Qgc3VwcG9ydCBDU1MgZmlsdGVycy4KLSAgICBpZiAoIXRleHR1
cmVNYXBwZXIgfHwgdGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpID09IFRleHR1cmVN
YXBwZXI6OlNvZnR3YXJlTW9kZSkKKyAgICBpZiAoIXRleHR1cmVNYXBwZXIpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBub3RpZnlDaGFuZ2UoRmlsdGVyQ2hhbmdlKTsKICAgICByZXR1cm4g
R3JhcGhpY3NMYXllcjo6c2V0RmlsdGVycyhmaWx0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAppbmRl
eCAwMzNhNjFlNzdkM2YzNDFlMDMzMmJhY2U4ZmNjNjUyZTBjOGY4NTc1Li41OGU3NDI5ZTJkZjM4
MDY5NmQ3MDRlM2U2ZTIxYmE2Njg5OWE4Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCkBAIC0yMyw3
ICsyMyw2IEBACiAjaW5jbHVkZSAiQml0bWFwVGV4dHVyZVBvb2wuaCIKICNpbmNsdWRlICJGaWx0
ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIlRl
eHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8
d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTM4LDEwICszNyw4IEBAIFBhc3NSZWZQdHI8Qml0bWFw
VGV4dHVyZT4gVGV4dHVyZU1hcHBlcjo6YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRT
aXplJiBzCiAgICAgcmV0dXJuIHNlbGVjdGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyPiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0
aW9uTW9kZSBtb2RlKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBw
ZXI6OmNyZWF0ZShBY2NlbGVyYXRpb25Nb2RlKQogewotICAgIGlmIChtb2RlID09IFNvZnR3YXJl
TW9kZSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyPigpOwogICAgIHJldHVybiBwbGF0Zm9ybUNyZWF0ZUFjY2VsZXJhdGVkKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDY2NjMyNjk5MDkwMmRmZDBmMDg0MTIxMzNmMjY2MDY2NzFkYmFiOTQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBDb3B5cmlnaHQgKEMpIDIwMTIg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVQb29sLmgiCi0jaW5j
bHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0KLSNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25z
dCBpbnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uID0gNDA5NjsKLQotVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIoKQotICAgIDog
VGV4dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90ZXh0dXJlUG9vbCA9IHN0ZDo6
bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0KLUludFNpemUgVGV4dHVyZU1h
cHBlckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIElu
dFNpemUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uLCBzX21heGltdW1BbGxv
d2VkSW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1
ZmZlcjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJy
ZW50Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotI2lmIEVO
QUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXggcHJldmlvdXNUcmFu
c2Zvcm0gPSBjb250ZXh0LT5nZXQzRFRyYW5zZm9ybSgpOwotI2Vsc2UKLSAgICBBZmZpbmVUcmFu
c2Zvcm0gcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRDVE0oKTsKLSNlbmRpZgotICAg
IGNvbnRleHQtPnNhdmUoKTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4
dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0
Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotCi0gICAgY29udGV4dC0+
Y2xpcChyZWN0KTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+c2V0
M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UKLSAgICBjb250ZXh0LT5zZXRD
VE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZvaWQgVGV4dHVyZU1hcHBlcklt
YWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0ZXh0dXJlLCBjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRy
aXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRFZGdlcyAqLykKLXsKLSAgICBH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29u
dGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0bWFwVGV4dHVyZUltYWdlQnVm
ZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxjb25zdCBCaXRtYXBUZXh0dXJl
SW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1hZ2UgPSB0ZXh0dXJl
SW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+
c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9zaXRlRGVzdGluYXRp
b25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRleHQtPnNldEFscGhhKG9wYWNp
dHkpOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+Y29uY2F0M0RUcmFu
c2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0Fm
ZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotICAgIGNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgdGFyZ2V0UmVjdCk7Ci0gICAgY29udGV4dC0+cmVz
dG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1NvbGlkQ29s
b3IoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0
cml4LCBjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
ID0gY3VycmVudENvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICBjb250ZXh0LT5zZXRDb21wb3NpdGVPcGVyYXRp
b24oaXNJbk1hc2tNb2RlKCkgPyBDb21wb3NpdGVEZXN0aW5hdGlvbkluIDogQ29tcG9zaXRlU291
cmNlT3Zlcik7Ci0jaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAgICBjb250ZXh0LT5jb25jYXQz
RFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0LT5jb25jYXRDVE0obWF0cml4
LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBjb250ZXh0LT5maWxsUmVjdChy
ZWN0LCBjb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+cmVzdG9yZSgp
OwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd0JvcmRlcihjb25zdCBD
b2xvciYsIGZsb2F0IC8qIGJvcmRlcldpZHRoICovLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9p
ZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIoaW50IC8qIG51bWJlciAqLywg
Y29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLVBhc3NSZWZQdHI8Qml0bWFwVGV4
dHVyZT4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjphcHBseUZpbHRlcnMoVGV4dHVyZU1hcHBl
ciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiB0aGlzOwotfQotCi19Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQxNzE5M2U5YThi
NzQ4NTE4YTcxN2ViMWE0ZWFkMzkxMmE1OTYyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCww
IEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKLQotIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLQotIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2lmbmRlZiBUZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXJfaAotI2RlZmluZSBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJf
aAotCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiSW1h
Z2VCdWZmZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0KLSNpZiBVU0UoVEVYVFVS
RV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlciA6IHB1YmxpYyBUZXh0dXJlTWFwcGVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLXB1YmxpYzoKLSAgICBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIoKTsKLQotICAgIC8v
IFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRl
cihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9hdFJlY3QmLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3
TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgdW5zaWduZWQgZXhw
b3NlZEVkZ2VzKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29sb3IoY29u
c3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBDb2xvciYp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
YmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgb3ZlcnJpZGUgeyBtX2N1cnJlbnRT
dXJmYWNlID0gc3VyZmFjZTt9Ci0gICAgdmlydHVhbCB2b2lkIGVuZENsaXAoKSBvdmVycmlkZSB7
IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KLSAgICB2aXJ0dWFsIEludFJlY3QgY2xp
cEJvdW5kcygpIG92ZXJyaWRlIHsgcmV0dXJuIGN1cnJlbnRDb250ZXh0KCktPmNsaXBCb3VuZHMo
KTsgfQotICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJlKCkgb3ZlcnJpZGUg
eyByZXR1cm4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjpjcmVhdGUoKTsgfQotCi0gICAgaW5s
aW5lIEdyYXBoaWNzQ29udGV4dCogY3VycmVudENvbnRleHQoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fY3VycmVudFN1cmZhY2UgPyBzdGF0aWNfY2FzdDxCaXRtYXBUZXh0dXJlSW1hZ2VCdWZm
ZXIqPihtX2N1cnJlbnRTdXJmYWNlLmdldCgpKS0+Z3JhcGhpY3NDb250ZXh0KCkgOiBncmFwaGlj
c0NvbnRleHQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+
IG1fY3VycmVudFN1cmZhY2U7Ci19OwotCi19Ci0jZW5kaWYgLy8gVVNFKFRFWFRVUkVfTUFQUEVS
KQotCi0jZW5kaWYgLy8gVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3Np
dGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAxYTFjMjY3
ZjRjNzE5MzRjNjI3MGY1OGU3YTEwOWQ5M2U2NjY5YTc5Li4zNjk0NTIxNDA3MzU0ZThmZmYwMDM5
ZTdkZDYyZDMzYzJkYTA2MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC02NSwxMCArNjUsNiBAQCBDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2UqIHBhZ2UsIENvbXBvc2l0aW5n
Q29vcmRpbmF0bwogI2VuZGlmCiB7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldEFwcGx5RGV2
aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IodHJ1ZSk7Ci0KLSAgICAvLyBUaGlzIGlzIGEgdGVt
cG9yYXJ5IHdheSB0byBlbmFibGUgdGhpcyBvbmx5IGluIHRoZSBHTCBjYXNlLCB1bnRpbCBUZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIgaXMgcmVtb3ZlZC4KLSAgICAvLyBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg2OQotICAgIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nKHRydWUpOwogfQogCiB2b2lk
IENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKEdyYXBoaWNz
TGF5ZXIqIGNvbXBvc2l0aW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIG92ZXJsYXlMYXllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHAKaW5kZXggYmFjMjA3Yzg0N2VlNTNlODk5YzMzMjI1ZjlmMzM3OGQ4OGI2MWExNS4uNzk5ZTJj
NzY3ZTIxNjc0NmJjM2Y1MWYwNDM2MDMyY2ZiN2MxZjg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTM2NiwxNiAr
MzY2LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzVGlsZVBo
YXNlKGNvbnN0IEZsb2F0U2l6ZSYgcCkKICAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CiB9CiAK
LXN0YXRpYyBib29sIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nID0gZmFsc2U7Ci0KLXZv
aWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRTaG91bGRTdXBwb3J0Q29udGVudHNUaWxp
bmcoYm9vbCBzKQotewotICAgIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nID0gczsKLX0K
LQogYm9vbCBHcmFwaGljc0xheWVyOjpzdXBwb3J0c0NvbnRlbnRzVGlsaW5nKCkKIHsKLSAgICBy
ZXR1cm4gc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmc7CisgICAgcmV0dXJuIHRydWU7CiB9
CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRDb250ZW50c05lZWRzRGlzcGxh
eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyLmgKaW5kZXggYTIxNmFkNWE5MzNhY2JiNTA1NmYyNDY2YTcwMjFjY2IwOTg1YTA5ZS4uMTA5
MWVkMzU1YTM3MmRkMjIxNmEzMjI3MDEzZjQ2OGQ2YTEyZTNhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMTQ3LDcgKzE0
Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5lZWRzVmlzaWJsZVJlY3RBZGp1c3RtZW50KCk7
CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAotICAgIHN0YXRpYyB2b2lkIHNldFNo
b3VsZFN1cHBvcnRDb250ZW50c1RpbGluZyhib29sKTsKICAgICBDb29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIqIGZpbmRGaXJzdERlc2NlbmRhbnRXaXRoQ29udGVudHNSZWN1cnNpdmVseSgpOwogCiBw
cml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250433</attachid>
            <date>2015-04-09 03:33:01 -0700</date>
            <delta_ts>2015-04-09 03:43:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150409033209.patch</filename>
            <type>text/plain</type>
            <size>22008</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwMmQ4ZWRjNmE0Mzk0
ZTkzMTVkYjRjYzI5OThlNWQxNjQzZjQ2Ny4uY2FlNjQ3Yzk4NWY1NzcxNDU1ZjRlOTI4MGI4MzBl
ZWFiN2YxN2RjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA0LTA5ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaDogUmVtb3ZlZC4KKwogMjAxNS0wNC0wOSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2
aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRlZCBDU1MgR3JpZCBM
YXlvdXQgdG8gZmVhdHVyZXMuanNvbiBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMWUx
YTY3Y2NiMGUxZWU3ZjRlMWI5Mjc0NjRjZmQwMmM3N2I4NjNmLi43OTI5NDAzYzNmMTBjMmI2NzQz
YzJlMmYyYTFjNGI0YzkwZDA0ZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjE3NCw3ICsy
MTc0LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKaW5kZXggMjEwNTcyOGVjYTk4NDA5MWM1MGViMDJjZTlkZjQ5MTRlNTRmMzcwZS4uOTQ1Nzlh
Y2M4MmNkOTkyNTU1N2Q5MjQzMjQ4ZWQzZWEyMDRmMzNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsu
Y21ha2UKQEAgLTM4Nyw3ICszODcsNiBAQCBpZiAoRU5BQkxFX1RFWFRVUkVfTUFQUEVSKQogICAg
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCiAgICAg
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5j
cHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAK
LSAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
ci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFk
ZXJQcm9ncmFtLmNwcAogICAgICkKIGVuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcApp
bmRleCA1NDhiMGIwY2IyNjNiMjA4ZGViMzVkOWViNGQxOWY1MTJhMTQ0NjQ2Li4wM2M2NjBhZjRl
NGMxNmY5NzQ2Y2JmZjcwMmExNGNlNTE4ZjdhMTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5j
cHAKQEAgLTg5LDQ1ICs4OSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpwYWlu
dFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyCiAKICAgICBtX2Nv
bnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKIAotICAgIC8vIEZJWE1FOiBXZSBkbyBub3Qg
c3VwcG9ydCBtYXNrIGZvciB0aGUgbW9tZW50IHdpdGggVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LgotICAgIGlmICh0ZXh0dXJlTWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1h
cHBlcjo6T3BlbkdMTW9kZSkgewotICAgICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSB0
ZXh0dXJlTWFwcGVyLT5ncmFwaGljc0NvbnRleHQoKTsKLSAgICAgICAgY29udGV4dC0+c2F2ZSgp
OwotICAgICAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0R2xvYmFsQWxwaGEob3Bh
Y2l0eSk7Ci0KLSAgICAgICAgY29uc3QgaW50IGhlaWdodCA9IG1fY29udGV4dC0+bV9jdXJyZW50
SGVpZ2h0OwotICAgICAgICBjb25zdCBpbnQgd2lkdGggPSBtX2NvbnRleHQtPm1fY3VycmVudFdp
ZHRoOwotICAgICAgICBpbnQgdG90YWxCeXRlcyA9IHdpZHRoICogaGVpZ2h0ICogNDsKLQotICAg
ICAgICBhdXRvIHBpeGVscyA9IHN0ZDo6bWFrZV91bmlxdWU8dW5zaWduZWQgY2hhcltdPih0b3Rh
bEJ5dGVzKTsKLSAgICAgICAgaWYgKCFwaXhlbHMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgLy8gT3BlbkdMIGtlZXBzIHRoZSBwaXhlbHMgc3RvcmVkIGJvdHRvbSB1cCwgc28gd2Ug
bmVlZCB0byBmbGlwIHRoZSBpbWFnZSBoZXJlLgotICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUo
MCwgaGVpZ2h0KTsKLSAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKDEsIC0xKSk7Ci0K
LSAgICAgICAgY29udGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsK
LQotICAgICAgICBtX2NvbnRleHQtPnJlYWRSZW5kZXJpbmdSZXN1bHRzKHBpeGVscy5nZXQoKSwg
dG90YWxCeXRlcyk7Ci0KLSAgICAgICAgLy8gUHJlbXVsdGlwbHkgYWxwaGEuCi0gICAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgdG90YWxCeXRlczsgaSArPSA0KQotICAgICAgICAgICAgaWYgKHBp
eGVsc1tpICsgM10gIT0gMjU1KSB7Ci0gICAgICAgICAgICAgICAgcGl4ZWxzW2kgKyAwXSA9IG1p
bigyNTUsIHBpeGVsc1tpICsgMF0gKiBwaXhlbHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAg
ICAgICBwaXhlbHNbaSArIDFdID0gbWluKDI1NSwgcGl4ZWxzW2kgKyAxXSAqIHBpeGVsc1tpICsg
M10gLyAyNTUpOwotICAgICAgICAgICAgICAgIHBpeGVsc1tpICsgMl0gPSBtaW4oMjU1LCBwaXhl
bHNbaSArIDJdICogcGl4ZWxzW2kgKyAzXSAvIDI1NSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gaW1hZ2VTdXJmYWNlID0gYWRvcHRSZWYoY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoCi0gICAgICAgICAgICBjb25zdF9jYXN0PHVu
c2lnbmVkIGNoYXIqPihwaXhlbHMuZ2V0KCkpLCBDQUlST19GT1JNQVRfQVJHQjMyLCB3aWR0aCwg
aGVpZ2h0LCB3aWR0aCAqIDQpKTsKLQotICAgICAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQo
KS0+ZHJhd1N1cmZhY2VUb0NvbnRleHQoaW1hZ2VTdXJmYWNlLmdldCgpLCB0YXJnZXRSZWN0LCBJ
bnRSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpLCBjb250ZXh0KTsKLQotICAgICAgICBjb250ZXh0
LT5yZXN0b3JlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICNpZiBVU0UoVEVYVFVSRV9N
QVBQRVJfR0wpCiAgICAgaWYgKG1fY29udGV4dC0+bV9hdHRycy5hbnRpYWxpYXMgJiYgbV9jb250
ZXh0LT5tX3N0YXRlLmJvdW5kRkJPID09IG1fY29udGV4dC0+bV9tdWx0aXNhbXBsZUZCTykgewog
ICAgICAgICBHTENvbnRleHQqIHByZXZpb3VzQWN0aXZlQ29udGV4dCA9IEdMQ29udGV4dDo6Z2V0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAppbmRleCA4YWU5MmJmOTRjOGRkNjBkMGI1
MWExMTQ1NDk5ZWJlYmE4MWZjNWUwLi40ODliNjUxYzMzNzcyNmU2MzgwZTkwYzkxYTRiMWVjZDY2
Nzk3N2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9JbWFnZUJ1ZmZlckNhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApAQCAtMzk2LDExICszOTYsNiBAQCBTdHJp
bmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBk
b3VibGUqLCBDb29yZGluYXRlUwogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiB2
b2lkIEltYWdlQnVmZmVyRGF0YTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciog
dGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5KQogewotICAgIGlmICh0ZXh0dXJl
TWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSkg
ewotICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAg
ICAgQVNTRVJUKG1fdGV4dHVyZSk7CiAKICAgICAvLyBDYWlybyBtYXkgY2hhbmdlIHRoZSBhY3Rp
dmUgY29udGV4dCwgc28gd2UgbWFrZSBzdXJlIHRvIGNoYW5nZSBpdCBiYWNrIGFmdGVyIGZsdXNo
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCmluZGV4IDQ5OTU1Mzk0YjI5NWEzMzYxZTUwYmNiYTNmOTNjOTNjMTZmMjlkMDguLmVh
ZDcwODI1OGYxMGJkMWRiYjJmOGZjNDE1M2M1MzZiNzY2NDRlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTUyNSw5ICs1
MjUsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYQogI2lmIFVTRShURVhUVVJFX01BUFBFUl9H
TCkgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVy
ZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5KQogewotICAgIGlmICh0ZXh0dXJlTWFwcGVy
LT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSkKLSAgICAg
ICAgcmV0dXJuOwotCiAgICAgaWYgKCFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1
cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmluZGV4IDJl
N2ZjNWRkODZiZjQyYzNkYWM2MDBhMDA3NmE3YzRhMTVkNDJlOWMuLjVhODA3MjA1Y2E3MTAwZWZm
ODIzOTRiNTZkMWUxZjk0NjllODcxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0
dXJlTWFwcGVyLmNwcApAQCAtNjAyLDggKzYwMiw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXI6OnJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiBi
b29sIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMpCiB7CiAgICAgVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciA9
IG1fbGF5ZXIudGV4dHVyZU1hcHBlcigpOwotICAgIC8vIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
ciBkb2VzIG5vdCBzdXBwb3J0IENTUyBmaWx0ZXJzLgotICAgIGlmICghdGV4dHVyZU1hcHBlciB8
fCB0ZXh0dXJlTWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgPT0gVGV4dHVyZU1hcHBlcjo6U29m
dHdhcmVNb2RlKQorICAgIGlmICghdGV4dHVyZU1hcHBlcikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIG5vdGlmeUNoYW5nZShGaWx0ZXJDaGFuZ2UpOwogICAgIHJldHVybiBHcmFwaGljc0xh
eWVyOjpzZXRGaWx0ZXJzKGZpbHRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCmluZGV4IDAzM2E2MWU3
N2QzZjM0MWUwMzMyYmFjZThmY2M2NTJlMGM4Zjg1NzUuLjRjZTc4NTkxMWEzY2I1ODRlOWNkODFk
ZGVmOGZmNTg2YTU4MDMyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKQEAgLTIzLDcgKzIzLDYgQEAK
ICNpbmNsdWRlICJCaXRtYXBUZXh0dXJlUG9vbC5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlv
bnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KIApAQCAtMzgsMTggKzM3LDE1IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4g
VGV4dHVyZU1hcHBlcjo6YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRTaXplJiBzCiAg
ICAgcmV0dXJuIHNlbGVjdGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxUZXh0dXJlTWFwcGVyPiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBt
b2RlKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBwZXI6OmNyZWF0
ZSgpCiB7Ci0gICAgaWYgKG1vZGUgPT0gU29mdHdhcmVNb2RlKQotICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI+KCk7CiAgICAgcmV0dXJuIHBs
YXRmb3JtQ3JlYXRlQWNjZWxlcmF0ZWQoKTsKIH0KIAotVGV4dHVyZU1hcHBlcjo6VGV4dHVyZU1h
cHBlcihBY2NlbGVyYXRpb25Nb2RlIGFjY2VsZXJhdGlvbk1vZGUpCitUZXh0dXJlTWFwcGVyOjpU
ZXh0dXJlTWFwcGVyKCkKICAgICA6IG1fY29udGV4dCgwKQogICAgICwgbV9pbnRlcnBvbGF0aW9u
UXVhbGl0eShJbnRlcnBvbGF0aW9uRGVmYXVsdCkKICAgICAsIG1fdGV4dERyYXdpbmdNb2RlKFRl
eHRNb2RlRmlsbCkKLSAgICAsIG1fYWNjZWxlcmF0aW9uTW9kZShhY2NlbGVyYXRpb25Nb2RlKQog
ICAgICwgbV9pc01hc2tNb2RlKGZhbHNlKQogICAgICwgbV93cmFwTW9kZShTdHJldGNoV3JhcCkK
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyLmgKaW5kZXggOTdlMjNlNTc3MDY1YjVjMjJlZGExODMyNzI0NjhkNzZk
ZWY0ZTJhZS4uNjVjOTg3MjI4ZDhhOTk4YzI0YzE4M2Q3Yjk3NjQ2MTc0MDkzMzIxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlci5oCkBAIC00Nyw3ICs0Nyw2IEBAIGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7CiBjbGFz
cyBUZXh0dXJlTWFwcGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
LSAgICBlbnVtIEFjY2VsZXJhdGlvbk1vZGUgeyBTb2Z0d2FyZU1vZGUsIE9wZW5HTE1vZGUgfTsK
ICAgICBlbnVtIFBhaW50RmxhZyB7CiAgICAgICAgIFBhaW50aW5nTWlycm9yZWQgPSAxIDw8IDAs
CiAgICAgfTsKQEAgLTU5LDkgKzU4LDkgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiB1bnNpZ25l
ZCBQYWludEZsYWdzOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVy
PiBjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBuZXdNb2RlID0gU29mdHdhcmVNb2RlKTsKKyAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IGNyZWF0ZSgpOwogCi0gICAgZXhw
bGljaXQgVGV4dHVyZU1hcHBlcihBY2NlbGVyYXRpb25Nb2RlKTsKKyAgICBleHBsaWNpdCBUZXh0
dXJlTWFwcGVyKCk7CiAgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlcigpOwogCiAgICAgZW51bSBF
eHBvc2VkRWRnZXMgewpAQCAtOTMsNyArOTIsNiBAQCBwdWJsaWM6CiAKICAgICBJbnRlcnBvbGF0
aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QgeyByZXR1cm4gbV9p
bnRlcnBvbGF0aW9uUXVhbGl0eTsgfQogICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3
aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dERyYXdpbmdNb2RlOyB9Ci0gICAgQWNjZWxl
cmF0aW9uTW9kZSBhY2NlbGVyYXRpb25Nb2RlKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRp
b25Nb2RlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QYWludGluZyhQYWludEZsYWdzID0g
MCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVuZFBhaW50aW5nKCkgeyB9CkBAIC0xMjYsNyArMTI0
LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIEludGVycG9sYXRpb25RdWFsaXR5IG1faW50ZXJw
b2xhdGlvblF1YWxpdHk7CiAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgbV90ZXh0RHJhd2luZ01v
ZGU7Ci0gICAgQWNjZWxlcmF0aW9uTW9kZSBtX2FjY2VsZXJhdGlvbk1vZGU7CiAgICAgYm9vbCBt
X2lzTWFza01vZGU7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9wYXR0ZXJuVHJhbnNmb3Jt
OwogICAgIFdyYXBNb2RlIG1fd3JhcE1vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDYw
Zjk5NDgwZGUxNDgxNzEyMTY3NzYyYzQ3NzFmZTY5NDQ1OWU3OGUuLjBiY2U4Yzc0MjBkN2QwYTQ0
YjMwOWUyNmY1NjZhOTIxOTNlNDg2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0yNDEs
OCArMjQxLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0xEYXRhOjppbml0aWFsaXplU3RlbmNpbCgp
CiB9CiAKIFRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkKLSAgICA6IFRleHR1cmVN
YXBwZXIoT3BlbkdMTW9kZSkKLSAgICAsIG1fZW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5n
KGZhbHNlKQorICAgIDogbV9lbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcoZmFsc2UpCiB7
CiAgICAgbV9jb250ZXh0M0QgPSBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlRm9yQ3VycmVudEdM
Q29udGV4dCgpOwogICAgIG1fZGF0YSA9IG5ldyBUZXh0dXJlTWFwcGVyR0xEYXRhKG1fY29udGV4
dDNELmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2NjMyNjk5MDkwMmRmZDBmMDg0MTIxMzNmMjY2MDY2
NzFkYmFiOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBDb3B5cmln
aHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
Ci0KLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K
LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVQ
b29sLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCi0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXN0YXRpYyBjb25zdCBpbnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uID0g
NDA5NjsKLQotVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIoKQotICAgIDogVGV4dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90ZXh0dXJl
UG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0KLUludFNp
emUgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIEludFNpemUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uLCBz
X21heGltdW1BbGxvd2VkSW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRleHR1cmVN
YXBwZXJJbWFnZUJ1ZmZlcjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
YXRyaXgsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0
dXJuOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
cHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXQzRFRyYW5zZm9ybSgpOwotI2Vsc2UKLSAg
ICBBZmZpbmVUcmFuc2Zvcm0gcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRDVE0oKTsK
LSNlbmRpZgotICAgIGNvbnRleHQtPnNhdmUoKTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcp
Ci0gICAgY29udGV4dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29u
dGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotCi0g
ICAgY29udGV4dC0+Y2xpcChyZWN0KTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAg
Y29udGV4dC0+c2V0M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UKLSAgICBj
b250ZXh0LT5zZXRDVE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZvaWQgVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0
ZXh0dXJlLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRFZGdlcyAq
LykKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwot
ICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0bWFwVGV4
dHVyZUltYWdlQnVmZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxjb25zdCBC
aXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1h
Z2UgPSB0ZXh0dXJlSW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0g
ICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9z
aXRlRGVzdGluYXRpb25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRleHQtPnNl
dEFscGhhKG9wYWNpdHkpOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+
Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0Q1RN
KG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotICAgIGNvbnRleHQtPmRyYXdJ
bWFnZUJ1ZmZlcihpbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgdGFyZ2V0UmVjdCk7Ci0gICAg
Y29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6
ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0ID0gY3VycmVudENvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICBjb250ZXh0LT5zZXRDb21w
b3NpdGVPcGVyYXRpb24oaXNJbk1hc2tNb2RlKCkgPyBDb21wb3NpdGVEZXN0aW5hdGlvbkluIDog
Q29tcG9zaXRlU291cmNlT3Zlcik7Ci0jaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAgICBjb250
ZXh0LT5jb25jYXQzRFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0LT5jb25j
YXRDVE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBjb250ZXh0
LT5maWxsUmVjdChyZWN0LCBjb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4
dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd0Jv
cmRlcihjb25zdCBDb2xvciYsIGZsb2F0IC8qIGJvcmRlcldpZHRoICovLCBjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLX0KLQotdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIoaW50IC8q
IG51bWJlciAqLywgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLVBhc3NSZWZQ
dHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjphcHBseUZpbHRlcnMo
VGV4dHVyZU1hcHBlciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKQotewotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiB0aGlzOwotfQotCi19Ci0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZGQxNzE5M2U5YThiNzQ4NTE4YTcxN2ViMWE0ZWFkMzkxMmE1OTYyYi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1OSArMCwwIEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLQotIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I2lmbmRlZiBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJfaAotI2RlZmluZSBUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXJfaAotCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgiCi0j
aW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0KLSNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlciA6IHB1YmxpYyBUZXh0dXJlTWFwcGVyIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIo
KTsKLQotICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0dWFsIHZv
aWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9h
dFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIG92ZXJyaWRlOwotICAgIHZpcnR1
YWwgdm9pZCBkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQ
b2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwg
dW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd1Nv
bGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBj
b25zdCBDb2xvciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgb3ZlcnJpZGUg
eyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9Ci0gICAgdmlydHVhbCB2b2lkIGVuZENsaXAo
KSBvdmVycmlkZSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KLSAgICB2aXJ0dWFs
IEludFJlY3QgY2xpcEJvdW5kcygpIG92ZXJyaWRlIHsgcmV0dXJuIGN1cnJlbnRDb250ZXh0KCkt
PmNsaXBCb3VuZHMoKTsgfQotICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNv
bnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJl
KCkgb3ZlcnJpZGUgeyByZXR1cm4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjpjcmVhdGUoKTsg
fQotCi0gICAgaW5saW5lIEdyYXBoaWNzQ29udGV4dCogY3VycmVudENvbnRleHQoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1fY3VycmVudFN1cmZhY2UgPyBzdGF0aWNfY2FzdDxCaXRtYXBUZXh0
dXJlSW1hZ2VCdWZmZXIqPihtX2N1cnJlbnRTdXJmYWNlLmdldCgpKS0+Z3JhcGhpY3NDb250ZXh0
KCkgOiBncmFwaGljc0NvbnRleHQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEJp
dG1hcFRleHR1cmU+IG1fY3VycmVudFN1cmZhY2U7Ci19OwotCi19Ci0jZW5kaWYgLy8gVVNFKFRF
WFRVUkVfTUFQUEVSKQotCi0jZW5kaWYgLy8gVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApp
bmRleCAxYTFjMjY3ZjRjNzE5MzRjNjI3MGY1OGU3YTEwOWQ5M2U2NjY5YTc5Li4zNjk0NTIxNDA3
MzU0ZThmZmYwMDM5ZTdkZDYyZDMzYzJkYTA2MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC02NSwxMCArNjUsNiBAQCBD
b21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2UqIHBhZ2Us
IENvbXBvc2l0aW5nQ29vcmRpbmF0bwogI2VuZGlmCiB7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygp
LnNldEFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IodHJ1ZSk7Ci0KLSAgICAvLyBU
aGlzIGlzIGEgdGVtcG9yYXJ5IHdheSB0byBlbmFibGUgdGhpcyBvbmx5IGluIHRoZSBHTCBjYXNl
LCB1bnRpbCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIgaXMgcmVtb3ZlZC4KLSAgICAvLyBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg2OQotICAgIENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nKHRydWUp
OwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xh
eWVyKEdyYXBoaWNzTGF5ZXIqIGNvbXBvc2l0aW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIG92ZXJs
YXlMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKaW5kZXggYmFjMjA3Yzg0N2VlNTNlODk5YzMzMjI1ZjlmMzM3OGQ4OGI2
MWExNS4uNzk5ZTJjNzY3ZTIxNjc0NmJjM2Y1MWYwNDM2MDMyY2ZiN2MxZjg5YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAK
QEAgLTM2NiwxNiArMzY2LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldENv
bnRlbnRzVGlsZVBoYXNlKGNvbnN0IEZsb2F0U2l6ZSYgcCkKICAgICBkaWRDaGFuZ2VMYXllclN0
YXRlKCk7CiB9CiAKLXN0YXRpYyBib29sIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nID0g
ZmFsc2U7Ci0KLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRTaG91bGRTdXBwb3J0
Q29udGVudHNUaWxpbmcoYm9vbCBzKQotewotICAgIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGls
aW5nID0gczsKLX0KLQogYm9vbCBHcmFwaGljc0xheWVyOjpzdXBwb3J0c0NvbnRlbnRzVGlsaW5n
KCkKIHsKLSAgICByZXR1cm4gc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmc7CisgICAgcmV0
dXJuIHRydWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRDb250ZW50
c05lZWRzRGlzcGxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggYTIxNmFkNWE5MzNhY2JiNTA1NmYyNDY2YTcwMjFjY2Iw
OTg1YTA5ZS4uMTA5MWVkMzU1YTM3MmRkMjIxNmEzMjI3MDEzZjQ2OGQ2YTEyZTNhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApA
QCAtMTQ3LDcgKzE0Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5lZWRzVmlzaWJsZVJlY3RB
ZGp1c3RtZW50KCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAotICAgIHN0YXRp
YyB2b2lkIHNldFNob3VsZFN1cHBvcnRDb250ZW50c1RpbGluZyhib29sKTsKICAgICBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIqIGZpbmRGaXJzdERlc2NlbmRhbnRXaXRoQ29udGVudHNSZWN1cnNp
dmVseSgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5jcHAKaW5kZXggZTY3OTMyZjY0MmJmYzUzNjQwNDFhNDFmYzY5MWI0Mjg4YjQxYmM3Ni4uYWVi
MTIyMzhlNzY0MzNlM2Y0NGNiZGI0MjMxOGRlNmIxNmQxMzcyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC03Miw3ICs3Miw3IEBAIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCiB2b2lkIENvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgRmxvYXRSZWN0JiBjbGlw
UmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0JhY2tncm91bmQs
IGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVyZU1hcHBlcjo6UGFpbnRG
bGFncyBQYWludEZsYWdzKQogewogICAgIGlmICghbV90ZXh0dXJlTWFwcGVyKSB7Ci0gICAgICAg
IG1fdGV4dHVyZU1hcHBlciA9IFRleHR1cmVNYXBwZXI6OmNyZWF0ZShUZXh0dXJlTWFwcGVyOjpP
cGVuR0xNb2RlKTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlcjo6Y3Jl
YXRlKCk7CiAgICAgICAgIHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KG1fdGV4dHVyZU1h
cHBlci5nZXQoKSktPnNldEVuYWJsZUVkZ2VEaXN0YW5jZUFudGlhbGlhc2luZyh0cnVlKTsKICAg
ICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250435</attachid>
            <date>2015-04-09 03:43:47 -0700</date>
            <delta_ts>2015-04-09 05:23:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150409034255.patch</filename>
            <type>text/plain</type>
            <size>22849</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWYwMmQ4ZWRjNmE0Mzk0
ZTkzMTVkYjRjYzI5OThlNWQxNjQzZjQ2Ny4uY2FlNjQ3Yzk4NWY1NzcxNDU1ZjRlOTI4MGI4MzBl
ZWFiN2YxN2RjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA0LTA5ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaDogUmVtb3ZlZC4KKwogMjAxNS0wNC0wOSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2
aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRlZCBDU1MgR3JpZCBM
YXlvdXQgdG8gZmVhdHVyZXMuanNvbiBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMWUx
YTY3Y2NiMGUxZWU3ZjRlMWI5Mjc0NjRjZmQwMmM3N2I4NjNmLi43OTI5NDAzYzNmMTBjMmI2NzQz
YzJlMmYyYTFjNGI0YzkwZDA0ZDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjE3NCw3ICsy
MTc0LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQW5pbWF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKaW5kZXggMjEwNTcyOGVjYTk4NDA5MWM1MGViMDJjZTlkZjQ5MTRlNTRmMzcwZS4uOTQ1Nzlh
Y2M4MmNkOTkyNTU1N2Q5MjQzMjQ4ZWQzZWEyMDRmMzNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsu
Y21ha2UKQEAgLTM4Nyw3ICszODcsNiBAQCBpZiAoRU5BQkxFX1RFWFRVUkVfTUFQUEVSKQogICAg
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCiAgICAg
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5j
cHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAK
LSAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
ci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFk
ZXJQcm9ncmFtLmNwcAogICAgICkKIGVuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcApp
bmRleCA1NDhiMGIwY2IyNjNiMjA4ZGViMzVkOWViNGQxOWY1MTJhMTQ0NjQ2Li4wM2M2NjBhZjRl
NGMxNmY5NzQ2Y2JmZjcwMmExNGNlNTE4ZjdhMTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5j
cHAKQEAgLTg5LDQ1ICs4OSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpwYWlu
dFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyCiAKICAgICBtX2Nv
bnRleHQtPm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKIAotICAgIC8vIEZJWE1FOiBXZSBkbyBub3Qg
c3VwcG9ydCBtYXNrIGZvciB0aGUgbW9tZW50IHdpdGggVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LgotICAgIGlmICh0ZXh0dXJlTWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1h
cHBlcjo6T3BlbkdMTW9kZSkgewotICAgICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSB0
ZXh0dXJlTWFwcGVyLT5ncmFwaGljc0NvbnRleHQoKTsKLSAgICAgICAgY29udGV4dC0+c2F2ZSgp
OwotICAgICAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0R2xvYmFsQWxwaGEob3Bh
Y2l0eSk7Ci0KLSAgICAgICAgY29uc3QgaW50IGhlaWdodCA9IG1fY29udGV4dC0+bV9jdXJyZW50
SGVpZ2h0OwotICAgICAgICBjb25zdCBpbnQgd2lkdGggPSBtX2NvbnRleHQtPm1fY3VycmVudFdp
ZHRoOwotICAgICAgICBpbnQgdG90YWxCeXRlcyA9IHdpZHRoICogaGVpZ2h0ICogNDsKLQotICAg
ICAgICBhdXRvIHBpeGVscyA9IHN0ZDo6bWFrZV91bmlxdWU8dW5zaWduZWQgY2hhcltdPih0b3Rh
bEJ5dGVzKTsKLSAgICAgICAgaWYgKCFwaXhlbHMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgLy8gT3BlbkdMIGtlZXBzIHRoZSBwaXhlbHMgc3RvcmVkIGJvdHRvbSB1cCwgc28gd2Ug
bmVlZCB0byBmbGlwIHRoZSBpbWFnZSBoZXJlLgotICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUo
MCwgaGVpZ2h0KTsKLSAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKDEsIC0xKSk7Ci0K
LSAgICAgICAgY29udGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsK
LQotICAgICAgICBtX2NvbnRleHQtPnJlYWRSZW5kZXJpbmdSZXN1bHRzKHBpeGVscy5nZXQoKSwg
dG90YWxCeXRlcyk7Ci0KLSAgICAgICAgLy8gUHJlbXVsdGlwbHkgYWxwaGEuCi0gICAgICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgdG90YWxCeXRlczsgaSArPSA0KQotICAgICAgICAgICAgaWYgKHBp
eGVsc1tpICsgM10gIT0gMjU1KSB7Ci0gICAgICAgICAgICAgICAgcGl4ZWxzW2kgKyAwXSA9IG1p
bigyNTUsIHBpeGVsc1tpICsgMF0gKiBwaXhlbHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAg
ICAgICBwaXhlbHNbaSArIDFdID0gbWluKDI1NSwgcGl4ZWxzW2kgKyAxXSAqIHBpeGVsc1tpICsg
M10gLyAyNTUpOwotICAgICAgICAgICAgICAgIHBpeGVsc1tpICsgMl0gPSBtaW4oMjU1LCBwaXhl
bHNbaSArIDJdICogcGl4ZWxzW2kgKyAzXSAvIDI1NSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gaW1hZ2VTdXJmYWNlID0gYWRvcHRSZWYoY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoCi0gICAgICAgICAgICBjb25zdF9jYXN0PHVu
c2lnbmVkIGNoYXIqPihwaXhlbHMuZ2V0KCkpLCBDQUlST19GT1JNQVRfQVJHQjMyLCB3aWR0aCwg
aGVpZ2h0LCB3aWR0aCAqIDQpKTsKLQotICAgICAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQo
KS0+ZHJhd1N1cmZhY2VUb0NvbnRleHQoaW1hZ2VTdXJmYWNlLmdldCgpLCB0YXJnZXRSZWN0LCBJ
bnRSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpLCBjb250ZXh0KTsKLQotICAgICAgICBjb250ZXh0
LT5yZXN0b3JlKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICNpZiBVU0UoVEVYVFVSRV9N
QVBQRVJfR0wpCiAgICAgaWYgKG1fY29udGV4dC0+bV9hdHRycy5hbnRpYWxpYXMgJiYgbV9jb250
ZXh0LT5tX3N0YXRlLmJvdW5kRkJPID09IG1fY29udGV4dC0+bV9tdWx0aXNhbXBsZUZCTykgewog
ICAgICAgICBHTENvbnRleHQqIHByZXZpb3VzQWN0aXZlQ29udGV4dCA9IEdMQ29udGV4dDo6Z2V0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcAppbmRleCA4YWU5MmJmOTRjOGRkNjBkMGI1
MWExMTQ1NDk5ZWJlYmE4MWZjNWUwLi40ODliNjUxYzMzNzcyNmU2MzgwZTkwYzkxYTRiMWVjZDY2
Nzk3N2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9JbWFnZUJ1ZmZlckNhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcApAQCAtMzk2LDExICszOTYsNiBAQCBTdHJp
bmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBk
b3VibGUqLCBDb29yZGluYXRlUwogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiB2
b2lkIEltYWdlQnVmZmVyRGF0YTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciog
dGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5KQogewotICAgIGlmICh0ZXh0dXJl
TWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSkg
ewotICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAg
ICAgQVNTRVJUKG1fdGV4dHVyZSk7CiAKICAgICAvLyBDYWlybyBtYXkgY2hhbmdlIHRoZSBhY3Rp
dmUgY29udGV4dCwgc28gd2UgbWFrZSBzdXJlIHRvIGNoYW5nZSBpdCBiYWNrIGFmdGVyIGZsdXNo
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCmluZGV4IDQ5OTU1Mzk0YjI5NWEzMzYxZTUwYmNiYTNmOTNjOTNjMTZmMjlkMDguLmVh
ZDcwODI1OGYxMGJkMWRiYjJmOGZjNDE1M2M1MzZiNzY2NDRlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTUyNSw5ICs1
MjUsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYQogI2lmIFVTRShURVhUVVJFX01BUFBFUl9H
TCkgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVy
ZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5KQogewotICAgIGlmICh0ZXh0dXJlTWFwcGVy
LT5hY2NlbGVyYXRpb25Nb2RlKCkgIT0gVGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSkKLSAgICAg
ICAgcmV0dXJuOwotCiAgICAgaWYgKCFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1
cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmluZGV4IDJl
N2ZjNWRkODZiZjQyYzNkYWM2MDBhMDA3NmE3YzRhMTVkNDJlOWMuLjVhODA3MjA1Y2E3MTAwZWZm
ODIzOTRiNTZkMWUxZjk0NjllODcxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0
dXJlTWFwcGVyLmNwcApAQCAtNjAyLDggKzYwMiw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXI6OnJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiBi
b29sIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIGZpbHRlcnMpCiB7CiAgICAgVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciA9
IG1fbGF5ZXIudGV4dHVyZU1hcHBlcigpOwotICAgIC8vIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
ciBkb2VzIG5vdCBzdXBwb3J0IENTUyBmaWx0ZXJzLgotICAgIGlmICghdGV4dHVyZU1hcHBlciB8
fCB0ZXh0dXJlTWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgPT0gVGV4dHVyZU1hcHBlcjo6U29m
dHdhcmVNb2RlKQorICAgIGlmICghdGV4dHVyZU1hcHBlcikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIG5vdGlmeUNoYW5nZShGaWx0ZXJDaGFuZ2UpOwogICAgIHJldHVybiBHcmFwaGljc0xh
eWVyOjpzZXRGaWx0ZXJzKGZpbHRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCmluZGV4IDAzM2E2MWU3
N2QzZjM0MWUwMzMyYmFjZThmY2M2NTJlMGM4Zjg1NzUuLjRjZTc4NTkxMWEzY2I1ODRlOWNkODFk
ZGVmOGZmNTg2YTU4MDMyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKQEAgLTIzLDcgKzIzLDYgQEAK
ICNpbmNsdWRlICJCaXRtYXBUZXh0dXJlUG9vbC5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlv
bnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KIApAQCAtMzgsMTggKzM3LDE1IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4g
VGV4dHVyZU1hcHBlcjo6YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRTaXplJiBzCiAg
ICAgcmV0dXJuIHNlbGVjdGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxUZXh0dXJlTWFwcGVyPiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBt
b2RlKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBwZXI6OmNyZWF0
ZSgpCiB7Ci0gICAgaWYgKG1vZGUgPT0gU29mdHdhcmVNb2RlKQotICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI+KCk7CiAgICAgcmV0dXJuIHBs
YXRmb3JtQ3JlYXRlQWNjZWxlcmF0ZWQoKTsKIH0KIAotVGV4dHVyZU1hcHBlcjo6VGV4dHVyZU1h
cHBlcihBY2NlbGVyYXRpb25Nb2RlIGFjY2VsZXJhdGlvbk1vZGUpCitUZXh0dXJlTWFwcGVyOjpU
ZXh0dXJlTWFwcGVyKCkKICAgICA6IG1fY29udGV4dCgwKQogICAgICwgbV9pbnRlcnBvbGF0aW9u
UXVhbGl0eShJbnRlcnBvbGF0aW9uRGVmYXVsdCkKICAgICAsIG1fdGV4dERyYXdpbmdNb2RlKFRl
eHRNb2RlRmlsbCkKLSAgICAsIG1fYWNjZWxlcmF0aW9uTW9kZShhY2NlbGVyYXRpb25Nb2RlKQog
ICAgICwgbV9pc01hc2tNb2RlKGZhbHNlKQogICAgICwgbV93cmFwTW9kZShTdHJldGNoV3JhcCkK
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyLmgKaW5kZXggOTdlMjNlNTc3MDY1YjVjMjJlZGExODMyNzI0NjhkNzZk
ZWY0ZTJhZS4uNjVjOTg3MjI4ZDhhOTk4YzI0YzE4M2Q3Yjk3NjQ2MTc0MDkzMzIxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlci5oCkBAIC00Nyw3ICs0Nyw2IEBAIGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7CiBjbGFz
cyBUZXh0dXJlTWFwcGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
LSAgICBlbnVtIEFjY2VsZXJhdGlvbk1vZGUgeyBTb2Z0d2FyZU1vZGUsIE9wZW5HTE1vZGUgfTsK
ICAgICBlbnVtIFBhaW50RmxhZyB7CiAgICAgICAgIFBhaW50aW5nTWlycm9yZWQgPSAxIDw8IDAs
CiAgICAgfTsKQEAgLTU5LDkgKzU4LDkgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiB1bnNpZ25l
ZCBQYWludEZsYWdzOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVy
PiBjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBuZXdNb2RlID0gU29mdHdhcmVNb2RlKTsKKyAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IGNyZWF0ZSgpOwogCi0gICAgZXhw
bGljaXQgVGV4dHVyZU1hcHBlcihBY2NlbGVyYXRpb25Nb2RlKTsKKyAgICBleHBsaWNpdCBUZXh0
dXJlTWFwcGVyKCk7CiAgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlcigpOwogCiAgICAgZW51bSBF
eHBvc2VkRWRnZXMgewpAQCAtOTMsNyArOTIsNiBAQCBwdWJsaWM6CiAKICAgICBJbnRlcnBvbGF0
aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QgeyByZXR1cm4gbV9p
bnRlcnBvbGF0aW9uUXVhbGl0eTsgfQogICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3
aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dERyYXdpbmdNb2RlOyB9Ci0gICAgQWNjZWxl
cmF0aW9uTW9kZSBhY2NlbGVyYXRpb25Nb2RlKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRp
b25Nb2RlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QYWludGluZyhQYWludEZsYWdzID0g
MCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVuZFBhaW50aW5nKCkgeyB9CkBAIC0xMjYsNyArMTI0
LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIEludGVycG9sYXRpb25RdWFsaXR5IG1faW50ZXJw
b2xhdGlvblF1YWxpdHk7CiAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgbV90ZXh0RHJhd2luZ01v
ZGU7Ci0gICAgQWNjZWxlcmF0aW9uTW9kZSBtX2FjY2VsZXJhdGlvbk1vZGU7CiAgICAgYm9vbCBt
X2lzTWFza01vZGU7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9wYXR0ZXJuVHJhbnNmb3Jt
OwogICAgIFdyYXBNb2RlIG1fd3JhcE1vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDYw
Zjk5NDgwZGUxNDgxNzEyMTY3NzYyYzQ3NzFmZTY5NDQ1OWU3OGUuLjBiY2U4Yzc0MjBkN2QwYTQ0
YjMwOWUyNmY1NjZhOTIxOTNlNDg2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0yNDEs
OCArMjQxLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0xEYXRhOjppbml0aWFsaXplU3RlbmNpbCgp
CiB9CiAKIFRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkKLSAgICA6IFRleHR1cmVN
YXBwZXIoT3BlbkdMTW9kZSkKLSAgICAsIG1fZW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5n
KGZhbHNlKQorICAgIDogbV9lbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcoZmFsc2UpCiB7
CiAgICAgbV9jb250ZXh0M0QgPSBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlRm9yQ3VycmVudEdM
Q29udGV4dCgpOwogICAgIG1fZGF0YSA9IG5ldyBUZXh0dXJlTWFwcGVyR0xEYXRhKG1fY29udGV4
dDNELmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2NjMyNjk5MDkwMmRmZDBmMDg0MTIxMzNmMjY2MDY2
NzFkYmFiOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBDb3B5cmln
aHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
Ci0KLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K
LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVQ
b29sLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCi0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXN0YXRpYyBjb25zdCBpbnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uID0g
NDA5NjsKLQotVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIoKQotICAgIDogVGV4dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90ZXh0dXJl
UG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0KLUludFNp
emUgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIEludFNpemUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uLCBz
X21heGltdW1BbGxvd2VkSW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRleHR1cmVN
YXBwZXJJbWFnZUJ1ZmZlcjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
YXRyaXgsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0
dXJuOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
cHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXQzRFRyYW5zZm9ybSgpOwotI2Vsc2UKLSAg
ICBBZmZpbmVUcmFuc2Zvcm0gcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRDVE0oKTsK
LSNlbmRpZgotICAgIGNvbnRleHQtPnNhdmUoKTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcp
Ci0gICAgY29udGV4dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29u
dGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotCi0g
ICAgY29udGV4dC0+Y2xpcChyZWN0KTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAg
Y29udGV4dC0+c2V0M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UKLSAgICBj
b250ZXh0LT5zZXRDVE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZvaWQgVGV4
dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0
ZXh0dXJlLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRFZGdlcyAq
LykKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwot
ICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0bWFwVGV4
dHVyZUltYWdlQnVmZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxjb25zdCBC
aXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1h
Z2UgPSB0ZXh0dXJlSW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0g
ICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9z
aXRlRGVzdGluYXRpb25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRleHQtPnNl
dEFscGhhKG9wYWNpdHkpOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29udGV4dC0+
Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29uY2F0Q1RN
KG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotICAgIGNvbnRleHQtPmRyYXdJ
bWFnZUJ1ZmZlcihpbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgdGFyZ2V0UmVjdCk7Ci0gICAg
Y29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6
ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0ID0gY3VycmVudENvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICBjb250ZXh0LT5zZXRDb21w
b3NpdGVPcGVyYXRpb24oaXNJbk1hc2tNb2RlKCkgPyBDb21wb3NpdGVEZXN0aW5hdGlvbkluIDog
Q29tcG9zaXRlU291cmNlT3Zlcik7Ci0jaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAgICBjb250
ZXh0LT5jb25jYXQzRFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0LT5jb25j
YXRDVE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBjb250ZXh0
LT5maWxsUmVjdChyZWN0LCBjb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4
dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd0Jv
cmRlcihjb25zdCBDb2xvciYsIGZsb2F0IC8qIGJvcmRlcldpZHRoICovLCBjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLX0KLQotdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIoaW50IC8q
IG51bWJlciAqLywgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLVBhc3NSZWZQ
dHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjphcHBseUZpbHRlcnMo
VGV4dHVyZU1hcHBlciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKQotewotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiB0aGlzOwotfQotCi19Ci0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZGQxNzE5M2U5YThiNzQ4NTE4YTcxN2ViMWE0ZWFkMzkxMmE1OTYyYi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1OSArMCwwIEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLQotIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I2lmbmRlZiBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJfaAotI2RlZmluZSBUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXJfaAotCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgiCi0j
aW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0KLSNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlciA6IHB1YmxpYyBUZXh0dXJlTWFwcGVyIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIo
KTsKLQotICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0dWFsIHZv
aWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9h
dFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIG92ZXJyaWRlOwotICAgIHZpcnR1
YWwgdm9pZCBkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQ
b2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVh
bCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwg
dW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhd1Nv
bGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBj
b25zdCBDb2xvciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgb3ZlcnJpZGUg
eyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9Ci0gICAgdmlydHVhbCB2b2lkIGVuZENsaXAo
KSBvdmVycmlkZSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KLSAgICB2aXJ0dWFs
IEludFJlY3QgY2xpcEJvdW5kcygpIG92ZXJyaWRlIHsgcmV0dXJuIGN1cnJlbnRDb250ZXh0KCkt
PmNsaXBCb3VuZHMoKTsgfQotICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNv
bnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVUZXh0dXJl
KCkgb3ZlcnJpZGUgeyByZXR1cm4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjpjcmVhdGUoKTsg
fQotCi0gICAgaW5saW5lIEdyYXBoaWNzQ29udGV4dCogY3VycmVudENvbnRleHQoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1fY3VycmVudFN1cmZhY2UgPyBzdGF0aWNfY2FzdDxCaXRtYXBUZXh0
dXJlSW1hZ2VCdWZmZXIqPihtX2N1cnJlbnRTdXJmYWNlLmdldCgpKS0+Z3JhcGhpY3NDb250ZXh0
KCkgOiBncmFwaGljc0NvbnRleHQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEJp
dG1hcFRleHR1cmU+IG1fY3VycmVudFN1cmZhY2U7Ci19OwotCi19Ci0jZW5kaWYgLy8gVVNFKFRF
WFRVUkVfTUFQUEVSKQotCi0jZW5kaWYgLy8gVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApp
bmRleCAxYTFjMjY3ZjRjNzE5MzRjNjI3MGY1OGU3YTEwOWQ5M2U2NjY5YTc5Li4zNjk0NTIxNDA3
MzU0ZThmZmYwMDM5ZTdkZDYyZDMzYzJkYTA2MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC02NSwxMCArNjUsNiBAQCBD
b21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2UqIHBhZ2Us
IENvbXBvc2l0aW5nQ29vcmRpbmF0bwogI2VuZGlmCiB7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygp
LnNldEFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IodHJ1ZSk7Ci0KLSAgICAvLyBU
aGlzIGlzIGEgdGVtcG9yYXJ5IHdheSB0byBlbmFibGUgdGhpcyBvbmx5IGluIHRoZSBHTCBjYXNl
LCB1bnRpbCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIgaXMgcmVtb3ZlZC4KLSAgICAvLyBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg2OQotICAgIENvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nKHRydWUp
OwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xh
eWVyKEdyYXBoaWNzTGF5ZXIqIGNvbXBvc2l0aW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIG92ZXJs
YXlMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKaW5kZXggYmFjMjA3Yzg0N2VlNTNlODk5YzMzMjI1ZjlmMzM3OGQ4OGI2
MWExNS4uNzk5ZTJjNzY3ZTIxNjc0NmJjM2Y1MWYwNDM2MDMyY2ZiN2MxZjg5YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAK
QEAgLTM2NiwxNiArMzY2LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldENv
bnRlbnRzVGlsZVBoYXNlKGNvbnN0IEZsb2F0U2l6ZSYgcCkKICAgICBkaWRDaGFuZ2VMYXllclN0
YXRlKCk7CiB9CiAKLXN0YXRpYyBib29sIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nID0g
ZmFsc2U7Ci0KLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRTaG91bGRTdXBwb3J0
Q29udGVudHNUaWxpbmcoYm9vbCBzKQotewotICAgIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGls
aW5nID0gczsKLX0KLQogYm9vbCBHcmFwaGljc0xheWVyOjpzdXBwb3J0c0NvbnRlbnRzVGlsaW5n
KCkKIHsKLSAgICByZXR1cm4gc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmc7CisgICAgcmV0
dXJuIHRydWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRDb250ZW50
c05lZWRzRGlzcGxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggYTIxNmFkNWE5MzNhY2JiNTA1NmYyNDY2YTcwMjFjY2Iw
OTg1YTA5ZS4uMTA5MWVkMzU1YTM3MmRkMjIxNmEzMjI3MDEzZjQ2OGQ2YTEyZTNhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApA
QCAtMTQ3LDcgKzE0Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5lZWRzVmlzaWJsZVJlY3RB
ZGp1c3RtZW50KCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAotICAgIHN0YXRp
YyB2b2lkIHNldFNob3VsZFN1cHBvcnRDb250ZW50c1RpbGluZyhib29sKTsKICAgICBDb29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIqIGZpbmRGaXJzdERlc2NlbmRhbnRXaXRoQ29udGVudHNSZWN1cnNp
dmVseSgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5jcHAKaW5kZXggZTY3OTMyZjY0MmJmYzUzNjQwNDFhNDFmYzY5MWI0Mjg4YjQxYmM3Ni4uYWVi
MTIyMzhlNzY0MzNlM2Y0NGNiZGI0MjMxOGRlNmIxNmQxMzcyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC03Miw3ICs3Miw3IEBAIENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCiB2b2lkIENvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgRmxvYXRSZWN0JiBjbGlw
UmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0JhY2tncm91bmQs
IGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVyZU1hcHBlcjo6UGFpbnRG
bGFncyBQYWludEZsYWdzKQogewogICAgIGlmICghbV90ZXh0dXJlTWFwcGVyKSB7Ci0gICAgICAg
IG1fdGV4dHVyZU1hcHBlciA9IFRleHR1cmVNYXBwZXI6OmNyZWF0ZShUZXh0dXJlTWFwcGVyOjpP
cGVuR0xNb2RlKTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBlcjo6Y3Jl
YXRlKCk7CiAgICAgICAgIHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KG1fdGV4dHVyZU1h
cHBlci5nZXQoKSktPnNldEVuYWJsZUVkZ2VEaXN0YW5jZUFudGlhbGlhc2luZyh0cnVlKTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
TGF5ZXJUcmVlSG9zdEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCmluZGV4IGZhMmM2OTNhNzkyMGRjN2FiYzhiYWFhOGU2
MzE1MDEzMDVhNWQzMzMuLmJiNzJlZDIwZWQyZjIzODNlM2VhNjBlYWE0ZTVhODA3NzY3ZTgyZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJU
cmVlSG9zdEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9MYXllclRyZWVIb3N0R3RrLmNwcApAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgTGF5ZXJUcmVl
SG9zdEd0azo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90IGhh
bmRsZSkKIAogICAgIEFTU0VSVChtX2lzVmFsaWQpOwogICAgIEFTU0VSVCghbV90ZXh0dXJlTWFw
cGVyKTsKLSAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoVGV4dHVy
ZU1hcHBlcjo6T3BlbkdMTW9kZSk7CisgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBl
cjo6Y3JlYXRlKCk7CiAgICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90ZXh0dXJl
TWFwcGVyLmdldCgpKS0+c2V0RW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKHRydWUpOwog
ICAgIGRvd25jYXN0PEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyPigqbV9yb290TGF5ZXIpLmxh
eWVyKCkuc2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250436</attachid>
            <date>2015-04-09 05:23:20 -0700</date>
            <delta_ts>2015-04-10 00:44:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150409052228.patch</filename>
            <type>text/plain</type>
            <size>34312</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRjODZkMTZkOWY0Njlh
YTAyOWNjNzRiMjZmMzA1NWViYzRjNmYxYy4uODBhNzdkOWY3ZDZmNjgzODc4Y2Y1ZjNjNzc3ZWJm
N2QwNGFjY2VlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA0LTA5ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFr
ZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdpbkNh
aXJvLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6
OnBhaW50VG9UZXh0dXJlTWFwcGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9JbWFnZUJ1ZmZlckNhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyRGF0
YTo6cGFpbnRUb1RleHR1cmVNYXBwZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50VG9UZXh0dXJlTWFw
cGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUlt
YWdlQnVmZmVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcFRleHR1cmVQb29sOjpjcmVhdGVUZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OnNldEZpbHRlcnMpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyOjpUZXh0dXJlTWFwcGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBl
cjo6YWNjZWxlcmF0aW9uTW9kZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyR0w6OlRleHR1cmVNYXBwZXJHTCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6c3VwcG9ydHNDb250ZW50c1RpbGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldFNob3VsZFN1
cHBvcnRDb250ZW50c1RpbGluZyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorCiAyMDE1
LTA0LTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8g
Zml4IHRoZSBNYWMgYnVpbGQgYWZ0ZXIgcjE4MjU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkNWQwZWMwYmEx
NGY5MmZmYTkxNjk4ZDFhYzZiZTg4MTM2NTM1MjNmLi4xOTVkMGMwNmQzOTQxYzE3YzAwOTQ3ZDlk
NTc4ZmIzMGQ2ZTFmYmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTUtMDQtMDkg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZW1vdmUg
VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDM1NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJl
ZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6CisKKzIwMTUt
MDQtMDkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwogICAgICAgICBb
RUZMXVtHVEtdIFdlYktpdDIncyBnZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgcnVucyB0
b28gbWFueSB0aW1lcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQyOTA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjFlMWE2N2NjYjBlMWVlN2Y0
ZTFiOTI3NDY0Y2ZkMDJjNzdiODYzZi4uNzkyOTQwM2MzZjEwYzJiNjc0M2MyZTJmMmExYzRiNGM5
MGQwNGQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIxNzQsNyArMjE3NCw2IEBAIHNldChX
ZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckFuaW1hdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckJhY2tpbmdTdG9yZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckZQU0NvdW50ZXIuY3BwCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJJbWFnZUJ1ZmZlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckxheWVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyU3VyZmFjZUJhY2tpbmdTdG9yZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlclRpbGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGY3MWVi
NjA1MjBkNTA3YWZiOTNmNmFlZWI4YWE3NTNjZTViOWViNjUuLjU1ODQ4YjI5YzQ2M2JiN2EzMDY5
MTk4MjNjMjhhZWI1M2EwZGRiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3Jt
RWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xODEs
NyArMTgxLDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvQml0bWFwVGV4dHVyZUdMLmNwcAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9C
aXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0JpdG1hcFRleHR1cmVQb29sLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFw
aGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckdMLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1H
VEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyMTA1NzI4
ZWNhOTg0MDkxYzUwZWIwMmNlOWRmNDkxNGU1NGYzNzBlLi5hY2Y4ZDljMjcwODRjNGFkZmM0Y2U4
ZDA3ZjczNDQ2NDVhYzRlM2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdU
Sy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMzgzLDEx
ICszODMsOSBAQCBpZiAoRU5BQkxFX1RFWFRVUkVfTUFQUEVSKQogICAgIGxpc3QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4
dHVyZS5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVH
TC5jcHAKLSAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVJbWFn
ZUJ1ZmZlci5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVQb29sLmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXIuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuY3BwCi0gICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVySW1hZ2VCdWZmZXIuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbS5jcHAKICAgICApCiBlbmRpZiAoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW5DYWlyby5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtV2luQ2Fpcm8uY21ha2UKaW5kZXggNDU5M2QxZWE5ZWIyZGE2NDJmNjhjZjFhNDgy
YTc1YWRiOTY2NDY1YS4uYjI4OGY1N2JjMTY5MWMwOWQwMTAxZWZkN2Q4ODUzN2FmMDdjNGUwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW5DYWlyby5jbWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbkNhaXJvLmNtYWtlCkBAIC02MCw3ICs2MCw2IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0JpdG1hcFRleHR1cmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRl
eHR1cmVHTC5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUlt
YWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJl
UG9vbC5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
Y3BwCkBAIC02OCw3ICs2Nyw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAotICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlclByb2dyYW0uY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKaW5kZXggNTQ4YjBiMGNiMjYzYjIwOGRlYjM1ZDll
YjRkMTlmNTEyYTE0NDY0Ni4uMDNjNjYwYWY0ZTRjMTZmOTc0NmNiZmY3MDJhMTRjZTUxOGY3YTE1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCkBAIC04OSw0NSArODksNiBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBl
ciogdGV4dHVyZU1hcHBlcgogCiAgICAgbV9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7
CiAKLSAgICAvLyBGSVhNRTogV2UgZG8gbm90IHN1cHBvcnQgbWFzayBmb3IgdGhlIG1vbWVudCB3
aXRoIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci4KLSAgICBpZiAodGV4dHVyZU1hcHBlci0+YWNj
ZWxlcmF0aW9uTW9kZSgpICE9IFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpIHsKLSAgICAgICAg
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gdGV4dHVyZU1hcHBlci0+Z3JhcGhpY3NDb250ZXh0
KCk7Ci0gICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCktPnNldEdsb2JhbEFscGhhKG9wYWNpdHkpOwotCi0gICAgICAgIGNvbnN0IGludCBo
ZWlnaHQgPSBtX2NvbnRleHQtPm1fY3VycmVudEhlaWdodDsKLSAgICAgICAgY29uc3QgaW50IHdp
ZHRoID0gbV9jb250ZXh0LT5tX2N1cnJlbnRXaWR0aDsKLSAgICAgICAgaW50IHRvdGFsQnl0ZXMg
PSB3aWR0aCAqIGhlaWdodCAqIDQ7Ci0KLSAgICAgICAgYXV0byBwaXhlbHMgPSBzdGQ6Om1ha2Vf
dW5pcXVlPHVuc2lnbmVkIGNoYXJbXT4odG90YWxCeXRlcyk7Ci0gICAgICAgIGlmICghcGl4ZWxz
KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIC8vIE9wZW5HTCBrZWVwcyB0aGUgcGl4
ZWxzIHN0b3JlZCBib3R0b20gdXAsIHNvIHdlIG5lZWQgdG8gZmxpcCB0aGUgaW1hZ2UgaGVyZS4K
LSAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKDAsIGhlaWdodCk7Ci0gICAgICAgIGNvbnRleHQt
PnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOwotCi0gICAgICAgIGNvbnRleHQtPmNvbmNhdENUTSht
YXRyaXgudG9BZmZpbmVUcmFuc2Zvcm0oKSk7Ci0KLSAgICAgICAgbV9jb250ZXh0LT5yZWFkUmVu
ZGVyaW5nUmVzdWx0cyhwaXhlbHMuZ2V0KCksIHRvdGFsQnl0ZXMpOwotCi0gICAgICAgIC8vIFBy
ZW11bHRpcGx5IGFscGhhLgotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHRvdGFsQnl0ZXM7
IGkgKz0gNCkKLSAgICAgICAgICAgIGlmIChwaXhlbHNbaSArIDNdICE9IDI1NSkgewotICAgICAg
ICAgICAgICAgIHBpeGVsc1tpICsgMF0gPSBtaW4oMjU1LCBwaXhlbHNbaSArIDBdICogcGl4ZWxz
W2kgKyAzXSAvIDI1NSk7Ci0gICAgICAgICAgICAgICAgcGl4ZWxzW2kgKyAxXSA9IG1pbigyNTUs
IHBpeGVsc1tpICsgMV0gKiBwaXhlbHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAgICAgICBw
aXhlbHNbaSArIDJdID0gbWluKDI1NSwgcGl4ZWxzW2kgKyAyXSAqIHBpeGVsc1tpICsgM10gLyAy
NTUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGlt
YWdlU3VyZmFjZSA9IGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRh
KAotICAgICAgICAgICAgY29uc3RfY2FzdDx1bnNpZ25lZCBjaGFyKj4ocGl4ZWxzLmdldCgpKSwg
Q0FJUk9fRk9STUFUX0FSR0IzMiwgd2lkdGgsIGhlaWdodCwgd2lkdGggKiA0KSk7Ci0KLSAgICAg
ICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmRyYXdTdXJmYWNlVG9Db250ZXh0KGltYWdl
U3VyZmFjZS5nZXQoKSwgdGFyZ2V0UmVjdCwgSW50UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KSwg
Y29udGV4dCk7Ci0KLSAgICAgICAgY29udGV4dC0+cmVzdG9yZSgpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIGlmIChtX2NvbnRleHQt
Pm1fYXR0cnMuYW50aWFsaWFzICYmIG1fY29udGV4dC0+bV9zdGF0ZS5ib3VuZEZCTyA9PSBtX2Nv
bnRleHQtPm1fbXVsdGlzYW1wbGVGQk8pIHsKICAgICAgICAgR0xDb250ZXh0KiBwcmV2aW91c0Fj
dGl2ZUNvbnRleHQgPSBHTENvbnRleHQ6OmdldEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5j
cHAKaW5kZXggOGFlOTJiZjk0YzhkZDYwZDBiNTFhMTE0NTQ5OWViZWJhODFmYzVlMC4uNDg5YjY1
MWMzMzc3MjZlNjM4MGU5MGM5MWE0YjFlY2Q2Njc5NzdmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5j
cHAKQEAgLTM5NiwxMSArMzk2LDYgQEAgU3RyaW5nIEltYWdlQnVmZmVyOjp0b0RhdGFVUkwoY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgZG91YmxlKiwgQ29vcmRpbmF0ZVMKICNpZiBFTkFC
TEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQogdm9pZCBJbWFnZUJ1ZmZlckRhdGE6OnBhaW50VG9U
ZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIGNvbnN0IEZsb2F0UmVj
dCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQg
b3BhY2l0eSkKIHsKLSAgICBpZiAodGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpICE9
IFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpIHsKLSAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIEFTU0VSVChtX3RleHR1cmUpOwogCiAgICAg
Ly8gQ2Fpcm8gbWF5IGNoYW5nZSB0aGUgYWN0aXZlIGNvbnRleHQsIHNvIHdlIG1ha2Ugc3VyZSB0
byBjaGFuZ2UgaXQgYmFjayBhZnRlciBmbHVzaGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCA0OTk1NTM5NGIyOTVhMzM2
MWU1MGJjYmEzZjkzYzkzYzE2ZjI5ZDA4Li5lYWQ3MDgyNThmMTBiZDFkYmIyZjhmYzQxNTNjNTM2
Yjc2NjQ0ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuY3BwCkBAIC01MjUsOSArNTI1LDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZs
b2EKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50VG9UZXh0dXJl
TWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0
eSkKIHsKLSAgICBpZiAodGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpICE9IFRleHR1
cmVNYXBwZXI6Ok9wZW5HTE1vZGUpCi0gICAgICAgIHJldHVybjsKLQogICAgIGlmICghbV9wbGF5
ZXItPnZpc2libGUoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJl
SW1hZ2VCdWZmZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjQxYWM4OGQy
ZjQ3MDRiNzUzMTlkYzA5M2UzNDJkZjk5MDI4OWEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9CaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5M
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVy
ZUltYWdlQnVmZmVyLmgiCi0KLSNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotdm9pZCBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OnVwZGF0ZUNvbnRl
bnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IElu
dFBvaW50JiBzb3VyY2VPZmZzZXQsIGludCBieXRlc1BlckxpbmUsIFVwZGF0ZUNvbnRlbnRzRmxh
ZykKLXsKLSNpZiBQTEFURk9STShDQUlSTykKLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBz
dXJmYWNlID0gYWRvcHRSZWYoY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KGRhdGEoKSksCi0gICAgICAgIENBSVJPX0ZPUk1BVF9B
UkdCMzIsIHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgYnl0ZXNQZXJM
aW5lKSk7Ci0gICAgbV9pbWFnZS0+Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+ZHJhd1N1
cmZhY2VUb0NvbnRleHQoc3VyZmFjZS5nZXQoKSwgdGFyZ2V0UmVjdCwKLSAgICAgICAgSW50UmVj
dChzb3VyY2VPZmZzZXQsIHRhcmdldFJlY3Quc2l6ZSgpKSwgbV9pbWFnZS0+Y29udGV4dCgpKTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTSh0YXJnZXRS
ZWN0KTsKLSAgICBVTlVTRURfUEFSQU0oc291cmNlT2Zmc2V0KTsKLSAgICBVTlVTRURfUEFSQU0o
Ynl0ZXNQZXJMaW5lKTsKLSNlbmRpZgotfQotCi12b2lkIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZl
cjo6dXBkYXRlQ29udGVudHMoVGV4dHVyZU1hcHBlciosIEdyYXBoaWNzTGF5ZXIqIHNvdXJjZUxh
eWVyLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBJbnRQb2ludCYgc291cmNlT2Zm
c2V0LCBVcGRhdGVDb250ZW50c0ZsYWcpCi17Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
ID0gbV9pbWFnZS0+Y29udGV4dCgpOwotCi0gICAgY29udGV4dC0+Y2xlYXJSZWN0KHRhcmdldFJl
Y3QpOwotCi0gICAgSW50UmVjdCBzb3VyY2VSZWN0KHRhcmdldFJlY3QpOwotICAgIHNvdXJjZVJl
Y3Quc2V0TG9jYXRpb24oc291cmNlT2Zmc2V0KTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAg
Y29udGV4dC0+Y2xpcCh0YXJnZXRSZWN0KTsKLSAgICBjb250ZXh0LT50cmFuc2xhdGUodGFyZ2V0
UmVjdC54KCkgLSBzb3VyY2VPZmZzZXQueCgpLCB0YXJnZXRSZWN0LnkoKSAtIHNvdXJjZU9mZnNl
dC55KCkpOwotICAgIHNvdXJjZUxheWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cygqY29u
dGV4dCwgc291cmNlUmVjdCk7Ci0gICAgY29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIEJp
dG1hcFRleHR1cmVJbWFnZUJ1ZmZlcjo6ZGlkUmVzZXQoKQotewotICAgIG1faW1hZ2UgPSBJbWFn
ZUJ1ZmZlcjo6Y3JlYXRlKGNvbnRlbnRTaXplKCkpOwotfQotCi12b2lkIEJpdG1hcFRleHR1cmVJ
bWFnZUJ1ZmZlcjo6dXBkYXRlQ29udGVudHMoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRSZWN0JiB0
YXJnZXRSZWN0LCBjb25zdCBJbnRQb2ludCYgb2Zmc2V0LCBVcGRhdGVDb250ZW50c0ZsYWcpCi17
Ci0gICAgbV9pbWFnZS0+Y29udGV4dCgpLT5kcmF3SW1hZ2UoaW1hZ2UsIENvbG9yU3BhY2VEZXZp
Y2VSR0IsIHRhcmdldFJlY3QsIEludFJlY3Qob2Zmc2V0LCB0YXJnZXRSZWN0LnNpemUoKSksIENv
bXBvc2l0ZUNvcHkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdl
QnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZUltYWdlQnVmZmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0OGQy
ZGVlOTg3MDNhZjkyMWMxZjNlNDkwMzk0ZTRjN2RmOGIxYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL0JpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlci5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEg
Uy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcl9oCi0jZGVm
aW5lIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcl9oCi0KLSNpbmNsdWRlICJCaXRtYXBUZXh0dXJl
LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJJbnRSZWN0LmgiCi0jaW5j
bHVkZSAiSW50U2l6ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEdyYXBoaWNz
Q29udGV4dDsKLQotY2xhc3MgQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyIDogcHVibGljIEJpdG1h
cFRleHR1cmUgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+
IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIp
OyB9Ci0gICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlLT5p
bnRlcm5hbFNpemUoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZXNldCgpOwotICAgIHZpcnR1
YWwgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQotICAgIGlu
bGluZSBHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCgpIHsgcmV0dXJuIG1faW1hZ2Ug
PyBtX2ltYWdlLT5jb250ZXh0KCkgOiAwOyB9Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRl
bnRzKEltYWdlKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFBvaW50JiwgVXBkYXRlQ29udGVu
dHNGbGFnKTsKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ29udGVudHMoVGV4dHVyZU1hcHBlcios
IEdyYXBoaWNzTGF5ZXIqLCBjb25zdCBJbnRSZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBv
ZmZzZXQsIFVwZGF0ZUNvbnRlbnRzRmxhZyk7Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRl
bnRzKGNvbnN0IHZvaWQqLCBjb25zdCBJbnRSZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBz
b3VyY2VPZmZzZXQsIGludCBieXRlc1BlckxpbmUsIFVwZGF0ZUNvbnRlbnRzRmxhZyk7Ci0gICAg
UGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBhcHBseUZpbHRlcnMoVGV4dHVyZU1hcHBlciosIGNv
bnN0IEZpbHRlck9wZXJhdGlvbnMmKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1hZ2UoKSBjb25zdCB7
IHJldHVybiBtX2ltYWdlLmdldCgpOyB9Ci0KLXByaXZhdGU6Ci0gICAgQml0bWFwVGV4dHVyZUlt
YWdlQnVmZmVyKCkgeyB9Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBtX2ltYWdl
OwotfTsKLQotfQotCi0jZW5kaWYgLy8gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0
bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IGE0NDQyODA1ZjkyOWJiMGExNTBmYjk4NWViN2Y5Yzhm
ZTYyZjdiOGQuLmVkYjRjY2ZlMWYxMDNhMzJiZGFiOTMzOTA4ODk5N2Y4MmM4OTc3NDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMTA2LDggKzEwNiw2IEBAIFBhc3NSZWZQdHI8Qml0
bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZVBvb2w6OmNyZWF0ZVRleHR1cmUoKQogI2lmIFVTRShU
RVhUVVJFX01BUFBFUl9HTCkKICAgICBCaXRtYXBUZXh0dXJlR0wqIHRleHR1cmUgPSBuZXcgQml0
bWFwVGV4dHVyZUdMKG1fY29udGV4dDNEKTsKICAgICByZXR1cm4gYWRvcHRSZWYodGV4dHVyZSk7
Ci0jZWxzZQotICAgIHJldHVybiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmNyZWF0ZSgpOwog
I2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmlu
ZGV4IDJlN2ZjNWRkODZiZjQyYzNkYWM2MDBhMDA3NmE3YzRhMTVkNDJlOWMuLjVhODA3MjA1Y2E3
MTAwZWZmODIzOTRiNTZkMWUxZjk0NjllODcxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5
ZXJUZXh0dXJlTWFwcGVyLmNwcApAQCAtNjAyLDggKzYwMiw3IEBAIHZvaWQgR3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXI6OnJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5h
bWUpCiBib29sIEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKGNvbnN0IEZp
bHRlck9wZXJhdGlvbnMmIGZpbHRlcnMpCiB7CiAgICAgVGV4dHVyZU1hcHBlciogdGV4dHVyZU1h
cHBlciA9IG1fbGF5ZXIudGV4dHVyZU1hcHBlcigpOwotICAgIC8vIFRleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlciBkb2VzIG5vdCBzdXBwb3J0IENTUyBmaWx0ZXJzLgotICAgIGlmICghdGV4dHVyZU1h
cHBlciB8fCB0ZXh0dXJlTWFwcGVyLT5hY2NlbGVyYXRpb25Nb2RlKCkgPT0gVGV4dHVyZU1hcHBl
cjo6U29mdHdhcmVNb2RlKQorICAgIGlmICghdGV4dHVyZU1hcHBlcikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIG5vdGlmeUNoYW5nZShGaWx0ZXJDaGFuZ2UpOwogICAgIHJldHVybiBHcmFw
aGljc0xheWVyOjpzZXRGaWx0ZXJzKGZpbHRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCmluZGV4IDAz
M2E2MWU3N2QzZjM0MWUwMzMyYmFjZThmY2M2NTJlMGM4Zjg1NzUuLjRjZTc4NTkxMWEzY2I1ODRl
OWNkODFkZGVmOGZmNTg2YTU4MDMyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKQEAgLTIzLDcgKzIz
LDYgQEAKICNpbmNsdWRlICJCaXRtYXBUZXh0dXJlUG9vbC5oIgogI2luY2x1ZGUgIkZpbHRlck9w
ZXJhdGlvbnMuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCi0jaW5jbHVkZSAiVGV4dHVy
ZU1hcHBlckltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KIApAQCAtMzgsMTggKzM3LDE1IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4
dHVyZT4gVGV4dHVyZU1hcHBlcjo6YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRTaXpl
JiBzCiAgICAgcmV0dXJuIHNlbGVjdGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6dW5p
cXVlX3B0cjxUZXh0dXJlTWFwcGVyPiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0aW9u
TW9kZSBtb2RlKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBwZXI6
OmNyZWF0ZSgpCiB7Ci0gICAgaWYgKG1vZGUgPT0gU29mdHdhcmVNb2RlKQotICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI+KCk7CiAgICAgcmV0
dXJuIHBsYXRmb3JtQ3JlYXRlQWNjZWxlcmF0ZWQoKTsKIH0KIAotVGV4dHVyZU1hcHBlcjo6VGV4
dHVyZU1hcHBlcihBY2NlbGVyYXRpb25Nb2RlIGFjY2VsZXJhdGlvbk1vZGUpCitUZXh0dXJlTWFw
cGVyOjpUZXh0dXJlTWFwcGVyKCkKICAgICA6IG1fY29udGV4dCgwKQogICAgICwgbV9pbnRlcnBv
bGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uRGVmYXVsdCkKICAgICAsIG1fdGV4dERyYXdpbmdN
b2RlKFRleHRNb2RlRmlsbCkKLSAgICAsIG1fYWNjZWxlcmF0aW9uTW9kZShhY2NlbGVyYXRpb25N
b2RlKQogICAgICwgbV9pc01hc2tNb2RlKGZhbHNlKQogICAgICwgbV93cmFwTW9kZShTdHJldGNo
V3JhcCkKIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5kZXggOTdlMjNlNTc3MDY1YjVjMjJlZGExODMyNzI0
NjhkNzZkZWY0ZTJhZS4uNjVjOTg3MjI4ZDhhOTk4YzI0YzE4M2Q3Yjk3NjQ2MTc0MDkzMzIxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlci5oCkBAIC00Nyw3ICs0Nyw2IEBAIGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7
CiBjbGFzcyBUZXh0dXJlTWFwcGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBlbnVtIEFjY2VsZXJhdGlvbk1vZGUgeyBTb2Z0d2FyZU1vZGUsIE9wZW5HTE1v
ZGUgfTsKICAgICBlbnVtIFBhaW50RmxhZyB7CiAgICAgICAgIFBhaW50aW5nTWlycm9yZWQgPSAx
IDw8IDAsCiAgICAgfTsKQEAgLTU5LDkgKzU4LDkgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiB1
bnNpZ25lZCBQYWludEZsYWdzOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJl
TWFwcGVyPiBjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBuZXdNb2RlID0gU29mdHdhcmVNb2RlKTsK
KyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXI+IGNyZWF0ZSgpOwogCi0g
ICAgZXhwbGljaXQgVGV4dHVyZU1hcHBlcihBY2NlbGVyYXRpb25Nb2RlKTsKKyAgICBleHBsaWNp
dCBUZXh0dXJlTWFwcGVyKCk7CiAgICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlcigpOwogCiAgICAg
ZW51bSBFeHBvc2VkRWRnZXMgewpAQCAtOTMsNyArOTIsNiBAQCBwdWJsaWM6CiAKICAgICBJbnRl
cnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QgeyByZXR1
cm4gbV9pbnRlcnBvbGF0aW9uUXVhbGl0eTsgfQogICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRl
eHREcmF3aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dERyYXdpbmdNb2RlOyB9Ci0gICAg
QWNjZWxlcmF0aW9uTW9kZSBhY2NlbGVyYXRpb25Nb2RlKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nl
bGVyYXRpb25Nb2RlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QYWludGluZyhQYWludEZs
YWdzID0gMCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVuZFBhaW50aW5nKCkgeyB9CkBAIC0xMjYs
NyArMTI0LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIEludGVycG9sYXRpb25RdWFsaXR5IG1f
aW50ZXJwb2xhdGlvblF1YWxpdHk7CiAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgbV90ZXh0RHJh
d2luZ01vZGU7Ci0gICAgQWNjZWxlcmF0aW9uTW9kZSBtX2FjY2VsZXJhdGlvbk1vZGU7CiAgICAg
Ym9vbCBtX2lzTWFza01vZGU7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9wYXR0ZXJuVHJh
bnNmb3JtOwogICAgIFdyYXBNb2RlIG1fd3JhcE1vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmlu
ZGV4IDYwZjk5NDgwZGUxNDgxNzEyMTY3NzYyYzQ3NzFmZTY5NDQ1OWU3OGUuLjBiY2U4Yzc0MjBk
N2QwYTQ0YjMwOWUyNmY1NjZhOTIxOTNlNDg2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBA
IC0yNDEsOCArMjQxLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0xEYXRhOjppbml0aWFsaXplU3Rl
bmNpbCgpCiB9CiAKIFRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkKLSAgICA6IFRl
eHR1cmVNYXBwZXIoT3BlbkdMTW9kZSkKLSAgICAsIG1fZW5hYmxlRWRnZURpc3RhbmNlQW50aWFs
aWFzaW5nKGZhbHNlKQorICAgIDogbV9lbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcoZmFs
c2UpCiB7CiAgICAgbV9jb250ZXh0M0QgPSBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlRm9yQ3Vy
cmVudEdMQ29udGV4dCgpOwogICAgIG1fZGF0YSA9IG5ldyBUZXh0dXJlTWFwcGVyR0xEYXRhKG1f
Y29udGV4dDNELmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2NjMyNjk5MDkwMmRmZDBmMDg0MTIxMzNm
MjY2MDY2NzFkYmFiOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJJbWFnZUJ1ZmZlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBD
b3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpCi0KLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRl
eHR1cmVQb29sLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCi0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLXN0YXRpYyBjb25zdCBpbnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5z
aW9uID0gNDA5NjsKLQotVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1h
Z2VCdWZmZXIoKQotICAgIDogVGV4dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90
ZXh0dXJlUG9vbCA9IHN0ZDo6bWFrZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0K
LUludFNpemUgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIEludFNpemUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5z
aW9uLCBzX21heGltdW1BbGxvd2VkSW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRl
eHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiBtYXRyaXgsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAg
ICAgcmV0dXJuOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgVHJhbnNmb3JtYXRpb25N
YXRyaXggcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXQzRFRyYW5zZm9ybSgpOwotI2Vs
c2UKLSAgICBBZmZpbmVUcmFuc2Zvcm0gcHJldmlvdXNUcmFuc2Zvcm0gPSBjb250ZXh0LT5nZXRD
VE0oKTsKLSNlbmRpZgotICAgIGNvbnRleHQtPnNhdmUoKTsKLQotI2lmIEVOQUJMRSgzRF9SRU5E
RVJJTkcpCi0gICAgY29udGV4dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0g
ICAgY29udGV4dC0+Y29uY2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRp
ZgotCi0gICAgY29udGV4dC0+Y2xpcChyZWN0KTsKLQotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcp
Ci0gICAgY29udGV4dC0+c2V0M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UK
LSAgICBjb250ZXh0LT5zZXRDVE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZv
aWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0
dXJlJiB0ZXh0dXJlLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRF
ZGdlcyAqLykKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4
dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0
bWFwVGV4dHVyZUltYWdlQnVmZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxj
b25zdCBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZl
ciogaW1hZ2UgPSB0ZXh0dXJlSW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZl
KCk7Ci0gICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8g
Q29tcG9zaXRlRGVzdGluYXRpb25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRl
eHQtPnNldEFscGhhKG9wYWNpdHkpOwotI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpCi0gICAgY29u
dGV4dC0+Y29uY2F0M0RUcmFuc2Zvcm0obWF0cml4KTsKLSNlbHNlCi0gICAgY29udGV4dC0+Y29u
Y2F0Q1RNKG1hdHJpeC50b0FmZmluZVRyYW5zZm9ybSgpKTsKLSNlbmRpZgotICAgIGNvbnRleHQt
PmRyYXdJbWFnZUJ1ZmZlcihpbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgdGFyZ2V0UmVjdCk7
Ci0gICAgY29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1
ZmZlcjo6ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbWF0cml4LCBjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0ID0gY3VycmVudENvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICBjb250ZXh0LT5z
ZXRDb21wb3NpdGVPcGVyYXRpb24oaXNJbk1hc2tNb2RlKCkgPyBDb21wb3NpdGVEZXN0aW5hdGlv
bkluIDogQ29tcG9zaXRlU291cmNlT3Zlcik7Ci0jaWYgRU5BQkxFKDNEX1JFTkRFUklORykKLSAg
ICBjb250ZXh0LT5jb25jYXQzRFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0
LT5jb25jYXRDVE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBj
b250ZXh0LT5maWxsUmVjdChyZWN0LCBjb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAg
Y29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6
ZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IC8qIGJvcmRlcldpZHRoICovLCBjb25zdCBG
bG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpCi17Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLX0KLQotdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIo
aW50IC8qIG51bWJlciAqLywgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLVBh
c3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjphcHBseUZp
bHRlcnMoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKQotewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiB0aGlzOwotfQotCi19Ci0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGQxNzE5M2U5YThiNzQ4NTE4YTcxN2ViMWE0ZWFkMzkxMmE1OTYyYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw1OSArMCwwIEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLQotIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
Ki8KLQotI2lmbmRlZiBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJfaAotI2RlZmluZSBUZXh0dXJl
TWFwcGVySW1hZ2VCdWZmZXJfaAotCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVy
LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgi
Ci0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlciA6IHB1YmxpYyBUZXh0dXJlTWFwcGVyIHsKLSAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBUZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIoKTsKLQotICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0
dWFsIHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCBkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3Qg
RmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3Bh
Y2l0eSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmLCBjb25zdCBDb2xvciYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAo
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsK
LSAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgb3Zl
cnJpZGUgeyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9Ci0gICAgdmlydHVhbCB2b2lkIGVu
ZENsaXAoKSBvdmVycmlkZSB7IGdyYXBoaWNzQ29udGV4dCgpLT5yZXN0b3JlKCk7IH0KLSAgICB2
aXJ0dWFsIEludFJlY3QgY2xpcEJvdW5kcygpIG92ZXJyaWRlIHsgcmV0dXJuIGN1cnJlbnRDb250
ZXh0KCktPmNsaXBCb3VuZHMoKTsgfQotICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6
ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiBjcmVhdGVU
ZXh0dXJlKCkgb3ZlcnJpZGUgeyByZXR1cm4gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjpjcmVh
dGUoKTsgfQotCi0gICAgaW5saW5lIEdyYXBoaWNzQ29udGV4dCogY3VycmVudENvbnRleHQoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1fY3VycmVudFN1cmZhY2UgPyBzdGF0aWNfY2FzdDxCaXRt
YXBUZXh0dXJlSW1hZ2VCdWZmZXIqPihtX2N1cnJlbnRTdXJmYWNlLmdldCgpKS0+Z3JhcGhpY3ND
b250ZXh0KCkgOiBncmFwaGljc0NvbnRleHQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUmVm
UHRyPEJpdG1hcFRleHR1cmU+IG1fY3VycmVudFN1cmZhY2U7Ci19OwotCi19Ci0jZW5kaWYgLy8g
VVNFKFRFWFRVUkVfTUFQUEVSKQotCi0jZW5kaWYgLy8gVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9y
LmNwcAppbmRleCAxYTFjMjY3ZjRjNzE5MzRjNjI3MGY1OGU3YTEwOWQ5M2U2NjY5YTc5Li4zNjk0
NTIxNDA3MzU0ZThmZmYwMDM5ZTdkZDYyZDMzYzJkYTA2MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC02NSwxMCArNjUs
NiBAQCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2Uq
IHBhZ2UsIENvbXBvc2l0aW5nQ29vcmRpbmF0bwogI2VuZGlmCiB7CiAgICAgbV9wYWdlLT5zZXR0
aW5ncygpLnNldEFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IodHJ1ZSk7Ci0KLSAg
ICAvLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IHdheSB0byBlbmFibGUgdGhpcyBvbmx5IGluIHRoZSBH
TCBjYXNlLCB1bnRpbCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIgaXMgcmVtb3ZlZC4KLSAgICAv
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDg2OQotICAg
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5n
KHRydWUpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3Np
dGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqIGNvbXBvc2l0aW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIq
IG92ZXJsYXlMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggYmFjMjA3Yzg0N2VlNTNlODk5YzMzMjI1ZjlmMzM3
OGQ4OGI2MWExNS4uNzk5ZTJjNzY3ZTIxNjc0NmJjM2Y1MWYwNDM2MDMyY2ZiN2MxZjg5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ci5jcHAKQEAgLTM2NiwxNiArMzY2LDkgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6
OnNldENvbnRlbnRzVGlsZVBoYXNlKGNvbnN0IEZsb2F0U2l6ZSYgcCkKICAgICBkaWRDaGFuZ2VM
YXllclN0YXRlKCk7CiB9CiAKLXN0YXRpYyBib29sIHNfc2hvdWxkU3VwcG9ydENvbnRlbnRzVGls
aW5nID0gZmFsc2U7Ci0KLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRTaG91bGRT
dXBwb3J0Q29udGVudHNUaWxpbmcoYm9vbCBzKQotewotICAgIHNfc2hvdWxkU3VwcG9ydENvbnRl
bnRzVGlsaW5nID0gczsKLX0KLQogYm9vbCBHcmFwaGljc0xheWVyOjpzdXBwb3J0c0NvbnRlbnRz
VGlsaW5nKCkKIHsKLSAgICByZXR1cm4gc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmc7Cisg
ICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpzZXRD
b250ZW50c05lZWRzRGlzcGxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggYTIxNmFkNWE5MzNhY2JiNTA1NmYyNDY2YTcw
MjFjY2IwOTg1YTA5ZS4uMTA5MWVkMzU1YTM3MmRkMjIxNmEzMjI3MDEzZjQ2OGQ2YTEyZTNhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5
ZXIuaApAQCAtMTQ3LDcgKzE0Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5lZWRzVmlzaWJs
ZVJlY3RBZGp1c3RtZW50KCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAotICAg
IHN0YXRpYyB2b2lkIHNldFNob3VsZFN1cHBvcnRDb250ZW50c1RpbGluZyhib29sKTsKICAgICBD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqIGZpbmRGaXJzdERlc2NlbmRhbnRXaXRoQ29udGVudHNS
ZWN1cnNpdmVseSgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZS5jcHAKaW5kZXggZTY3OTMyZjY0MmJmYzUzNjQwNDFhNDFmYzY5MWI0Mjg4YjQxYmM3
Ni4uYWViMTIyMzhlNzY0MzNlM2Y0NGNiZGI0MjMxOGRlNmIxNmQxMzcyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC03Miw3ICs3Miw3IEBAIENvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCiB2b2lkIENv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1cnJlbnRHTENvbnRleHQoY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgRmxvYXRSZWN0
JiBjbGlwUmVjdCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgYm9vbCBkcmF3c0JhY2tn
cm91bmQsIGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRQb3NpdGlvbiwgVGV4dHVyZU1hcHBlcjo6
UGFpbnRGbGFncyBQYWludEZsYWdzKQogewogICAgIGlmICghbV90ZXh0dXJlTWFwcGVyKSB7Ci0g
ICAgICAgIG1fdGV4dHVyZU1hcHBlciA9IFRleHR1cmVNYXBwZXI6OmNyZWF0ZShUZXh0dXJlTWFw
cGVyOjpPcGVuR0xNb2RlKTsKKyAgICAgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVyZU1hcHBl
cjo6Y3JlYXRlKCk7CiAgICAgICAgIHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJHTCo+KG1fdGV4
dHVyZU1hcHBlci5nZXQoKSktPnNldEVuYWJsZUVkZ2VEaXN0YW5jZUFudGlhbGlhc2luZyh0cnVl
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCmluZGV4IGZhMmM2OTNhNzkyMGRjN2FiYzhi
YWFhOGU2MzE1MDEzMDVhNWQzMzMuLmJiNzJlZDIwZWQyZjIzODNlM2VhNjBlYWE0ZTVhODA3NzY3
ZTgyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
TGF5ZXJUcmVlSG9zdEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcApAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgTGF5
ZXJUcmVlSG9zdEd0azo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2
NF90IGhhbmRsZSkKIAogICAgIEFTU0VSVChtX2lzVmFsaWQpOwogICAgIEFTU0VSVCghbV90ZXh0
dXJlTWFwcGVyKTsKLSAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUo
VGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSk7CisgICAgbV90ZXh0dXJlTWFwcGVyID0gVGV4dHVy
ZU1hcHBlcjo6Y3JlYXRlKCk7CiAgICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90
ZXh0dXJlTWFwcGVyLmdldCgpKS0+c2V0RW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKHRy
dWUpOwogICAgIGRvd25jYXN0PEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyPigqbV9yb290TGF5
ZXIpLmxheWVyKCkuc2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogCg==
</data>
<flag name="review"
          id="275225"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>250512</attachid>
            <date>2015-04-10 06:11:12 -0700</date>
            <delta_ts>2015-04-10 06:12:24 -0700</delta_ts>
            <desc>results without the patch</desc>
            <filename>test-before.log</filename>
            <type>text/plain</type>
            <size>6872</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">MTQ6MTk6NDEuMTYwIDE2Mjg4IDMzNDQ0IHRlc3RzIHJhbiBhcyBleHBlY3RlZCwgOTcgZGlkbid0
OgoxNDoxOTo0MS4xNjAgMTYyODggCjE0OjE5OjQxLjE2MCAxNjI4OCBXcml0aW5nIEpTT04gZmls
ZXMgaW4gL2hvbWUvb3NzeS9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9sYXlvdXQtdGVzdC1y
ZXN1bHRzLgoxNDoxOTo0MS42MTcgMTYyODggRmluaXNoZWQgd3JpdGluZyBKU09OIGZpbGUgZm9y
IHRoZSB0ZXN0IHJlc3VsdHMgc2VydmVyLgoxNDoxOTo0MS42MzQgMTYyODggVGVzdGluZyBjb21w
bGV0ZWQsIEV4aXQgc3RhdHVzOiA3OAo9PiBSZXN1bHRzOiAzODQyMS8zOTQzOSB0ZXN0cyBwYXNz
ZWQgKDk3LjQlKQoKPT4gVGVzdHMgdG8gYmUgZml4ZWQgKDU3MzEpOgogICAgIDMxIGNyYXNoZXMg
ICAgICAgICAgICAgICAgICAoIDAuNSUpCiAgICAgMzkgdGltZW91dHMgICAgICAgICAgICAgICAg
ICggMC43JSkKICAgICA0NyBtaXNzaW5nIHJlc3VsdHMgICAgICAgICAgKCAwLjglKQogICAgMzE0
IGltYWdlLW9ubHkgZmFpbHVyZXMgICAgICAoIDUuNSUpCgo9PiBUZXN0cyB0aGF0IHdpbGwgb25s
eSBiZSBmaXhlZCBpZiB0aGV5IGNyYXNoIChXT05URklYKSAoMTE4NSk6CiAgICAgIDEgaW1hZ2Ut
b25seSBmYWlsdXJlcyAgICAgICggMC4xJSkKCgpFeHBlY3RlZCB0byBjcmFzaCwgYnV0IHBhc3Nl
ZDogKDMpCiAgY29tcG9zaXRpbmcvbWFza3MvbWFza2VkLWFuY2VzdG9yLmh0bWwKICBjb21wb3Np
dGluZy9yZWZsZWN0aW9ucy9uZXN0ZWQtcmVmbGVjdGlvbi1vbi1vdmVyZmxvdy5odG1sCiAgZmFz
dC9vdmVyZmxvdy9vdmVyZmxvdy1oZWlnaHQtZmxvYXQtbm90LXJlbW92ZWQtY3Jhc2gyLmh0bWwK
CkV4cGVjdGVkIHRvIHRpbWVvdXQsIGJ1dCBwYXNzZWQ6ICgxKQogIGZhc3QvaGlzdG9yeS9nby1i
YWNrLXRvLWlmcmFtZS13aXRoLXBsdWdpbi5odG1sCgpFeHBlY3RlZCB0byBmYWlsLCBidXQgcGFz
c2VkOiAoMTApCiAgY29tcG9zaXRpbmcvaWZyYW1lcy9pbnZpc2libGUtbmVzdGVkLWlmcmFtZS1z
aG93Lmh0bWwKICBjb21wb3NpdGluZy9pZnJhbWVzL3Jlc2l6ZXIuaHRtbAogIGNvbXBvc2l0aW5n
L2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLXNjcm9sbC5odG1sCiAgY29tcG9zaXRpbmcv
b3ZlcmZsb3cvY29tcG9zaXRlZC1zY3JvbGxpbmctY3JlYXRlcy1hLXN0YWNraW5nLWNvbnRhaW5l
ci5odG1sCiAgY29tcG9zaXRpbmcvdGlsaW5nL2h1Z2UtbGF5ZXItYWRkLXJlbW92ZS1jaGlsZC5o
dG1sCiAgY29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQtdGlsZWQtY2xhbXBlZC5odG1sCiAgY29t
cG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQtdGlsZWQtcHJlc2VydmUzZC1jbGFtcGVkLmh0bWwKICBp
bnNwZWN0b3ItcHJvdG9jb2wvZGVidWdnZXIvc2V0QnJlYWtwb2ludC1kZmctY2FsbGVlLWFuZC1l
eGFtaW5lLWRmZy1sb2NhbC5odG1sCiAgbWF0aG1sL3ByZXNlbnRhdGlvbi9zdHlsZS1jaGFuZ2Vk
Lmh0bWwKICB0cmFuc2l0aW9ucy9zdmctdGV4dC1zaGFkb3ctdHJhbnNpdGlvbi5odG1sCgoKVW5l
eHBlY3RlZCBmbGFraW5lc3M6IHRleHQtb25seSBmYWlsdXJlcyAoMykKICBmYXN0L2RvbS9hZG9w
dC1ub2RlLWNyYXNoLTIuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAgZmFzdC9maWx0ZXItaW1hZ2Uv
ZmlsdGVyLWltYWdlLWFuaW1hdGlvbi5odG1sIFsgRmFpbHVyZSBQYXNzIF0KICBmYXN0L3NlbGVj
dG9ycy9ob3Zlci1zdHJpY3QuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCgpVbmV4cGVjdGVkIGZsYWtp
bmVzczogdGltZW91dHMgKDIpCiAgYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LW5vZGUtbWVt
b3J5LW1hbmFnZW1lbnQuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiAgYmF0dGVyeXN0YXR1cy9hZGQt
bGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sIFsgVGltZW91dCBQYXNzIF0KCgpSZWdyZXNzaW9u
czogVW5leHBlY3RlZCB0ZXh0LW9ubHkgZmFpbHVyZXMgKDYxKQogIGFjY2Vzc2liaWxpdHkvYXJp
YS10b2dnbGUtYnV0dG9uLXdpdGgtdGl0bGUuaHRtbCBbIEZhaWx1cmUgXQogIGFjY2Vzc2liaWxp
dHkvcGx1Z2luLmh0bWwgWyBGYWlsdXJlIF0KICBhbmltYXRpb25zL3RyaWdnZXItY29udGFpbmVy
LXNjcm9sbC1lbXB0eS5odG1sIFsgRmFpbHVyZSBdCiAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5k
cmF3SW1hZ2UuYW5pbWF0ZWQucG9zdGVyLmh0bWwgWyBGYWlsdXJlIF0KICBjc3MyLjEvdDE1MDgt
YzUyNy1mb250LTAwLWIuaHRtbCBbIEZhaWx1cmUgXQogIGNzczMvc2VsZWN0b3JzMy94aHRtbC9j
c3MzLW1vZHNlbC0xNWMueG1sIFsgRmFpbHVyZSBdCiAgY3NzMy9zZWxlY3RvcnMzL3htbC9jc3Mz
LW1vZHNlbC0xNWMueG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQt
ZG9tLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2JveC1zaXppbmcvYm94LXNpemluZy5odG1sIFsg
RmFpbHVyZSBdCiAgZmFzdC9jYW52YXMvY2FudmFzLWVsbGlwc2UtemVyby1saW5ldG8uaHRtbCBb
IEZhaWx1cmUgXQogIGZhc3QvY3NzL2ltYWdlLXJlbmRlcmluZy5odG1sIFsgRmFpbHVyZSBdCiAg
ZmFzdC9jc3MvdGV4dC1vdmVyZmxvdy1lbGxpcHNpcy1iaWRpLmh0bWwgWyBGYWlsdXJlIF0KICBm
YXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8t
dmlld3BvcnQuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvZG9tL0VsZW1lbnQvZ2V0Q2xpZW50UmVj
dHMuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvZG9tL1JhbmdlL2dldENsaWVudFJlY3RzLmh0bWwg
WyBGYWlsdXJlIF0KICBmYXN0L2RvbS9mb2N1cy1jb250ZW50ZWRpdGFibGUuaHRtbCBbIEZhaWx1
cmUgXQogIGZhc3QvZm9ybXMvaW5wdXQtYXV0by1maWxsLWJ1dHRvbi5odG1sIFsgRmFpbHVyZSBd
CiAgZmFzdC9mb3Jtcy9saXN0Ym94LWhpdC10ZXN0LXpvb21lZC5odG1sIFsgRmFpbHVyZSBdCiAg
ZmFzdC9mb3Jtcy9yYW5nZS9zbGlkZXItcGFkZGluZy5odG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9m
b3Jtcy90ZXh0YXJlYS1zY3JvbGwtaGVpZ2h0Lmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2xpbmUt
Z3JpZC9saW5lLWFsaWduLXJpZ2h0LWVkZ2VzLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L211bHRp
Y29sL3NwYW4vc3Bhbi1hcy1pbW1lZGlhdGUtY29sdW1ucy1jaGlsZC5odG1sIFsgRmFpbHVyZSBd
CiAgZmFzdC9wYXJzZXIvb3Blbi1jb21tZW50LWluLXRleHRhcmVhLmh0bWwgWyBGYWlsdXJlIF0K
ICBmYXN0L3JlcGFpbnQvc2VsZWN0aW9uLXJ1YnktcmwuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3Qv
dGFibGUvMDIyLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L3RleHQvZGVjb3JhdGlvbnMtd2l0aC10
ZXh0LWNvbWJpbmUuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktbGF5b3V0LWFjcm9zcy1saW5lYnJlYWsuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvdGV4dC9t
aWR3b3JkLWJyZWFrLWJlZm9yZS1zdXJyb2dhdGUtcGFpci0yLmh0bWwgWyBGYWlsdXJlIF0KICBm
YXN0L3RleHQvd2JyLXByZS5odG1sIFsgRmFpbHVyZSBdCiAgaHR0cC90ZXN0cy9jYWNoZS93aWxs
c2VuZHJlcXVlc3QtcmV0dXJucy1udWxsLWZvci1tZW1vcnktY2FjaGUtbG9hZC5odG1sIFsgRmFp
bHVyZSBdCiAgaHR0cC90ZXN0cy9taXNjL2F1dGhlbnRpY2F0aW9uLXJlZGlyZWN0LTMvYXV0aGVu
dGljYXRpb24tc2VudC10by1yZWRpcmVjdC1zYW1lLW9yaWdpbi13aXRoLWxvY2F0aW9uLWNyZWRl
bnRpYWxzLmh0bWwgWyBGYWlsdXJlIF0KICBodHRwL3Rlc3RzL25hdmlnYXRpb24vamF2YXNjcmlw
dGxpbmstZnJhbWVzLmh0bWwgWyBGYWlsdXJlIF0KICBodHRwL3Rlc3RzL25hdmlnYXRpb24vcG9z
dHJlZGlyZWN0LWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0KICBodHRwL3Rlc3RzL25hdmlnYXRpb24v
cG9zdHJlZGlyZWN0LWdvYmFjazEuaHRtbCBbIEZhaWx1cmUgXQogIGh0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1haW4tZnJhbWUuaHRtbCBb
IEZhaWx1cmUgXQogIGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci9yZWdyZXNzLTEzMzE4Mi5o
dG1sIFsgRmFpbHVyZSBdCiAganMvZG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtYXR0cmlidXRlcy5o
dG1sIFsgRmFpbHVyZSBdCiAgbWF0aG1sL29wZW50eXBlL2hvcml6b250YWwuaHRtbCBbIEZhaWx1
cmUgXQogIHBsdWdpbnMvbnBydW50aW1lL29iamVjdC1mcm9tLWRlc3Ryb3llZC1wbHVnaW4taW4t
c3ViZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQogIHBsdWdpbnMvbnBydW50aW1lL29iamVjdC1mcm9t
LWRlc3Ryb3llZC1wbHVnaW4uaHRtbCBbIEZhaWx1cmUgXQogIHN2Zy9hbmltYXRpb25zL2FuaW1h
dGUtdGV4dC1uZXN0ZWQtdHJhbnNmb3Jtcy5odG1sIFsgRmFpbHVyZSBdCiAgc3ZnL3RleHQvdGV4
dFBhdGhCb3VuZHNCdWcuc3ZnIFsgRmFpbHVyZSBdCiAgc3ZnL3dpY2QvdGVzdC1yaWdodHNpemlu
Zy1iLnhodG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWcxMDY3OTUuaHRt
bCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTIyNC5odG1sIFsgRmFpbHVy
ZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAuaHRtbCBbIEZhaWx1cmUgXQogIHRh
Ymxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwX2lmcmFtZS5odG1sIFsgRmFpbHVyZSBdCiAgdGFi
bGVzL21vemlsbGEvYnVncy9idWcxNDMwLmh0bWwgWyBGYWlsdXJlIF0KICB0YWJsZXMvbW96aWxs
YS9idWdzL2J1ZzE1Nzg5MC5odG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9i
dWcxNjI1Mi5odG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWcxOTU5OS5o
dG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWcyMDU3OS5odG1sIFsgRmFp
bHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWczMjIwNS0zLmh0bWwgWyBGYWlsdXJlIF0K
ICB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzgyOTQ2LTIuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxl
cy9tb3ppbGxhL2J1Z3MvYnVnOTIxNDMuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxh
L21hcnZpbi90YWJsZXNfY2VsbHBhZGRpbmcuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3pp
bGxhL21hcnZpbi90YWJsZXNfY2VsbHNwYWNpbmcuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9t
b3ppbGxhL290aGVyL3dhX3RhYmxlX3RodGRfcm93c3Bhbi5odG1sIFsgRmFpbHVyZSBdCiAgdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcxMjYyLmh0bWwgWyBGYWlsdXJl
IF0KICB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzU2MDI0Lmh0bWwg
WyBGYWlsdXJlIF0KICB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9vdGhlci90ZXN0
NC5odG1sIFsgRmFpbHVyZSBdCgpSZWdyZXNzaW9uczogVW5leHBlY3RlZCBpbWFnZS1vbmx5IGZh
aWx1cmVzICgxMCkKICBjb21wb3NpdGluZy9hbmltYXRpb24vbWF0cml4LWFuaW1hdGlvbi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAgY29tcG9zaXRpbmcvYmFja2dyb3VuZC1jb2xvci9iYWNr
Z3JvdW5kLWNvbG9yLWNoYW5nZS10by10ZXh0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBj
b21wb3NpdGluZy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWltYWdlLXdpdGgtbmVnYXRpdmUtemlu
ZGV4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBjb21wb3NpdGluZy9iYWNraW5nL3NvbGlk
LWNvbG9yLXdpdGgtcGFpbnRzLWludG8tYW5jZXN0b3IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogIGNzczEvYmFzaWMvY29tbWVudHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3Qv
YmFja2dyb3VuZHMvYmFja2dyb3VuZC1vcGFxdWUtY2xpcHBlZC1ncmFkaWVudHMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogIGZhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2UtZmlsbC1uby1ib3Jk
ZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIHN2Zy9hbmltYXRpb25zL21vemlsbGEvYW5p
bWF0ZU1vdGlvbi1tcGF0aC10YXJnZXRDaGFuZ2UtMS5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
ICBzdmcvY2xpcC1wYXRoL2NsaXAtcGF0aC1saW5lLXVzZS1iZWZvcmUtZGVmaW5lZC5zdmcgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KICBzdmcvdHJhbnNmb3Jtcy90cmFuc2Zvcm1lZC10ZXh0LWZpbGwt
cGF0dGVybi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCgpSZWdyZXNzaW9uczogVW5leHBlY3Rl
ZCBjcmFzaGVzICg2KQogIGNvbXBvc2l0aW5nL2NsaXBwaW5nL2JvcmRlci1yYWRpdXMtb3ZlcmZs
b3ctaGlkZGVuLXN0YWNraW5nLWNvbnRleHQuaHRtbCBbIENyYXNoIF0KICBjb21wb3NpdGluZy9t
YXNrcy9tYXNrLW9mLWNsaXBwZWQtbGF5ZXIuaHRtbCBbIENyYXNoIF0KICBjb21wb3NpdGluZy9t
YXNrcy9tdWx0aXBsZS1tYXNrcy5odG1sIFsgQ3Jhc2ggXQogIGNvbXBvc2l0aW5nL21hc2tzL3Np
bXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbCBbIENyYXNoIF0KICBmYXN0L3NlbGVjdG9ycy9xdWVy
eVNlbGVjdG9yLWluLXJhbmdlLWNyYXNoLmh0bWwgWyBDcmFzaCBdCiAganMvZG9tL2Nyb3NzLWZy
YW1lLXByb3RvdHlwZS5odG1sIFsgQ3Jhc2ggXQoKUmVncmVzc2lvbnM6IFVuZXhwZWN0ZWQgdGlt
ZW91dHMgKDEpCiAgbWVkaWEvdHJhY2svdHJhY2stY3Vlcy1wYXVzZS1vbi1leGl0Lmh0bWwgWyBU
aW1lb3V0IF0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>250513</attachid>
            <date>2015-04-10 06:12:08 -0700</date>
            <delta_ts>2015-04-10 06:12:08 -0700</delta_ts>
            <desc>results with the patch</desc>
            <filename>test-after.log</filename>
            <type>text/plain</type>
            <size>26679</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">MTQ6NDc6NDMuODA2IDUyMTYgMzMwODMgdGVzdHMgcmFuIGFzIGV4cGVjdGVkLCA0NTggZGlkbid0
OgoxNDo0Nzo0My44MDYgNTIxNiAKMTQ6NDc6NDMuODA2IDUyMTYgV3JpdGluZyBKU09OIGZpbGVz
IGluIC9ob21lL29zc3kvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGF5b3V0LXRlc3QtcmVz
dWx0cy4KMTQ6NDc6NDQuMjUyIDUyMTYgRmluaXNoZWQgd3JpdGluZyBKU09OIGZpbGUgZm9yIHRo
ZSB0ZXN0IHJlc3VsdHMgc2VydmVyLgoxNDo0Nzo0NC4yNjkgNTIxNiBUZXN0aW5nIGNvbXBsZXRl
ZCwgRXhpdCBzdGF0dXM6IDE1Ngo9PiBSZXN1bHRzOiAzODY1MS8zOTQ0OCB0ZXN0cyBwYXNzZWQg
KDk4LjAlKQoKPT4gVGVzdHMgdG8gYmUgZml4ZWQgKDU1MTkpOgogICAgIDg3IGNyYXNoZXMgICAg
ICAgICAgICAgICAgICAoIDEuNiUpCiAgICAgMzQgdGltZW91dHMgICAgICAgICAgICAgICAgICgg
MC42JSkKICAgICA1NCBtaXNzaW5nIHJlc3VsdHMgICAgICAgICAgKCAxLjAlKQogICAgIDIzIGlt
YWdlLW9ubHkgZmFpbHVyZXMgICAgICAoIDAuNCUpCgo9PiBUZXN0cyB0aGF0IHdpbGwgb25seSBi
ZSBmaXhlZCBpZiB0aGV5IGNyYXNoIChXT05URklYKSAoMTE4NSk6CiAgICAgIDEgaW1hZ2Utb25s
eSBmYWlsdXJlcyAgICAgICggMC4xJSkKCgpFeHBlY3RlZCB0byBjcmFzaCwgYnV0IHBhc3NlZDog
KDI3KQogIGNvbXBvc2l0aW5nL2NsaXBwaW5nL2JvcmRlci1yYWRpdXMtc3RhY2tpbmctY29udGV4
dC1jbGlwLmh0bWwKICBjb21wb3NpdGluZy9jb250ZW50cy1vcGFxdWUvb3BhcXVlLXdpdGgtY2xp
cC1wYXRoLmh0bWwKICBjb21wb3NpdGluZy9tYXNrcy9iZWNvbWUtdGlsZWQtbWFzay5odG1sCiAg
Y29tcG9zaXRpbmcvbWFza3MvY2Vhc2UtdGlsZWQtbWFzay5odG1sCiAgY29tcG9zaXRpbmcvbWFz
a3MvY29tcG9zaXRpbmctY2xpcC1wYXRoLWFuZC1tYXNrLmh0bWwKICBjb21wb3NpdGluZy9tYXNr
cy9jb21wb3NpdGluZy1jbGlwLXBhdGgtbWFzay1jaGFuZ2UuaHRtbAogIGNvbXBvc2l0aW5nL21h
c2tzL2NvbXBvc2l0aW5nLWNsaXAtcGF0aC5odG1sCiAgY29tcG9zaXRpbmcvbWFza3MvZGlyZWN0
LWltYWdlLW1hc2suaHRtbAogIGNvbXBvc2l0aW5nL21hc2tzL21hc2stbGF5ZXItc2l6ZS5odG1s
CiAgY29tcG9zaXRpbmcvbWFza3MvbWFza2VkLWFuY2VzdG9yLmh0bWwKICBjb21wb3NpdGluZy9t
YXNrcy9yZWZlcmVuY2UtY2xpcC1wYXRoLW9uLWNvbXBvc2l0ZWQuaHRtbAogIGNvbXBvc2l0aW5n
L21hc2tzL3NvbGlkLWNvbG9yLW1hc2tlZC5odG1sCiAgY29tcG9zaXRpbmcvbWFza3MvdGlsZWQt
bWFzay5odG1sCiAgY29tcG9zaXRpbmcvbWFza3MvdG9nZ2xlLW1hc2suaHRtbAogIGNvbXBvc2l0
aW5nL292ZXJsYXAtYmxlbmRpbmcvbmVzdGVkLW92ZXJsYXAtb3ZlcmZsb3cuaHRtbAogIGNvbXBv
c2l0aW5nL3BhdHRlcm5zL2RpcmVjdC1wYXR0ZXJuLWNvbXBvc2l0aW5nLWFkZC10ZXh0Lmh0bWwK
ICBjb21wb3NpdGluZy9wYXR0ZXJucy9kaXJlY3QtcGF0dGVybi1jb21wb3NpdGluZy1jb250YWlu
Lmh0bWwKICBjb21wb3NpdGluZy9wYXR0ZXJucy9kaXJlY3QtcGF0dGVybi1jb21wb3NpdGluZy1j
b3Zlci5odG1sCiAgY29tcG9zaXRpbmcvcGF0dGVybnMvZGlyZWN0LXBhdHRlcm4tY29tcG9zaXRp
bmctcGFkZGluZy5odG1sCiAgY29tcG9zaXRpbmcvcGF0dGVybnMvZGlyZWN0LXBhdHRlcm4tY29t
cG9zaXRpbmctcG9zaXRpb24uaHRtbAogIGNvbXBvc2l0aW5nL3BhdHRlcm5zL2RpcmVjdC1wYXR0
ZXJuLWNvbXBvc2l0aW5nLXNpemUuaHRtbAogIGNvbXBvc2l0aW5nL3BhdHRlcm5zL2RpcmVjdC1w
YXR0ZXJuLWNvbXBvc2l0aW5nLmh0bWwKICBjb21wb3NpdGluZy9yZWZsZWN0aW9ucy9uZXN0ZWQt
cmVmbGVjdGlvbi1vbi1vdmVyZmxvdy5odG1sCiAgY29tcG9zaXRpbmcvcmVnaW9ucy90cmFuc2Zv
cm0tdHJhbnNwYXJlbnQtcG9zaXRpb25lZC12aWRlby1pbnNpZGUtcmVnaW9uLmh0bWwKICBjb21w
b3NpdGluZy90ZXh0LW9uLXNjYWxlZC1zdXJmYWNlLmh0bWwKICBmYXN0L292ZXJmbG93L292ZXJm
bG93LWhlaWdodC1mbG9hdC1ub3QtcmVtb3ZlZC1jcmFzaDIuaHRtbAogIGlldGVzdGNlbnRlci9j
c3MzL3ZhbHVlc2FuZHVuaXRzL3VuaXRzLTAwMC5odG0KCkV4cGVjdGVkIHRvIHRpbWVvdXQsIGJ1
dCBwYXNzZWQ6ICgxKQogIGZhc3QvaGlzdG9yeS9nby1iYWNrLXRvLWlmcmFtZS13aXRoLXBsdWdp
bi5odG1sCgpFeHBlY3RlZCB0byBmYWlsLCBidXQgcGFzc2VkOiAoMjY3KQogIGFuaW1hdGlvbnMv
Y3Jvc3MtZmFkZS1iYWNrZ3JvdW5kLWltYWdlLmh0bWwKICBjb21wb3NpdGluZy9jb250ZW50cy1z
Y2FsZS9ub24tZGVjb21wb3NhYmxlLW1hdHJpeC5odG1sCiAgY29tcG9zaXRpbmcvaGlkcGktdHJh
bnNmb3JtLXdpdGgtcmVuZGVyLWxheWVyLW9uLWZyYWN0aW9uYWwtcGl4ZWwtdmFsdWUuaHRtbAog
IGNvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2RlZXAtdHJlZS5odG1sCiAgY29tcG9zaXRpbmcv
b3ZlcmxhcC1ibGVuZGluZy9jaGlsZHJlbi1vcGFjaXR5LWh1Z2UuaHRtbAogIGNvbXBvc2l0aW5n
L292ZXJsYXAtYmxlbmRpbmcvY2hpbGRyZW4tb3BhY2l0eS1uby1vdmVybGFwLmh0bWwKICBjb21w
b3NpdGluZy9vdmVybGFwLWJsZW5kaW5nL25lc3RlZC1ub24tb3ZlcmxhcC1jbGlwcGluZy5odG1s
CiAgY29tcG9zaXRpbmcvb3ZlcmxhcC1ibGVuZGluZy9uZXN0ZWQtb3ZlcmxhcC5odG1sCiAgY29t
cG9zaXRpbmcvb3ZlcmxhcC1ibGVuZGluZy9yZWZsZWN0aW9uLW9wYWNpdHktaHVnZS5odG1sCiAg
Y29tcG9zaXRpbmcvdGV4dC1vbi1zY2FsZWQtbGF5ZXIuaHRtbAogIGNzczIuMS8yMDExMDMyMy9j
NTQxLXdvcmQtc3AtMDAwLmh0bQogIGNzczIuMS8yMDExMDMyMy92ZXJ0aWNhbC1hbGlnbi1ib3hl
cy0wMDEuaHRtCiAgY3NzMy9iYWNrZ3JvdW5kL2JhY2tncm91bmQtcmVwZWF0LXNwYWNlLWJvcmRl
ci5odG1sCiAgY3NzMy9iYWNrZ3JvdW5kL2JhY2tncm91bmQtcmVwZWF0LXNwYWNlLWNvbnRlbnQu
aHRtbAogIGNzczMvYmFja2dyb3VuZC9iYWNrZ3JvdW5kLXJlcGVhdC1zcGFjZS1wYWRkaW5nLmh0
bWwKICBjc3MzL2NvbmRpdGlvbmFsL3czYy9hdC1zdXBwb3J0cy0wMTAuaHRtbAogIGNzczMvY29u
ZGl0aW9uYWwvdzNjL2F0LXN1cHBvcnRzLTAxNC5odG1sCiAgY3NzMy9mbGV4Ym94L2Nzc3dnL2Nz
cy1ib3gtanVzdGlmeS1jb250ZW50Lmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cvY3NzLWZsZXhi
b3gtaW1nLWV4cGFuZC1ldmVubHkuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9jc3MtZmxleGJv
eC1yb3cuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9jc3MtZmxleGJveC10ZXN0MS5odG1sCiAg
Y3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXgtYWxpZ24taXRlbXMtY2VudGVyLmh0bWwKICBjc3MzL2Zs
ZXhib3gvY3Nzd2cvZmxleC1mbGV4aXRlbS1wZXJjZW50YWdlLXByZXNjYXRpb24uaHRtbAogIGNz
czMvZmxleGJveC9jc3N3Zy9mbGV4LWl0ZW1zLWZsZXhpYmlsaXR5Lmh0bWwKICBjc3MzL2ZsZXhi
b3gvY3Nzd2cvZmxleC1saW5lcy9tdWx0aS1saW5lLXdyYXAtcmV2ZXJzZS1jb2x1bW4tcmV2ZXJz
ZS5odG1sCiAgY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXgtbGluZXMvbXVsdGktbGluZS13cmFwLXdp
dGgtY29sdW1uLXJldmVyc2UuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9mbGV4LW1hcmdpbi1u
by1jb2xsYXBzZS5odG1sCiAgY3NzMy9mbGV4Ym94L2Nzc3dnL2ZsZXhib3gtZmxleC13cmFwLWZs
ZXhpbmcuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94X2ZsZXgtMC0wLTAuaHRtbAog
IGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94X2ZsZXgtMC0xLTAuaHRtbAogIGNzczMvZmxleGJv
eC9jc3N3Zy9mbGV4Ym94X2ZsZXgtMC1OLTAuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9mbGV4
Ym94X2ZsZXgtbmF0dXJhbC1taXhlZC1iYXNpcy1hdXRvLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nz
d2cvZmxleGJveF9nZW5lcmF0ZWQtY29udGFpbmVyLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cv
ZmxleGJveF9qdXN0aWZ5Y29udGVudC1jZW50ZXItb3ZlcmZsb3cuaHRtbAogIGNzczMvZmxleGJv
eC9jc3N3Zy9mbGV4Ym94X21pbi1oZWlnaHQtYXV0by5odG1sCiAgY3NzMy9mbGV4Ym94L2Nzc3dn
L2ZsZXhib3hfbWluLXdpZHRoLWF1dG8uaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9mbGV4Ym94
X3N0Zi10YWJsZS1zaW5nbGVsaW5lLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cvZmxleGJveF92
aXNpYmlsaXR5LWNvbGxhcHNlLWxpbmUtd3JhcHBpbmcuaHRtbAogIGNzczMvZmxleGJveC9jc3N3
Zy9mbGV4Ym94X3Zpc2liaWxpdHktY29sbGFwc2UuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9m
bGV4Ym94X3dyaXRpbmdfbW9kZV92ZXJ0aWNhbF9sYXlzX291dF9jb250ZW50c19mcm9tX3RvcF90
b19ib3R0b20uaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy9vcmRlci9vcmRlci13aXRoLWNvbHVt
bi1yZXZlcnNlLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cvdHR3Zi1yZWZ0ZXN0LWZsZXgtZGly
ZWN0aW9uLXJvdy1yZXZlcnNlLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cvdHR3Zi1yZWZ0ZXN0
LWZsZXgtaW5saW5lLmh0bWwKICBjc3MzL2ZsZXhib3gvY3Nzd2cvdHR3Zi1yZWZ0ZXN0LWZsZXgt
b3JkZXIuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy90dHdmLXJlZnRlc3QtZmxleC13cmFwLXJl
dmVyc2UuaHRtbAogIGNzczMvZmxleGJveC9jc3N3Zy90dHdmLXJlZnRlc3QtZmxleC13cmFwLmh0
bWwKICBjc3MzL2ZsZXhib3gvaW1hZ2UtcGVyY2VudC1tYXgtaGVpZ2h0Lmh0bWwKICBjc3MzL21h
c2tpbmcvY2xpcC1wYXRoLXJlZmVyZW5jZS5odG1sCiAgY3NzMy9tYXNraW5nL21hc2stcmVwZWF0
LXNwYWNlLWJvcmRlci5odG1sCiAgY3NzMy9tYXNraW5nL21hc2stcmVwZWF0LXNwYWNlLWNvbnRl
bnQuaHRtbAogIGNzczMvc2hhcGVzL3NoYXBlLW91dHNpZGUvc2hhcGUtaW1hZ2Uvc2hhcGUtaW1h
Z2UtMDEwLmh0bWwKICBjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL3NoYXBlLWltYWdlL3NoYXBl
LWltYWdlLTAyNC5odG1sCiAgY3NzMy9zaGFwZXMvc2hhcGUtb3V0c2lkZS9zdXBwb3J0ZWQtc2hh
cGVzL2NpcmNsZS9zaGFwZS1vdXRzaWRlLWNpcmNsZS0wMjcuaHRtbAogIGNzczMvdW5pY29kZS1i
aWRpLWlzb2xhdGUtYWhhcm9uLWZhaWxpbmcuaHRtbAogIGZhc3QvYmFja2dyb3VuZHMvYmFja2dy
b3VuZC1vcGFxdWUtaW1hZ2VzLW92ZXItY29sb3IuaHRtbAogIGZhc3QvYmFja2dyb3VuZHMvaGlk
cGktYml0bWFwLWJhY2tncm91bmQtcmVwZWF0LW9uLXN1YnBpeGVsLXBvc2l0aW9uLmh0bWwKICBm
YXN0L2JvcmRlcnMvMHB4LWJvcmRlcnMuaHRtbAogIGZhc3QvYm9yZGVycy9ib3JkZXItcGFpbnRp
bmctY29ycmVjdG5lc3MtZGFzaGVkLmh0bWwKICBmYXN0L2JvcmRlcnMvYm9yZGVyLXBhaW50aW5n
LWNvcnJlY3RuZXNzLWRvdHRlZC5odG1sCiAgZmFzdC9ib3JkZXJzL2JvcmRlci1wYWludGluZy1k
YXNoZWQtYXQtYWxsLmh0bWwKICBmYXN0L2JvcmRlcnMvYm9yZGVyLXBhaW50aW5nLWRhc2hlZC5o
dG1sCiAgZmFzdC9ib3JkZXJzL2JvcmRlci1wYWludGluZy1kb3R0ZWQtYXQtYWxsLmh0bWwKICBm
YXN0L2JvcmRlcnMvYm9yZGVyLXBhaW50aW5nLWRvdHRlZC5odG1sCiAgZmFzdC9ib3JkZXJzL2Jv
cmRlci1wYWludGluZy1kb3VibGUuaHRtbAogIGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLW9u
LWh0bWwuaHRtbAogIGZhc3QvYm9yZGVycy9oaWRwaS1ib3JkZXItaW1hZ2UtZ3JhZGllbnQtb24t
c3VicGl4ZWxzLmh0bWwKICBmYXN0L2JvcmRlcnMvaGlkcGktYm9yZGVyLXBhaW50aW5nLWdyb292
ZS5odG1sCiAgZmFzdC9ib3JkZXJzL2hpZHBpLWJvcmRlci1wYWludGluZy1yaWRnZS5odG1sCiAg
ZmFzdC9ib3JkZXJzL2hpZHBpLWJvcmRlci1yYWRpdXMtd2l0aC1zdWJwaXhlbC1tYXJnaW4tbm90
LXJlbmRlcmFibGUuaHRtbAogIGZhc3QvYm9yZGVycy9oaWRwaS1kb3VibGUtYm9yZGVyLXdpdGgt
Ym9yZGVyLXJhZGl1cy1hbHdheXMtcHJvZHVjZS1zb2xpZC1saW5lLmh0bWwKICBmYXN0L2JvcmRl
cnMvaGlkcGktc2ltcGxlLWhhaXJsaW5lLWJvcmRlci1wYWludGluZy5odG1sCiAgZmFzdC9jc3Mt
Z2VuZXJhdGVkLWNvbnRlbnQvcXVvdGVzLWxhbmcuaHRtbAogIGZhc3QvY3NzL2Nhc2NhZGUvYm94
LXNoYWRvdy1hbmQtd2Via2l0LWJveC1zaGFkb3ctY2FzY2FkZS1vcmRlci5odG1sCiAgZmFzdC9j
c3Mvc3RpY2t5L2lubGluZS1zdGlja3ktYWJzcG9zLWNoaWxkLmh0bWwKICBmYXN0L2Nzcy9zdGlj
a3kvaW5saW5lLXN0aWNreS5odG1sCiAgZmFzdC9jc3Mvc3RpY2t5L3JlcGxhY2VkLXN0aWNreS5o
dG1sCiAgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS1hcy1wb3NpdGlvbmluZy1jb250YWluZXIuaHRt
bAogIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktYm90aC1zaWRlcy5odG1sCiAgZmFzdC9jc3Mvc3Rp
Y2t5L3N0aWNreS1sZWZ0Lmh0bWwKICBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LW1hcmdpbnMuaHRt
bAogIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktb3ZlcmZsb3dpbmcuaHRtbAogIGZhc3QvY3NzL3N0
aWNreS9zdGlja3ktc2lkZS1tYXJnaW5zLmh0bWwKICBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LXN0
YWNraW5nLWNvbnRleHQuaHRtbAogIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktdGFibGUtcm93LXRv
cC5odG1sCiAgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS10YWJsZS10aGVhZC10b3AuaHRtbAogIGZh
c3QvY3NzL3N0aWNreS9zdGlja3ktdG9wLW1hcmdpbnMuaHRtbAogIGZhc3QvY3NzL3N0aWNreS9z
dGlja3ktdG9wLW92ZXJmbG93LWNvbnRhaW5lci1vdmVyZmxvdy5odG1sCiAgZmFzdC9jc3Mvc3Rp
Y2t5L3N0aWNreS10b3Atb3ZlcmZsb3cuaHRtbAogIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktdG9w
LXpvb21lZC5odG1sCiAgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS10b3AuaHRtbAogIGZhc3QvY3Nz
L3N0aWNreS9zdGlja3ktd3JpdGluZy1tb2RlLWhvcml6b250YWwtYnQuaHRtbAogIGZhc3QvY3Nz
L3N0aWNreS9zdGlja3ktd3JpdGluZy1tb2RlLXZlcnRpY2FsLWxyLmh0bWwKICBmYXN0L2Nzcy9z
dGlja3kvc3RpY2t5LXdyaXRpbmctbW9kZS12ZXJ0aWNhbC1ybC5odG1sCiAgZmFzdC9jc3MzLXRl
eHQvY3NzMy10ZXh0LWRlY29yYXRpb24vdGV4dC1kZWNvcmF0aW9uLXNraXAvZGVjb3JhdGlvbi1z
a2lwLWNyYXNoLWZhbGxiYWNrLXN2Zy5odG1sCiAgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRl
Y29yYXRpb24vdGV4dC1kZWNvcmF0aW9uLXNraXAvZ2x5cGgtaW5zaWRlLXVuZGVybGluZS5odG1s
CiAgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vdGV4dC1kZWNvcmF0aW9uLXNr
aXAvdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rLmh0bWwKICBmYXN0L2ZpbHRlci1pbWFnZS9maWx0
ZXItaW1hZ2Utc3ZnLmh0bWwKICBmYXN0L2ZsZXhib3gvaW1hZ2UtcGVyY2VudC1tYXgtaGVpZ2h0
Lmh0bWwKICBmYXN0L2Zvcm1zL2RhdGFsaXN0L2lucHV0LWFwcGVhcmFuY2UtcmFuZ2Utd2l0aC1k
YXRhbGlzdC1ydGwuaHRtbAogIGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS13aXRoLWFubm90YXRp
b25zLmh0bWwKICBmYXN0L2lubGluZS1ibG9jay9oaWRwaS1tYXJnaW4tdG9wLXdpdGgtc3VicGl4
ZWwtdmFsdWUtYW5kLW92ZXJmbG93LWhpZGRlbi5odG1sCiAgZmFzdC9pbmxpbmUvaGlkcGktaW5s
aW5lLXNlbGVjdGlvbi1sZWF2ZXMtZ2FwLmh0bWwKICBmYXN0L2lubGluZS9oaWRwaS1pbmxpbmUt
dGV4dC1kZWNvcmF0aW9uLXdpdGgtc3VicGl4ZWwtdmFsdWUuaHRtbAogIGZhc3QvaW5saW5lL2hp
ZHBpLXBpeGVsLWdhcC1iZXR3ZWVuLWFkamFjZW50LXNlbGVjdGlvbi1pbmxpbmVzLmh0bWwKICBm
YXN0L2lubGluZS9oaWRwaS1zZWxlY3QtaW5saW5lLW9uLXN1YnBpeGVsLXBvc2l0aW9uLmh0bWwK
ICBmYXN0L2xheWVycy9oaWRwaS1ib3gtcG9zaXRpb25lZC1vZmYtYnktb25lLXdoZW4tdHJhbnNm
b3JtLWlzLXByZXNlbnQuaHRtbAogIGZhc3QvbWVkaWEvdmlldy1tb2RlLW1lZGlhLWZlYXR1cmUu
aHRtbAogIGZhc3QvcmVnaW9ucy9ib3gtZGVjb3JhdGlvbnMtb3Zlci1yZWdpb24tcGFkZGluZy5o
dG1sCiAgZmFzdC9yZWdpb25zL2NsaXAtdG8tcGFkZGluZy1ib3gtdmVydGljYWwtbHIuaHRtbAog
IGZhc3QvcmVnaW9ucy9pbmxpbmUtYmxvY2staW5zaWRlLWFub255bW91cy1vdmVyZmxvdy5odG1s
CiAgZmFzdC9yZWdpb25zL292ZXJmbG93L292ZXJmbG93LWZpcnN0LWFuZC1sYXN0LXJlZ2lvbnMu
aHRtbAogIGZhc3QvcmVnaW9ucy9vdmVyZmxvdy9vdmVyZmxvdy1pbi12YXJpYWJsZS13aWR0aC1y
ZWdpb25zLWlubGluZS1idC5odG1sCiAgZmFzdC9yZWdpb25zL292ZXJmbG93L292ZXJmbG93LWlu
LXZhcmlhYmxlLXdpZHRoLXJlZ2lvbnMtaW5saW5lLWNvbnRpbnVhdGlvbi5odG1sCiAgZmFzdC9y
ZWdpb25zL292ZXJmbG93L292ZXJmbG93LWluLXZhcmlhYmxlLXdpZHRoLXJlZ2lvbnMtaW5saW5l
LWxyLmh0bWwKICBmYXN0L3JlZ2lvbnMvb3ZlcmZsb3cvb3ZlcmZsb3ctaW4tdmFyaWFibGUtd2lk
dGgtcmVnaW9ucy1pbmxpbmUtcmwuaHRtbAogIGZhc3QvcmVnaW9ucy9vdmVyZmxvdy9vdmVyZmxv
dy1pbi12YXJpYWJsZS13aWR0aC1yZWdpb25zLWlubGluZS5odG1sCiAgZmFzdC9yZWdpb25zL292
ZXJmbG93L292ZXJmbG93LXJlZ2lvbi1mbG9hdC5odG1sCiAgZmFzdC9yZWdpb25zL292ZXJmbG93
L292ZXJmbG93LXJlZ2lvbi1pbmxpbmUuaHRtbAogIGZhc3QvcmVnaW9ucy9yZWdpb24tb3ZlcmZs
b3ctYnJlYWsuaHRtbAogIGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsLWFic3Bv
cy5odG1sCiAgZmFzdC9yZWdpb25zL3Njcm9sbGluZy93aGVlbC1zY3JvbGwuaHRtbAogIGZhc3Qv
cmVnaW9ucy9zZWxlY3Rpb24vc2VsZWN0aW5nLXRleHQtaWdub3JpbmctcmVnaW9uLWhvcml6LWJ0
Lmh0bWwKICBmYXN0L3JlZ2lvbnMvc2VsZWN0aW9uL3NlbGVjdGluZy10ZXh0LWlnbm9yaW5nLXJl
Z2lvbi12ZXJ0LWxyLmh0bWwKICBmYXN0L3JlZ2lvbnMvc2VsZWN0aW9uL3NlbGVjdGluZy10ZXh0
LWluLTItcmVnaW9ucy1ob3Jpei1idC5odG1sCiAgZmFzdC9yZWdpb25zL3NlbGVjdGlvbi9zZWxl
Y3RpbmctdGV4dC1pbi0yLXJlZ2lvbnMtdmVydC1sci5odG1sCiAgZmFzdC9yZWdpb25zL3RvcC1v
dmVyZmxvdy1vdXQtb2Ytc2Vjb25kLXJlZ2lvbi5odG1sCiAgZmFzdC9ydWJ5L3J1YnktZXhwYW5z
aW9uLWNqay0yLmh0bWwKICBmYXN0L3J1YnkvcnVieS1leHBhbnNpb24tY2prLTMuaHRtbAogIGZh
c3QvcnVieS9ydWJ5LWV4cGFuc2lvbi1jamstNC5odG1sCiAgZmFzdC9ydWJ5L3J1YnktZXhwYW5z
aW9uLWNqay01Lmh0bWwKICBmYXN0L3J1YnkvcnVieS1leHBhbnNpb24tY2prLmh0bWwKICBmYXN0
L3J1YnkvcnVieS1qdXN0aWZpY2F0aW9uLmh0bWwKICBmYXN0L3Njcm9sbGluZy9zY3JvbGwtc2Vs
ZWN0LWxpc3QuaHRtbAogIGZhc3Qvc2VsZWN0b3JzL3NlbGVjdGlvbi13aW5kb3ctaW5hY3RpdmUu
aHRtbAogIGZhc3Qvc3ViLXBpeGVsL3N1Yi1waXhlbC1jb21wb3NpdGVkLWxheWVycy5odG1sCiAg
ZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9jb2xsYXBzZWQtYm9yZGVycy1hZGpvaW5pbmct
c2VjdGlvbnMuaHRtbAogIGZhc3QvdGV4dC9iYXNlbGluZS1pbmxpbmUtYmxvY2suaHRtbAogIGZh
c3QvdGV4dC9icmVhay13b3JkLXByZS13cmFwLmh0bWwKICBmYXN0L3RleHQvY29tcGxleC1maXJz
dC1nbHlwaC13aXRoLWluaXRpYWwtYWR2YW5jZS5odG1sCiAgZmFzdC90ZXh0L2NvbXBsZXgtaW5p
dGlhbC1hZHZhbmNlLmh0bWwKICBmYXN0L3RleHQvZW1wdHktc2hhZG93Lmh0bWwKICBmYXN0L3Rl
eHQvZm9udC1rZXJuaW5nLmh0bWwKICBmYXN0L3RleHQvaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lk
dGguaHRtbAogIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5bnRoZXNpemVkLWl0YWxpYy12ZXJ0
aWNhbC5odG1sCiAgZmFzdC90ZXh0L25hcnJvdy1ub24tYnJlYWtpbmctc3BhY2UuaHRtbAogIGZh
c3QvdGV4dC9zcGFjZS13aWR0aC5odG1sCiAgaWV0ZXN0Y2VudGVyL2NzczMvZmxleGJveC9mbGV4
Ym94LWFsaWduLXN0cmV0Y2gtMDAxLmh0bQogIGlldGVzdGNlbnRlci9jc3MzL2ZsZXhib3gvZmxl
eGJveC1sYXlvdXQtMDAyLmh0bQogIGlldGVzdGNlbnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVt
bi1jb250YWluaW5nLWJsb2NrLTAwMS5odG0KICBpZXRlc3RjZW50ZXIvY3NzMy9tdWx0aWNvbHVt
bi9jb2x1bW4tY29udGFpbmluZy1ibG9jay0wMDIuaHRtCiAgaWV0ZXN0Y2VudGVyL2NzczMvbXVs
dGljb2x1bW4vY29sdW1uLWZpbGxpbmctMDAxLmh0bQogIGlldGVzdGNlbnRlci9jc3MzL211bHRp
Y29sdW1uL2NvbHVtbi13aWR0aC1hcHBsaWVzLXRvLTAwNy5odG0KICBpZXRlc3RjZW50ZXIvY3Nz
My9tdWx0aWNvbHVtbi9jb2x1bW4td2lkdGgtYXBwbGllcy10by0wMDkuaHRtCiAgaWV0ZXN0Y2Vu
dGVyL2NzczMvbXVsdGljb2x1bW4vY29sdW1uLXdpZHRoLWFwcGxpZXMtdG8tMDEwLmh0bQogIGll
dGVzdGNlbnRlci9jc3MzL211bHRpY29sdW1uL2NvbHVtbi13aWR0aC1hcHBsaWVzLXRvLTAxMi5o
dG0KICBpZXRlc3RjZW50ZXIvY3NzMy9tdWx0aWNvbHVtbi9jb2x1bW4td2lkdGgtYXBwbGllcy10
by0wMTUuaHRtCiAgaWV0ZXN0Y2VudGVyL2NzczMvbmFtZXNwYWNlcy9zeW50YXgtMDIxLnhtbAog
IGltcG9ydGVkL21vemlsbGEvc3ZnL2FzLWltYWdlL2JhY2tncm91bmQtaW1hZ2UtcmVjdC0xcG5n
Lmh0bWwKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9hcy1pbWFnZS9iYWNrZ3JvdW5kLWltYWdlLXJl
Y3QtMi5odG1sCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvYXMtaW1hZ2UvYm9yZGVyLWltYWdlLXNp
bXBsZS0xLmh0bWwKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9hcy1pbWFnZS9ib3JkZXItaW1hZ2Ut
c2ltcGxlLTIuaHRtbAogIGltcG9ydGVkL21vemlsbGEvc3ZnL2FzLWltYWdlL2ltZy1jb250ZW50
LW91dHNpZGUtdmlld0JveC0xLmh0bWwKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9hcy1pbWFnZS9p
bWctZHluLTEuaHRtbAogIGltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLWNvbG9yLWJ1cm4uc3Zn
CiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvYmxlbmQtY29sb3ItZG9kZ2Uuc3ZnCiAgaW1wb3J0ZWQv
bW96aWxsYS9zdmcvYmxlbmQtY29sb3Iuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvYmxlbmQt
ZGFya2VuLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLWRpZmZlcmVuY2Utc3RhY2tp
bmcuaHRtbAogIGltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLWRpZmZlcmVuY2Uuc3ZnCiAgaW1w
b3J0ZWQvbW96aWxsYS9zdmcvYmxlbmQtZXhjbHVzaW9uLnN2ZwogIGltcG9ydGVkL21vemlsbGEv
c3ZnL2JsZW5kLWhhcmQtbGlnaHQuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvYmxlbmQtaHVl
LnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLWxpZ2h0ZW4uc3ZnCiAgaW1wb3J0ZWQv
bW96aWxsYS9zdmcvYmxlbmQtbHVtaW5vc2l0eS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9i
bGVuZC1tdWx0aXBseS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9ibGVuZC1vdmVybGF5LnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2JsZW5kLXNhdHVyYXRpb24uc3ZnCiAgaW1wb3J0ZWQv
bW96aWxsYS9zdmcvYmxlbmQtc2NyZWVuLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2NsaXAt
MDJhLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2NsaXAtMDJiLnN2ZwogIGltcG9ydGVkL21v
emlsbGEvc3ZnL2NvbmRpdGlvbnMtMDEuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvY29uZGl0
aW9ucy0wNi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9jb25kaXRpb25zLTA3LnN2ZwogIGlt
cG9ydGVkL21vemlsbGEvc3ZnL2NvbmRpdGlvbnMtMDguc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9z
dmcvY3NzQ29tbWVudC1pbi1hdHRyaWJ1dGUtMDEuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcv
ZHluYW1pYy1jb25kaXRpb25zLTAxLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2R5bmFtaWMt
Y29uZGl0aW9ucy0wMy5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9keW5hbWljLW1hcmtlci0w
MS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9keW5hbWljLXBhdHRlcm4tMDEuc3ZnCiAgaW1w
b3J0ZWQvbW96aWxsYS9zdmcvZHluYW1pYy1zbWFsbC1vYmplY3Qtc2NhbGVkLXVwLTAxLnN2Zwog
IGltcG9ydGVkL21vemlsbGEvc3ZnL2R5bmFtaWMtc3dpdGNoLTAxLnN2ZwogIGltcG9ydGVkL21v
emlsbGEvc3ZnL2R5bmFtaWMtdGV4dFBhdGgtMDEuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcv
ZHluYW1pYy10ZXh0UGF0aC0wMi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9keW5hbWljLXRl
eHRQYXRoLTAzLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2R5bmFtaWMtdXNlLTAxLnN2Zwog
IGltcG9ydGVkL21vemlsbGEvc3ZnL2R5bmFtaWMtdXNlLTAzLnN2ZwogIGltcG9ydGVkL21vemls
bGEvc3ZnL2R5bmFtaWMtdXNlLTA3LnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2ZpbHRlcnMv
ZmVDb2xvck1hdHJpeC0xLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2ZpbHRlcnMvZmVDb2xv
ck1hdHJpeC0yLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL2ZpbHRlcnMvZmVDb21wb3NpdGUt
MS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZlQ29udm9sdmVNYXRyaXgtYmlh
cy0wMS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wMi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wMy5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wNC5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wNS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wNi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wNy5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wOC5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL2ZpbHRlci1tYXJrZWQtbGlu
ZS0wOS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9maWx0ZXJzL3N2Zy1maWx0ZXItY2hhaW5z
L2NsaXAtaW5wdXQuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvZmlsdGVycy9zdmctZmlsdGVy
LWNoYWlucy9jbGlwLW91dHB1dC5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9saW5lYXJHcmFk
aWVudC1iYXNpYy0wMy5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy9wYXRoTGVuZ3RoLTAxLnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3NtaWwvdHJhbnNmb3JtL3JvdGF0ZS1hbmdsZS00LnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3NtaWwvdHJhbnNmb3JtL3JvdGF0ZS1hbmdsZS01LnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3N2Zy1pbnRlZ3JhdGlvbi9keW5hbWljLWNvbmRpdGlv
bnMtb3V0ZXItc3ZnLTAyLnhodG1sCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvc3ZnLWludGVncmF0
aW9uL2R5bmFtaWMtY29uZGl0aW9ucy1vdXRlci1zdmctMDMueGh0bWwKICBpbXBvcnRlZC9tb3pp
bGxhL3N2Zy90ZXh0L2R5bmFtaWMtbXVsdGlwbGUteC5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2
Zy90ZXh0L2R5bmFtaWMtbm9uLXNjYWxpbmctc3Ryb2tlLnN2ZwogIGltcG9ydGVkL21vemlsbGEv
c3ZnL3RleHQvaWdub3JlLXRleHQtYWxpZ24tMi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90
ZXh0L211bHRpcGxlLWNodW5rcy1iaWRpLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQv
bXVsdGlwbGUtY2h1bmtzLWRpZmZlcmVudC1hbmNob3ItYmlkaS5zdmcKICBpbXBvcnRlZC9tb3pp
bGxhL3N2Zy90ZXh0L211bHRpcGxlLWNodW5rcy1kaWZmZXJlbnQtYW5jaG9yLXJ0bC5zdmcKICBp
bXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L211bHRpcGxlLWNodW5rcy1tdWx0aXBsZS1keC1iaWRp
LnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUtY2h1bmtzLW11bHRpcGxl
LWR4LWRpZmZlcmVudC1hbmNob3ItYmlkaS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0
L211bHRpcGxlLWNodW5rcy1tdWx0aXBsZS1keC1kaWZmZXJlbnQtYW5jaG9yLXJ0bC5zdmcKICBp
bXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L211bHRpcGxlLWNodW5rcy1tdWx0aXBsZS1keC1ydGwu
c3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9tdWx0aXBsZS1jaHVua3MtcnRsLnN2Zwog
IGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUteC1hbmNob3ItZW5kLWJpZGkuc3Zn
CiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9tdWx0aXBsZS14LWFuY2hvci1lbmQtcnRsLnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUteC1iaWRpLnN2ZwogIGltcG9y
dGVkL21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUteC1ob2xlcy1iaWRpLnN2ZwogIGltcG9ydGVk
L21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUteC1ob2xlcy1tdWx0aXBsZS1keC1ydGwuc3ZnCiAg
aW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9tdWx0aXBsZS14LWhvbGVzLXJ0bC5zdmcKICBpbXBv
cnRlZC9tb3ppbGxhL3N2Zy90ZXh0L211bHRpcGxlLXgtbXVsdGlwbGUtZHgtYW5jaG9yLWVuZC1i
aWRpLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvbXVsdGlwbGUteC1tdWx0aXBsZS1k
eC1hbmNob3ItZW5kLXJ0bC5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L211bHRpcGxl
LXgtbXVsdGlwbGUtZHgtYmlkaS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L211bHRp
cGxlLXgtbXVsdGlwbGUtZHgtcnRsLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvbXVs
dGlwbGUteC1ydGwuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9wc2V1ZG8tZmlyc3Qt
bGV0dGVyLnN2ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvcHNldWRvLWZpcnN0LWxpbmUt
Mi5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L3BzZXVkby1maXJzdC1saW5lLnN2Zwog
IGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvc2ltcGxlLW11bHRpbGluZS1hbmNob3ItZW5kLnN2
ZwogIGltcG9ydGVkL21vemlsbGEvc3ZnL3RleHQvc2ltcGxlLW11bHRpbGluZS1udW1iZXIuc3Zn
CiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9zaW1wbGUtbXVsdGlsaW5lLXBjLnN2ZwogIGlt
cG9ydGVkL21vemlsbGEvc3ZnL3RleHQvc2ltcGxlLW11bHRpbGluZS5zdmcKICBpbXBvcnRlZC9t
b3ppbGxhL3N2Zy90ZXh0L3NpbXBsZS1tdWx0aXBsZS1keC1hbmNob3ItZW5kLWJpZGkuc3ZnCiAg
aW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9zaW1wbGUtbXVsdGlwbGUtZHgtYW5jaG9yLWVuZC1y
dGwuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9zaW1wbGUtbXVsdGlwbGUtZHgtYW5j
aG9yLW1pZGRsZS1ydGwuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC9zaW1wbGUtbXVs
dGlwbGUtZHgtYmlkaS5zdmcKICBpbXBvcnRlZC9tb3ppbGxhL3N2Zy90ZXh0L3NpbXBsZS1tdWx0
aXBsZS1keC1ydGwuc3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC90ZXh0TGVuZ3RoLTUu
c3ZnCiAgaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC90ZXh0TGVuZ3RoLTYuc3ZnCiAgaW1wb3J0
ZWQvbW96aWxsYS9zdmcvdGV4dC90ZXh0cGF0aC1tdWx0aWxpbmUtMi5zdmcKICBpbXBvcnRlZC9t
b3ppbGxhL3N2Zy90ZXh0L3RleHRwYXRoLW11bHRpbGluZS5zdmcKICBpbnNwZWN0b3ItcHJvdG9j
b2wvZGVidWdnZXIvc2V0QnJlYWtwb2ludC1kZmctY2FsbGVlLWFuZC1leGFtaW5lLWRmZy1sb2Nh
bC5odG1sCiAgbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1zdGFja2VkLWdseXBocy5odG1sCiAgbWF0
aG1sL3ByZXNlbnRhdGlvbi9zY3JpcHRzLXN1YnN1cC5odG1sCiAgbWF0aG1sL3ByZXNlbnRhdGlv
bi9zdHlsZS1jaGFuZ2VkLmh0bWwKICBtYXRobWwvcm9vdHMtcmVtb3ZlQ2hpbGQuaHRtbAogIHBy
aW50aW5nL3F1aXJrcy1wZXJjZW50YWdlLWhlaWdodC1ib2R5Lmh0bWwKICBwcmludGluZy9xdWly
a3MtcGVyY2VudGFnZS1oZWlnaHQuaHRtbAogIHByaW50aW5nL3N0YW5kYXJkcy1wZXJjZW50YWdl
LWhlaWdodHMuaHRtbAogIHN2Zy9hcy1iYWNrZ3JvdW5kLWltYWdlL3N2Zy10cmFuc2Zvcm1lZC1i
YWNrZ3JvdW5kLmh0bWwKICBzdmcvY3NzL3N2Zy1yZXNvdXJjZS1mcmFnbWVudC1pZGVudGlmaWVy
LWltZy1zcmMuaHRtbAogIHN2Zy9tYXNraW5nL21hc2stdHJhbnNmb3JtZWQtdGV4dC1taXNzaW5n
LnN2ZwogIHRyYW5zaXRpb25zL3N2Zy10ZXh0LXNoYWRvdy10cmFuc2l0aW9uLmh0bWwKCgpVbmV4
cGVjdGVkIGZsYWtpbmVzczogdGV4dC1vbmx5IGZhaWx1cmVzICg1KQogIGFjY2Vzc2liaWxpdHkv
YXJpYS10b2dnbGUtYnV0dG9uLXdpdGgtdGl0bGUuaHRtbCBbIEZhaWx1cmUgQ3Jhc2ggUGFzcyBd
CiAgZmFzdC9kb20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogIGZh
c3QvZmlsdGVyLWltYWdlL2ZpbHRlci1pbWFnZS1hbmltYXRpb24uaHRtbCBbIEZhaWx1cmUgUGFz
cyBdCiAgZmFzdC9zZWxlY3RvcnMvaG92ZXItc3RyaWN0Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQog
IGluc3BlY3Rvci9wYWdlL21haW4tZnJhbWUtcmVzb3VyY2UuaHRtbCBbIEZhaWx1cmUgUGFzcyBd
CgpVbmV4cGVjdGVkIGZsYWtpbmVzczogdGltZW91dHMgKDIpCiAgaHR0cC90ZXN0cy9tZWRpYS92
aWRlby1yZWRpcmVjdC5odG1sIFsgQ3Jhc2ggVGltZW91dCBQYXNzIF0KICBtZWRpYS9hdWRpby1j
b25jdXJyZW50LXN1cHBvcnRlZC5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IFBhc3MgXQoKClJlZ3Jl
c3Npb25zOiBVbmV4cGVjdGVkIHRleHQtb25seSBmYWlsdXJlcyAoNjEpCiAgYWNjZXNzaWJpbGl0
eS9wbHVnaW4uaHRtbCBbIEZhaWx1cmUgXQogIGFuaW1hdGlvbnMvdHJpZ2dlci1jb250YWluZXIt
c2Nyb2xsLWVtcHR5Lmh0bWwgWyBGYWlsdXJlIF0KICBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRy
YXdJbWFnZS5hbmltYXRlZC5wb3N0ZXIuaHRtbCBbIEZhaWx1cmUgXQogIGNvbXBvc2l0aW5nL21h
c2tzL2NvbXBvc2l0aW5nLWNsaXAtcGF0aC1jaGFuZ2Utbm8tcmVwYWludC5odG1sIFsgRmFpbHVy
ZSBdCiAgY3NzMi4xL3QxNTA4LWM1MjctZm9udC0wMC1iLmh0bWwgWyBGYWlsdXJlIF0KICBjc3Mz
L3NlbGVjdG9yczMveGh0bWwvY3NzMy1tb2RzZWwtMTVjLnhtbCBbIEZhaWx1cmUgXQogIGNzczMv
c2VsZWN0b3JzMy94bWwvY3NzMy1tb2RzZWwtMTVjLnhtbCBbIEZhaWx1cmUgXQogIGZhc3QvYXR0
YWNobWVudC9hdHRhY2htZW50LWRvbS5odG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9ib3gtc2l6aW5n
L2JveC1zaXppbmcuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvY2FudmFzL2NhbnZhcy1lbGxpcHNl
LXplcm8tbGluZXRvLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2Nzcy9pbWFnZS1yZW5kZXJpbmcu
aHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvY3NzL3RleHQtb3ZlcmZsb3ctZWxsaXBzaXMtYmlkaS5o
dG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9o
aXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0Lmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2RvbS9F
bGVtZW50L2dldENsaWVudFJlY3RzLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2RvbS9SYW5nZS9n
ZXRDbGllbnRSZWN0cy5odG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9kb20vZm9jdXMtY29udGVudGVk
aXRhYmxlLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L2Zvcm1zL2lucHV0LWF1dG8tZmlsbC1idXR0
b24uaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvZm9ybXMvbGlzdGJveC1oaXQtdGVzdC16b29tZWQu
aHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvZm9ybXMvcmFuZ2Uvc2xpZGVyLXBhZGRpbmcuaHRtbCBb
IEZhaWx1cmUgXQogIGZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsLWhlaWdodC5odG1sIFsgRmFp
bHVyZSBdCiAgZmFzdC9saW5lLWdyaWQvbGluZS1hbGlnbi1yaWdodC1lZGdlcy5odG1sIFsgRmFp
bHVyZSBdCiAgZmFzdC9tdWx0aWNvbC9zcGFuL3NwYW4tYXMtaW1tZWRpYXRlLWNvbHVtbnMtY2hp
bGQuaHRtbCBbIEZhaWx1cmUgXQogIGZhc3QvcGFyc2VyL29wZW4tY29tbWVudC1pbi10ZXh0YXJl
YS5odG1sIFsgRmFpbHVyZSBdCiAgZmFzdC9yZXBhaW50L3NlbGVjdGlvbi1ydWJ5LXJsLmh0bWwg
WyBGYWlsdXJlIF0KICBmYXN0L3RhYmxlLzAyMi5odG1sIFsgRmFpbHVyZSBdCiAgZmFzdC90ZXh0
L2RlY29yYXRpb25zLXdpdGgtdGV4dC1jb21iaW5lLmh0bWwgWyBGYWlsdXJlIF0KICBmYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9iaWRpLWxheW91dC1hY3Jvc3MtbGluZWJyZWFrLmh0bWwgWyBGYWls
dXJlIF0KICBmYXN0L3RleHQvbWlkd29yZC1icmVhay1iZWZvcmUtc3Vycm9nYXRlLXBhaXItMi5o
dG1sIFsgRmFpbHVyZSBdCiAgZmFzdC90ZXh0L3dici1wcmUuaHRtbCBbIEZhaWx1cmUgXQogIGh0
dHAvdGVzdHMvY2FjaGUvd2lsbHNlbmRyZXF1ZXN0LXJldHVybnMtbnVsbC1mb3ItbWVtb3J5LWNh
Y2hlLWxvYWQuaHRtbCBbIEZhaWx1cmUgXQogIGh0dHAvdGVzdHMvbWlzYy9hdXRoZW50aWNhdGlv
bi1yZWRpcmVjdC0zL2F1dGhlbnRpY2F0aW9uLXNlbnQtdG8tcmVkaXJlY3Qtc2FtZS1vcmlnaW4t
d2l0aC1sb2NhdGlvbi1jcmVkZW50aWFscy5odG1sIFsgRmFpbHVyZSBdCiAgaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL2phdmFzY3JpcHRsaW5rLWZyYW1lcy5odG1sIFsgRmFpbHVyZSBdCiAgaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1iYXNpYy5odG1sIFsgRmFpbHVyZSBdCiAgaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1nb2JhY2sxLmh0bWwgWyBGYWlsdXJlIF0K
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1hdWRpby12aWRlby1p
bi1tYWluLWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KICBpbnNwZWN0b3ItcHJvdG9jb2wvZGVidWdn
ZXIvcmVncmVzcy0xMzMxODIuaHRtbCBbIEZhaWx1cmUgXQogIGpzL2RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWF0dHJpYnV0ZXMuaHRtbCBbIEZhaWx1cmUgXQogIG1hdGhtbC9vcGVudHlwZS9ob3Jp
em9udGFsLmh0bWwgWyBGYWlsdXJlIF0KICBwbHVnaW5zL25wcnVudGltZS9vYmplY3QtZnJvbS1k
ZXN0cm95ZWQtcGx1Z2luLWluLXN1YmZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KICBwbHVnaW5zL25w
cnVudGltZS9vYmplY3QtZnJvbS1kZXN0cm95ZWQtcGx1Z2luLmh0bWwgWyBGYWlsdXJlIF0KICBz
dmcvYW5pbWF0aW9ucy9hbmltYXRlLXRleHQtbmVzdGVkLXRyYW5zZm9ybXMuaHRtbCBbIEZhaWx1
cmUgXQogIHN2Zy90ZXh0L3RleHRQYXRoQm91bmRzQnVnLnN2ZyBbIEZhaWx1cmUgXQogIHN2Zy93
aWNkL3Rlc3QtcmlnaHRzaXppbmctYi54aHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMTA2Nzk1Lmh0bWwgWyBGYWlsdXJlIF0KICB0YWJsZXMvbW96aWxsYS9idWdzL2J1
ZzEyMjQuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwLmh0
bWwgWyBGYWlsdXJlIF0KICB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEzMTAyMF9pZnJhbWUuaHRt
bCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTQzMC5odG1sIFsgRmFpbHVy
ZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWcxNTc4OTAuaHRtbCBbIEZhaWx1cmUgXQogIHRh
Ymxlcy9tb3ppbGxhL2J1Z3MvYnVnMTYyNTIuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3pp
bGxhL2J1Z3MvYnVnMTk1OTkuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhL2J1Z3Mv
YnVnMjA1NzkuaHRtbCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMzIyMDUt
My5odG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGEvYnVncy9idWc4Mjk0Ni0yLmh0bWwg
WyBGYWlsdXJlIF0KICB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyMTQzLmh0bWwgWyBGYWlsdXJl
IF0KICB0YWJsZXMvbW96aWxsYS9tYXJ2aW4vdGFibGVzX2NlbGxwYWRkaW5nLmh0bWwgWyBGYWls
dXJlIF0KICB0YWJsZXMvbW96aWxsYS9tYXJ2aW4vdGFibGVzX2NlbGxzcGFjaW5nLmh0bWwgWyBG
YWlsdXJlIF0KICB0YWJsZXMvbW96aWxsYS9vdGhlci93YV90YWJsZV90aHRkX3Jvd3NwYW4uaHRt
bCBbIEZhaWx1cmUgXQogIHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVn
MTI2Mi5odG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
YnVncy9idWc1NjAyNC5odG1sIFsgRmFpbHVyZSBdCiAgdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvb3RoZXIvdGVzdDQuaHRtbCBbIEZhaWx1cmUgXQoKUmVncmVzc2lvbnM6IFVuZXhw
ZWN0ZWQgaW1hZ2Utb25seSBmYWlsdXJlcyAoMjMpCiAgZmFzdC9ib3JkZXJzL2hpZHBpLWJvcmRl
ci1yYWRpdXMtb3V0ZXItYm9yZGVyLWdvZXMtcmVjdGFuZ2xlLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KICBmYXN0L2Nzcy9ib3JkZXItcmFkaXVzLWluc2V0LWJveC1zaGFkb3ctdmlld3BvcnRs
ZW5ndGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3QvY3NzL2JvcmRlci1yYWRpdXMt
dmlld3BvcnQtaGVpZ2h0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBmYXN0L2Nzcy9ib3Jk
ZXItcmFkaXVzLXZpZXdwb3J0LXZtYXguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3Qv
Y3NzL2JvcmRlci1yYWRpdXMtdmlld3BvcnQtdm1pbi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiAgZmFzdC9jc3MvYm94LXNoYWRvdy1uZWdhdGl2ZS12aWV3cG9ydGxlbmd0aC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAgZmFzdC9jc3MvYm94LXNoYWRvdy12aWV3cG9ydC1oZWlnaHQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3QvY3NzL2JveC1zaGFkb3ctdmlld3BvcnQtdm1h
eC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAgZmFzdC9jc3MvYm94LXNoYWRvdy12aWV3cG9y
dC12bWluLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBmYXN0L2Nzcy9ib3gtc2hhZG93LXZp
ZXdwb3J0LXdpZHRoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBmYXN0L2Nzcy9kcm9wLXNo
YWRvdy12aWV3cG9ydC1oZWlnaHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3QvY3Nz
L2Ryb3Atc2hhZG93LXZpZXdwb3J0LXZtYXguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZh
c3QvY3NzL2Ryb3Atc2hhZG93LXZpZXdwb3J0LXZtaW4uaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogIGZhc3QvY3NzL2Ryb3Atc2hhZG93LXZpZXdwb3J0LXdpZHRoLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KICBmYXN0L2hhcm5lc3Mvc2FtcGxlLW1pc21hdGNoLXJlZnRlc3QuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogIG1hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy1zdHlsZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAgbWF0aG1sL3ByZXNlbnRhdGlvbi9mcmFjdGlvbnMt
Y29sb3IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIG1hdGhtbC9wcmVzZW50YXRpb24vbWVu
Y2xvc2Utbm90YXRpb24tYXR0cmlidXRlLXNldDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
IG1hdGhtbC9wcmVzZW50YXRpb24vbWZyYWMtbGluZXRoaWNrbmVzczEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogIG1hdGhtbC9wcmVzZW50YXRpb24vbWZyYWMtbGluZXRoaWNrbmVzczMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3RyZXRjaHkt
dmVydGljYWwtYmFyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBtYXRobWwvcHJlc2VudGF0
aW9uL3NjcmlwdHMtZm9udC1zaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBtYXRobWwv
cHJlc2VudGF0aW9uL3N0eWxlLWNvbG9yLXNxcnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoK
UmVncmVzc2lvbnM6IFVuZXhwZWN0ZWQgY3Jhc2hlcyAoNzIpCiAgYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LW5vZGUtbWVtb3J5LW1hbmFnZW1lbnQuaHRtbCBbIENyYXNoIF0KICBhY2Nlc3Np
YmlsaXR5L2FkamFjZW50LWNvbnRpbnVhdGlvbnMtY2F1c2UtYXNzZXJ0aW9uLWZhaWx1cmUuaHRt
bCBbIENyYXNoIF0KICBhY2Nlc3NpYmlsaXR5L2NvbnRlbnQtZWRpdGFibGUtc2V0LWlubmVyLXRl
eHQtZ2VuZXJhdGVzLWF4dmFsdWUtbm90aWZpY2F0aW9uLmh0bWwgWyBDcmFzaCBdCiAgYWNjZXNz
aWJpbGl0eS9jb250ZW50LWVkaXRhYmxlLmh0bWwgWyBDcmFzaCBdCiAgYWNjZXNzaWJpbGl0eS9k
aXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgWyBDcmFzaCBdCiAgYWNjZXNzaWJp
bGl0eS9kaXNwbGF5LXRhYmxlLWNlbGwtY2F1c2VzLWNyYXNoLmh0bWwgWyBDcmFzaCBdCiAgYWNj
ZXNzaWJpbGl0eS9kaXYtd2l0aGluLWFuY2hvcnMtY2F1c2VzLWNyYXNoLmh0bWwgWyBDcmFzaCBd
CiAgYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLmh0bWwgWyBDcmFzaCBdCiAgYWNj
ZXNzaWJpbGl0eS9kdXBsaWNhdGUtYXhyZW5kZXJvYmplY3QtY3Jhc2guaHRtbCBbIENyYXNoIF0K
ICBhY2Nlc3NpYmlsaXR5L2R1cGxpY2F0ZS1jaGlsZC1ub2Rlcy5odG1sIFsgQ3Jhc2ggXQogIGFu
aW1hdGlvbnMvYWRkZWQtd2hpbGUtc3VzcGVuZGVkLmh0bWwgWyBDcmFzaCBdCiAgY29tcG9zaXRp
bmcvdmlkZW8vdmlkZW8tYm9yZGVyLXJhZGl1cy5odG1sIFsgQ3Jhc2ggXQogIGNvbXBvc2l0aW5n
L3ZpZGVvL3ZpZGVvLWNsaXAtY2hhbmdlLXNyYy5odG1sIFsgQ3Jhc2ggXQogIGNzczMvZGV2aWNl
LWFkYXB0L29wZXJhL2NvbnN0cmFpbi0wMTAueGh0bWwgWyBDcmFzaCBdCiAgY3NzMy9kZXZpY2Ut
YWRhcHQvb3BlcmEvY29uc3RyYWluLTAxMS54aHRtbCBbIENyYXNoIF0KICBjc3MzL2RldmljZS1h
ZGFwdC9vcGVyYS9jb25zdHJhaW4tMDI0LnhodG1sIFsgQ3Jhc2ggXQogIGNzczMvZGV2aWNlLWFk
YXB0L29wZXJhL2Nzc29tLTAwMS54aHRtbCBbIENyYXNoIF0KICBjc3MzL2RldmljZS1hZGFwdC92
aWV3cG9ydC13aWR0aC1ub3QtYWZmZWN0aW5nLW5leHQtcGFnZS5odG1sIFsgQ3Jhc2ggXQogIGNz
czMvc2VsZWN0b3JzMy9odG1sL2NzczMtbW9kc2VsLTIuaHRtbCBbIENyYXNoIF0KICBjc3MzL3Nl
bGVjdG9yczMvaHRtbC9jc3MzLW1vZHNlbC0zYS5odG1sIFsgQ3Jhc2ggXQogIGNzczMvc2VsZWN0
b3JzMy9odG1sL2NzczMtbW9kc2VsLTQuaHRtbCBbIENyYXNoIF0KICBjc3MzL3NlbGVjdG9yczMv
aHRtbC9jc3MzLW1vZHNlbC01Lmh0bWwgWyBDcmFzaCBdCiAgZWRpdGluZy9zZWxlY3Rpb24vZGly
ZWN0aW9uYWxpdHktYWZ0ZXItdW5kby1yZXBsYWNlLmh0bWwgWyBDcmFzaCBdCiAgZWRpdGluZy9z
ZWxlY3Rpb24vZGlzcGxheS10YWJsZS10ZXh0Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9jc3Mvb2Jq
ZWN0LWZpdC9vYmplY3QtZml0LWdyb3ctbGFuZHNjYXBlLmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9j
c3Mvb2JqZWN0LWZpdC9vYmplY3QtZml0LWdyb3ctcG9ydHJhaXQuaHRtbCBbIENyYXNoIF0KICBm
YXN0L2Nzcy9zdGlja3kvaW5mbG93LXN0aWNreS5odG1sIFsgQ3Jhc2ggXQogIGZhc3QvY3NzMy10
ZXh0L2NzczMtdGV4dC1hbGlnbi1sYXN0L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHls
ZS10ZXh0LWFsaWduLWxhc3QtaW5oZXJpdGVkLmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9jc3MzLXRl
eHQvY3NzMy10ZXh0LWFsaWduLWxhc3QvdGV4dC1hbGlnbi1sYXN0LXdpdGgtdGV4dC1hbGlnbi1q
dXN0aWZ5Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWFsaWduLWxh
c3QvdGV4dC1hbGlnbi1sYXN0LXdpdGgtdGV4dC1hbGlnbi1ub24tanVzdGlmeS5odG1sIFsgQ3Jh
c2ggXQogIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1ub2Rvd25sb2FkLmh0bWwg
WyBDcmFzaCBdCiAgZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLXRleHQtYXR0cmli
dXRlLmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvZ2V0LWhyZWYt
YXR0cmlidXRlLXBvcnQuaHRtbCBbIENyYXNoIF0KICBmYXN0L2V2ZW50cy9jb250ZXh0LW5vLWRl
c2VsZWN0Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9ldmVudHMvY29udGV4dC1ub2RyYWcuaHRtbCBb
IENyYXNoIF0KICBmYXN0L2V2ZW50cy9jb250ZXh0LW9ubW91c2Vkb3duLWV2ZW50Lmh0bWwgWyBD
cmFzaCBdCiAgZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRoLWZyYW1l
Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9ldmVudHMvZHJhZy1pbi1mcmFtZXMuaHRtbCBbIENyYXNo
IF0KICBmYXN0L2V2ZW50cy9kcmFnLWxpbmsuaHRtbCBbIENyYXNoIF0KICBmYXN0L2V2ZW50cy9k
cmFnLW91dHNpZGUtd2luZG93Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9ldmVudHMvZHJhZy1wYXJl
bnQtbm9kZS5odG1sIFsgQ3Jhc2ggXQogIGZhc3QvZXZlbnRzL2RyYWctdGV4dC13aXRoLWNsZWFy
Lmh0bWwgWyBDcmFzaCBdCiAgZmFzdC9ldmVudHMvZHJhZ2dpbmctbW91c2UtbW92ZXMuaHRtbCBb
IENyYXNoIF0KICBmYXN0L2V2ZW50cy9zaW11bGF0ZWQtY2xpY2stY29vcmRzLmh0bWwgWyBDcmFz
aCBdCiAgZmFzdC9mb3Jtcy9tdWx0aXBsZS1zZWxlY3RlZC1vcHRpb25zLWlubmVySFRNTC5odG1s
IFsgQ3Jhc2ggXQogIGZhc3QvaGFybmVzcy90ZXN0cnVubmVyLW9iamVjdC5odG1sIFsgQ3Jhc2gg
XQogIGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNS5odG1sIFsgQ3Jhc2ggXQogIGZhc3Qv
d29ya2Vycy93b3JrZXItY2xvc2UuaHRtbCBbIENyYXNoIF0KICBodHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLXJlZmVyZXIuaHRtbCBbIENyYXNoIF0KICBodHRwL3Rlc3RzL21pc2MvYXV0aGVudGljYXRp
b24tcmVkaXJlY3QtMS9hdXRoZW50aWNhdGlvbi1zZW50LXRvLXJlZGlyZWN0LWNyb3NzLW9yaWdp
bi5odG1sIFsgQ3Jhc2ggXQogIGh0dHAvdGVzdHMvcGx1Z2lucy9wb3N0LXVybC1maWxlLmh0bWwg
WyBDcmFzaCBdCiAgaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2Rpc3BhdGNoRXZl
bnQuaHRtbCBbIENyYXNoIF0KICBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLUNTUy1mcm9tLXJl
bW90ZS5odG1sIFsgQ3Jhc2ggXQogIGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtSmF2YVNjcmlw
dC1mcm9tLXJlbW90ZS5odG1sIFsgQ3Jhc2ggXQogIGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwt
aUZyYW1lLWZyb20tcmVtb3RlLmh0bWwgWyBDcmFzaCBdCiAgaHR0cC90ZXN0cy9zZWN1cml0eS9s
b2NhbC1pbWFnZS1mcm9tLXJlbW90ZS5odG1sIFsgQ3Jhc2ggXQogIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvb250aW1lb3V0LXJlc3BvbnNlLWdldHRlcnMuaHRtbCBbIENyYXNoIF0KICBodHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbCBbIENyYXNoIF0K
ICBpbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24uaHRtbCBbIENyYXNo
IF0KICBtZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sIFsg
Q3Jhc2ggXQogIG1lZGlhL2F1ZGlvLXJlcGFpbnQuaHRtbCBbIENyYXNoIF0KICBtZWRpYS9tZWRp
YS1lbGVtZW50LXBsYXktYWZ0ZXItZW9zLmh0bWwgWyBDcmFzaCBdCiAgbWVkaWEvbWVkaWEtZW5k
ZWQuaHRtbCBbIENyYXNoIF0KICBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLW5vdC1pbi1kb2N1bWVu
dC5odG1sIFsgQ3Jhc2ggXQogIG1lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVj
dGx5Lmh0bWwgWyBDcmFzaCBdCiAgbWVkaWEvdmlkZW8tY2FudmFzLWRyYXdpbmctb3V0cHV0Lmh0
bWwgWyBDcmFzaCBdCiAgbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIENyYXNo
IF0KICBtZWRpYS92aWRlby1jb250cm9scy1yZW5kZXJpbmcuaHRtbCBbIENyYXNoIF0KICBtZWRp
YS92aWRlby1kdXJhdGlvbi1rbm93bi1hZnRlci1lb3MuaHRtbCBbIENyYXNoIF0KICBtZWRpYS92
aWRlby1lbXB0eS1zb3VyY2UuaHRtbCBbIENyYXNoIF0KICBtZWRpYS92aWRlby1lbmRlZC1ldmVu
dC1uZWdhdGl2ZS1wbGF5YmFjay5odG1sIFsgQ3Jhc2ggXQogIHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MTFfRXhwcmVzc2lvbnMvMTEuMTBfQmluYXJ5X0JpdHdpc2VfT3BlcmF0b3JzLzExLjEwLjJfWE9S
X09wZXJhdG9yL1MxMS4xMC4yX0ExLmh0bWwgWyBDcmFzaCBdCgotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>250515</attachid>
            <date>2015-04-10 06:16:12 -0700</date>
            <delta_ts>2015-04-10 06:16:12 -0700</delta_ts>
            <desc>crash log for accessibility/accessibility-node-memory-management.html</desc>
            <filename>crash.log</filename>
            <type>text/plain</type>
            <size>3857</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">Y3Jhc2ggbG9nIGZvciBXZWJLaXRUZXN0UnVubmVyIChwaWQgNTMwMCk6CgpDb3JlZHVtcCBjb3Jl
LXBpZF81MzAwLV8tcHJvY2Vzc19XZWJLaXRUZXN0UnVubmVyIG5vdCBmb3VuZC4gVG8gZW5hYmxl
IGNyYXNoIGxvZ3M6CgotIHJ1biB0aGlzIGNvbW1hbmQgYXMgc3VwZXItdXNlcjogZWNobyAiL3Bh
dGgvdG8vY29yZWR1bXBzL2NvcmUtcGlkXyVwLV8tcHJvY2Vzc18lRSIgPiAvcHJvYy9zeXMva2Vy
bmVsL2NvcmVfcGF0dGVybgotIGVuYWJsZSBjb3JlIGR1bXBzOiB1bGltaXQgLWMgdW5saW1pdGVk
Ci0gc2V0IHRoZSBXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlkgZW52aXJvbm1lbnQgdmFyaWFi
bGU6IGV4cG9ydCBXRUJLSVRfQ09SRV9EVU1QU19ESVJFQ1RPUlk9L3BhdGgvdG8vY29yZWR1bXBz
CgoKU1RERVJSOiBFUlI8NTMwMD46ZXZhcy1nbF94MTEgbW9kdWxlcy9ldmFzL2VuZ2luZXMvZ2xf
eDExL2V2YXNfeF9tYWluLmM6ODg4IGVuZ19iZXN0X3Zpc3VhbF9nZXQoKSBnbFhDaG9vc2VGQkNv
bmZpZyByZXR1cm5lZCBubyBjb25maWdzClNUREVSUjogRVJSPDUzMDA+OmV2YXMtZ2xfeDExIG1v
ZHVsZXMvZXZhcy9lbmdpbmVzL2dsX3gxMS9ldmFzX3hfbWFpbi5jOjg4OCBlbmdfYmVzdF92aXN1
YWxfZ2V0KCkgZ2xYQ2hvb3NlRkJDb25maWcgcmV0dXJuZWQgbm8gY29uZmlncwpTVERFUlI6IEVS
Ujw1MzAwPjpldmFzLWdsX3gxMSBtb2R1bGVzL2V2YXMvZW5naW5lcy9nbF94MTEvZXZhc194X21h
aW4uYzo4ODggZW5nX2Jlc3RfdmlzdWFsX2dldCgpIGdsWENob29zZUZCQ29uZmlnIHJldHVybmVk
IG5vIGNvbmZpZ3MKU1RERVJSOiBFUlI8NTMwMD46ZWNvcmVfZXZhcyBtb2R1bGVzL2Vjb3JlX2V2
YXMvZW5naW5lcy94L2Vjb3JlX2V2YXNfeC5jOjQ3OSBfZWNvcmVfZXZhc194X2dsX3dpbmRvd19u
ZXcoKSBldmFzX2VuZ2luZV9pbmZvX3NldCgpIGZvciBlbmdpbmUgJ29wZW5nbF94MTEnIGZhaWxl
ZC4KU1RERVJSOiBFUlI8NTMwMD46ZWNvcmVfZXZhcyBtb2R1bGVzL2Vjb3JlX2V2YXMvZW5naW5l
cy94L2Vjb3JlX2V2YXNfeC5jOjQ0MzMgZWNvcmVfZXZhc19nbF94MTFfb3B0aW9uc19uZXdfaW50
ZXJuYWwoKSBldmFzX2VuZ2luZV9pbmZvX3NldCgpIGluaXQgZW5naW5lICdvcGVuZ2xfeDExJyBm
YWlsZWQuClNUREVSUjogRVJSPDUzMDA+OmV2YXNfbWFpbiBsaWIvZXZhcy9jYW52YXMvZXZhc19n
bC5jOjEzOCBldmFzX2dsX25ldygpIEV2YXMgR0wgZW5naW5lIG5vdCBhdmFpbGFibGUuClNUREVS
UjogMSAgIDB4N2ZlOTRlMjg2YWU4ClNUREVSUjogMiAgIDB4N2ZlOTQ5YjllZDQwClNUREVSUjog
MyAgIDB4N2ZlOTRjYjY0NzhjIFdURjo6SGFzaFRhYmxlSXRlcmF0b3I8dW5zaWduZWQgaW50LCBX
VEY6OktleVZhbHVlUGFpcjx1bnNpZ25lZCBpbnQsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
OjpTaGFkZXJTb3VyY2VFbnRyeT4sIFdURjo6S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9yPFdURjo6
S2V5VmFsdWVQYWlyPHVuc2lnbmVkIGludCwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OlNo
YWRlclNvdXJjZUVudHJ5PiA+LCBXVEY6OkludEhhc2g8dW5zaWduZWQgaW50PiwgV1RGOjpIYXNo
TWFwPHVuc2lnbmVkIGludCwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OlNoYWRlclNvdXJj
ZUVudHJ5LCBXVEY6OkludEhhc2g8dW5zaWduZWQgaW50PiwgV1RGOjpIYXNoVHJhaXRzPHVuc2ln
bmVkIGludD4sIFdURjo6SGFzaFRyYWl0czxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6U2hh
ZGVyU291cmNlRW50cnk+ID46OktleVZhbHVlUGFpclRyYWl0cywgV1RGOjpIYXNoVHJhaXRzPHVu
c2lnbmVkIGludD4gPiBXVEY6Okhhc2hUYWJsZTx1bnNpZ25lZCBpbnQsIFdURjo6S2V5VmFsdWVQ
YWlyPHVuc2lnbmVkIGludCwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OlNoYWRlclNvdXJj
ZUVudHJ5PiwgV1RGOjpLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3I8V1RGOjpLZXlWYWx1ZVBhaXI8
dW5zaWduZWQgaW50LCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6U2hhZGVyU291cmNlRW50
cnk+ID4sIFdURjo6SW50SGFzaDx1bnNpZ25lZCBpbnQ+LCBXVEY6Okhhc2hNYXA8dW5zaWduZWQg
aW50LCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6U2hhZGVyU291cmNlRW50cnksIFdURjo6
SW50SGFzaDx1bnNpZ25lZCBpbnQ+LCBXVEY6Okhhc2hUcmFpdHM8dW5zaWduZWQgaW50PiwgV1RG
OjpIYXNoVHJhaXRzPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpTaGFkZXJTb3VyY2VFbnRy
eT4gPjo6S2V5VmFsdWVQYWlyVHJhaXRzLCBXVEY6Okhhc2hUcmFpdHM8dW5zaWduZWQgaW50PiA+
OjpmaW5kPFdURjo6SWRlbnRpdHlIYXNoVHJhbnNsYXRvcjxXVEY6OkludEhhc2g8dW5zaWduZWQg
aW50PiA+LCB1bnNpZ25lZCBpbnQ+KHVuc2lnbmVkIGludCBjb25zdCYpClNUREVSUjogNCAgIDB4
N2ZlOTRjYjY3ZGJiIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjptYXBwZWRTeW1ib2xOYW1l
KHVuc2lnbmVkIGludCwgV2ViQ29yZTo6QU5HTEVTaGFkZXJTeW1ib2xUeXBlLCBXVEY6OlN0cmlu
ZyBjb25zdCYpClNUREVSUjogNSAgIDB4N2ZlOTRjYjY4NWExIFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjpnZXRVbmlmb3JtTG9jYXRpb24odW5zaWduZWQgaW50LCBXVEY6OlN0cmluZyBjb25z
dCYpClNUREVSUjogNiAgIDB4N2ZlOTRjYjc5OGI3IFdlYkNvcmU6OlRleHR1cmVNYXBwZXJTaGFk
ZXJQcm9ncmFtOjpnZXRMb2NhdGlvbihXVEY6OkF0b21pY1N0cmluZyBjb25zdCYsIFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtOjpWYXJpYWJsZVR5cGUpClNUREVSUjogNyAgIDB4
N2ZlOTRjYjc3YjZkIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6ZHJhd1NvbGlkQ29sb3IoV2Vi
Q29yZTo6RmxvYXRSZWN0IGNvbnN0JiwgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggY29u
c3QmLCBXZWJDb3JlOjpDb2xvciBjb25zdCYpClNUREVSUjogOCAgIDB4N2ZlOTRjMmVhYTIzIFdl
YktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KFdl
YkNvcmU6OlBsYXRmb3JtQ29udGV4dENhaXJvKiwgV2ViQ29yZTo6Q29sb3IgY29uc3QmLCBib29s
KQpTVERFUlI6IDkgICAweDdmZTk0YzMzYzU3YiBXZWJLaXQ6OldlYlZpZXdFZmw6OnBhaW50VG9D
YWlyb1N1cmZhY2UoX2NhaXJvX3N1cmZhY2UqKQpTVERFUlI6IDEwICAweDdmZTk0YzJmZTM3OSBF
d2tWaWV3OjpkaXNwbGF5VGltZXJGaXJlZCgpClNUREVSUjogMTEgIDB4N2ZlOTRjN2NhOGM3IFdl
YkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGltZXJGaXJlZEludGVybmFsKCkKU1RERVJSOiAx
MiAgMHg3ZmU5NGNiM2I3ZmQKU1RERVJSOiAxMyAgMHg3ZmU5NGFjZmVlNTkKU1RERVJSOiAxNCAg
MHg3ZmU5NGFjZmVmOGIKU1RERVJSOiAxNSAgMHg3ZmU5NGFjZmFlNTEKU1RERVJSOiAxNiAgMHg3
ZmU5NGFjZmIyYzcgZWNvcmVfbWFpbl9sb29wX2JlZ2luClNUREVSUjogMTcgIDB4NDE5NzdkIFdU
Ujo6VGVzdEludm9jYXRpb246Omludm9rZSgpClNUREVSUjogMTggIDB4NDExM2Y2IFdUUjo6VGVz
dENvbnRyb2xsZXI6OnJ1blRlc3QoY2hhciBjb25zdCopClNUREVSUjogMTkgIDB4NDExNThiIFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKCkKU1RERVJSOiAyMCAgMHg0
MTg1YTggV1RSOjpUZXN0Q29udHJvbGxlcjo6VGVzdENvbnRyb2xsZXIoaW50LCBjaGFyIGNvbnN0
KiopClNUREVSUjogMjEgIDB4NDBjYjM4IG1haW4KU1RERVJSOiAyMiAgMHg3ZmU5NDliODllYzUg
X19saWJjX3N0YXJ0X21haW4KU1RERVJSOiAyMyAgMHg0MGNiN2M=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250516</attachid>
            <date>2015-04-10 06:23:42 -0700</date>
            <delta_ts>2015-04-10 06:23:42 -0700</delta_ts>
            <desc>llvmpipe experiment</desc>
            <filename>efl.patch</filename>
            <type>text/plain</type>
            <size>3634</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9lZmwucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CmluZGV4IDNjODkyMTkuLjQyMjBmMTIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9lZmwucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2VmbC5weQpAQCAtNjcsNiArNjcsMTIgQEAgY2xhc3MgRWZsUG9y
dChQb3J0KToKICAgICAgICAgaWYgJ0FDQ0VTU0lCSUxJVFlfRUFJTF9MSUJSQVJZX1BBVEgnIGlu
IG9zLmVudmlyb246CiAgICAgICAgICAgICBlbnZbJ0FDQ0VTU0lCSUxJVFlfRUFJTF9MSUJSQVJZ
X1BBVEgnXSA9IG9zLmVudmlyb25bJ0FDQ0VTU0lCSUxJVFlfRUFJTF9MSUJSQVJZX1BBVEgnXQog
CisgICAgICAgIGlmICdFVkFTX0dMX05PX0JMQUNLTElTVCcgaW4gb3MuZW52aXJvbjoKKyAgICAg
ICAgICAgIGVudlsnRVZBU19HTF9OT19CTEFDS0xJU1QnXSA9IG9zLmVudmlyb25bJ0VWQVNfR0xf
Tk9fQkxBQ0tMSVNUJ10KKworICAgICAgICBpZiAnRUxNX0VOR0lORScgaW4gb3MuZW52aXJvbjoK
KyAgICAgICAgICAgIGVudlsnRUxNX0VOR0lORSddID0gb3MuZW52aXJvblsnRUxNX0VOR0lORSdd
CisKICAgICAgICAgZW52WydURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUnXSA9
IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicsICdsaWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28n
KQogICAgICAgICBlbnZbJ1RFU1RfUlVOTkVSX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9w
YXRoKCdsaWInLCAncGx1Z2lucycpCiAKQEAgLTc2LDYgKzgyLDEzIEBAIGNsYXNzIEVmbFBvcnQo
UG9ydCk6CiAgICAgICAgIGlmIHNlbGYud2VicHJvY2Vzc19jbWRfcHJlZml4OgogICAgICAgICAg
ICAgZW52WydXRUJfUFJPQ0VTU19DTURfUFJFRklYJ10gPSBzZWxmLndlYnByb2Nlc3NfY21kX3By
ZWZpeAogCisgICAgICAgIGlmIHNlbGYuX2RyaXZlcl9jbGFzcygpID09IFh2ZmJEcml2ZXIgYW5k
IHNlbGYuX3Nob3VsZF91c2VfamhidWlsZCgpOgorICAgICAgICAgICAgbGx2bXBpcGVfbGliZ2xf
cGF0aCA9IHNlbGYuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoc2VsZi5famhidWlsZF93cmFw
cGVyICsgWydwcmludGVudicsICdMTFZNUElQRV9MSUJHTF9QQVRIJ10sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2hh
bmRsZXI9c2VsZi5ob3N0LmV4ZWN1dGl2ZS5pZ25vcmVfZXJyb3IpLnN0cmlwKCkKKyAgICAgICAg
ICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAi
bGliR0wuc28iKSk6CisgICAgICAgICAgICAgICAgIyBGb3JjZSB0aGUgR2FsbGl1bSBsbHZtcGlw
ZSBzb2Z0d2FyZSByYXN0ZXJpemVyCisgICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZX1BB
VEgnXSA9IGxsdm1waXBlX2xpYmdsX3BhdGgKKwogICAgICAgICByZXR1cm4gZW52CiAKICAgICBk
ZWYgc3VwcG9ydHNfcGVyX3Rlc3RfdGltZW91dChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL2Vm
bC9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCmluZGV4IDk1MTNi
ZWUuLjViZDZlYmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKKysrIGIv
VG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwpAQCAtMjMsNiArMjMsNyBAQAogICAgICAgPGRlcCBw
YWNrYWdlPSJsaWJzZWNjb21wIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImF0ayIvPgogICAgICAg
PGRlcCBwYWNrYWdlPSJvcGVud2VicnRjIi8+CisgICAgICA8ZGVwIHBhY2thZ2U9Im1lc2EiLz4K
ICAgICA8L2RlcGVuZGVuY2llcz4KICAgPC9tZXRhbW9kdWxlPgogCkBAIC00MCw2ICs0MSw4IEBA
CiAgICAgICBocmVmPSJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmciLz4KICAgPHJlcG9zaXRvcnkg
dHlwZT0idGFyYmFsbCIgbmFtZT0iZnJlZWRlc2t0b3Aub3JnIgogICAgICAgaHJlZj0iaHR0cDov
L3d3dy5mcmVlZGVza3RvcC5vcmciLz4KKyAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFt
ZT0iZnRwLmZyZWVkZXNrdG9wLm9yZyIKKyAgICAgIGhyZWY9ImZ0cDovL2Z0cC5mcmVlZGVza3Rv
cC5vcmciLz4KICAgPHJlcG9zaXRvcnkgdHlwZT0idGFyYmFsbCIgbmFtZT0ibmljZS5mcmVlZGVz
a3RvcC5vcmciCiAgICAgICBocmVmPSJodHRwOi8vbmljZS5mcmVlZGVza3RvcC5vcmcvIi8+CiAg
IDxyZXBvc2l0b3J5IHR5cGU9InRhcmJhbGwiIG5hbWU9ImVubGlnaHRlbm1lbnQuZnIiCkBAIC0z
MzYsNCArMzM5LDE1IEBACiAgICAgPC9icmFuY2g+CiAgIDwvYXV0b3Rvb2xzPgogCisgIDxhdXRv
dG9vbHMgaWQ9Im1lc2EiIGF1dG9nZW5hcmdzPSItLWVuYWJsZS14bGliLWdseCAtLWRpc2FibGUt
ZHJpIC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9c3dyYXN0IiBza2lwLWluc3RhbGw9InRydWUiPgor
ICAgIDwhLS0tIFdBUk5JTkc6IEF0IGpoYnVpbGRyYywgd2hlbiB3ZSBkZWZpbmUgdGhlIHBhdGgg
dG8gdGhlIEdhbGxpdW0gbGx2bXBpcGUgc29mdHdhcmUgcmFzdGVyaXplciAobmVlZGVkIGJ5IFh2
ZmJEcml2ZXIpLAorICAgICAgICAgIHdlIGFzc3VtZSB0aGF0IHRoZSBkaXJlY3RvcnkgaXMgbmFt
ZWQgIk1lc2EiLiBTbywgZG9uJ3QgY2hhbmdlIHRoZSBjaGVja291dGRpciBuYW1lIGV2ZW4gaWYg
eW91IHVwZGF0ZSB0aGUgdmVyc2lvbi4gIC0tPgorICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL21l
c2EvMTAuMi4xL01lc2FMaWItMTAuMi4xLnRhci5iejIiIHZlcnNpb249IjEwLjIuMSIKKyAgICAg
ICAgICAgIGNoZWNrb3V0ZGlyPSJNZXNhIgorICAgICAgICAgICAgcmVwbz0iZnRwLmZyZWVkZXNr
dG9wLm9yZyIKKyAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0NjEyNzc5MDkyMDdkYTY4OWQ4MTUy
Y2ZiZjllMTgyZWE2ZjcwZTFlNjcyYWI2NGM2N2RmODM3MjVjOGQyYjU0Ij4KKyAgICAgIDxwYXRj
aCBmaWxlPSJtZXNhLWdhbGxpdm0tRml4LWJ1aWxkLWFmdGVyLUxMVk0tY29tbWl0LTIxMTI1OS5w
YXRjaCIgc3RyaXA9IjEiLz4KKyAgICA8L2JyYW5jaD4KKyAgPC9hdXRvdG9vbHM+CisKIDwvbW9k
dWxlc2V0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvZWZsL2poYnVpbGRyYyBiL1Rvb2xzL2VmbC9qaGJ1
aWxkcmMKaW5kZXggNjUwM2EyMS4uMjc2YzYzZiAxMDA2NDQKLS0tIGEvVG9vbHMvZWZsL2poYnVp
bGRyYworKysgYi9Ub29scy9lZmwvamhidWlsZHJjCkBAIC00MywzICs0Myw4IEBAIHBhcnRpYWxf
YnVpbGQgPSBGYWxzZQogCiBpZiBwbGF0Zm9ybS5wcm9jZXNzb3IoKSA9PSAnYWFyY2g2NCc6CiAg
ICAgc2tpcCA9ICJsaWJzZWNjb21wIgorCitpZiB1c2VfbGliNjQ6CisgICAgb3MuZW52aXJvblsn
TExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihjaGVj
a291dHJvb3QsICdNZXNhJywgJ2xpYjY0JywgJ2dhbGxpdW0nKSkKK2Vsc2U6CisgICAgb3MuZW52
aXJvblsnTExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p
bihjaGVja291dHJvb3QsICdNZXNhJywgJ2xpYicsICdnYWxsaXVtJykpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252385</attachid>
            <date>2015-05-05 08:36:39 -0700</date>
            <delta_ts>2015-05-05 08:36:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143561-20150505173522.patch</filename>
            <type>text/plain</type>
            <size>34296</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY3OGMzZGY4NTM0NjM3
MWY0Mjc4YjcwMjkwNGIzYjVkOGVkY2IwMi4uOGUyYTE1MjNmOTAyMGJhNzg1NTk2ZjY3MDE2ZDZm
MmE5MDY0ZDhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA1LTA1ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQzNTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgxb1hbiBEb2JlcsWhZWsu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFr
ZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybVdpbkNh
aXJvLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6
OnBhaW50VG9UZXh0dXJlTWFwcGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9JbWFnZUJ1ZmZlckNhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyRGF0
YTo6cGFpbnRUb1RleHR1cmVNYXBwZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50VG9UZXh0dXJlTWFw
cGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUlt
YWdlQnVmZmVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcFRleHR1cmVQb29sOjpjcmVhdGVUZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OnNldEZpbHRlcnMpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyOjpUZXh0dXJlTWFwcGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBl
cjo6YWNjZWxlcmF0aW9uTW9kZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJl
TWFwcGVyR0w6OlRleHR1cmVNYXBwZXJHTCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOiBSZW1v
dmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6c3VwcG9ydHNDb250ZW50c1RpbGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldFNob3VsZFN1
cHBvcnRDb250ZW50c1RpbGluZyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorCiAyMDE1
LTA1LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgU21hbGwgY2xlYW51cCBpbiBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTZkNTZhZTJmNzYzZmNmNjhiNTM2ZDg2M2IwNGUyMGZjY2Jm
OTI3NS4uOWZjYzQwZDEyMGI1MDIxNDBhNTA4YTEzYmIxMzFkODRlOGRlYTdmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTA1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNTYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgxb1hbiBEb2JlcsWhZWsuCisKKyAgICAgICAgKiBTaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250
ZXh0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpzZXROYXRpdmVTdXJmYWNl
SGFuZGxlRm9yQ29tcG9zaXRpbmcpOgorCiAyMDE1LTA1LTA1ICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU09VUF0gTmV0d29yayBDYWNoZTog
SU9DaGFubmVsIG9wZXJhdGlvbnMgYXJlIG5vdCBzZW50IHRvIHRoZSByaWdodCB0aHJlYWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggZmM5ZGYxYmRkNjNlMmNmM2I5ZWYwNzQ1ZGVmZjZiNDIyYWU4
OWE5MS4uZDZkZWIxZDc1ODkzMTRjZmUzMjYxOGYyMjVmNGYyOWQwOGQyYzA3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTIxOTQsNyArMjE5NCw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckFuaW1hdGlvbi5jcHAKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3Bw
Ci0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU3VyZmFjZUJhY2tpbmdT
dG9yZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGU2MzMwYzU4Njg0ZjVhNzA4N2VkMTQx
MWJmN2NlNGQxODI0NGYxYzkuLjc2NGIzMzZjMDhlMDAzZDM2NjEyY2Q3ODI1NjFhM2RkODg5MTE3
NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xODIsNyArMTgyLDYgQEAgbGlzdChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0
bWFwVGV4dHVyZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVy
ZUdMLmNwcAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlSW1hZ2VC
dWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29s
LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1h
cHBlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA4MTlmNWJiMzA5YmUxZGEwYjAxNDQ0ZmYx
YzkzNDk3OTYyYTNhZTc0Li5iNWQwOWI3ZWUxMjhhNmQ4ODE1NTU5NTk5YTk4OGEwYWM1ZDIyYTRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMzgzLDExICszODMsOSBAQCBpZiAoVVNF
X1RFWFRVUkVfTUFQUEVSKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZS5jcHAKICAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVHTC5jcHAKLSAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlci5jcHAKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAogICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCiAg
ICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCi0gICAg
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3Bw
CiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hhZGVyUHJv
Z3JhbS5jcHAKICAgICApCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1XaW5DYWlyby5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luQ2Fpcm8uY21h
a2UKaW5kZXggNzhiYjAxYTBiMDQxZjk5ZjEwYTc3NDI1YTgyMDQzN2JhZjA4ZGUwNy4uZjBhZDhh
ZDNlM2RjNzc1MWE3NTg3NzNhNDJlM2UyOTYxYWU0Y2I4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1XaW5DYWlyby5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bVdpbkNhaXJvLmNtYWtlCkBAIC01OSw3ICs1OSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmUuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVHTC5jcHAKLSAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCkBAIC02Nyw3ICs2Niw2IEBA
IGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAotICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJMYXllci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclNoYWRlclByb2dyYW0uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZS5jcHAKaW5kZXggMTZmMGJmNmNhM2U1MDY3YWQwNmUyMzQwYmVhNGY1MThlYTYxYzFjNi4uYjFj
ZGNjY2I2NzJmZjAyNWRmMjdmOGNhNzg3NGQ5M2YyZDEwNWYxMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFBy
aXZhdGUuY3BwCkBAIC04OSw0NSArODksNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlcgogCiAg
ICAgbV9jb250ZXh0LT5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7CiAKLSAgICAvLyBGSVhNRTogV2Ug
ZG8gbm90IHN1cHBvcnQgbWFzayBmb3IgdGhlIG1vbWVudCB3aXRoIFRleHR1cmVNYXBwZXJJbWFn
ZUJ1ZmZlci4KLSAgICBpZiAodGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpICE9IFRl
eHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUpIHsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0ID0gdGV4dHVyZU1hcHBlci0+Z3JhcGhpY3NDb250ZXh0KCk7Ci0gICAgICAgIGNvbnRleHQt
PnNhdmUoKTsKLSAgICAgICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnNldEdsb2JhbEFs
cGhhKG9wYWNpdHkpOwotCi0gICAgICAgIGNvbnN0IGludCBoZWlnaHQgPSBtX2NvbnRleHQtPm1f
Y3VycmVudEhlaWdodDsKLSAgICAgICAgY29uc3QgaW50IHdpZHRoID0gbV9jb250ZXh0LT5tX2N1
cnJlbnRXaWR0aDsKLSAgICAgICAgaW50IHRvdGFsQnl0ZXMgPSB3aWR0aCAqIGhlaWdodCAqIDQ7
Ci0KLSAgICAgICAgYXV0byBwaXhlbHMgPSBzdGQ6Om1ha2VfdW5pcXVlPHVuc2lnbmVkIGNoYXJb
XT4odG90YWxCeXRlcyk7Ci0gICAgICAgIGlmICghcGl4ZWxzKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIC8vIE9wZW5HTCBrZWVwcyB0aGUgcGl4ZWxzIHN0b3JlZCBib3R0b20gdXAs
IHNvIHdlIG5lZWQgdG8gZmxpcCB0aGUgaW1hZ2UgaGVyZS4KLSAgICAgICAgY29udGV4dC0+dHJh
bnNsYXRlKDAsIGhlaWdodCk7Ci0gICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZSgxLCAt
MSkpOwotCi0gICAgICAgIGNvbnRleHQtPmNvbmNhdENUTShtYXRyaXgudG9BZmZpbmVUcmFuc2Zv
cm0oKSk7Ci0KLSAgICAgICAgbV9jb250ZXh0LT5yZWFkUmVuZGVyaW5nUmVzdWx0cyhwaXhlbHMu
Z2V0KCksIHRvdGFsQnl0ZXMpOwotCi0gICAgICAgIC8vIFByZW11bHRpcGx5IGFscGhhLgotICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IHRvdGFsQnl0ZXM7IGkgKz0gNCkKLSAgICAgICAgICAg
IGlmIChwaXhlbHNbaSArIDNdICE9IDI1NSkgewotICAgICAgICAgICAgICAgIHBpeGVsc1tpICsg
MF0gPSBtaW4oMjU1LCBwaXhlbHNbaSArIDBdICogcGl4ZWxzW2kgKyAzXSAvIDI1NSk7Ci0gICAg
ICAgICAgICAgICAgcGl4ZWxzW2kgKyAxXSA9IG1pbigyNTUsIHBpeGVsc1tpICsgMV0gKiBwaXhl
bHNbaSArIDNdIC8gMjU1KTsKLSAgICAgICAgICAgICAgICBwaXhlbHNbaSArIDJdID0gbWluKDI1
NSwgcGl4ZWxzW2kgKyAyXSAqIHBpeGVsc1tpICsgM10gLyAyNTUpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGltYWdlU3VyZmFjZSA9IGFkb3B0UmVm
KGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKAotICAgICAgICAgICAgY29uc3Rf
Y2FzdDx1bnNpZ25lZCBjaGFyKj4ocGl4ZWxzLmdldCgpKSwgQ0FJUk9fRk9STUFUX0FSR0IzMiwg
d2lkdGgsIGhlaWdodCwgd2lkdGggKiA0KSk7Ci0KLSAgICAgICAgY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCktPmRyYXdTdXJmYWNlVG9Db250ZXh0KGltYWdlU3VyZmFjZS5nZXQoKSwgdGFyZ2V0
UmVjdCwgSW50UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KSwgY29udGV4dCk7Ci0KLSAgICAgICAg
Y29udGV4dC0+cmVzdG9yZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAjaWYgVVNFKFRF
WFRVUkVfTUFQUEVSX0dMKQogICAgIGlmIChtX2NvbnRleHQtPm1fYXR0cnMuYW50aWFsaWFzICYm
IG1fY29udGV4dC0+bV9zdGF0ZS5ib3VuZEZCTyA9PSBtX2NvbnRleHQtPm1fbXVsdGlzYW1wbGVG
Qk8pIHsKICAgICAgICAgR0xDb250ZXh0KiBwcmV2aW91c0FjdGl2ZUNvbnRleHQgPSBHTENvbnRl
eHQ6OmdldEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXggYTMzNWIwNWNhYjVl
OGU5YjA3NzE5ZWYzNzE5MjQ1ODdlYTI4MGQ1YS4uZDYxYTM0M2YzZGFkNzhmMWI5OTZjODJiMDJi
ZDQxNDdjZDlmYzhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vSW1hZ2VCdWZmZXJDYWlyby5jcHAKQEAgLTM5NiwxMSArMzk2LDYg
QEAgU3RyaW5nIEltYWdlQnVmZmVyOjp0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
Y29uc3QgZG91YmxlKiwgQ29vcmRpbmF0ZVMKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FO
VkFTKQogdm9pZCBJbWFnZUJ1ZmZlckRhdGE6OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVN
YXBwZXIqIHRleHR1cmVNYXBwZXIsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSkKIHsKLSAgICBpZiAo
dGV4dHVyZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpICE9IFRleHR1cmVNYXBwZXI6Ok9wZW5H
TE1vZGUpIHsKLSAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIEFTU0VSVChtX3RleHR1cmUpOwogCiAgICAgLy8gQ2Fpcm8gbWF5IGNoYW5nZSB0
aGUgYWN0aXZlIGNvbnRleHQsIHNvIHdlIG1ha2Ugc3VyZSB0byBjaGFuZ2UgaXQgYmFjayBhZnRl
ciBmbHVzaGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlLmNwcAppbmRleCBiMDBiN2Y4YTkxZmU1MWE5ODVjZTU3OTM2YjdlNjJlOWE2NmUy
NmEyLi4zMThhNGY1ZTRlOTA5ZGQyYjUwZjc3ZjRlZDllYTAyZDNkOWQ4ZTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC01
MzAsOSArNTMwLDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWlu
dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2EKICNpZiBVU0UoVEVYVFVSRV9N
QVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIq
IHRleHR1cmVNYXBwZXIsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIG1hdHJpeCwgZmxvYXQgb3BhY2l0eSkKIHsKLSAgICBpZiAodGV4dHVy
ZU1hcHBlci0+YWNjZWxlcmF0aW9uTW9kZSgpICE9IFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUp
Ci0gICAgICAgIHJldHVybjsKLQogICAgIGlmICghbV9wbGF5ZXItPnZpc2libGUoKSkKICAgICAg
ICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjQxYWM4OGQyZjQ3MDRiNzUzMTlkYzA5M2UzNDJk
Zjk5MDI4OWEyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlSW1h
Z2VCdWZmZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKLSAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgiCi0KLSNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdm9pZCBC
aXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEs
IGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEludFBvaW50JiBzb3VyY2VPZmZzZXQs
IGludCBieXRlc1BlckxpbmUsIFVwZGF0ZUNvbnRlbnRzRmxhZykKLXsKLSNpZiBQTEFURk9STShD
QUlSTykKLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gYWRvcHRSZWYoY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cio+KGRhdGEoKSksCi0gICAgICAgIENBSVJPX0ZPUk1BVF9BUkdCMzIsIHRhcmdldFJlY3Qud2lk
dGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgYnl0ZXNQZXJMaW5lKSk7Ci0gICAgbV9pbWFnZS0+
Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+ZHJhd1N1cmZhY2VUb0NvbnRleHQoc3VyZmFj
ZS5nZXQoKSwgdGFyZ2V0UmVjdCwKLSAgICAgICAgSW50UmVjdChzb3VyY2VPZmZzZXQsIHRhcmdl
dFJlY3Quc2l6ZSgpKSwgbV9pbWFnZS0+Y29udGV4dCgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTSh0YXJnZXRSZWN0KTsKLSAgICBVTlVTRURfUEFS
QU0oc291cmNlT2Zmc2V0KTsKLSAgICBVTlVTRURfUEFSQU0oYnl0ZXNQZXJMaW5lKTsKLSNlbmRp
ZgotfQotCi12b2lkIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcjo6dXBkYXRlQ29udGVudHMoVGV4
dHVyZU1hcHBlciosIEdyYXBoaWNzTGF5ZXIqIHNvdXJjZUxheWVyLCBjb25zdCBJbnRSZWN0JiB0
YXJnZXRSZWN0LCBjb25zdCBJbnRQb2ludCYgc291cmNlT2Zmc2V0LCBVcGRhdGVDb250ZW50c0Zs
YWcpCi17Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gbV9pbWFnZS0+Y29udGV4dCgp
OwotCi0gICAgY29udGV4dC0+Y2xlYXJSZWN0KHRhcmdldFJlY3QpOwotCi0gICAgSW50UmVjdCBz
b3VyY2VSZWN0KHRhcmdldFJlY3QpOwotICAgIHNvdXJjZVJlY3Quc2V0TG9jYXRpb24oc291cmNl
T2Zmc2V0KTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+Y2xpcCh0YXJnZXRS
ZWN0KTsKLSAgICBjb250ZXh0LT50cmFuc2xhdGUodGFyZ2V0UmVjdC54KCkgLSBzb3VyY2VPZmZz
ZXQueCgpLCB0YXJnZXRSZWN0LnkoKSAtIHNvdXJjZU9mZnNldC55KCkpOwotICAgIHNvdXJjZUxh
eWVyLT5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cygqY29udGV4dCwgc291cmNlUmVjdCk7Ci0g
ICAgY29udGV4dC0+cmVzdG9yZSgpOwotfQotCi12b2lkIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZl
cjo6ZGlkUmVzZXQoKQotewotICAgIG1faW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNvbnRl
bnRTaXplKCkpOwotfQotCi12b2lkIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcjo6dXBkYXRlQ29u
dGVudHMoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBJbnRQ
b2ludCYgb2Zmc2V0LCBVcGRhdGVDb250ZW50c0ZsYWcpCi17Ci0gICAgbV9pbWFnZS0+Y29udGV4
dCgpLT5kcmF3SW1hZ2UoaW1hZ2UsIENvbG9yU3BhY2VEZXZpY2VSR0IsIHRhcmdldFJlY3QsIElu
dFJlY3Qob2Zmc2V0LCB0YXJnZXRSZWN0LnNpemUoKSksIENvbXBvc2l0ZUNvcHkpOwotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0OGQyZGVlOTg3MDNhZjkyMWMxZjNlNDkw
Mzk0ZTRjN2RmOGIxYjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVJbWFnZUJ1ZmZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKLSAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIEJpdG1hcFRleHR1cmVJbWFnZUJ1ZmZlcl9oCi0jZGVmaW5lIEJpdG1hcFRleHR1cmVJbWFn
ZUJ1ZmZlcl9oCi0KLSNpbmNsdWRlICJCaXRtYXBUZXh0dXJlLmgiCi0jaW5jbHVkZSAiSW1hZ2VC
dWZmZXIuaCIKLSNpbmNsdWRlICJJbnRSZWN0LmgiCi0jaW5jbHVkZSAiSW50U2l6ZS5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLQotY2xhc3MgQml0
bWFwVGV4dHVyZUltYWdlQnVmZmVyIDogcHVibGljIEJpdG1hcFRleHR1cmUgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIpOyB9Ci0gICAgdmlydHVhbCBJbnRT
aXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlLT5pbnRlcm5hbFNpemUoKTsgfQotICAg
IHZpcnR1YWwgdm9pZCBkaWRSZXNldCgpOwotICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkKCkgY29u
c3QgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQotICAgIGlubGluZSBHcmFwaGljc0NvbnRleHQq
IGdyYXBoaWNzQ29udGV4dCgpIHsgcmV0dXJuIG1faW1hZ2UgPyBtX2ltYWdlLT5jb250ZXh0KCkg
OiAwOyB9Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRlbnRzKEltYWdlKiwgY29uc3QgSW50
UmVjdCYsIGNvbnN0IEludFBvaW50JiwgVXBkYXRlQ29udGVudHNGbGFnKTsKLSAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQ29udGVudHMoVGV4dHVyZU1hcHBlciosIEdyYXBoaWNzTGF5ZXIqLCBjb25z
dCBJbnRSZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBvZmZzZXQsIFVwZGF0ZUNvbnRlbnRz
RmxhZyk7Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqLCBjb25z
dCBJbnRSZWN0JiB0YXJnZXQsIGNvbnN0IEludFBvaW50JiBzb3VyY2VPZmZzZXQsIGludCBieXRl
c1BlckxpbmUsIFVwZGF0ZUNvbnRlbnRzRmxhZyk7Ci0gICAgUGFzc1JlZlB0cjxCaXRtYXBUZXh0
dXJlPiBhcHBseUZpbHRlcnMoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMm
KTsKLSAgICBJbWFnZUJ1ZmZlciogaW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlLmdldCgp
OyB9Ci0KLXByaXZhdGU6Ci0gICAgQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyKCkgeyB9Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBtX2ltYWdlOwotfTsKLQotfQotCi0jZW5kaWYg
Ly8gQml0bWFwVGV4dHVyZUltYWdlQnVmZmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmlu
ZGV4IGE0NDQyODA1ZjkyOWJiMGExNTBmYjk4NWViN2Y5YzhmZTYyZjdiOGQuLmVkYjRjY2ZlMWYx
MDNhMzJiZGFiOTMzOTA4ODk5N2Y4MmM4OTc3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNw
cApAQCAtMTA2LDggKzEwNiw2IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gQml0bWFwVGV4
dHVyZVBvb2w6OmNyZWF0ZVRleHR1cmUoKQogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKICAg
ICBCaXRtYXBUZXh0dXJlR0wqIHRleHR1cmUgPSBuZXcgQml0bWFwVGV4dHVyZUdMKG1fY29udGV4
dDNEKTsKICAgICByZXR1cm4gYWRvcHRSZWYodGV4dHVyZSk7Ci0jZWxzZQotICAgIHJldHVybiBC
aXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmNyZWF0ZSgpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0xheWVy
VGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwCmluZGV4IDJlN2ZjNWRkODZiZjQyYzNk
YWM2MDBhMDA3NmE3YzRhMTVkNDJlOWMuLjVhODA3MjA1Y2E3MTAwZWZmODIzOTRiNTZkMWUxZjk0
NjllODcxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9HcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNwcApA
QCAtNjAyLDggKzYwMiw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI6OnJlbW92
ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUpCiBib29sIEdyYXBoaWNzTGF5
ZXJUZXh0dXJlTWFwcGVyOjpzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIGZpbHRl
cnMpCiB7CiAgICAgVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciA9IG1fbGF5ZXIudGV4dHVy
ZU1hcHBlcigpOwotICAgIC8vIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlciBkb2VzIG5vdCBzdXBw
b3J0IENTUyBmaWx0ZXJzLgotICAgIGlmICghdGV4dHVyZU1hcHBlciB8fCB0ZXh0dXJlTWFwcGVy
LT5hY2NlbGVyYXRpb25Nb2RlKCkgPT0gVGV4dHVyZU1hcHBlcjo6U29mdHdhcmVNb2RlKQorICAg
IGlmICghdGV4dHVyZU1hcHBlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG5vdGlmeUNo
YW5nZShGaWx0ZXJDaGFuZ2UpOwogICAgIHJldHVybiBHcmFwaGljc0xheWVyOjpzZXRGaWx0ZXJz
KGZpbHRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCmluZGV4IDAzM2E2MWU3N2QzZjM0MWUwMzMyYmFj
ZThmY2M2NTJlMGM4Zjg1NzUuLjRjZTc4NTkxMWEzY2I1ODRlOWNkODFkZGVmOGZmNTg2YTU4MDMy
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlICJCaXRt
YXBUZXh0dXJlUG9vbC5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0xheWVyLmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgi
CiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApAQCAt
MzgsMTggKzM3LDE1IEBAIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gVGV4dHVyZU1hcHBlcjo6
YWNxdWlyZVRleHR1cmVGcm9tUG9vbChjb25zdCBJbnRTaXplJiBzCiAgICAgcmV0dXJuIHNlbGVj
dGVkVGV4dHVyZS5yZWxlYXNlKCk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVy
PiBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoQWNjZWxlcmF0aW9uTW9kZSBtb2RlKQorc3RkOjp1bmlx
dWVfcHRyPFRleHR1cmVNYXBwZXI+IFRleHR1cmVNYXBwZXI6OmNyZWF0ZSgpCiB7Ci0gICAgaWYg
KG1vZGUgPT0gU29mdHdhcmVNb2RlKQotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxU
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI+KCk7CiAgICAgcmV0dXJuIHBsYXRmb3JtQ3JlYXRlQWNj
ZWxlcmF0ZWQoKTsKIH0KIAotVGV4dHVyZU1hcHBlcjo6VGV4dHVyZU1hcHBlcihBY2NlbGVyYXRp
b25Nb2RlIGFjY2VsZXJhdGlvbk1vZGUpCitUZXh0dXJlTWFwcGVyOjpUZXh0dXJlTWFwcGVyKCkK
ICAgICA6IG1fY29udGV4dCgwKQogICAgICwgbV9pbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBv
bGF0aW9uRGVmYXVsdCkKICAgICAsIG1fdGV4dERyYXdpbmdNb2RlKFRleHRNb2RlRmlsbCkKLSAg
ICAsIG1fYWNjZWxlcmF0aW9uTW9kZShhY2NlbGVyYXRpb25Nb2RlKQogICAgICwgbV9pc01hc2tN
b2RlKGZhbHNlKQogICAgICwgbV93cmFwTW9kZShTdHJldGNoV3JhcCkKIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
LmgKaW5kZXggOTdlMjNlNTc3MDY1YjVjMjJlZGExODMyNzI0NjhkNzZkZWY0ZTJhZS4uNjVjOTg3
MjI4ZDhhOTk4YzI0YzE4M2Q3Yjk3NjQ2MTc0MDkzMzIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC00
Nyw3ICs0Nyw2IEBAIGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7CiBjbGFzcyBUZXh0dXJlTWFwcGVy
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBlbnVtIEFjY2Vs
ZXJhdGlvbk1vZGUgeyBTb2Z0d2FyZU1vZGUsIE9wZW5HTE1vZGUgfTsKICAgICBlbnVtIFBhaW50
RmxhZyB7CiAgICAgICAgIFBhaW50aW5nTWlycm9yZWQgPSAxIDw8IDAsCiAgICAgfTsKQEAgLTU5
LDkgKzU4LDkgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiB1bnNpZ25lZCBQYWludEZsYWdzOwog
Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyPiBjcmVhdGUoQWNjZWxl
cmF0aW9uTW9kZSBuZXdNb2RlID0gU29mdHdhcmVNb2RlKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPFRleHR1cmVNYXBwZXI+IGNyZWF0ZSgpOwogCi0gICAgZXhwbGljaXQgVGV4dHVyZU1h
cHBlcihBY2NlbGVyYXRpb25Nb2RlKTsKKyAgICBleHBsaWNpdCBUZXh0dXJlTWFwcGVyKCk7CiAg
ICAgdmlydHVhbCB+VGV4dHVyZU1hcHBlcigpOwogCiAgICAgZW51bSBFeHBvc2VkRWRnZXMgewpA
QCAtOTMsNyArOTIsNiBAQCBwdWJsaWM6CiAKICAgICBJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFn
ZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnBvbGF0aW9uUXVh
bGl0eTsgfQogICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3aW5nTW9kZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdGV4dERyYXdpbmdNb2RlOyB9Ci0gICAgQWNjZWxlcmF0aW9uTW9kZSBhY2Nl
bGVyYXRpb25Nb2RlKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRpb25Nb2RlOyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5QYWludGluZyhQYWludEZsYWdzID0gMCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGVuZFBhaW50aW5nKCkgeyB9CkBAIC0xMjYsNyArMTI0LDYgQEAgcHJpdmF0ZToK
ICNlbmRpZgogICAgIEludGVycG9sYXRpb25RdWFsaXR5IG1faW50ZXJwb2xhdGlvblF1YWxpdHk7
CiAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgbV90ZXh0RHJhd2luZ01vZGU7Ci0gICAgQWNjZWxl
cmF0aW9uTW9kZSBtX2FjY2VsZXJhdGlvbk1vZGU7CiAgICAgYm9vbCBtX2lzTWFza01vZGU7CiAg
ICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9wYXR0ZXJuVHJhbnNmb3JtOwogICAgIFdyYXBNb2Rl
IG1fd3JhcE1vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDYwZjk5NDgwZGUxNDgxNzEy
MTY3NzYyYzQ3NzFmZTY5NDQ1OWU3OGUuLjBiY2U4Yzc0MjBkN2QwYTQ0YjMwOWUyNmY1NjZhOTIx
OTNlNDg2MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0yNDEsOCArMjQxLDcgQEAgdm9p
ZCBUZXh0dXJlTWFwcGVyR0xEYXRhOjppbml0aWFsaXplU3RlbmNpbCgpCiB9CiAKIFRleHR1cmVN
YXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkKLSAgICA6IFRleHR1cmVNYXBwZXIoT3BlbkdMTW9k
ZSkKLSAgICAsIG1fZW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKGZhbHNlKQorICAgIDog
bV9lbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcoZmFsc2UpCiB7CiAgICAgbV9jb250ZXh0
M0QgPSBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlRm9yQ3VycmVudEdMQ29udGV4dCgpOwogICAg
IG1fZGF0YSA9IG5ldyBUZXh0dXJlTWFwcGVyR0xEYXRhKG1fY29udGV4dDNELmdldCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVySW1hZ2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQ2Zjg3ZTEzMGI4NTU4NWE5ZjliY2RmODBmNTViMzVmMzNlYzhjZGIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotLyoKLSBDb3B5cmlnaHQgKEMpIDIwMTIgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuaCIKLQotI2luY2x1ZGUgIkJpdG1hcFRleHR1cmVQb29sLmgiCi0jaW5jbHVk
ZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0KLSNpZiBV
U0UoVEVYVFVSRV9NQVBQRVIpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBjb25zdCBp
bnQgc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uID0gNDA5NjsKLQotVGV4dHVy
ZU1hcHBlckltYWdlQnVmZmVyOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIoKQotICAgIDogVGV4
dHVyZU1hcHBlcihTb2Z0d2FyZU1vZGUpCi17Ci0gICAgbV90ZXh0dXJlUG9vbCA9IHN0ZDo6bWFr
ZV91bmlxdWU8Qml0bWFwVGV4dHVyZVBvb2w+KCk7Ci19Ci0KLUludFNpemUgVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyOjptYXhUZXh0dXJlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEludFNp
emUoc19tYXhpbXVtQWxsb3dlZEltYWdlQnVmZmVyRGltZW5zaW9uLCBzX21heGltdW1BbGxvd2Vk
SW1hZ2VCdWZmZXJEaW1lbnNpb24pOwotfQotCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
cjo6YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgsIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50
Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJM
RSgzRF9UUkFOU0ZPUk1TKQotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHByZXZpb3VzVHJhbnNm
b3JtID0gY29udGV4dC0+Z2V0M0RUcmFuc2Zvcm0oKTsKLSNlbHNlCi0gICAgQWZmaW5lVHJhbnNm
b3JtIHByZXZpb3VzVHJhbnNmb3JtID0gY29udGV4dC0+Z2V0Q1RNKCk7Ci0jZW5kaWYKLSAgICBj
b250ZXh0LT5zYXZlKCk7Ci0KLSNpZiBFTkFCTEUoM0RfVFJBTlNGT1JNUykKLSAgICBjb250ZXh0
LT5jb25jYXQzRFRyYW5zZm9ybShtYXRyaXgpOwotI2Vsc2UKLSAgICBjb250ZXh0LT5jb25jYXRD
VE0obWF0cml4LnRvQWZmaW5lVHJhbnNmb3JtKCkpOwotI2VuZGlmCi0KLSAgICBjb250ZXh0LT5j
bGlwKHJlY3QpOwotCi0jaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpCi0gICAgY29udGV4dC0+c2V0
M0RUcmFuc2Zvcm0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2Vsc2UKLSAgICBjb250ZXh0LT5zZXRD
VE0ocHJldmlvdXNUcmFuc2Zvcm0pOwotI2VuZGlmCi19Ci0KLXZvaWQgVGV4dHVyZU1hcHBlcklt
YWdlQnVmZmVyOjpkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiB0ZXh0dXJlLCBjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRy
aXgsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIC8qIGV4cG9zZWRFZGdlcyAqLykKLXsKLSAgICBH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBjdXJyZW50Q29udGV4dCgpOwotICAgIGlmICghY29u
dGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY29uc3QgQml0bWFwVGV4dHVyZUltYWdlQnVm
ZmVyJiB0ZXh0dXJlSW1hZ2VCdWZmZXIgPSBzdGF0aWNfY2FzdDxjb25zdCBCaXRtYXBUZXh0dXJl
SW1hZ2VCdWZmZXImPih0ZXh0dXJlKTsKLSAgICBJbWFnZUJ1ZmZlciogaW1hZ2UgPSB0ZXh0dXJl
SW1hZ2VCdWZmZXIuaW1hZ2UoKTsKLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+
c2V0Q29tcG9zaXRlT3BlcmF0aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9zaXRlRGVzdGluYXRp
b25JbiA6IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIGNvbnRleHQtPnNldEFscGhhKG9wYWNp
dHkpOwotI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQotICAgIGNvbnRleHQtPmNvbmNhdDNEVHJh
bnNmb3JtKG1hdHJpeCk7Ci0jZWxzZQotICAgIGNvbnRleHQtPmNvbmNhdENUTShtYXRyaXgudG9B
ZmZpbmVUcmFuc2Zvcm0oKSk7Ci0jZW5kaWYKLSAgICBjb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW1hZ2UsIENvbG9yU3BhY2VEZXZpY2VSR0IsIHRhcmdldFJlY3QpOwotICAgIGNvbnRleHQtPnJl
c3RvcmUoKTsKLX0KLQotdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdTb2xpZENv
bG9yKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1h
dHJpeCwgY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCA9IGN1cnJlbnRDb250ZXh0KCk7Ci0gICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0
aW9uKGlzSW5NYXNrTW9kZSgpID8gQ29tcG9zaXRlRGVzdGluYXRpb25JbiA6IENvbXBvc2l0ZVNv
dXJjZU92ZXIpOwotI2lmIEVOQUJMRSgzRF9UUkFOU0ZPUk1TKQotICAgIGNvbnRleHQtPmNvbmNh
dDNEVHJhbnNmb3JtKG1hdHJpeCk7Ci0jZWxzZQotICAgIGNvbnRleHQtPmNvbmNhdENUTShtYXRy
aXgudG9BZmZpbmVUcmFuc2Zvcm0oKSk7Ci0jZW5kaWYKLQotICAgIGNvbnRleHQtPmZpbGxSZWN0
KHJlY3QsIGNvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LT5yZXN0b3Jl
KCk7Ci19Ci0KLXZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3Qm9yZGVyKGNvbnN0
IENvbG9yJiwgZmxvYXQgLyogYm9yZGVyV2lkdGggKi8sIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12
b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd051bWJlcihpbnQgLyogbnVtYmVyICov
LCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotUGFzc1JlZlB0cjxCaXRtYXBU
ZXh0dXJlPiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmFwcGx5RmlsdGVycyhUZXh0dXJlTWFw
cGVyKiwgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJJbWFnZUJ1ZmZlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDE3MTkzZTlh
OGI3NDg1MThhNzE3ZWIxYTRlYWQzOTEyYTU5NjJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICsw
LDAgQEAKLS8qCi0gQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotCi0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVmIFRl
eHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcl9oCi0jZGVmaW5lIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
cl9oCi0KLSNpbmNsdWRlICJCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJJ
bWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIuaCIKLQotI2lmIFVTRShURVhU
VVJFX01BUFBFUikKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgVGV4dHVyZU1hcHBlcklt
YWdlQnVmZmVyIDogcHVibGljIFRleHR1cmVNYXBwZXIgewotICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwotcHVibGljOgotICAgIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcigpOwotCi0gICAg
Ly8gVGV4dHVyZU1hcHBlciBpbXBsZW1lbnRhdGlvbgotICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9y
ZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNv
bnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGRy
YXdOdW1iZXIoaW50IG51bWJlciwgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29u
c3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJh
d1RleHR1cmUoY29uc3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVj
dCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCB1bnNpZ25lZCBl
eHBvc2VkRWRnZXMpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihj
b25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9y
Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luQ2xpcChjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYsIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9p
ZCBiaW5kU3VyZmFjZShCaXRtYXBUZXh0dXJlKiBzdXJmYWNlKSBvdmVycmlkZSB7IG1fY3VycmVu
dFN1cmZhY2UgPSBzdXJmYWNlO30KLSAgICB2aXJ0dWFsIHZvaWQgZW5kQ2xpcCgpIG92ZXJyaWRl
IHsgZ3JhcGhpY3NDb250ZXh0KCktPnJlc3RvcmUoKTsgfQotICAgIHZpcnR1YWwgSW50UmVjdCBj
bGlwQm91bmRzKCkgb3ZlcnJpZGUgeyByZXR1cm4gY3VycmVudENvbnRleHQoKS0+Y2xpcEJvdW5k
cygpOyB9Ci0gICAgdmlydHVhbCBJbnRTaXplIG1heFRleHR1cmVTaXplKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPEJpdG1hcFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoKSBvdmVycmlk
ZSB7IHJldHVybiBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZmZXI6OmNyZWF0ZSgpOyB9Ci0KLSAgICBp
bmxpbmUgR3JhcGhpY3NDb250ZXh0KiBjdXJyZW50Q29udGV4dCgpCi0gICAgewotICAgICAgICBy
ZXR1cm4gbV9jdXJyZW50U3VyZmFjZSA/IHN0YXRpY19jYXN0PEJpdG1hcFRleHR1cmVJbWFnZUJ1
ZmZlcio+KG1fY3VycmVudFN1cmZhY2UuZ2V0KCkpLT5ncmFwaGljc0NvbnRleHQoKSA6IGdyYXBo
aWNzQ29udGV4dCgpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBSZWZQdHI8Qml0bWFwVGV4dHVy
ZT4gbV9jdXJyZW50U3VyZmFjZTsKLX07Ci0KLX0KLSNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQ
RVIpCi0KLSNlbmRpZiAvLyBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXJfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBv
c2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDFhMWMy
NjdmNGM3MTkzNGM2MjcwZjU4ZTdhMTA5ZDkzZTY2NjlhNzkuLjM2OTQ1MjE0MDczNTRlOGZmZjAw
MzllN2RkNjJkMzNjMmRhMDYyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTY1LDEwICs2NSw2IEBAIENvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3IoUGFnZSogcGFnZSwgQ29tcG9zaXRp
bmdDb29yZGluYXRvCiAjZW5kaWYKIHsKICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0QXBwbHlE
ZXZpY2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcih0cnVlKTsKLQotICAgIC8vIFRoaXMgaXMgYSB0
ZW1wb3Jhcnkgd2F5IHRvIGVuYWJsZSB0aGlzIG9ubHkgaW4gdGhlIEdMIGNhc2UsIHVudGlsIFRl
eHR1cmVNYXBwZXJJbWFnZUJ1ZmZlciBpcyByZW1vdmVkLgotICAgIC8vIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0ODY5Ci0gICAgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjpzZXRTaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmcodHJ1ZSk7CiB9CiAKIHZv
aWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoR3JhcGhp
Y3NMYXllciogY29tcG9zaXRpbmdMYXllciwgR3JhcGhpY3NMYXllciogb3ZlcmxheUxheWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
LmNwcAppbmRleCBiYWMyMDdjODQ3ZWU1M2U4OTljMzMyMjVmOWYzMzc4ZDg4YjYxYTE1Li43OTll
MmM3NjdlMjE2NzQ2YmMzZjUxZjA0MzYwMzJjZmI3YzFmODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtMzY2LDE2
ICszNjYsOSBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0Q29udGVudHNUaWxl
UGhhc2UoY29uc3QgRmxvYXRTaXplJiBwKQogICAgIGRpZENoYW5nZUxheWVyU3RhdGUoKTsKIH0K
IAotc3RhdGljIGJvb2wgc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmcgPSBmYWxzZTsKLQot
dm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldFNob3VsZFN1cHBvcnRDb250ZW50c1Rp
bGluZyhib29sIHMpCi17Ci0gICAgc19zaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmcgPSBzOwot
fQotCiBib29sIEdyYXBoaWNzTGF5ZXI6OnN1cHBvcnRzQ29udGVudHNUaWxpbmcoKQogewotICAg
IHJldHVybiBzX3Nob3VsZFN1cHBvcnRDb250ZW50c1RpbGluZzsKKyAgICByZXR1cm4gdHJ1ZTsK
IH0KIAogdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzTmVlZHNEaXNw
bGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuaAppbmRleCBhMjE2YWQ1YTkzM2FjYmI1MDU2ZjI0NjZhNzAyMWNjYjA5ODVhMDllLi4x
MDkxZWQzNTVhMzcyZGQyMjE2YTMyMjcwMTNmNDY4ZDZhMTJlM2E5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCkBAIC0xNDcsNyAr
MTQ3LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TmVlZHNWaXNpYmxlUmVjdEFkanVzdG1lbnQo
KTsKICAgICB2b2lkIHB1cmdlQmFja2luZ1N0b3JlcygpOwogCi0gICAgc3RhdGljIHZvaWQgc2V0
U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nKGJvb2wpOwogICAgIENvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllciogZmluZEZpcnN0RGVzY2VuZGFudFdpdGhDb250ZW50c1JlY3Vyc2l2ZWx5KCk7CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAppbmRl
eCBlNjc5MzJmNjQyYmZjNTM2NDA0MWE0MWZjNjkxYjQyODhiNDFiYzc2Li5hZWIxMjIzOGU3NjQz
M2UzZjQ0Y2JkYjQyMzE4ZGU2YjE2ZDEzNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjp+Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgbWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0LCBjb25z
dCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBib29sIGRyYXdzQmFja2dyb3VuZCwgY29uc3QgRmxv
YXRQb2ludCYgY29udGVudFBvc2l0aW9uLCBUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzIFBhaW50
RmxhZ3MpCiB7CiAgICAgaWYgKCFtX3RleHR1cmVNYXBwZXIpIHsKLSAgICAgICAgbV90ZXh0dXJl
TWFwcGVyID0gVGV4dHVyZU1hcHBlcjo6Y3JlYXRlKFRleHR1cmVNYXBwZXI6Ok9wZW5HTE1vZGUp
OworICAgICAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoKTsKICAg
ICAgICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90ZXh0dXJlTWFwcGVyLmdldCgp
KS0+c2V0RW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKHRydWUpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVI
b3N0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJU
cmVlSG9zdEd0ay5jcHAKaW5kZXggZmEyYzY5M2E3OTIwZGM3YWJjOGJhYWE4ZTYzMTUwMTMwNWE1
ZDMzMy4uYmI3MmVkMjBlZDJmMjM4M2UzZWE2MGVhYTRlNWE4MDc3NjdlODJlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJl
ZUhvc3RHdGsuY3BwCkBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjpz
ZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQogCiAg
ICAgQVNTRVJUKG1faXNWYWxpZCk7CiAgICAgQVNTRVJUKCFtX3RleHR1cmVNYXBwZXIpOwotICAg
IG1fdGV4dHVyZU1hcHBlciA9IFRleHR1cmVNYXBwZXI6OmNyZWF0ZShUZXh0dXJlTWFwcGVyOjpP
cGVuR0xNb2RlKTsKKyAgICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUo
KTsKICAgICBzdGF0aWNfY2FzdDxUZXh0dXJlTWFwcGVyR0wqPihtX3RleHR1cmVNYXBwZXIuZ2V0
KCkpLT5zZXRFbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcodHJ1ZSk7CiAgICAgZG93bmNh
c3Q8R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI+KCptX3Jvb3RMYXllcikubGF5ZXIoKS5zZXRU
ZXh0dXJlTWFwcGVyKG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>