<?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>80482</bug_id>
          
          <creation_ts>2012-03-06 21:12:57 -0800</creation_ts>
          <short_desc>Rename notification properties and functions</short_desc>
          <delta_ts>2012-04-01 16:15:57 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80497</dependson>
          <blocked>80472</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572501</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-06 21:12:57 -0800</bug_when>
    <thetext>Proposal:
1. replaceId -&gt; id
2. cancel -&gt; close

&lt;rdar://problem/10912432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573358</commentid>
    <comment_count>1</comment_count>
      <attachid>130724</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 16:40:06 -0800</bug_when>
    <thetext>Created attachment 130724
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573378</commentid>
    <comment_count>2</comment_count>
      <attachid>130729</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 17:05:34 -0800</bug_when>
    <thetext>Created attachment 130729
WIP #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573450</commentid>
    <comment_count>3</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 18:16:37 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Proposal:
&gt; 1. replaceId -&gt; id
&gt; 2. cancel -&gt; close

Is this speced?

It appears that the spec uses replaceId and cancel():

http://www.w3.org/TR/notifications/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573451</commentid>
    <comment_count>4</comment_count>
      <attachid>130729</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-07 18:17:30 -0800</bug_when>
    <thetext>Comment on attachment 130729
WIP #2

Attachment 130729 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11865047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573494</commentid>
    <comment_count>5</comment_count>
      <attachid>130729</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 19:17:11 -0800</bug_when>
    <thetext>Comment on attachment 130729
WIP #2

Attachment 130729 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11867056</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573504</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 19:43:06 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #0)
&gt; &gt; Proposal:
&gt; &gt; 1. replaceId -&gt; id
&gt; &gt; 2. cancel -&gt; close
&gt; 
&gt; Is this speced?
&gt; 
&gt; It appears that the spec uses replaceId and cancel():
&gt; 
&gt; http://www.w3.org/TR/notifications/

No this is not agreed upon in the spec yet. It&apos;s still under discussion. But I decided to post the patch up anyway to get the EWS results. Anyway, I don&apos;t intend on submitting this until there&apos;s been discussion and agreement in the WG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573507</commentid>
    <comment_count>7</comment_count>
      <attachid>130729</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-07 19:45:19 -0800</bug_when>
    <thetext>Comment on attachment 130729
WIP #2

&gt; No this is not agreed upon in the spec yet. It&apos;s still under discussion. But I decided to post the patch up anyway to get the EWS results. Anyway, I don&apos;t intend on submitting this until there&apos;s been discussion and agreement in the WG.

OK, let me invalidate r?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573685</commentid>
    <comment_count>8</comment_count>
      <attachid>130729</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-08 00:26:56 -0800</bug_when>
    <thetext>Comment on attachment 130729
WIP #2

Attachment 130729 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11865179</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574177</commentid>
    <comment_count>9</comment_count>
      <attachid>130900</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-08 14:05:44 -0800</bug_when>
    <thetext>Created attachment 130900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574185</commentid>
    <comment_count>10</comment_count>
      <attachid>130900</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-08 14:11:50 -0800</bug_when>
    <thetext>Comment on attachment 130900
Patch

r- due to no consensus on the spec.

You can upload the patch with the &quot;--no-review&quot; option, if you do not intend to have the patch be reviewed. If you want to see the ews-bot results, you can just click &quot;Submit for EWS analysis&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578185</commentid>
    <comment_count>11</comment_count>
      <attachid>131792</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 23:31:46 -0700</bug_when>
    <thetext>Created attachment 131792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578190</commentid>
    <comment_count>12</comment_count>
      <attachid>131793</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-13 23:37:15 -0700</bug_when>
    <thetext>Created attachment 131793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593092</commentid>
    <comment_count>13</comment_count>
      <attachid>135015</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-01 15:25:31 -0700</bug_when>
    <thetext>Created attachment 135015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593093</commentid>
    <comment_count>14</comment_count>
      <attachid>135015</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-01 15:26:52 -0700</bug_when>
    <thetext>Comment on attachment 135015
Patch

Changes based on discussions in the WG:

http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593094</commentid>
    <comment_count>15</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-01 15:32:42 -0700</bug_when>
    <thetext>The patch looks OK.

