<?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>61079</bug_id>
          
          <creation_ts>2011-05-18 10:57:22 -0700</creation_ts>
          <short_desc>Add rel type prerender to distinguish prerender from prefetch</short_desc>
          <delta_ts>2011-05-23 12:27:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Gavin Peters">gavinp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>gavinp</cc>
    
    <cc>koivisto</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405841</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 10:57:22 -0700</bug_when>
    <thetext>Add rel type prerender to distinguish prerender from prefetch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405907</commentid>
    <comment_count>1</comment_count>
      <attachid>93958</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 11:48:57 -0700</bug_when>
    <thetext>Created attachment 93958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405908</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 11:50:01 -0700</bug_when>
    <thetext>Also, see how I cleaned things up in CachedResourceRequest.cpp?  I like the new cachedResourceTypeToTargetType a lot better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405912</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-18 11:52:22 -0700</bug_when>
    <thetext>Attachment 93958 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/loader/cache/CachedResourceLoader.h:73:  The parameter name &quot;priority&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405914</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 11:54:43 -0700</bug_when>
    <thetext>Unfortunately, this has tickled me before, the style failure doesn&apos;t recognise a default parameter as sufficient reason to name an argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405916</commentid>
    <comment_count>5</comment_count>
      <attachid>93958</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 11:56:41 -0700</bug_when>
    <thetext>Comment on attachment 93958
Patch

bad patch.  new upload pending.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405923</commentid>
    <comment_count>6</comment_count>
      <attachid>93961</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 12:06:01 -0700</bug_when>
    <thetext>Created attachment 93961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405924</commentid>
    <comment_count>7</comment_count>
      <attachid>93961</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 12:06:41 -0700</bug_when>
    <thetext>Comment on attachment 93961
Patch

Better patch.  Thank you dominich@chromium.org.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405925</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-18 12:07:55 -0700</bug_when>
    <thetext>Attachment 93961 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/loader/cache/CachedResourceLoader.h:73:  The parameter name &quot;priority&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405936</commentid>
    <comment_count>9</comment_count>
      <attachid>93961</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-18 12:30:07 -0700</bug_when>
    <thetext>Comment on attachment 93961
Patch

Attachment 93961 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8707547</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405946</commentid>
    <comment_count>10</comment_count>
      <attachid>93966</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 12:33:45 -0700</bug_when>
    <thetext>Created attachment 93966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405947</commentid>
    <comment_count>11</comment_count>
      <attachid>93966</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-18 12:34:03 -0700</bug_when>
    <thetext>Comment on attachment 93966
Patch

Fix non-prefetching builds!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405951</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-18 12:36:22 -0700</bug_when>
    <thetext>Attachment 93966 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/loader/cache/CachedResourceLoader.h:73:  The parameter name &quot;priority&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407358</commentid>
    <comment_count>13</comment_count>
      <attachid>93966</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-20 15:27:06 -0700</bug_when>
    <thetext>Comment on attachment 93966
Patch

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

&gt; Source/WebCore/html/HTMLLinkElement.cpp:263
&gt;              priority = ResourceLoadPriorityLow;

We don&apos;t want to set priority = ResourceLoadPriorityLow for prerender as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407537</commentid>
    <comment_count>14</comment_count>
      <attachid>93966</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-21 07:32:45 -0700</bug_when>
    <thetext>Comment on attachment 93966
Patch

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

&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:263
&gt;&gt;              priority = ResourceLoadPriorityLow;
&gt; 
&gt; We don&apos;t want to set priority = ResourceLoadPriorityLow for prerender as well?

I think no; the VeryLow that it gets by default is probably correct.  Priority in WebKit loading only controls when requests are sent to the network layer (the lower the priority, the later they go out), and for prerender being late like a prefetch is probably correct; the prerender fetch then won&apos;t interfere as much with main resource loading.  In the subresource case, the contrast is that the resource is associated with the current page, and Low priority mirrors what something like an image would get.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407552</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 12:23:33 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 93966:

