<?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>93555</bug_id>
          
          <creation_ts>2012-08-08 16:57:29 -0700</creation_ts>
          <short_desc>[V8] Fix issues with [DoNotCheckSecurity] which depended on non ES5 compliant behavior</short_desc>
          <delta_ts>2012-08-09 18:52:33 -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>
          
          <blocked>91031</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>690948</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-08 16:57:29 -0700</bug_when>
    <thetext>[V8] Fix issues with [DoNotCheckSecurity] which depended on non ES5 compliant behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690963</commentid>
    <comment_count>1</comment_count>
      <attachid>157341</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-08 17:06:34 -0700</bug_when>
    <thetext>Created attachment 157341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690969</commentid>
    <comment_count>2</comment_count>
      <attachid>157341</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-08 17:09:59 -0700</bug_when>
    <thetext>Comment on attachment 157341
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:800
&gt; +    if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp-&gt;frame(), ReportSecurityError))

ReportSecurityError is the default.  You don&apos;t need to supply it explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690972</commentid>
    <comment_count>3</comment_count>
      <attachid>157341</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-08 17:12:08 -0700</bug_when>
    <thetext>Comment on attachment 157341
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        No new tests. No change in behavior.

Does this fix tests that fail when the ES5 flag is flipped?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690973</commentid>
    <comment_count>4</comment_count>
      <attachid>157341</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-08 17:12:43 -0700</bug_when>
    <thetext>Comment on attachment 157341
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:777
&gt; +    v8::Local&lt;v8::Value&gt; hiddenValue = info.This()-&gt;GetHiddenValue(name);

GetHiddenValue() and SetHiddenValue() are slow. Isn&apos;t there any performance concern? If this code would not be a bottleneck in practical world, that&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691041</commentid>
    <comment_count>5</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-08 18:11:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; GetHiddenValue() and SetHiddenValue() are slow. Isn&apos;t there any performance concern? If this code would not be a bottleneck in practical world, that&apos;s fine.

They are slow compared to doing nothing but they are not slow slow. I don&apos;t have a better idea how to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691044</commentid>
    <comment_count>6</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-08 18:12:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 157341 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=157341&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        No new tests. No change in behavior.
&gt; 
&gt; Does this fix tests that fail when the ES5 flag is flipped?

Yes. That is the point of this patch. I can add that to the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691050</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-08 18:17:20 -0700</bug_when>
    <thetext>Ok.  LGTM, but I&apos;d like Kentaro to do the official review, if he&apos;s willing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691051</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-08 18:18:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; They are slow compared to doing nothing but they are not slow slow. I don&apos;t have a better idea how to fix this.

I think, for correctness, the slowdown is acceptable if the slowdown is not in hot call paths in practical. Would you confirm that this patch doesn&apos;t regress performance of PerformanceTests/Dromaeo/ and PerformanceTests/Bindings/?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691815</commentid>
    <comment_count>9</comment_count>
      <attachid>157541</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-09 13:57:45 -0700</bug_when>
    <thetext>Created attachment 157541
Perf comparison</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691947</commentid>
    <comment_count>10</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-09 15:52:14 -0700</bug_when>
    <thetext>The perf results show no regression as far as I can tell. Some tests are faster, some are slower. The results are just really flaky so it is hard to tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691980</commentid>
    <comment_count>11</comment_count>
      <attachid>157341</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-09 16:36:43 -0700</bug_when>
    <thetext>Comment on attachment 157341
Patch

Thanks. LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692020</commentid>
    <comment_count>12</comment_count>
      <attachid>157590</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-08-09 17:15:45 -0700</bug_when>
    <thetext>Created attachment 157590
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692088</commentid>
    <comment_count>13</comment_count>
      <attachid>157590</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-09 18:52:29 -0700</bug_when>
    <thetext>Comment on attachment 157590
Patch for landing

Clearing flags on attachment: 157590

Committed r125232: &lt;http://trac.webkit.org/changeset/125232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692089</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-09 18:52:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157341</attachid>
            <date>2012-08-08 17:06:34 -0700</date>
            <delta_ts>2012-08-09 17:15:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93555-20120808170607.patch</filename>
            <type>text/plain</type>
            <size>8927</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFmY2M0Nzk2N2EzMWYy
MGQ3MDA5Zjg2Yjk5YTgwZGRkODIyOGQxNC4uZWVmYjE2ZjNiYzc3MGQ5Nzg5OTliMGVjNzg0Yjgy
M2IwNTc1YTUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDEyLTA4LTA4ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW1Y4XSBGaXggaXNzdWVz
IHdpdGggW0RvTm90Q2hlY2tTZWN1cml0eV0gd2hpY2ggZGVwZW5kZWQgb24gbm9uIEVTNSBjb21w
bGlhbnQgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkzNTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQmVmb3JlIHRoaXMgY2hhbmdlIHdlIHdlcmUgcmVseWluZyBvbiBhIFY4IGJ1ZyB3aGVy
ZSBpbnN0YW5jZSBwcm9wZXJ0aWVzIGNvdWxkIGJlIHNoYWRvdworICAgICAgICByZWFkIG9ubHkg
cHJvcGVydGllcyBvbiB0aGUgcHJvdG90eXBlLiBXaXRoIHRoaXMgY2hhbmdlIHdlIG5vIGxvbmdl
ciBkZXBlbmQgb24gdGhpcyBpbmNvcnJlY3QKKyAgICAgICAgVjggYmVoYXZpb3IgYW5kIGluc3Rl
YWQgdXNlIGEgaGlkZGVuIHY4IHByb3BlcnR5IHRoYXQgaXMgb25seSByZXR1cm5lZCBpZiB0aGUg
Y29kZSBjYW4gYWNjZXNzCisgICAgICAgIHRoZSBmcmFtZS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVEb21haW5TYWZlRnVuY3Rpb25H
ZXR0ZXIpOgorICAgICAgICAoR2VuZXJhdGVEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIpOgorICAg
ICAgICAoR2VuZXJhdGVOb25TdGFuZGFyZEZ1bmN0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlSW1w
bGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RB
Y3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVzdEFjdGl2ZURPTU9iamVj
dFY4SW50ZXJuYWw6OnBvc3RNZXNzYWdlQXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpU
ZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6VGVzdEFjdGl2ZURPTU9iamVjdERvbWFpblNh
ZmVGdW5jdGlvblNldHRlcik6CisgICAgICAgIChUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5h
bCk6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RBY3RpdmVET01PYmplY3RUZW1w
bGF0ZSk6CisKKzIwMTItMDgtMDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4K
KwogICAgICAgICBET000OiBjbGFzc0xpc3Qgc2hvdWxkIGJlIGRlZmluZWQgb24gRWxlbWVudCBh
bmQgbm90IG9uIEhUTUxFbGVtZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MzAxNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDllZGMwYWY4MjdmZjA1YjFkNTVkNDc5MjYy
ZjcxNTBiN2I5NjFlMjcuLmVjODc4MmQwYzBjZDk3NDRjZjkyYWM4NDJiNGRhN2RlZjI1ZDQ0YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCkBAIC03NzMsMTIgKzc3MywzOSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
ICR7ZnVuY05hbWV9QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgYwogICAg
ICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRl
bXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcoJG5ld1Rl
bXBsYXRlU3RyaW5nKTsKICAgICAgICAgcmV0dXJuIHNoYXJlZFRlbXBsYXRlLT5HZXRGdW5jdGlv
bigpOwogICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGhpZGRlblZhbHVlID0gaW5m
by5UaGlzKCktPkdldEhpZGRlblZhbHVlKG5hbWUpOworICAgIGlmICghaGlkZGVuVmFsdWUuSXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gaGlkZGVuVmFsdWU7CisKICAgICByZXR1cm4gcHJpdmF0
ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogfQogCiBFTkQKIH0KIAorc3ViIEdlbmVyYXRlRG9t
YWluU2FmZUZ1bmN0aW9uU2V0dGVyCit7CisgICAgbXkgJGltcGxDbGFzc05hbWUgPSBzaGlmdDsK
KyAgICBteSAkY2xhc3NOYW1lID0gIlY4IiAuICRpbXBsQ2xhc3NOYW1lOworCisgICAgcHVzaChA
aW1wbENvbnRlbnREZWNscywgPDxFTkQpOworc3RhdGljIHZvaWQgJHtpbXBsQ2xhc3NOYW1lfURv
bWFpblNhZmVGdW5jdGlvblNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uJGltcGxDbGFzc05hbWUuX3NldCIpOworICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gaG9sZGVyID0gVjhET01XcmFwcGVyOjpsb29rdXBET01XcmFwcGVyKCR7Y2xh
c3NOYW1lfTo6R2V0VGVtcGxhdGUoKSwgaW5mby5UaGlzKCkpOworICAgIGlmIChob2xkZXIuSXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgJHtpbXBsQ2xhc3NOYW1lfSogaW1wID0gJHtj
bGFzc05hbWV9Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghQmluZGluZ1NlY3VyaXR5Ojpz
aG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoQmluZGluZ1N0YXRlOjppbnN0YW5jZSgpLCBpbXAtPmZy
YW1lKCksIFJlcG9ydFNlY3VyaXR5RXJyb3IpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbmZv
LlRoaXMoKS0+U2V0SGlkZGVuVmFsdWUobmFtZSwgdmFsdWUpOworfQorCitFTkQKK30KKwogc3Vi
IEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIKIHsKICAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsK
QEAgLTIyNzcsMjUgKzIzMDQsMTQgQEAgc3ViIEdlbmVyYXRlTm9uU3RhbmRhcmRGdW5jdGlvbgog
CiAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tTZWN1cml0eSJ9ICYmCiAgICAgICAgICgk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5In0gfHwgJGludGVy
ZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpKSB7Ci0gICAgICAgICMgTWFyayB0aGUgYWNjZXNzb3Ig
YXMgUmVhZE9ubHkgYW5kIHNldCBpdCBvbiB0aGUgcHJvdG8gb2JqZWN0IHNvCi0gICAgICAgICMg
aXQgY2FuIGJlIHNoYWRvd2VkLiBUaGlzIGlzIHJlYWxseSBhIGhhY2sgdG8gbWFrZSBpdCB3b3Jr
LgotICAgICAgICAjIFRoZXJlIGFyZSBzZXZlcmFsIHNjZW5lcmlhIHRvIGNhbGwgaW50byB0aGUg
YWNjZXNzb3I6Ci0gICAgICAgICMgICAxKSBmcm9tIHRoZSBzYW1lIGRvbWFpbjogIndpbmRvdy5v
cGVuIjoKLSAgICAgICAgIyAgICAgIHRoZSBhY2Nlc3NvciBmaW5kcyB0aGUgRE9NIHdyYXBwZXIg
aW4gdGhlIHByb3RvIGNoYWluOwotICAgICAgICAjICAgMikgZnJvbSB0aGUgc2FtZSBkb21haW46
ICJ3aW5kb3cuX19wcm90b19fLm9wZW4iOgotICAgICAgICAjICAgICAgdGhlIGFjY2Vzc29yIHdp
bGwgTk9UIGZpbmQgYSBET00gd3JhcHBlciBpbiB0aGUgcHJvdG90eXBlIGNoYWluCi0gICAgICAg
ICMgICAzKSBmcm9tIGFub3RoZXIgZG9tYWluOiAid2luZG93Lm9wZW4iOgotICAgICAgICAjICAg
ICAgdGhlIGFjY2VzcyBmaW5kIHRoZSBET00gd3JhcHBlciBpbiB0aGUgcHJvdG90eXBlIGNoYWlu
Ci0gICAgICAgICMgICAid2luZG93Ll9fcHJvdG9fXy5vcGVuIiBmcm9tIGFub3RoZXIgZG9tYWlu
IHdpbGwgZmFpbCB3aGVuCi0gICAgICAgICMgICBhY2Nlc3NpbmcgJ19fcHJvdG9fXycKLSAgICAg
ICAgIwotICAgICAgICAjIFRoZSBzb2x1dGlvbiBpcyB2ZXJ5IGhhY2t5IGFuZCBmcmFnaWxlLCBp
dCByZWFsbHkgbmVlZHMgdG8gYmUgcmVwbGFjZWQKLSAgICAgICAgIyBieSBhIGJldHRlciBzb2x1
dGlvbi4KLSAgICAgICAgJHByb3BlcnR5X2F0dHJpYnV0ZXMgLj0gIiB8IHY4OjpSZWFkT25seSI7
CisgICAgICAgICMgRnVuY3Rpb25zIHRoYXQgYXJlIG1hcmtlZCBEb05vdENoZWNrU2VjdXJpdHkg
YXJlIGFsd2F5cyByZWFkYWJsZSBidXQgaWYgdGhleSBhcmUgY2hhbmdlZAorICAgICAgICAjIGFu
ZCB0aGVuIGFjY2Vzc2VkIG9uIGEgZGlmZmVyZW50IGRvbWFpbiB3ZSBkbyBub3QgcmV0dXJuIHRo
ZSB1bmRlcmx5aW5nIHZhbHVlIGJ1dCBpbnN0ZWFkCisgICAgICAgICMgcmV0dXJuIGEgbmV3IGNv
cHkgb2YgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLiBUaGlzIGlzIGFjaGlldmVkIGJ5IHN0b3Jpbmcg
dGhlIGNoYW5nZWQgdmFsdWUKKyAgICAgICAgIyBhcyBoaWRkZW4gcHJvcGVydHkuCiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAKICAgICAvLyAkY29tbWVudEluZm8KLSAgICAk
e2NvbmRpdGlvbmFsfSR0ZW1wbGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIkbmFt
ZSIpLCAke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfUF0dHJHZXR0ZXIsIDAsIHY4
VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4oJHByb3BlcnR5X2F0dHJpYnV0ZXMpKTsKKyAgICAke2NvbmRpdGlvbmFsfSR0ZW1w
bGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIkbmFtZSIpLCAke2ludGVyZmFjZU5h
bWV9VjhJbnRlcm5hbDo6JHtuYW1lfUF0dHJHZXR0ZXIsICR7aW50ZXJmYWNlTmFtZX1WOEludGVy
bmFsOjoke2ludGVyZmFjZU5hbWV9RG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyLCB2OFVuZGVmaW5l
ZCgpLCB2ODo6QUxMX0NBTl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+
KCRwcm9wZXJ0eV9hdHRyaWJ1dGVzKSk7CiBFTkQKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAg
LTI2NDQsNiArMjY2MCw3IEBAIEVORAogICAgIG15ICRuYW1lZFByb3BlcnR5R2V0dGVyOwogICAg
IG15IEBlbmFibGVkUGVyQ29udGV4dEZ1bmN0aW9uczsKICAgICBteSBAbm9ybWFsRnVuY3Rpb25z
OworICAgIG15ICRuZWVkc0RvbWFpblNhZmVGdW5jdGlvblNldHRlciA9IDA7CiAgICAgIyBHZW5l
cmF0ZSBtZXRob2RzIGZvciBmdW5jdGlvbnMuCiAgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7
JGRhdGFOb2RlLT5mdW5jdGlvbnN9KSB7CiAgICAgICAgIG15ICRpc0N1c3RvbSA9ICRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tIn0gfHwgJGZ1bmN0aW9u
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEN1c3RvbSJ9OwpAQCAtMjY2OCw2
ICsyNjg1LDcgQEAgRU5ECiAgICAgICAgIGlmICgoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9IHx8ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93Iikp
ICYmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVj
a1NlY3VyaXR5In0pIHsKICAgICAgICAgICAgIGlmICghJGlzQ3VzdG9tIHx8ICRmdW5jdGlvbi0+
e292ZXJsb2FkSW5kZXh9ID09IDEpIHsKICAgICAgICAgICAgICAgICBHZW5lcmF0ZURvbWFpblNh
ZmVGdW5jdGlvbkdldHRlcigkZnVuY3Rpb24sICRpbXBsQ2xhc3NOYW1lKTsKKyAgICAgICAgICAg
ICAgICAkbmVlZHNEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIgPSAxOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAKQEAgLTI2NzksNiArMjY5NywxMCBAQCBFTkQKICAgICAgICAgfQogICAgIH0K
IAorICAgIGlmICgkbmVlZHNEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIpIHsKKyAgICAgICAgR2Vu
ZXJhdGVEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIoJGltcGxDbGFzc05hbWUpOworICAgIH0KKwog
ICAgICMgQXR0cmlidXRlcwogICAgIG15ICRhdHRyaWJ1dGVzID0gJGRhdGFOb2RlLT5hdHRyaWJ1
dGVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDllYThlMGNlODMw
ODQxYmZjMjExZDU5MmFjYjBjYjA4MjQzZTRhMWUuLjUxMjFhNzI3ZTkwOTJjZTM5OGMzMjM0ZGI1
ZDM3MmI5Y2RkYjI2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC04
Nyw5ICs4NywyNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBvc3RNZXNzYWdlQXR0
ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgYwogICAgICAgICBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBsYXRlID0gdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcodjg6OkZ1bmN0aW9uVGVtcGxhdGU6
Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3NhZ2VDYWxsYmFjaywg
djhVbmRlZmluZWQoKSwgdjg6OlNpZ25hdHVyZTo6TmV3KFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6
R2V0UmF3VGVtcGxhdGUoKSkpKTsKICAgICAgICAgcmV0dXJuIHNoYXJlZFRlbXBsYXRlLT5HZXRG
dW5jdGlvbigpOwogICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGhpZGRlblZhbHVl
ID0gaW5mby5UaGlzKCktPkdldEhpZGRlblZhbHVlKG5hbWUpOworICAgIGlmICghaGlkZGVuVmFs
dWUuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gaGlkZGVuVmFsdWU7CisKICAgICByZXR1cm4g
cHJpdmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogfQogCitzdGF0aWMgdm9pZCBUZXN0QWN0
aXZlRE9NT2JqZWN0RG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0QWN0aXZlRE9NT2JqZWN0Ll9zZXQi
KTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IFY4RE9NV3JhcHBlcjo6bG9v
a3VwRE9NV3JhcHBlcihWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRlKCksIGluZm8u
VGhpcygpKTsKKyAgICBpZiAoaG9sZGVyLklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IFRlc3RBY3RpdmVET01PYmplY3QqIGltcCA9IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6dG9OYXRp
dmUoaG9sZGVyKTsKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NU
b0ZyYW1lKEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSwgaW1wLT5mcmFtZSgpLCBSZXBvcnRTZWN1
cml0eUVycm9yKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5mby5UaGlzKCktPlNldEhpZGRl
blZhbHVlKG5hbWUsIHZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2ZURPTU9i
amVjdFY4SW50ZXJuYWwKIAogc3RhdGljIGNvbnN0IEJhdGNoZWRBdHRyaWJ1dGUgVGVzdEFjdGl2
ZURPTU9iamVjdEF0dHJzW10gPSB7CkBAIC0xMTksNyArMTM3LDcgQEAgc3RhdGljIHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RBY3RpdmVET01PYmpl
Y3RUZW1wbGEKICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhjaXRpbmdGdW5jdGlv
biIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RBY3RpdmVET01PYmplY3RWOEludGVy
bmFsOjpleGNpdGluZ0Z1bmN0aW9uQ2FsbGJhY2ssIHY4VW5kZWZpbmVkKCksIGV4Y2l0aW5nRnVu
Y3Rpb25TaWduYXR1cmUpKTsKIAogICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScgKEV4dEF0
dHI6ICdEb05vdENoZWNrU2VjdXJpdHknKQotICAgIHByb3RvLT5TZXRBY2Nlc3Nvcih2ODo6U3Ry
aW5nOjpOZXcoInBvc3RNZXNzYWdlIiksIFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFsOjpw
b3N0TWVzc2FnZUF0dHJHZXR0ZXIsIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQs
IHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6
UmVhZE9ubHkpKTsKKyAgICBwcm90by0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCJwb3N0
TWVzc2FnZSIpLCBUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3NhZ2VBdHRy
R2V0dGVyLCBUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6VGVzdEFjdGl2ZURPTU9iamVj
dERvbWFpblNhZmVGdW5jdGlvblNldHRlciwgdjhVbmRlZmluZWQoKSwgdjg6OkFMTF9DQU5fUkVB
RCwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSkpOwog
CiAgICAgLy8gQ3VzdG9tIHRvU3RyaW5nIHRlbXBsYXRlCiAgICAgZGVzYy0+U2V0KGdldFRvU3Ry
aW5nTmFtZSgpLCBnZXRUb1N0cmluZ1RlbXBsYXRlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157541</attachid>
            <date>2012-08-09 13:57:45 -0700</date>
            <delta_ts>2012-08-09 13:57:45 -0700</delta_ts>
            <desc>Perf comparison</desc>
            <filename>perf.html</filename>
            <type>text/html</type>
            <size>28677</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHRpdGxlPldlYktpdCBQZXJmb3JtYW5jZSBU