(In reply to comment #14)
&gt; http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
&gt; http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html

Is the spec going to be updated soon (i.e. did anyone start the work)? If so, let me r+ it. I am a bit afraid that the WebKit implementation becomes inconsistent with the spec in case where no one is interested in updating the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593096</commentid>
    <comment_count>16</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-01 15:53:46 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; The patch looks OK.
&gt; 
&gt; (In reply to comment #14)
&gt; &gt; http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
&gt; &gt; http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html
&gt; 
&gt; Is the spec going to be updated soon (i.e. did anyone start the work)? If so, let me r+ it. I am a bit afraid that the WebKit implementation becomes inconsistent with the spec in case where no one is interested in updating the spec.

To my knowledge, John is current editor of the spec, and I know he intends on updating the spec based on all the discussions the WG has had.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593097</commentid>
    <comment_count>17</comment_count>
      <attachid>135015</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-01 15:56:43 -0700</bug_when>
    <thetext>Comment on attachment 135015
Patch

OK!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593099</commentid>
    <comment_count>18</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-04-01 16:15:57 -0700</bug_when>
    <thetext>Committed r112821: &lt;http://trac.webkit.org/changeset/112821&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130724</attachid>
            <date>2012-03-07 16:40:06 -0800</date>
            <delta_ts>2012-03-07 17:05:31 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-80482-20120307164049.patch</filename>
            <type>text/plain</type>
            <size>12675</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJlZWY0Y2ExNThmN2M4
NmY4YWVlYWY3OTA3NGJkMDAxMWQ5MDNkMC4uYjM0MTMyYmJlNjNjYWRkZjI4YWJmMDQ0NDRlNzZh
YzQ0YjM4NTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Ojp+Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Y2xvc2Up
OgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3Rp
ZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjYW5jZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpyZXBsYWNlSWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uOjpzZXRSZXBsYWNlSWQpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uOjppZCk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnNldElkKToKKyAg
ICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw6CisKKzIwMTItMDMtMDcgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQ5NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNiMGVmMTljYTQ0YWQ0YTQ4
ZTA4N2U3Mi4uZWIxMzdhMzQxZmE1MDRiYjM2MTVmYTVjMWE4OTUzZjVhNzg4NThjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtOTYsNyAr
OTYsNyBAQCBOb3RpZmljYXRpb246On5Ob3RpZmljYXRpb24oKQogewogICAgIGlmIChtX3N0YXRl
ID09IExvYWRpbmcpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGNh
bmNlbCgpOworICAgICAgICBjbG9zZSgpOwogICAgIH0KIH0KIApAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgTm90aWZpY2F0aW9uOjpzaG93KCkKICNlbmRpZgogfQogCi12b2lkIE5vdGlmaWNhdGlv
bjo6Y2FuY2VsKCkgCit2b2lkIE5vdGlmaWNhdGlvbjo6Y2xvc2UoKQogewogICAgIHN3aXRjaCAo
bV9zdGF0ZSkgewogICAgIGNhc2UgSWRsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5oCmluZGV4IGRkMGQ2ZWQ4NGFkMzA3OWQ4OGJhMDJhMDJiY2FjYzZhNjQ1
Y2IzOWQuLjkxZWZmNDU5MDhjZWE1Mjk5Y2IyMmEzZTEyZmVjMDQ4NzdmODhhZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNjcsNyArNjcsMTAg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlvbigpOwogCiAgICAgdm9pZCBzaG93
KCk7Ci0gICAgdm9pZCBjYW5jZWwoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgdm9pZCBjYW5jZWwoKSB7IGNsb3NlKCk7IH0KKyNlbmRpZgorICAgIHZvaWQgY2xvc2Uo
KTsKIAogICAgIGJvb2wgaXNIVE1MKCkgY29uc3QgeyByZXR1cm4gbV9pc0hUTUw7IH0KICAgICB2
b2lkIHNldEhUTUwoYm9vbCBpc0hUTUwpIHsgbV9pc0hUTUwgPSBpc0hUTUw7IH0KQEAgLTgyLDkg
Kzg1LDE0IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBkaXIoKSBjb25zdCB7IHJldHVybiBtX2Rp
cmVjdGlvbjsgfQogICAgIHZvaWQgc2V0RGlyKGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fZGlyZWN0
aW9uID0gZGlyOyB9Ci0gICAgCi0gICAgU3RyaW5nIHJlcGxhY2VJZCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVwbGFjZUlkOyB9Ci0gICAgdm9pZCBzZXRSZXBsYWNlSWQoY29uc3QgU3RyaW5nJiByZXBs
YWNlSWQpIHsgbV9yZXBsYWNlSWQgPSByZXBsYWNlSWQ7IH0KKworI2lmIEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBTdHJpbmcgcmVwbGFjZUlkKCkgY29uc3QgeyByZXR1cm4gbV9p
ZDsgfQorICAgIHZvaWQgc2V0UmVwbGFjZUlkKGNvbnN0IFN0cmluZyYgcmVwbGFjZUlkKSB7IG1f
aWQgPSByZXBsYWNlSWQ7IH0KKyNlbmRpZgorCisgICAgU3RyaW5nIGlkKCkgY29uc3QgeyByZXR1
cm4gbV9pZDsgfQorICAgIHZvaWQgc2V0SWQoY29uc3QgU3RyaW5nJiBpZCkgeyBtX2lkID0gaWQ7
IH0KIAogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZGlyKCkg
PT0gInJ0bCIgPyBSVEwgOiBMVFI7IH0KIApAQCAtMTQzLDcgKzE1MSw3IEBAIHByaXZhdGU6CiAg
ICAgTm90aWZpY2F0aW9uQ29udGVudHMgbV9jb250ZW50czsKIAogICAgIFN0cmluZyBtX2RpcmVj
dGlvbjsKLSAgICBTdHJpbmcgbV9yZXBsYWNlSWQ7CisgICAgU3RyaW5nIG1faWQ7CiAKICAgICBl
bnVtIE5vdGlmaWNhdGlvblN0YXRlIHsKICAgICAgICAgSWRsZSA9IDAsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKaW5kZXggZDhjYjNjYzM5YTI1ZTcx
NzQzZTlmNzVlOWU4Y2Y0YzE4MGUyMjE2OC4uNDdjNDUxNzY1N2IyZjk1YzY2ZWJjNGNmNjNjY2Ey
NTQ5Yjk3ZjcwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbApAQCAtMzgsNyArMzgsMTEgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBPbWl0
Q29uc3RydWN0b3IKICAgICBdIE5vdGlmaWNhdGlvbiB7CiAgICAgICAgIHZvaWQgc2hvdygpOwor
I2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMKICAgICAgICAgdm9pZCBjYW5jZWwoKTsKKyNlbHNlCisgICAgICAgIHZv
aWQgY2xvc2UoKTsKKyNlbmRpZgogCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
c2hvdzsKICAgICAgICAgLy8gRklYTUU6IFRoZSBsYXRlc3QgV2ViIE5vdGlmaWNhdGlvbnMgc3Rh
bmRhcmQgdXNlcyB0aGUgb25zaG93IGV2ZW50IGxpc3RlbmVyLgpAQCAtNDksNyArNTMsMTEgQEAg
bW9kdWxlIHRocmVhZHMgewogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsaWNr
OwogCiAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgZGlyOworI2lmIGRlZmluZWQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAg
ICAgICAgYXR0cmlidXRlIERPTVN0cmluZyByZXBsYWNlSWQ7CisjZWxzZQorICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGlkOworI2VuZGlmCiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50
ZXJmYWNlCiAgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYmE1ODcwNzU4NWFkMTA5NTUyNDRkZmVkZGE4MTE0MGVkZTAwYjYwYy4uMzA1MmNl
OTU2ZDZiMGUyNGMwZjJkMjZiZmE3YTIwMzA3YTI4ZGQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbmFtZSB1c2Ugb2YgcmVwbGFjZUlkIHRvIGlkIGFuZCBjYWxsIGNsb3NlKCkg
aW5zdGVhZCBvZiBjYW5jZWwoKS4KKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1jbGljay1ldmVudC5odG1sOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sLWRp
c2FibGVkOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRp
LWV2ZW50cy5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXJlcGxhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbDogQWxzbyBjb252ZXJ0IGxpbmUgZW5k
aW5ncyB0byBMRi4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlz
dHMtY2FuY2VsLmh0bWw6CisKIDIwMTItMDMtMDcgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5j
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNsaWNrLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCmluZGV4IGE0NDE1MGMzYWRkOGY3NTMxNTUzMTRj
NzM1MTllNGJmNDk2NjM5OTkuLmRmNGEwNmZkYjc2NjE2YWI2ZGM1MDYxNzRjMWYzM2U1Zjc3Yjcy
ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWNsaWNrLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbApAQCAtMjAsNyArMjAsNyBAQAogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsg
bG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgTi5jYW5jZWwoKTsgIH0KKyAgICAgICAg
ICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVk
LiIpOyBOLmNsb3NlKCk7ICB9CiAgICAgICAgICAgICBOLnNob3coKTsKICAgICAgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zaW11bGF0ZURlc2t0b3BOb3RpZmljYXRpb25DbGljaygiTmV3IEUtbWFp
bCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwKaW5kZXggNWY0
ODRkY2M2ZjBjNWJkMzQzY2Q0MWQ2ODBjNzk1ZmIwYWUzY2JkOS4uYTA4MzBkNTFmN2U4MTA3MDBh
YTM4YTY3Y2UxOGEyNDNlZTJjZGMxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3Nl
LWV2ZW50cy5odG1sCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRl
Tm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsK
LSAgICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZGlzcGxh
eSBldmVudCBpbnZva2VkLiIpOyBOLmNhbmNlbCgpOyB9CisgICAgICAgICAgICBOLm9uZGlzcGxh
eSA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGRpc3BsYXkgZXZlbnQgaW52b2tlZC4iKTsgTi5j
bG9zZSgpOyB9CiAgICAgICAgICAgICBOLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNT
OiBjbG9zZSBldmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7IH0KICAgICAgICAgICAgIE4uc2hvdygpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3Bh
Z2F0aW9uLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0bWwtZGlzYWJsZWQKaW5kZXggMmYz
MjgxNTgwMmZlZTFiMzYwNDdiYTlkN2Y2ODgzNThjMTkwNDhkOC4uMTRiNWZhZGQ0NDNjNzhkODZk
MTcxZTE1YmJlZDc0NWNiM2ZjMDU5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sLWRpc2Fi
bGVkCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2
ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbC1kaXNhYmxlZApAQCAtMjMsNyArMjMsNyBAQAogICAg
ICAgICAgICAgTi5vbmRpc3BsYXkgPSAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkgeyBsb2co
IlBBU1M6IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZlbnQgY2FsbGJhY2sgaW52b2tlZC4iKTsgfQog
ICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJkaXNwbGF5IiwgZnVuY3Rpb24oZSkgeyBs
b2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkgY2FwdHVyZSBjYWxsYmFjayBpbnZv
a2VkIik7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0sIHRydWUgKTsKICAgICAgICAgICAgIE4uc2hv
dygpOwotICAgICAgICAgICAgTi5jYW5jZWwoKTsKKyAgICAgICAgICAgIE4uY2xvc2UoKTsKICAg
ICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLmh0bWwtZGlzYWJs
ZWQgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1l
dmVudHMuaHRtbC1kaXNhYmxlZAppbmRleCAzMTZlOGY3ODkxOTQxNjExY2FiMGQzYjUyMTMzMmY0
MTE5ODViMGRmLi5mMzA4NjNhMzFkZjMxNTY4NGIzMWVhNjBlYzQxN2UxODMxMThmNjMyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0
aS1ldmVudHMuaHRtbC1kaXNhYmxlZAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbC1kaXNhYmxlZApAQCAtMjUsNyArMjUs
NyBAQAogICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uKCkg
eyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2UpIGNhcHR1cmUgY2FsbGJhY2sgIzIg
aW52b2tlZCIpOyB9LCB0cnVlICk7CiAgICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNs
b3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2Fs
bGJhY2sgIzMgaW52b2tlZCIpOyB9KTsKICAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAg
ICAgTi5jYW5jZWwoKTsKKyAgICAgICAgICAgIE4uY2xvc2UoKTsKICAgICAgICAgfQogICAgIDwv
c2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCmluZGV4IDIxMzIyMTRhZWY0M2E0YjYx
YjA1YTYzMzQ5MmQ2NjdmZDIzMzdiYWMuLmE5YmJlMTAyODQ0ZGIxMmI5Y2EzNDUyMGY2MDg0MmEx
MmM0YTgyYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLXJlcGxhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKQEAgLTE5LDEyICsxOSwxMiBAQAogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICB2YXIgTSA9IHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBFLW1haWwiLCAiTWVldCBt
ZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnJlcGxhY2VJZCA9ICJOZXdNYWlsIjsK
KyAgICAgICAgICAgIE0uaWQgPSAiTmV3TWFpbCI7CiAgICAgICAgICAgICBNLnNob3coKTsKICAg
ICAgICAgICAgIHZhciBvdGhlciA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5v
dGlmaWNhdGlvbigiIiwgIkFsYXJtIiwgIkl0J3MgdGltZSB0byB3YWtlIHVwISIpOwogICAgICAg
ICAgICAgb3RoZXIuc2hvdygpOwogICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgcmVwbHkiLCAiQ29ycmVjdGlv
biwgODoxNSIpOwotICAgICAgICAgICAgTi5yZXBsYWNlSWQgPSAiTmV3TWFpbCI7CisgICAgICAg
ICAgICBOLmlkID0gIk5ld01haWwiOwogICAgICAgICAgICAgTi5zaG93KCk7ICAgICAgICAgIAog
ICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFz
aC5odG1sCmluZGV4IGM4NzE3ZjgxY2EwNzE4NjA4YmM2MDM1Y2EzOTZjZTExY2E4ZTg1OTguLmEx
N2Y0MmU5NGFhNDM4NzI2NTJiY2MzMjNmNmE5OGE3MTg0ZDcxMDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFz
aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCkBAIC0xLDIzICsxLDIzIEBACi08aHRtbD4gDQotICAg
IDxoZWFkPiANCi0gICAgICAgIDxzY3JpcHQ+IA0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3QoKQ0KLSAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikNCi0gICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsNCi0gICAgICAgICAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICB7
DQotICAgICAgICAgICAgICAgICAgICB2YXIgd2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5r
Iik7DQotICAgICAgICAgICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gd2luLndlYmtpdE5v
dGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsNCi0gICAgICAgICAgICAgICAgICAg
IG5vdGlmaWNhdGlvbi5zaG93KCk7DQotICAgICAgICAgICAgICAgICAgICB3aW4uY2xvc2UoKTsN
Ci0gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5jYW5jZWwoKTsNCi0gICAgICAgICAg
ICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICA8L3NjcmlwdD4gDQotICAgIDwvaGVh
ZD4gDQotICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4gDQotICAgICAgICA8cD5UaGlzIHRl
c3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3QgcnVuIGluc2lkZSBEdW1wUmVuZGVy
VHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9uIHJ1bm5pbmcgdGhlIHRlc3QgYWxv
bmd3aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRzLjwvcD4NCi0gICAgPC9ib2R5PiAN
Ci08L2h0bWw+DQotDQorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHdpbiA9IHdpbmRvdy5v
cGVuKCJhYm91dDpibGFuayIpOworICAgICAgICAgICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9u
ID0gd2luLndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsKKyAgICAg
ICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsKKyAgICAgICAgICAgICAgICAgICAg
d2luLmNsb3NlKCk7CisgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5jbG9zZSgpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgIDwvc2NyaXB0PgorICAg
IDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxwPlRoaXMg
dGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5vdCBydW4gaW5zaWRlIER1bXBSZW5k
ZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggb24gcnVubmluZyB0aGUgdGVzdCBh
bG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9hZHMuPC9wPgorICAgIDwvYm9keT4K
KzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sCmluZGV4IDA2NjkwN2ZlYjQzODk4ZTM0
MTIxNzM4MzUyMWUzMzA1YjkxY2YwNmMuLjgyN2Y1ODZmZjlhMDhhMmM5NTQ0OTYyNjJjOTM5YTI2
MzQzODhmNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9pY29uLWV4aXN0cy1jYW5jZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAKICAg
ICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogZGlzcGxheSBl
dmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7IH0KICAg
ICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IGNsb3NlIGV2ZW50
IGludm9rZWQuIik7IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgfQogICAgICAg
ICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOworICAgICAgICAgICAgTi5j
bG9zZSgpOwogICAgICAgICAgICAgdmFyIG90aGVyID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlv
bnMuY3JlYXRlTm90aWZpY2F0aW9uKCJyZXNvdXJjZXMvaWNvbi1leGlzdHMucG5nIiwgIlNlY29u
ZCBFLW1haWwiLCAiQWN0dWFsbHksIG1lZXQgbWUgdG9uaWdodCBhdCA5ISIpOwogICAgICAgICAg
ICAgb3RoZXIub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZGlzcGxheSBldmVu
dCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7IH0KICAgICAg
ICAgICAgIG90aGVyLnNob3coKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130729</attachid>
            <date>2012-03-07 17:05:34 -0800</date>
            <delta_ts>2012-03-08 14:05:39 -0800</delta_ts>
            <desc>WIP #2</desc>
            <filename>bug-80482-20120307170618.patch</filename>
            <type>text/plain</type>
            <size>16055</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJlZWY0Y2ExNThmN2M4
NmY4YWVlYWY3OTA3NGJkMDAxMWQ5MDNkMC4uYjM0MTMyYmJlNjNjYWRkZjI4YWJmMDQ0NDRlNzZh
YzQ0YjM4NTg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Ojp+Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Y2xvc2Up
OgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3Rp
ZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjYW5jZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpyZXBsYWNlSWQpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uOjpzZXRSZXBsYWNlSWQpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZp
Y2F0aW9uOjppZCk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnNldElkKToKKyAg
ICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw6CisKKzIwMTItMDMtMDcgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFC
TEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQ5NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjVjNGIyMWU4N2Mw
MGQ3ZDcyZjM4NTJkMDVhZWRjZWY4ZGFlYjU3YS4uOWFlOTZhMWI3ZWZkZmZmMDM2ZDJlNzU2MDk2
ZDJlYjg1ZTdhNzEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDEyLTAz
LTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUgbm90aWZp
Y2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEw
OTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlv
biByZXBsYWNlSURdKTogUmVmYWN0b3JlZCB0byB1c2UgcmVuYW1lZCBpZCgpIGZ1bmN0aW9uLgor
CisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0OTcKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc2
MDE1ZTlkMTJiZjNhYTEwOGIzOThjMWQyZTA0NDYwYWM2MjM4MTkuLjI0OGRkNTU4MWEzNDQzNWVk
YTVhYjg5MGQwYTg4YTBjMTU3NDMwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAx
Mi0wMy0wNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVuYW1lIG5v
dGlmaWNhdGlvbiBwcm9wZXJ0aWVzIGFuZCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMDkxMjQzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IFJlZmFj
dG9yZWQgdG8gdXNlIHJlbmFtZWQgaWQoKSBmdW5jdGlvbi4KKworMjAxMi0wMy0wNyAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDk3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcAppbmRleCA3NDk2NGRjNzdhZGFkMDgxY2IwZWYxOWNhNDRhZDRhNDhlMDg3
ZTcyLi5lYjEzN2EzNDFmYTUwNGJiMzYxNWZhNWMxYTg5NTNmNWE3ODg1OGM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC05Niw3ICs5Niw3
IEBAIE5vdGlmaWNhdGlvbjo6fk5vdGlmaWNhdGlvbigpCiB7CiAgICAgaWYgKG1fc3RhdGUgPT0g
TG9hZGluZykgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY2FuY2Vs
KCk7CisgICAgICAgIGNsb3NlKCk7CiAgICAgfQogfQogCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9p
ZCBOb3RpZmljYXRpb246OnNob3coKQogI2VuZGlmCiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uOjpj
YW5jZWwoKSAKK3ZvaWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiB7CiAgICAgc3dpdGNoIChtX3N0
YXRlKSB7CiAgICAgY2FzZSBJZGxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5
ZC4uOTFlZmY0NTkwOGNlYTUyOTljYjIyYTNlMTJmZWMwNDg3N2Y4OGFkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC02Nyw3ICs2NywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uKCk7CiAKICAgICB2b2lkIHNob3coKTsK
LSAgICB2b2lkIGNhbmNlbCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAg
ICB2b2lkIGNhbmNlbCgpIHsgY2xvc2UoKTsgfQorI2VuZGlmCisgICAgdm9pZCBjbG9zZSgpOwog
CiAgICAgYm9vbCBpc0hUTUwoKSBjb25zdCB7IHJldHVybiBtX2lzSFRNTDsgfQogICAgIHZvaWQg
c2V0SFRNTChib29sIGlzSFRNTCkgeyBtX2lzSFRNTCA9IGlzSFRNTDsgfQpAQCAtODIsOSArODUs
MTQgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRpcigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0
aW9uOyB9CiAgICAgdm9pZCBzZXREaXIoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9kaXJlY3Rpb24g
PSBkaXI7IH0KLSAgICAKLSAgICBTdHJpbmcgcmVwbGFjZUlkKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXBsYWNlSWQ7IH0KLSAgICB2b2lkIHNldFJlcGxhY2VJZChjb25zdCBTdHJpbmcmIHJlcGxhY2VJ
ZCkgeyBtX3JlcGxhY2VJZCA9IHJlcGxhY2VJZDsgfQorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQorICAgIFN0cmluZyByZXBsYWNlSWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9
CisgICAgdm9pZCBzZXRSZXBsYWNlSWQoY29uc3QgU3RyaW5nJiByZXBsYWNlSWQpIHsgbV9pZCA9
IHJlcGxhY2VJZDsgfQorI2VuZGlmCisKKyAgICBTdHJpbmcgaWQoKSBjb25zdCB7IHJldHVybiBt
X2lkOyB9CisgICAgdm9pZCBzZXRJZChjb25zdCBTdHJpbmcmIGlkKSB7IG1faWQgPSBpZDsgfQog
CiAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBkaXIoKSA9PSAi
cnRsIiA/IFJUTCA6IExUUjsgfQogCkBAIC0xNDMsNyArMTUxLDcgQEAgcHJpdmF0ZToKICAgICBO
b3RpZmljYXRpb25Db250ZW50cyBtX2NvbnRlbnRzOwogCiAgICAgU3RyaW5nIG1fZGlyZWN0aW9u
OwotICAgIFN0cmluZyBtX3JlcGxhY2VJZDsKKyAgICBTdHJpbmcgbV9pZDsKIAogICAgIGVudW0g
Tm90aWZpY2F0aW9uU3RhdGUgewogICAgICAgICBJZGxlID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBkOGNiM2NjMzlhMjVlNzE3NDNl
OWY3NWU5ZThjZjRjMTgwZTIyMTY4Li40N2M0NTE3NjU3YjJmOTVjNjZlYmM0Y2Y2M2NjYTI1NDli
OTdmNzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aWRsCkBAIC0zOCw3ICszOCwxMSBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIE9taXRDb25z
dHJ1Y3RvcgogICAgIF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CisjaWYg
ZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUwogICAgICAgICB2b2lkIGNhbmNlbCgpOworI2Vsc2UKKyAgICAgICAgdm9pZCBj
bG9zZSgpOworI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93
OwogICAgICAgICAvLyBGSVhNRTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFy
ZCB1c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlzdGVuZXIuCkBAIC00OSw3ICs1MywxMSBAQCBtb2R1
bGUgdGhyZWFkcyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY2xpY2s7CiAK
ICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBkaXI7CisjaWYgZGVmaW5lZChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKKyNlbHNlCisgICAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgaWQ7CisjZW5kaWYKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZh
Y2UKICAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLCAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KaW5kZXggNTU3MzMy
Y2JhMWIwODI5OWMzMzRlMWEyNTI2ODY0M2Q2MDE0ZWUwNi4uZGE3MjA4YjAyOTk4NDVlZmE3OTg3
NmE5YTliMjEzMzgyMDA1NWQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJOb3RpZmljYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJO
b3RpZmljYXRpb24ubW0KQEAgLTEwNSw3ICsxMDUsNyBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2Vi
Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3JlKHNlbGYpLT5yZXBsYWNl
SWQoKTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+aWQoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5p
bDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IGEyNDlh
MTM5ZTEyYmM5ODViNTgxMWYxYTgyMTJjMGFhZGU2N2JmNDAuLmUxMWYyZmVjMzQ3Yjg4MGIzZGEx
ZWExY2RmMjgzMzE0NzdmMDZjYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5j
cHAKQEAgLTExNyw3ICsxMTcsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3co
Tm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAgTm90aWZpY2F0
aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRk
KG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+
KCkpLmZpcnN0OwogICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKICAgICAK
LSAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZSwgbm90aWZp
Y2F0aW9uLT5jb250ZW50cygpLmJvZHksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygp
LCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQp
LCBwYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPmNvbnRl
bnRzKCkudGl0bGUsIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5LCBub3RpZmljYXRpb24t
Pmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT5pZCgpLCBub3RpZmljYXRpb24tPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90
aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7CiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQog
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYTU4NzA3NTg1YWQxMDk1NTI0NGRmZWRkYTgxMTQw
ZWRlMDBiNjBjLi4zMDUyY2U5NTZkNmIwZTI0YzBmMmQyNmJmYTdhMjAzMDdhMjhkZDM1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbmFtZSBub3RpZmljYXRpb24gcHJvcGVydGllcyBhbmQgZnVuY3Rpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4Mgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5MTI0MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIHVzZSBvZiByZXBsYWNlSWQgdG8gaWQg
YW5kIGNhbGwgY2xvc2UoKSBpbnN0ZWFkIG9mIGNhbmNlbCgpLgorICAgICAgICAqIGZhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWw6CisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbDoK
KyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXBy
b3BhZ2F0aW9uLmh0bWwtZGlzYWJsZWQ6CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtbXVsdGktZXZlbnRzLmh0bWwtZGlzYWJsZWQ6CisgICAgICAgICogZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sOgorICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sOiBBbHNv
IGNvbnZlcnQgbGluZSBlbmRpbmdzIHRvIExGLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9pY29uLWV4aXN0cy1jYW5jZWwuaHRtbDoKKwogMjAxMi0wMy0wNyAgU3RlcGhlbiBX
aGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFVu
cmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwKaW5kZXggYTQ0MTUw
YzNhZGQ4Zjc1MzE1NTMxNGM3MzUxOWU0YmY0OTY2Mzk5OS4uZGY0YTA2ZmRiNzY2MTZhYjZkYzUw
NjE3NGMxZjMzZTVmNzdiNzJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmlj
YXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCkBAIC0yMCw3
ICsyMCw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHZhciBO
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3
IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25jbGlj
ayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyBOLmNhbmNl
bCgpOyAgfQorICAgICAgICAgICAgTi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzog
Y2xpY2sgZXZlbnQgZmlyZWQuIik7IE4uY2xvc2UoKTsgIH0KICAgICAgICAgICAgIE4uc2hvdygp
OwogICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNpbXVsYXRlRGVza3RvcE5vdGlmaWNhdGlv
bkNsaWNrKCJOZXcgRS1tYWlsIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVu
dHMuaHRtbAppbmRleCA1ZjQ4NGRjYzZmMGM1YmQzNDNjZDQxZDY4MGM3OTVmYjBhZTNjYmQ5Li5h
MDgzMGQ1MWY3ZTgxMDcwMGFhMzhhNjdjZTE4YTI0M2VlMmNkYzE1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2
ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUg
dG9uaWdodCBhdCA4ISIpOwotICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsg
bG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IE4uY2FuY2VsKCk7IH0KKyAgICAg
ICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogZGlzcGxheSBldmVu
dCBpbnZva2VkLiIpOyBOLmNsb3NlKCk7IH0KICAgICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0
aW9uKCkgeyBsb2coIlBBU1M6IGNsb3NlIGV2ZW50IGludm9rZWQuIik7IGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsgfQogICAgICAgICAgICAgTi5zaG93KCk7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbC1k
aXNhYmxlZAppbmRleCAyZjMyODE1ODAyZmVlMWIzNjA0N2JhOWQ3ZjY4ODM1OGMxOTA0OGQ4Li4x
NGI1ZmFkZDQ0M2M3OGQ4NmQxNzFlMTViYmVkNzQ1Y2IzZmMwNTk1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3Bh
Z2F0aW9uLmh0bWwtZGlzYWJsZWQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1wcm9wYWdhdGlvbi5odG1sLWRpc2FibGVkCkBAIC0y
Myw3ICsyMyw3IEBACiAgICAgICAgICAgICBOLm9uZGlzcGxheSA9ICAgICAgICAgICAgICAgICBm
dW5jdGlvbihlKSB7IGxvZygiUEFTUzogb25kaXNwbGF5IGF0dHJpYnV0ZSBldmVudCBjYWxsYmFj
ayBpbnZva2VkLiIpOyB9CiAgICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImRpc3BsYXki
LCBmdW5jdGlvbihlKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihkaXNwbGF5KSBjYXB0
dXJlIGNhbGxiYWNrIGludm9rZWQiKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgfSwgdHJ1ZSApOwog
ICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOworICAgICAgICAg
ICAgTi5jbG9zZSgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1l
dmVudHMuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sLWRpc2FibGVkCmluZGV4IDMxNmU4Zjc4OTE5NDE2
MTFjYWIwZDNiNTIxMzMyZjQxMTk4NWIwZGYuLmYzMDg2M2EzMWRmMzE1Njg0YjMxZWE2MGVjNDE3
ZTE4MzExOGY2MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sLWRpc2Fi
bGVkCkBAIC0yNSw3ICsyNSw3IEBACiAgICAgICAgICAgICBOLmFkZEV2ZW50TGlzdGVuZXIoImNs
b3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZlbnRMaXN0ZW5lcihjbG9zZSkgY2Fw
dHVyZSBjYWxsYmFjayAjMiBpbnZva2VkIik7IH0sIHRydWUgKTsKICAgICAgICAgICAgIE4uYWRk
RXZlbnRMaXN0ZW5lcigiY2xvc2UiLCBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBhZGRFdmVudExp
c3RlbmVyKGNsb3NlKSBjYWxsYmFjayAjMyBpbnZva2VkIik7IH0pOwogICAgICAgICAgICAgTi5z
aG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNlbCgpOworICAgICAgICAgICAgTi5jbG9zZSgpOwog
ICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKaW5kZXgg
MjEzMjIxNGFlZjQzYTRiNjFiMDVhNjMzNDkyZDY2N2ZkMjMzN2JhYy4uYTliYmUxMDI4NDRkYjEy
YjljYTM0NTIwZjYwODQyYTEyYzRhODJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbApAQCAtMTksMTIg
KzE5LDEyIEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHZhciBN
ID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3
IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE0ucmVwbGFj
ZUlkID0gIk5ld01haWwiOworICAgICAgICAgICAgTS5pZCA9ICJOZXdNYWlsIjsKICAgICAgICAg
ICAgIE0uc2hvdygpOwogICAgICAgICAgICAgdmFyIG90aGVyID0gd2luZG93LndlYmtpdE5vdGlm
aWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiQWxhcm0iLCAiSXQncyB0aW1lIHRvIHdh
a2UgdXAhIik7CiAgICAgICAgICAgICBvdGhlci5zaG93KCk7CiAgICAgICAgICAgICB2YXIgTiA9
IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIk5ldyBy
ZXBseSIsICJDb3JyZWN0aW9uLCA4OjE1Iik7Ci0gICAgICAgICAgICBOLnJlcGxhY2VJZCA9ICJO
ZXdNYWlsIjsKKyAgICAgICAgICAgIE4uaWQgPSAiTmV3TWFpbCI7CiAgICAgICAgICAgICBOLnNo
b3coKTsgICAgICAgICAgCiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
d2luZG93LWNsb3NlLWNyYXNoLmh0bWwKaW5kZXggYzg3MTdmODFjYTA3MTg2MDhiYzYwMzVjYTM5
NmNlMTFjYThlODU5OC4uYTE3ZjQyZTk0YWE0Mzg3MjY1MmJjYzMyM2Y2YTk4YTcxODRkNzEwOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMt
d2luZG93LWNsb3NlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtd2luZG93LWNsb3NlLWNyYXNoLmh0bWwKQEAgLTEsMjMgKzEsMjMg
QEAKLTxodG1sPiANCi0gICAgPGhlYWQ+IA0KLSAgICAgICAgPHNjcmlwdD4gDQotICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KLSAgICAgICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KLSAgICAgICAgICAgICAgICBlbHNlDQot
ICAgICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhciB3aW4gPSB3aW5kb3cu
b3BlbigiYWJvdXQ6YmxhbmsiKTsNCi0gICAgICAgICAgICAgICAgICAgIHZhciBub3RpZmljYXRp
b24gPSB3aW4ud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oJycpOw0KLSAg
ICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsNCi0gICAgICAgICAgICAgICAg
ICAgIHdpbi5jbG9zZSgpOw0KLSAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNhbmNl
bCgpOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgIDwvc2Ny
aXB0PiANCi0gICAgPC9oZWFkPiANCi0gICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPiANCi0g
ICAgICAgIDxwPlRoaXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5vdCBydW4g
aW5zaWRlIER1bXBSZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2ggb24gcnVu
bmluZyB0aGUgdGVzdCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9hZHMuPC9w
Pg0KLSAgICA8L2JvZHk+IA0KLTwvaHRtbD4NCi0NCis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2
YXIgd2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIik7CisgICAgICAgICAgICAgICAgICAg
IHZhciBub3RpZmljYXRpb24gPSB3aW4ud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmlj
YXRpb24oJycpOworICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24uc2hvdygpOworICAg
ICAgICAgICAgICAgICAgICB3aW4uY2xvc2UoKTsKKyAgICAgICAgICAgICAgICAgICAgbm90aWZp
Y2F0aW9uLmNsb3NlKCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KyAgICAgICAgPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biBtYW51YWxseSBhbmQgY2Fubm90IHJ1
biBpbnNpZGUgRHVtcFJlbmRlclRyZWUuIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaCBvbiBy
dW5uaW5nIHRoZSB0ZXN0IGFsb25nd2l0aCB3aXRoIGEgY291cGxlIG9mIHBhZ2UgcmVsb2Fkcy48
L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWwKaW5kZXgg
MDY2OTA3ZmViNDM4OThlMzQxMjE3MzgzNTIxZTMzMDViOTFjZjA2Yy4uODI3ZjU4NmZmOWEwOGEy
Yzk1NDQ5NjI2MmM5MzlhMjYzNDM4OGY0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1jYW5jZWwuaHRtbApAQCAt
MjIsNyArMjIsNyBAQAogICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsgbG9n
KCJGQUlMOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsgfQogICAgICAgICAgICAgTi5vbmNsb3NlID0gZnVuY3Rpb24oKSB7IGxvZygi
RkFJTDogY2xvc2UgZXZlbnQgaW52b2tlZC4iKTsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOyB9CiAgICAgICAgICAgICBOLnNob3coKTsKLSAgICAgICAgICAgIE4uY2FuY2VsKCk7
CisgICAgICAgICAgICBOLmNsb3NlKCk7CiAgICAgICAgICAgICB2YXIgb3RoZXIgPSB3aW5kb3cu
d2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oInJlc291cmNlcy9pY29uLWV4
aXN0cy5wbmciLCAiU2Vjb25kIEUtbWFpbCIsICJBY3R1YWxseSwgbWVldCBtZSB0b25pZ2h0IGF0
IDkhIik7CiAgICAgICAgICAgICBvdGhlci5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsgbG9nKCJQ
QVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsgfQogICAgICAgICAgICAgb3RoZXIuc2hvdygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130900</attachid>
            <date>2012-03-08 14:05:44 -0800</date>
            <delta_ts>2012-03-13 23:31:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80482-20120308140659.patch</filename>
            <type>text/plain</type>
            <size>19593</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJlZWY0Y2ExNThmN2M4
NmY4YWVlYWY3OTA3NGJkMDAxMWQ5MDNkMC4uM2ZiZGRjNDM5ZGU3YTA3MGU5ZTNiOTdhMWNiOGI4
Y2VkMjdjYjY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTA4ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Ojp+Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Y2xvc2Up
OgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3Rp
ZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjYW5jZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpyZXBsYWNlSWQpOiBXcmFwIGluIEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUyksIGFuZCB1c2UgaWQoKS4KKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbjo6c2V0UmVwbGFjZUlkKTogV3JhcCBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpLCBhbmQgdXNlIHNldElkKCkuCisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246
OmlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0SWQpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDoKKwogMjAxMi0wMy0wNyAgSm9uIExlZSAg
PGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEVOQUJMRShMRUdB
Q1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMzAwMjU1ZmVi
MjhjNGM0NzUwZGNkOTI4YjhjM2ExYzIxZjdiZmZjZC4uOGNkYWQxMDJlZmZlYmQyMjQwY2UxODU0
MGY2ZTg1ZTgzMzA2ZjNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMi0wMy0wOCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVuYW1lIG5vdGlmaWNhdGlvbiBwcm9wZXJ0aWVzIGFuZCBmdW5jdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDgyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xMDkxMjQzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHNyYy9XZWJOb3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb3RpZmljYXRpb246OnJlcGxhY2VJZCk6IFJlZmFjdG9yIHRvIGNhbGwgaWQoKS4KKwog
MjAxMi0wMy0wNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCAyNWM0YjIxZTg3YzAwZDdkNzJmMzg1MmQwNWFlZGNlZjhkYWViNTdhLi44N2EwNTdhMWRjNThk
MGEwMjUxYjZhMWUxZDZiYWFkNjA1Y2YzM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTItMDMtMDggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbmFtZSBub3RpZmljYXRpb24gcHJvcGVydGllcyBhbmQgZnVuY3Rpb25zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4MgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTA5MTI0MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbToKKyAgICAgICAgKC1b
V2ViTm90aWZpY2F0aW9uIHJlcGxhY2VJRF0pOiBSZWZhY3RvcmVkIHRvIHVzZSByZW5hbWVkIGlk
KCkgZnVuY3Rpb24uCisKIDIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IDYxZmY2NjI3ZDk1Y2MyNjkxNTAxYTVmZWM5MWEwZjI4Zjc3Mjc5NzIu
LjUzZDNjZWZlMGE3ZWYwOTZhOTQ2OGY0YWI5NDI4YzYzNmY1ZDU1MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMDggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbmFtZSBub3RpZmljYXRpb24gcHJvcGVydGllcyBhbmQgZnVuY3Rpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4Mgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5MTI0MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6c2hvdyk6IFJlZmFjdG9yIHRvIGNhbGwgaWQoKS4KKyAgICAgICAgKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZW1vdmVSZXBsYWNlZE5vdGlm
aWNhdGlvbkZyb21RdWV1ZSk6IFJlZmFjdG9yIHRvIGNhbGwgaWQoKS4KKwogMjAxMi0wMy0wNyAg
Sm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEVO
QUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NjAxNWU5ZDEyYmYzYWEx
MDhiMzk4YzFkMmUwNDQ2MGFjNjIzODE5Li43ODYwNjMwMzAxODY3ZGE5MzAxOWU1NzQzMjUzZTc5
NjFiOGYzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMDggIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBub3RpZmljYXRpb24gcHJv
cGVydGllcyBhbmQgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5MTI0MzI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3cpOiBSZWZhY3RvcmVkIHRvIHVzZSBy
ZW5hbWVkIGlkKCkgZnVuY3Rpb24uCisKIDIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAK
aW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNiMGVmMTljYTQ0YWQ0YTQ4ZTA4N2U3Mi4uZWIxMzdhMzQx
ZmE1MDRiYjM2MTVmYTVjMWE4OTUzZjVhNzg4NThjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtOTYsNyArOTYsNyBAQCBOb3RpZmljYXRp
b246On5Ob3RpZmljYXRpb24oKQogewogICAgIGlmIChtX3N0YXRlID09IExvYWRpbmcpIHsKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGNhbmNlbCgpOworICAgICAgICBj
bG9zZSgpOwogICAgIH0KIH0KIApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgTm90aWZpY2F0aW9u
OjpzaG93KCkKICNlbmRpZgogfQogCi12b2lkIE5vdGlmaWNhdGlvbjo6Y2FuY2VsKCkgCit2b2lk
IE5vdGlmaWNhdGlvbjo6Y2xvc2UoKQogewogICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAgIGNh
c2UgSWRsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmlu
ZGV4IGRkMGQ2ZWQ4NGFkMzA3OWQ4OGJhMDJhMDJiY2FjYzZhNjQ1Y2IzOWQuLjY3MzhjNGQ5YmYx
YTZmNzM2MGM1MDYyNmZiNzQ1ZGJlZTcwMTk4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNjcsNyArNjcsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgfk5vdGlmaWNhdGlvbigpOwogCiAgICAgdm9pZCBzaG93KCk7Ci0gICAgdm9pZCBjYW5j
ZWwoKTsKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisgICAgdm9pZCBjYW5jZWwo
KSB7IGNsb3NlKCk7IH0KKyNlbmRpZgorICAgIHZvaWQgY2xvc2UoKTsKIAogICAgIGJvb2wgaXNI
VE1MKCkgY29uc3QgeyByZXR1cm4gbV9pc0hUTUw7IH0KICAgICB2b2lkIHNldEhUTUwoYm9vbCBp
c0hUTUwpIHsgbV9pc0hUTUwgPSBpc0hUTUw7IH0KQEAgLTgyLDkgKzg1LDE0IEBAIHB1YmxpYzoK
IAogICAgIFN0cmluZyBkaXIoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbjsgfQogICAgIHZv
aWQgc2V0RGlyKGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fZGlyZWN0aW9uID0gZGlyOyB9Ci0gICAg
Ci0gICAgU3RyaW5nIHJlcGxhY2VJZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwbGFjZUlkOyB9Ci0g
ICAgdm9pZCBzZXRSZXBsYWNlSWQoY29uc3QgU3RyaW5nJiByZXBsYWNlSWQpIHsgbV9yZXBsYWNl
SWQgPSByZXBsYWNlSWQ7IH0KKworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAg
ICBTdHJpbmcgcmVwbGFjZUlkKCkgY29uc3QgeyByZXR1cm4gaWQoKTsgfQorICAgIHZvaWQgc2V0
UmVwbGFjZUlkKGNvbnN0IFN0cmluZyYgcmVwbGFjZUlkKSB7IHNldElkKHJlcGxhY2VJZCk7IH0K
KyNlbmRpZgorCisgICAgU3RyaW5nIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQorICAgIHZv
aWQgc2V0SWQoY29uc3QgU3RyaW5nJiBpZCkgeyBtX2lkID0gaWQ7IH0KIAogICAgIFRleHREaXJl
Y3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZGlyKCkgPT0gInJ0bCIgPyBSVEwgOiBM
VFI7IH0KIApAQCAtMTQzLDcgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAgTm90aWZpY2F0aW9uQ29u
dGVudHMgbV9jb250ZW50czsKIAogICAgIFN0cmluZyBtX2RpcmVjdGlvbjsKLSAgICBTdHJpbmcg
bV9yZXBsYWNlSWQ7CisgICAgU3RyaW5nIG1faWQ7CiAKICAgICBlbnVtIE5vdGlmaWNhdGlvblN0
YXRlIHsKICAgICAgICAgSWRsZSA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5pZGwKaW5kZXggZDhjYjNjYzM5YTI1ZTcxNzQzZTlmNzVlOWU4Y2Y0YzE4
MGUyMjE2OC4uNDdjNDUxNzY1N2IyZjk1YzY2ZWJjNGNmNjNjY2EyNTQ5Yjk3ZjcwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbApAQCAtMzgsNyAr
MzgsMTEgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBd
IE5vdGlmaWNhdGlvbiB7CiAgICAgICAgIHZvaWQgc2hvdygpOworI2lmIGRlZmluZWQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAg
ICAgICAgdm9pZCBjYW5jZWwoKTsKKyNlbHNlCisgICAgICAgIHZvaWQgY2xvc2UoKTsKKyNlbmRp
ZgogCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uc2hvdzsKICAgICAgICAgLy8g
RklYTUU6IFRoZSBsYXRlc3QgV2ViIE5vdGlmaWNhdGlvbnMgc3RhbmRhcmQgdXNlcyB0aGUgb25z
aG93IGV2ZW50IGxpc3RlbmVyLgpAQCAtNDksNyArNTMsMTEgQEAgbW9kdWxlIHRocmVhZHMgewog
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsaWNrOwogCiAgICAgICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgZGlyOworI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAmJiBFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgYXR0cmlidXRlIERP
TVN0cmluZyByZXBsYWNlSWQ7CisjZWxzZQorICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlk
OworI2VuZGlmCiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgICAgIHZv
aWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAppbmRleCA4NDlkYzRmNjc0YTQxYWYx
MGZhZjlkMjg4MmEyNjA4OTgwZjEwZjlhLi44YmRiNTg1ZGU0MmEzZWU4MGY2OWYwNWQwNmRmNjUx
YTA5YTI1NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3Rp
ZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNh
dGlvbi5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCBXZWJUZXh0RGlyZWN0aW9uIFdlYk5vdGlmaWNh
dGlvbjo6ZGlyZWN0aW9uKCkgY29uc3QKIAogV2ViU3RyaW5nIFdlYk5vdGlmaWNhdGlvbjo6cmVw
bGFjZUlkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5yZXBsYWNlSWQoKTsKKyAg
ICByZXR1cm4gbV9wcml2YXRlLT5pZCgpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbjo6ZGV0
YWNoUHJlc2VudGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Tm90aWZpY2F0aW9uLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRp
b24ubW0KaW5kZXggNTU3MzMyY2JhMWIwODI5OWMzMzRlMWEyNTI2ODY0M2Q2MDE0ZWUwNi4uZGE3
MjA4YjAyOTk4NDVlZmE3OTg3NmE5YTliMjEzMzgyMDA1NWQ5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0KQEAgLTEwNSw3ICsxMDUsNyBAQCBOb3Rp
ZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAjaWYgRU5B
QkxFKE5PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBj
b3JlKHNlbGYpLT5yZXBsYWNlSWQoKTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+aWQoKTsKICNl
bHNlCiAgICAgcmV0dXJuIG5pbDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
LmNwcAppbmRleCA4MjAwNjY0YWRiNjQ0OTFhYTRjZDM0NGFlZmMwNDNhYWIyMWRmM2U1Li44ZTU1
YWFmMDYzZTM1N2Y1MmQzMjA2NGYzYjY4Y2UzZDAwMTUxNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudFF0LmNwcApAQCAtMTc1LDcgKzE3NSw3IEBAIGJvb2wgTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgaWYg
KG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc1dvcmtlckNvbnRleHQo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG5vdGlmaWNhdGlvbi0+c2V0UGVuZGluZ0Fj
dGl2aXR5KG5vdGlmaWNhdGlvbik7Ci0gICAgaWYgKCFub3RpZmljYXRpb24tPnJlcGxhY2VJZCgp
LmlzRW1wdHkoKSkKKyAgICBpZiAoIW5vdGlmaWNhdGlvbi0+aWQoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJlbW92ZVJlcGxhY2VkTm90aWZpY2F0aW9uRnJvbVF1ZXVlKG5vdGlmaWNhdGlvbik7CiAg
ICAgaWYgKGR1bXBOb3RpZmljYXRpb24pCiAgICAgICAgIGR1bXBTaG93VGV4dChub3RpZmljYXRp
b24pOwpAQCAtMzk4LDcgKzM5OCw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQ6OnJlbW92ZVJlcGxhY2VkTm90aWZpY2F0aW9uRnJvbVF1ZXVlKE5vdGlmaWNhCiAKICAgICB3
aGlsZSAoaXRlciAhPSBlbmQpIHsKICAgICAgICAgTm90aWZpY2F0aW9uKiBleGlzdGluZ05vdGlm
aWNhdGlvbiA9IGl0ZXIua2V5KCk7Ci0gICAgICAgIGlmIChleGlzdGluZ05vdGlmaWNhdGlvbi0+
cmVwbGFjZUlkKCkgPT0gbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSAmJiBleGlzdGluZ05vdGlm
aWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSA9PSBub3RpZmljYXRpb24tPnVybCgpLnByb3RvY29s
KCkgJiYgZXhpc3RpbmdOb3RpZmljYXRpb24tPnVybCgpLmhvc3QoKSA9PSBub3RpZmljYXRpb24t
PnVybCgpLmhvc3QoKSkgeworICAgICAgICBpZiAoZXhpc3RpbmdOb3RpZmljYXRpb24tPmlkKCkg
PT0gbm90aWZpY2F0aW9uLT5pZCgpICYmIGV4aXN0aW5nTm90aWZpY2F0aW9uLT51cmwoKS5wcm90
b2NvbCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSAmJiBleGlzdGluZ05vdGlm
aWNhdGlvbi0+dXJsKCkuaG9zdCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkuaG9zdCgpKSB7CiAg
ICAgICAgICAgICBvbGROb3RpZmljYXRpb24gPSBpdGVyLmtleSgpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRleCBh
MjQ5YTEzOWUxMmJjOTg1YjU4MTFmMWE4MjEyYzBhYWRlNjdiZjQwLi5lMTFmMmZlYzM0N2I4ODBi
M2RhMWVhMWNkZjI4MzMxNDc3ZjA2Y2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgYm9vbCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpz
aG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQYWdlKiBwYWdlKQogICAgIE5vdGlm
aWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9ub3RpZmljYXRpb25Db250ZXh0TWFw
LmFkZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgVmVjdG9yPHVpbnQ2
NF90PigpKS5maXJzdDsKICAgICBpdC0+c2Vjb25kLmFwcGVuZChub3RpZmljYXRpb25JRCk7CiAg
ICAgCi0gICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPmNvbnRlbnRzKCkudGl0bGUsIG5v
dGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5LCBub3RpZmljYXRpb24tPmljb25VUkwoKS5zdHJp
bmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlmaWNhdGlv
bklEKSwgcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT5j
b250ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRzKCkuYm9keSwgbm90aWZpY2F0
aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+aWQoKSwgbm90aWZpY2F0aW9u
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCks
IG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwogICAgIHJldHVybiB0cnVlOwogI2Vs
c2UKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmE1ODcwNzU4NWFkMTA5NTUyNDRkZmVkZGE4
MTE0MGVkZTAwYjYwYy4uNmMxYTRjMjkxMzYxMjgzNGY3MmIzNjZkMjNhOTRjY2I3Y2VjZDljYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTA4ICBKb24gTGVlICA8am9ubGVlQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0
ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSB1c2Ugb2YgcmVwbGFjZUlkIHRv
IGlkIGFuZCBjYWxsIGNsb3NlKCkgaW5zdGVhZCBvZiBjYW5jZWwoKS4KKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sOgorICAgICAgICAq
IGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0
bWw6CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3Rv
cC1wcm9wYWdhdGlvbi5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLW11bHRpLWV2ZW50cy5odG1sLWRpc2FibGVkOgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbDoKKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xvc2UtY3Jhc2guaHRtbDog
QWxzbyBjb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBMRi4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25v
dGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWw6CisKIDIwMTItMDMtMDcgIFN0ZXBo
ZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCmluZGV4IGE0
NDE1MGMzYWRkOGY3NTMxNTUzMTRjNzM1MTllNGJmNDk2NjM5OTkuLmRmNGEwNmZkYjc2NjE2YWI2
ZGM1MDYxNzRjMWYzM2U1Zjc3YjcyZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbApAQCAt
MjAsNyArMjAsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICB2
YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwg
Ik5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBOLm9u
Y2xpY2sgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbGljayBldmVudCBmaXJlZC4iKTsgTi5j
YW5jZWwoKTsgIH0KKyAgICAgICAgICAgIE4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBsb2coIlBB
U1M6IGNsaWNrIGV2ZW50IGZpcmVkLiIpOyBOLmNsb3NlKCk7ICB9CiAgICAgICAgICAgICBOLnNo
b3coKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAg
ICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zaW11bGF0ZURlc2t0b3BOb3RpZmlj
YXRpb25DbGljaygiTmV3IEUtbWFpbCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2Ut
ZXZlbnRzLmh0bWwKaW5kZXggNWY0ODRkY2M2ZjBjNWJkMzQzY2Q0MWQ2ODBjNzk1ZmIwYWUzY2Jk
OS4uYTA4MzBkNTFmN2U4MTA3MDBhYTM4YTY3Y2UxOGEyNDNlZTJjZGMxNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9z
ZS1ldmVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCkBAIC0yMCw3ICsyMCw3IEBACiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHZhciBOID0gd2luZG93LndlYmtp
dE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCIiLCAiTmV3IEUtbWFpbCIsICJNZWV0
IG1lIHRvbmlnaHQgYXQgOCEiKTsKLSAgICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24o
KSB7IGxvZygiUEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBOLmNhbmNlbCgpOyB9Cisg
ICAgICAgICAgICBOLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGRpc3BsYXkg
ZXZlbnQgaW52b2tlZC4iKTsgTi5jbG9zZSgpOyB9CiAgICAgICAgICAgICBOLm9uY2xvc2UgPSBm
dW5jdGlvbigpIHsgbG9nKCJQQVNTOiBjbG9zZSBldmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7IH0KICAgICAgICAgICAgIE4uc2hvdygpOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ldmVudC1zdG9wLXByb3BhZ2F0aW9uLmh0
bWwtZGlzYWJsZWQKaW5kZXggMmYzMjgxNTgwMmZlZTFiMzYwNDdiYTlkN2Y2ODgzNThjMTkwNDhk
OC4uMTRiNWZhZGQ0NDNjNzhkODZkMTcxZTE1YmJlZDc0NWNiM2ZjMDU5NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZXZlbnQtc3RvcC1w
cm9wYWdhdGlvbi5odG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLWV2ZW50LXN0b3AtcHJvcGFnYXRpb24uaHRtbC1kaXNhYmxlZApA
QCAtMjMsNyArMjMsNyBAQAogICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6IG9uZGlzcGxheSBhdHRyaWJ1dGUgZXZlbnQgY2Fs
bGJhY2sgaW52b2tlZC4iKTsgfQogICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVyKCJkaXNw
bGF5IiwgZnVuY3Rpb24oZSkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoZGlzcGxheSkg
Y2FwdHVyZSBjYWxsYmFjayBpbnZva2VkIik7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IH0sIHRydWUg
KTsKICAgICAgICAgICAgIE4uc2hvdygpOwotICAgICAgICAgICAgTi5jYW5jZWwoKTsKKyAgICAg
ICAgICAgIE4uY2xvc2UoKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbXVs
dGktZXZlbnRzLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbC1kaXNhYmxlZAppbmRleCAzMTZlOGY3ODkx
OTQxNjExY2FiMGQzYjUyMTMzMmY0MTE5ODViMGRmLi5mMzA4NjNhMzFkZjMxNTY4NGIzMWVhNjBl
YzQxN2UxODMxMThmNjMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbC1kaXNhYmxlZAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1tdWx0aS1ldmVudHMuaHRtbC1k
aXNhYmxlZApAQCAtMjUsNyArMjUsNyBAQAogICAgICAgICAgICAgTi5hZGRFdmVudExpc3RlbmVy
KCJjbG9zZSIsIGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGFkZEV2ZW50TGlzdGVuZXIoY2xvc2Up
IGNhcHR1cmUgY2FsbGJhY2sgIzIgaW52b2tlZCIpOyB9LCB0cnVlICk7CiAgICAgICAgICAgICBO
LmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIiwgZnVuY3Rpb24oKSB7IGxvZygiUEFTUzogYWRkRXZl
bnRMaXN0ZW5lcihjbG9zZSkgY2FsbGJhY2sgIzMgaW52b2tlZCIpOyB9KTsKICAgICAgICAgICAg
IE4uc2hvdygpOwotICAgICAgICAgICAgTi5jYW5jZWwoKTsKKyAgICAgICAgICAgIE4uY2xvc2Uo
KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCmlu
ZGV4IDIxMzIyMTRhZWY0M2E0YjYxYjA1YTYzMzQ5MmQ2NjdmZDIzMzdiYWMuLmE5YmJlMTAyODQ0
ZGIxMmI5Y2EzNDUyMGY2MDg0MmExMmM0YTgyYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKQEAgLTE5
LDEyICsxOSwxMiBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICB2
YXIgTSA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwg
Ik5ldyBFLW1haWwiLCAiTWVldCBtZSB0b25pZ2h0IGF0IDghIik7Ci0gICAgICAgICAgICBNLnJl
cGxhY2VJZCA9ICJOZXdNYWlsIjsKKyAgICAgICAgICAgIE0uaWQgPSAiTmV3TWFpbCI7CiAgICAg
ICAgICAgICBNLnNob3coKTsKICAgICAgICAgICAgIHZhciBvdGhlciA9IHdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigiIiwgIkFsYXJtIiwgIkl0J3MgdGltZSB0
byB3YWtlIHVwISIpOwogICAgICAgICAgICAgb3RoZXIuc2hvdygpOwogICAgICAgICAgICAgdmFy
IE4gPSB3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oIiIsICJO
ZXcgcmVwbHkiLCAiQ29ycmVjdGlvbiwgODoxNSIpOwotICAgICAgICAgICAgTi5yZXBsYWNlSWQg
PSAiTmV3TWFpbCI7CisgICAgICAgICAgICBOLmlkID0gIk5ld01haWwiOwogICAgICAgICAgICAg
Ti5zaG93KCk7ICAgICAgICAgIAogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aW5kb3ctY2xv
c2UtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCmluZGV4IGM4NzE3ZjgxY2EwNzE4NjA4YmM2MDM1
Y2EzOTZjZTExY2E4ZTg1OTguLmExN2Y0MmU5NGFhNDM4NzI2NTJiY2MzMjNmNmE5OGE3MTg0ZDcx
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXdpbmRvdy1jbG9zZS1jcmFzaC5odG1sCkBAIC0xLDIzICsx
LDIzIEBACi08aHRtbD4gDQotICAgIDxoZWFkPiANCi0gICAgICAgIDxzY3JpcHQ+IA0KLSAgICAg
ICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQ0KLSAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCi0gICAgICAgICAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsNCi0gICAgICAgICAgICAgICAgZWxz
ZQ0KLSAgICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICAgICB2YXIgd2luID0gd2lu
ZG93Lm9wZW4oImFib3V0OmJsYW5rIik7DQotICAgICAgICAgICAgICAgICAgICB2YXIgbm90aWZp
Y2F0aW9uID0gd2luLndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCcnKTsN
Ci0gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zaG93KCk7DQotICAgICAgICAgICAg
ICAgICAgICB3aW4uY2xvc2UoKTsNCi0gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5j
YW5jZWwoKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICA8
L3NjcmlwdD4gDQotICAgIDwvaGVhZD4gDQotICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4g
DQotICAgICAgICA8cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIG1hbnVhbGx5IGFuZCBjYW5ub3Qg
cnVuIGluc2lkZSBEdW1wUmVuZGVyVHJlZS4gUGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoIG9u
IHJ1bm5pbmcgdGhlIHRlc3QgYWxvbmd3aXRoIHdpdGggYSBjb3VwbGUgb2YgcGFnZSByZWxvYWRz
LjwvcD4NCi0gICAgPC9ib2R5PiANCi08L2h0bWw+DQotDQorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgdmFyIHdpbiA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFuayIpOworICAgICAgICAgICAgICAg
ICAgICB2YXIgbm90aWZpY2F0aW9uID0gd2luLndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90
aWZpY2F0aW9uKCcnKTsKKyAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3coKTsK
KyAgICAgICAgICAgICAgICAgICAgd2luLmNsb3NlKCk7CisgICAgICAgICAgICAgICAgICAgIG5v
dGlmaWNhdGlvbi5jbG9zZSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CisgICAgICAgIDxwPlRoaXMgdGVzdCBuZWVkcyB0byBydW4gbWFudWFsbHkgYW5kIGNhbm5v
dCBydW4gaW5zaWRlIER1bXBSZW5kZXJUcmVlLiBQYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2gg
b24gcnVubmluZyB0aGUgdGVzdCBhbG9uZ3dpdGggd2l0aCBhIGNvdXBsZSBvZiBwYWdlIHJlbG9h
ZHMuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sCmlu
ZGV4IDA2NjkwN2ZlYjQzODk4ZTM0MTIxNzM4MzUyMWUzMzA1YjkxY2YwNmMuLjgyN2Y1ODZmZjlh
MDhhMmM5NTQ0OTYyNjJjOTM5YTI2MzQzODhmNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1jYW5jZWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWwK
QEAgLTIyLDcgKzIyLDcgQEAKICAgICAgICAgICAgIE4ub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7
IGxvZygiRkFJTDogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7IH0KICAgICAgICAgICAgIE4ub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBs
b2coIkZBSUw6IGNsb3NlIGV2ZW50IGludm9rZWQuIik7IGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsgfQogICAgICAgICAgICAgTi5zaG93KCk7Ci0gICAgICAgICAgICBOLmNhbmNl
bCgpOworICAgICAgICAgICAgTi5jbG9zZSgpOwogICAgICAgICAgICAgdmFyIG90aGVyID0gd2lu
ZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJyZXNvdXJjZXMvaWNv
bi1leGlzdHMucG5nIiwgIlNlY29uZCBFLW1haWwiLCAiQWN0dWFsbHksIG1lZXQgbWUgdG9uaWdo
dCBhdCA5ISIpOwogICAgICAgICAgICAgb3RoZXIub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxv
ZygiUEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7IH0KICAgICAgICAgICAgIG90aGVyLnNob3coKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131792</attachid>
            <date>2012-03-13 23:31:46 -0700</date>
            <delta_ts>2012-03-13 23:37:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80482-20120313233301.patch</filename>
            <type>text/plain</type>
            <size>23430</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjAwOTIwOTU4ODk3OTgy
M2NiZDgyMzQyNGRhNjdmYjkzNDAyYTNmOS4uOTAyMGMzZmZkZjZhMzFhMTFmOGI3NzM0ODliM2Q0
MTFlYTM0OWM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Ojp+Tm90aWZpY2F0aW9uKTogVXNlIGNsb3NlKCkuCisgICAgICAgIChXZWJDb3JlOjpOb3RpZmlj
YXRpb246OmNsb3NlKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6
Y2FuY2VsKTogV3JhcCBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLCBhbmQgdXNlIGNs
b3NlKCkuCisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcGxhY2VJZCk6IFdyYXAg
aW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKSwgYW5kIHVzZSB0YWcoKS4KKyAgICAgICAg
KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0UmVwbGFjZUlkKTogV3JhcCBpbiBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpLCBhbmQgdXNlIHNldFRhZygpLgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uOjp0YWcpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpzZXRU
YWcpOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDogV3JhcCBjYW5j
ZWwoKSBhbmQgcmVwbGFjZUlEIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUyksIGFuZAor
ICAgICAgICBjbG9zZSgpIGFuZCB0YWcgaW4gRU5BQkxFKE5PVElGSUNBVElPTlMpLgorCisyMDEy
LTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAgICBTZXBhcmF0ZSBO
T1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDM1MDgyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmMWQ5ZTcwMTE1MWEw
MDgxMjcxNTlmMGU0YjkyNDFkYmY4MWNmYWFiLi40YWJlNTkyY2VlYWE3ZTE4MGVkZjBmMmNjMjc3
Y2U1ZTkyM2IwZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBA
CiAyMDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5h
bWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk5vdGlmaWNhdGlvbjo6cmVwbGFjZUlkKTogUmVmYWN0b3IgdG8gY2FsbCB0YWcoKS4KKworMjAx
Mi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgU2VwYXJhdGUg
Tk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCiAgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8xMTAzNTA4Mj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBiODNhYzllNmJlNWEyYjBkNWFkMjk3
OTcwZjlhYjlhYTBkMzI1YTllLi43NjEyMzU0OTUyYmEwMzQ3Y2JkYzM1YWJiNDYwMGJkYjM0ZDli
ZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTItMDMtMTMgIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIFJlbmFtZSBub3RpZmljYXRpb24gcHJv
cGVydGllcyBhbmQgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5MTI0MzI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYk5vdGlmaWNhdGlvbi5oOiBSZW5hbWUgcmVwbGFjZUlEIHRvIHRhZy4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbToKKyAgICAgICAgKC1bV2ViTm90aWZpY2F0aW9uIHRh
Z10pOgorCisyMDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKwogICAgICAg
ICBTZXBhcmF0ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5MjIKICAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzExMDM1MDgyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA5ZTlhMTE4MzkzZGQ1
MTQ2MmEyNTY0YjYwYjMwOTNhNjMzYTk1MWRhLi5hYjMyOTFkYzIzNDc3M2YxYmE3YzA4MTNjNjIy
NmE1NTBjZmMwZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEyLTAzLTEz
ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW5hbWUgbm90aWZpY2F0
aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEy
NDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnNob3cpOiBSZWZhY3Rv
ciB0byBjYWxsIHRhZygpLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQ6OnJlbW92ZVJlcGxhY2VkTm90aWZpY2F0aW9uRnJvbVF1ZXVlKTogUmVmYWN0b3Ig
dG8gY2FsbCB0YWcoKS4KKworMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+
CisKICAgICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElP
TlMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIy
CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAzNTA4Mj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1YmEwZDBm
OWYzZjYwNGIwYTJhNDcwOTU3NzA0YzY4N2YzMjI1ZWY3Li4wNjcwNzRkY2NkZjA4ZTAzMTg3MmUy
ODY0NjU3MjYwMzQ2Yjg0NzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUgQEAKIDIwMTItMDMt
MTMgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCisgICAgICAgIFJlbmFtZSBub3RpZmlj
YXRpb24gcHJvcGVydGllcyBhbmQgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5
MTI0MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVuYW1lIEFQSXMgdG8gdXNlIHRhZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tOb3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAoV0tOb3RpZmljYXRpb25Db3B5VGFnKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b3RpZmljYXRpb246OldlYk5vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNh
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjp0YWcpOgor
ICAgICAgICAoV2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3cpOgorICAgICAgICAqIFVJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAoV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG93Tm90aWZpY2F0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdl
UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KToKKwor
MjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CisKICAgICAgICAgU2VwYXJh
dGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwOTIyCiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMTAzNTA4Mj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcAppbmRleCA2MDNlMGNmZmMyMmJhOTVmZDU3ZDlhZjE2YjhmODY3ZTU4M2FkYjVh
Li5mNjQ5NTIxY2YxMjRhZDAyM2RmOGIwMmE0YzA0MTQ0MjJiODhjNWQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC05Niw3ICs5Niw3IEBA
IE5vdGlmaWNhdGlvbjo6fk5vdGlmaWNhdGlvbigpCiB7CiAgICAgaWYgKG1fc3RhdGUgPT0gTG9h
ZGluZykgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY2FuY2VsKCk7
CisgICAgICAgIGNsb3NlKCk7CiAgICAgfQogfQogCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBO
b3RpZmljYXRpb246OnNob3coKQogI2VuZGlmCiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uOjpjYW5j
ZWwoKSAKK3ZvaWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiB7CiAgICAgc3dpdGNoIChtX3N0YXRl
KSB7CiAgICAgY2FzZSBJZGxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmgKaW5kZXggYjhmMzM3YzkxODBiNmY0ODczODE0MmRiZGM1YWIwZGIxNjkyYTBjYS4u
YzVkZDRmNDU1OWRiZjBkODEwOWM0OThjOGU1OTRkN2ZlZjE5NGY3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC02Nyw3ICs2NywxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uKCk7CiAKICAgICB2b2lkIHNob3coKTsKLSAg
ICB2b2lkIGNhbmNlbCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICB2
b2lkIGNhbmNlbCgpIHsgY2xvc2UoKTsgfQorI2VuZGlmCisgICAgdm9pZCBjbG9zZSgpOwogCiAg
ICAgYm9vbCBpc0hUTUwoKSBjb25zdCB7IHJldHVybiBtX2lzSFRNTDsgfQogICAgIHZvaWQgc2V0
SFRNTChib29sIGlzSFRNTCkgeyBtX2lzSFRNTCA9IGlzSFRNTDsgfQpAQCAtODIsOSArODUsMTQg
QEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRpcigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9u
OyB9CiAgICAgdm9pZCBzZXREaXIoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9kaXJlY3Rpb24gPSBk
aXI7IH0KLSAgICAKLSAgICBTdHJpbmcgcmVwbGFjZUlkKCkgY29uc3QgeyByZXR1cm4gbV9yZXBs
YWNlSWQ7IH0KLSAgICB2b2lkIHNldFJlcGxhY2VJZChjb25zdCBTdHJpbmcmIHJlcGxhY2VJZCkg
eyBtX3JlcGxhY2VJZCA9IHJlcGxhY2VJZDsgfQorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQorICAgIFN0cmluZyByZXBsYWNlSWQoKSBjb25zdCB7IHJldHVybiB0YWcoKTsgfQor
ICAgIHZvaWQgc2V0UmVwbGFjZUlkKGNvbnN0IFN0cmluZyYgcmVwbGFjZUlkKSB7IHNldFRhZyhy
ZXBsYWNlSWQpOyB9CisjZW5kaWYKKworICAgIFN0cmluZyB0YWcoKSBjb25zdCB7IHJldHVybiBt
X3RhZzsgfQorICAgIHZvaWQgc2V0VGFnKGNvbnN0IFN0cmluZyYgdGFnKSB7IG1fdGFnID0gdGFn
OyB9CiAKICAgICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGRpcigp
ID09ICJydGwiID8gUlRMIDogTFRSOyB9CiAKQEAgLTE0Myw3ICsxNTEsNyBAQCBwcml2YXRlOgog
ICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRzIG1fY29udGVudHM7CiAKICAgICBTdHJpbmcgbV9kaXJl
Y3Rpb247Ci0gICAgU3RyaW5nIG1fcmVwbGFjZUlkOworICAgIFN0cmluZyBtX3RhZzsKIAogICAg
IGVudW0gTm90aWZpY2F0aW9uU3RhdGUgewogICAgICAgICBJZGxlID0gMCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBlNmRkMjVhMWZhNzQy
YmYzNzYxMjIxODZjMDc0NGY1NDExYjhjM2NmLi4xMGUxMTNlNzI0Y2FjYzgzZjQzZGEzYmQ0OTJj
Y2FmNzg5YzI0OWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaWRsCkBAIC0zOCw3ICszOCwxMiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIE9t
aXRDb25zdHJ1Y3RvcgogICAgIF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7
CisjaWYgZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUwogICAgICAgICB2b2lkIGNhbmNlbCgpOworI2VuZGlmCisjaWYgZGVm
aW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMKKyAgICAg
ICAgdm9pZCBjbG9zZSgpOworI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb25zaG93OwogICAgICAgICAvLyBGSVhNRTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9u
cyBzdGFuZGFyZCB1c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlzdGVuZXIuCkBAIC00OSw3ICs1NCwx
MiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
Y2xpY2s7CiAKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBkaXI7CisjaWYgZGVmaW5lZChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UwogICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKKyNlbmRpZgorI2lmIGRl
ZmluZWQoRU5BQkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFnOworI2VuZGlmCiAKICAgICAgICAgLy8gRXZlbnRU
YXJnZXQgaW50ZXJmYWNlCiAgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJp
bmcgdHlwZSwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3Rp
ZmljYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9u
LmNwcAppbmRleCA3YTYzYjU5ZDUxNWU1NTQ2NzMzNjhlNWJkZTAwNjUwNDYyM2JiOGUwLi5lM2Ix
ZWRmMGY4OGM5ZTc2MjljZGY5ZmE1NGE1NDAyNGI4ZTFjNjVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCBX
ZWJUZXh0RGlyZWN0aW9uIFdlYk5vdGlmaWNhdGlvbjo6ZGlyZWN0aW9uKCkgY29uc3QKIAogV2Vi
U3RyaW5nIFdlYk5vdGlmaWNhdGlvbjo6cmVwbGFjZUlkKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
bV9wcml2YXRlLT5yZXBsYWNlSWQoKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT50YWcoKTsKIH0K
IAogdm9pZCBXZWJOb3RpZmljYXRpb246OmRldGFjaFByZXNlbnRlcigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24uaAppbmRleCA4ZWNjMTA2ODY3NGVjNDk4MzE2
ZDYzNjQyMzEzYjA5ZTBiMTI0NmExLi5mYjljNTBlNWQzYTdkMmI0YzM5NWVmNDYzMDAzNTczYWMy
ZWNmMTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLmgK
QEAgLTM2LDcgKzM2LDcgQEAKIAogLSAoTlNTdHJpbmcgKil0aXRsZTsKIC0gKE5TU3RyaW5nICop
Ym9keTsKLS0gKE5TU3RyaW5nICopcmVwbGFjZUlEOworLSAoTlNTdHJpbmcgKil0YWc7CiAtIChX
ZWJTZWN1cml0eU9yaWdpbiAqKW9yaWdpbjsKIC0gKHVpbnQ2NF90KW5vdGlmaWNhdGlvbklEOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCmluZGV4IDg4
MjU1MmI1MmM1MzMxNDQwYWNjZjE5ZTBhMDhkZjRkMDFkZThiZWIuLmZlYjdmNmNiMGVkNTE2NDQ4
OTRhMmY0ZGVhZGM2YWY1NTBmMzlhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViTm90aWZpY2F0aW9uLm1tCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBOb3RpZmljYXRpb24qIGNv
cmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAjZW5kaWYKIH0KIAotLSAoTlNTdHJp
bmcgKilyZXBsYWNlSUQKKy0gKE5TU3RyaW5nICopdGFnCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShz
ZWxmKSk7Ci0gICAgcmV0dXJuIGNvcmUoc2VsZiktPnJlcGxhY2VJZCgpOworICAgIHJldHVybiBj
b3JlKHNlbGYpLT50YWcoKTsKICNlbHNlCiAgICAgcmV0dXJuIG5pbDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmNwcAppbmRleCAwYzVlYTE2M2I2MDA0YmUyMTkzNTEyZTUw
MzU5ZjVhMTFhNTlmYTEzLi5mMzg2ZjgzNGM0N2NhYThiZTUxNjAwMjQ3MTc0NTlkYzczNzg5ODEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcApAQCAtMTc1LDcgKzE3NSw3IEBA
IGJvb2wgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnNob3coTm90aWZpY2F0aW9uKiBu
b3RpZmljYXRpb24pCiAgICAgaWYgKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5pc1dvcmtlckNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG5vdGlm
aWNhdGlvbi0+c2V0UGVuZGluZ0FjdGl2aXR5KG5vdGlmaWNhdGlvbik7Ci0gICAgaWYgKCFub3Rp
ZmljYXRpb24tPnJlcGxhY2VJZCgpLmlzRW1wdHkoKSkKKyAgICBpZiAoIW5vdGlmaWNhdGlvbi0+
dGFnKCkuaXNFbXB0eSgpKQogICAgICAgICByZW1vdmVSZXBsYWNlZE5vdGlmaWNhdGlvbkZyb21R
dWV1ZShub3RpZmljYXRpb24pOwogICAgIGlmIChkdW1wTm90aWZpY2F0aW9uKQogICAgICAgICBk
dW1wU2hvd1RleHQobm90aWZpY2F0aW9uKTsKQEAgLTM5OCw3ICszOTgsNyBAQCB2b2lkIE5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZW1vdmVSZXBsYWNlZE5vdGlmaWNhdGlvbkZyb21R
dWV1ZShOb3RpZmljYQogCiAgICAgd2hpbGUgKGl0ZXIgIT0gZW5kKSB7CiAgICAgICAgIE5vdGlm
aWNhdGlvbiogZXhpc3RpbmdOb3RpZmljYXRpb24gPSBpdGVyLmtleSgpOwotICAgICAgICBpZiAo
ZXhpc3RpbmdOb3RpZmljYXRpb24tPnJlcGxhY2VJZCgpID09IG5vdGlmaWNhdGlvbi0+cmVwbGFj
ZUlkKCkgJiYgZXhpc3RpbmdOb3RpZmljYXRpb24tPnVybCgpLnByb3RvY29sKCkgPT0gbm90aWZp
Y2F0aW9uLT51cmwoKS5wcm90b2NvbCgpICYmIGV4aXN0aW5nTm90aWZpY2F0aW9uLT51cmwoKS5o
b3N0KCkgPT0gbm90aWZpY2F0aW9uLT51cmwoKS5ob3N0KCkpIHsKKyAgICAgICAgaWYgKGV4aXN0
aW5nTm90aWZpY2F0aW9uLT50YWcoKSA9PSBub3RpZmljYXRpb24tPnRhZygpICYmIGV4aXN0aW5n
Tm90aWZpY2F0aW9uLT51cmwoKS5wcm90b2NvbCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkucHJv
dG9jb2woKSAmJiBleGlzdGluZ05vdGlmaWNhdGlvbi0+dXJsKCkuaG9zdCgpID09IG5vdGlmaWNh
dGlvbi0+dXJsKCkuaG9zdCgpKSB7CiAgICAgICAgICAgICBvbGROb3RpZmljYXRpb24gPSBpdGVy
LmtleSgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uY3BwCmluZGV4IDVkZmNiYmEyOWZi
MzNkODMwMzUyMmUxM2YwNGE4NGIwMDA2YTE5NTEuLjI2NzAwZTFhYWUxNmNkZjkxOTIwYTc0NzNl
OWEzNzc4MjM0NDIxZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTm90aWZpY2F0aW9uLmNwcApAQCAtNTIsOSArNTIsOSBAQCBXS1N0cmluZ1JlZiBXS05vdGlm
aWNhdGlvbkNvcHlJY29uVVJMKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKICAgICBy
ZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKG5vdGlmaWNhdGlvbiktPmljb25VUkwoKSk7CiB9CiAK
LVdLU3RyaW5nUmVmIFdLTm90aWZpY2F0aW9uQ29weVJlcGxhY2VJRChXS05vdGlmaWNhdGlvblJl
ZiBub3RpZmljYXRpb24pCitXS1N0cmluZ1JlZiBXS05vdGlmaWNhdGlvbkNvcHlUYWcoV0tOb3Rp
ZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQogewotICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0lt
cGwobm90aWZpY2F0aW9uKS0+cmVwbGFjZUlEKCkpOworICAgIHJldHVybiB0b0NvcGllZEFQSSh0
b0ltcGwobm90aWZpY2F0aW9uKS0+dGFnKCkpOwogfQogCiBXS1NlY3VyaXR5T3JpZ2luUmVmIFdL
Tm90aWZpY2F0aW9uR2V0U2VjdXJpdHlPcmlnaW4oV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZp
Y2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24u
aAppbmRleCAxMWVhOTcyNzUzN2UwM2RlYjM4MGFhYWZiOTg4MmNmMmI2MWRkZWQzLi4zZjRiMWE5
MDA2NDE0MjQ1MzEyMWJkYzYzOGM2Yjc0OTYyMTlkYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uaApAQCAtMzcsNyArMzcsNyBAQCBXS19F
WFBPUlQgV0tUeXBlSUQgV0tOb3RpZmljYXRpb25HZXRUeXBlSUQoKTsKIFdLX0VYUE9SVCBXS1N0
cmluZ1JlZiBXS05vdGlmaWNhdGlvbkNvcHlUaXRsZShXS05vdGlmaWNhdGlvblJlZiBub3RpZmlj
YXRpb24pOwogV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLTm90aWZpY2F0aW9uQ29weUJvZHkoV0tO
b3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKTsKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS05v
dGlmaWNhdGlvbkNvcHlJY29uVVJMKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7Ci1X
S19FWFBPUlQgV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5UmVwbGFjZUlEKFdLTm90aWZp
Y2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tOb3RpZmlj
YXRpb25Db3B5VGFnKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CiBXS19FWFBPUlQg
V0tTZWN1cml0eU9yaWdpblJlZiBXS05vdGlmaWNhdGlvbkdldFNlY3VyaXR5T3JpZ2luKFdLTm90
aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CiBXS19FWFBPUlQgdWludDY0X3QgV0tOb3RpZmlj
YXRpb25HZXRJRChXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uLmNwcAppbmRleCA5OWJhMGVkZTFiMDk5ZDlkOTFkNjNlMjlhZjhjNDU5MDdkZWExNDAxLi5m
YjhkZGIwYTY4MTIxZDdmZjdkYjI0NGE3OTZiYWI0MjUwNmMzOWQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bi5jcHAKQEAgLTMzLDExICszMywxMSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotV2ViTm90
aWZpY2F0aW9uOjpXZWJOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3Ry
aW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlE
LCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCitX
ZWJOb3RpZmljYXRpb246OldlYk5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcs
IGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKICAg
ICA6IG1fdGl0bGUodGl0bGUpCiAgICAgLCBtX2JvZHkoYm9keSkKICAgICAsIG1faWNvblVSTChp
Y29uVVJMKQotICAgICwgbV9yZXBsYWNlSUQocmVwbGFjZUlEKQorICAgICwgbV90YWcodGFnKQog
ICAgICwgbV9vcmlnaW4oV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2lu
U3RyaW5nKSkKICAgICAsIG1fbm90aWZpY2F0aW9uSUQobm90aWZpY2F0aW9uSUQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbi5oCmluZGV4IDE5YmRhNDA1MGQwNzdhZDM3N2QyYzRjZTEzMDY4M2Y5Y2MxZGYyMTAu
LjMzNTVhYWI3ZTkyMjEyYWYzMmI0ZGQ4YWIwMjIxODE2ZmZkYjVlOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bi5oCkBAIC00NSwyOCArNDUsMjggQEAgY2xhc3MgV2ViTm90aWZpY2F0aW9uIDogcHVibGljIEFQ
SU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVO
b3RpZmljYXRpb247CiAgICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViTm90aWZpY2F0aW9u
PiBjcmVhdGUoY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBT
dHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9y
aWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViTm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3Ry
aW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25z
dCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiAgICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYk5vdGlmaWNhdGlvbih0aXRsZSwgYm9keSwg
aWNvblVSTCwgcmVwbGFjZUlELCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBpY29u
VVJMLCB0YWcsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpKTsKICAgICB9CiAgICAgCiAg
ICAgY29uc3QgU3RyaW5nJiB0aXRsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGl0bGU7IH0KICAgICBj
b25zdCBTdHJpbmcmIGJvZHkoKSBjb25zdCB7IHJldHVybiBtX2JvZHk7IH0KICAgICBjb25zdCBT
dHJpbmcmIGljb25VUkwoKSBjb25zdCB7IHJldHVybiBtX2ljb25VUkw7IH0KLSAgICBjb25zdCBT
dHJpbmcmIHJlcGxhY2VJRCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwbGFjZUlEOyB9CisgICAgY29u
c3QgU3RyaW5nJiB0YWcoKSBjb25zdCB7IHJldHVybiBtX3RhZzsgfQogICAgIFdlYlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX29yaWdpbi5nZXQoKTsgfQogICAgIAog
ICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKCkgY29uc3QgeyByZXR1cm4gbV9ub3RpZmljYXRp
b25JRDsgfQogCiBwcml2YXRlOgotICAgIFdlYk5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRp
dGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3Ry
aW5nJiByZXBsYWNlSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCk7CisgICAgV2ViTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNv
bnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRh
ZywgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsK
IAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQogICAg
IAogICAgIFN0cmluZyBtX3RpdGxlOwogICAgIFN0cmluZyBtX2JvZHk7CiAgICAgU3RyaW5nIG1f
aWNvblVSTDsKLSAgICBTdHJpbmcgbV9yZXBsYWNlSUQ7CisgICAgU3RyaW5nIG1fdGFnOwogICAg
IFJlZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4gbV9vcmlnaW47CiAgICAgdWludDY0X3QgbV9ub3Rp
ZmljYXRpb25JRDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNw
cAppbmRleCAyN2E4ODllMjYyNGVkM2E2ZTQ4YTkyMzgyYzEwYjJiNmRlYzE5YTVlLi43ZDRmOGMz
ZmNhMDQ0MGY4OGE0ZWY3NzRmMzI4ZGYwOGVkYzk4NGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTc3LDEyICs3NywxMiBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biogY29ubmVjdAogICAgIGRpZFJlY2VpdmVXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHlNZXNz
YWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKIH0KIAotdm9pZCBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk6OnNob3coV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29u
c3QgU3RyaW5nJiByZXBsYWNlSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRf
dCBub3RpZmljYXRpb25JRCkKK3ZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93
KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBi
b2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJp
bmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7CiAgICAgaWYgKCFp
c05vdGlmaWNhdGlvbklEVmFsaWQobm90aWZpY2F0aW9uSUQpKQogICAgICAgICByZXR1cm47CiAg
ICAgCi0gICAgUmVmUHRyPFdlYk5vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uID0gV2ViTm90aWZp
Y2F0aW9uOjpjcmVhdGUodGl0bGUsIGJvZHksIGljb25VUkwsIHJlcGxhY2VJRCwgb3JpZ2luU3Ry
aW5nLCBub3RpZmljYXRpb25JRCk7CisgICAgUmVmUHRyPFdlYk5vdGlmaWNhdGlvbj4gbm90aWZp
Y2F0aW9uID0gV2ViTm90aWZpY2F0aW9uOjpjcmVhdGUodGl0bGUsIGJvZHksIGljb25VUkwsIHRh
Zywgb3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCk7CiAgICAgbV9ub3RpZmljYXRpb25zLnNl
dChub3RpZmljYXRpb25JRCwgbm90aWZpY2F0aW9uKTsKICAgICBtX3Byb3ZpZGVyLnNob3cocGFn
ZSwgbm90aWZpY2F0aW9uLmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmgKaW5kZXggZWRmY2NjMTc5N2RhMTI5YWFlMDY4NGEzNmEyYjFjY2IyZTU2MDEyMy4u
ZTAyOGQ2YjkzYTAxNTJmYmQ4NWUwNzRiOThkNGE0YzllNDEzYzM5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgaW5pdGlhbGl6ZVByb3ZpZGVyKGNvbnN0IFdLTm90aWZpY2F0aW9uUHJvdmlkZXIqKTsK
ICAgICB2b2lkIHBvcHVsYXRlQ29weU9mTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoSGFzaE1hcDxT
dHJpbmcsIGJvb2w+Jik7CiAKLSAgICB2b2lkIHNob3coV2ViUGFnZVByb3h5KiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNv
bnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIHZvaWQgc2hvdyhXZWJQYWdlUHJveHkqLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
Y29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CiAKICAgICB2b2lkIHByb3ZpZGVyRGlkU2hvd05vdGlmaWNhdGlvbih1
aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAgICAgdm9pZCBwcm92aWRlckRpZENsaWNrTm90aWZp
Y2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNDA5NzM0NDlhNTg4ODQzOGU3MzA1NzU2YzNkMGFjYWEz
MTUxYmJmNi4uMmEyY2ZiYzZkNWM3NTZmNzQxNTE4YWIyNWY5Y2ExMjgwNGQ4NjIxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM0NDAsOSArMzQ0MCw5
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlzc2lvbih1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluCiAgICAgICAgIHJlcXVlc3QtPmRlbnkoKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OnNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRs
ZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmlu
ZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZp
Y2F0aW9uSUQpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29u
c3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCkKIHsKLSAgICBtX3Byb2Nlc3MtPmNvbnRleHQoKS0+bm90aWZpY2F0aW9uTWFu
YWdlclByb3h5KCktPnNob3codGhpcywgdGl0bGUsIGJvZHksIGljb25VUkwsIHJlcGxhY2VJRCwg
b3JpZ2luU3RyaW5nLCBub3RpZmljYXRpb25JRCk7CisgICAgbV9wcm9jZXNzLT5jb250ZXh0KCkt
Pm5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSgpLT5zaG93KHRoaXMsIHRpdGxlLCBib2R5LCBpY29u
VVJMLCB0YWcsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOwogfQogCiBmbG9hdCBXZWJQ
YWdlUHJveHk6OmhlYWRlckhlaWdodChXZWJGcmFtZVByb3h5KiBmcmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmYjc4MDJjMDU5YjJkY2FkZWMyYTFkOGM4
NTBlMmQ5YzIyNzVlZmEzLi5lZDBlMGE1ZGM2YjQ3M2E1NGQyNjQ4YjFkNDEwNzhlZjFjNWZkMWE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03MzYsNyArNzM2
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlYXR0YWNoVG9XZWJQcm9jZXNzV2l0aEl0ZW0oV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSopOwogCiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJp
bmcpOwotICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25z
dCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29uc3QgU3RyaW5nJiByZXBs
YWNlSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25J
RCk7CisgICAgdm9pZCBzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0
IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHRhZywg
Y29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKICAg
ICAKICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICB2b2lkIHBhZ2VEaWRSZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2NDQzMmQyNGNhYjg3NzUz
Yzk0MTNiOWI2YzJjYjNlZTUxNmViNTZmLi45N2NmMTI3NDY4ODczYzQ0NjE2NjliODBmMDI5MzE2
ZWRhOThkODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTIwOCw3ICsyMDgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogICAgIAogICAgICMgTm90aWZpY2F0aW9uIG1lc3NhZ2VzCiAgICAgUmVxdWVzdE5vdGlm
aWNhdGlvblBlcm1pc3Npb24odWludDY0X3QgcmVxdWVzdElELCBXVEY6OlN0cmluZyBvcmlnaW5J
ZGVudGlmaWVyKQotICAgIFNob3dOb3RpZmljYXRpb24oV1RGOjpTdHJpbmcgdGl0bGUsIFdURjo6
U3RyaW5nIGJvZHksIFdURjo6U3RyaW5nIGljb25VUkwsIFdURjo6U3RyaW5nIHJlcGxhY2VJRCwg
V1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCisg
ICAgU2hvd05vdGlmaWNhdGlvbihXVEY6OlN0cmluZyB0aXRsZSwgV1RGOjpTdHJpbmcgYm9keSwg
V1RGOjpTdHJpbmcgaWNvblVSTCwgV1RGOjpTdHJpbmcgdGFnLCBXVEY6OlN0cmluZyBvcmlnaW5J
ZGVudGlmaWVyLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKIAogICAgICMgU3BlbGxpbmcgYW5k
IGdyYW1tYXIgbWVzc2FnZXMKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKSAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZp
Y2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggOGQxMWYxM2M5M2NmMDg0MjdkYjg1
M2YyMGJhZTc4ZDczOTM1YjM3NC4uMGEzYWY4MjhmOGJjMWE5NzY5YjAyODVhOTU3ZDUxYjNhMTRl
MWNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDcgKzEx
Nyw3IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjpp
dGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuZmlyc3Q7CiAgICAg
aXQtPnNlY29uZC5hcHBlbmQobm90aWZpY2F0aW9uSUQpOwogICAgIAotICAgIG1fcHJvY2Vzcy0+
Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRp
b24obm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRz
KCkuYm9keSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+
cmVwbGFjZUlkKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1
cml0eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgp
KTsKKyAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZSwgbm90
aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmlu
ZygpLCBub3RpZmljYXRpb24tPnRhZygpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBw
YWdlLT5wYWdlSUQoKSk7CiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIHJldHVybiBmYWxz
ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131793</attachid>
            <date>2012-03-13 23:37:15 -0700</date>
            <delta_ts>2012-04-01 15:25:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80482-20120313233831.patch</filename>
            <type>text/plain</type>
            <size>23047</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1ZGJiZjExNWZhNzA1
OGUyNjc3N2VkMzZhMDJhZWI5ZTViY2EyYS4uY2ViZWUzNDIyNzVkOWQ3ZTYwYTM0ZmRhMjhkM2Mw
MTg4NTE0N2M1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Ojp+Tm90aWZpY2F0aW9uKTogVXNlIGNsb3NlKCkuCisgICAgICAgIChXZWJDb3JlOjpOb3RpZmlj
YXRpb246OmNsb3NlKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgor
ICAgICAgICAoTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6
Y2FuY2VsKTogV3JhcCBpbiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpLCBhbmQgdXNlIGNs
b3NlKCkuCisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OnJlcGxhY2VJZCk6IFdyYXAg
aW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKSwgYW5kIHVzZSB0YWcoKS4KKyAgICAgICAg
KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0UmVwbGFjZUlkKTogV3JhcCBpbiBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpLCBhbmQgdXNlIHNldFRhZygpLgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uOjp0YWcpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpzZXRU
YWcpOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbDogV3JhcCBjYW5j
ZWwoKSBhbmQgcmVwbGFjZUlEIGluIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUyksIGFuZAor
ICAgICAgICBjbG9zZSgpIGFuZCB0YWcgaW4gRU5BQkxFKE5PVElGSUNBVElPTlMpLgorCiAyMDEy
LTAzLTEzICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgTW92ZSBvcGFjaXR5IGNsYW1waW5nIGludG8gUmVuZGVyU3R5bGUgc2V0dGVyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZmYzYTk3NjY4MGMyYmRkMjk5MmQyZWE2NDI3MzZj
MWFiZDVlMWE1Li5kZTEyYjJiYjQ2MjVhZTIzZTkxMTM3Y2JkY2VkMTVjMDAwMDg5MWE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL1dl
Yk5vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6cmVw
bGFjZUlkKTogUmVmYWN0b3IgdG8gY2FsbCB0YWcoKS4KKwogMjAxMi0wMy0xMyAgU2hhd24gU2lu
Z2ggIDxzaGF3bnNpbmdoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIHdyb25n
IHRyYW5zZm9ybSBjYXVzaW5nIGluY29ycmVjdCBjdWxsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
MjVlNGNkNjA3NDI2ZjhkODEzMmY1MzM3NTBhMmY5MTZlNWYwNGJhNS4uMTNhNDVmMDZjNWVhMDc5
MTNiMzFmMDJlODAyZTNiYTYzNDAzYWEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW5hbWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24uaDogUmVuYW1lIHJlcGxhY2VJ
RCB0byB0YWcuCisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06CisgICAgICAg
ICgtW1dlYk5vdGlmaWNhdGlvbiB0YWddKToKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPiAmJiBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElP
TikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKaW5kZXggNjRjYjY1ZDMxZTk2MTJhZmE1Y2QzOTA2MDUzZjBhOWJhZDRk
YTYzOC4uMzUyNWNjNzE2ODJkOTk4OWU3NmFiMjQ3YzYyYzk4NGFlZTE4YjUyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVuYW1lIG5vdGlmaWNhdGlvbiBwcm9wZXJ0aWVzIGFuZCBmdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
NDgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDkxMjQzMj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudFF0OjpzaG93KTogUmVmYWN0b3IgdG8gY2FsbCB0YWcoKS4KKyAgICAg
ICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZW1vdmVSZXBsYWNl
ZE5vdGlmaWNhdGlvbkZyb21RdWV1ZSk6IFJlZmFjdG9yIHRvIGNhbGwgdGFnKCkuCisKIDIwMTIt
MDMtMTMgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
QXR0ZW1wdCB0byBmaXggUXRNaW5pbWFsIGJvdCBhZnRlciByMTEwNTk1CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MWY0YjNiMDhlNDVjNDkyOGQ0OTAwODdiMmJmNDVjNTlhOGQ5MjQxMi4uZDc2NThiYzhhZTk2Yjk0
OTU3MTY3ZTBjNzRkMWRiNDFhNDFjNGJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUg
bm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbmFtZSBBUElzIHRvIHVzZSB0YWcuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdLTm90aWZpY2F0aW9uQ29weVRhZyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViTm90aWZpY2F0aW9uOjpXZWJOb3RpZmljYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b3RpZmljYXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6
dGFnKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaDoKKyAgICAg
ICAgKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd05vdGlm
aWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAo
V2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hv
dyk6CisKIDIwMTItMDMtMTMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaW5kIGJvdW5jeSBkb2VzbuKAmXQgaGlkZSB3aGVuIGEgc3ViZnJhbWUgaXMg
c2Nyb2xsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAppbmRleCA1ZGUwZTUyN2M2YTMzMzg2NTU4MTU4YWU0ODk0NTNiZDBhNWJmOWQ2Li5iYWE2YzMx
ZWZmZGMzZGZkN2RhYzdhMzkxMGQ4M2FjMTA4YzMwZjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBAIC05Niw3ICs5Niw3IEBAIE5vdGlmaWNh
dGlvbjo6fk5vdGlmaWNhdGlvbigpCiB7CiAgICAgaWYgKG1fc3RhdGUgPT0gTG9hZGluZykgewog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY2FuY2VsKCk7CisgICAgICAg
IGNsb3NlKCk7CiAgICAgfQogfQogCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBOb3RpZmljYXRp
b246OnNob3coKQogI2VuZGlmCiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uOjpjYW5jZWwoKSAKK3Zv
aWQgTm90aWZpY2F0aW9uOjpjbG9zZSgpCiB7CiAgICAgc3dpdGNoIChtX3N0YXRlKSB7CiAgICAg
Y2FzZSBJZGxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgK
aW5kZXggZGQwZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5ZC4uYWMwMTAxY2Zj
MTcyZWM1OWRmZmY3MGJlMjExMDJhNDNmZGE2MDk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC02Nyw3ICs2NywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+Tm90aWZpY2F0aW9uKCk7CiAKICAgICB2b2lkIHNob3coKTsKLSAgICB2b2lkIGNh
bmNlbCgpOworI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKKyAgICB2b2lkIGNhbmNl
bCgpIHsgY2xvc2UoKTsgfQorI2VuZGlmCisgICAgdm9pZCBjbG9zZSgpOwogCiAgICAgYm9vbCBp
c0hUTUwoKSBjb25zdCB7IHJldHVybiBtX2lzSFRNTDsgfQogICAgIHZvaWQgc2V0SFRNTChib29s
IGlzSFRNTCkgeyBtX2lzSFRNTCA9IGlzSFRNTDsgfQpAQCAtODIsOSArODUsMTQgQEAgcHVibGlj
OgogCiAgICAgU3RyaW5nIGRpcigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CiAgICAg
dm9pZCBzZXREaXIoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9kaXJlY3Rpb24gPSBkaXI7IH0KLSAg
ICAKLSAgICBTdHJpbmcgcmVwbGFjZUlkKCkgY29uc3QgeyByZXR1cm4gbV9yZXBsYWNlSWQ7IH0K
LSAgICB2b2lkIHNldFJlcGxhY2VJZChjb25zdCBTdHJpbmcmIHJlcGxhY2VJZCkgeyBtX3JlcGxh
Y2VJZCA9IHJlcGxhY2VJZDsgfQorCisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQor
ICAgIFN0cmluZyByZXBsYWNlSWQoKSBjb25zdCB7IHJldHVybiB0YWcoKTsgfQorICAgIHZvaWQg
c2V0UmVwbGFjZUlkKGNvbnN0IFN0cmluZyYgcmVwbGFjZUlkKSB7IHNldFRhZyhyZXBsYWNlSWQp
OyB9CisjZW5kaWYKKworICAgIFN0cmluZyB0YWcoKSBjb25zdCB7IHJldHVybiBtX3RhZzsgfQor
ICAgIHZvaWQgc2V0VGFnKGNvbnN0IFN0cmluZyYgdGFnKSB7IG1fdGFnID0gdGFnOyB9CiAKICAg
ICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGRpcigpID09ICJydGwi
ID8gUlRMIDogTFRSOyB9CiAKQEAgLTE0Myw3ICsxNTEsNyBAQCBwcml2YXRlOgogICAgIE5vdGlm
aWNhdGlvbkNvbnRlbnRzIG1fY29udGVudHM7CiAKICAgICBTdHJpbmcgbV9kaXJlY3Rpb247Ci0g
ICAgU3RyaW5nIG1fcmVwbGFjZUlkOworICAgIFN0cmluZyBtX3RhZzsKIAogICAgIGVudW0gTm90
aWZpY2F0aW9uU3RhdGUgewogICAgICAgICBJZGxlID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAppbmRleCBkOGNiM2NjMzlhMjVlNzE3NDNlOWY3
NWU5ZThjZjRjMTgwZTIyMTY4Li40YzAxNjZjZjNjMTQ2MThmODQyMDQ5MzNkMjNmYTNiMmIzY2Zh
ZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRs
CkBAIC0zOCw3ICszOCwxMiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIE9taXRDb25zdHJ1
Y3RvcgogICAgIF0gTm90aWZpY2F0aW9uIHsKICAgICAgICAgdm9pZCBzaG93KCk7CisjaWYgZGVm
aW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUwogICAgICAgICB2b2lkIGNhbmNlbCgpOworI2VuZGlmCisjaWYgZGVmaW5lZChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX05PVElGSUNBVElPTlMKKyAgICAgICAgdm9pZCBj
bG9zZSgpOworI2VuZGlmCiAKICAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25zaG93
OwogICAgICAgICAvLyBGSVhNRTogVGhlIGxhdGVzdCBXZWIgTm90aWZpY2F0aW9ucyBzdGFuZGFy
ZCB1c2VzIHRoZSBvbnNob3cgZXZlbnQgbGlzdGVuZXIuCkBAIC00OSw3ICs1NCwxMiBAQCBtb2R1
bGUgdGhyZWFkcyB7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uY2xpY2s7CiAK
ICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBkaXI7CisjaWYgZGVmaW5lZChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUwogICAgICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlcGxhY2VJZDsKKyNlbmRpZgorI2lmIGRlZmluZWQoRU5B
QkxFX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9OT1RJRklDQVRJT05TCisgICAgICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgdGFnOworI2VuZGlmCiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50
ZXJmYWNlCiAgICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAppbmRl
eCA4NDlkYzRmNjc0YTQxYWYxMGZhZjlkMjg4MmEyNjA4OTgwZjEwZjlhLi40ZTcxNTZkYjgzNmNl
M2VmOWRlZjllYzQwOGU0MmI2YmNjNjBjMTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCBXZWJUZXh0RGly
ZWN0aW9uIFdlYk5vdGlmaWNhdGlvbjo6ZGlyZWN0aW9uKCkgY29uc3QKIAogV2ViU3RyaW5nIFdl
Yk5vdGlmaWNhdGlvbjo6cmVwbGFjZUlkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wcml2YXRl
LT5yZXBsYWNlSWQoKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT50YWcoKTsKIH0KIAogdm9pZCBX
ZWJOb3RpZmljYXRpb246OmRldGFjaFByZXNlbnRlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJOb3RpZmljYXRpb24uaAppbmRleCA4ZWNjMTA2ODY3NGVjNDk4MzE2ZDYzNjQyMzEz
YjA5ZTBiMTI0NmExLi5mYjljNTBlNWQzYTdkMmI0YzM5NWVmNDYzMDAzNTczYWMyZWNmMTI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLmgKQEAgLTM2LDcg
KzM2LDcgQEAKIAogLSAoTlNTdHJpbmcgKil0aXRsZTsKIC0gKE5TU3RyaW5nICopYm9keTsKLS0g
KE5TU3RyaW5nICopcmVwbGFjZUlEOworLSAoTlNTdHJpbmcgKil0YWc7CiAtIChXZWJTZWN1cml0
eU9yaWdpbiAqKW9yaWdpbjsKIC0gKHVpbnQ2NF90KW5vdGlmaWNhdGlvbklEOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCmluZGV4IDU1NzMzMmNiYTFi
MDgyOTljMzM0ZTFhMjUyNjg2NDNkNjAxNGVlMDYuLjg4ZmQ5ZWY4MTZkMzZjMGRjNDM1ZDcyZWMz
ZmVjMGZlNzIwNjU2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Tm90aWZpY2F0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZp
Y2F0aW9uLm1tCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90
aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiAjZW5kaWYKIH0KIAotLSAoTlNTdHJpbmcgKilyZXBs
YWNlSUQKKy0gKE5TU3RyaW5nICopdGFnCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAg
ICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3JlKHNlbGYpLT5yZXBsYWNlSWQo
KTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+dGFnKCk7CiAjZWxzZQogICAgIHJldHVybiBuaWw7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90
aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKaW5kZXggMDAwNTIxODRh
OWZmODcxNTEwZTNkODAxZTFkYTBhODdhYzlhZGU2My4uMmNhNWU4ZWY4MmVlZDc5OTg3NDNiY2Q3
OTU3Yzk0MjhiZDg5MmJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKQEAg
LTE3NSw3ICsxNzUsNyBAQCBib29sIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpzaG93
KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgIGlmIChub3RpZmljYXRpb24tPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNXb3JrZXJDb250ZXh0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBub3RpZmljYXRpb24tPnNldFBlbmRpbmdBY3Rpdml0eShub3RpZmljYXRpb24p
OwotICAgIGlmICghbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKS5pc0VtcHR5KCkpCisgICAgaWYg
KCFub3RpZmljYXRpb24tPnRhZygpLmlzRW1wdHkoKSkKICAgICAgICAgcmVtb3ZlUmVwbGFjZWRO
b3RpZmljYXRpb25Gcm9tUXVldWUobm90aWZpY2F0aW9uKTsKICAgICBpZiAoZHVtcE5vdGlmaWNh
dGlvbikKICAgICAgICAgZHVtcFNob3dUZXh0KG5vdGlmaWNhdGlvbik7CkBAIC0zOTgsNyArMzk4
LDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6cmVtb3ZlUmVwbGFjZWRO
b3RpZmljYXRpb25Gcm9tUXVldWUoTm90aWZpY2EKIAogICAgIHdoaWxlIChpdGVyICE9IGVuZCkg
ewogICAgICAgICBOb3RpZmljYXRpb24qIGV4aXN0aW5nTm90aWZpY2F0aW9uID0gaXRlci5rZXko
KTsKLSAgICAgICAgaWYgKGV4aXN0aW5nTm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSA9PSBub3Rp
ZmljYXRpb24tPnJlcGxhY2VJZCgpICYmIGV4aXN0aW5nTm90aWZpY2F0aW9uLT51cmwoKS5wcm90
b2NvbCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSAmJiBleGlzdGluZ05vdGlm
aWNhdGlvbi0+dXJsKCkuaG9zdCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkuaG9zdCgpKSB7Cisg
ICAgICAgIGlmIChleGlzdGluZ05vdGlmaWNhdGlvbi0+dGFnKCkgPT0gbm90aWZpY2F0aW9uLT50
YWcoKSAmJiBleGlzdGluZ05vdGlmaWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSA9PSBub3RpZmlj
YXRpb24tPnVybCgpLnByb3RvY29sKCkgJiYgZXhpc3RpbmdOb3RpZmljYXRpb24tPnVybCgpLmhv
c3QoKSA9PSBub3RpZmljYXRpb24tPnVybCgpLmhvc3QoKSkgewogICAgICAgICAgICAgb2xkTm90
aWZpY2F0aW9uID0gaXRlci5rZXkoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmNwcApp
bmRleCA1ZGZjYmJhMjlmYjMzZDgzMDM1MjJlMTNmMDRhODRiMDAwNmExOTUxLi4yNjcwMGUxYWFl
MTZjZGY5MTkyMGE3NDczZTlhMzc3ODIzNDQyMWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbi5jcHAKQEAgLTUyLDkgKzUyLDkgQEAgV0tT
dHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5SWNvblVSTChXS05vdGlmaWNhdGlvblJlZiBub3Rp
ZmljYXRpb24pCiAgICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChub3RpZmljYXRpb24pLT5p
Y29uVVJMKCkpOwogfQogCi1XS1N0cmluZ1JlZiBXS05vdGlmaWNhdGlvbkNvcHlSZXBsYWNlSUQo
V0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQorV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRp
b25Db3B5VGFnKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKIHsKLSAgICByZXR1cm4g
dG9Db3BpZWRBUEkodG9JbXBsKG5vdGlmaWNhdGlvbiktPnJlcGxhY2VJRCgpKTsKKyAgICByZXR1
cm4gdG9Db3BpZWRBUEkodG9JbXBsKG5vdGlmaWNhdGlvbiktPnRhZygpKTsKIH0KIAogV0tTZWN1
cml0eU9yaWdpblJlZiBXS05vdGlmaWNhdGlvbkdldFNlY3VyaXR5T3JpZ2luKFdLTm90aWZpY2F0
aW9uUmVmIG5vdGlmaWNhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTm90aWZpY2F0aW9uLmgKaW5kZXggMTFlYTk3Mjc1MzdlMDNkZWIzODBhYWFmYjk4ODJjZjJi
NjFkZGVkMy4uM2Y0YjFhOTAwNjQxNDI0NTMxMjFiZGM2MzhjNmI3NDk2MjE5ZGE1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmgKQEAgLTM3
LDcgKzM3LDcgQEAgV0tfRVhQT1JUIFdLVHlwZUlEIFdLTm90aWZpY2F0aW9uR2V0VHlwZUlEKCk7
CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5VGl0bGUoV0tOb3RpZmlj
YXRpb25SZWYgbm90aWZpY2F0aW9uKTsKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS05vdGlmaWNh
dGlvbkNvcHlCb2R5KFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CiBXS19FWFBPUlQg
V0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5SWNvblVSTChXS05vdGlmaWNhdGlvblJlZiBu
b3RpZmljYXRpb24pOwotV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLTm90aWZpY2F0aW9uQ29weVJl
cGxhY2VJRChXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pOworV0tfRVhQT1JUIFdLU3Ry
aW5nUmVmIFdLTm90aWZpY2F0aW9uQ29weVRhZyhXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRp
b24pOwogV0tfRVhQT1JUIFdLU2VjdXJpdHlPcmlnaW5SZWYgV0tOb3RpZmljYXRpb25HZXRTZWN1
cml0eU9yaWdpbihXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pOwogV0tfRVhQT1JUIHVp
bnQ2NF90IFdLTm90aWZpY2F0aW9uR2V0SUQoV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9u
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvbi5jcHAKaW5kZXggOTliYTBlZGUxYjA5OWQ5ZDkxZDYzZTI5YWY4
YzQ1OTA3ZGVhMTQwMS4uZmI4ZGRiMGE2ODEyMWQ3ZmY3ZGIyNDRhNzk2YmFiNDI1MDZjMzlkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb24uY3BwCkBAIC0zMywxMSArMzMsMTEgQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLVdlYk5vdGlmaWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYg
dGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBT
dHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKQorV2ViTm90aWZpY2F0aW9uOjpXZWJOb3RpZmljYXRpb24oY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNv
bnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90
aWZpY2F0aW9uSUQpCiAgICAgOiBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9ib2R5KGJvZHkpCiAg
ICAgLCBtX2ljb25VUkwoaWNvblVSTCkKLSAgICAsIG1fcmVwbGFjZUlEKHJlcGxhY2VJRCkKKyAg
ICAsIG1fdGFnKHRhZykKICAgICAsIG1fb3JpZ2luKFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
cm9tU3RyaW5nKG9yaWdpblN0cmluZykpCiAgICAgLCBtX25vdGlmaWNhdGlvbklEKG5vdGlmaWNh
dGlvbklEKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvV2ViTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaAppbmRleCAxOWJkYTQwNTBkMDc3YWQzNzdkMmM0Y2Ux
MzA2ODNmOWNjMWRmMjEwLi4zMzU1YWFiN2U5MjIxMmFmMzJiNGRkOGFiMDIyMTgxNmZmZGI1ZTll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb24uaApAQCAtNDUsMjggKzQ1LDI4IEBAIGNsYXNzIFdlYk5vdGlmaWNh
dGlvbiA6IHB1YmxpYyBBUElPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBUeXBl
IEFQSVR5cGUgPSBUeXBlTm90aWZpY2F0aW9uOwogICAgIAotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmlu
ZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwg
Y29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBT
dHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNh
dGlvbklEKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJOb3RpZmljYXRp
b24odGl0bGUsIGJvZHksIGljb25VUkwsIHJlcGxhY2VJRCwgb3JpZ2luU3RyaW5nLCBub3RpZmlj
YXRpb25JRCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYk5vdGlmaWNhdGlvbih0
aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKSk7
CiAgICAgfQogICAgIAogICAgIGNvbnN0IFN0cmluZyYgdGl0bGUoKSBjb25zdCB7IHJldHVybiBt
X3RpdGxlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBib2R5KCkgY29uc3QgeyByZXR1cm4gbV9ib2R5
OyB9CiAgICAgY29uc3QgU3RyaW5nJiBpY29uVVJMKCkgY29uc3QgeyByZXR1cm4gbV9pY29uVVJM
OyB9Ci0gICAgY29uc3QgU3RyaW5nJiByZXBsYWNlSUQoKSBjb25zdCB7IHJldHVybiBtX3JlcGxh
Y2VJRDsgfQorICAgIGNvbnN0IFN0cmluZyYgdGFnKCkgY29uc3QgeyByZXR1cm4gbV90YWc7IH0K
ICAgICBXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9vcmlnaW4u
Z2V0KCk7IH0KICAgICAKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCgpIGNvbnN0IHsgcmV0
dXJuIG1fbm90aWZpY2F0aW9uSUQ7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJOb3RpZmljYXRpb24o
Y29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGlj
b25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIFdlYk5vdGlmaWNhdGlvbihjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwg
Y29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBu
b3RpZmljYXRpb25JRCk7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IEFQSVR5cGU7IH0KICAgICAKICAgICBTdHJpbmcgbV90aXRsZTsKICAgICBTdHJpbmcgbV9ib2R5
OwogICAgIFN0cmluZyBtX2ljb25VUkw7Ci0gICAgU3RyaW5nIG1fcmVwbGFjZUlEOworICAgIFN0
cmluZyBtX3RhZzsKICAgICBSZWZQdHI8V2ViU2VjdXJpdHlPcmlnaW4+IG1fb3JpZ2luOwogICAg
IHVpbnQ2NF90IG1fbm90aWZpY2F0aW9uSUQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlv
bk1hbmFnZXJQcm94eS5jcHAKaW5kZXggMjdhODg5ZTI2MjRlZDNhNmU0OGE5MjM4MmMxMGIyYjZk
ZWMxOWE1ZS4uN2Q0ZjhjM2ZjYTA0NDBmODhhNGVmNzc0ZjMyOGRmMDhlZGM5ODRlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCkBAIC03NywxMiArNzcsMTIg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3QKICAgICBkaWRSZWNlaXZlV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiB9
CiAKLXZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93KFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJp
bmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdp
blN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCit2b2lkIFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eTo6c2hvdyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGl0bGUs
IGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcm
IHRhZywgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
KQogewogICAgIGlmICghaXNOb3RpZmljYXRpb25JRFZhbGlkKG5vdGlmaWNhdGlvbklEKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIAotICAgIFJlZlB0cjxXZWJOb3RpZmljYXRpb24+IG5vdGlmaWNh
dGlvbiA9IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBib2R5LCBpY29uVVJMLCByZXBs
YWNlSUQsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAgIFJlZlB0cjxXZWJOb3Rp
ZmljYXRpb24+IG5vdGlmaWNhdGlvbiA9IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBi
b2R5LCBpY29uVVJMLCB0YWcsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOwogICAgIG1f
bm90aWZpY2F0aW9ucy5zZXQobm90aWZpY2F0aW9uSUQsIG5vdGlmaWNhdGlvbik7CiAgICAgbV9w
cm92aWRlci5zaG93KHBhZ2UsIG5vdGlmaWNhdGlvbi5nZXQoKSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCmluZGV4IGVkZmNjYzE3OTdkYTEyOWFhZTA2ODRhMzZh
MmIxY2NiMmU1NjAxMjMuLmUwMjhkNmI5M2EwMTUyZmJkODVlMDc0Yjk4ZDRhNGM5ZTQxM2MzOTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCkBAIC02MCw3ICs2MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRpYWxpemVQcm92aWRlcihjb25zdCBXS05vdGlmaWNh
dGlvblByb3ZpZGVyKik7CiAgICAgdm9pZCBwb3B1bGF0ZUNvcHlPZk5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKEhhc2hNYXA8U3RyaW5nLCBib29sPiYpOwogCi0gICAgdm9pZCBzaG93KFdlYlBhZ2VQ
cm94eSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3Ry
aW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmln
aW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKKyAgICB2b2lkIHNob3coV2ViUGFn
ZVByb3h5KiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBT
dHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0
cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogCiAgICAgdm9pZCBwcm92aWRlckRpZFNo
b3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogICAgIHZvaWQgcHJvdmlk
ZXJEaWRDbGlja05vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGU4YmJjYWYxZDk3NTE2NTZh
NWUwYzVkMGQ3MzdlNmEzOTMwMWU2NDUuLmQ1Njc3YTcwNDA1YzYzNDM1OTBhMjZmMDU3ZWZjMDky
YjNjOWQxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC0zNDQ5LDkgKzM0NDksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdE5vdGlmaWNhdGlv
blBlcm1pc3Npb24odWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbgogICAgICAgICByZXF1
ZXN0LT5kZW55KCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzaG93Tm90aWZpY2F0aW9uKGNv
bnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29u
VVJMLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcs
IHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJQYWdlUHJveHk6OnNob3dOb3RpZmlj
YXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJp
bmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0gICAgbV9wcm9jZXNzLT5jb250ZXh0KCkt
Pm5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSgpLT5zaG93KHRoaXMsIHRpdGxlLCBib2R5LCBpY29u
VVJMLCByZXBsYWNlSUQsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAgIG1fcHJv
Y2Vzcy0+Y29udGV4dCgpLT5ub3RpZmljYXRpb25NYW5hZ2VyUHJveHkoKS0+c2hvdyh0aGlzLCB0
aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNhdGlvbklEKTsK
IH0KIAogZmxvYXQgV2ViUGFnZVByb3h5OjpoZWFkZXJIZWlnaHQoV2ViRnJhbWVQcm94eSogZnJh
bWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZWUyMzNkMjNm
NzMxODAzNWUxYWM0YzJhMzgzMTdlYjRmN2E4ZTc3My4uNWQ0NTc3ZjBjMmE3ZTYxYTcxY2U3OGQw
ZTdiYTg5NWUyY2NjYzc5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtNzM3LDcgKzczNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWF0dGFjaFRvV2ViUHJv
Y2Vzc1dpdGhJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qKTsKIAogICAgIHZvaWQgcmVxdWVz
dE5vdGlmaWNhdGlvblBlcm1pc3Npb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQsIGNvbnN0IFN0
cmluZyYgb3JpZ2luU3RyaW5nKTsKLSAgICB2b2lkIHNob3dOb3RpZmljYXRpb24oY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNv
bnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0
X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihjb25zdCBTdHJp
bmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSTCwgY29u
c3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCk7CiAgICAgCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgdm9p
ZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NjQ0MzJkMjRjYWI4Nzc1M2M5NDEzYjliNmMyY2IzZWU1MTZlYjU2Zi4uOTdjZjEyNzQ2ODg3M2M0
NDYxNjY5YjgwZjAyOTMxNmVkYTk4ZDg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMDgsNyArMjA4LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAKICAgICAjIE5vdGlmaWNhdGlvbiBtZXNzYWdlcwog
ICAgIFJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgV1RG
OjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLSAgICBTaG93Tm90aWZpY2F0aW9uKFdURjo6U3Ry
aW5nIHRpdGxlLCBXVEY6OlN0cmluZyBib2R5LCBXVEY6OlN0cmluZyBpY29uVVJMLCBXVEY6OlN0
cmluZyByZXBsYWNlSUQsIFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKQorICAgIFNob3dOb3RpZmljYXRpb24oV1RGOjpTdHJpbmcgdGl0bGUsIFdU
Rjo6U3RyaW5nIGJvZHksIFdURjo6U3RyaW5nIGljb25VUkwsIFdURjo6U3RyaW5nIHRhZywgV1RG
OjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiAKICAg
ICAjIFNwZWxsaW5nIGFuZCBncmFtbWFyIG1lc3NhZ2VzCiAjaWYgVVNFKFVOSUZJRURfVEVYVF9D
SEVDS0lORykgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDllNWNm
OTU0NjY0OWQ0YmNiYjM5ZjEzYjUxZTUyZDMyNmU3OWE0ZTcuLmZjYTMwYmU4NzhmN2EwNmY0MzVj
MWI3ODRjMjM0YWU1M2RjZjk2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5j
cHAKQEAgLTExNyw3ICsxMTcsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnNob3co
Tm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAgTm90aWZpY2F0
aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRleHRNYXAuYWRk
KG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8dWludDY0X3Q+
KCkpLmZpcnN0OwogICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlmaWNhdGlvbklEKTsKICAgICAK
LSAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZSwgbm90aWZp
Y2F0aW9uLT5jb250ZW50cygpLmJvZHksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygp
LCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQp
LCBwYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24tPmNvbnRl
bnRzKCkudGl0bGUsIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5LCBub3RpZmljYXRpb24t
Pmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT50YWcoKSwgbm90aWZpY2F0aW9uLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5v
dGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UK
ICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135015</attachid>
            <date>2012-04-01 15:25:31 -0700</date>
            <delta_ts>2012-04-01 15:56:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80482-20120401152712.patch</filename>
            <type>text/plain</type>
            <size>21965</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU2M2Y4NWZmMThiYmIy
MzA4YTQ0MmE2ZmI4ODE5ZDViZWRjN2VhYi4uNWFiZGQ5MjE5OWM5NTI4Y2YwNDQ1Y2U4YzhiZjUx
NGVhZGMzYWJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTAxICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHBy
b3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBt
ZXRob2QgbmFtZSB0byBjbG9zZSgpLCBhbmQgc2V0IHRhZyBwcm9wZXJ0eSBvbiBOb3RpZmljYXRp
b25zLCBiYXNlZCBvbiBkaXNjdXNzaW9ucyBpbiBXRzoKKyAgICAgICAgaHR0cDovL2xpc3RzLncz
Lm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLXdlYi1ub3RpZmljYXRpb24vMjAxMk1hci8wMDI0
Lmh0bWwKKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGlj
LXdlYi1ub3RpZmljYXRpb24vMjAxMk1hci8wMDEzLmh0bWwKKworICAgICAgICAqIG5vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6
fk5vdGlmaWNhdGlvbik6IFVzZSBjbG9zZSgpLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0
aW9uOjpjbG9zZSk6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaDoKKyAg
ICAgICAgKE5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OmNh
bmNlbCk6IFdyYXAgaW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKSwgYW5kIHVzZSBjbG9z
ZSgpLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpyZXBsYWNlSWQpOiBXcmFwIGlu
IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUyksIGFuZCB1c2UgdGFnKCkuCisgICAgICAgIChX
ZWJDb3JlOjpOb3RpZmljYXRpb246OnNldFJlcGxhY2VJZCk6IFdyYXAgaW4gRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKSwgYW5kIHVzZSBzZXRUYWcoKS4KKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbjo6dGFnKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0VGFn
KToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGw6IFByZXNlcnZlIGNh
bmNlbCgpIGFuZCByZXBsYWNlSUQgaW4gRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKSwgYW5k
CisgICAgICAgIGNsb3NlKCkgYW5kIHRhZyBpbiBFTkFCTEUoTk9USUZJQ0FUSU9OUykuCisKIDIw
MTItMDMtMzEgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBGaXgg
Y29tcGxleCBzdHJva2VzIG9uIENHIHBsYXRmb3JtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IGE4NGYyY2Y5YzAwMzQ3NDA4ZjY5NmVhODNlZTdmY2E0MWU3NzQ4NmUuLmFjODBiNjhkZDUy
YWY4M2Y4YmNkZTAwZTVhMGQ4OWRhZmMyZWIxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDQtMDEgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIFJlbmFtZSBub3RpZmljYXRpb24gcHJvcGVydGllcyBhbmQgZnVuY3Rpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4Mgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5MTI0MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViTm90aWZpY2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjpyZXBsYWNlSWQpOiBSZWZhY3RvciB0byBj
YWxsIHRhZygpLgorCiAyMDEyLTAzLTI5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBEZWxldGUgV2ViS2l0L2Nocm9taXVtL2JyaWRnZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDY1ZDIyZTUyOTU0MzFiMWNmZDkyNzI0NDM4MmFhMmUxOWFhNWEzMTAu
LmQ4MmEwNzQ2Yjg0OGFmMTc4OTRlZGMwZTFhNTkzZjNkOTk2NjJkNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNC0wMSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmVuYW1lIG5vdGlmaWNhdGlvbiBwcm9wZXJ0aWVzIGFuZCBmdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDgy
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDkxMjQzMj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0aW9uLmg6
IFJlbmFtZSByZXBsYWNlSUQgdG8gdGFnLgorICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0
aW9uLm1tOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gdGFnXSk6CisKIDIwMTItMDMtMzAg
IEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENoYW5nZSBXZWJL
aXQvV2ViS2l0MiBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbCBzbmFwcGVkIHZhbHVlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZwppbmRleCBkZTMyZWRkNjkzNjQzYTkzYjRhOGQxMzMzOTI1ZTZjOTNlMDhlMzczLi5h
NDhhNGQwNzg2NGRlMzM5MzJmYTY1OWJhYWQ0ODNmMmFlMzMxMmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTAxICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBSZW5hbWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OnNob3cpOiBSZWZhY3RvciB0byBjYWxsIHRhZygpLgorICAgICAgICAoV2Vi
Q29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlbW92ZVJlcGxhY2VkTm90aWZp
Y2F0aW9uRnJvbVF1ZXVlKTogUmVmYWN0b3IgdG8gY2FsbCB0YWcoKS4KKwogMjAxMi0wMy0zMCAg
RW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2hhbmdlIFdlYktp
dC9XZWJLaXQyIHBsYXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsIHNuYXBwZWQgdmFsdWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggMzA0MGRkNWI3ZjUwNTI1YTkzODBmNjFiZTc3NjlhMzhjNWEyYWMzNS4uNmU2MzA4
ZDIzMWI4NWU5MWIzNGNiOGRkZWE2YjY4MTdiNmE3MzIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDEyLTA0LTAxICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW5hbWUgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMgYW5kIGZ1bmN0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEwOTEyNDMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmFtZSBBUElzIHRvIHVzZSB0YWcuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdLTm90aWZpY2F0aW9uQ29w
eVRhZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjpXZWJOb3RpZmljYXRpb24pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5oOgorICAgICAgICAoV2Vi
S2l0OjpXZWJOb3RpZmljYXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbjo6dGFnKToKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
aDoKKyAgICAgICAgKFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
c2hvd05vdGlmaWNhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFu
YWdlcjo6c2hvdyk6CisKIDIwMTItMDMtMzEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICAzMi1iaXQgcGx1Zy1pbnMgbmVlZCB0byBvcHQgaW50byBtYWdu
aWZpZWQgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwCmluZGV4IDI5OGM0MGUxY2E0ZGE5ZGIxMmM1NWRhNTBiZmY1MjQ5YjYzMDM1MjQuLjIyNDFi
MzYwNzNjYmQ2ZDZkZGY0NjJhZDNhOGViMWUwOTUxNjk0OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgTm90aWZp
Y2F0aW9uOjp+Tm90aWZpY2F0aW9uKCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBMb2FkaW5nKSB7
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBjYW5jZWwoKTsKKyAgICAg
ICAgY2xvc2UoKTsKICAgICB9CiB9CiAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2b2lkIE5vdGlmaWNh
dGlvbjo6c2hvdygpCiAjZW5kaWYKIH0KIAotdm9pZCBOb3RpZmljYXRpb246OmNhbmNlbCgpIAor
dm9pZCBOb3RpZmljYXRpb246OmNsb3NlKCkKIHsKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAg
ICBjYXNlIElkbGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aAppbmRleCAxOWQ4ZTY5MTExZjc0YWMzMDZkMGFkN2U4NTFjMTg3NWNkNmYyMzA0Li5hNjcxNTlh
OWUyNGJhMmU5OTI2YWYwNDBjOTRjNmZiMjIyZWNiYjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTY2LDcgKzY2LDEwIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5Ob3RpZmljYXRpb24oKTsKIAogICAgIHZvaWQgc2hvdygpOwotICAgIHZvaWQg
Y2FuY2VsKCk7CisjaWYgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQorICAgIHZvaWQgY2Fu
Y2VsKCkgeyBjbG9zZSgpOyB9CisjZW5kaWYKKyAgICB2b2lkIGNsb3NlKCk7CiAKICAgICBib29s
IGlzSFRNTCgpIGNvbnN0IHsgcmV0dXJuIG1faXNIVE1MOyB9CiAgICAgdm9pZCBzZXRIVE1MKGJv
b2wgaXNIVE1MKSB7IG1faXNIVE1MID0gaXNIVE1MOyB9CkBAIC04MCw5ICs4MywxNCBAQCBwdWJs
aWM6CiAKICAgICBTdHJpbmcgZGlyKCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb247IH0KICAg
ICB2b2lkIHNldERpcihjb25zdCBTdHJpbmcmIGRpcikgeyBtX2RpcmVjdGlvbiA9IGRpcjsgfQot
ICAgIAotICAgIFN0cmluZyByZXBsYWNlSWQoKSBjb25zdCB7IHJldHVybiBtX3JlcGxhY2VJZDsg
fQotICAgIHZvaWQgc2V0UmVwbGFjZUlkKGNvbnN0IFN0cmluZyYgcmVwbGFjZUlkKSB7IG1fcmVw
bGFjZUlkID0gcmVwbGFjZUlkOyB9CisKKyNpZiBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
CisgICAgU3RyaW5nIHJlcGxhY2VJZCgpIGNvbnN0IHsgcmV0dXJuIHRhZygpOyB9CisgICAgdm9p
ZCBzZXRSZXBsYWNlSWQoY29uc3QgU3RyaW5nJiByZXBsYWNlSWQpIHsgc2V0VGFnKHJlcGxhY2VJ
ZCk7IH0KKyNlbmRpZgorCisgICAgU3RyaW5nIHRhZygpIGNvbnN0IHsgcmV0dXJuIG1fdGFnOyB9
CisgICAgdm9pZCBzZXRUYWcoY29uc3QgU3RyaW5nJiB0YWcpIHsgbV90YWcgPSB0YWc7IH0KIAog
ICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZGlyKCkgPT0gInJ0
bCIgPyBSVEwgOiBMVFI7IH0KIApAQCAtMTQ2LDcgKzE1NCw3IEBAIHByaXZhdGU6CiAgICAgS1VS
TCBtX25vdGlmaWNhdGlvblVSTDsKIAogICAgIFN0cmluZyBtX2RpcmVjdGlvbjsKLSAgICBTdHJp
bmcgbV9yZXBsYWNlSWQ7CisgICAgU3RyaW5nIG1fdGFnOwogCiAgICAgZW51bSBOb3RpZmljYXRp
b25TdGF0ZSB7CiAgICAgICAgIElkbGUgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaWRsCmluZGV4IDMxNTZhOGQwZjVjMWY5MThkYTM2MGEwZjkzNTRh
MDU0MjI3MWU0ZjkuLjFmYjY3NDZkNDQ3M2NkY2Y5OTNmYWQ0NjgxODM2OTI1MTMzODBjMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKQEAgLTM4
LDcgKzM4LDEyIEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAg
ICAgXSBOb3RpZmljYXRpb24gewogICAgICAgICB2b2lkIHNob3coKTsKKyNpZiBkZWZpbmVkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
CiAgICAgICAgIHZvaWQgY2FuY2VsKCk7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAmJiBFTkFCTEVfTk9USUZJQ0FUSU9OUworICAgICAgICB2b2lkIGNsb3NlKCk7
CisjZW5kaWYKIAogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbnNob3c7CiAjaWYg
ZGVmaW5lZChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICYmIEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUwpAQCAtNDksNyArNTQsMTIgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmNsaWNrOwogCiAgICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgZGlyOworI2lmIGRlZmluZWQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAmJiBF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBy
ZXBsYWNlSWQ7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAmJiBF
TkFCTEVfTk9USUZJQ0FUSU9OUworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhZzsKKyNl
bmRpZgogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgICAgICB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAKaW5kZXggOTI5NGYzMTAyMjNkOTc2NmUzMGVi
Mzk5MjUwMGY4YTJhYjAyMGEzMi4uZjZlOTgxZDNjZDk0NDkxMmJjOGQ1MGMzNTBiYjA3ZmEwODVl
MjY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24u
Y3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgV2ViVGV4dERpcmVjdGlvbiBXZWJOb3RpZmljYXRpb246
OmRpcmVjdGlvbigpIGNvbnN0CiAKIFdlYlN0cmluZyBXZWJOb3RpZmljYXRpb246OnJlcGxhY2VJ
ZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+cmVwbGFjZUlkKCk7CisgICAgcmV0
dXJuIG1fcHJpdmF0ZS0+dGFnKCk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uOjpkZXRhY2hQ
cmVzZW50ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3Rp
ZmljYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLmgK
aW5kZXggOGVjYzEwNjg2NzRlYzQ5ODMxNmQ2MzY0MjMxM2IwOWUwYjEyNDZhMS4uZmI5YzUwZTVk
M2E3ZDJiNGMzOTVlZjQ2MzAwMzU3M2FjMmVjZjEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5oCkBAIC0zNiw3ICszNiw3IEBACiAKIC0gKE5TU3RyaW5n
ICopdGl0bGU7CiAtIChOU1N0cmluZyAqKWJvZHk7Ci0tIChOU1N0cmluZyAqKXJlcGxhY2VJRDsK
Ky0gKE5TU3RyaW5nICopdGFnOwogLSAoV2ViU2VjdXJpdHlPcmlnaW4gKilvcmlnaW47CiAtICh1
aW50NjRfdClub3RpZmljYXRpb25JRDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
Yk5vdGlmaWNhdGlvbi5tbQppbmRleCBjYjM1ZjUwZjAxMDQ1MmJkNDMzNDg1Nzc2MmZhNWRkOTg0
ODhmNTQ0Li42YTEyM2Y2ZWU5MTc2MDNkNjFmMWY5NmMxZTAxM2U3NDgzNzkzZGUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQpAQCAtMTAxLDExICsx
MDEsMTEgQEAgTm90aWZpY2F0aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9u
KQogI2VuZGlmCiB9CiAKLS0gKE5TU3RyaW5nICopcmVwbGFjZUlECistIChOU1N0cmluZyAqKXRh
ZwogewogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3JlKHNlbGYpLT5y
ZXBsYWNlSWQoKTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+dGFnKCk7CiAjZWxzZQogICAgIHJl
dHVybiBuaWw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKaW5kZXgg
NDUzYzJhNjVjM2IzMDc0NDZkMjI1OTQwNWZiOWUxNTNlYzQ3Zjc2Ni4uYTVlYjBjZTg2OGYzYTU0
Y2FlZWVkMTIxYzU5ZmRjYzlkMjcyM2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBib29sIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0OjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgIGlmIChub3RpZmljYXRp
b24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNXb3JrZXJDb250ZXh0KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBub3RpZmljYXRpb24tPnNldFBlbmRpbmdBY3Rpdml0eShub3Rp
ZmljYXRpb24pOwotICAgIGlmICghbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKS5pc0VtcHR5KCkp
CisgICAgaWYgKCFub3RpZmljYXRpb24tPnRhZygpLmlzRW1wdHkoKSkKICAgICAgICAgcmVtb3Zl
UmVwbGFjZWROb3RpZmljYXRpb25Gcm9tUXVldWUobm90aWZpY2F0aW9uKTsKICAgICBpZiAoZHVt
cE5vdGlmaWNhdGlvbikKICAgICAgICAgZHVtcFNob3dUZXh0KG5vdGlmaWNhdGlvbik7CkBAIC0z
OTgsNyArMzk4LDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6cmVtb3Zl
UmVwbGFjZWROb3RpZmljYXRpb25Gcm9tUXVldWUoTm90aWZpY2EKIAogICAgIHdoaWxlIChpdGVy
ICE9IGVuZCkgewogICAgICAgICBOb3RpZmljYXRpb24qIGV4aXN0aW5nTm90aWZpY2F0aW9uID0g
aXRlci5rZXkoKTsKLSAgICAgICAgaWYgKGV4aXN0aW5nTm90aWZpY2F0aW9uLT5yZXBsYWNlSWQo
KSA9PSBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpICYmIGV4aXN0aW5nTm90aWZpY2F0aW9uLT51
cmwoKS5wcm90b2NvbCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSAmJiBleGlz
dGluZ05vdGlmaWNhdGlvbi0+dXJsKCkuaG9zdCgpID09IG5vdGlmaWNhdGlvbi0+dXJsKCkuaG9z
dCgpKSB7CisgICAgICAgIGlmIChleGlzdGluZ05vdGlmaWNhdGlvbi0+dGFnKCkgPT0gbm90aWZp
Y2F0aW9uLT50YWcoKSAmJiBleGlzdGluZ05vdGlmaWNhdGlvbi0+dXJsKCkucHJvdG9jb2woKSA9
PSBub3RpZmljYXRpb24tPnVybCgpLnByb3RvY29sKCkgJiYgZXhpc3RpbmdOb3RpZmljYXRpb24t
PnVybCgpLmhvc3QoKSA9PSBub3RpZmljYXRpb24tPnVybCgpLmhvc3QoKSkgewogICAgICAgICAg
ICAgb2xkTm90aWZpY2F0aW9uID0gaXRlci5rZXkoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3Rp
ZmljYXRpb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0
aW9uLmNwcAppbmRleCA1ZGZjYmJhMjlmYjMzZDgzMDM1MjJlMTNmMDRhODRiMDAwNmExOTUxLi4y
NjcwMGUxYWFlMTZjZGY5MTkyMGE3NDczZTlhMzc3ODIzNDQyMWQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbi5jcHAKQEAgLTUyLDkgKzUy
LDkgQEAgV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5SWNvblVSTChXS05vdGlmaWNhdGlv
blJlZiBub3RpZmljYXRpb24pCiAgICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChub3RpZmlj
YXRpb24pLT5pY29uVVJMKCkpOwogfQogCi1XS1N0cmluZ1JlZiBXS05vdGlmaWNhdGlvbkNvcHlS
ZXBsYWNlSUQoV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKQorV0tTdHJpbmdSZWYgV0tO
b3RpZmljYXRpb25Db3B5VGFnKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKIHsKLSAg
ICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKG5vdGlmaWNhdGlvbiktPnJlcGxhY2VJRCgpKTsK
KyAgICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKG5vdGlmaWNhdGlvbiktPnRhZygpKTsKIH0K
IAogV0tTZWN1cml0eU9yaWdpblJlZiBXS05vdGlmaWNhdGlvbkdldFNlY3VyaXR5T3JpZ2luKFdL
Tm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uLmgKaW5kZXggMTFlYTk3Mjc1MzdlMDNkZWIzODBhYWFm
Yjk4ODJjZjJiNjFkZGVkMy4uM2Y0YjFhOTAwNjQxNDI0NTMxMjFiZGM2MzhjNmI3NDk2MjE5ZGE1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9u
LmgKQEAgLTM3LDcgKzM3LDcgQEAgV0tfRVhQT1JUIFdLVHlwZUlEIFdLTm90aWZpY2F0aW9uR2V0
VHlwZUlEKCk7CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5VGl0bGUo
V0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKTsKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBX
S05vdGlmaWNhdGlvbkNvcHlCb2R5KFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CiBX
S19FWFBPUlQgV0tTdHJpbmdSZWYgV0tOb3RpZmljYXRpb25Db3B5SWNvblVSTChXS05vdGlmaWNh
dGlvblJlZiBub3RpZmljYXRpb24pOwotV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLTm90aWZpY2F0
aW9uQ29weVJlcGxhY2VJRChXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pOworV0tfRVhQ
T1JUIFdLU3RyaW5nUmVmIFdLTm90aWZpY2F0aW9uQ29weVRhZyhXS05vdGlmaWNhdGlvblJlZiBu
b3RpZmljYXRpb24pOwogV0tfRVhQT1JUIFdLU2VjdXJpdHlPcmlnaW5SZWYgV0tOb3RpZmljYXRp
b25HZXRTZWN1cml0eU9yaWdpbihXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pOwogV0tf
RVhQT1JUIHVpbnQ2NF90IFdLTm90aWZpY2F0aW9uR2V0SUQoV0tOb3RpZmljYXRpb25SZWYgbm90
aWZpY2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbi5jcHAKaW5kZXggOTliYTBlZGUxYjA5OWQ5ZDkx
ZDYzZTI5YWY4YzQ1OTA3ZGVhMTQwMS4uZmI4ZGRiMGE2ODEyMWQ3ZmY3ZGIyNDRhNzk2YmFiNDI1
MDZjMzlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uY3BwCkBAIC0zMywxMSArMzMsMTEgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLVdlYk5vdGlmaWNhdGlvbjo6V2ViTm90aWZpY2F0aW9uKGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJM
LCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEKQorV2ViTm90aWZpY2F0aW9uOjpXZWJOb3RpZmljYXRpb24o
Y29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGlj
b25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWlu
dDY0X3Qgbm90aWZpY2F0aW9uSUQpCiAgICAgOiBtX3RpdGxlKHRpdGxlKQogICAgICwgbV9ib2R5
KGJvZHkpCiAgICAgLCBtX2ljb25VUkwoaWNvblVSTCkKLSAgICAsIG1fcmVwbGFjZUlEKHJlcGxh
Y2VJRCkKKyAgICAsIG1fdGFnKHRhZykKICAgICAsIG1fb3JpZ2luKFdlYlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGVGcm9tU3RyaW5nKG9yaWdpblN0cmluZykpCiAgICAgLCBtX25vdGlmaWNhdGlvbklE
KG5vdGlmaWNhdGlvbklEKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaAppbmRleCAxOWJkYTQwNTBkMDc3YWQz
NzdkMmM0Y2UxMzA2ODNmOWNjMWRmMjEwLi4zMzU1YWFiN2U5MjIxMmFmMzJiNGRkOGFiMDIyMTgx
NmZmZGI1ZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb24uaApAQCAtNDUsMjggKzQ1LDI4IEBAIGNsYXNzIFdl
Yk5vdGlmaWNhdGlvbiA6IHB1YmxpYyBBUElPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBj
b25zdCBUeXBlIEFQSVR5cGUgPSBUeXBlTm90aWZpY2F0aW9uOwogICAgIAotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNv
bnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHJl
cGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlv
bklEKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYk5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0
IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJM
LCBjb25zdCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90
IG5vdGlmaWNhdGlvbklEKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJO
b3RpZmljYXRpb24odGl0bGUsIGJvZHksIGljb25VUkwsIHJlcGxhY2VJRCwgb3JpZ2luU3RyaW5n
LCBub3RpZmljYXRpb25JRCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYk5vdGlm
aWNhdGlvbih0aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNh
dGlvbklEKSk7CiAgICAgfQogICAgIAogICAgIGNvbnN0IFN0cmluZyYgdGl0bGUoKSBjb25zdCB7
IHJldHVybiBtX3RpdGxlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBib2R5KCkgY29uc3QgeyByZXR1
cm4gbV9ib2R5OyB9CiAgICAgY29uc3QgU3RyaW5nJiBpY29uVVJMKCkgY29uc3QgeyByZXR1cm4g
bV9pY29uVVJMOyB9Ci0gICAgY29uc3QgU3RyaW5nJiByZXBsYWNlSUQoKSBjb25zdCB7IHJldHVy
biBtX3JlcGxhY2VJRDsgfQorICAgIGNvbnN0IFN0cmluZyYgdGFnKCkgY29uc3QgeyByZXR1cm4g
bV90YWc7IH0KICAgICBXZWJTZWN1cml0eU9yaWdpbiogb3JpZ2luKCkgY29uc3QgeyByZXR1cm4g
bV9vcmlnaW4uZ2V0KCk7IH0KICAgICAKICAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCgpIGNv
bnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uSUQ7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJOb3Rp
ZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBT
dHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9y
aWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIFdlYk5vdGlmaWNhdGlv
bihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYg
aWNvblVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1
aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIEFQSVR5cGU7IH0KICAgICAKICAgICBTdHJpbmcgbV90aXRsZTsKICAgICBTdHJp
bmcgbV9ib2R5OwogICAgIFN0cmluZyBtX2ljb25VUkw7Ci0gICAgU3RyaW5nIG1fcmVwbGFjZUlE
OworICAgIFN0cmluZyBtX3RhZzsKICAgICBSZWZQdHI8V2ViU2VjdXJpdHlPcmlnaW4+IG1fb3Jp
Z2luOwogICAgIHVpbnQ2NF90IG1fbm90aWZpY2F0aW9uSUQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKaW5kZXggZDgwNTFhNDM4YTdjNjFkMGYzYTVlY2Ux
ZDZjODU4YWZlNzQzM2UyYS4uYzEyNDYwNjhhM2ZiZDEzOTUyZTg1Y2NmOGQ2NjFiOGI2NTE2NWY0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCkBAIC03Niwx
MiArNzYsMTIgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OmRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3QKICAgICBkaWRSZWNlaXZlV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3Vt
ZW50cyk7CiB9CiAKLXZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpzaG93KFdlYlBh
Z2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBj
b25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJp
bmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCit2b2lkIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eTo6c2hvdyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25z
dCBTdHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlm
aWNhdGlvbklEKQogewogICAgIGlmICghaXNOb3RpZmljYXRpb25JRFZhbGlkKG5vdGlmaWNhdGlv
bklEKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIFJlZlB0cjxXZWJOb3RpZmljYXRpb24+
IG5vdGlmaWNhdGlvbiA9IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRpdGxlLCBib2R5LCBpY29u
VVJMLCByZXBsYWNlSUQsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOworICAgIFJlZlB0
cjxXZWJOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbiA9IFdlYk5vdGlmaWNhdGlvbjo6Y3JlYXRl
KHRpdGxlLCBib2R5LCBpY29uVVJMLCB0YWcsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQp
OwogICAgIG1fbm90aWZpY2F0aW9ucy5zZXQobm90aWZpY2F0aW9uSUQsIG5vdGlmaWNhdGlvbik7
CiAgICAgbV9wcm92aWRlci5zaG93KHBhZ2UsIG5vdGlmaWNhdGlvbi5nZXQoKSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCmluZGV4IGVkZmNjYzE3OTdkYTEyOWFh
ZTA2ODRhMzZhMmIxY2NiMmU1NjAxMjMuLmUwMjhkNmI5M2EwMTUyZmJkODVlMDc0Yjk4ZDRhNGM5
ZTQxM2MzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oCkBAIC02
MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRpYWxpemVQcm92aWRlcihjb25zdCBX
S05vdGlmaWNhdGlvblByb3ZpZGVyKik7CiAgICAgdm9pZCBwb3B1bGF0ZUNvcHlPZk5vdGlmaWNh
dGlvblBlcm1pc3Npb25zKEhhc2hNYXA8U3RyaW5nLCBib29sPiYpOwogCi0gICAgdm9pZCBzaG93
KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwg
Y29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3Ry
aW5nJiBvcmlnaW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKKyAgICB2b2lkIHNo
b3coV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcm
IG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogCiAgICAgdm9pZCBwcm92
aWRlckRpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogICAgIHZv
aWQgcHJvdmlkZXJEaWRDbGlja05vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBhZWRhMGVi
NTk5MWEyODEwNjgwMTE5NjhmODcyMTc1MTQ1NGEwNDcuLmVkZWU3N2IxZjJiNzg2NzM1YWRkMjU2
YmQ5NmJjM2M3Y2Y4ODZhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0zNDc0LDkgKzM0NzQsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdE5v
dGlmaWNhdGlvblBlcm1pc3Npb24odWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbgogICAg
ICAgICByZXF1ZXN0LT5kZW55KCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzaG93Tm90aWZp
Y2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3Ry
aW5nJiBpY29uVVJMLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VJRCwgY29uc3QgU3RyaW5nJiBvcmln
aW5TdHJpbmcsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJQYWdlUHJveHk6OnNo
b3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBj
b25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcmIG9y
aWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0gICAgbV9wcm9jZXNzLT5j
b250ZXh0KCktPm5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSgpLT5zaG93KHRoaXMsIHRpdGxlLCBi
b2R5LCBpY29uVVJMLCByZXBsYWNlSUQsIG9yaWdpblN0cmluZywgbm90aWZpY2F0aW9uSUQpOwor
ICAgIG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5ub3RpZmljYXRpb25NYW5hZ2VyUHJveHkoKS0+c2hv
dyh0aGlzLCB0aXRsZSwgYm9keSwgaWNvblVSTCwgdGFnLCBvcmlnaW5TdHJpbmcsIG5vdGlmaWNh
dGlvbklEKTsKIH0KIAogZmxvYXQgV2ViUGFnZVByb3h5OjpoZWFkZXJIZWlnaHQoV2ViRnJhbWVQ
cm94eSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
NjgzMWYzOTQ5YzEyYjJlOTkxZTMwNjRiZTIyNmFlZDIzMWJhMWZlNC4uYjIwM2U0MTM5NDkwYjJm
NzdiNTk2YmFkZWEyMGFhYWRhNTE2NDFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtNzQwLDcgKzc0MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWF0dGFj
aFRvV2ViUHJvY2Vzc1dpdGhJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qKTsKIAogICAgIHZv
aWQgcmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQs
IGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nKTsKLSAgICB2b2lkIHNob3dOb3RpZmljYXRpb24o
Y29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGlj
b25VUkwsIGNvbnN0IFN0cmluZyYgcmVwbGFjZUlELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIHZvaWQgc2hvd05vdGlmaWNhdGlvbihj
b25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNv
blVSTCwgY29uc3QgU3RyaW5nJiB0YWcsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCB1aW50
NjRfdCBub3RpZmljYXRpb25JRCk7CiAgICAgCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUp
CiAgICAgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNGMzNWM0ZGFmYTRlM2Q5NWMwOWQzNjFhZmVhMTY5ZDQxNTJhNmQzZS4uZTRmN2Fh
ZmRkYTZiY2MxZDQ4ZDcxZjVkYTAzMTc0ZDE5ZWZiY2JlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMTEsNyArMjExLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAKICAgICAjIE5vdGlmaWNhdGlvbiBt
ZXNzYWdlcwogICAgIFJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHVpbnQ2NF90IHJlcXVl
c3RJRCwgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLSAgICBTaG93Tm90aWZpY2F0aW9u
KFdURjo6U3RyaW5nIHRpdGxlLCBXVEY6OlN0cmluZyBib2R5LCBXVEY6OlN0cmluZyBpY29uVVJM
LCBXVEY6OlN0cmluZyByZXBsYWNlSUQsIFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEKQorICAgIFNob3dOb3RpZmljYXRpb24oV1RGOjpTdHJpbmcg
dGl0bGUsIFdURjo6U3RyaW5nIGJvZHksIFdURjo6U3RyaW5nIGljb25VUkwsIFdURjo6U3RyaW5n
IHRhZywgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpCiAKICAgICAjIFNwZWxsaW5nIGFuZCBncmFtbWFyIG1lc3NhZ2VzCiAjaWYgVVNFKFVOSUZJ
RURfVEVYVF9DSEVDS0lORykgIAo=
</data>
<flag name="review"
          id="139412"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>