http/tests/websocket/tests/handshake-fail-by-cross-origin.html bug 54147 (author: abarth@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407553</commentid>
    <comment_count>16</comment_count>
      <attachid>93966</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 12:25:07 -0700</bug_when>
    <thetext>Comment on attachment 93966
Patch

Clearing flags on attachment: 93966

Committed r87020: &lt;http://trac.webkit.org/changeset/87020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407554</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 12:25:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407557</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 13:25:28 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 93966:

http/tests/websocket/tests/close-event.html bug 61240 (author: yutak@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408147</commentid>
    <comment_count>19</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-05-23 12:27:40 -0700</bug_when>
    <thetext>I have learned a valuable lesson; always test the chrome side of a webkit patch that has chrome implication before uploading to WebKit: https://bugs.webkit.org/show_bug.cgi?id=61297 catches two mistakes that shouldn&apos;t have been in this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93958</attachid>
            <date>2011-05-18 11:48:57 -0700</date>
            <delta_ts>2011-05-18 12:05:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61079-20110518144855.patch</filename>
            <type>text/plain</type>
            <size>18936</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3MzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjdmZDMzZWY4OTNjMWI1YjYwY2Nm
NmZkZTE3YzBkODc2ZDg4NzM5Li43YmUxODRmYmJhYWU0ZWFhOTBiOGYwYjM2MGM2Mzg1OTljZmJm
OTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTggIEdhdmluIFBldGVycyAgPGdh
dmlucEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHJlbCB0eXBlIHByZXJlbmRlciB0byBkaXN0aW5ndWlzaCBwcmVyZW5k
ZXIgZnJvbSBwcmVmZXRjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjEwNzkKKworICAgICAgICBDaHJvbWUgcmlnaHQgbm93IHVzZXMgPGxpbmsgcmVs
PXByZWZldGNoIC4uLj4gZm9yIG9uZSBvZiB0d28gdGhpbmdzLAorICAgICAgICB0byB3YXJtIHRo
ZSBjYWNoZSBpbiB0aGUgc2FtZSB3YXkgYXMgZmlyZWZveCwgb3IgdG8gbGF1bmNoIGEgc3BlY3Vs
YXRpdmUKKyAgICAgICAgcmVuZGVyaW5nIG9mIGEgd2ViIHBhZ2UsIGZvciBmYXN0ZXIgImxvYWRp
bmciIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHRvIGl0LgorCisgICAgICAgIFRoaXMgbmV3IHJl
bCB0eXBlIHdpbGwgbGV0IHVzIGRpc3Rpbmd1aXNoIHRoZSB0d28gY2FzZXM7IHRoZSByZWwgdHlw
ZSBwcmVyZW5kZXIKKyAgICAgICAgaXNuJ3QgdXNlZCBvbiB0aGUgd2ViIHRvZGF5LCBidXQgdGhl
IEdvb2dsZSBXZWIgU2VhcmNoIGV4YW1wbGUgcHJlcmVuZGVyaW5nIGFwcGxpY2F0aW9uCisgICAg
ICAgIGlzIHJlYWR5IHRvIGV4cGVyaW1lbnQgd2l0aCBpdC4KKworICAgICAgICAqIGZhc3QvZG9t
L0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTEtMDUtMTcgIEplcmVteSBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI2NWJmZTI2NDUyMDRkMTMyNTdlY2QyNDYyOTVjMGE5NGQ3MWNjZWQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
cHJlcmVuZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK3ByZWZldGNoLmxpbmsgaGFz
IE1JTUUgdHlwZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KK1BBU1Mgb25sb2FkIGNhbGxlZCEK
K1RoaXMgdGVzdCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZl
dGNoZXMgYXJlIGVuYWJsZWQsIG90aGVyd2lzZSBpdCB3aWxsIHNob3cgbm90aGluZyBiZWxvdy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5k
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTc4ZjQyY2VlYzYzNzUzZDA2N2MyNGIyOGFlZDczZmVjNjM0YzY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZXJlbmRlci5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxib2R5PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmVmZXRjaF9vbmxvYWQoKSB7CisgICAg
dGVzdFBhc3NlZCgnb25sb2FkIGNhbGxlZCEnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcygpOworfQorPC9zY3JpcHQ+Cis8aHRtbD4KKzxwPlRoaXMgdGVz
dCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZldGNoZXMgYXJl
CitlbmFibGVkLCBvdGhlcndpc2UgaXQgd2lsbCBzaG93IG5vdGhpbmcgYmVsb3cuPC9wPgorPGxp
bmsgaHJlZj0icHJlZmV0Y2gubGluayIgcmVsPSJwcmVyZW5kZXIiIG9ubG9hZD0icHJlZmV0Y2hf
b25sb2FkKCkiIG9uZXJyb3I9InRlc3RGYWlsZWQoJ29uZXJyb3InKSIgLz4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAzZTRhOGVkNTdmZTcyOWQyZTZiZTg5MDhiZGVm
MmM1OWZiNTU3YzNiLi5iMWY2Y2RmMmRjYWM4OTQ0Y2Y2YTU4NzEwNzg3YzI1OTU1OTAxZWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtOTQzLDYgKzk0Myw3IEBAIGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJl
ZmV0Y2gtb25lcnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25s
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0
bWwKK2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRN
TExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIAogIyBUZXN0cyBmYWlsaW5nIGJlY2F1c2Ug
dGhlIGNvbnRleHQgbWVudSBpcyBncmFiYmluZyBtb3VzZSBldmVudHMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCmluZGV4IDk1OGNmOGEyY2MyZjI3NWFjNzViNjMxNzQ5NmZlYjAwYWFkZDM4NmQu
LjQwM2VmMTRiYjcwODRiZTdjOWU2NThjYjc5MDdhYjI4MjJlOGY1YzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCkBAIC0xODYsNiArMTg2LDcgQEAgZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVs
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmVycm9yLmh0bWwK
IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmxvYWQuaHRtbAorZmFzdC9kb20v
SFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
c3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL2xpbmstcmVsLXByZWZldGNoLWFuZC1z
dWJyZXNvdXJjZS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA2MmUzM2NjOTk5NDg5OTI3MzY5ZTU4NjdjMDQ1MzQ0
MTQ1M2JkMWEwLi45YjJjM2VkMDc3YWM3YTQwMGYyNzgyZDgwZGIwYjc3ODBjZDRlZTIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTIwMTUsNiArMjAxNSw3IEBAIGZhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0
Y2gtYmVmb3JlbG9hZC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25l
cnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25sb2FkLmh0bWwK
K2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRNTExp
bmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVm
ZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBmZGNjZjQ5NDBlYzRjYWU2OWZh
YjllMWJiYzk4ODM4YTU1MTEwOTExLi4zNjM0Yzg2ZmFlMzBmNDVmYWMwMDdjYTdlZmI0NWQ2NDFl
YThkZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTAwNSw4ICsxMDA1LDkgQEAg
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5r
RWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVu
dC9wcmVmZXRjaC1vbmVycm9yLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC1vbmxvYWQuaHRtbAotZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwK
IGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVmZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAor
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCitmYXN0L2RvbS9IVE1MTGlu
a0VsZW1lbnQvc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbAogCiAjIExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVydHkgaXMgbm90IGlt
cGxlbWVudGVkIGZvciBXSU4geWV0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDEyN2ZkM2I3ZWU1ZGQzMjk1NDM4
MDU2MDBkOWRkMzRjZmVlODQyMWMuLmQ3YjI2ZTAxOGY4NzA3NWYyNTlhMGM5M2Y4Y2IzYjFjMzM2
M2VkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wNS0xOCAgR2F2aW4gUGV0
ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgcmVsIHR5cGUgcHJlcmVuZGVyIHRvIGRpc3Rpbmd1aXNo
IHByZXJlbmRlciBmcm9tIHByZWZldGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTA3OQorCisgICAgICAgIENocm9tZSByaWdodCBub3cgdXNlcyA8
bGluayByZWw9cHJlZmV0Y2ggLi4uPiBmb3Igb25lIG9mIHR3byB0aGluZ3MsCisgICAgICAgIHRv
IHdhcm0gdGhlIGNhY2hlIGluIHRoZSBzYW1lIHdheSBhcyBmaXJlZm94LCBvciB0byBsYXVuY2gg
YSBzcGVjdWxhdGl2ZQorICAgICAgICByZW5kZXJpbmcgb2YgYSB3ZWIgcGFnZSwgZm9yIGZhc3Rl
ciAibG9hZGluZyIgd2hlbiB0aGUgdXNlciBuYXZpZ2F0ZXMgdG8gaXQuCisKKyAgICAgICAgVGhp
cyBuZXcgcmVsIHR5cGUgd2lsbCBsZXQgdXMgZGlzdGluZ3Vpc2ggdGhlIHR3byBjYXNlczsgdGhl
IHJlbCB0eXBlIHByZXJlbmRlcgorICAgICAgICBpc24ndCB1c2VkIG9uIHRoZSB3ZWIgdG9kYXks
IGJ1dCB0aGUgR29vZ2xlIFdlYiBTZWFyY2ggZXhhbXBsZSBwcmVyZW5kZXJpbmcgYXBwbGljYXRp
b24KKyAgICAgICAgaXMgcmVhZHkgdG8gZXhwZXJpbWVudCB3aXRoIGl0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAorCisgICAgICAgICog
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVt
ZW50Ojp0b2tlbml6ZVJlbEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0Vs
ZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OlJlbEF0dHJpYnV0ZTo6UmVsQXR0cmlidXRl
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlOjppc0xpbmtSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0TGlua1Jlc291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDExLTA1LTE3ICBKZXJlbXkgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IDMyNmVhZjRiNDc0NDU5N2MwYmVm
ZGYxOGRhNTdkNDRiM2M4NTlmN2IuLmE3N2YyNzVhNjlmYmIyNTBjZjdjYTBiYTI5Zjg3OTY1ZmI1
M2I2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTE2NSw2
ICsxNjUsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6dG9rZW5pemVSZWxBdHRyaWJ1dGUoY29u
c3QgQXRvbWljU3RyaW5nJiByZWwsIFJlbEF0dHJpYnV0ZQogICAgIHJlbEF0dHJpYnV0ZS5tX2lz
RE5TUHJlZmV0Y2ggPSBmYWxzZTsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICByZWxB
dHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCA9IGZhbHNlOworICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1ByZXJlbmRlciA9IGZhbHNlOwogICAgIHJlbEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291
cmNlID0gZmFsc2U7CiAjZW5kaWYKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocmVsLCAic3R5
bGVzaGVldCIpKQpAQCAtMjA1LDYgKzIwNiw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojp0b2tl
bml6ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIHJlbCwgUmVsQXR0cmlidXRlCiAj
aWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZSgqaXQsICJwcmVmZXRjaCIpKQogICAgICAgICAgICAgICByZWxBdHRyaWJ1dGUubV9p
c0xpbmtQcmVmZXRjaCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSgqaXQsICJwcmVyZW5kZXIiKSkKKyAgICAgICAgICAgICAgcmVsQXR0cmlidXRlLm1faXNM
aW5rUHJlcmVuZGVyID0gdHJ1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKCppdCwgInN1YnJlc291cmNlIikpCiAgICAgICAgICAgICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1N1YnJlc291cmNlID0gdHJ1ZTsKICNlbmRpZgpAQCAtMjQ5LDE0ICsyNTIsMjAgQEAgdm9p
ZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAgIH0KIAogI2lmIEVOQUJMRShMSU5LX1BS
RUZFVENIKQotICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCB8fCBtX3Jl
bEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9j
dW1lbnQoKS0+ZnJhbWUoKSkgeworICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVm
ZXRjaCB8fCBtX3JlbEF0dHJpYnV0ZS5tX2lzTGlua1ByZXJlbmRlciB8fCBtX3JlbEF0dHJpYnV0
ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9jdW1lbnQoKS0+
ZnJhbWUoKSkgewogICAgICAgICBpZiAoIWNoZWNrQmVmb3JlTG9hZEV2ZW50KCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5ID0gUmVz
b3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkOwotICAgICAgICBpZiAobV9yZWxBdHRyaWJ1dGUu
bV9pc0xpbmtTdWJyZXNvdXJjZSkKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSA9
IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g7CisgICAgICAgIC8vIFdlIG9ubHkgbWFrZSBv
bmUgcmVxdWVzdCB0byB0aGUgY2FjaGVkcmVzb3VyY2Vsb2RhZXIgaWYgbXVsdGlwbGUgcmVsIHR5
cGVzIGFyZQorICAgICAgICAvLyBzcGVjaWZpZWQsIAorICAgICAgICBpZiAobV9yZWxBdHRyaWJ1
dGUubV9pc0xpbmtTdWJyZXNvdXJjZSkgewogICAgICAgICAgICAgcHJpb3JpdHkgPSBSZXNvdXJj
ZUxvYWRQcmlvcml0eUxvdzsKKyAgICAgICAgICAgIHR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6TGlu
a1N1YnJlc291cmNlOworICAgICAgICB9IGVsc2UgaWYgKG1fcmVsQXR0cmlidXRlLm1faXNMaW5r
UHJlcmVuZGVyKQorICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNlOjpMaW5rUHJlcmVu
ZGVyOwogCi0gICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdExpbmtSZXNvdXJjZShtX3VybCwgcHJpb3JpdHkpOwor
ICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbV91cmwsIHByaW9yaXR5KTsKICAg
ICAgICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKQogICAgICAgICAgICAgbV9jYWNoZWRMaW5r
UmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaAppbmRleCBmYzBmNDdjMGJlMGQxYzFiMTVjYjg5ZmZiZTE3ODMxZWYyYmU4OGQx
Li5kY2M3ZTY3OGJlMjA3OGZjMjUwNWNlNjMzZjZhMjVhNWJhYWFiZGE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAg
ICBib29sIG1faXNETlNQcmVmZXRjaDsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAg
ICAgYm9vbCBtX2lzTGlua1ByZWZldGNoOworICAgICAgICBib29sIG1faXNMaW5rUHJlcmVuZGVy
OwogICAgICAgICBib29sIG1faXNMaW5rU3VicmVzb3VyY2U7CiAjZW5kaWYKIApAQCAtNTUsNiAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAsIG1faXNETlNQcmVmZXRjaChmYWxzZSkKICNp
ZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAgICAgICAgICwgbV9pc0xpbmtQcmVmZXRjaChm
YWxzZSkKKyAgICAgICAgICAgICwgbV9pc0xpbmtQcmVyZW5kZXIoZmFsc2UpCiAgICAgICAgICAg
ICAsIG1faXNMaW5rU3VicmVzb3VyY2UoZmFsc2UpCiAjZW5kaWYKICAgICAgICAgICAgIHsgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCAw
NGUyY2ZiNDFkMDgwYWI4OWJlZTNmOTAxMGIzZjk3NmVkY2I4YjJjLi45NTI4ZTVhODQ5ZTNhMWFi
ZmNmYTA4YTQ3NDQwZTMxZDQ5YWRhZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTYyLDcgKzYyLDExIEBAIHN0YXRpYyBSZXNvdXJj
ZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUKICAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKICAg
ICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRQcmlvcml0eUxvdzsKICNpZiBFTkFCTEUoTElO
S19QUkVGRVRDSCkKLSAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgor
ICAgICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6CisgICAgICAgICAgICBy
ZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OworICAgICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFBy
aW9yaXR5VmVyeUxvdzsKKyAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJlc291
cmNlOgogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5VmVyeUxvdzsKICNl
bmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggNzJiMDBlNTY1YTllOTEzZDQ0MTU4ZGI2OTE2OTc2OWViNWRiNzI0OC4uMDliNWMw
M2RlN2E4NzI0MDkyY2YzNmI0NmU5ZDQzN2YzY2VhZGFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTY1LDcgKzY1LDkgQEAgcHVibGljOgog
ICAgICAgICAsIFhTTFN0eWxlU2hlZXQKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgICAgICAsIExpbmtSZXNvdXJjZQorICAgICAgICAsIExpbmtQcmVmZXRjaAorICAgICAg
ICAsIExpbmtQcmVyZW5kZXIKKyAgICAgICAgLCBMaW5rU3VicmVzb3VyY2UKICNlbmRpZgogICAg
IH07CiAKQEAgLTEzMiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0xpbmtSZXNvdXJj
ZSgpIGNvbnN0CiAgICAgewogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgICAgICByZXR1
cm4gdHlwZSgpID09IExpbmtSZXNvdXJjZTsKKyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBMaW5r
UHJlZmV0Y2ggfHwgdHlwZSgpID09IExpbmtQcmVyZW5kZXIgfHwgdHlwZSgpID09IExpbmtTdWJy
ZXNvdXJjZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggYjlkYTJmMmUxNjFlYzhmYzRmNDE0NjRjMTIyNDQ4MjUyOGNiM2I1OC4uYjMyN2QxNDUxMjVj
OTkzYzYzNTZjODMyNzg1ZjFkYjJjODY2MWE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03MSw4ICs3MSwxMiBA
QCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0
eWxlU2hlZXQodXJsLnN0cmluZygpKTsKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKLSAgICAgICAgcmV0dXJu
IG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpMaW5rUmVz
b3VyY2UpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICAgICAg
cmV0dXJuIG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpM
aW5rUHJlZmV0Y2gpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXI6Cisg
ICAgICAgIHJldHVybiBuZXcgQ2FjaGVkUmVzb3VyY2UodXJsLnN0cmluZygpLCBDYWNoZWRSZXNv
dXJjZTo6TGlua1ByZXJlbmRlcik7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJl
c291cmNlOgorICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJlc291cmNlKHVybC5zdHJpbmcoKSwg
Q2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZSk7CiAjZW5kaWYKICAgICB9CiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xODgsMTAgKzE5MiwxMSBAQCBDYWNoZWRYU0xTdHlsZVNo
ZWV0KiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoY29uc3QgU3Ry
aW5nJiB1cgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLUNhY2hlZFJlc291
cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJp
bmcmIHVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNvdXJjZSog
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OlR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB1cmwsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9y
aXR5KQogewogICAgIEFTU0VSVChmcmFtZSgpKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpMaW5rUmVzb3VyY2UsIHVybCwgU3RyaW5nKCksIHByaW9yaXR5KTsK
KyAgICBBU1NFUlQodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoIHx8IHR5cGUg
PT0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXIgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1N1YnJlc291cmNlKTsKKyAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKENhY2hlZFJl
c291cmNlOjpMaW5rUHJlZmV0Y2gsIHVybCwgU3RyaW5nKCksIHByaW9yaXR5KTsKIH0KICNlbmRp
ZgogCkBAIC0yMTMsNyArMjE4LDkgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVx
dWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpTY3JpcHQ6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJl
c291cmNlOgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OkxpbmtSZXNvdXJjZToKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6
CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZXJlbmRlcjoKKyAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2U6CiAjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlw
ZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBsb2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAv
LyBGSVhNRTogQXJlIHdlIHN1cmUgYWJvdXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8K
QEAgLTI2MCw3ICsyNjcsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVh
azsKICAgICB9CiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6TGlua1Jlc291cmNlOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRj
aDoKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2Fj
aGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZToKICAgICAgICAgLy8gUHJlZmV0Y2ggY2Fubm90
IGFmZmVjdCB0aGUgY3VycmVudCBkb2N1bWVudC4KICAgICAgICAgYnJlYWs7CiAjZW5kaWYKQEAg
LTI4OSw3ICsyOTgsOSBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENh
Y2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVhazsK
ICAgICB9CiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1Jlc291cmNlOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoK
KyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZToKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oCmluZGV4IDVlNjRiZTBkOTg4MWQ4YTQ2OTE3ODU4YjE2ZWQzZmE0NTc3YjU3MzMuLjc0NDFk
YjExOTZiMjI3MzFkZWFhY2MxZjVkNjVhODA1MTY2MjFkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC03MCw3ICs3MCw3
IEBAIHB1YmxpYzoKICAgICBDYWNoZWRYU0xTdHlsZVNoZWV0KiByZXF1ZXN0WFNMU3R5bGVTaGVl
dChjb25zdCBTdHJpbmcmIHVybCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkK
LSAgICBDYWNoZWRSZXNvdXJjZSogcmVxdWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJpbmcgJnVy
bCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVu
cmVzb2x2ZWQpOworICAgIENhY2hlZFJlc291cmNlKiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hl
ZFJlc291cmNlOjpUeXBlLCBjb25zdCBTdHJpbmcgJnVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
cHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOwogI2VuZGlmCiAKICAg
ICAvLyBMb2dzIGFuIGFjY2VzcyBkZW5pZWQgbWVzc2FnZSB0byB0aGUgY29uc29sZSBmb3IgdGhl
IHNwZWNpZmllZCBVUkwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCmluZGV4IDE5ODgzZjM1OTVmMThkMGQ1NzQxYjllZjYw
NmYyYTI2ODJhMDY0MzAuLjFkN2VmMjJkYjkzM2M2MmQyNGY2MWQzY2YxNjdiNjdhNjRjMzgzNjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZVJlcXVlc3QuY3BwCkBAIC00NCw3ICs0NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKLXN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBl
VG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlTG9hZFByaW9y
aXR5IHByaW9yaXR5KQorc3RhdGljIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSBjYWNoZWRS
ZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICNp
ZiAhRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgVU5VU0VEX1BBUkFNKHByaW9yaXR5KTsKQEAg
LTYyLDkgKzYyLDExIEBAIHN0YXRpYyBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVk
UmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291cmNlCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6
VGFyZ2V0SXNJbWFnZTsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpMaW5rUmVzb3VyY2U6Ci0gICAgICAgIGlmIChwcmlvcml0eSA9PSBSZXNvdXJj
ZUxvYWRQcmlvcml0eUxvd2VzdCkKLSAgICAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6
OlRhcmdldElzUHJlZmV0Y2g7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNo
OgorICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1ByZWZldGNoOworICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXI6CisgICAgICAgIHJldHVybiBSZXNv
dXJjZVJlcXVlc3Q6OlRhcmdldElzU3VicmVzb3VyY2U7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1N1YnJlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJn
ZXRJc1N1YnJlc291cmNlOwogI2VuZGlmCiAgICAgfQpAQCAtOTIsNyArOTQsNyBAQCBQYXNzUmVm
UHRyPENhY2hlZFJlc291cmNlUmVxdWVzdD4gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKENh
Y2hlZFJlc291cmNlTG9hZAogICAgIFJlZlB0cjxDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IHJlcXVl
c3QgPSBhZG9wdFJlZihuZXcgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KGNhY2hlZFJlc291cmNlTG9h
ZGVyLCByZXNvdXJjZSwgaW5jcmVtZW50YWwpKTsKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXNv
dXJjZVJlcXVlc3QocmVzb3VyY2UtPnVybCgpKTsKLSAgICByZXNvdXJjZVJlcXVlc3Quc2V0VGFy
Z2V0VHlwZShjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUocmVzb3VyY2UtPnR5cGUoKSwg
cmVzb3VyY2UtPmxvYWRQcmlvcml0eSgpKSk7CisgICAgcmVzb3VyY2VSZXF1ZXN0LnNldFRhcmdl
dFR5cGUoY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKHJlc291cmNlLT50eXBlKCkpKTsK
IAogICAgIGlmICghcmVzb3VyY2UtPmFjY2VwdCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmVzb3Vy
Y2VSZXF1ZXN0LnNldEhUVFBBY2NlcHQocmVzb3VyY2UtPmFjY2VwdCgpKTsKQEAgLTExNSw3ICsx
MTcsNyBAQCBQYXNzUmVmUHRyPENhY2hlZFJlc291cmNlUmVxdWVzdD4gQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojpsb2FkKENhY2hlZFJlc291cmNlTG9hZAogICAgIH0KICAgICAKICNpZiBFTkFCTEUo
TElOS19QUkVGRVRDSCkKLSAgICBpZiAocmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1Jlc291cmNlKQorICAgIGlmIChyZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291
cmNlOjpMaW5rUHJlZmV0Y2ggfHwgcmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJjZTo6
TGlua1ByZXJlbmRlciB8fCByZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5r
U3VicmVzb3VyY2UpCiAgICAgICAgIHJlc291cmNlUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQo
IlB1cnBvc2UiLCAicHJlZmV0Y2giKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDUzZTExNjA4
NmYyMGU3YTk5MzM3YWNiMTBiNTNmODgwOTdiN2Y4ZWQuLjRjN2FiY2I1ZjNkYWZjODMxMmQ2NWVj
NmRiMDVhMTBjMmMxMTNkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC02NSw2ICs2NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRhcmdldElzV29ya2VyLAogICAgICAgICAgICAgVGFy
Z2V0SXNTaGFyZWRXb3JrZXIsCiAgICAgICAgICAgICBUYXJnZXRJc1ByZWZldGNoLAorICAgICAg
ICAgICAgVGFyZ2V0SXNQcmVyZW5kZXIsCiAgICAgICAgICAgICBUYXJnZXRJc0Zhdmljb24sCiAg
ICAgICAgIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93961</attachid>
            <date>2011-05-18 12:06:01 -0700</date>
            <delta_ts>2011-05-18 12:33:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61079-20110518150600.patch</filename>
            <type>text/plain</type>
            <size>18912</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3MzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjdmZDMzZWY4OTNjMWI1YjYwY2Nm
NmZkZTE3YzBkODc2ZDg4NzM5Li43YmUxODRmYmJhYWU0ZWFhOTBiOGYwYjM2MGM2Mzg1OTljZmJm
OTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTggIEdhdmluIFBldGVycyAgPGdh
dmlucEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHJlbCB0eXBlIHByZXJlbmRlciB0byBkaXN0aW5ndWlzaCBwcmVyZW5k
ZXIgZnJvbSBwcmVmZXRjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjEwNzkKKworICAgICAgICBDaHJvbWUgcmlnaHQgbm93IHVzZXMgPGxpbmsgcmVs
PXByZWZldGNoIC4uLj4gZm9yIG9uZSBvZiB0d28gdGhpbmdzLAorICAgICAgICB0byB3YXJtIHRo
ZSBjYWNoZSBpbiB0aGUgc2FtZSB3YXkgYXMgZmlyZWZveCwgb3IgdG8gbGF1bmNoIGEgc3BlY3Vs
YXRpdmUKKyAgICAgICAgcmVuZGVyaW5nIG9mIGEgd2ViIHBhZ2UsIGZvciBmYXN0ZXIgImxvYWRp
bmciIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHRvIGl0LgorCisgICAgICAgIFRoaXMgbmV3IHJl
bCB0eXBlIHdpbGwgbGV0IHVzIGRpc3Rpbmd1aXNoIHRoZSB0d28gY2FzZXM7IHRoZSByZWwgdHlw
ZSBwcmVyZW5kZXIKKyAgICAgICAgaXNuJ3QgdXNlZCBvbiB0aGUgd2ViIHRvZGF5LCBidXQgdGhl
IEdvb2dsZSBXZWIgU2VhcmNoIGV4YW1wbGUgcHJlcmVuZGVyaW5nIGFwcGxpY2F0aW9uCisgICAg
ICAgIGlzIHJlYWR5IHRvIGV4cGVyaW1lbnQgd2l0aCBpdC4KKworICAgICAgICAqIGZhc3QvZG9t
L0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTEtMDUtMTcgIEplcmVteSBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI2NWJmZTI2NDUyMDRkMTMyNTdlY2QyNDYyOTVjMGE5NGQ3MWNjZWQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
cHJlcmVuZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK3ByZWZldGNoLmxpbmsgaGFz
IE1JTUUgdHlwZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KK1BBU1Mgb25sb2FkIGNhbGxlZCEK
K1RoaXMgdGVzdCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZl
dGNoZXMgYXJlIGVuYWJsZWQsIG90aGVyd2lzZSBpdCB3aWxsIHNob3cgbm90aGluZyBiZWxvdy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5k
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTc4ZjQyY2VlYzYzNzUzZDA2N2MyNGIyOGFlZDczZmVjNjM0YzY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZXJlbmRlci5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxib2R5PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmVmZXRjaF9vbmxvYWQoKSB7CisgICAg
dGVzdFBhc3NlZCgnb25sb2FkIGNhbGxlZCEnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcygpOworfQorPC9zY3JpcHQ+Cis8aHRtbD4KKzxwPlRoaXMgdGVz
dCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZldGNoZXMgYXJl
CitlbmFibGVkLCBvdGhlcndpc2UgaXQgd2lsbCBzaG93IG5vdGhpbmcgYmVsb3cuPC9wPgorPGxp
bmsgaHJlZj0icHJlZmV0Y2gubGluayIgcmVsPSJwcmVyZW5kZXIiIG9ubG9hZD0icHJlZmV0Y2hf
b25sb2FkKCkiIG9uZXJyb3I9InRlc3RGYWlsZWQoJ29uZXJyb3InKSIgLz4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAzZTRhOGVkNTdmZTcyOWQyZTZiZTg5MDhiZGVm
MmM1OWZiNTU3YzNiLi5iMWY2Y2RmMmRjYWM4OTQ0Y2Y2YTU4NzEwNzg3YzI1OTU1OTAxZWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtOTQzLDYgKzk0Myw3IEBAIGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJl
ZmV0Y2gtb25lcnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25s
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0
bWwKK2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRN
TExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIAogIyBUZXN0cyBmYWlsaW5nIGJlY2F1c2Ug
dGhlIGNvbnRleHQgbWVudSBpcyBncmFiYmluZyBtb3VzZSBldmVudHMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCmluZGV4IDk1OGNmOGEyY2MyZjI3NWFjNzViNjMxNzQ5NmZlYjAwYWFkZDM4NmQu
LjQwM2VmMTRiYjcwODRiZTdjOWU2NThjYjc5MDdhYjI4MjJlOGY1YzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCkBAIC0xODYsNiArMTg2LDcgQEAgZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVs
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmVycm9yLmh0bWwK
IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmxvYWQuaHRtbAorZmFzdC9kb20v
SFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
c3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL2xpbmstcmVsLXByZWZldGNoLWFuZC1z
dWJyZXNvdXJjZS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA2MmUzM2NjOTk5NDg5OTI3MzY5ZTU4NjdjMDQ1MzQ0
MTQ1M2JkMWEwLi45YjJjM2VkMDc3YWM3YTQwMGYyNzgyZDgwZGIwYjc3ODBjZDRlZTIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTIwMTUsNiArMjAxNSw3IEBAIGZhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0
Y2gtYmVmb3JlbG9hZC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25l
cnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25sb2FkLmh0bWwK
K2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRNTExp
bmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVm
ZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBmZGNjZjQ5NDBlYzRjYWU2OWZh
YjllMWJiYzk4ODM4YTU1MTEwOTExLi4zNjM0Yzg2ZmFlMzBmNDVmYWMwMDdjYTdlZmI0NWQ2NDFl
YThkZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTAwNSw4ICsxMDA1LDkgQEAg
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5r
RWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVu
dC9wcmVmZXRjaC1vbmVycm9yLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC1vbmxvYWQuaHRtbAotZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwK
IGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVmZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAor
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCitmYXN0L2RvbS9IVE1MTGlu
a0VsZW1lbnQvc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbAogCiAjIExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVydHkgaXMgbm90IGlt
cGxlbWVudGVkIGZvciBXSU4geWV0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDEyN2ZkM2I3ZWU1ZGQzMjk1NDM4
MDU2MDBkOWRkMzRjZmVlODQyMWMuLmQ3YjI2ZTAxOGY4NzA3NWYyNTlhMGM5M2Y4Y2IzYjFjMzM2
M2VkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wNS0xOCAgR2F2aW4gUGV0
ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgcmVsIHR5cGUgcHJlcmVuZGVyIHRvIGRpc3Rpbmd1aXNo
IHByZXJlbmRlciBmcm9tIHByZWZldGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTA3OQorCisgICAgICAgIENocm9tZSByaWdodCBub3cgdXNlcyA8
bGluayByZWw9cHJlZmV0Y2ggLi4uPiBmb3Igb25lIG9mIHR3byB0aGluZ3MsCisgICAgICAgIHRv
IHdhcm0gdGhlIGNhY2hlIGluIHRoZSBzYW1lIHdheSBhcyBmaXJlZm94LCBvciB0byBsYXVuY2gg
YSBzcGVjdWxhdGl2ZQorICAgICAgICByZW5kZXJpbmcgb2YgYSB3ZWIgcGFnZSwgZm9yIGZhc3Rl
ciAibG9hZGluZyIgd2hlbiB0aGUgdXNlciBuYXZpZ2F0ZXMgdG8gaXQuCisKKyAgICAgICAgVGhp
cyBuZXcgcmVsIHR5cGUgd2lsbCBsZXQgdXMgZGlzdGluZ3Vpc2ggdGhlIHR3byBjYXNlczsgdGhl
IHJlbCB0eXBlIHByZXJlbmRlcgorICAgICAgICBpc24ndCB1c2VkIG9uIHRoZSB3ZWIgdG9kYXks
IGJ1dCB0aGUgR29vZ2xlIFdlYiBTZWFyY2ggZXhhbXBsZSBwcmVyZW5kZXJpbmcgYXBwbGljYXRp
b24KKyAgICAgICAgaXMgcmVhZHkgdG8gZXhwZXJpbWVudCB3aXRoIGl0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAorCisgICAgICAgICog
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVt
ZW50Ojp0b2tlbml6ZVJlbEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0Vs
ZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OlJlbEF0dHJpYnV0ZTo6UmVsQXR0cmlidXRl
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlOjppc0xpbmtSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0TGlua1Jlc291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDExLTA1LTE3ICBKZXJlbXkgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IDMyNmVhZjRiNDc0NDU5N2MwYmVm
ZGYxOGRhNTdkNDRiM2M4NTlmN2IuLmE3N2YyNzVhNjlmYmIyNTBjZjdjYTBiYTI5Zjg3OTY1ZmI1
M2I2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTE2NSw2
ICsxNjUsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6dG9rZW5pemVSZWxBdHRyaWJ1dGUoY29u
c3QgQXRvbWljU3RyaW5nJiByZWwsIFJlbEF0dHJpYnV0ZQogICAgIHJlbEF0dHJpYnV0ZS5tX2lz
RE5TUHJlZmV0Y2ggPSBmYWxzZTsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICByZWxB
dHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCA9IGZhbHNlOworICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1ByZXJlbmRlciA9IGZhbHNlOwogICAgIHJlbEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291
cmNlID0gZmFsc2U7CiAjZW5kaWYKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocmVsLCAic3R5
bGVzaGVldCIpKQpAQCAtMjA1LDYgKzIwNiw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojp0b2tl
bml6ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIHJlbCwgUmVsQXR0cmlidXRlCiAj
aWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZSgqaXQsICJwcmVmZXRjaCIpKQogICAgICAgICAgICAgICByZWxBdHRyaWJ1dGUubV9p
c0xpbmtQcmVmZXRjaCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSgqaXQsICJwcmVyZW5kZXIiKSkKKyAgICAgICAgICAgICAgcmVsQXR0cmlidXRlLm1faXNM
aW5rUHJlcmVuZGVyID0gdHJ1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKCppdCwgInN1YnJlc291cmNlIikpCiAgICAgICAgICAgICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1N1YnJlc291cmNlID0gdHJ1ZTsKICNlbmRpZgpAQCAtMjQ5LDE0ICsyNTIsMjAgQEAgdm9p
ZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAgIH0KIAogI2lmIEVOQUJMRShMSU5LX1BS
RUZFVENIKQotICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCB8fCBtX3Jl
bEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9j
dW1lbnQoKS0+ZnJhbWUoKSkgeworICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVm
ZXRjaCB8fCBtX3JlbEF0dHJpYnV0ZS5tX2lzTGlua1ByZXJlbmRlciB8fCBtX3JlbEF0dHJpYnV0
ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9jdW1lbnQoKS0+
ZnJhbWUoKSkgewogICAgICAgICBpZiAoIWNoZWNrQmVmb3JlTG9hZEV2ZW50KCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5ID0gUmVz
b3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkOwotICAgICAgICBpZiAobV9yZWxBdHRyaWJ1dGUu
bV9pc0xpbmtTdWJyZXNvdXJjZSkKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSA9
IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g7CisgICAgICAgIC8vIFdlIG9ubHkgbWFrZSBv
bmUgcmVxdWVzdCB0byB0aGUgY2FjaGVkcmVzb3VyY2Vsb2RhZXIgaWYgbXVsdGlwbGUgcmVsIHR5
cGVzIGFyZQorICAgICAgICAvLyBzcGVjaWZpZWQsIAorICAgICAgICBpZiAobV9yZWxBdHRyaWJ1
dGUubV9pc0xpbmtTdWJyZXNvdXJjZSkgewogICAgICAgICAgICAgcHJpb3JpdHkgPSBSZXNvdXJj
ZUxvYWRQcmlvcml0eUxvdzsKKyAgICAgICAgICAgIHR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6TGlu
a1N1YnJlc291cmNlOworICAgICAgICB9IGVsc2UgaWYgKG1fcmVsQXR0cmlidXRlLm1faXNMaW5r
UHJlcmVuZGVyKQorICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNlOjpMaW5rUHJlcmVu
ZGVyOwogCi0gICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdExpbmtSZXNvdXJjZShtX3VybCwgcHJpb3JpdHkpOwor
ICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbV91cmwsIHByaW9yaXR5KTsKICAg
ICAgICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKQogICAgICAgICAgICAgbV9jYWNoZWRMaW5r
UmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaAppbmRleCBmYzBmNDdjMGJlMGQxYzFiMTVjYjg5ZmZiZTE3ODMxZWYyYmU4OGQx
Li5kY2M3ZTY3OGJlMjA3OGZjMjUwNWNlNjMzZjZhMjVhNWJhYWFiZGE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAg
ICBib29sIG1faXNETlNQcmVmZXRjaDsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAg
ICAgYm9vbCBtX2lzTGlua1ByZWZldGNoOworICAgICAgICBib29sIG1faXNMaW5rUHJlcmVuZGVy
OwogICAgICAgICBib29sIG1faXNMaW5rU3VicmVzb3VyY2U7CiAjZW5kaWYKIApAQCAtNTUsNiAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAsIG1faXNETlNQcmVmZXRjaChmYWxzZSkKICNp
ZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAgICAgICAgICwgbV9pc0xpbmtQcmVmZXRjaChm
YWxzZSkKKyAgICAgICAgICAgICwgbV9pc0xpbmtQcmVyZW5kZXIoZmFsc2UpCiAgICAgICAgICAg
ICAsIG1faXNMaW5rU3VicmVzb3VyY2UoZmFsc2UpCiAjZW5kaWYKICAgICAgICAgICAgIHsgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCAw
NGUyY2ZiNDFkMDgwYWI4OWJlZTNmOTAxMGIzZjk3NmVkY2I4YjJjLi45NTI4ZTVhODQ5ZTNhMWFi
ZmNmYTA4YTQ3NDQwZTMxZDQ5YWRhZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTYyLDcgKzYyLDExIEBAIHN0YXRpYyBSZXNvdXJj
ZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUKICAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKICAg
ICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRQcmlvcml0eUxvdzsKICNpZiBFTkFCTEUoTElO
S19QUkVGRVRDSCkKLSAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgor
ICAgICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6CisgICAgICAgICAgICBy
ZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OworICAgICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFBy
aW9yaXR5VmVyeUxvdzsKKyAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJlc291
cmNlOgogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5VmVyeUxvdzsKICNl
bmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggNzJiMDBlNTY1YTllOTEzZDQ0MTU4ZGI2OTE2OTc2OWViNWRiNzI0OC4uMDliNWMw
M2RlN2E4NzI0MDkyY2YzNmI0NmU5ZDQzN2YzY2VhZGFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTY1LDcgKzY1LDkgQEAgcHVibGljOgog
ICAgICAgICAsIFhTTFN0eWxlU2hlZXQKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgICAgICAsIExpbmtSZXNvdXJjZQorICAgICAgICAsIExpbmtQcmVmZXRjaAorICAgICAg
ICAsIExpbmtQcmVyZW5kZXIKKyAgICAgICAgLCBMaW5rU3VicmVzb3VyY2UKICNlbmRpZgogICAg
IH07CiAKQEAgLTEzMiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0xpbmtSZXNvdXJj
ZSgpIGNvbnN0CiAgICAgewogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgICAgICByZXR1
cm4gdHlwZSgpID09IExpbmtSZXNvdXJjZTsKKyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBMaW5r
UHJlZmV0Y2ggfHwgdHlwZSgpID09IExpbmtQcmVyZW5kZXIgfHwgdHlwZSgpID09IExpbmtTdWJy
ZXNvdXJjZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggYjlkYTJmMmUxNjFlYzhmYzRmNDE0NjRjMTIyNDQ4MjUyOGNiM2I1OC4uNzNkNzJlMGNiNmM3
NWJmNmU0YTIxYzdkMWQ0YTBlNjU1ODk4MzAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03MSw4ICs3MSwxMiBA
QCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0
eWxlU2hlZXQodXJsLnN0cmluZygpKTsKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKLSAgICAgICAgcmV0dXJu
IG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpMaW5rUmVz
b3VyY2UpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICAgICAg
cmV0dXJuIG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpM
aW5rUHJlZmV0Y2gpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXI6Cisg
ICAgICAgIHJldHVybiBuZXcgQ2FjaGVkUmVzb3VyY2UodXJsLnN0cmluZygpLCBDYWNoZWRSZXNv
dXJjZTo6TGlua1ByZXJlbmRlcik7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJl
c291cmNlOgorICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJlc291cmNlKHVybC5zdHJpbmcoKSwg
Q2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZSk7CiAjZW5kaWYKICAgICB9CiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xODgsMTAgKzE5MiwxMSBAQCBDYWNoZWRYU0xTdHlsZVNo
ZWV0KiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoY29uc3QgU3Ry
aW5nJiB1cgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLUNhY2hlZFJlc291
cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJp
bmcmIHVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNvdXJjZSog
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OlR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB1cmwsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9y
aXR5KQogewogICAgIEFTU0VSVChmcmFtZSgpKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpMaW5rUmVzb3VyY2UsIHVybCwgU3RyaW5nKCksIHByaW9yaXR5KTsK
KyAgICBBU1NFUlQodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoIHx8IHR5cGUg
PT0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXIgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1N1YnJlc291cmNlKTsKKyAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHVy
bCwgU3RyaW5nKCksIHByaW9yaXR5KTsKIH0KICNlbmRpZgogCkBAIC0yMTMsNyArMjE4LDkgQEAg
Ym9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogI2lmIEVOQUJMRShMSU5L
X1BSRUZFVENIKQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKKyAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6CisgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1ByZXJlbmRlcjoKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3Vy
Y2U6CiAjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBs
b2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1cmUgYWJv
dXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KQEAgLTI2MCw3ICsyNjcsOSBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgRU5BQkxFKExJ
TktfUFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgorICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNv
dXJjZToKICAgICAgICAgLy8gUHJlZmV0Y2ggY2Fubm90IGFmZmVjdCB0aGUgY3VycmVudCBkb2N1
bWVudC4KICAgICAgICAgYnJlYWs7CiAjZW5kaWYKQEAgLTI4OSw3ICsyOTgsOSBAQCBib29sIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgRU5BQkxFKExJTktf
UFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgorICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJj
ZToKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDVlNjRiZTBkOTg4MWQ4
YTQ2OTE3ODU4YjE2ZWQzZmE0NTc3YjU3MzMuLjc0NDFkYjExOTZiMjI3MzFkZWFhY2MxZjVkNjVh
ODA1MTY2MjFkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICBDYWNoZWRY
U0xTdHlsZVNoZWV0KiByZXF1ZXN0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHVybCk7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBDYWNoZWRSZXNvdXJjZSogcmVx
dWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJpbmcgJnVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
cHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJl
c291cmNlKiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBT
dHJpbmcgJnVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQ
cmlvcml0eVVucmVzb2x2ZWQpOwogI2VuZGlmCiAKICAgICAvLyBMb2dzIGFuIGFjY2VzcyBkZW5p
ZWQgbWVzc2FnZSB0byB0aGUgY29uc29sZSBmb3IgdGhlIHNwZWNpZmllZCBVUkwuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3Bw
CmluZGV4IDE5ODgzZjM1OTVmMThkMGQ1NzQxYjllZjYwNmYyYTI2ODJhMDY0MzAuLjFkN2VmMjJk
YjkzM2M2MmQyNGY2MWQzY2YxNjdiNjdhNjRjMzgzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCkBAIC00NCw3ICs0
NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLXN0YXRpYyBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBlKENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQorc3RhdGljIFJl
c291cmNlUmVxdWVzdDo6VGFyZ2V0VHlwZSBjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICNpZiAhRU5BQkxFKExJTktfUFJFRkVUQ0gp
CiAgICAgVU5VU0VEX1BBUkFNKHByaW9yaXR5KTsKQEAgLTYyLDkgKzYyLDExIEBAIHN0YXRpYyBS
ZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBl
KENhY2hlZFJlc291cmNlCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToK
ICAgICAgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNJbWFnZTsKICNpZiBFTkFC
TEUoTElOS19QUkVGRVRDSCkKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUmVzb3VyY2U6
Ci0gICAgICAgIGlmIChwcmlvcml0eSA9PSBSZXNvdXJjZUxvYWRQcmlvcml0eUxvd2VzdCkKLSAg
ICAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzUHJlZmV0Y2g7CisgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoOgorICAgICAgICByZXR1cm4gUmVzb3Vy
Y2VSZXF1ZXN0OjpUYXJnZXRJc1ByZWZldGNoOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Okxp
bmtQcmVyZW5kZXI6CisgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU3Vi
cmVzb3VyY2U7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJlc291cmNlOgogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc1N1YnJlc291cmNlOwogI2VuZGlm
CiAgICAgfQpAQCAtOTIsNyArOTQsNyBAQCBQYXNzUmVmUHRyPENhY2hlZFJlc291cmNlUmVxdWVz
dD4gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKENhY2hlZFJlc291cmNlTG9hZAogICAgIFJl
ZlB0cjxDYWNoZWRSZXNvdXJjZVJlcXVlc3Q+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0KGNhY2hlZFJlc291cmNlTG9hZGVyLCByZXNvdXJjZSwgaW5jcmVtZW50
YWwpKTsKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QocmVzb3VyY2UtPnVy
bCgpKTsKLSAgICByZXNvdXJjZVJlcXVlc3Quc2V0VGFyZ2V0VHlwZShjYWNoZWRSZXNvdXJjZVR5
cGVUb1RhcmdldFR5cGUocmVzb3VyY2UtPnR5cGUoKSwgcmVzb3VyY2UtPmxvYWRQcmlvcml0eSgp
KSk7CisgICAgcmVzb3VyY2VSZXF1ZXN0LnNldFRhcmdldFR5cGUoY2FjaGVkUmVzb3VyY2VUeXBl
VG9UYXJnZXRUeXBlKHJlc291cmNlLT50eXBlKCkpKTsKIAogICAgIGlmICghcmVzb3VyY2UtPmFj
Y2VwdCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmVzb3VyY2VSZXF1ZXN0LnNldEhUVFBBY2NlcHQo
cmVzb3VyY2UtPmFjY2VwdCgpKTsKQEAgLTExNSw3ICsxMTcsNyBAQCBQYXNzUmVmUHRyPENhY2hl
ZFJlc291cmNlUmVxdWVzdD4gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpsb2FkKENhY2hlZFJlc291
cmNlTG9hZAogICAgIH0KICAgICAKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBpZiAo
cmVzb3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlKQorICAgIGlm
IChyZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2ggfHwgcmVz
b3VyY2UtPnR5cGUoKSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZXJlbmRlciB8fCByZXNvdXJj
ZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2UpCiAgICAgICAgIHJl
c291cmNlUmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoIlB1cnBvc2UiLCAicHJlZmV0Y2giKTsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDUzZTExNjA4NmYyMGU3YTk5MzM3YWNiMTBiNTNmODgw
OTdiN2Y4ZWQuLjRjN2FiY2I1ZjNkYWZjODMxMmQ2NWVjNmRiMDVhMTBjMmMxMTNkN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oCkBAIC02NSw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAg
IFRhcmdldElzV29ya2VyLAogICAgICAgICAgICAgVGFyZ2V0SXNTaGFyZWRXb3JrZXIsCiAgICAg
ICAgICAgICBUYXJnZXRJc1ByZWZldGNoLAorICAgICAgICAgICAgVGFyZ2V0SXNQcmVyZW5kZXIs
CiAgICAgICAgICAgICBUYXJnZXRJc0Zhdmljb24sCiAgICAgICAgIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93966</attachid>
            <date>2011-05-18 12:33:45 -0700</date>
            <delta_ts>2011-05-21 12:25:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61079-20110518153343.patch</filename>
            <type>text/plain</type>
            <size>19001</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3MzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZjdmZDMzZWY4OTNjMWI1YjYwY2Nm
NmZkZTE3YzBkODc2ZDg4NzM5Li43YmUxODRmYmJhYWU0ZWFhOTBiOGYwYjM2MGM2Mzg1OTljZmJm
OTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTggIEdhdmluIFBldGVycyAgPGdh
dmlucEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHJlbCB0eXBlIHByZXJlbmRlciB0byBkaXN0aW5ndWlzaCBwcmVyZW5k
ZXIgZnJvbSBwcmVmZXRjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjEwNzkKKworICAgICAgICBDaHJvbWUgcmlnaHQgbm93IHVzZXMgPGxpbmsgcmVs
PXByZWZldGNoIC4uLj4gZm9yIG9uZSBvZiB0d28gdGhpbmdzLAorICAgICAgICB0byB3YXJtIHRo
ZSBjYWNoZSBpbiB0aGUgc2FtZSB3YXkgYXMgZmlyZWZveCwgb3IgdG8gbGF1bmNoIGEgc3BlY3Vs
YXRpdmUKKyAgICAgICAgcmVuZGVyaW5nIG9mIGEgd2ViIHBhZ2UsIGZvciBmYXN0ZXIgImxvYWRp
bmciIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHRvIGl0LgorCisgICAgICAgIFRoaXMgbmV3IHJl
bCB0eXBlIHdpbGwgbGV0IHVzIGRpc3Rpbmd1aXNoIHRoZSB0d28gY2FzZXM7IHRoZSByZWwgdHlw
ZSBwcmVyZW5kZXIKKyAgICAgICAgaXNuJ3QgdXNlZCBvbiB0aGUgd2ViIHRvZGF5LCBidXQgdGhl
IEdvb2dsZSBXZWIgU2VhcmNoIGV4YW1wbGUgcHJlcmVuZGVyaW5nIGFwcGxpY2F0aW9uCisgICAg
ICAgIGlzIHJlYWR5IHRvIGV4cGVyaW1lbnQgd2l0aCBpdC4KKworICAgICAgICAqIGZhc3QvZG9t
L0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTEtMDUtMTcgIEplcmVteSBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlcmVuZGVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI2NWJmZTI2NDUyMDRkMTMyNTdlY2QyNDYyOTVjMGE5NGQ3MWNjZWQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
cHJlcmVuZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK3ByZWZldGNoLmxpbmsgaGFz
IE1JTUUgdHlwZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KK1BBU1Mgb25sb2FkIGNhbGxlZCEK
K1RoaXMgdGVzdCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZl
dGNoZXMgYXJlIGVuYWJsZWQsIG90aGVyd2lzZSBpdCB3aWxsIHNob3cgbm90aGluZyBiZWxvdy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5k
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42OTc4ZjQyY2VlYzYzNzUzZDA2N2MyNGIyOGFlZDczZmVjNjM0YzY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZXJlbmRlci5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxib2R5PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmVmZXRjaF9vbmxvYWQoKSB7CisgICAg
dGVzdFBhc3NlZCgnb25sb2FkIGNhbGxlZCEnKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcygpOworfQorPC9zY3JpcHQ+Cis8aHRtbD4KKzxwPlRoaXMgdGVz
dCB3aWxsIG9ubHkgcHJpbnQgIlBBU1MiIG9yICJGQUlMIiBpZiBsaW5rIHByZWZldGNoZXMgYXJl
CitlbmFibGVkLCBvdGhlcndpc2UgaXQgd2lsbCBzaG93IG5vdGhpbmcgYmVsb3cuPC9wPgorPGxp
bmsgaHJlZj0icHJlZmV0Y2gubGluayIgcmVsPSJwcmVyZW5kZXIiIG9ubG9hZD0icHJlZmV0Y2hf
b25sb2FkKCkiIG9uZXJyb3I9InRlc3RGYWlsZWQoJ29uZXJyb3InKSIgLz4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAzZTRhOGVkNTdmZTcyOWQyZTZiZTg5MDhiZGVm
MmM1OWZiNTU3YzNiLi5iMWY2Y2RmMmRjYWM4OTQ0Y2Y2YTU4NzEwNzg3YzI1OTU1OTAxZWVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtOTQzLDYgKzk0Myw3IEBAIGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJl
ZmV0Y2gtb25lcnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25s
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0
bWwKK2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRN
TExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIAogIyBUZXN0cyBmYWlsaW5nIGJlY2F1c2Ug
dGhlIGNvbnRleHQgbWVudSBpcyBncmFiYmluZyBtb3VzZSBldmVudHMuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCmluZGV4IDk1OGNmOGEyY2MyZjI3NWFjNzViNjMxNzQ5NmZlYjAwYWFkZDM4NmQu
LjQwM2VmMTRiYjcwODRiZTdjOWU2NThjYjc5MDdhYjI4MjJlOGY1YzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCkBAIC0xODYsNiArMTg2LDcgQEAgZmFzdC9kb20vSFRNTExpbmtFbGVtZW50
L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1iZWZvcmVs
b2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmVycm9yLmh0bWwK
IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC1vbmxvYWQuaHRtbAorZmFzdC9kb20v
SFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQv
c3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL2xpbmstcmVsLXByZWZldGNoLWFuZC1z
dWJyZXNvdXJjZS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA2MmUzM2NjOTk5NDg5OTI3MzY5ZTU4NjdjMDQ1MzQ0
MTQ1M2JkMWEwLi45YjJjM2VkMDc3YWM3YTQwMGYyNzgyZDgwZGIwYjc3ODBjZDRlZTIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTIwMTUsNiArMjAxNSw3IEBAIGZhc3QvZG9tL0hUTUxM
aW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0
Y2gtYmVmb3JlbG9hZC5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25l
cnJvci5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2gtb25sb2FkLmh0bWwK
K2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAogZmFzdC9kb20vSFRNTExp
bmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVm
ZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBmZGNjZjQ5NDBlYzRjYWU2OWZh
YjllMWJiYzk4ODM4YTU1MTEwOTExLi4zNjM0Yzg2ZmFlMzBmNDVmYWMwMDdjYTdlZmI0NWQ2NDFl
YThkZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTAwNSw4ICsxMDA1LDkgQEAg
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5r
RWxlbWVudC9wcmVmZXRjaC1iZWZvcmVsb2FkLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVu
dC9wcmVmZXRjaC1vbmVycm9yLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRj
aC1vbmxvYWQuaHRtbAotZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3N1YnJlc291cmNlLmh0bWwK
IGh0dHAvdGVzdHMvbWlzYy9saW5rLXJlbC1wcmVmZXRjaC1hbmQtc3VicmVzb3VyY2UuaHRtbAor
ZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZXJlbmRlci5odG1sCitmYXN0L2RvbS9IVE1MTGlu
a0VsZW1lbnQvc3VicmVzb3VyY2UuaHRtbAogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBv
c2UuaHRtbAogCiAjIExheW91dFRlc3RDb250cm9sbGVyOjpwYWdlUHJvcGVydHkgaXMgbm90IGlt
cGxlbWVudGVkIGZvciBXSU4geWV0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDEyN2ZkM2I3ZWU1ZGQzMjk1NDM4
MDU2MDBkOWRkMzRjZmVlODQyMWMuLmQ3YjI2ZTAxOGY4NzA3NWYyNTlhMGM5M2Y4Y2IzYjFjMzM2
M2VkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMS0wNS0xOCAgR2F2aW4gUGV0
ZXJzICA8Z2F2aW5wQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgcmVsIHR5cGUgcHJlcmVuZGVyIHRvIGRpc3Rpbmd1aXNo
IHByZXJlbmRlciBmcm9tIHByZWZldGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTA3OQorCisgICAgICAgIENocm9tZSByaWdodCBub3cgdXNlcyA8
bGluayByZWw9cHJlZmV0Y2ggLi4uPiBmb3Igb25lIG9mIHR3byB0aGluZ3MsCisgICAgICAgIHRv
IHdhcm0gdGhlIGNhY2hlIGluIHRoZSBzYW1lIHdheSBhcyBmaXJlZm94LCBvciB0byBsYXVuY2gg
YSBzcGVjdWxhdGl2ZQorICAgICAgICByZW5kZXJpbmcgb2YgYSB3ZWIgcGFnZSwgZm9yIGZhc3Rl
ciAibG9hZGluZyIgd2hlbiB0aGUgdXNlciBuYXZpZ2F0ZXMgdG8gaXQuCisKKyAgICAgICAgVGhp
cyBuZXcgcmVsIHR5cGUgd2lsbCBsZXQgdXMgZGlzdGluZ3Vpc2ggdGhlIHR3byBjYXNlczsgdGhl
IHJlbCB0eXBlIHByZXJlbmRlcgorICAgICAgICBpc24ndCB1c2VkIG9uIHRoZSB3ZWIgdG9kYXks
IGJ1dCB0aGUgR29vZ2xlIFdlYiBTZWFyY2ggZXhhbXBsZSBwcmVyZW5kZXJpbmcgYXBwbGljYXRp
b24KKyAgICAgICAgaXMgcmVhZHkgdG8gZXhwZXJpbWVudCB3aXRoIGl0LgorCisgICAgICAgIFRl
c3Q6IGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVyZW5kZXIuaHRtbAorCisgICAgICAgICog
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVt
ZW50Ojp0b2tlbml6ZVJlbEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0Vs
ZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OlJlbEF0dHJpYnV0ZTo6UmVsQXR0cmlidXRl
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlOjppc0xpbmtSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0TGlua1Jlc291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KToKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDExLTA1LTE3ICBKZXJlbXkgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IDMyNmVhZjRiNDc0NDU5N2MwYmVm
ZGYxOGRhNTdkNDRiM2M4NTlmN2IuLmE3N2YyNzVhNjlmYmIyNTBjZjdjYTBiYTI5Zjg3OTY1ZmI1
M2I2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTE2NSw2
ICsxNjUsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6dG9rZW5pemVSZWxBdHRyaWJ1dGUoY29u
c3QgQXRvbWljU3RyaW5nJiByZWwsIFJlbEF0dHJpYnV0ZQogICAgIHJlbEF0dHJpYnV0ZS5tX2lz
RE5TUHJlZmV0Y2ggPSBmYWxzZTsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICByZWxB
dHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCA9IGZhbHNlOworICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1ByZXJlbmRlciA9IGZhbHNlOwogICAgIHJlbEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291
cmNlID0gZmFsc2U7CiAjZW5kaWYKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocmVsLCAic3R5
bGVzaGVldCIpKQpAQCAtMjA1LDYgKzIwNiw4IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50Ojp0b2tl
bml6ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIHJlbCwgUmVsQXR0cmlidXRlCiAj
aWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCiAgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZSgqaXQsICJwcmVmZXRjaCIpKQogICAgICAgICAgICAgICByZWxBdHRyaWJ1dGUubV9p
c0xpbmtQcmVmZXRjaCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSgqaXQsICJwcmVyZW5kZXIiKSkKKyAgICAgICAgICAgICAgcmVsQXR0cmlidXRlLm1faXNM
aW5rUHJlcmVuZGVyID0gdHJ1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKCppdCwgInN1YnJlc291cmNlIikpCiAgICAgICAgICAgICAgIHJlbEF0dHJpYnV0ZS5tX2lz
TGlua1N1YnJlc291cmNlID0gdHJ1ZTsKICNlbmRpZgpAQCAtMjQ5LDE0ICsyNTIsMjAgQEAgdm9p
ZCBIVE1MTGlua0VsZW1lbnQ6OnByb2Nlc3MoKQogICAgIH0KIAogI2lmIEVOQUJMRShMSU5LX1BS
RUZFVENIKQotICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVmZXRjaCB8fCBtX3Jl
bEF0dHJpYnV0ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9j
dW1lbnQoKS0+ZnJhbWUoKSkgeworICAgIGlmICgobV9yZWxBdHRyaWJ1dGUubV9pc0xpbmtQcmVm
ZXRjaCB8fCBtX3JlbEF0dHJpYnV0ZS5tX2lzTGlua1ByZXJlbmRlciB8fCBtX3JlbEF0dHJpYnV0
ZS5tX2lzTGlua1N1YnJlc291cmNlKSAmJiBtX3VybC5pc1ZhbGlkKCkgJiYgZG9jdW1lbnQoKS0+
ZnJhbWUoKSkgewogICAgICAgICBpZiAoIWNoZWNrQmVmb3JlTG9hZEV2ZW50KCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5ID0gUmVz
b3VyY2VMb2FkUHJpb3JpdHlVbnJlc29sdmVkOwotICAgICAgICBpZiAobV9yZWxBdHRyaWJ1dGUu
bV9pc0xpbmtTdWJyZXNvdXJjZSkKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSA9
IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g7CisgICAgICAgIC8vIFdlIG9ubHkgbWFrZSBv
bmUgcmVxdWVzdCB0byB0aGUgY2FjaGVkcmVzb3VyY2Vsb2RhZXIgaWYgbXVsdGlwbGUgcmVsIHR5
cGVzIGFyZQorICAgICAgICAvLyBzcGVjaWZpZWQsIAorICAgICAgICBpZiAobV9yZWxBdHRyaWJ1
dGUubV9pc0xpbmtTdWJyZXNvdXJjZSkgewogICAgICAgICAgICAgcHJpb3JpdHkgPSBSZXNvdXJj
ZUxvYWRQcmlvcml0eUxvdzsKKyAgICAgICAgICAgIHR5cGUgPSBDYWNoZWRSZXNvdXJjZTo6TGlu
a1N1YnJlc291cmNlOworICAgICAgICB9IGVsc2UgaWYgKG1fcmVsQXR0cmlidXRlLm1faXNMaW5r
UHJlcmVuZGVyKQorICAgICAgICAgICAgdHlwZSA9IENhY2hlZFJlc291cmNlOjpMaW5rUHJlcmVu
ZGVyOwogCi0gICAgICAgIG1fY2FjaGVkTGlua1Jlc291cmNlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdExpbmtSZXNvdXJjZShtX3VybCwgcHJpb3JpdHkpOwor
ICAgICAgICBtX2NhY2hlZExpbmtSZXNvdXJjZSA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RMaW5rUmVzb3VyY2UodHlwZSwgbV91cmwsIHByaW9yaXR5KTsKICAg
ICAgICAgaWYgKG1fY2FjaGVkTGlua1Jlc291cmNlKQogICAgICAgICAgICAgbV9jYWNoZWRMaW5r
UmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaAppbmRleCBmYzBmNDdjMGJlMGQxYzFiMTVjYjg5ZmZiZTE3ODMxZWYyYmU4OGQx
Li5kY2M3ZTY3OGJlMjA3OGZjMjUwNWNlNjMzZjZhMjVhNWJhYWFiZGE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExpbmtFbGVtZW50LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgICAg
ICBib29sIG1faXNETlNQcmVmZXRjaDsKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAg
ICAgYm9vbCBtX2lzTGlua1ByZWZldGNoOworICAgICAgICBib29sIG1faXNMaW5rUHJlcmVuZGVy
OwogICAgICAgICBib29sIG1faXNMaW5rU3VicmVzb3VyY2U7CiAjZW5kaWYKIApAQCAtNTUsNiAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAsIG1faXNETlNQcmVmZXRjaChmYWxzZSkKICNp
ZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKICAgICAgICAgICAgICwgbV9pc0xpbmtQcmVmZXRjaChm
YWxzZSkKKyAgICAgICAgICAgICwgbV9pc0xpbmtQcmVyZW5kZXIoZmFsc2UpCiAgICAgICAgICAg
ICAsIG1faXNMaW5rU3VicmVzb3VyY2UoZmFsc2UpCiAjZW5kaWYKICAgICAgICAgICAgIHsgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCAw
NGUyY2ZiNDFkMDgwYWI4OWJlZTNmOTAxMGIzZjk3NmVkY2I4YjJjLi45NTI4ZTVhODQ5ZTNhMWFi
ZmNmYTA4YTQ3NDQwZTMxZDQ5YWRhZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTYyLDcgKzYyLDExIEBAIHN0YXRpYyBSZXNvdXJj
ZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUKICAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKICAg
ICAgICAgICAgIHJldHVybiBSZXNvdXJjZUxvYWRQcmlvcml0eUxvdzsKICNpZiBFTkFCTEUoTElO
S19QUkVGRVRDSCkKLSAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgor
ICAgICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6CisgICAgICAgICAgICBy
ZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHlWZXJ5TG93OworICAgICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFBy
aW9yaXR5VmVyeUxvdzsKKyAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJlc291
cmNlOgogICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5VmVyeUxvdzsKICNl
bmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggNzJiMDBlNTY1YTllOTEzZDQ0MTU4ZGI2OTE2OTc2OWViNWRiNzI0OC4uMDliNWMw
M2RlN2E4NzI0MDkyY2YzNmI0NmU5ZDQzN2YzY2VhZGFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTY1LDcgKzY1LDkgQEAgcHVibGljOgog
ICAgICAgICAsIFhTTFN0eWxlU2hlZXQKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgICAgICAsIExpbmtSZXNvdXJjZQorICAgICAgICAsIExpbmtQcmVmZXRjaAorICAgICAg
ICAsIExpbmtQcmVyZW5kZXIKKyAgICAgICAgLCBMaW5rU3VicmVzb3VyY2UKICNlbmRpZgogICAg
IH07CiAKQEAgLTEzMiw3ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0xpbmtSZXNvdXJj
ZSgpIGNvbnN0CiAgICAgewogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgICAgICByZXR1
cm4gdHlwZSgpID09IExpbmtSZXNvdXJjZTsKKyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBMaW5r
UHJlZmV0Y2ggfHwgdHlwZSgpID09IExpbmtQcmVyZW5kZXIgfHwgdHlwZSgpID09IExpbmtTdWJy
ZXNvdXJjZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggYjlkYTJmMmUxNjFlYzhmYzRmNDE0NjRjMTIyNDQ4MjUyOGNiM2I1OC4uNzNkNzJlMGNiNmM3
NWJmNmU0YTIxYzdkMWQ0YTBlNjU1ODk4MzAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC03MSw4ICs3MSwxMiBA
QCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpU
eXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0
eWxlU2hlZXQodXJsLnN0cmluZygpKTsKICNlbmRpZgogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKLSAgICAgICAgcmV0dXJu
IG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpMaW5rUmVz
b3VyY2UpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICAgICAg
cmV0dXJuIG5ldyBDYWNoZWRSZXNvdXJjZSh1cmwuc3RyaW5nKCksIENhY2hlZFJlc291cmNlOjpM
aW5rUHJlZmV0Y2gpOworICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXI6Cisg
ICAgICAgIHJldHVybiBuZXcgQ2FjaGVkUmVzb3VyY2UodXJsLnN0cmluZygpLCBDYWNoZWRSZXNv
dXJjZTo6TGlua1ByZXJlbmRlcik7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1N1YnJl
c291cmNlOgorICAgICAgICByZXR1cm4gbmV3IENhY2hlZFJlc291cmNlKHVybC5zdHJpbmcoKSwg
Q2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJjZSk7CiAjZW5kaWYKICAgICB9CiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xODgsMTAgKzE5MiwxMSBAQCBDYWNoZWRYU0xTdHlsZVNo
ZWV0KiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFhTTFN0eWxlU2hlZXQoY29uc3QgU3Ry
aW5nJiB1cgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLUNhY2hlZFJlc291
cmNlKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJp
bmcmIHVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCitDYWNoZWRSZXNvdXJjZSog
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RMaW5rUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6
OlR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB1cmwsIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9y
aXR5KQogewogICAgIEFTU0VSVChmcmFtZSgpKTsKLSAgICByZXR1cm4gcmVxdWVzdFJlc291cmNl
KENhY2hlZFJlc291cmNlOjpMaW5rUmVzb3VyY2UsIHVybCwgU3RyaW5nKCksIHByaW9yaXR5KTsK
KyAgICBBU1NFUlQodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZWZldGNoIHx8IHR5cGUg
PT0gQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVyZW5kZXIgfHwgdHlwZSA9PSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1N1YnJlc291cmNlKTsKKyAgICByZXR1cm4gcmVxdWVzdFJlc291cmNlKHR5cGUsIHVy
bCwgU3RyaW5nKCksIHByaW9yaXR5KTsKIH0KICNlbmRpZgogCkBAIC0yMTMsNyArMjE4LDkgQEAg
Ym9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlw
ZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogI2lmIEVOQUJMRShMSU5L
X1BSRUZFVENIKQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKKyAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0Y2g6CisgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6TGlua1ByZXJlbmRlcjoKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5rU3VicmVzb3Vy
Y2U6CiAjZW5kaWYKICAgICAgICAgLy8gVGhlc2UgdHlwZXMgb2YgcmVzb3VyY2VzIGNhbiBiZSBs
b2FkZWQgZnJvbSBhbnkgb3JpZ2luLgogICAgICAgICAvLyBGSVhNRTogQXJlIHdlIHN1cmUgYWJv
dXQgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZT8KQEAgLTI2MCw3ICsyNjcsOSBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgRU5BQkxFKExJ
TktfUFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgorICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNv
dXJjZToKICAgICAgICAgLy8gUHJlZmV0Y2ggY2Fubm90IGFmZmVjdCB0aGUgY3VycmVudCBkb2N1
bWVudC4KICAgICAgICAgYnJlYWs7CiAjZW5kaWYKQEAgLTI4OSw3ICsyOTgsOSBAQCBib29sIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IGNvbnN0IEtVUkwmIHVybAogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgRU5BQkxFKExJTktf
UFJFRkVUQ0gpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1Jlc291cmNlOgorICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaDoKKyAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpMaW5rUHJlcmVuZGVyOgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtTdWJyZXNvdXJj
ZToKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDVlNjRiZTBkOTg4MWQ4
YTQ2OTE3ODU4YjE2ZWQzZmE0NTc3YjU3MzMuLjc0NDFkYjExOTZiMjI3MzFkZWFhY2MxZjVkNjVh
ODA1MTY2MjFkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKICAgICBDYWNoZWRY
U0xTdHlsZVNoZWV0KiByZXF1ZXN0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHVybCk7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoTElOS19QUkVGRVRDSCkKLSAgICBDYWNoZWRSZXNvdXJjZSogcmVx
dWVzdExpbmtSZXNvdXJjZShjb25zdCBTdHJpbmcgJnVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
cHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQcmlvcml0eVVucmVzb2x2ZWQpOworICAgIENhY2hlZFJl
c291cmNlKiByZXF1ZXN0TGlua1Jlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25zdCBT
dHJpbmcgJnVybCwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkgPSBSZXNvdXJjZUxvYWRQ
cmlvcml0eVVucmVzb2x2ZWQpOwogI2VuZGlmCiAKICAgICAvLyBMb2dzIGFuIGFjY2VzcyBkZW5p
ZWQgbWVzc2FnZSB0byB0aGUgY29uc29sZSBmb3IgdGhlIHNwZWNpZmllZCBVUkwuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3Bw
CmluZGV4IDE5ODgzZjM1OTVmMThkMGQ1NzQxYjllZjYwNmYyYTI2ODJhMDY0MzAuLmVjMWU2Y2Fm
MGRjNDEwNTRjNDA5NTRkY2E1ODIyNWNjMDJmNTU5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCkBAIC00NCwxMSAr
NDQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1zdGF0aWMgUmVzb3VyY2VSZXF1
ZXN0OjpUYXJnZXRUeXBlIGNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZShDYWNoZWRSZXNv
dXJjZTo6VHlwZSB0eXBlLCBSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKK3N0YXRpYyBS
ZXNvdXJjZVJlcXVlc3Q6OlRhcmdldFR5cGUgY2FjaGVkUmVzb3VyY2VUeXBlVG9UYXJnZXRUeXBl
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7Ci0jaWYgIUVOQUJMRShMSU5LX1BSRUZFVENI
KQotICAgIFVOVVNFRF9QQVJBTShwcmlvcml0eSk7Ci0jZW5kaWYKICAgICBzd2l0Y2ggKHR5cGUp
IHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgogI2lmIEVOQUJMRShY
U0xUKQpAQCAtNjIsOSArNTksMTEgQEAgc3RhdGljIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0VHlw
ZSBjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUoQ2FjaGVkUmVzb3VyY2UKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgogICAgICAgICByZXR1cm4gUmVzb3VyY2VS
ZXF1ZXN0OjpUYXJnZXRJc0ltYWdlOwogI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OkxpbmtSZXNvdXJjZToKLSAgICAgICAgaWYgKHByaW9yaXR5ID09
IFJlc291cmNlTG9hZFByaW9yaXR5TG93ZXN0KQotICAgICAgICAgICAgcmV0dXJuIFJlc291cmNl
UmVxdWVzdDo6VGFyZ2V0SXNQcmVmZXRjaDsKKyAgICBjYXNlIENhY2hlZFJlc291cmNlOjpMaW5r
UHJlZmV0Y2g6CisgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzUHJlZmV0
Y2g7CisgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TGlua1ByZXJlbmRlcjoKKyAgICAgICAgcmV0
dXJuIFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNTdWJyZXNvdXJjZTsKKyAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpMaW5rU3VicmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldElzU3VicmVzb3VyY2U7CiAjZW5kaWYKICAgICB9CkBAIC05Miw3ICs5MSw3IEBA
IFBhc3NSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PiBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6
OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkCiAgICAgUmVmUHRyPENhY2hlZFJlc291cmNlUmVxdWVz
dD4gcmVxdWVzdCA9IGFkb3B0UmVmKG5ldyBDYWNoZWRSZXNvdXJjZVJlcXVlc3QoY2FjaGVkUmVz
b3VyY2VMb2FkZXIsIHJlc291cmNlLCBpbmNyZW1lbnRhbCkpOwogCiAgICAgUmVzb3VyY2VSZXF1
ZXN0IHJlc291cmNlUmVxdWVzdChyZXNvdXJjZS0+dXJsKCkpOwotICAgIHJlc291cmNlUmVxdWVz
dC5zZXRUYXJnZXRUeXBlKGNhY2hlZFJlc291cmNlVHlwZVRvVGFyZ2V0VHlwZShyZXNvdXJjZS0+
dHlwZSgpLCByZXNvdXJjZS0+bG9hZFByaW9yaXR5KCkpKTsKKyAgICByZXNvdXJjZVJlcXVlc3Qu
c2V0VGFyZ2V0VHlwZShjYWNoZWRSZXNvdXJjZVR5cGVUb1RhcmdldFR5cGUocmVzb3VyY2UtPnR5
cGUoKSkpOwogCiAgICAgaWYgKCFyZXNvdXJjZS0+YWNjZXB0KCkuaXNFbXB0eSgpKQogICAgICAg
ICByZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEFjY2VwdChyZXNvdXJjZS0+YWNjZXB0KCkpOwpAQCAt
MTE1LDcgKzExNCw3IEBAIFBhc3NSZWZQdHI8Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0PiBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3Q6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkCiAgICAgfQogICAgIAogI2lm
IEVOQUJMRShMSU5LX1BSRUZFVENIKQotICAgIGlmIChyZXNvdXJjZS0+dHlwZSgpID09IENhY2hl
ZFJlc291cmNlOjpMaW5rUmVzb3VyY2UpCisgICAgaWYgKHJlc291cmNlLT50eXBlKCkgPT0gQ2Fj
aGVkUmVzb3VyY2U6OkxpbmtQcmVmZXRjaCB8fCByZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJl
c291cmNlOjpMaW5rUHJlcmVuZGVyIHx8IHJlc291cmNlLT50eXBlKCkgPT0gQ2FjaGVkUmVzb3Vy
Y2U6OkxpbmtTdWJyZXNvdXJjZSkKICAgICAgICAgcmVzb3VyY2VSZXF1ZXN0LnNldEhUVFBIZWFk
ZXJGaWVsZCgiUHVycG9zZSIsICJwcmVmZXRjaCIpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXgg
NTNlMTE2MDg2ZjIwZTdhOTkzMzdhY2IxMGI1M2Y4ODA5N2I3ZjhlZC4uNGM3YWJjYjVmM2RhZmM4
MzEyZDY1ZWM2ZGIwNWExMGMyYzExM2Q3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTY1LDYgKzY1LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVGFyZ2V0SXNXb3JrZXIsCiAgICAgICAg
ICAgICBUYXJnZXRJc1NoYXJlZFdvcmtlciwKICAgICAgICAgICAgIFRhcmdldElzUHJlZmV0Y2gs
CisgICAgICAgICAgICBUYXJnZXRJc1ByZXJlbmRlciwKICAgICAgICAgICAgIFRhcmdldElzRmF2
aWNvbiwKICAgICAgICAgfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>