ZXN0IFJlc3VsdHM8L3RpdGxlPgo8c2NyaXB0IHNyYz0iL1ZvbHVtZXMvTWFjaW50b3NoSEQyL3Ny
Yy9XZWJLaXQvUGVyZm9ybWFuY2VUZXN0cy9Ecm9tYWVvL3Jlc291cmNlcy9kcm9tYWVvL3dlYi9s
aWIvanF1ZXJ5LTEuNi40LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vdHJhYy53
ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvUGVyZm9ybWFuY2VUZXN0cy9Ecm9tYWVvL3Jlc291cmNl
cy9kcm9tYWVvL3dlYi9saWIvanF1ZXJ5LTEuNi40LmpzP2Zvcm1hdD10eHQiPjwvc2NyaXB0Pgo8
c2NyaXB0IHNyYz0iL1ZvbHVtZXMvTWFjaW50b3NoSEQyL3NyYy9XZWJLaXQvUGVyZm9ybWFuY2VU
ZXN0cy9yZXNvdXJjZXMvanF1ZXJ5LmZsb3QubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9
Imh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvUGVyZm9ybWFuY2VUZXN0cy9y
ZXNvdXJjZXMvanF1ZXJ5LmZsb3QubWluLmpzP2Zvcm1hdD10eHQiPjwvc2NyaXB0Pgo8c2NyaXB0
IGlkPSJ4eHhqc29uIiB0eXBlPSJhcHBsaWNhdGlvbi9qc29uIj5beyJ0aW1lc3RhbXAiOiAxMzQ0
NDc4NjMwLCAid2Via2l0LXJldmlzaW9uIjogIjEyNTA5NCIsICJyZXN1bHRzIjogeyJCaW5kaW5n
cy9nZXQtZWxlbWVudHMtYnktdGFnLW5hbWUiOiB7Im1pbiI6IDE4Ny4xMzQ1MDI5MjM5NzY2LCAi
bWF4IjogMTkzLjkzOTM5MzkzOTM5Mzk0LCAibWVkaWFuIjogMTkwLjgxNzAwMjg1MzE1MjI1LCAi
c3RkZXYiOiAxLjYxMzA3Njg5NTk1NDA2NjQsICJhdmciOiAxOTAuNjgyNzkyNDczODY2ODQsICJ1
bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3Mvc2V0LWF0dHJpYnV0ZSI6IHsibWluIjogNDgxLjM0
Nzc3Mzc2NjU0NjMsICJtYXgiOiA0OTguNzUzMTE3MjA2OTgyNTUsICJtZWRpYW4iOiA0OTEuNDAw
NDkxNDAwNDkxNCwgInN0ZGV2IjogMy43MDkwNzUxNDc2MDY3NTIsICJhdmciOiA0OTAuODg1ODYy
ODIyMDA0NjQsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBw
ZXIiOiB7Im1pbiI6IDcxOC4wLCAibWF4IjogNzM4LjAsICJtZWRpYW4iOiA3MjkuNSwgInN0ZGV2
IjogNi4wMzczODM1MzkyNDk0MzksICJhdmciOiA3MjguNSwgInVuaXQiOiAibXMifSwgIkJpbmRp
bmdzL3VuZGVmaW5lZC1pZC1nZXR0ZXIiOiB7Im1pbiI6IDM1Ny4xNDI4NTcxNDI4NTcxNywgIm1h
eCI6IDM2OC40MjEwNTI2MzE1Nzg5NiwgIm1lZGlhbiI6IDM2MS45OTExMDE0ODM4NjYwMywgInN0
ZGV2IjogMy4xOTI4MzEzNjEyODU0MTA1LCAiYXZnIjogMzYyLjgxNjMzMTU0OTUyNTg0LCAidW5p
dCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3NzcXVlcnktcHJvdG90eXBlIjogeyJtaW4iOiAxODQ2
NzAuOTcxMDkzMDQ0MjcsICJtYXgiOiAxODg2OTEuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2Ijog
NzY2LjM5MzgzMDE0MDMyMDEsICJhdmciOiAxODc1MzcuMTk0MjE4NjA4ODQsICJ1bml0IjogInJ1
bnMvcyJ9LCAiQmluZGluZ3Mvbm9kZS1saXN0LWFjY2VzcyI6IHsibWluIjogMTA5LjM1NjAxNDU4
MDgwMTk0LCAibWF4IjogMTExLjgwMTI0MjIzNjAyNDg1LCAibWVkaWFuIjogMTEwLjQyOTQ0Nzg1
Mjc2MDczLCAic3RkZXYiOiAwLjgxNDk3MzI1NDg4NjE0NzEsICJhdmciOiAxMTAuNjE4Njc0OTI4
MDIzMTEsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvdHlwZWQtYXJyYXktY29uc3RydWN0
LWZyb20tYXJyYXkiOiB7Im1pbiI6IDQzNy4wLCAibWF4IjogNDQ3LjAsICJtZWRpYW4iOiA0NDEu
MCwgInN0ZGV2IjogMi4yMTk3OTcyODgwNDIzNDUsICJhdmciOiA0NDEuMTUsICJ1bml0IjogIm1z
In0sICJEcm9tYWVvL2Ryb21hZW8tb2JqZWN0LXJlZ2V4cCI6IHsibWluIjogMjM3NzQuODM5NDMz
Mjc1ODU0LCAibWF4IjogMjM5MzEuMzg3MDkwNDI3OTU3LCAibWVkaWFuIjogMC4wLCAic3RkZXYi
OiAxMy4wMDIyNzg0MDc3NTQ5NSwgImF2ZyI6IDIzODQ2LjUyMTg5ODM3ODQxOCwgInVuaXQiOiAi
cnVucy9zIn0sICJEcm9tYWVvL2pzbGliLWF0dHItanF1ZXJ5IjogeyJtaW4iOiA1NTExLjU0ODQ1
MTU0ODQ1MSwgIm1heCI6IDU2MTUuNTQ1NDU0NTQ1NDU0LCAibWVkaWFuIjogMC4wLCAic3RkZXYi
OiAyMS40Mjc4MTE4NDYwMDY2NywgImF2ZyI6IDU1NjMuMzc4NDIxNTc4NDIyLCAidW5pdCI6ICJy
dW5zL3MifSwgIkRyb21hZW8vY3NzcXVlcnktanF1ZXJ5IjogeyJtaW4iOiAxNzI0MzMzLjI2MTcz
ODI2MTcsICJtYXgiOiAxODE2NzQzLjAsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDI0NjYzLjQx
MDE4MTQyMTM0MywgImF2ZyI6IDE3Nzg1NTIuMjUyMzQ3NjUyMywgInVuaXQiOiAicnVucy9zIn0s
ICJCaW5kaW5ncy91bmRlZmluZWQtZ2V0LWVsZW1lbnQtYnktaWQiOiB7Im1pbiI6IDE3NC4xMjkz
NTMyMzM4MzA4NCwgIm1heCI6IDE3OC41NzE0Mjg1NzE0Mjg1OCwgIm1lZGlhbiI6IDE3NS42NTg3
MjAyMDA3NTI4LCAic3RkZXYiOiAxLjU4MjEwODM5OTMwMTY2MDcsICJhdmciOiAxNzYuMjgxMDg2
MDA5MDQzOTIsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvdW5kZWZpbmVkLWZpcnN0LWNo
aWxkIjogeyJtaW4iOiA0MjkuMDgyMjQwNzYyODEyOSwgIm1heCI6IDQ0MC42MzY0NzQ5MDgyMDA3
NCwgIm1lZGlhbiI6IDQzNy42OTAxMzEzNTEzODQ5MywgInN0ZGV2IjogMy4yMTk3MDI2MjAwMTIw
NzIsICJhdmciOiA0MzYuNDEzOTY3MzA1ODE5MywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5n
cy9nZXQtZWxlbWVudC1ieS1pZCI6IHsibWluIjogMTQyLjUxNzgxNDcyNjg0MDg3LCAibWF4Ijog
MTUzLjg0NjE1Mzg0NjE1Mzg0LCAibWVkaWFuIjogMTQ4LjUxNDg1MTQ4NTE0ODUsICJzdGRldiI6
IDIuODE3NTg2MjY2NTk4MTMsICJhdmciOiAxNDguNjMyNzM2OTE2MzUwMjcsICJ1bml0IjogInJ1
bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1hdHRyLXByb3RvdHlwZSI6IHsibWluIjogMzQ5My41NDU0
NTQ1NDU0NTQ1LCAibWF4IjogMzUyNy4wLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiA2LjczMTE4
ODE3MTY5MDA4LCAiYXZnIjogMzUxNS4wNzcxMjI4NzcxMjI3LCAidW5pdCI6ICJydW5zL3MifSwg
IkRyb21hZW8vZHJvbWFlby0zZC1jdWJlIjogeyJtaW4iOiAxNDY3LjAsICJtYXgiOiAxNTExLjAs
ICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDE3LjUwMTQyODUxMzEyNDI5MiwgImF2ZyI6IDE0ODMu
NCwgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy90eXBlZC1hcnJheS1zZXQtZnJvbS10eXBl
ZCI6IHsibWluIjogMjQ1LjAsICJtYXgiOiAyNTMuMCwgIm1lZGlhbiI6IDI0OC4wLCAic3RkZXYi
OiAxLjYyMDk1NjUwNzc0NDcyNzksICJhdmciOiAyNDcuNjUsICJ1bml0IjogIm1zIn0sICJEcm9t
YWVvL2RvbS1hdHRyIjogeyJtaW4iOiAzODI1LjE1OTY4NTYwMDg5NSwgIm1heCI6IDM5NDguNDc5
NTYxMzE2MDUyLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAyNC42OTg1ODAwODUwNDQ4NCwgImF2
ZyI6IDM4ODEuNDE0MTcwMDQxNzkzNiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGli
LXN0eWxlLXByb3RvdHlwZSI6IHsibWluIjogNTEzMC41NzQwMzA0MDM3OTksICJtYXgiOiA1MjQ2
LjEyNjIxNDI3NjE3NywgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMzQuMzcxNDg4MDM2OTk0MjEs
ICJhdmciOiA1MTkxLjM2OTcwMDEwODc2OSwgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9p
ZC1zZXR0ZXIiOiB7Im1pbiI6IDExMi41LCAibWF4IjogMTE2LjU4MDMxMDg4MDgyOTAyLCAibWVk
aWFuIjogMTE1LjM4NDgwNTAzNzQ4MzYzLCAic3RkZXYiOiAwLjk4MDgxOTM2OTUxMjUxNDYsICJh
dmciOiAxMTUuMTM0NzQzMjUzNjg1NzgsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xp
Yi10cmF2ZXJzZS1wcm90b3R5cGUiOiB7Im1pbiI6IDY4OTIuODk2OTc3Mjc0MjIyLCAibWF4Ijog
Njk5NC41OTk2NzA0MDE2MTgsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDIzLjEyMjkxOTc5NzM5
NjYxMiwgImF2ZyI6IDY5NTAuMDE3NDg4OTQzMDU4LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21h
ZW8vanNsaWItdHJhdmVyc2UtanF1ZXJ5IjogeyJtaW4iOiAyMzk5LjE5MzcyODM1MDA5NDcsICJt
YXgiOiAyNDI4LjIyNTM2NzA1MDMyNiwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNS44NjA5NTQz
MDQyOTQ3NjIsICJhdmciOiAyNDE2LjExOTg2NzAzODM1NiwgInVuaXQiOiAicnVucy9zIn0sICJE
cm9tYWVvL2RvbS1xdWVyeSI6IHsibWluIjogNDY5ODEwLjUzMDQ2OTUzMDUsICJtYXgiOiA0NzQz
NDYuNDA2NTkzNDA2NiwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMTM1Mi40ODYxMDg4MjE0OTc1
LCAiYXZnIjogNDcxODYyLjczNzg2MjEzNzksICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3Mv
dHlwZWQtYXJyYXktY29uc3RydWN0LWZyb20tc2FtZS10eXBlIjogeyJtaW4iOiA3MS4wLCAibWF4
IjogNzYuMCwgIm1lZGlhbiI6IDczLjAsICJzdGRldiI6IDEuMzk1NTI4NTczNjk1Mjg2NSwgImF2
ZyI6IDczLjA1LCAidW5pdCI6ICJtcyJ9LCAiQmluZGluZ3MvYXBwZW5kLWNoaWxkIjogeyJtaW4i
OiAxNzYuMTAwNjI4OTMwODE3NiwgIm1heCI6IDE4NC45NDA1NTQ4MjE2NjQ0OCwgIm1lZGlhbiI6
IDE4MS4yMjk4NDkzODU2Nzg1NiwgInN0ZGV2IjogMi4yMzg5MDQ4Mzc2MzQ1NDUsICJhdmciOiAx
ODEuMDExNTcxNjQ2MjYwOTYsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1zdHls
ZS1qcXVlcnkiOiB7Im1pbiI6IDI2NjYuNTU4NTI4OTM4NDAzLCAibWF4IjogMjczNy4xMTcyMzg1
ODc1NDQzLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAxNy43MTkzMTE4ODUwODA1MywgImF2ZyI6
IDI3MDEuOTg3MDcxNzE4NzY3MywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy90eXBlZC1h
cnJheS1jb25zdHJ1Y3QtZnJvbS10eXBlZCI6IHsibWluIjogNjk1LjAsICJtYXgiOiA3MTkuMCwg
Im1lZGlhbiI6IDcwOS41LCAic3RkZXYiOiA2LjQ5NjE1MjcwNzU2NDY5NSwgImF2ZyI6IDcwOC45
OTk5OTk5OTk5OTk5LCAidW5pdCI6ICJtcyJ9LCAiRHJvbWFlby9kcm9tYWVvLWNvcmUtZXZhbCI6
IHsibWluIjogNTM5Ny42MzY4MTU5MjAzOTgsICJtYXgiOiA1NTY3LjExMDY3MTkzNjc1OSwgIm1l
ZGlhbiI6IDAuMCwgInN0ZGV2IjogNzEuNDM5MDQyNTU0MjMzMjEsICJhdmciOiA1NDM5LjU4NzY1
MzU4Njg5MywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9maXJzdC1jaGlsZCI6IHsibWlu
IjogNDEwLjI1NjQxMDI1NjQxMDMsICJtYXgiOiA0MTguODQ4MTY3NTM5MjY3LCAibWVkaWFuIjog
NDEyLjYzNzE3OTkxMzUzNTEsICJzdGRldiI6IDIuOTc2MDI2MzIyMTc0MDU5LCAiYXZnIjogNDE0
LjI2MDgxMDE5Njg0MTMsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvY3JlYXRlLWVsZW1l
bnQiOiB7Im1pbiI6IDE3Ny42NjQ5NzQ2MTkyODkzNSwgIm1heCI6IDIwMy44MjE2NTYwNTA5NTU0
MywgIm1lZGlhbiI6IDIwMC4xMjUxNTY0NDU1NTY5NCwgInN0ZGV2IjogOC4yOTUwNTM3ODI4Njg1
MDIsICJhdmciOiAxOTUuOTM5Nzc1OTM5MjIyMzYsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFl
by9kb20tbW9kaWZ5IjogeyJtaW4iOiAyNDcwLjk5MTMwMTY1MjM5NywgIm1heCI6IDI5NDEuNjky
MjgyOTAxOTEyNywgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMTIyLjcxNzI0NTIxNTcwMTA4LCAi
YXZnIjogMjc0Ny4zOTkxNTUyMTk1MzAzLCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2lu
c2VydC1iZWZvcmUiOiB7Im1pbiI6IDExOS4zMzE3NDIyNDM0MzY3NSwgIm1heCI6IDEyMi4zOTkw
MjA4MDc4MzM1NCwgIm1lZGlhbiI6IDEyMS4xMzg3NDgyNTczOTIzNCwgInN0ZGV2IjogMC45OTIw
MzUyNTMxNjkzOTgxLCAiYXZnIjogMTIxLjAwMDI4MDQ3OTkyOTA5LCAidW5pdCI6ICJydW5zL3Mi
fSwgIkJpbmRpbmdzL2dldC1hdHRyaWJ1dGUiOiB7Im1pbiI6IDE1My40NTI2ODU0MjE5OTQ5LCAi
bWF4IjogMTYxLjEwNDcxODA2Njc0MzM3LCAibWVkaWFuIjogMTU3Ljk5ODc1MTgyMDI2MjEsICJz
dGRldiI6IDEuOTk3MTQzOTcyMjY5MzE3LCAiYXZnIjogMTU3LjY5NDg3NjY2MjU4NzE1LCAidW5p
dCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3NzcXVlcnktZG9qbyI6IHsibWluIjogMTE3MzcxLjAs
ICJtYXgiOiAxMjEyMzYuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNjk5LjI3MTU5MjI1MzE2
NDMsICJhdmciOiAxMjAwNDkuODYyNTM3NDYyNTEsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFl
by9kcm9tYWVvLXN0cmluZy1iYXNlNjQiOiB7Im1pbiI6IDM5MjMuMCwgIm1heCI6IDQwMTUuMCwg
Im1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMzUuMjc4ODg4ODcxMzkxNjIsICJhdmciOiAzOTkwLjAs
ICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kb20tdHJhdmVyc2UiOiB7Im1pbiI6IDE3NjIu
Mjg2MDYxOTA4MTU0LCAibWF4IjogMTc3Ni43NzQxOTU4NjQwMTYzLCAibWVkaWFuIjogMC4wLCAi
c3RkZXYiOiAyLjc3NjI0NjI3MDYxMTA3NCwgImF2ZyI6IDE3NjkuMzY5OTE4ODc4MDgwMiwgInVu
aXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2Ryb21hZW8tb2JqZWN0LWFycmF5IjogeyJtaW4iOiA0
MTk3MC4xMTUwMDI2NzU4NiwgIm1heCI6IDQyNDk2LjQ0MjIxNDEwMjkyLCAibWVkaWFuIjogMC4w
LCAic3RkZXYiOiAxMjIuODIwNDEyMTcyNTI5NiwgImF2ZyI6IDQyMzIzLjUwMzg1MzUxNjk4LCAi
dW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vc3Vuc3BpZGVyLWNyeXB0by1tZDUiOiB7Im1pbiI6
IDIwOTcuMCwgIm1heCI6IDIxNjQuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMjYuMjE2NDA3
MDc2NDg1NTE3LCAiYXZnIjogMjEzOS40LCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2lk
LWdldHRlciI6IHsibWluIjogMjE4LjE4MTgxODE4MTgxODIsICJtYXgiOiAyNTIuODQ0NTAwNjMy
MTExMjUsICJtZWRpYW4iOiAyMzUuMTQyOTM5MDU2MzU2NDgsICJzdGRldiI6IDkuMzE5Njc0NjUz
NTI5NDgsICJhdmciOiAyMzUuMzM5ODIwNTk1OTUxNTgsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJv
bWFlby9qc2xpYi1ldmVudC1qcXVlcnkiOiB7Im1pbiI6IDYxNS40Nzk3MDQ0MDU4MTU5LCAibWF4
IjogOTExLjYzNDc4MzM2NzQxMzQsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDk2LjAzNjg4MDAx
NjUyMTgyLCAiYXZnIjogNzk4LjUyNTg0MDA0NzMxNzcsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJv
bWFlby9zdW5zcGlkZXItY3J5cHRvLXNoYTEiOiB7Im1pbiI6IDE2OTYuMCwgIm1heCI6IDE3MjQu
MCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMTIuMTUzMTg4ODgxOTM1NDcyLCAiYXZnIjogMTcx
Mi44LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vanNsaWItZXZlbnQtcHJvdG90eXBlIjog
eyJtaW4iOiAxMjE1Ljk3NDAzNjc2OTEzNjUsICJtYXgiOiAxMjQ1Ljc2MjYyNzgxMDQzNjcsICJt
ZWRpYW4iOiAwLjAsICJzdGRldiI6IDkuMjM4ODM5MTA4MTU5OTIsICJhdmciOiAxMjM2LjIxMzk4
MDA1MTczMywgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLW1vZGlmeS1wcm90b3R5
cGUiOiB7Im1pbiI6IDEwNDIuODQwODc4MjIzOTUwNSwgIm1heCI6IDEyMjIuNzY4MTk5ODY0MDA4
MiwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNDEuOTA4MDU5OTI1ODE1NDIsICJhdmciOiAxMTc2
LjU0Njg3NTE4ODc1OSwgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9zY3JvbGwtdG9wIjog
eyJtaW4iOiAxMjIuNjk5Mzg2NTAzMDY3NDksICJtYXgiOiAxMjcuODc3MjM3ODUxNjYyNCwgIm1l
ZGlhbiI6IDEyNC43NjYxMTIxODUyMDQ5LCAic3RkZXYiOiAxLjY4ODgxNDE0ODIzMDkxNDcsICJh
dmciOiAxMjUuMDYxNzc2MzIzODkxMTcsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kcm9t
YWVvLW9iamVjdC1zdHJpbmciOiB7Im1pbiI6IDEyNDIwNi4zNzUwNDIxMjM1NSwgIm1heCI6IDEy
Njk5MC40MjAxMDE4MTA1NSwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNzQ4LjQ2NDY4NjMxODMy
MTYsICJhdmciOiAxMjU2NjUuNjY4OTM0NTk4MzMsICJ1bml0IjogInJ1bnMvcyJ9fSwgInBsYXRm
b3JtIjogImNocm9taXVtIiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsiLCAiY2hyb21pdW0tcmV2
aXNpb24iOiAiIn1dPC9zY3JpcHQ+Cgo8c2NyaXB0IGlkPSJqc29uIj4KWwp7InRpbWVzdGFtcCI6
IDEzNDQ0Nzg2MzAsIAogImRlc2NyaXB0aW9uIjogIlhYWFgiLCAid2Via2l0LXJldmlzaW9uIjog
IjEyNTA5NCIsICJyZXN1bHRzIjogeyJCaW5kaW5ncy9nZXQtZWxlbWVudHMtYnktdGFnLW5hbWUi
OiB7Im1pbiI6IDE4Ny4xMzQ1MDI5MjM5NzY2LCAibWF4IjogMTkzLjkzOTM5MzkzOTM5Mzk0LCAi
bWVkaWFuIjogMTkwLjgxNzAwMjg1MzE1MjI1LCAic3RkZXYiOiAxLjYxMzA3Njg5NTk1NDA2NjQs
ICJhdmciOiAxOTAuNjgyNzkyNDczODY2ODQsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3Mv
c2V0LWF0dHJpYnV0ZSI6IHsibWluIjogNDgxLjM0Nzc3Mzc2NjU0NjMsICJtYXgiOiA0OTguNzUz
MTE3MjA2OTgyNTUsICJtZWRpYW4iOiA0OTEuNDAwNDkxNDAwNDkxNCwgInN0ZGV2IjogMy43MDkw
NzUxNDc2MDY3NTIsICJhdmciOiA0OTAuODg1ODYyODIyMDA0NjQsICJ1bml0IjogInJ1bnMvcyJ9
LCAiQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIiOiB7Im1pbiI6IDcxOC4wLCAibWF4Ijog
NzM4LjAsICJtZWRpYW4iOiA3MjkuNSwgInN0ZGV2IjogNi4wMzczODM1MzkyNDk0MzksICJhdmci
OiA3MjguNSwgInVuaXQiOiAibXMifSwgIkJpbmRpbmdzL3VuZGVmaW5lZC1pZC1nZXR0ZXIiOiB7
Im1pbiI6IDM1Ny4xNDI4NTcxNDI4NTcxNywgIm1heCI6IDM2OC40MjEwNTI2MzE1Nzg5NiwgIm1l
ZGlhbiI6IDM2MS45OTExMDE0ODM4NjYwMywgInN0ZGV2IjogMy4xOTI4MzEzNjEyODU0MTA1LCAi
YXZnIjogMzYyLjgxNjMzMTU0OTUyNTg0LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3Nz
cXVlcnktcHJvdG90eXBlIjogeyJtaW4iOiAxODQ2NzAuOTcxMDkzMDQ0MjcsICJtYXgiOiAxODg2
OTEuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNzY2LjM5MzgzMDE0MDMyMDEsICJhdmciOiAx
ODc1MzcuMTk0MjE4NjA4ODQsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3Mvbm9kZS1saXN0
LWFjY2VzcyI6IHsibWluIjogMTA5LjM1NjAxNDU4MDgwMTk0LCAibWF4IjogMTExLjgwMTI0MjIz
NjAyNDg1LCAibWVkaWFuIjogMTEwLjQyOTQ0Nzg1Mjc2MDczLCAic3RkZXYiOiAwLjgxNDk3MzI1
NDg4NjE0NzEsICJhdmciOiAxMTAuNjE4Njc0OTI4MDIzMTEsICJ1bml0IjogInJ1bnMvcyJ9LCAi
QmluZGluZ3MvdHlwZWQtYXJyYXktY29uc3RydWN0LWZyb20tYXJyYXkiOiB7Im1pbiI6IDQzNy4w
LCAibWF4IjogNDQ3LjAsICJtZWRpYW4iOiA0NDEuMCwgInN0ZGV2IjogMi4yMTk3OTcyODgwNDIz
NDUsICJhdmciOiA0NDEuMTUsICJ1bml0IjogIm1zIn0sICJEcm9tYWVvL2Ryb21hZW8tb2JqZWN0
LXJlZ2V4cCI6IHsibWluIjogMjM3NzQuODM5NDMzMjc1ODU0LCAibWF4IjogMjM5MzEuMzg3MDkw
NDI3OTU3LCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAxMy4wMDIyNzg0MDc3NTQ5NSwgImF2ZyI6
IDIzODQ2LjUyMTg5ODM3ODQxOCwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLWF0
dHItanF1ZXJ5IjogeyJtaW4iOiA1NTExLjU0ODQ1MTU0ODQ1MSwgIm1heCI6IDU2MTUuNTQ1NDU0
NTQ1NDU0LCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAyMS40Mjc4MTE4NDYwMDY2NywgImF2ZyI6
IDU1NjMuMzc4NDIxNTc4NDIyLCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3NzcXVlcnkt
anF1ZXJ5IjogeyJtaW4iOiAxNzI0MzMzLjI2MTczODI2MTcsICJtYXgiOiAxODE2NzQzLjAsICJt
ZWRpYW4iOiAwLjAsICJzdGRldiI6IDI0NjYzLjQxMDE4MTQyMTM0MywgImF2ZyI6IDE3Nzg1NTIu
MjUyMzQ3NjUyMywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy91bmRlZmluZWQtZ2V0LWVs
ZW1lbnQtYnktaWQiOiB7Im1pbiI6IDE3NC4xMjkzNTMyMzM4MzA4NCwgIm1heCI6IDE3OC41NzE0
Mjg1NzE0Mjg1OCwgIm1lZGlhbiI6IDE3NS42NTg3MjAyMDA3NTI4LCAic3RkZXYiOiAxLjU4MjEw
ODM5OTMwMTY2MDcsICJhdmciOiAxNzYuMjgxMDg2MDA5MDQzOTIsICJ1bml0IjogInJ1bnMvcyJ9
LCAiQmluZGluZ3MvdW5kZWZpbmVkLWZpcnN0LWNoaWxkIjogeyJtaW4iOiA0MjkuMDgyMjQwNzYy
ODEyOSwgIm1heCI6IDQ0MC42MzY0NzQ5MDgyMDA3NCwgIm1lZGlhbiI6IDQzNy42OTAxMzEzNTEz
ODQ5MywgInN0ZGV2IjogMy4yMTk3MDI2MjAwMTIwNzIsICJhdmciOiA0MzYuNDEzOTY3MzA1ODE5
MywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9nZXQtZWxlbWVudC1ieS1pZCI6IHsibWlu
IjogMTQyLjUxNzgxNDcyNjg0MDg3LCAibWF4IjogMTUzLjg0NjE1Mzg0NjE1Mzg0LCAibWVkaWFu
IjogMTQ4LjUxNDg1MTQ4NTE0ODUsICJzdGRldiI6IDIuODE3NTg2MjY2NTk4MTMsICJhdmciOiAx
NDguNjMyNzM2OTE2MzUwMjcsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1hdHRy
LXByb3RvdHlwZSI6IHsibWluIjogMzQ5My41NDU0NTQ1NDU0NTQ1LCAibWF4IjogMzUyNy4wLCAi
bWVkaWFuIjogMC4wLCAic3RkZXYiOiA2LjczMTE4ODE3MTY5MDA4LCAiYXZnIjogMzUxNS4wNzcx
MjI4NzcxMjI3LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vZHJvbWFlby0zZC1jdWJlIjog
eyJtaW4iOiAxNDY3LjAsICJtYXgiOiAxNTExLjAsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDE3
LjUwMTQyODUxMzEyNDI5MiwgImF2ZyI6IDE0ODMuNCwgInVuaXQiOiAicnVucy9zIn0sICJCaW5k
aW5ncy90eXBlZC1hcnJheS1zZXQtZnJvbS10eXBlZCI6IHsibWluIjogMjQ1LjAsICJtYXgiOiAy
NTMuMCwgIm1lZGlhbiI6IDI0OC4wLCAic3RkZXYiOiAxLjYyMDk1NjUwNzc0NDcyNzksICJhdmci
OiAyNDcuNjUsICJ1bml0IjogIm1zIn0sICJEcm9tYWVvL2RvbS1hdHRyIjogeyJtaW4iOiAzODI1
LjE1OTY4NTYwMDg5NSwgIm1heCI6IDM5NDguNDc5NTYxMzE2MDUyLCAibWVkaWFuIjogMC4wLCAi
c3RkZXYiOiAyNC42OTg1ODAwODUwNDQ4NCwgImF2ZyI6IDM4ODEuNDE0MTcwMDQxNzkzNiwgInVu
aXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLXN0eWxlLXByb3RvdHlwZSI6IHsibWluIjog
NTEzMC41NzQwMzA0MDM3OTksICJtYXgiOiA1MjQ2LjEyNjIxNDI3NjE3NywgIm1lZGlhbiI6IDAu
MCwgInN0ZGV2IjogMzQuMzcxNDg4MDM2OTk0MjEsICJhdmciOiA1MTkxLjM2OTcwMDEwODc2OSwg
InVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9pZC1zZXR0ZXIiOiB7Im1pbiI6IDExMi41LCAi
bWF4IjogMTE2LjU4MDMxMDg4MDgyOTAyLCAibWVkaWFuIjogMTE1LjM4NDgwNTAzNzQ4MzYzLCAi
c3RkZXYiOiAwLjk4MDgxOTM2OTUxMjUxNDYsICJhdmciOiAxMTUuMTM0NzQzMjUzNjg1NzgsICJ1
bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi10cmF2ZXJzZS1wcm90b3R5cGUiOiB7Im1p
biI6IDY4OTIuODk2OTc3Mjc0MjIyLCAibWF4IjogNjk5NC41OTk2NzA0MDE2MTgsICJtZWRpYW4i
OiAwLjAsICJzdGRldiI6IDIzLjEyMjkxOTc5NzM5NjYxMiwgImF2ZyI6IDY5NTAuMDE3NDg4OTQz
MDU4LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vanNsaWItdHJhdmVyc2UtanF1ZXJ5Ijog
eyJtaW4iOiAyMzk5LjE5MzcyODM1MDA5NDcsICJtYXgiOiAyNDI4LjIyNTM2NzA1MDMyNiwgIm1l
ZGlhbiI6IDAuMCwgInN0ZGV2IjogNS44NjA5NTQzMDQyOTQ3NjIsICJhdmciOiAyNDE2LjExOTg2
NzAzODM1NiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2RvbS1xdWVyeSI6IHsibWluIjog
NDY5ODEwLjUzMDQ2OTUzMDUsICJtYXgiOiA0NzQzNDYuNDA2NTkzNDA2NiwgIm1lZGlhbiI6IDAu
MCwgInN0ZGV2IjogMTM1Mi40ODYxMDg4MjE0OTc1LCAiYXZnIjogNDcxODYyLjczNzg2MjEzNzks
ICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvdHlwZWQtYXJyYXktY29uc3RydWN0LWZyb20t
c2FtZS10eXBlIjogeyJtaW4iOiA3MS4wLCAibWF4IjogNzYuMCwgIm1lZGlhbiI6IDczLjAsICJz
dGRldiI6IDEuMzk1NTI4NTczNjk1Mjg2NSwgImF2ZyI6IDczLjA1LCAidW5pdCI6ICJtcyJ9LCAi
QmluZGluZ3MvYXBwZW5kLWNoaWxkIjogeyJtaW4iOiAxNzYuMTAwNjI4OTMwODE3NiwgIm1heCI6
IDE4NC45NDA1NTQ4MjE2NjQ0OCwgIm1lZGlhbiI6IDE4MS4yMjk4NDkzODU2Nzg1NiwgInN0ZGV2
IjogMi4yMzg5MDQ4Mzc2MzQ1NDUsICJhdmciOiAxODEuMDExNTcxNjQ2MjYwOTYsICJ1bml0Ijog
InJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1zdHlsZS1qcXVlcnkiOiB7Im1pbiI6IDI2NjYuNTU4
NTI4OTM4NDAzLCAibWF4IjogMjczNy4xMTcyMzg1ODc1NDQzLCAibWVkaWFuIjogMC4wLCAic3Rk
ZXYiOiAxNy43MTkzMTE4ODUwODA1MywgImF2ZyI6IDI3MDEuOTg3MDcxNzE4NzY3MywgInVuaXQi
OiAicnVucy9zIn0sICJCaW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3QtZnJvbS10eXBlZCI6
IHsibWluIjogNjk1LjAsICJtYXgiOiA3MTkuMCwgIm1lZGlhbiI6IDcwOS41LCAic3RkZXYiOiA2
LjQ5NjE1MjcwNzU2NDY5NSwgImF2ZyI6IDcwOC45OTk5OTk5OTk5OTk5LCAidW5pdCI6ICJtcyJ9
LCAiRHJvbWFlby9kcm9tYWVvLWNvcmUtZXZhbCI6IHsibWluIjogNTM5Ny42MzY4MTU5MjAzOTgs
ICJtYXgiOiA1NTY3LjExMDY3MTkzNjc1OSwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogNzEuNDM5
MDQyNTU0MjMzMjEsICJhdmciOiA1NDM5LjU4NzY1MzU4Njg5MywgInVuaXQiOiAicnVucy9zIn0s
ICJCaW5kaW5ncy9maXJzdC1jaGlsZCI6IHsibWluIjogNDEwLjI1NjQxMDI1NjQxMDMsICJtYXgi
OiA0MTguODQ4MTY3NTM5MjY3LCAibWVkaWFuIjogNDEyLjYzNzE3OTkxMzUzNTEsICJzdGRldiI6
IDIuOTc2MDI2MzIyMTc0MDU5LCAiYXZnIjogNDE0LjI2MDgxMDE5Njg0MTMsICJ1bml0IjogInJ1
bnMvcyJ9LCAiQmluZGluZ3MvY3JlYXRlLWVsZW1lbnQiOiB7Im1pbiI6IDE3Ny42NjQ5NzQ2MTky
ODkzNSwgIm1heCI6IDIwMy44MjE2NTYwNTA5NTU0MywgIm1lZGlhbiI6IDIwMC4xMjUxNTY0NDU1
NTY5NCwgInN0ZGV2IjogOC4yOTUwNTM3ODI4Njg1MDIsICJhdmciOiAxOTUuOTM5Nzc1OTM5MjIy
MzYsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kb20tbW9kaWZ5IjogeyJtaW4iOiAyNDcw
Ljk5MTMwMTY1MjM5NywgIm1heCI6IDI5NDEuNjkyMjgyOTAxOTEyNywgIm1lZGlhbiI6IDAuMCwg
InN0ZGV2IjogMTIyLjcxNzI0NTIxNTcwMTA4LCAiYXZnIjogMjc0Ny4zOTkxNTUyMTk1MzAzLCAi
dW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2luc2VydC1iZWZvcmUiOiB7Im1pbiI6IDExOS4z
MzE3NDIyNDM0MzY3NSwgIm1heCI6IDEyMi4zOTkwMjA4MDc4MzM1NCwgIm1lZGlhbiI6IDEyMS4x
Mzg3NDgyNTczOTIzNCwgInN0ZGV2IjogMC45OTIwMzUyNTMxNjkzOTgxLCAiYXZnIjogMTIxLjAw
MDI4MDQ3OTkyOTA5LCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2dldC1hdHRyaWJ1dGUi
OiB7Im1pbiI6IDE1My40NTI2ODU0MjE5OTQ5LCAibWF4IjogMTYxLjEwNDcxODA2Njc0MzM3LCAi
bWVkaWFuIjogMTU3Ljk5ODc1MTgyMDI2MjEsICJzdGRldiI6IDEuOTk3MTQzOTcyMjY5MzE3LCAi
YXZnIjogMTU3LjY5NDg3NjY2MjU4NzE1LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3Nz
cXVlcnktZG9qbyI6IHsibWluIjogMTE3MzcxLjAsICJtYXgiOiAxMjEyMzYuMCwgIm1lZGlhbiI6
IDAuMCwgInN0ZGV2IjogNjk5LjI3MTU5MjI1MzE2NDMsICJhdmciOiAxMjAwNDkuODYyNTM3NDYy
NTEsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kcm9tYWVvLXN0cmluZy1iYXNlNjQiOiB7
Im1pbiI6IDM5MjMuMCwgIm1heCI6IDQwMTUuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMzUu
Mjc4ODg4ODcxMzkxNjIsICJhdmciOiAzOTkwLjAsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFl
by9kb20tdHJhdmVyc2UiOiB7Im1pbiI6IDE3NjIuMjg2MDYxOTA4MTU0LCAibWF4IjogMTc3Ni43
NzQxOTU4NjQwMTYzLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAyLjc3NjI0NjI3MDYxMTA3NCwg
ImF2ZyI6IDE3NjkuMzY5OTE4ODc4MDgwMiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2Ry
b21hZW8tb2JqZWN0LWFycmF5IjogeyJtaW4iOiA0MTk3MC4xMTUwMDI2NzU4NiwgIm1heCI6IDQy
NDk2LjQ0MjIxNDEwMjkyLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAxMjIuODIwNDEyMTcyNTI5
NiwgImF2ZyI6IDQyMzIzLjUwMzg1MzUxNjk4LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8v
c3Vuc3BpZGVyLWNyeXB0by1tZDUiOiB7Im1pbiI6IDIwOTcuMCwgIm1heCI6IDIxNjQuMCwgIm1l
ZGlhbiI6IDAuMCwgInN0ZGV2IjogMjYuMjE2NDA3MDc2NDg1NTE3LCAiYXZnIjogMjEzOS40LCAi
dW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2lkLWdldHRlciI6IHsibWluIjogMjE4LjE4MTgx
ODE4MTgxODIsICJtYXgiOiAyNTIuODQ0NTAwNjMyMTExMjUsICJtZWRpYW4iOiAyMzUuMTQyOTM5
MDU2MzU2NDgsICJzdGRldiI6IDkuMzE5Njc0NjUzNTI5NDgsICJhdmciOiAyMzUuMzM5ODIwNTk1
OTUxNTgsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1ldmVudC1qcXVlcnkiOiB7
Im1pbiI6IDYxNS40Nzk3MDQ0MDU4MTU5LCAibWF4IjogOTExLjYzNDc4MzM2NzQxMzQsICJtZWRp
YW4iOiAwLjAsICJzdGRldiI6IDk2LjAzNjg4MDAxNjUyMTgyLCAiYXZnIjogNzk4LjUyNTg0MDA0
NzMxNzcsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9zdW5zcGlkZXItY3J5cHRvLXNoYTEi
OiB7Im1pbiI6IDE2OTYuMCwgIm1heCI6IDE3MjQuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2Ijog
MTIuMTUzMTg4ODgxOTM1NDcyLCAiYXZnIjogMTcxMi44LCAidW5pdCI6ICJydW5zL3MifSwgIkRy
b21hZW8vanNsaWItZXZlbnQtcHJvdG90eXBlIjogeyJtaW4iOiAxMjE1Ljk3NDAzNjc2OTEzNjUs
ICJtYXgiOiAxMjQ1Ljc2MjYyNzgxMDQzNjcsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDkuMjM4
ODM5MTA4MTU5OTIsICJhdmciOiAxMjM2LjIxMzk4MDA1MTczMywgInVuaXQiOiAicnVucy9zIn0s
ICJEcm9tYWVvL2pzbGliLW1vZGlmeS1wcm90b3R5cGUiOiB7Im1pbiI6IDEwNDIuODQwODc4MjIz
OTUwNSwgIm1heCI6IDEyMjIuNzY4MTk5ODY0MDA4MiwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2Ijog
NDEuOTA4MDU5OTI1ODE1NDIsICJhdmciOiAxMTc2LjU0Njg3NTE4ODc1OSwgInVuaXQiOiAicnVu
cy9zIn0sICJCaW5kaW5ncy9zY3JvbGwtdG9wIjogeyJtaW4iOiAxMjIuNjk5Mzg2NTAzMDY3NDks
ICJtYXgiOiAxMjcuODc3MjM3ODUxNjYyNCwgIm1lZGlhbiI6IDEyNC43NjYxMTIxODUyMDQ5LCAi
c3RkZXYiOiAxLjY4ODgxNDE0ODIzMDkxNDcsICJhdmciOiAxMjUuMDYxNzc2MzIzODkxMTcsICJ1
bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kcm9tYWVvLW9iamVjdC1zdHJpbmciOiB7Im1pbiI6
IDEyNDIwNi4zNzUwNDIxMjM1NSwgIm1heCI6IDEyNjk5MC40MjAxMDE4MTA1NSwgIm1lZGlhbiI6
IDAuMCwgInN0ZGV2IjogNzQ4LjQ2NDY4NjMxODMyMTYsICJhdmciOiAxMjU2NjUuNjY4OTM0NTk4
MzMsICJ1bml0IjogInJ1bnMvcyJ9fSwgInBsYXRmb3JtIjogImNocm9taXVtIiwgImJyYW5jaCI6
ICJ3ZWJraXQtdHJ1bmsiLCAiY2hyb21pdW0tcmV2aXNpb24iOiAiIn0sCnsiZGVzY3JpcHRpb24i
OiAibWFzdGVyIiwgInRpbWVzdGFtcCI6IDEzNDQ1MzM5NTYsICJ3ZWJraXQtcmV2aXNpb24iOiAi
MTI1MDk0IiwgInJlc3VsdHMiOiB7IkJpbmRpbmdzL2dldC1lbGVtZW50cy1ieS10YWctbmFtZSI6
IHsibWluIjogMTgxLjgxODE4MTgxODE4MTgsICJtYXgiOiAxOTEuMTU4OTAwODM2MzIwMTksICJt
ZWRpYW4iOiAxODcuMzUzODg2ODY2NDQzMiwgInN0ZGV2IjogMi4yNjg3MzQ5NjYzNjQ5NTc2LCAi
YXZnIjogMTg3LjU2OTUxMzQxODY2MTczLCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL3Nl
dC1hdHRyaWJ1dGUiOiB7Im1pbiI6IDQ4My4wOTE3ODc0Mzk2MTM1NCwgIm1heCI6IDQ5OC43NTMx
MTcyMDY5ODI1NSwgIm1lZGlhbiI6IDQ5MC43OTc1NDYwMTIyNjk5NSwgInN0ZGV2IjogNC42Nzky
MTQyODE3Nzc1MywgImF2ZyI6IDQ5MC40NTA5ODA1NDI2MDgzNiwgInVuaXQiOiAicnVucy9zIn0s
ICJCaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlciI6IHsibWluIjogNzc1LjAsICJtYXgiOiA3
ODguMCwgIm1lZGlhbiI6IDc4Mi4wLCAic3RkZXYiOiAzLjA4MDE3ODU2NjI1MjI5MjIsICJhdmci
OiA3ODEuNzUsICJ1bml0IjogIm1zIn0sICJCaW5kaW5ncy91bmRlZmluZWQtaWQtZ2V0dGVyIjog
eyJtaW4iOiAzNzUuMTQ2NTQxNjE3ODE5NSwgIm1heCI6IDM3OC4yNTA1OTEwMTY1NDg0NywgIm1l
ZGlhbiI6IDM3Ni45MTQwMTY0ODk5ODgyLCAic3RkZXYiOiAwLjc4NTk5ODUxNjc3ODYxNDMsICJh
dmciOiAzNzYuNjcxNjQzMTY0OTIzMiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2Nzc3F1
ZXJ5LXByb3RvdHlwZSI6IHsibWluIjogMTc4Njc2Ljg1NTQyMTY4Njc1LCAibWF4IjogMTg2NzAw
LjAsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDEyODEuMjA4ODMyNjQ4MDEsICJhdmciOiAxODQy
MDguNzcxMDg0MzM3NCwgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9ub2RlLWxpc3QtYWNj
ZXNzIjogeyJtaW4iOiAxMDcuNjU1NTAyMzkyMzQ0NSwgIm1heCI6IDExMC4wMjQ0NDk4Nzc3NTA2
MSwgIm1lZGlhbiI6IDEwOS4wOTA5MDkwOTA5MDkxLCAic3RkZXYiOiAwLjY3OTIxNjY1MTM5Mjkz
OTIsICJhdmciOiAxMDkuMDc1MzE3NDc4OTQ3OTgsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGlu
Z3MvdHlwZWQtYXJyYXktY29uc3RydWN0LWZyb20tYXJyYXkiOiB7Im1pbiI6IDQzMy4wLCAibWF4
IjogNDQ5LjAsICJtZWRpYW4iOiA0MzkuMCwgInN0ZGV2IjogMi45MTcxOTA0MjkxNjI5NTgsICJh
dmciOiA0MzkuNywgInVuaXQiOiAibXMifSwgIkRyb21hZW8vZHJvbWFlby1vYmplY3QtcmVnZXhw
IjogeyJtaW4iOiAyMzYyMi4zNzQ1NTE1NTA0MjcsICJtYXgiOiAyMzk5MC42MjgzNzYwNzQ4MSwg
Im1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMzIuMTIxNDMyODMyNzQzODY0LCAiYXZnIjogMjM4Mjcu
NjMxNTIzNzE5MjksICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1hdHRyLWpxdWVy
eSI6IHsibWluIjogNTQyNi4wLCAibWF4IjogNTUzMC41ODU0MTQ1ODU0MTUsICJtZWRpYW4iOiAw
LjAsICJzdGRldiI6IDIwLjUxODk1NTY4NTc5MjkyNSwgImF2ZyI6IDU0OTEuNjA1MzU5OTA5NTUx
LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vY3NzcXVlcnktanF1ZXJ5IjogeyJtaW4iOiAx
ODEyMzEwLjAsICJtYXgiOiAxODkwNDQ1LjAsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDIwNTQ1
LjM5ODc2NzEyMDU4MywgImF2ZyI6IDE4NTIxODMuNTk5OTk5OTk5OSwgInVuaXQiOiAicnVucy9z
In0sICJCaW5kaW5ncy91bmRlZmluZWQtZ2V0LWVsZW1lbnQtYnktaWQiOiB7Im1pbiI6IDE3My45
MTMwNDM0NzgyNjA4NywgIm1heCI6IDE4MC4xODAxODAxODAxODAxNywgIm1lZGlhbiI6IDE3Ni45
OTU2NzY2MDAwOTc1LCAic3RkZXYiOiAxLjg5MDk2NjU5MjQ4ODI2MjQsICJhdmciOiAxNzcuMTAw
ODU2OTI4NjIzNjQsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvdW5kZWZpbmVkLWZpcnN0
LWNoaWxkIjogeyJtaW4iOiA0MzUuMzA4MzQzNDA5OTE1NCwgIm1heCI6IDQzOS41NjA0Mzk1NjA0
Mzk1MywgIm1lZGlhbiI6IDQzOC4yMjI5MjU1NzU4OTU1LCAic3RkZXYiOiAxLjAxMjcwODcxNjQy
ODUyMiwgImF2ZyI6IDQzOC4wMzg0ODQ4NzU0MDc1NiwgInVuaXQiOiAicnVucy9zIn0sICJCaW5k
aW5ncy9nZXQtZWxlbWVudC1ieS1pZCI6IHsibWluIjogMTQzLjg4NDg5MjA4NjMzMDkyLCAibWF4
IjogMTQ3LjYwMTQ3NjAxNDc2MDE1LCAibWVkaWFuIjogMTQ2Ljk2ODgyNDI0OTQwNiwgInN0ZGV2
IjogMS4wMTE1MDY4NDQ3MzAyNzc1LCAiYXZnIjogMTQ2LjU0NTA3OTMxNTM3OTUsICJ1bml0Ijog
InJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1hdHRyLXByb3RvdHlwZSI6IHsibWluIjogMzY5MC40
MDQ1OTU0MDQ1OTU1LCAibWF4IjogMzc0OS41NDA0NTk1NDA0NiwgIm1lZGlhbiI6IDAuMCwgInN0
ZGV2IjogMTEuMTExMTA3MzQwODEwNjU4LCAiYXZnIjogMzcyMS43NTQ0MzI3OTI3NTYyLCAidW5p
dCI6ICJydW5zL3MifSwgIkRyb21hZW8vZHJvbWFlby0zZC1jdWJlIjogeyJtaW4iOiAxNDg1LjAs
ICJtYXgiOiAxNTIyLjAsICJtZWRpYW4iOiAwLjAsICJzdGRldiI6IDE0LjE4ODAyMzExODEwOTE2
MSwgImF2ZyI6IDE0OTguNiwgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy90eXBlZC1hcnJh
eS1zZXQtZnJvbS10eXBlZCI6IHsibWluIjogMjQyLjAsICJtYXgiOiAyNTAuMCwgIm1lZGlhbiI6
IDI0My4wLCAic3RkZXYiOiAxLjcyODQzODYwMTc0NDM2ODUsICJhdmciOiAyNDMuNzQ5OTk5OTk5
OTk5OTcsICJ1bml0IjogIm1zIn0sICJEcm9tYWVvL2RvbS1hdHRyIjogeyJtaW4iOiA0MTYwLjY4
NjY0NjY4NjY0NywgIm1heCI6IDQ0NDguODY1MjE0NDY2ODA4NSwgIm1lZGlhbiI6IDAuMCwgInN0
ZGV2IjogNjcuOTk5Njk5MDAzNjM1NSwgImF2ZyI6IDQzMDMuMDkzMzY1MDYwNTE2LCAidW5pdCI6
ICJydW5zL3MifSwgIkRyb21hZW8vanNsaWItc3R5bGUtcHJvdG90eXBlIjogeyJtaW4iOiA1MDkx
LjgwODgzMTkzNTUzNzUsICJtYXgiOiA1MjYxLjkzMjQ0NjA0MDAxNiwgIm1lZGlhbiI6IDAuMCwg
InN0ZGV2IjogMzguNzU5OTc5ODM2MzAyODUsICJhdmciOiA1MTkzLjkwMjg5MjE0NTQzMSwgInVu
aXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9pZC1zZXR0ZXIiOiB7Im1pbiI6IDEwNi41MjQ2MzM4
MjE1NzEyNCwgIm1heCI6IDExNy4xODc1LCAibWVkaWFuIjogMTE2LjQyOTQ5NTQ3MjE4NjI5LCAi
c3RkZXYiOiAzLjYxNTYyMjM1ODg4ODI2NiwgImF2ZyI6IDExNC41Mjk1Mzk2MTEzMzYxMiwgInVu
aXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLXRyYXZlcnNlLXByb3RvdHlwZSI6IHsibWlu
IjogNjg0Mi41MzY4MjcwODExOTQsICJtYXgiOiA2OTU0LjgyNzU0ODMyNDA1OSwgIm1lZGlhbiI6
IDAuMCwgInN0ZGV2IjogMjguMzQxMTI3ODk5MjIxNzY3LCAiYXZnIjogNjkxMC4zMDY3OTgwNDQz
MTUsICJ1bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi10cmF2ZXJzZS1qcXVlcnkiOiB7
Im1pbiI6IDI0NDcuMjYxODQ5MTk3ODI0NiwgIm1heCI6IDI0NzQuMjE2MDQ5MDE4NTQ3NCwgIm1l
ZGlhbiI6IDAuMCwgInN0ZGV2IjogNS40MDY2OTI0NDgxMTk2NiwgImF2ZyI6IDI0NjIuNzg3NzUx
NjU5NjI5NSwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2RvbS1xdWVyeSI6IHsibWluIjog
NDQ4ODk0LjQ1MTU0ODQ1MTU2LCAibWF4IjogNDU3MjU4LjAsICJtZWRpYW4iOiAwLjAsICJzdGRl
diI6IDE2NjYuMTUwMjI4OTEyMTE5MiwgImF2ZyI6IDQ1MzI3NC4wNjU1MzQ0NjU1NCwgInVuaXQi
OiAicnVucy9zIn0sICJCaW5kaW5ncy90eXBlZC1hcnJheS1jb25zdHJ1Y3QtZnJvbS1zYW1lLXR5
cGUiOiB7Im1pbiI6IDcyLjAsICJtYXgiOiA3OS4wLCAibWVkaWFuIjogNzQuMCwgInN0ZGV2Ijog
Mi40OTU0OTU5NDI2OTM1NTQsICJhdmciOiA3NC4zNTAwMDAwMDAwMDAwMSwgInVuaXQiOiAibXMi
fSwgIkJpbmRpbmdzL2FwcGVuZC1jaGlsZCI6IHsibWluIjogMTgwLjY0NTE2MTI5MDMyMjYsICJt
YXgiOiAxODcuNTczMjcwODA4OTA5NzQsICJtZWRpYW4iOiAxODQuOTQwNTU0ODIxNjY0NDgsICJz
dGRldiI6IDEuOTM3NDE4MjcxMDk3MjMsICJhdmciOiAxODUuMDkyMzcxNzk5NDQ5NjcsICJ1bml0
IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9qc2xpYi1zdHlsZS1qcXVlcnkiOiB7Im1pbiI6IDI2Nzgu
MjAzMDk0ODMwMjA1LCAibWF4IjogMjc4MC44OTQ0NjM0OTI2MjcsICJtZWRpYW4iOiAwLjAsICJz
dGRldiI6IDI3LjgxNDU5MTM5MDEzMTk5NCwgImF2ZyI6IDI3NDEuNzMwOTEzNDU0ODIyLCAidW5p
dCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL3R5cGVkLWFycmF5LWNvbnN0cnVjdC1mcm9tLXR5cGVk
IjogeyJtaW4iOiA2OTMuMCwgIm1heCI6IDcyNS4wLCAibWVkaWFuIjogNzA0LjAsICJzdGRldiI6
IDguODA0OTcwMTg3MzQzMDQ5LCAiYXZnIjogNzA2LjE1MDAwMDAwMDAwMDEsICJ1bml0IjogIm1z
In0sICJEcm9tYWVvL2Ryb21hZW8tY29yZS1ldmFsIjogeyJtaW4iOiA1MjUwLjYzNjgxNTkyMDM5
OCwgIm1heCI6IDUzMTguMTEwNjcxOTM2NzU5LCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAyNi44
MTU0MDQ4MzczMjU5LCAiYXZnIjogNTI3MC44Njg1ODI5ODM3NjcsICJ1bml0IjogInJ1bnMvcyJ9
LCAiQmluZGluZ3MvZmlyc3QtY2hpbGQiOiB7Im1pbiI6IDQxNC41MDc3NzIwMjA3MjU0LCAibWF4
IjogNDIxLjA1MjYzMTU3ODk0NzM0LCAibWVkaWFuIjogNDE4LjU3NDQxMDU2NzAxOTEzLCAic3Rk
ZXYiOiAxLjUzNjU4MjM1NzEzNjExNTUsICJhdmciOiA0MTguMjc4OTc3NTQ3MzY3NzMsICJ1bml0
IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvY3JlYXRlLWVsZW1lbnQiOiB7Im1pbiI6IDE4Mi4yOTE2
NjY2NjY2NjY2NiwgIm1heCI6IDIwNi4xODU1NjcwMTAzMDkyOCwgIm1lZGlhbiI6IDIwMi45MTc2
NjUyMjQ0NTQzNCwgInN0ZGV2IjogNi4wMjA1NjI0Njg0MzY5NzEsICJhdmciOiAyMDAuNjA4NjI4
MjMzMTkxOCwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2RvbS1tb2RpZnkiOiB7Im1pbiI6
IDI0MTMuMjczNTIzMTIyOTU5NCwgIm1heCI6IDI5MDkuNDk3NTA3NDc3NTY3NSwgIm1lZGlhbiI6
IDAuMCwgInN0ZGV2IjogMTIwLjA3NjQyMDIxNTc2NzQ3LCAiYXZnIjogMjcxMi4yNjQ0NjA3NTYy
NzQ3LCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdzL2luc2VydC1iZWZvcmUiOiB7Im1pbiI6
IDExNy4yMzMyOTQyNTU1Njg1OCwgIm1heCI6IDEyMC4zMzY5NDM0NDE2MzY1OCwgIm1lZGlhbiI6
IDExOC45NzY4NDE2Mjg0NDY4NiwgInN0ZGV2IjogMC42NzMyNDk1OTE4Mzc1MzYyLCAiYXZnIjog
MTE4LjkzODE2ODEzMTQ5NzUsICJ1bml0IjogInJ1bnMvcyJ9LCAiQmluZGluZ3MvZ2V0LWF0dHJp
YnV0ZSI6IHsibWluIjogMTM5LjIxMTEzNjg5MDk1MTI4LCAibWF4IjogMTQzLjE5ODA5MDY5MjEy
NDEsICJtZWRpYW4iOiAxNDAuOTI3ODIzMTA3ODU5ODcsICJzdGRldiI6IDEuMTY2ODcxNzI3Nzc4
Nzg0MSwgImF2ZyI6IDE0MS4wMjAyMTI4NDUwMDc5NiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9t
YWVvL2Nzc3F1ZXJ5LWRvam8iOiB7Im1pbiI6IDExNjA4Ni45MDUxMDY2NjQ4LCAibWF4IjogMTIw
NzA0LjE4MDgxOTE4MDgyLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiA2NjQuMDM2NjEyNzk0Njk5
NCwgImF2ZyI6IDExOTExOC45MjU0NzY4Nzc0NiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVv
L2Ryb21hZW8tc3RyaW5nLWJhc2U2NCI6IHsibWluIjogMzk1Ny4wLCAibWF4IjogNDA4OS4wLCAi
bWVkaWFuIjogMC4wLCAic3RkZXYiOiA0MS42NTMzMzExOTkzMTcwNiwgImF2ZyI6IDQwMzcuMCwg
InVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2RvbS10cmF2ZXJzZSI6IHsibWluIjogMTc1OS43
MzMyNjY3MzMyNjY2LCAibWF4IjogMTgwMS42MjQ1MzE1NDExNTg4LCAibWVkaWFuIjogMC4wLCAi
c3RkZXYiOiAxMC42Nzk5MDU0NDYzNTQ1MDksICJhdmciOiAxNzg4LjYzMjU1MDUxNDI2MzQsICJ1
bml0IjogInJ1bnMvcyJ9LCAiRHJvbWFlby9kcm9tYWVvLW9iamVjdC1hcnJheSI6IHsibWluIjog
NDI0MDUuODI1NDQ1MzM3OTIsICJtYXgiOiA0MzAzMS42NTU1NDAwNjg3MTQsICJtZWRpYW4iOiAw
LjAsICJzdGRldiI6IDExNy4yNTYxMTQzMzYyNDQ2MiwgImF2ZyI6IDQyNzEyLjA3ODA5NzQ3MTM1
LCAidW5pdCI6ICJydW5zL3MifSwgIkRyb21hZW8vc3Vuc3BpZGVyLWNyeXB0by1tZDUiOiB7Im1p
biI6IDIxMDguMCwgIm1heCI6IDIxNTIuMCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMTguODMz
NDgwODI1MzgxMTY2LCAiYXZnIjogMjE0MS4yLCAidW5pdCI6ICJydW5zL3MifSwgIkJpbmRpbmdz
L2lkLWdldHRlciI6IHsibWluIjogMjIzLjA0ODMyNzEzNzU0NjQ3LCAibWF4IjogMjYxLjQzNzkw
ODQ5NjczMiwgIm1lZGlhbiI6IDI0Ni42MTA2MjQzMjYyNjgsICJzdGRldiI6IDEwLjQ2NTc0NDc0
NzU5MzgzMSwgImF2ZyI6IDI0NC4zNjIwNjA0NzExNzIxOSwgInVuaXQiOiAicnVucy9zIn0sICJE
cm9tYWVvL2pzbGliLWV2ZW50LWpxdWVyeSI6IHsibWluIjogNTkyLjE3MzkzNDM1NTM4OTMsICJt
YXgiOiA5MjEuOTAxNDgyMzg3NDgwNCwgIm1lZGlhbiI6IDAuMCwgInN0ZGV2IjogMTA1LjYyNjIz
MjU5NjQ4NTksICJhdmciOiA3ODkuMDQwNTUzMzY4Njk3OSwgInVuaXQiOiAicnVucy9zIn0sICJE
cm9tYWVvL3N1bnNwaWRlci1jcnlwdG8tc2hhMSI6IHsibWluIjogMTcwMC4wLCAibWF4IjogMTcy
MS4wLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiA4Ljg0ODcyODcyMjI1MTU3NSwgImF2ZyI6IDE3
MTUuNiwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLWV2ZW50LXByb3RvdHlwZSI6
IHsibWluIjogMTMzNy42MTg3NjI0NzUwNDk4LCAibWF4IjogMTM4NS4zMTA2ODkzMTA2ODkyLCAi
bWVkaWFuIjogMC4wLCAic3RkZXYiOiAxMi40ODEzMTM2ODAzMzM4MywgImF2ZyI6IDEzNjUuNzAw
MTA0MzY4MTI1NSwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVvL2pzbGliLW1vZGlmeS1wcm90
b3R5cGUiOiB7Im1pbiI6IDk4NS43OTI5OTk0MTU3NTM5LCAibWF4IjogMTIxMy4wMzk0MDQ3Mzk4
NzIyLCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiA0Ni4wNjIyNjMyNjkwOTEzMSwgImF2ZyI6IDEx
NTUuNzQxMDYxOTEyNzI0NywgInVuaXQiOiAicnVucy9zIn0sICJCaW5kaW5ncy9zY3JvbGwtdG9w
IjogeyJtaW4iOiAxMjMuNDU2NzkwMTIzNDU2NzgsICJtYXgiOiAxMjYuNzQyNzEyMjk0MDQzMDks
ICJtZWRpYW4iOiAxMjUuNTQ5MzI3NTY2MzEzMzcsICJzdGRldiI6IDAuODMyNDk2MjIxMDI0ODE4
NSwgImF2ZyI6IDEyNS40MTMxMjI0NzQxMDU4OCwgInVuaXQiOiAicnVucy9zIn0sICJEcm9tYWVv
L2Ryb21hZW8tb2JqZWN0LXN0cmluZyI6IHsibWluIjogMTE5NDg0LjY1Mjc3ODM1OTM4LCAibWF4
IjogMTI0NTQ1Ljk3OTgyMjU3MjY0LCAibWVkaWFuIjogMC4wLCAic3RkZXYiOiAxMzU2LjM2Nzc0
NjAyMDA0MywgImF2ZyI6IDEyMjIxNi4xNjYzMDcwNDc5NywgInVuaXQiOiAicnVucy9zIn19LCAi
cGxhdGZvcm0iOiAiY2hyb21pdW0iLCAiYnJhbmNoIjogIndlYmtpdC10cnVuayIsICJjaHJvbWl1
bS1yZXZpc2lvbiI6ICIifQpdCjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKc2Vj
dGlvbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiAwIDEwcHg7Cn0K
CnNlY3Rpb24gaDEgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxZW07
Cn0KCnNlY3Rpb24gLnRvb2x0aXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdGV4dC1h
bGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZDogI2ZmY2M2NjsKICAgIGJvcmRlci1yYWRpdXM6
IDVweDsKICAgIHBhZGRpbmc6IDBweCA1cHg7Cn0KCjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cjxk
aXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+CjxzY3JpcHQ+CgpmdW5jdGlvbiBjcmVhdGVQbG90KHRl
c3ROYW1lKSB7CiAgICB2YXIgc2VjdGlvbiA9ICQoJzxzZWN0aW9uPjxoMT48L2gxPjxkaXYgY2xh
c3M9InBsb3QiPjwvZGl2PicKICAgICAgICArICc8c3BhbiBjbGFzcz0idG9vbHRpcCI+PC9zcGFu
PjxzZWN0aW9uPicpOwogICAgdmFyIHVuaXQgPSB0ZXN0VW5pdHNbdGVzdE5hbWVdOwogICAgc2Vj
dGlvbi5jaGlsZHJlbignLnBsb3QnKS5jc3Moeyd3aWR0aCc6IDEwMCAqIG1heExlbmd0aCArICdw
eCcsICdoZWlnaHQnOiAnMzAwcHgnfSk7CiAgICBzZWN0aW9uLmNoaWxkcmVuKCdoMScpLmh0bWwo
dGVzdE5hbWUgKyAodW5pdCA/ICcgKCcgKyB1bml0ICsgJyknIDogJycpKTsKICAgICQoJyNjb250
YWluZXInKS5hcHBlbmQoc2VjdGlvbik7CiAgICAKICAgIGF0dGFjaFBsb3QodGVzdE5hbWUsIHNl
Y3Rpb24pOwp9CgpmdW5jdGlvbiBhdHRhY2hQbG90KHRlc3ROYW1lLCBzZWN0aW9uLCBtaW5Jc1pl
cm8pIHsKICAgIHZhciBhdmVyYWdlcyA9IHRlc3RSZXN1bHRzW3Rlc3ROYW1lXTsKICAgIHZhciBj
b2xvciA9ICdyZ2IoMjMwLDUwLDUwKSc7CgogICAgdmFyIG1pbk1heE9wdGlvbnMgPSB7bGluZXM6
IHtzaG93OnRydWUsIGxpbmVXaWR0aDogMH0sCiAgICAgICAgY29sb3I6IGNvbG9yLAogICAgICAg
IHBvaW50czoge3Nob3c6IHRydWUsIHJhZGl1czogMX0sCiAgICAgICAgYmFyczoge3Nob3c6IGZh
bHNlfX07CgogICAgZnVuY3Rpb24gbWFrZUxvd1Bsb3QoaWQsIGRhdGEpIHsgcmV0dXJuICQuZXh0
ZW5kKHRydWUsIHt9LCBtaW5NYXhPcHRpb25zLCB7aWQ6IGlkLCBkYXRhOiBkYXRhfSk7IH0gICAg
CiAgICBmdW5jdGlvbiBtYWtlSGlnaFBsb3QoZnJvbSwgdG8sIGZpbGwsIGRhdGEpIHsgcmV0dXJu
ICQuZXh0ZW5kKHRydWUsIHt9LCBtaW5NYXhPcHRpb25zLAogICAgICAgIHtpZDogdG8sIGRhdGE6
IGRhdGF9KTsgfQoKICAgIHZhciBwbG90RGF0YSA9IFsKICAgICAgICBtYWtlTG93UGxvdCgnbWlu
JywgdGVzdFJlc3VsdHNNaW5bdGVzdE5hbWVdKSwKICAgICAgICBtYWtlSGlnaFBsb3QoJ21pbics
ICdtYXgnLCAwLjIsIHRlc3RSZXN1bHRzTWF4W3Rlc3ROYW1lXSksCiAgICAgICAgbWFrZUxvd1Bs
b3QoJy0mIzk2MzsnLCB0ZXN0UmVzdWx0c1N0ZGV2TG93W3Rlc3ROYW1lXSksIC8vIHNtYWxsIGxl
dHRlciBzZ2ltYS4KICAgICAgICBtYWtlSGlnaFBsb3QoJy0mIzk2MzsnLCAnKyYjOTYzOycsIDAu
NCwgdGVzdFJlc3VsdHNTdGRldkhpZ2hbdGVzdE5hbWVdKSwKICAgICAgICB7ZGF0YTogYXZlcmFn
ZXMsIGNvbG9yOiBjb2xvcn1dOwoKICAgIHZhciBwbG90Q29udGFpbmVyID0gc2VjdGlvbi5jaGls
ZHJlbignLnBsb3QnKTsKICAgICQucGxvdChwbG90Q29udGFpbmVyLCBwbG90RGF0YSwgewogICAg
ICAgIHhheGlzOiB7CiAgICAgICAgICAgIG1pbjogYXZlcmFnZXNbMF1bMF0gLSAwLjUsCiAgICAg
ICAgICAgIG1heDogYXZlcmFnZXNbYXZlcmFnZXMubGVuZ3RoIC0gMV1bMF0gKyAwLjUsCiAgICAg
ICAgICAgIHRpY2tTaXplOiAxLAogICAgICAgICAgICB0aWNrczogYXZlcmFnZXMubWFwKGZ1bmN0
aW9uICh2YWx1ZSwgaW5kZXgpIHsKICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9ICdyJyArIHdl
YmtpdFJldmlzaW9uc1tpbmRleF07CiAgICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRpb25zW2lu
ZGV4XSkKICAgICAgICAgICAgICAgICAgICBsYWJlbCArPSAnICZkYXNoOyAnICsgZGVzY3JpcHRp
b25zW2luZGV4XQogICAgICAgICAgICAgICAgcmV0dXJuIFtpbmRleCwgbGFiZWxdOwogICAgICAg
ICAgICB9KSwKICAgICAgICB9LAogICAgICAgIHlheGlzOiB7CiAgICAgICAgICAgIG1pbjogbWlu
SXNaZXJvID8gMCA6IE1hdGgubWF4LmFwcGx5KE1hdGgsICQubWFwKHRlc3RSZXN1bHRzTWluW3Rl
c3ROYW1lXSwgZnVuY3Rpb24gKGVudHJ5KSB7IHJldHVybiBlbnRyeVsxXTsgfSkpICogMC45OCwK
ICAgICAgICAgICAgbWF4OiBNYXRoLm1heC5hcHBseShNYXRoLCAkLm1hcCh0ZXN0UmVzdWx0c01h
eFt0ZXN0TmFtZV0sIGZ1bmN0aW9uIChlbnRyeSkgeyByZXR1cm4gZW50cnlbMV07IH0pKSAqICht
aW5Jc1plcm8gPyAxLjEgOiAxLjAxKSwKICAgICAgICB9LAogICAgICAgIGNyb3NzaGFpcjogeyBt
b2RlOiAneScgfSwKICAgICAgICBzZXJpZXM6IHsgc2hhZG93U2l6ZTogMCB9LAogICAgICAgIGJh
cnM6IHtzaG93OiB0cnVlLCBhbGlnbjogJ2NlbnRlcicsIGJhcldpZHRoOiAwLjV9LAogICAgICAg
IGxpbmVzOiB7IHNob3c6IGZhbHNlIH0sCiAgICAgICAgcG9pbnRzOiB7IHNob3c6IHRydWUgfSwK
ICAgICAgICBncmlkOiB7CiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLAogICAgICAgICAgICBi
YWNrZ3JvdW5kQ29sb3I6ICcjZmZmJywKICAgICAgICAgICAgaG92ZXJhYmxlOiB0cnVlLAogICAg
ICAgICAgICBhdXRvSGlnaGxpZ2h0OiBmYWxzZSwKICAgICAgICB9CiAgICB9KTsKCiAgICB2YXIg
dG9vbHRpcCA9IHNlY3Rpb24uY2hpbGRyZW4oJy50b29sdGlwJyk7CiAgICBwbG90Q29udGFpbmVy
LmJpbmQoJ3Bsb3Rob3ZlcicsIGZ1bmN0aW9uIChldmVudCwgcG9zaXRpb24sIGl0ZW0pIHsKICAg
ICAgICBpZiAoaXRlbSkgewogICAgICAgICAgICB2YXIgcG9zdGZpeCA9IGl0ZW0uc2VyaWVzLmlk
ID8gJyAoJyArIGl0ZW0uc2VyaWVzLmlkICsgJyknIDogJyc7CiAgICAgICAgICAgIHRvb2x0aXAu
aHRtbChpdGVtLmRhdGFwb2ludFsxXS50b1ByZWNpc2lvbig0KSArIHBvc3RmaXgpOwogICAgICAg
ICAgICB0b29sdGlwLmNzcyh7bGVmdDogaXRlbS5wYWdlWCAtIHRvb2x0aXAub3V0ZXJXaWR0aCgp
IC8gMiwgdG9wOiBpdGVtLnBhZ2VZICsgMTB9KTsKICAgICAgICAgICAgdG9vbHRpcC5mYWRlSW4o
MjAwKTsKICAgICAgICB9IGVsc2UKICAgICAgICAgICAgdG9vbHRpcC5oaWRlKCk7CiAgICB9KTsK
ICAgIHBsb3RDb250YWluZXIubW91c2VvdXQoZnVuY3Rpb24gKCkgewogICAgICAgIHRvb2x0aXAu
aGlkZSgpOwogICAgfSk7CgogICAgcGxvdENvbnRhaW5lci5jbGljayhmdW5jdGlvbiAoZXZlbnQp
IHsKICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGF0dGFjaFBsb3QodGVz
dE5hbWUsIHNlY3Rpb24sICFtaW5Jc1plcm8pOwogICAgfSk7Cn0KCnZhciByZXN1bHRzID0gSlNP
Ti5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnanNvbicpLnRleHRDb250ZW50KTsKdmFy
IHRlc3RzID0gW107CnZhciB0ZXN0UmVzdWx0cyA9IHt9LCB0ZXN0UmVzdWx0c01pbiA9IHt9LCB0
ZXN0UmVzdWx0c01heCA9IHt9LCB0ZXN0UmVzdWx0c1N0ZGV2TG93ID0ge30sIHRlc3RSZXN1bHRz
U3RkZXZIaWdoID0ge307CnZhciB0ZXN0VW5pdHMgPSB7fTsKdmFyIHdlYmtpdFJldmlzaW9ucyA9
IFtdOwp2YXIgZGVzY3JpcHRpb25zID0gW107CnZhciBtYXhMZW5ndGggPSAwOwokLmVhY2gocmVz
dWx0cywgZnVuY3Rpb24gKGluZGV4LCBlbnRyeSkgewogICAgd2Via2l0UmV2aXNpb25zLnB1c2go
ZW50cnlbJ3dlYmtpdC1yZXZpc2lvbiddKTsKICAgIGRlc2NyaXB0aW9ucy5wdXNoKGVudHJ5Wydk
ZXNjcmlwdGlvbiddKTsKICAgICQuZWFjaChlbnRyeS5yZXN1bHRzLCBmdW5jdGlvbiAodGVzdCwg
cmVzdWx0KSB7CiAgICAgICAgaWYgKHRlc3RzLmluZGV4T2YodGVzdCkgPCAwKQogICAgICAgICAg
ICB0ZXN0cy5wdXNoKHRlc3QpOwogICAgICAgIGlmICghdGVzdFJlc3VsdHNbdGVzdF0pIHsKICAg
ICAgICAgICAgdGVzdFJlc3VsdHNbdGVzdF0gPSBbXTsKICAgICAgICAgICAgdGVzdFJlc3VsdHNN
aW5bdGVzdF0gPSBbXTsKICAgICAgICAgICAgdGVzdFJlc3VsdHNNYXhbdGVzdF0gPSBbXTsKICAg
ICAgICAgICAgdGVzdFJlc3VsdHNTdGRldkxvd1t0ZXN0XSA9IFtdOwogICAgICAgICAgICB0ZXN0
UmVzdWx0c1N0ZGV2SGlnaFt0ZXN0XSA9IFtdOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9m
IHJlc3VsdCA9PSAnbnVtYmVyJykKICAgICAgICAgICAgdGVzdFJlc3VsdHNbdGVzdF0ucHVzaChb
aW5kZXgsIHJlc3VsdF0pOwogICAgICAgIGVsc2UgewogICAgICAgICAgICB0ZXN0UmVzdWx0c1t0
ZXN0XS5wdXNoKFtpbmRleCwgcmVzdWx0WydhdmcnXV0pOwogICAgICAgICAgICBpZiAoJ21pbicg
aW4gcmVzdWx0KQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdHNNaW5bdGVzdF0ucHVzaChbaW5k
ZXgsIHJlc3VsdFsnbWluJ11dKTsKICAgICAgICAgICAgaWYgKCdtYXgnIGluIHJlc3VsdCkKICAg
ICAgICAgICAgICAgIHRlc3RSZXN1bHRzTWF4W3Rlc3RdLnB1c2goW2luZGV4LCByZXN1bHRbJ21h
eCddXSk7CiAgICAgICAgICAgIGlmICgnc3RkZXYnIGluIHJlc3VsdCkgewogICAgICAgICAgICAg
ICAgdGVzdFJlc3VsdHNTdGRldkxvd1t0ZXN0XS5wdXNoKFtpbmRleCwgcmVzdWx0WydhdmcnXSAt
IHJlc3VsdFsnc3RkZXYnXV0pOwogICAgICAgICAgICAgICAgdGVzdFJlc3VsdHNTdGRldkhpZ2hb
dGVzdF0ucHVzaChbaW5kZXgsIHJlc3VsdFsnYXZnJ10gKyByZXN1bHRbJ3N0ZGV2J11dKTsKICAg
ICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBtYXhMZW5ndGggPSBNYXRoLm1heChtYXhMZW5n
dGgsIHRlc3RSZXN1bHRzW3Rlc3RdLmxlbmd0aCk7CiAgICAgICAgdGVzdFVuaXRzW3Rlc3RdID0g
cmVzdWx0LnVuaXQ7CiAgICB9KTsKfSk7CiQuZWFjaCh0ZXN0cy5zb3J0KCksIGZ1bmN0aW9uIChp
bmRleCwgdGVzdCkgeyBjcmVhdGVQbG90KHRlc3QpOyB9KTsKCjwvc2NyaXB0Pgo8L2JvZHk+Cjwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157590</attachid>
            <date>2012-08-09 17:15:45 -0700</date>
            <delta_ts>2012-08-09 18:52:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93555-20120809171518.patch</filename>
            <type>text/plain</type>
            <size>8816</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhMDNhZWU5ZTljZDBj
ZGEwMjNmYjk1YzBjMDFjNjNmNTI0YjBiNi4uNmEwZTU3MDdhNGQ4MmY5Y2MwMTk2MGEwZDc0ODll
ZTJmOTM5YjE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA4LTA4ICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBGaXggaXNzdWVz
IHdpdGggW0RvTm90Q2hlY2tTZWN1cml0eV0gd2hpY2ggZGVwZW5kZWQgb24gbm9uIEVTNSBjb21w
bGlhbnQgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkzNTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFybyBIYXJhLgorCisgICAg
ICAgIEJlZm9yZSB0aGlzIGNoYW5nZSB3ZSB3ZXJlIHJlbHlpbmcgb24gYSBWOCBidWcgd2hlcmUg
aW5zdGFuY2UgcHJvcGVydGllcyBjb3VsZCBiZSBzaGFkb3cKKyAgICAgICAgcmVhZCBvbmx5IHBy
b3BlcnRpZXMgb24gdGhlIHByb3RvdHlwZS4gV2l0aCB0aGlzIGNoYW5nZSB3ZSBubyBsb25nZXIg
ZGVwZW5kIG9uIHRoaXMgaW5jb3JyZWN0CisgICAgICAgIFY4IGJlaGF2aW9yIGFuZCBpbnN0ZWFk
IHVzZSBhIGhpZGRlbiB2OCBwcm9wZXJ0eSB0aGF0IGlzIG9ubHkgcmV0dXJuZWQgaWYgdGhlIGNv
ZGUgY2FuIGFjY2VzcworICAgICAgICB0aGUgZnJhbWUuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlRG9tYWluU2FmZUZ1bmN0aW9uR2V0
dGVyKToKKyAgICAgICAgKEdlbmVyYXRlRG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyKToKKyAgICAg
ICAgKEdlbmVyYXRlTm9uU3RhbmRhcmRGdW5jdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0
aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RBY3RpdmVET01PYmplY3RW
OEludGVybmFsOjpwb3N0TWVzc2FnZUF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVz
dEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWw6OlRlc3RBY3RpdmVET01PYmplY3REb21haW5TYWZl
RnVuY3Rpb25TZXR0ZXIpOgorICAgICAgICAoVGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWwp
OgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0QWN0aXZlRE9NT2JqZWN0VGVtcGxh
dGUpOgorCiAyMDEyLTA4LTA5ICBJYWluIE1lcnJpY2sgIDxodXNreUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBFbmFibGUga2VybmluZyBvbiBBbmRyb2lkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDll
ZGMwYWY4MjdmZjA1YjFkNTVkNDc5MjYyZjcxNTBiN2I5NjFlMjcuLjRlOGI0NGUyNDg5Mzg2NjAz
YmRjZWFiYWI3YzdiNjZhMTM1MzRiZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC03NzMsMTIgKzc3MywzOSBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7ZnVuY05hbWV9QXR0ckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgYwogICAgICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1
bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+OjpOZXcoJG5ld1RlbXBsYXRlU3RyaW5nKTsKICAgICAgICAgcmV0dXJuIHNo
YXJlZFRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IGhpZGRlblZhbHVlID0gaW5mby5UaGlzKCktPkdldEhpZGRlblZhbHVlKG5hbWUpOwor
ICAgIGlmICghaGlkZGVuVmFsdWUuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gaGlkZGVuVmFs
dWU7CisKICAgICByZXR1cm4gcHJpdmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogfQogCiBF
TkQKIH0KIAorc3ViIEdlbmVyYXRlRG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyCit7CisgICAgbXkg
JGltcGxDbGFzc05hbWUgPSBzaGlmdDsKKyAgICBteSAkY2xhc3NOYW1lID0gIlY4IiAuICRpbXBs
Q2xhc3NOYW1lOworCisgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgPDxFTkQpOworc3RhdGlj
IHZvaWQgJHtpbXBsQ2xhc3NOYW1lfURvbWFpblNhZmVGdW5jdGlvblNldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uJGltcGxDbGFzc05hbWUu
X3NldCIpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gVjhET01XcmFwcGVy
Ojpsb29rdXBET01XcmFwcGVyKCR7Y2xhc3NOYW1lfTo6R2V0VGVtcGxhdGUoKSwgaW5mby5UaGlz
KCkpOworICAgIGlmIChob2xkZXIuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgJHtp
bXBsQ2xhc3NOYW1lfSogaW1wID0gJHtjbGFzc05hbWV9Ojp0b05hdGl2ZShob2xkZXIpOworICAg
IGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoQmluZGluZ1N0
YXRlOjppbnN0YW5jZSgpLCBpbXAtPmZyYW1lKCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBp
bmZvLlRoaXMoKS0+U2V0SGlkZGVuVmFsdWUobmFtZSwgdmFsdWUpOworfQorCitFTkQKK30KKwog
c3ViIEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIKIHsKICAgICBteSAkZGF0YU5vZGUgPSBzaGlm
dDsKQEAgLTIyNzcsMjUgKzIzMDQsMTQgQEAgc3ViIEdlbmVyYXRlTm9uU3RhbmRhcmRGdW5jdGlv
bgogCiAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tTZWN1cml0eSJ9ICYmCiAgICAgICAg
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5In0gfHwgJGlu
dGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpKSB7Ci0gICAgICAgICMgTWFyayB0aGUgYWNjZXNz
b3IgYXMgUmVhZE9ubHkgYW5kIHNldCBpdCBvbiB0aGUgcHJvdG8gb2JqZWN0IHNvCi0gICAgICAg
ICMgaXQgY2FuIGJlIHNoYWRvd2VkLiBUaGlzIGlzIHJlYWxseSBhIGhhY2sgdG8gbWFrZSBpdCB3
b3JrLgotICAgICAgICAjIFRoZXJlIGFyZSBzZXZlcmFsIHNjZW5lcmlhIHRvIGNhbGwgaW50byB0
aGUgYWNjZXNzb3I6Ci0gICAgICAgICMgICAxKSBmcm9tIHRoZSBzYW1lIGRvbWFpbjogIndpbmRv
dy5vcGVuIjoKLSAgICAgICAgIyAgICAgIHRoZSBhY2Nlc3NvciBmaW5kcyB0aGUgRE9NIHdyYXBw
ZXIgaW4gdGhlIHByb3RvIGNoYWluOwotICAgICAgICAjICAgMikgZnJvbSB0aGUgc2FtZSBkb21h
aW46ICJ3aW5kb3cuX19wcm90b19fLm9wZW4iOgotICAgICAgICAjICAgICAgdGhlIGFjY2Vzc29y
IHdpbGwgTk9UIGZpbmQgYSBET00gd3JhcHBlciBpbiB0aGUgcHJvdG90eXBlIGNoYWluCi0gICAg
ICAgICMgICAzKSBmcm9tIGFub3RoZXIgZG9tYWluOiAid2luZG93Lm9wZW4iOgotICAgICAgICAj
ICAgICAgdGhlIGFjY2VzcyBmaW5kIHRoZSBET00gd3JhcHBlciBpbiB0aGUgcHJvdG90eXBlIGNo
YWluCi0gICAgICAgICMgICAid2luZG93Ll9fcHJvdG9fXy5vcGVuIiBmcm9tIGFub3RoZXIgZG9t
YWluIHdpbGwgZmFpbCB3aGVuCi0gICAgICAgICMgICBhY2Nlc3NpbmcgJ19fcHJvdG9fXycKLSAg
ICAgICAgIwotICAgICAgICAjIFRoZSBzb2x1dGlvbiBpcyB2ZXJ5IGhhY2t5IGFuZCBmcmFnaWxl
LCBpdCByZWFsbHkgbmVlZHMgdG8gYmUgcmVwbGFjZWQKLSAgICAgICAgIyBieSBhIGJldHRlciBz
b2x1dGlvbi4KLSAgICAgICAgJHByb3BlcnR5X2F0dHJpYnV0ZXMgLj0gIiB8IHY4OjpSZWFkT25s
eSI7CisgICAgICAgICMgRnVuY3Rpb25zIHRoYXQgYXJlIG1hcmtlZCBEb05vdENoZWNrU2VjdXJp
dHkgYXJlIGFsd2F5cyByZWFkYWJsZSBidXQgaWYgdGhleSBhcmUgY2hhbmdlZAorICAgICAgICAj
IGFuZCB0aGVuIGFjY2Vzc2VkIG9uIGEgZGlmZmVyZW50IGRvbWFpbiB3ZSBkbyBub3QgcmV0dXJu
IHRoZSB1bmRlcmx5aW5nIHZhbHVlIGJ1dCBpbnN0ZWFkCisgICAgICAgICMgcmV0dXJuIGEgbmV3
IGNvcHkgb2YgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLiBUaGlzIGlzIGFjaGlldmVkIGJ5IHN0b3Jp
bmcgdGhlIGNoYW5nZWQgdmFsdWUKKyAgICAgICAgIyBhcyBoaWRkZW4gcHJvcGVydHkuCiAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CiAKICAgICAvLyAkY29tbWVudEluZm8KLSAg
ICAke2NvbmRpdGlvbmFsfSR0ZW1wbGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIk
bmFtZSIpLCAke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfUF0dHJHZXR0ZXIsIDAs
IHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JFQUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZT4oJHByb3BlcnR5X2F0dHJpYnV0ZXMpKTsKKyAgICAke2NvbmRpdGlvbmFsfSR0
ZW1wbGF0ZS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCIkbmFtZSIpLCAke2ludGVyZmFj
ZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfUF0dHJHZXR0ZXIsICR7aW50ZXJmYWNlTmFtZX1WOElu
dGVybmFsOjoke2ludGVyZmFjZU5hbWV9RG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyLCB2OFVuZGVm
aW5lZCgpLCB2ODo6QUxMX0NBTl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1
dGU+KCRwcm9wZXJ0eV9hdHRyaWJ1dGVzKSk7CiBFTkQKICAgICAgICAgcmV0dXJuOwogICAgIH0K
QEAgLTI2NDQsNiArMjY2MCw3IEBAIEVORAogICAgIG15ICRuYW1lZFByb3BlcnR5R2V0dGVyOwog
ICAgIG15IEBlbmFibGVkUGVyQ29udGV4dEZ1bmN0aW9uczsKICAgICBteSBAbm9ybWFsRnVuY3Rp
b25zOworICAgIG15ICRuZWVkc0RvbWFpblNhZmVGdW5jdGlvblNldHRlciA9IDA7CiAgICAgIyBH
ZW5lcmF0ZSBtZXRob2RzIGZvciBmdW5jdGlvbnMuCiAgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24g
KEB7JGRhdGFOb2RlLT5mdW5jdGlvbnN9KSB7CiAgICAgICAgIG15ICRpc0N1c3RvbSA9ICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tIn0gfHwgJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEN1c3RvbSJ9OwpAQCAtMjY2
OCw2ICsyNjg1LDcgQEAgRU5ECiAgICAgICAgIGlmICgoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9IHx8ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93
IikpICYmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RD
aGVja1NlY3VyaXR5In0pIHsKICAgICAgICAgICAgIGlmICghJGlzQ3VzdG9tIHx8ICRmdW5jdGlv
bi0+e292ZXJsb2FkSW5kZXh9ID09IDEpIHsKICAgICAgICAgICAgICAgICBHZW5lcmF0ZURvbWFp
blNhZmVGdW5jdGlvbkdldHRlcigkZnVuY3Rpb24sICRpbXBsQ2xhc3NOYW1lKTsKKyAgICAgICAg
ICAgICAgICAkbmVlZHNEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIgPSAxOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKQEAgLTI2NzksNiArMjY5NywxMCBAQCBFTkQKICAgICAgICAgfQogICAg
IH0KIAorICAgIGlmICgkbmVlZHNEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIpIHsKKyAgICAgICAg
R2VuZXJhdGVEb21haW5TYWZlRnVuY3Rpb25TZXR0ZXIoJGltcGxDbGFzc05hbWUpOworICAgIH0K
KwogICAgICMgQXR0cmlidXRlcwogICAgIG15ICRhdHRyaWJ1dGVzID0gJGRhdGFOb2RlLT5hdHRy
aWJ1dGVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDllYThlMGNl
ODMwODQxYmZjMjExZDU5MmFjYjBjYjA4MjQzZTRhMWUuLjUxMjFhNzI3ZTkwOTJjZTM5OGMzMjM0
ZGI1ZDM3MmI5Y2RkYjI2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBA
IC04Nyw5ICs4NywyNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBvc3RNZXNzYWdl
QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgYwogICAgICAgICBzdGF0aWMg
djg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHNoYXJlZFRlbXBsYXRlID0gdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+OjpOZXcodjg6OkZ1bmN0aW9uVGVtcGxh
dGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3NhZ2VDYWxsYmFj
aywgdjhVbmRlZmluZWQoKSwgdjg6OlNpZ25hdHVyZTo6TmV3KFY4VGVzdEFjdGl2ZURPTU9iamVj
dDo6R2V0UmF3VGVtcGxhdGUoKSkpKTsKICAgICAgICAgcmV0dXJuIHNoYXJlZFRlbXBsYXRlLT5H
ZXRGdW5jdGlvbigpOwogICAgIH0KKworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGhpZGRlblZh
bHVlID0gaW5mby5UaGlzKCktPkdldEhpZGRlblZhbHVlKG5hbWUpOworICAgIGlmICghaGlkZGVu
VmFsdWUuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gaGlkZGVuVmFsdWU7CisKICAgICByZXR1
cm4gcHJpdmF0ZVRlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogfQogCitzdGF0aWMgdm9pZCBUZXN0
QWN0aXZlRE9NT2JqZWN0RG9tYWluU2FmZUZ1bmN0aW9uU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29y
SW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0QWN0aXZlRE9NT2JqZWN0Ll9z
ZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IFY4RE9NV3JhcHBlcjo6
bG9va3VwRE9NV3JhcHBlcihWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRlKCksIGlu
Zm8uVGhpcygpKTsKKyAgICBpZiAoaG9sZGVyLklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIFRlc3RBY3RpdmVET01PYmplY3QqIGltcCA9IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6dG9O
YXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nl
c3NUb0ZyYW1lKEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSwgaW1wLT5mcmFtZSgpLCBSZXBvcnRT
ZWN1cml0eUVycm9yKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5mby5UaGlzKCktPlNldEhp
ZGRlblZhbHVlKG5hbWUsIHZhbHVlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2ZURP
TU9iamVjdFY4SW50ZXJuYWwKIAogc3RhdGljIGNvbnN0IEJhdGNoZWRBdHRyaWJ1dGUgVGVzdEFj
dGl2ZURPTU9iamVjdEF0dHJzW10gPSB7CkBAIC0xMTksNyArMTM3LDcgQEAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RBY3RpdmVET01P
YmplY3RUZW1wbGEKICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhjaXRpbmdGdW5j
dGlvbiIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RBY3RpdmVET01PYmplY3RWOElu
dGVybmFsOjpleGNpdGluZ0Z1bmN0aW9uQ2FsbGJhY2ssIHY4VW5kZWZpbmVkKCksIGV4Y2l0aW5n
RnVuY3Rpb25TaWduYXR1cmUpKTsKIAogICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScgKEV4
dEF0dHI6ICdEb05vdENoZWNrU2VjdXJpdHknKQotICAgIHByb3RvLT5TZXRBY2Nlc3Nvcih2ODo6
U3RyaW5nOjpOZXcoInBvc3RNZXNzYWdlIiksIFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFs
Ojpwb3N0TWVzc2FnZUF0dHJHZXR0ZXIsIDAsIHY4VW5kZWZpbmVkKCksIHY4OjpBTExfQ0FOX1JF
QUQsIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2
ODo6UmVhZE9ubHkpKTsKKyAgICBwcm90by0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KCJw
b3N0TWVzc2FnZSIpLCBUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6cG9zdE1lc3NhZ2VB
dHRyR2V0dGVyLCBUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6VGVzdEFjdGl2ZURPTU9i
amVjdERvbWFpblNhZmVGdW5jdGlvblNldHRlciwgdjhVbmRlZmluZWQoKSwgdjg6OkFMTF9DQU5f
UkVBRCwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSkp
OwogCiAgICAgLy8gQ3VzdG9tIHRvU3RyaW5nIHRlbXBsYXRlCiAgICAgZGVzYy0+U2V0KGdldFRv
U3RyaW5nTmFtZSgpLCBnZXRUb1N0cmluZ1RlbXBsYXRlKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>