<?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>13516</bug_id>
          
          <creation_ts>2007-04-26 19:45:32 -0700</creation_ts>
          <short_desc>Color is only reported in rgb() format; should toggle between rgb() and hex</short_desc>
          <delta_ts>2018-04-06 08:29:54 -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>Web Inspector (Deprecated)</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P4</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Davis">jond</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>abarth</cc>
    
    <cc>alfred</cc>
    
    <cc>boards</cc>
    
    <cc>joepeck</cc>
    
    <cc>jubal-webkit-20111123</cc>
    
    <cc>rik</cc>
    
    <cc>simon</cc>
    
    <cc>steelfu</cc>
    
    <cc>tannerhodges</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12234</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Davis">jond</who>
    <bug_when>2007-04-26 19:45:32 -0700</bug_when>
    <thetext>Colors in the Web Inspector are currently only shown in rgb() values.  To improve usability, the reported value should toggle between valid CSS color specifications - Hex notation and rgb().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12228</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2007-04-26 20:55:25 -0700</bug_when>
    <thetext>We should also allow HSL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68676</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-01-29 11:15:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/5712935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90963</commentid>
    <comment_count>3</comment_count>
    <who name="Steel Fu">steelfu</who>
    <bug_when>2008-09-12 13:26:16 -0700</bug_when>
    <thetext>Definitely want this. I have to popup firebug Firefox just to grab the color right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122220</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Litchfield">simon</who>
    <bug_when>2009-05-20 16:25:13 -0700</bug_when>
    <thetext>Very irritating... I&apos;m having to screen grab into photoshop to eye drop the colour right now. Firebug still has the edge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129761</commentid>
    <comment_count>5</comment_count>
    <who name="Jubal Kessler">jubal-webkit-20111123</who>
    <bug_when>2009-07-03 19:17:47 -0700</bug_when>
    <thetext>I was shocked when I found out that only rgb() is used. I&apos;d rather not have to open Firebug just to get at this. What Simon said.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137437</commentid>
    <comment_count>6</comment_count>
      <attachid>34175</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 14:26:20 -0700</bug_when>
    <thetext>Created attachment 34175
Click Through Color Representations

New WebInspector.Color allow for simple conversion of a color into its other representations.  Basic support for clicking the color&apos;s swatch and rotating through the color&apos;s different representations including all 140+ color nicknames.

Simple Colors: rgb, hsl, nickname, shorthex, hex
Advanced Colors: rgba, hsla, nickname

Video to be attached in a minute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137438</commentid>
    <comment_count>7</comment_count>
      <attachid>34176</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 14:27:12 -0700</bug_when>
    <thetext>Created attachment 34176
Sample Page to Test Different Colors

Sample Page which can be viewed in the inspector, with this patch, to experiment with rotating through color representations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137443</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 14:33:28 -0700</bug_when>
    <thetext>Video of Usage:
http://screencast.com/t/jrX1OaeTb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137444</commentid>
    <comment_count>9</comment_count>
    <who name="Steel Fu">steelfu</who>
    <bug_when>2009-08-05 14:38:14 -0700</bug_when>
    <thetext>Brilliant! Thank you Joseph!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137447</commentid>
    <comment_count>10</comment_count>
      <attachid>34175</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-08-05 14:42:55 -0700</bug_when>
    <thetext>Comment on attachment 34175
Click Through Color Representations

 78         if (typeof this._nickname !== undefined) // would be set on parse if there was a nickname

undefined should be &quot;undefined&quot;

 903                     function helper(newMode, content) {

Could this be named better?

 942                             (color.nickname) ? helper(&quot;nickname&quot;, color.toNickname()) : helper(&quot;rgba&quot;, color.toRgba());

This would read better as a if block I think.

Awesome work, as always! Just fix up those 3 minor thigs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137450</commentid>
    <comment_count>11</comment_count>
      <attachid>34179</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 14:58:59 -0700</bug_when>
    <thetext>Created attachment 34179
Fixed Based on Review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137452</commentid>
    <comment_count>12</comment_count>
      <attachid>34179</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-08-05 15:01:42 -0700</bug_when>
    <thetext>Comment on attachment 34179
Fixed Based on Review

Need a license for Color.js. With your name too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137453</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 15:02:21 -0700</bug_when>
    <thetext>&gt; undefined should be &quot;undefined&quot;

Done. Good Catch.

&gt; Could this be named better?

Done. Now named &quot;changeTo&quot;.

&gt; This would read better as a if block I think.

Done.


Also, I improved a parsing regex to sanitize better and treat &quot;hsla(0, 0%, 0%, 0)&quot; as a special advanced color with the nickname &quot;transparent&quot;.  Technically anything with 0 as the alpha should be transparent but even more technically the spec says &quot;rgba(0, 0, 0, 0)&quot; so I&apos;m leaving it as it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137454</commentid>
    <comment_count>14</comment_count>
      <attachid>34181</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 15:07:47 -0700</bug_when>
    <thetext>Created attachment 34181
Added License

Sorry about the confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137455</commentid>
    <comment_count>15</comment_count>
      <attachid>34182</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-08-05 15:12:51 -0700</bug_when>
    <thetext>Created attachment 34182
Added to the QRC File

Sorry about the spam!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137506</commentid>
    <comment_count>16</comment_count>
      <attachid>34182</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-05 20:27:32 -0700</bug_when>
    <thetext>Comment on attachment 34182
Added to the QRC File

Clearing review flag on attachment: 34182

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	A	WebCore/inspector/front-end/Color.js
	M	WebCore/inspector/front-end/StylesSidebarPane.js
	M	WebCore/inspector/front-end/WebKit.qrc
	M	WebCore/inspector/front-end/inspector.html
Committed r46828
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/StylesSidebarPane.js
	A	WebCore/inspector/front-end/Color.js
	M	WebCore/inspector/front-end/WebKit.qrc
	M	WebCore/inspector/front-end/inspector.html
r46828 = 1a752367db795583b5a349a40685940cb182c523 (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/46828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137507</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-05 20:27:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143994</commentid>
    <comment_count>18</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2009-09-01 13:57:45 -0700</bug_when>
    <thetext>I realize this has been closed... so apologies in advance. the new functionality is fabulous, however, could it remember which format i left it in and show the colors in that format in the future? having to click each time when i ALWAYS want hex is sub-optimal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143995</commentid>
    <comment_count>19</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-01 14:01:10 -0700</bug_when>
    <thetext>I was thinking the samre thing. Mind filing a new bug requesting that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143999</commentid>
    <comment_count>20</comment_count>
    <who name="mitch kramer">boards</who>
    <bug_when>2009-09-01 14:09:36 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; I was thinking the samre thing. Mind filing a new bug requesting that?

absolutely - filed as https://bugs.webkit.org/show_bug.cgi?id=28889</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213611</commentid>
    <comment_count>21</comment_count>
    <who name="Alfred Morgan">alfred</who>
    <bug_when>2010-04-17 10:10:30 -0700</bug_when>
    <thetext>I don&apos;t understand.  I think your rotating of color formats is great but when I see a color swatch and I click on it I would expect a color picker to pop up.  Is there a reason why this isn&apos;t the case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213614</commentid>
    <comment_count>22</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-04-17 10:27:54 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; I don&apos;t understand.  I think your rotating of color formats is great but when I
&gt; see a color swatch and I click on it I would expect a color picker to pop up. 
&gt; Is there a reason why this isn&apos;t the case?

Alred, you can use the Style&apos;s Gear Menu to toggle between color representations (rgb, hex, hsl). However, if a color has a nickname it will stay that nickname (such as &quot;black&quot;) it will stay that value.

A color picker will most likely be integrated into the Web Inspector once support for a &lt;input type=&quot;color&quot;&gt; UI is implemented. See bug 29358 tracking progress for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213615</commentid>
    <comment_count>23</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-04-17 10:28:35 -0700</bug_when>
    <thetext>&gt; Alred

Sorry! That should be Alfred!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34175</attachid>
            <date>2009-08-05 14:26:20 -0700</date>
            <delta_ts>2009-08-05 14:58:59 -0700</delta_ts>
            <desc>Click Through Color Representations</desc>
            <filename>color_support.patch</filename>
            <type>text/plain</type>
            <size>29855</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Zjc3YzY3OS4uMGE5Yjc2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAwOS0wOC0wNSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2xvciBpcyBvbmx5IHJlcG9ydGVkIGluIHJnYigpIGZvcm1h
dDsgc2hvdWxkIHRvZ2dsZSBiZXR3ZWVuIHJnYigpIGFuZCBoZXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTE2CisKKyAgICAgICAgICBOZXcgQ2xh
c3MgdG8gUGFyc2UgYW5kIENoYW5nZSBCZXR3ZWVuIENvbG9yIFJlcHJlc2VudGF0aW9uczoKKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanM6IEFkZGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbG9yKToKKworICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyBvZiBDb2xv
cnMgaW4gUmF3IEZvcm0uIChNYXkgYmUgTGF6eSBMb2FkZWQpOgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBzaG9ydGhleCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLmdldCBoZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9y
LnByb3RvdHlwZS5zZXQgaGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5
cGUuZ2V0IHJnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBy
Z2IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5nZXQgaHNsKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuc2V0IGhzbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCByZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUuc2V0IHJnYmEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnBy
b3RvdHlwZS5nZXQgaHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBl
LnNldCBoc2xhKToKKworICAgICAgICAgIEhlbHBlcnMgYW5kIFN0YW5kYXJkIFN0cmluZyBSZXBy
ZXNlbnRhdGlvbnM6CisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuaGFz
U2hvcnRIZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS50b1JnYik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSHNsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9TaG9ydEhleCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUudG9SZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90
b3R5cGUudG9Ic2xhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9O
aWNrbmFtZSk6CisKKyAgICAgICAgICBDb252ZXJzaW9uIEZ1bmN0aW9ucyB0byBEZXRlcm1pbmUg
T3RoZXIgUmVwcmVzZW50YXRpb25zOgorICAgICAgICAgIE15IFNvdXJjZXMgZm9yIGFsbCBhbGdv
cml0aG1zIGFuZCBzYW1wbGUgZGF0YToKKyAgICAgICAgICBXaWtpcGVkaWE6IGh0dHA6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvSFNWX2NvbG9yX3NwYWNlCisgICAgICAgICAgQ1NTIFNwZWNpZmlj
YXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvI2hzbGEtY29sb3IKKworICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5yZ2JUb0hleCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmhleFRvUmdiKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2xvci5wcm90b3R5cGUucmdiVG9Ic2wpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bG9yLnByb3RvdHlwZS5oc2xUb1JnYi5odWVUb1JnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29sb3IucHJvdG90eXBlLmhzbFRvUmdiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5w
cm90b3R5cGUucmdiYVRvSHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90
eXBlLmhzbGFUb1JnYmEpOgorCisgICAgICAgICAgQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9y
LCBhdHRlbXB0cyB0byBwYXJzZSBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvcgorICAgICAgICAgIGlm
IGl0IGNhbm5vdCBwYXJzZS4gIElmIHNpbXBsZSB0aGVuIHRoZSAiaGV4IiB2YWx1ZSBpcyBndWFy
ZW50ZWVkLgorICAgICAgICAgIElmIGFkdmFuY2VkIHRoZW4gYm90aCB0aGUgInJnYmEiIGFuZCAi
aHNsYSIgYXJlIGd1YXJlbnRlZWQuICBJZiBpdCBpcworICAgICAgICAgIGEgbmlja25hbWUgaW4g
YW55IHdheSAoZS5nLiAidHJhbnNwYXJlbnQiLCAiYmxhY2siKSB0aGVuIHRoaXMgaXMKKyAgICAg
ICAgICBndWFyZW50ZWVkIHRvIGJlIHNldCBhcyB3ZWxsLgorCisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLnBhcnNlKToKKworICAgICAgICAgIENsaWNraW5nIG9uIHRoZSBz
d2F0Y2ggd2lsbCByb3RhdGUgdGhyb3VnaCBDb2xvciBSZXByZXNlbnRhdGlvbnMuCisgICAgICAg
ICAgICBTaW1wbGU6ICAgcmdiIC0+IGhzbCAtPiBuaWNrbmFtZT8gLT4gc2hvcnRoZXg/IC0+IGhl
eCAtPiAobG9vcCBhcm91bmQpCisgICAgICAgICAgICBBZHZhbmNlZDogcmdiYSAtPiBoc2xhIC0+
IG5pY2tuYW1lPyAtPiAobG9vcCBhcm91bmQpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlVGl0bGUudmFsdWUuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVRp
dGxlKToKKworICAgICAgICAgIExvYWQgQ29sb3IuanM6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDA5LTA4LTAzICBKb3NlcGggUGVjb3Jhcm8g
IDxqb2VwZWNrMDJAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZGJmZTk0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC0wLDAgKzEsNjQ2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEpvc2VwaCBQZWNvcmFybworICovCisKK1dlYkluc3BlY3Rvci5Db2xvciA9
IGZ1bmN0aW9uKHN0cikKK3sKKyAgICB0aGlzLnZhbHVlID0gc3RyOworICAgIHRoaXMucGFyc2Uo
KTsKK30KKworV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZSA9IHsKKyAgICBnZXQgc2hvcnRo
ZXgoKQorICAgIHsKKyAgICAgICAgaWYgKCJfc2hvcnQiIGluIHRoaXMpCisgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc2hvcnQ7CisKKyAgICAgICAgaWYgKCF0aGlzLnNpbXBsZSkKKyAgICAgICAg
ICAgIHJldHVybiBudWxsOworCisgICAgICAgIHZhciBoZXggPSB0aGlzLmhleDsKKyAgICAgICAg
aWYgKGhleC5jaGFyQXQoMCkgPT09IGhleC5jaGFyQXQoMSkgJiYgaGV4LmNoYXJBdCgyKSA9PT0g
aGV4LmNoYXJBdCgzKSAmJiBoZXguY2hhckF0KDQpID09PSBoZXguY2hhckF0KDUpKQorICAgICAg
ICAgICAgdGhpcy5fc2hvcnQgPSBoZXguY2hhckF0KDApICsgaGV4LmNoYXJBdCgyKSArIGhleC5j
aGFyQXQoNCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3Nob3J0ID0gaGV4Owor
CisgICAgICAgIHJldHVybiB0aGlzLl9zaG9ydDsKKyAgICB9LAorCisgICAgZ2V0IGhleCgpCisg
ICAgeworICAgICAgICBpZiAoIXRoaXMuc2ltcGxlKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7
CisKKyAgICAgICAgcmV0dXJuIHRoaXMuX2hleDsKKyAgICB9LAorCisgICAgc2V0IGhleCh4KQor
ICAgIHsKKyAgICAgICAgdGhpcy5faGV4ID0geDsKKyAgICB9LAorCisgICAgZ2V0IHJnYigpCisg
ICAgeworICAgICAgICBpZiAoIl9yZ2IiIGluIHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdGhp
cy5fcmdiOworCisgICAgICAgIGlmICh0aGlzLnNpbXBsZSkKKyAgICAgICAgICAgIHRoaXMuX3Jn
YiA9IHRoaXMuaGV4VG9SZ2IodGhpcy5oZXgpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IHZhciByZ2JhID0gdGhpcy5yZ2JhOworICAgICAgICAgICAgdGhpcy5fcmdiID0gW3JnYmFbMF0s
IHJnYmFbMV0sIHJnYmFbMl1dOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Jn
YjsKKyAgICB9LAorCisgICAgc2V0IHJnYih4KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmdiID0g
eDsKKyAgICB9LAorCisgICAgZ2V0IGhzbCgpCisgICAgeworICAgICAgICBpZiAoIl9oc2wiIGlu
IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5faHNsOworCisgICAgICAgIHRoaXMuX2hz
bCA9IHRoaXMucmdiVG9Ic2wodGhpcy5yZ2IpOworICAgICAgICByZXR1cm4gdGhpcy5faHNsOwor
ICAgIH0sCisKKyAgICBzZXQgaHNsKHgpCisgICAgeworICAgICAgICB0aGlzLl9oc2wgPSB4Owor
ICAgIH0sCisKKyAgICBnZXQgbmlja25hbWUoKQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiB0
aGlzLl9uaWNrbmFtZSAhPT0gdW5kZWZpbmVkKSAvLyB3b3VsZCBiZSBzZXQgb24gcGFyc2UgaWYg
dGhlcmUgd2FzIGEgbmlja25hbWUKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9uaWNrbmFtZTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfSwKKworICAgIHNl
dCBuaWNrbmFtZSh4KQorICAgIHsKKyAgICAgICAgdGhpcy5fbmlja25hbWUgPSB4OworICAgIH0s
CisKKyAgICBnZXQgcmdiYSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcmdiYTsKKyAg
ICB9LAorCisgICAgc2V0IHJnYmEoeCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JnYmEgPSB4Owor
ICAgIH0sCisKKyAgICBnZXQgaHNsYSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5faHNs
YTsKKyAgICB9LAorCisgICAgc2V0IGhzbGEoeCkKKyAgICB7CisgICAgICAgIHRoaXMuX2hzbGEg
PSB4OworICAgIH0sCisKKyAgICBoYXNTaG9ydEhleDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgdmFyIHNob3J0aGV4ID0gdGhpcy5zaG9ydGhleDsKKyAgICAgICAgcmV0dXJuIChzaG9ydGhl
eCAmJiBzaG9ydGhleC5sZW5ndGggPT09IDMpOworICAgIH0sCisKKyAgICB0b1JnYjogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuICJyZ2IoIiArIHRoaXMucmdiLmpvaW4oIiwgIikg
KyAiKSI7CisgICAgfSwKKworICAgIHRvSHNsOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2
YXIgaHNsID0gdGhpcy5oc2w7CisgICAgICAgIHJldHVybiAiaHNsKCIgKyBoc2xbMF0gKyAiLCAi
ICsgaHNsWzFdICsgIiUsICIgKyBoc2xbMl0gKyAiJSkiOworICAgIH0sCisKKyAgICB0b1Nob3J0
SGV4OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gIiMiICsgdGhpcy5zaG9ydGhl
eDsKKyAgICB9LAorCisgICAgdG9IZXg6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVy
biAiIyIgKyB0aGlzLmhleDsKKyAgICB9LAorCisgICAgdG9SZ2JhOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICByZXR1cm4gInJnYmEoIiArIHRoaXMucmdiYS5qb2luKCIsICIpICsgIikiOwor
ICAgIH0sCisKKyAgICB0b0hzbGE6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBoc2xh
ID0gdGhpcy5oc2xhOworICAgICAgICByZXR1cm4gImhzbGEoIiArIGhzbGFbMF0gKyAiLCAiICsg
aHNsYVsxXSArICIlLCAiICsgaHNsYVsyXSArICIlLCAiICsgaHNsYVszXSArICIpIjsKKyAgICB9
LAorCisgICAgdG9OaWNrbmFtZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMubmlja25hbWU7CisgICAgfSwKKworICAgIHJnYlRvSGV4OiBmdW5jdGlvbihyZ2IpCisgICAg
eworICAgICAgICB2YXIgciA9IHBhcnNlSW50KHJnYlswXSkudG9TdHJpbmcoMTYpOworICAgICAg
ICB2YXIgZyA9IHBhcnNlSW50KHJnYlsxXSkudG9TdHJpbmcoMTYpOworICAgICAgICB2YXIgYiA9
IHBhcnNlSW50KHJnYlsyXSkudG9TdHJpbmcoMTYpOworICAgICAgICBpZiAoci5sZW5ndGggPT09
IDEpCisgICAgICAgICAgICByID0gIjAiICsgcjsKKyAgICAgICAgaWYgKGcubGVuZ3RoID09PSAx
KQorICAgICAgICAgICAgZyA9ICIwIiArIGc7CisgICAgICAgIGlmIChiLmxlbmd0aCA9PT0gMSkK
KyAgICAgICAgICAgIGIgPSAiMCIgKyBiOworCisgICAgICAgIHJldHVybiAociArIGcgKyBiKS50
b1VwcGVyQ2FzZSgpOworICAgIH0sCisKKyAgICBoZXhUb1JnYjogZnVuY3Rpb24oaGV4KQorICAg
IHsKKyAgICAgICAgdmFyIHIgPSBwYXJzZUludChoZXguc3Vic3RyaW5nKDAsMiksIDE2KTsKKyAg
ICAgICAgdmFyIGcgPSBwYXJzZUludChoZXguc3Vic3RyaW5nKDIsNCksIDE2KTsKKyAgICAgICAg
dmFyIGIgPSBwYXJzZUludChoZXguc3Vic3RyaW5nKDQsNiksIDE2KTsKKworICAgICAgICByZXR1
cm4gW3IsIGcsIGJdOworICAgIH0sCisKKyAgICByZ2JUb0hzbDogZnVuY3Rpb24ocmdiKQorICAg
IHsKKyAgICAgICAgdmFyIHIgPSBwYXJzZUludChyZ2JbMF0pIC8gMjU1OworICAgICAgICB2YXIg
ZyA9IHBhcnNlSW50KHJnYlsxXSkgLyAyNTU7CisgICAgICAgIHZhciBiID0gcGFyc2VJbnQocmdi
WzJdKSAvIDI1NTsKKyAgICAgICAgdmFyIG1heCA9IE1hdGgubWF4KHIsIGcsIGIpOworICAgICAg
ICB2YXIgbWluID0gTWF0aC5taW4ociwgZywgYik7CisgICAgICAgIHZhciBkaWZmID0gbWF4IC0g
bWluOworICAgICAgICB2YXIgYWRkID0gbWF4ICsgbWluOworCisgICAgICAgIGlmIChtaW4gPT09
IG1heCkKKyAgICAgICAgICAgIHZhciBoID0gMDsKKyAgICAgICAgZWxzZSBpZiAociA9PT0gbWF4
KQorICAgICAgICAgICAgdmFyIGggPSAoKDYwICogKGcgLSBiKSAvIGRpZmYpICsgMzYwKSAlIDM2
MDsKKyAgICAgICAgZWxzZSBpZiAoZyA9PT0gbWF4KQorICAgICAgICAgICAgdmFyIGggPSAoNjAg
KiAoYiAtIHIpIC8gZGlmZikgKyAxMjA7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZhciBo
ID0gKDYwICogKHIgLSBnKSAvIGRpZmYpICsgMjQwOworCisgICAgICAgIHZhciBsID0gMC41ICog
YWRkOworCisgICAgICAgIGlmIChsID09PSAwKQorICAgICAgICAgICAgdmFyIHMgPSAwOworICAg
ICAgICBlbHNlIGlmIChsID09PSAxKQorICAgICAgICAgICAgdmFyIHMgPSAxOworICAgICAgICBl
bHNlIGlmIChsIDw9IDAuNSkKKyAgICAgICAgICAgIHZhciBzID0gZGlmZiAvIGFkZDsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdmFyIHMgPSBkaWZmIC8gKDIgLSBhZGQpOworCisgICAgICAg
IGggPSBNYXRoLnJvdW5kKGgpOworICAgICAgICBzID0gTWF0aC5yb3VuZChzKjEwMCk7CisgICAg
ICAgIGwgPSBNYXRoLnJvdW5kKGwqMTAwKTsKKworICAgICAgICByZXR1cm4gW2gsIHMsIGxdOwor
ICAgIH0sCisKKyAgICBoc2xUb1JnYjogZnVuY3Rpb24oaHNsKQorICAgIHsKKyAgICAgICAgdmFy
IGggPSBwYXJzZUZsb2F0KGhzbFswXSkgLyAzNjA7CisgICAgICAgIHZhciBzID0gcGFyc2VGbG9h
dChoc2xbMV0pIC8gMTAwOworICAgICAgICB2YXIgbCA9IHBhcnNlRmxvYXQoaHNsWzJdKSAvIDEw
MDsKKworICAgICAgICBpZiAobCA8PSAwLjUpCisgICAgICAgICAgICB2YXIgcSA9IGwgKiAoMSAr
IHMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YXIgcSA9IGwgKyBzIC0gKGwgKiBzKTsK
KworICAgICAgICB2YXIgcCA9IDIgKiBsIC0gcTsKKworICAgICAgICB2YXIgdHIgPSBoICsgKDEg
LyAzKTsKKyAgICAgICAgdmFyIHRnID0gaDsKKyAgICAgICAgdmFyIHRiID0gaCAtICgxIC8gMyk7
CisKKyAgICAgICAgdmFyIHIgPSBNYXRoLnJvdW5kKGh1ZVRvUmdiKHAsIHEsIHRyKSAqIDI1NSk7
CisgICAgICAgIHZhciBnID0gTWF0aC5yb3VuZChodWVUb1JnYihwLCBxLCB0ZykgKiAyNTUpOwor
ICAgICAgICB2YXIgYiA9IE1hdGgucm91bmQoaHVlVG9SZ2IocCwgcSwgdGIpICogMjU1KTsKKyAg
ICAgICAgcmV0dXJuIFtyLCBnLCBiXTsKKworICAgICAgICBmdW5jdGlvbiBodWVUb1JnYihwLCBx
LCBoKSB7CisgICAgICAgICAgICBpZiAoaCA8IDApCisgICAgICAgICAgICAgICAgaCArPSAxOwor
ICAgICAgICAgICAgZWxzZSBpZiAoaCA+IDEpCisgICAgICAgICAgICAgICAgaCAtPSAxOworCisg
ICAgICAgICAgICBpZiAoKGggKiA2KSA8IDEpCisgICAgICAgICAgICAgICAgcmV0dXJuIHAgKyAo
cSAtIHApICogaCAqIDY7CisgICAgICAgICAgICBlbHNlIGlmICgoaCAqIDIpIDwgMSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gcTsKKyAgICAgICAgICAgIGVsc2UgaWYgKChoICogMykgPCAyKQor
ICAgICAgICAgICAgICAgIHJldHVybiBwICsgKHEgLSBwKSAqICgoMiAvIDMpIC0gaCkgKiA2Owor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9Cisg
ICAgfSwKKworICAgIHJnYmFUb0hzbGE6IGZ1bmN0aW9uKHJnYmEpCisgICAgeworICAgICAgICB2
YXIgYWxwaGEgPSByZ2JhWzNdOworICAgICAgICB2YXIgaHNsID0gdGhpcy5yZ2JUb0hzbChyZ2Jh
KQorICAgICAgICBoc2wucHVzaChhbHBoYSk7CisgICAgICAgIHJldHVybiBoc2w7CisgICAgfSwK
KworICAgIGhzbGFUb1JnYmE6IGZ1bmN0aW9uKGhzbGEpCisgICAgeworICAgICAgICB2YXIgYWxw
aGEgPSBoc2xhWzNdOworICAgICAgICB2YXIgcmdiID0gdGhpcy5oc2xUb1JnYihoc2xhKTsKKyAg
ICAgICAgcmdiLnB1c2goYWxwaGEpOworICAgICAgICByZXR1cm4gcmdiOworICAgIH0sCisKKyAg
ICBwYXJzZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgLy8gU3BlY2lhbCBWYWx1ZXMgLSBB
ZHZhbmNlZCBidXQgTXVzdCBCZSBQYXJzZWQgRmlyc3QgLSB0cmFuc3BhcmVudAorICAgICAgICB2
YXIgdmFsdWUgPSB0aGlzLnZhbHVlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrLywgIiIpOwor
ICAgICAgICBpZiAodmFsdWUgaW4gV2ViSW5zcGVjdG9yLkNvbG9yLkFkdmFuY2VkTmlja05hbWVz
KSB7CisgICAgICAgICAgICB0aGlzLm1vZGUgPSAibmlja25hbWUiOworICAgICAgICAgICAgdmFy
IHNldCA9IFdlYkluc3BlY3Rvci5Db2xvci5BZHZhbmNlZE5pY2tOYW1lc1t2YWx1ZV07CisgICAg
ICAgICAgICB0aGlzLnNpbXBsZSA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5yZ2JhID0gc2V0
WzBdOworICAgICAgICAgICAgdGhpcy5oc2xhID0gc2V0WzFdOworICAgICAgICAgICAgdGhpcy5u
aWNrbmFtZSA9IHNldFsyXTsKKyAgICAgICAgICAgIHRoaXMuYWxwaGEgPSBzZXRbMF1bM107Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBTaW1wbGUgLSAjaGV4
LCByZ2IoKSwgbmlja25hbWUsIGhzbCgpCisgICAgICAgIHZhciBzaW1wbGUgPSAvXig/OiMoWzAt
OWEtZl17Myw2fSl8cmdiXCgoW14pXSspXCl8KFx3Kyl8aHNsXCgoW14pXSspXCkpJC9pOworICAg
ICAgICB2YXIgbWF0Y2ggPSB0aGlzLnZhbHVlLm1hdGNoKHNpbXBsZSk7CisgICAgICAgIGlmICht
YXRjaCkgeworICAgICAgICAgICAgdGhpcy5zaW1wbGUgPSB0cnVlOworCisgICAgICAgICAgICBp
ZiAobWF0Y2hbMV0pIHsgLy8gaGV4CisgICAgICAgICAgICAgICAgdmFyIGhleCA9IG1hdGNoWzFd
LnRvVXBwZXJDYXNlKCk7CisgICAgICAgICAgICAgICAgaWYgKGhleC5sZW5ndGggPT09IDMpIHsK
KyAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gInNob3J0aGV4IjsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5oZXggPSBoZXguY2hhckF0KDApICsgaGV4LmNoYXJBdCgwKSArIGhleC5j
aGFyQXQoMSkgKyBoZXguY2hhckF0KDEpICsgaGV4LmNoYXJBdCgyKSArIGhleC5jaGFyQXQoMik7
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2Rl
ID0gImhleCI7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuaGV4ID0gaGV4OworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2hbMl0pIHsgLy8gcmdiCisgICAg
ICAgICAgICAgICAgdGhpcy5tb2RlID0gInJnYiI7CisgICAgICAgICAgICAgICAgdmFyIHJnYiA9
IG1hdGNoWzJdLnNwbGl0KC9ccyosXHMqLyk7CisgICAgICAgICAgICAgICAgdGhpcy5yZ2IgPSBy
Z2I7CisgICAgICAgICAgICAgICAgdGhpcy5oZXggPSB0aGlzLnJnYlRvSGV4KHJnYik7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKG1hdGNoWzNdKSB7IC8vIG5pY2tuYW1lCisgICAgICAgICAgICAg
ICAgdmFyIG5pY2tuYW1lID0gbWF0Y2hbM10udG9Mb3dlckNhc2UoKTsKKyAgICAgICAgICAgICAg
ICBpZiAobmlja25hbWUgaW4gV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcykgeworICAgICAg
ICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAibmlja25hbWUiOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLmhleCA9IFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXNbbmlja25hbWVdOworICAg
ICAgICAgICAgICAgIH0gZWxzZSAvLyB1bmtub3duIG5hbWUKKyAgICAgICAgICAgICAgICAgICAg
dGhyb3coInVua25vd24gY29sb3IgbmFtZSIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRj
aFs0XSkgeyAvLyBoc2wKKyAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAiaHNsIjsKKyAgICAg
ICAgICAgICAgICB2YXIgaHNsID0gbWF0Y2hbNF0ucmVwbGFjZSgvJWcvLCAiIikuc3BsaXQoL1xz
KixccyovKTsKKyAgICAgICAgICAgICAgICB0aGlzLmhzbCA9IGhzbDsKKyAgICAgICAgICAgICAg
ICB0aGlzLnJnYiA9IHRoaXMuaHNsVG9SZ2IoaHNsKTsKKyAgICAgICAgICAgICAgICB0aGlzLmhl
eCA9IHRoaXMucmdiVG9IZXgodGhpcy5yZ2IpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAvLyBGaWxsIGluIHRoZSB2YWx1ZXMgaWYgdGhpcyBpcyBhIGtub3duIGhleCBjb2xvcgorICAg
ICAgICAgICAgdmFyIGhleCA9IHRoaXMuaGV4OworICAgICAgICAgICAgaWYgKGhleCAmJiBoZXgg
aW4gV2ViSW5zcGVjdG9yLkNvbG9yLkhleFRhYmxlKSB7CisgICAgICAgICAgICAgICAgdmFyIHNl
dCA9IFdlYkluc3BlY3Rvci5Db2xvci5IZXhUYWJsZVtoZXhdOworICAgICAgICAgICAgICAgIHRo
aXMucmdiID0gc2V0WzBdOworICAgICAgICAgICAgICAgIHRoaXMuaHNsID0gc2V0WzFdOworICAg
ICAgICAgICAgICAgIHRoaXMubmlja25hbWUgPSBzZXRbMl07CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEFkdmFuY2VkIC0gcmdi
YSgpLCBoc2xhKCkKKyAgICAgICAgdmFyIGFkdmFuY2VkID0gL14oPzpyZ2JhXCgoW14pXSspXCl8
aHNsYVwoKFteKV0rKVwpKSQvOworICAgICAgICBtYXRjaCA9IHRoaXMudmFsdWUubWF0Y2goYWR2
YW5jZWQpOworICAgICAgICBpZiAobWF0Y2gpIHsKKyAgICAgICAgICAgIHRoaXMuc2ltcGxlID0g
ZmFsc2U7CisgICAgICAgICAgICBpZiAobWF0Y2hbMV0pIHsgLy8gcmdiYQorICAgICAgICAgICAg
ICAgIHRoaXMubW9kZSA9ICJyZ2JhIjsKKyAgICAgICAgICAgICAgICB0aGlzLnJnYmEgPSBtYXRj
aFsxXS5zcGxpdCgvXHMqLFxzKi8pOworICAgICAgICAgICAgICAgIHRoaXMuaHNsYSA9IHRoaXMu
cmdiYVRvSHNsYSh0aGlzLnJnYmEpOworICAgICAgICAgICAgICAgIHRoaXMuYWxwaGEgPSB0aGlz
LnJnYmFbM107CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoWzJdKSB7IC8vIGhzbGEKKyAg
ICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAiaHNsYSI7CisgICAgICAgICAgICAgICAgdGhpcy5o
c2xhID0gbWF0Y2hbMl0ucmVwbGFjZSgvJS9nLCAiIikuc3BsaXQoL1xzKixccyovKTsKKyAgICAg
ICAgICAgICAgICB0aGlzLnJnYmEgPSB0aGlzLmhzbGFUb1JnYmEodGhpcy5oc2xhKTsKKyAgICAg
ICAgICAgICAgICB0aGlzLmFscGhhID0gdGhpcy5oc2xhWzNdOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBDb3VsZCBub3QgcGFy
c2UgYXMgYSB2YWxpZCBjb2xvcgorICAgICAgICB0aHJvdygiY291bGQgbm90IHBhcnNlIGNvbG9y
Iik7CisgICAgfQorfQorCisvLyBTaW1wbGUgVmFsdWVzOiBbcmdiLCBoc2wsIG5pY2tuYW1lXQor
V2ViSW5zcGVjdG9yLkNvbG9yLkhleFRhYmxlID0geworICAgICIwMDAwMDAiOiBbWzAsIDAsIDBd
LCBbMCwgMCwgMF0sICJibGFjayJdLAorICAgICIwMDAwODAiOiBbWzAsIDAsIDEyOF0sIFsyNDAs
IDEwMCwgMjVdLCAibmF2eSJdLAorICAgICIwMDAwOEIiOiBbWzAsIDAsIDEzOV0sIFsyNDAsIDEw
MCwgMjddLCAiZGFya0JsdWUiXSwKKyAgICAiMDAwMENEIjogW1swLCAwLCAyMDVdLCBbMjQwLCAx
MDAsIDQwXSwgIm1lZGl1bUJsdWUiXSwKKyAgICAiMDAwMEZGIjogW1swLCAwLCAyNTVdLCBbMjQw
LCAxMDAsIDUwXSwgImJsdWUiXSwKKyAgICAiMDA2NDAwIjogW1swLCAxMDAsIDBdLCBbMTIwLCAx
MDAsIDIwXSwgImRhcmtHcmVlbiJdLAorICAgICIwMDgwMDAiOiBbWzAsIDEyOCwgMF0sIFsxMjAs
IDEwMCwgMjVdLCAiZ3JlZW4iXSwKKyAgICAiMDA4MDgwIjogW1swLCAxMjgsIDEyOF0sIFsxODAs
IDEwMCwgMjVdLCAidGVhbCJdLAorICAgICIwMDhCOEIiOiBbWzAsIDEzOSwgMTM5XSwgWzE4MCwg
MTAwLCAyN10sICJkYXJrQ3lhbiJdLAorICAgICIwMEJGRkYiOiBbWzAsIDE5MSwgMjU1XSwgWzE5
NSwgMTAwLCA1MF0sICJkZWVwU2t5Qmx1ZSJdLAorICAgICIwMENFRDEiOiBbWzAsIDIwNiwgMjA5
XSwgWzE4MSwgMTAwLCA0MV0sICJkYXJrVHVycXVvaXNlIl0sCisgICAgIjAwRkE5QSI6IFtbMCwg
MjUwLCAxNTRdLCBbMTU3LCAxMDAsIDQ5XSwgIm1lZGl1bVNwcmluZ0dyZWVuIl0sCisgICAgIjAw
RkYwMCI6IFtbMCwgMjU1LCAwXSwgWzEyMCwgMTAwLCA1MF0sICJsaW1lIl0sCisgICAgIjAwRkY3
RiI6IFtbMCwgMjU1LCAxMjddLCBbMTUwLCAxMDAsIDUwXSwgInNwcmluZ0dyZWVuIl0sCisgICAg
IjAwRkZGRiI6IFtbMCwgMjU1LCAyNTVdLCBbMTgwLCAxMDAsIDUwXSwgImN5YW4iXSwKKyAgICAi
MTkxOTcwIjogW1syNSwgMjUsIDExMl0sIFsyNDAsIDY0LCAyN10sICJtaWRuaWdodEJsdWUiXSwK
KyAgICAiMUU5MEZGIjogW1szMCwgMTQ0LCAyNTVdLCBbMjEwLCAxMDAsIDU2XSwgImRvZGdlckJs
dWUiXSwKKyAgICAiMjBCMkFBIjogW1szMiwgMTc4LCAxNzBdLCBbMTc3LCA3MCwgNDFdLCAibGln
aHRTZWFHcmVlbiJdLAorICAgICIyMjhCMjIiOiBbWzM0LCAxMzksIDM0XSwgWzEyMCwgNjEsIDM0
XSwgImZvcmVzdEdyZWVuIl0sCisgICAgIjJFOEI1NyI6IFtbNDYsIDEzOSwgODddLCBbMTQ2LCA1
MCwgMzZdLCAic2VhR3JlZW4iXSwKKyAgICAiMkY0RjRGIjogW1s0NywgNzksIDc5XSwgWzE4MCwg
MjUsIDI1XSwgImRhcmtTbGF0ZUdyYXkiXSwKKyAgICAiMzJDRDMyIjogW1s1MCwgMjA1LCA1MF0s
IFsxMjAsIDYxLCA1MF0sICJsaW1lR3JlZW4iXSwKKyAgICAiM0NCMzcxIjogW1s2MCwgMTc5LCAx
MTNdLCBbMTQ3LCA1MCwgNDddLCAibWVkaXVtU2VhR3JlZW4iXSwKKyAgICAiNDBFMEQwIjogW1s2
NCwgMjI0LCAyMDhdLCBbMTc0LCA3MiwgNTZdLCAidHVycXVvaXNlIl0sCisgICAgIjQxNjlFMSI6
IFtbNjUsIDEwNSwgMjI1XSwgWzIyNSwgNzMsIDU3XSwgInJveWFsQmx1ZSJdLAorICAgICI0Njgy
QjQiOiBbWzcwLCAxMzAsIDE4MF0sIFsyMDcsIDQ0LCA0OV0sICJzdGVlbEJsdWUiXSwKKyAgICAi
NDgzRDhCIjogW1s3MiwgNjEsIDEzOV0sIFsyNDgsIDM5LCAzOV0sICJkYXJrU2xhdGVCbHVlIl0s
CisgICAgIjQ4RDFDQyI6IFtbNzIsIDIwOSwgMjA0XSwgWzE3OCwgNjAsIDU1XSwgIm1lZGl1bVR1
cnF1b2lzZSJdLAorICAgICI0QjAwODIiOiBbWzc1LCAwLCAxMzBdLCBbMjc1LCAxMDAsIDI1XSwg
ImluZGlnbyJdLAorICAgICI1NTZCMkYiOiBbWzg1LCAxMDcsIDQ3XSwgWzgyLCAzOSwgMzBdLCAi
ZGFya09saXZlR3JlZW4iXSwKKyAgICAiNUY5RUEwIjogW1s5NSwgMTU4LCAxNjBdLCBbMTgyLCAy
NSwgNTBdLCAiY2FkZXRCbHVlIl0sCisgICAgIjY0OTVFRCI6IFtbMTAwLCAxNDksIDIzN10sIFsy
MTksIDc5LCA2Nl0sICJjb3JuZmxvd2VyQmx1ZSJdLAorICAgICI2NkNEQUEiOiBbWzEwMiwgMjA1
LCAxNzBdLCBbMTYwLCA1MSwgNjBdLCAibWVkaXVtQXF1YU1hcmluZSJdLAorICAgICI2OTY5Njki
OiBbWzEwNSwgMTA1LCAxMDVdLCBbMCwgMCwgNDFdLCAiZGltR3JheSJdLAorICAgICI2QTVBQ0Qi
OiBbWzEwNiwgOTAsIDIwNV0sIFsyNDgsIDUzLCA1OF0sICJzbGF0ZUJsdWUiXSwKKyAgICAiNkI4
RTIzIjogW1sxMDcsIDE0MiwgMzVdLCBbODAsIDYwLCAzNV0sICJvbGl2ZURyYWIiXSwKKyAgICAi
NzA4MDkwIjogW1sxMTIsIDEyOCwgMTQ0XSwgWzIxMCwgMTMsIDUwXSwgInNsYXRlR3JheSJdLAor
ICAgICI3Nzg4OTkiOiBbWzExOSwgMTM2LCAxNTNdLCBbMjEwLCAxNCwgNTNdLCAibGlnaHRTbGF0
ZUdyYXkiXSwKKyAgICAiN0I2OEVFIjogW1sxMjMsIDEwNCwgMjM4XSwgWzI0OSwgODAsIDY3XSwg
Im1lZGl1bVNsYXRlQmx1ZSJdLAorICAgICI3Q0ZDMDAiOiBbWzEyNCwgMjUyLCAwXSwgWzkwLCAx
MDAsIDQ5XSwgImxhd25HcmVlbiJdLAorICAgICI3RkZGMDAiOiBbWzEyNywgMjU1LCAwXSwgWzkw
LCAxMDAsIDUwXSwgImNoYXJ0cmV1c2UiXSwKKyAgICAiN0ZGRkQ0IjogW1sxMjcsIDI1NSwgMjEy
XSwgWzE2MCwgMTAwLCA3NV0sICJhcXVhbWFyaW5lIl0sCisgICAgIjgwMDAwMCI6IFtbMTI4LCAw
LCAwXSwgWzAsIDEwMCwgMjVdLCAibWFyb29uIl0sCisgICAgIjgwMDA4MCI6IFtbMTI4LCAwLCAx
MjhdLCBbMzAwLCAxMDAsIDI1XSwgInB1cnBsZSJdLAorICAgICI4MDgwMDAiOiBbWzEyOCwgMTI4
LCAwXSwgWzYwLCAxMDAsIDI1XSwgIm9saXZlIl0sCisgICAgIjgwODA4MCI6IFtbMTI4LCAxMjgs
IDEyOF0sIFswLCAwLCA1MF0sICJncmF5Il0sCisgICAgIjg3Q0VFQiI6IFtbMTM1LCAyMDYsIDIz
NV0sIFsxOTcsIDcxLCA3M10sICJza3lCbHVlIl0sCisgICAgIjg3Q0VGQSI6IFtbMTM1LCAyMDYs
IDI1MF0sIFsyMDMsIDkyLCA3NV0sICJsaWdodFNreUJsdWUiXSwKKyAgICAiOEEyQkUyIjogW1sx
MzgsIDQzLCAyMjZdLCBbMjcxLCA3NiwgNTNdLCAiYmx1ZVZpb2xldCJdLAorICAgICI4QjAwMDAi
OiBbWzEzOSwgMCwgMF0sIFswLCAxMDAsIDI3XSwgImRhcmtSZWQiXSwKKyAgICAiOEIwMDhCIjog
W1sxMzksIDAsIDEzOV0sIFszMDAsIDEwMCwgMjddLCAiZGFya01hZ2VudGEiXSwKKyAgICAiOEI0
NTEzIjogW1sxMzksIDY5LCAxOV0sIFsyNSwgNzYsIDMxXSwgInNhZGRsZUJyb3duIl0sCisgICAg
IjhGQkM4RiI6IFtbMTQzLCAxODgsIDE0M10sIFsxMjAsIDI1LCA2NV0sICJkYXJrU2VhR3JlZW4i
XSwKKyAgICAiOTBFRTkwIjogW1sxNDQsIDIzOCwgMTQ0XSwgWzEyMCwgNzMsIDc1XSwgImxpZ2h0
R3JlZW4iXSwKKyAgICAiOTM3MEQ4IjogW1sxNDcsIDExMiwgMjE5XSwgWzI2MCwgNjAsIDY1XSwg
Im1lZGl1bVB1cnBsZSJdLAorICAgICI5NDAwRDMiOiBbWzE0OCwgMCwgMjExXSwgWzI4MiwgMTAw
LCA0MV0sICJkYXJrVmlvbGV0Il0sCisgICAgIjk4RkI5OCI6IFtbMTUyLCAyNTEsIDE1Ml0sIFsx
MjAsIDkzLCA3OV0sICJwYWxlR3JlZW4iXSwKKyAgICAiOTkzMkNDIjogW1sxNTMsIDUwLCAyMDRd
LCBbMjgwLCA2MSwgNTBdLCAiZGFya09yY2hpZCJdLAorICAgICI5QUNEMzIiOiBbWzE1NCwgMjA1
LCA1MF0sIFs4MCwgNjEsIDUwXSwgInllbGxvd0dyZWVuIl0sCisgICAgIkEwNTIyRCI6IFtbMTYw
LCA4MiwgNDVdLCBbMTksIDU2LCA0MF0sICJzaWVubmEiXSwKKyAgICAiQTUyQTJBIjogW1sxNjUs
IDQyLCA0Ml0sIFswLCA1OSwgNDFdLCAiYnJvd24iXSwKKyAgICAiQTlBOUE5IjogW1sxNjksIDE2
OSwgMTY5XSwgWzAsIDAsIDY2XSwgImRhcmtHcmF5Il0sCisgICAgIkFERDhFNiI6IFtbMTczLCAy
MTYsIDIzMF0sIFsxOTUsIDUzLCA3OV0sICJsaWdodEJsdWUiXSwKKyAgICAiQURGRjJGIjogW1sx
NzMsIDI1NSwgNDddLCBbODQsIDEwMCwgNTldLCAiZ3JlZW5ZZWxsb3ciXSwKKyAgICAiQUZFRUVF
IjogW1sxNzUsIDIzOCwgMjM4XSwgWzE4MCwgNjUsIDgxXSwgInBhbGVUdXJxdW9pc2UiXSwKKyAg
ICAiQjBDNERFIjogW1sxNzYsIDE5NiwgMjIyXSwgWzIxNCwgNDEsIDc4XSwgImxpZ2h0U3RlZWxC
bHVlIl0sCisgICAgIkIwRTBFNiI6IFtbMTc2LCAyMjQsIDIzMF0sIFsxODcsIDUyLCA4MF0sICJw
b3dkZXJCbHVlIl0sCisgICAgIkIyMjIyMiI6IFtbMTc4LCAzNCwgMzRdLCBbMCwgNjgsIDQyXSwg
ImZpcmVCcmljayJdLAorICAgICJCODg2MEIiOiBbWzE4NCwgMTM0LCAxMV0sIFs0MywgODksIDM4
XSwgImRhcmtHb2xkZW5Sb2QiXSwKKyAgICAiQkE1NUQzIjogW1sxODYsIDg1LCAyMTFdLCBbMjg4
LCA1OSwgNThdLCAibWVkaXVtT3JjaGlkIl0sCisgICAgIkJDOEY4RiI6IFtbMTg4LCAxNDMsIDE0
M10sIFswLCAyNSwgNjVdLCAicm9zeUJyb3duIl0sCisgICAgIkJEQjc2QiI6IFtbMTg5LCAxODMs
IDEwN10sIFs1NiwgMzgsIDU4XSwgImRhcmtLaGFraSJdLAorICAgICJDMEMwQzAiOiBbWzE5Miwg
MTkyLCAxOTJdLCBbMCwgMCwgNzVdLCAic2lsdmVyIl0sCisgICAgIkM3MTU4NSI6IFtbMTk5LCAy
MSwgMTMzXSwgWzMyMiwgODEsIDQzXSwgIm1lZGl1bVZpb2xldFJlZCJdLAorICAgICJDRDVDNUMi
OiBbWzIwNSwgOTIsIDkyXSwgWzAsIDUzLCA1OF0sICJpbmRpYW5SZWQiXSwKKyAgICAiQ0Q4NTNG
IjogW1syMDUsIDEzMywgNjNdLCBbMzAsIDU5LCA1M10sICJwZXJ1Il0sCisgICAgIkQyNjkxRSI6
IFtbMjEwLCAxMDUsIDMwXSwgWzI1LCA3NSwgNDddLCAiY2hvY29sYXRlIl0sCisgICAgIkQyQjQ4
QyI6IFtbMjEwLCAxODAsIDE0MF0sIFszNCwgNDQsIDY5XSwgInRhbiJdLAorICAgICJEM0QzRDMi
OiBbWzIxMSwgMjExLCAyMTFdLCBbMCwgMCwgODNdLCAibGlnaHRHcmV5Il0sCisgICAgIkQ4NzA5
MyI6IFtbMjE5LCAxMTIsIDE0N10sIFszNDAsIDYwLCA2NV0sICJwYWxlVmlvbGV0UmVkIl0sCisg
ICAgIkQ4QkZEOCI6IFtbMjE2LCAxOTEsIDIxNl0sIFszMDAsIDI0LCA4MF0sICJ0aGlzdGxlIl0s
CisgICAgIkRBNzBENiI6IFtbMjE4LCAxMTIsIDIxNF0sIFszMDIsIDU5LCA2NV0sICJvcmNoaWQi
XSwKKyAgICAiREFBNTIwIjogW1syMTgsIDE2NSwgMzJdLCBbNDMsIDc0LCA0OV0sICJnb2xkZW5S
b2QiXSwKKyAgICAiREMxNDNDIjogW1syMzcsIDE2NCwgNjFdLCBbMzUsIDgzLCA1OF0sICJjcmlt
c29uIl0sCisgICAgIkRDRENEQyI6IFtbMjIwLCAyMjAsIDIyMF0sIFswLCAwLCA4Nl0sICJnYWlu
c2Jvcm8iXSwKKyAgICAiRERBMEREIjogW1syMjEsIDE2MCwgMjIxXSwgWzMwMCwgNDcsIDc1XSwg
InBsdW0iXSwKKyAgICAiREVCODg3IjogW1syMjIsIDE4NCwgMTM1XSwgWzM0LCA1NywgNzBdLCAi
YnVybHlXb29kIl0sCisgICAgIkUwRkZGRiI6IFtbMjI0LCAyNTUsIDI1NV0sIFsxODAsIDEwMCwg
OTRdLCAibGlnaHRDeWFuIl0sCisgICAgIkU2RTZGQSI6IFtbMjMwLCAyMzAsIDI1MF0sIFsyNDAs
IDY3LCA5NF0sICJsYXZlbmRlciJdLAorICAgICJFOTk2N0EiOiBbWzIzMywgMTUwLCAxMjJdLCBb
MTUsIDcyLCA3MF0sICJkYXJrU2FsbW9uIl0sCisgICAgIkVFODJFRSI6IFtbMjM4LCAxMzAsIDIz
OF0sIFszMDAsIDc2LCA3Ml0sICJ2aW9sZXQiXSwKKyAgICAiRUVFOEFBIjogW1syMzgsIDIzMiwg
MTcwXSwgWzU1LCA2NywgODBdLCAicGFsZUdvbGRlblJvZCJdLAorICAgICJGMDgwODAiOiBbWzI0
MCwgMTI4LCAxMjhdLCBbMCwgNzksIDcyXSwgImxpZ2h0Q29yYWwiXSwKKyAgICAiRjBFNjhDIjog
W1syNDAsIDIzMCwgMTQwXSwgWzU0LCA3NywgNzVdLCAia2hha2kiXSwKKyAgICAiRjBGOEZGIjog
W1syNDAsIDI0OCwgMjU1XSwgWzIwOCwgMTAwLCA5N10sICJhbGljZUJsdWUiXSwKKyAgICAiRjBG
RkYwIjogW1syNDAsIDI1NSwgMjQwXSwgWzEyMCwgMTAwLCA5N10sICJob25leURldyJdLAorICAg
ICJGMEZGRkYiOiBbWzI0MCwgMjU1LCAyNTVdLCBbMTgwLCAxMDAsIDk3XSwgImF6dXJlIl0sCisg
ICAgIkY0QTQ2MCI6IFtbMjQ0LCAxNjQsIDk2XSwgWzI4LCA4NywgNjddLCAic2FuZHlCcm93biJd
LAorICAgICJGNURFQjMiOiBbWzI0NSwgMjIyLCAxNzldLCBbMzksIDc3LCA4M10sICJ3aGVhdCJd
LAorICAgICJGNUY1REMiOiBbWzI0NSwgMjQ1LCAyMjBdLCBbNjAsIDU2LCA5MV0sICJiZWlnZSJd
LAorICAgICJGNUY1RjUiOiBbWzI0NSwgMjQ1LCAyNDVdLCBbMCwgMCwgOTZdLCAid2hpdGVTbW9r
ZSJdLAorICAgICJGNUZGRkEiOiBbWzI0NSwgMjU1LCAyNTBdLCBbMTUwLCAxMDAsIDk4XSwgIm1p
bnRDcmVhbSJdLAorICAgICJGOEY4RkYiOiBbWzI0OCwgMjQ4LCAyNTVdLCBbMjQwLCAxMDAsIDk5
XSwgImdob3N0V2hpdGUiXSwKKyAgICAiRkE4MDcyIjogW1syNTAsIDEyOCwgMTE0XSwgWzYsIDkz
LCA3MV0sICJzYWxtb24iXSwKKyAgICAiRkFFQkQ3IjogW1syNTAsIDIzNSwgMjE1XSwgWzM0LCA3
OCwgOTFdLCAiYW50aXF1ZVdoaXRlIl0sCisgICAgIkZBRjBFNiI6IFtbMjUwLCAyNDAsIDIzMF0s
IFszMCwgNjcsIDk0XSwgImxpbmVuIl0sCisgICAgIkZBRkFEMiI6IFtbMjUwLCAyNTAsIDIxMF0s
IFs2MCwgODAsIDkwXSwgImxpZ2h0R29sZGVuUm9kWWVsbG93Il0sCisgICAgIkZERjVFNiI6IFtb
MjUzLCAyNDUsIDIzMF0sIFszOSwgODUsIDk1XSwgIm9sZExhY2UiXSwKKyAgICAiRkYwMDAwIjog
W1syNTUsIDAsIDBdLCBbMCwgMTAwLCA1MF0sICJyZWQiXSwKKyAgICAiRkYwMEZGIjogW1syNTUs
IDAsIDI1NV0sIFszMDAsIDEwMCwgNTBdLCAibWFnZW50YSJdLAorICAgICJGRjE0OTMiOiBbWzI1
NSwgMjAsIDE0N10sIFszMjgsIDEwMCwgNTRdLCAiZGVlcFBpbmsiXSwKKyAgICAiRkY0NTAwIjog
W1syNTUsIDY5LCAwXSwgWzE2LCAxMDAsIDUwXSwgIm9yYW5nZVJlZCJdLAorICAgICJGRjYzNDci
OiBbWzI1NSwgOTksIDcxXSwgWzksIDEwMCwgNjRdLCAidG9tYXRvIl0sCisgICAgIkZGNjlCNCI6
IFtbMjU1LCAxMDUsIDE4MF0sIFszMzAsIDEwMCwgNzFdLCAiaG90UGluayJdLAorICAgICJGRjdG
NTAiOiBbWzI1NSwgMTI3LCA4MF0sIFsxNiwgMTAwLCA2Nl0sICJjb3JhbCJdLAorICAgICJGRjhD
MDAiOiBbWzI1NSwgMTQwLCAwXSwgWzMzLCAxMDAsIDUwXSwgImRhcmtPcmFuZ2UiXSwKKyAgICAi
RkZBMDdBIjogW1syNTUsIDE2MCwgMTIyXSwgWzE3LCAxMDAsIDc0XSwgImxpZ2h0U2FsbW9uIl0s
CisgICAgIkZGQTUwMCI6IFtbMjU1LCAxNjUsIDBdLCBbMzksIDEwMCwgNTBdLCAib3JhbmdlIl0s
CisgICAgIkZGQjZDMSI6IFtbMjU1LCAxODIsIDE5M10sIFszNTEsIDEwMCwgODZdLCAibGlnaHRQ
aW5rIl0sCisgICAgIkZGQzBDQiI6IFtbMjU1LCAxOTIsIDIwM10sIFszNTAsIDEwMCwgODhdLCAi
cGluayJdLAorICAgICJGRkQ3MDAiOiBbWzI1NSwgMjE1LCAwXSwgWzUxLCAxMDAsIDUwXSwgImdv
bGQiXSwKKyAgICAiRkZEQUI5IjogW1syNTUsIDIxOCwgMTg1XSwgWzI4LCAxMDAsIDg2XSwgInBl
YWNoUHVmZiJdLAorICAgICJGRkRFQUQiOiBbWzI1NSwgMjIyLCAxNzNdLCBbMzYsIDEwMCwgODRd
LCAibmF2YWpvV2hpdGUiXSwKKyAgICAiRkZFNEI1IjogW1syNTUsIDIyOCwgMTgxXSwgWzM4LCAx
MDAsIDg1XSwgIm1vY2Nhc2luIl0sCisgICAgIkZGRTRDNCI6IFtbMjU1LCAyMjgsIDE5Nl0sIFsz
MywgMTAwLCA4OF0sICJiaXNxdWUiXSwKKyAgICAiRkZFNEUxIjogW1syNTUsIDIyOCwgMjI1XSwg
WzYsIDEwMCwgOTRdLCAibWlzdHlSb3NlIl0sCisgICAgIkZGRUJDRCI6IFtbMjU1LCAyMzUsIDIw
NV0sIFszNiwgMTAwLCA5MF0sICJibGFuY2hlZEFsbW9uZCJdLAorICAgICJGRkVGRDUiOiBbWzI1
NSwgMjM5LCAyMTNdLCBbMzcsIDEwMCwgOTJdLCAicGFwYXlhV2hpcCJdLAorICAgICJGRkYwRjUi
OiBbWzI1NSwgMjQwLCAyNDVdLCBbMzQwLCAxMDAsIDk3XSwgImxhdmVuZGVyQmx1c2giXSwKKyAg
ICAiRkZGNUVFIjogW1syNTUsIDI0NSwgMjM4XSwgWzI1LCAxMDAsIDk3XSwgInNlYVNoZWxsIl0s
CisgICAgIkZGRjhEQyI6IFtbMjU1LCAyNDgsIDIyMF0sIFs0OCwgMTAwLCA5M10sICJjb3Juc2ls
ayJdLAorICAgICJGRkZBQ0QiOiBbWzI1NSwgMjUwLCAyMDVdLCBbNTQsIDEwMCwgOTBdLCAibGVt
b25DaGlmZm9uIl0sCisgICAgIkZGRkFGMCI6IFtbMjU1LCAyNTAsIDI0MF0sIFs0MCwgMTAwLCA5
N10sICJmbG9yYWxXaGl0ZSJdLAorICAgICJGRkZBRkEiOiBbWzI1NSwgMjUwLCAyNTBdLCBbMCwg
MTAwLCA5OV0sICJzbm93Il0sCisgICAgIkZGRkYwMCI6IFtbMjU1LCAyNTUsIDBdLCBbNjAsIDEw
MCwgNTBdLCAieWVsbG93Il0sCisgICAgIkZGRkZFMCI6IFtbMjU1LCAyNTUsIDIyNF0sIFs2MCwg
MTAwLCA5NF0sICJsaWdodFllbGxvdyJdLAorICAgICJGRkZGRjAiOiBbWzI1NSwgMjU1LCAyNDBd
LCBbNjAsIDEwMCwgOTddLCAiaXZvcnkiXSwKKyAgICAiRkZGRkZGIjogW1syNTUsIDI1NSwgMjU1
XSwgWzAsIDEwMCwgMTAwXSwgIndoaXRlIl0KK307CisKKy8vIFNpbXBsZSBWYWx1ZXMKK1dlYklu
c3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CisgICAgImFsaWNlYmx1ZSI6ICJGMEY4RkYiLAor
ICAgICJhbnRpcXVld2hpdGUiOiAiRkFFQkQ3IiwKKyAgICAiYXF1YSI6ICIwMEZGRkYiLAorICAg
ICJhcXVhbWFyaW5lIjogIjdGRkZENCIsCisgICAgImF6dXJlIjogIkYwRkZGRiIsCisgICAgImJl
aWdlIjogIkY1RjVEQyIsCisgICAgImJpc3F1ZSI6ICJGRkU0QzQiLAorICAgICJibGFjayI6ICIw
MDAwMDAiLAorICAgICJibGFuY2hlZGFsbW9uZCI6ICJGRkVCQ0QiLAorICAgICJibHVlIjogIjAw
MDBGRiIsCisgICAgImJsdWV2aW9sZXQiOiAiOEEyQkUyIiwKKyAgICAiYnJvd24iOiAiQTUyQTJB
IiwKKyAgICAiYnVybHl3b29kIjogIkRFQjg4NyIsCisgICAgImNhZGV0Ymx1ZSI6ICI1RjlFQTAi
LAorICAgICJjaGFydHJldXNlIjogIjdGRkYwMCIsCisgICAgImNob2NvbGF0ZSI6ICJEMjY5MUUi
LAorICAgICJjb3JhbCI6ICJGRjdGNTAiLAorICAgICJjb3JuZmxvd2VyYmx1ZSI6ICI2NDk1RUQi
LAorICAgICJjb3Juc2lsayI6ICJGRkY4REMiLAorICAgICJjcmltc29uIjogIkRDMTQzQyIsCisg
ICAgImN5YW4iOiAiMDBGRkZGIiwKKyAgICAiZGFya2JsdWUiOiAiMDAwMDhCIiwKKyAgICAiZGFy
a2N5YW4iOiAiMDA4QjhCIiwKKyAgICAiZGFya2dvbGRlbnJvZCI6ICJCODg2MEIiLAorICAgICJk
YXJrZ3JheSI6ICJBOUE5QTkiLAorICAgICJkYXJrZ3JlZW4iOiAiMDA2NDAwIiwKKyAgICAiZGFy
a2toYWtpIjogIkJEQjc2QiIsCisgICAgImRhcmttYWdlbnRhIjogIjhCMDA4QiIsCisgICAgImRh
cmtvbGl2ZWdyZWVuIjogIjU1NkIyRiIsCisgICAgImRhcmtvcmFuZ2UiOiAiRkY4QzAwIiwKKyAg
ICAiZGFya29yY2hpZCI6ICI5OTMyQ0MiLAorICAgICJkYXJrcmVkIjogIjhCMDAwMCIsCisgICAg
ImRhcmtzYWxtb24iOiAiRTk5NjdBIiwKKyAgICAiZGFya3NlYWdyZWVuIjogIjhGQkM4RiIsCisg
ICAgImRhcmtzbGF0ZWJsdWUiOiAiNDgzRDhCIiwKKyAgICAiZGFya3NsYXRlZ3JheSI6ICIyRjRG
NEYiLAorICAgICJkYXJrdHVycXVvaXNlIjogIjAwQ0VEMSIsCisgICAgImRhcmt2aW9sZXQiOiAi
OTQwMEQzIiwKKyAgICAiZGVlcHBpbmsiOiAiRkYxNDkzIiwKKyAgICAiZGVlcHNreWJsdWUiOiAi
MDBCRkZGIiwKKyAgICAiZGltZ3JheSI6ICI2OTY5NjkiLAorICAgICJkb2RnZXJibHVlIjogIjFF
OTBGRiIsCisgICAgImZpcmVicmljayI6ICJCMjIyMjIiLAorICAgICJmbG9yYWx3aGl0ZSI6ICJG
RkZBRjAiLAorICAgICJmb3Jlc3RncmVlbiI6ICIyMjhCMjIiLAorICAgICJmdWNoc2lhIjogIkZG
MDBGRiIsCisgICAgImdhaW5zYm9ybyI6ICJEQ0RDREMiLAorICAgICJnaG9zdHdoaXRlIjogIkY4
RjhGRiIsCisgICAgImdvbGQiOiAiRkZENzAwIiwKKyAgICAiZ29sZGVucm9kIjogIkRBQTUyMCIs
CisgICAgImdyYXkiOiAiODA4MDgwIiwKKyAgICAiZ3JlZW4iOiAiMDA4MDAwIiwKKyAgICAiZ3Jl
ZW55ZWxsb3ciOiAiQURGRjJGIiwKKyAgICAiaG9uZXlkZXciOiAiRjBGRkYwIiwKKyAgICAiaG90
cGluayI6ICJGRjY5QjQiLAorICAgICJpbmRpYW5yZWQiOiAiQ0Q1QzVDIiwKKyAgICAiaW5kaWdv
IjogIjRCMDA4MiIsCisgICAgIml2b3J5IjogIkZGRkZGMCIsCisgICAgImtoYWtpIjogIkYwRTY4
QyIsCisgICAgImxhdmVuZGVyIjogIkU2RTZGQSIsCisgICAgImxhdmVuZGVyYmx1c2giOiAiRkZG
MEY1IiwKKyAgICAibGF3bmdyZWVuIjogIjdDRkMwMCIsCisgICAgImxlbW9uY2hpZmZvbiI6ICJG
RkZBQ0QiLAorICAgICJsaWdodGJsdWUiOiAiQUREOEU2IiwKKyAgICAibGlnaHRjb3JhbCI6ICJG
MDgwODAiLAorICAgICJsaWdodGN5YW4iOiAiRTBGRkZGIiwKKyAgICAibGlnaHRnb2xkZW5yb2R5
ZWxsb3ciOiAiRkFGQUQyIiwKKyAgICAibGlnaHRncmVlbiI6ICI5MEVFOTAiLAorICAgICJsaWdo
dGdyZXkiOiAiRDNEM0QzIiwKKyAgICAibGlnaHRwaW5rIjogIkZGQjZDMSIsCisgICAgImxpZ2h0
c2FsbW9uIjogIkZGQTA3QSIsCisgICAgImxpZ2h0c2VhZ3JlZW4iOiAiMjBCMkFBIiwKKyAgICAi
bGlnaHRza3libHVlIjogIjg3Q0VGQSIsCisgICAgImxpZ2h0c2xhdGVncmF5IjogIjc3ODg5OSIs
CisgICAgImxpZ2h0c3RlZWxibHVlIjogIkIwQzRERSIsCisgICAgImxpZ2h0eWVsbG93IjogIkZG
RkZFMCIsCisgICAgImxpbWUiOiAiMDBGRjAwIiwKKyAgICAibGltZWdyZWVuIjogIjMyQ0QzMiIs
CisgICAgImxpbmVuIjogIkZBRjBFNiIsCisgICAgIm1hZ2VudGEiOiAiRkYwMEZGIiwKKyAgICAi
bWFyb29uIjogIjgwMDAwMCIsCisgICAgIm1lZGl1bWFxdWFtYXJpbmUiOiAiNjZDREFBIiwKKyAg
ICAibWVkaXVtYmx1ZSI6ICIwMDAwQ0QiLAorICAgICJtZWRpdW1vcmNoaWQiOiAiQkE1NUQzIiwK
KyAgICAibWVkaXVtcHVycGxlIjogIjkzNzBEOCIsCisgICAgIm1lZGl1bXNlYWdyZWVuIjogIjND
QjM3MSIsCisgICAgIm1lZGl1bXNsYXRlYmx1ZSI6ICI3QjY4RUUiLAorICAgICJtZWRpdW1zcHJp
bmdncmVlbiI6ICIwMEZBOUEiLAorICAgICJtZWRpdW10dXJxdW9pc2UiOiAiNDhEMUNDIiwKKyAg
ICAibWVkaXVtdmlvbGV0cmVkIjogIkM3MTU4NSIsCisgICAgIm1pZG5pZ2h0Ymx1ZSI6ICIxOTE5
NzAiLAorICAgICJtaW50Y3JlYW0iOiAiRjVGRkZBIiwKKyAgICAibWlzdHlyb3NlIjogIkZGRTRF
MSIsCisgICAgIm1vY2Nhc2luIjogIkZGRTRCNSIsCisgICAgIm5hdmFqb3doaXRlIjogIkZGREVB
RCIsCisgICAgIm5hdnkiOiAiMDAwMDgwIiwKKyAgICAib2xkbGFjZSI6ICJGREY1RTYiLAorICAg
ICJvbGl2ZSI6ICI4MDgwMDAiLAorICAgICJvbGl2ZWRyYWIiOiAiNkI4RTIzIiwKKyAgICAib3Jh
bmdlIjogIkZGQTUwMCIsCisgICAgIm9yYW5nZXJlZCI6ICJGRjQ1MDAiLAorICAgICJvcmNoaWQi
OiAiREE3MEQ2IiwKKyAgICAicGFsZWdvbGRlbnJvZCI6ICJFRUU4QUEiLAorICAgICJwYWxlZ3Jl
ZW4iOiAiOThGQjk4IiwKKyAgICAicGFsZXR1cnF1b2lzZSI6ICJBRkVFRUUiLAorICAgICJwYWxl
dmlvbGV0cmVkIjogIkQ4NzA5MyIsCisgICAgInBhcGF5YXdoaXAiOiAiRkZFRkQ1IiwKKyAgICAi
cGVhY2hwdWZmIjogIkZGREFCOSIsCisgICAgInBlcnUiOiAiQ0Q4NTNGIiwKKyAgICAicGluayI6
ICJGRkMwQ0IiLAorICAgICJwbHVtIjogIkREQTBERCIsCisgICAgInBvd2RlcmJsdWUiOiAiQjBF
MEU2IiwKKyAgICAicHVycGxlIjogIjgwMDA4MCIsCisgICAgInJlZCI6ICJGRjAwMDAiLAorICAg
ICJyb3N5YnJvd24iOiAiQkM4RjhGIiwKKyAgICAicm95YWxibHVlIjogIjQxNjlFMSIsCisgICAg
InNhZGRsZWJyb3duIjogIjhCNDUxMyIsCisgICAgInNhbG1vbiI6ICJGQTgwNzIiLAorICAgICJz
YW5keWJyb3duIjogIkY0QTQ2MCIsCisgICAgInNlYWdyZWVuIjogIjJFOEI1NyIsCisgICAgInNl
YXNoZWxsIjogIkZGRjVFRSIsCisgICAgInNpZW5uYSI6ICJBMDUyMkQiLAorICAgICJzaWx2ZXIi
OiAiQzBDMEMwIiwKKyAgICAic2t5Ymx1ZSI6ICI4N0NFRUIiLAorICAgICJzbGF0ZWJsdWUiOiAi
NkE1QUNEIiwKKyAgICAic2xhdGVncmF5IjogIjcwODA5MCIsCisgICAgInNub3ciOiAiRkZGQUZB
IiwKKyAgICAic3ByaW5nZ3JlZW4iOiAiMDBGRjdGIiwKKyAgICAic3RlZWxibHVlIjogIjQ2ODJC
NCIsCisgICAgInRhbiI6ICJEMkI0OEMiLAorICAgICJ0ZWFsIjogIjAwODA4MCIsCisgICAgInRo
aXN0bGUiOiAiRDhCRkQ4IiwKKyAgICAidG9tYXRvIjogIkZGNjM0NyIsCisgICAgInR1cnF1b2lz
ZSI6ICI0MEUwRDAiLAorICAgICJ2aW9sZXQiOiAiRUU4MkVFIiwKKyAgICAid2hlYXQiOiAiRjVE
RUIzIiwKKyAgICAid2hpdGUiOiAiRkZGRkZGIiwKKyAgICAid2hpdGVzbW9rZSI6ICJGNUY1RjUi
LAorICAgICJ5ZWxsb3ciOiAiRkZGRjAwIiwKKyAgICAieWVsbG93Z3JlZW4iOiAiOUFDRDMyIgor
fTsKKworLy8gQWR2YW5jZWQgVmFsdWVzIFtyZ2JhLCBoc2xhLCBuaWNrbmFtZV0KK1dlYkluc3Bl
Y3Rvci5Db2xvci5BZHZhbmNlZE5pY2tOYW1lcyA9IHsKKyAgICAidHJhbnNwYXJlbnQiOiBbWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sICJ0cmFuc3BhcmVudCJdLAorICAgICJyZ2JhKDAsMCww
LDApIjogW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCAidHJhbnNwYXJlbnQiXSwKKyAgICAi
aHNsYSgwLDAsMCwwKSI6IFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgInRyYW5zcGFyZW50
Il0sCit9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1Np
ZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQ
YW5lLmpzCmluZGV4IDU0ZDdiNzIuLmVhMWQ5ODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKQEAgLTg3Niw3ICs4NzYsOCBAQCBXZWJJ
bnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICBpZiAodmFsdWUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIG9ubHkgY292ZXJzIFcz
QyBhbmQgQ1NTIDE2IHZhbGlkIGNvbG9yIG5hbWVzCi0gICAgICAgICAgICB2YXIgY29sb3JzID0g
dmFsdWUubWF0Y2goLygocmdifGhzbClhP1woW14pXStcKSl8KCNbMC05YS1mQS1GXXs2fSl8KCNb
MC05YS1mQS1GXXszfSl8YXF1YXxibGFja3xibHVlfGZ1Y2hzaWF8Z3JheXxncmVlbnxsaW1lfG1h
cm9vbnxuYXZ5fG9saXZlfHB1cnBsZXxyZWR8c2lsdmVyfHRlYWx8d2hpdGV8eWVsbG93L2cpOwor
ICAgICAgICAgICAgdmFyIGNvbG9ycyA9IHZhbHVlLm1hdGNoKC8oKHJnYnxoc2wpYT9cKFteKV0r
XCkpfCgjWzAtOWEtZkEtRl17Nn0pfCgjWzAtOWEtZkEtRl17M30pfGFxdWF8YmxhY2t8Ymx1ZXxm
dWNoc2lhfGdyYXl8Z3JlZW58bGltZXxtYXJvb258bmF2eXxvbGl2ZXxwdXJwbGV8cmVkfHNpbHZl
cnx0ZWFsfHdoaXRlfHllbGxvd3x0cmFuc3BhcmVudC9nKTsKKyAgICAgICAgICAgIHZhciBzd2F0
Y2g7CiAgICAgICAgICAgICBpZiAoY29sb3JzKSB7CiAgICAgICAgICAgICAgICAgdmFyIGNvbG9y
c0xlbmd0aCA9IGNvbG9ycy5sZW5ndGg7CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBjb2xvcnNMZW5ndGg7ICsraSkgewpAQCAtODg0LDYgKzg4NSw2MyBAQCBXZWJJbnNwZWN0
b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICAgICAgc3dhdGNoRWxlbWVudC5jbGFzc05hbWUgPSAic3dhdGNoIjsKICAgICAgICAgICAgICAg
ICAgICAgc3dhdGNoRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiYmFja2dyb3VuZC1jb2xvciIs
IGNvbG9yc1tpXSk7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50LmFw
cGVuZENoaWxkKHN3YXRjaEVsZW1lbnQpOworICAgICAgICAgICAgICAgICAgICBzd2F0Y2ggPSBz
d2F0Y2hFbGVtZW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgLy8gUm90YXRlIHRocm91Z2ggQ29sb3IgUmVwcmVzZW50YXRpb25zIGJ5IENsaWNraW5n
IG9uIHRoZSBTd2F0Y2gKKyAgICAgICAgICAgIC8vIFNpbXBsZTogcmdiIC0+IGhzbCAtPiBuaWNr
bmFtZT8gLT4gc2hvcnRoZXg/IC0+IGhleCAtPiAuLi4KKyAgICAgICAgICAgIC8vIEFkdmFuY2Vk
OiByZ2JhIC0+IGhzbGEgLT4gbmlja25hbWU/IC0+IC4uLiAgICAgICAgICAgIAorICAgICAgICAg
ICAgaWYgKGNvbG9ycyAmJiBjb2xvcnMubGVuZ3RoID09PSAxKSB7CisgICAgICAgICAgICAgICAg
dmFyIGNvbG9yID0gbmV3IFdlYkluc3BlY3Rvci5Db2xvcihodG1sVmFsdWUpOworICAgICAgICAg
ICAgICAgIHN3YXRjaC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGNoYW5nZUNvbG9yRGlzcGxh
eSwgZmFsc2UpOworCisgICAgICAgICAgICAgICAgdmFyIG1vZGUgPSBjb2xvci5tb2RlOworICAg
ICAgICAgICAgICAgIHZhciB2YWx1ZUVsZW1lbnQgPSB0aGlzLnZhbHVlRWxlbWVudDsKKyAgICAg
ICAgICAgICAgICBmdW5jdGlvbiBjaGFuZ2VDb2xvckRpc3BsYXkoZXZlbnQpIHsKKworICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbiBoZWxwZXIobmV3TW9kZSwgY29udGVudCkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgbW9kZSA9IG5ld01vZGU7CisgICAgICAgICAgICAgICAgICAgICAg
ICB2YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBjb250ZW50OworICAgICAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChtb2RlKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBjYXNlICJyZ2IiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBl
cigiaHNsIiwgY29sb3IudG9Ic2woKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInNob3J0aGV4IjoKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwZXIoImhleCIsIGNvbG9yLnRvSGV4KCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICBj
YXNlICJoZXgiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlcigicmdiIiwgY29s
b3IudG9SZ2IoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNhc2UgIm5pY2tuYW1lIjoKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoY29sb3Iuc2ltcGxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoY29sb3IuaGFzU2hvcnRIZXgoKSkgPyBoZWxwZXIoInNob3J0aGV4IiwgY29sb3IudG9TaG9y
dEhleCgpKSA6IGhlbHBlcigiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwZXIo
InJnYmEiLCBjb2xvci50b1JnYmEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImhzbCI6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGNvbG9yLm5pY2tuYW1lKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwZXIoIm5pY2tuYW1lIiwgY29sb3IudG9OaWNrbmFtZSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjb2xvci5oYXNTaG9ydEhleCgpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwZXIoInNob3J0aGV4IiwgY29sb3IudG9T
aG9ydEhleCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHBlcigiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNhc2UgInJnYmEiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlcigiaHNsYSIs
IGNvbG9yLnRvSHNsYSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiaHNsYSI6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGNvbG9yLm5pY2tuYW1lKSA/IGhlbHBlcigibmlja25hbWUiLCBjb2xvci50b05p
Y2tuYW1lKCkpIDogaGVscGVyKCJyZ2JhIiwgY29sb3IudG9SZ2JhKCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggMGNkODZiNS4uNWI3NmZlZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNjEsNiArNjEsNyBAQCBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNjb3BlQ2hhaW5T
aWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iTWV0cmljc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbG9yLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTdHlsZXNT
aWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iUGFuZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IlBhbmVsRW5hYmxlclZpZXcuanMiPjwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="18332"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>34176</attachid>
            <date>2009-08-05 14:27:12 -0700</date>
            <delta_ts>2009-08-05 14:27:12 -0700</delta_ts>
            <desc>Sample Page to Test Different Colors</desc>
            <filename>colors.html</filename>
            <type>text/html</type>
            <size>933</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KCTx0aXRsZT5UZXN0IENhc2UgZm9yIENvbG9y
czwvdGl0bGU+Cgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJCgkgIC8qIElnbm9yZWQgKi8KCSAg
Ym9keSB7IGNvbG9yOiBpbmhlcml0OyB9CgkKICAJLyogQWR2YW5jZWQgQ29sb3JzICovCiAgICBi
b2R5IHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH0gLyogdHJhbnNwYXJlbnQgKi8KICAgIGJv
ZHkgeyBjb2xvcjogdHJhbnNwYXJlbnQ7IH0gLyogdHJhbnNwYXJlbnQgKi8KICAgIGJvZHkgeyBj
b2xvcjogcmdiYSgwLDEsMiwwLjMpOyB9IC8qIHJhbmRvbSAqLwogICAgYm9keSB7IGNvbG9yOiBo
c2xhKDIxMCwgNDMlLCAyNCUsIDAuNyk7IH0gLyogcmFuZG9tICovCgkKCSAgLyogU2ltcGxlIENv
bG9ycyAqLwogICAgYm9keSB7IGNvbG9yOiByZWQ7IH0KICAgIGJvZHkgeyBjb2xvcjogTGlnaHRH
b2xkZW5Sb2RZZWxsb3c7IH0gLyogdmFsaWQgKi8KICAgIGJvZHkgeyBjb2xvcjogIzAwMDAwMDsg
fSAvKiBibGFjayAqLwogICAgYm9keSB7IGNvbG9yOiAjMDAwOyB9IC8qIGJsYWNrICovCiAgICBi
b2R5IHsgY29sb3I6IHJnYigyMjIsIDE4NCwgMTM1KTsgfSAvKiBidXJseVdvb2QgKi8KICAgIGJv
ZHkgeyBjb2xvcjogcmdiKDIyMiwgMjIxLCAyMjApOyB9IC8qIG5vdGhpbmcuLi4gKi8KICAgIGJv
ZHkgeyBjb2xvcjogcmdiKDEwMCUsIDEwMCUsIDEwMCUpOyB9IC8qIHdoaXRlICovCiAgICBib2R5
IHsgY29sb3I6IHJnYigxMDAlLCAwJSwgMCUpOyB9IC8qIHJlZCAqLwogICAgYm9keSB7IGNvbG9y
OiBoc2woMTAwLCA1MCUsIDI1JSk7IH0gLyogcmFuZG9tICovCiAgICBib2R5IHsgY29sb3I6IGJs
YWNrOyB9CgoJPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8aDE+SW5zcGVjdCBUaGUgQm9keSE8
L2gxPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34179</attachid>
            <date>2009-08-05 14:58:59 -0700</date>
            <delta_ts>2009-08-05 15:07:47 -0700</delta_ts>
            <desc>Fixed Based on Review</desc>
            <filename>color_reviewed.patch</filename>
            <type>text/plain</type>
            <size>30247</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Zjc3YzY3OS4uMGE5Yjc2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAwOS0wOC0wNSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2xvciBpcyBvbmx5IHJlcG9ydGVkIGluIHJnYigpIGZvcm1h
dDsgc2hvdWxkIHRvZ2dsZSBiZXR3ZWVuIHJnYigpIGFuZCBoZXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTE2CisKKyAgICAgICAgICBOZXcgQ2xh
c3MgdG8gUGFyc2UgYW5kIENoYW5nZSBCZXR3ZWVuIENvbG9yIFJlcHJlc2VudGF0aW9uczoKKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanM6IEFkZGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbG9yKToKKworICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyBvZiBDb2xv
cnMgaW4gUmF3IEZvcm0uIChNYXkgYmUgTGF6eSBMb2FkZWQpOgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBzaG9ydGhleCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLmdldCBoZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9y
LnByb3RvdHlwZS5zZXQgaGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5
cGUuZ2V0IHJnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBy
Z2IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5nZXQgaHNsKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuc2V0IGhzbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCByZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUuc2V0IHJnYmEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnBy
b3RvdHlwZS5nZXQgaHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBl
LnNldCBoc2xhKToKKworICAgICAgICAgIEhlbHBlcnMgYW5kIFN0YW5kYXJkIFN0cmluZyBSZXBy
ZXNlbnRhdGlvbnM6CisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuaGFz
U2hvcnRIZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS50b1JnYik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSHNsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9TaG9ydEhleCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUudG9SZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90
b3R5cGUudG9Ic2xhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9O
aWNrbmFtZSk6CisKKyAgICAgICAgICBDb252ZXJzaW9uIEZ1bmN0aW9ucyB0byBEZXRlcm1pbmUg
T3RoZXIgUmVwcmVzZW50YXRpb25zOgorICAgICAgICAgIE15IFNvdXJjZXMgZm9yIGFsbCBhbGdv
cml0aG1zIGFuZCBzYW1wbGUgZGF0YToKKyAgICAgICAgICBXaWtpcGVkaWE6IGh0dHA6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvSFNWX2NvbG9yX3NwYWNlCisgICAgICAgICAgQ1NTIFNwZWNpZmlj
YXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvI2hzbGEtY29sb3IKKworICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5yZ2JUb0hleCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmhleFRvUmdiKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2xvci5wcm90b3R5cGUucmdiVG9Ic2wpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bG9yLnByb3RvdHlwZS5oc2xUb1JnYi5odWVUb1JnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29sb3IucHJvdG90eXBlLmhzbFRvUmdiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5w
cm90b3R5cGUucmdiYVRvSHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90
eXBlLmhzbGFUb1JnYmEpOgorCisgICAgICAgICAgQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9y
LCBhdHRlbXB0cyB0byBwYXJzZSBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvcgorICAgICAgICAgIGlm
IGl0IGNhbm5vdCBwYXJzZS4gIElmIHNpbXBsZSB0aGVuIHRoZSAiaGV4IiB2YWx1ZSBpcyBndWFy
ZW50ZWVkLgorICAgICAgICAgIElmIGFkdmFuY2VkIHRoZW4gYm90aCB0aGUgInJnYmEiIGFuZCAi
aHNsYSIgYXJlIGd1YXJlbnRlZWQuICBJZiBpdCBpcworICAgICAgICAgIGEgbmlja25hbWUgaW4g
YW55IHdheSAoZS5nLiAidHJhbnNwYXJlbnQiLCAiYmxhY2siKSB0aGVuIHRoaXMgaXMKKyAgICAg
ICAgICBndWFyZW50ZWVkIHRvIGJlIHNldCBhcyB3ZWxsLgorCisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLnBhcnNlKToKKworICAgICAgICAgIENsaWNraW5nIG9uIHRoZSBz
d2F0Y2ggd2lsbCByb3RhdGUgdGhyb3VnaCBDb2xvciBSZXByZXNlbnRhdGlvbnMuCisgICAgICAg
ICAgICBTaW1wbGU6ICAgcmdiIC0+IGhzbCAtPiBuaWNrbmFtZT8gLT4gc2hvcnRoZXg/IC0+IGhl
eCAtPiAobG9vcCBhcm91bmQpCisgICAgICAgICAgICBBZHZhbmNlZDogcmdiYSAtPiBoc2xhIC0+
IG5pY2tuYW1lPyAtPiAobG9vcCBhcm91bmQpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlVGl0bGUudmFsdWUuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVRp
dGxlKToKKworICAgICAgICAgIExvYWQgQ29sb3IuanM6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDA5LTA4LTAzICBKb3NlcGggUGVjb3Jhcm8g
IDxqb2VwZWNrMDJAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5lZDc2MGVhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC0wLDAgKzEsNjQ2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEpvc2VwaCBQZWNvcmFybworICovCisKK1dlYkluc3BlY3Rvci5Db2xvciA9
IGZ1bmN0aW9uKHN0cikKK3sKKyAgICB0aGlzLnZhbHVlID0gc3RyOworICAgIHRoaXMucGFyc2Uo
KTsKK30KKworV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZSA9IHsKKyAgICBnZXQgc2hvcnRo
ZXgoKQorICAgIHsKKyAgICAgICAgaWYgKCJfc2hvcnQiIGluIHRoaXMpCisgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc2hvcnQ7CisKKyAgICAgICAgaWYgKCF0aGlzLnNpbXBsZSkKKyAgICAgICAg
ICAgIHJldHVybiBudWxsOworCisgICAgICAgIHZhciBoZXggPSB0aGlzLmhleDsKKyAgICAgICAg
aWYgKGhleC5jaGFyQXQoMCkgPT09IGhleC5jaGFyQXQoMSkgJiYgaGV4LmNoYXJBdCgyKSA9PT0g
aGV4LmNoYXJBdCgzKSAmJiBoZXguY2hhckF0KDQpID09PSBoZXguY2hhckF0KDUpKQorICAgICAg
ICAgICAgdGhpcy5fc2hvcnQgPSBoZXguY2hhckF0KDApICsgaGV4LmNoYXJBdCgyKSArIGhleC5j
aGFyQXQoNCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3Nob3J0ID0gaGV4Owor
CisgICAgICAgIHJldHVybiB0aGlzLl9zaG9ydDsKKyAgICB9LAorCisgICAgZ2V0IGhleCgpCisg
ICAgeworICAgICAgICBpZiAoIXRoaXMuc2ltcGxlKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7
CisKKyAgICAgICAgcmV0dXJuIHRoaXMuX2hleDsKKyAgICB9LAorCisgICAgc2V0IGhleCh4KQor
ICAgIHsKKyAgICAgICAgdGhpcy5faGV4ID0geDsKKyAgICB9LAorCisgICAgZ2V0IHJnYigpCisg
ICAgeworICAgICAgICBpZiAoIl9yZ2IiIGluIHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdGhp
cy5fcmdiOworCisgICAgICAgIGlmICh0aGlzLnNpbXBsZSkKKyAgICAgICAgICAgIHRoaXMuX3Jn
YiA9IHRoaXMuaGV4VG9SZ2IodGhpcy5oZXgpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IHZhciByZ2JhID0gdGhpcy5yZ2JhOworICAgICAgICAgICAgdGhpcy5fcmdiID0gW3JnYmFbMF0s
IHJnYmFbMV0sIHJnYmFbMl1dOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Jn
YjsKKyAgICB9LAorCisgICAgc2V0IHJnYih4KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmdiID0g
eDsKKyAgICB9LAorCisgICAgZ2V0IGhzbCgpCisgICAgeworICAgICAgICBpZiAoIl9oc2wiIGlu
IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5faHNsOworCisgICAgICAgIHRoaXMuX2hz
bCA9IHRoaXMucmdiVG9Ic2wodGhpcy5yZ2IpOworICAgICAgICByZXR1cm4gdGhpcy5faHNsOwor
ICAgIH0sCisKKyAgICBzZXQgaHNsKHgpCisgICAgeworICAgICAgICB0aGlzLl9oc2wgPSB4Owor
ICAgIH0sCisKKyAgICBnZXQgbmlja25hbWUoKQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiB0
aGlzLl9uaWNrbmFtZSAhPT0gInVuZGVmaW5lZCIpIC8vIHdvdWxkIGJlIHNldCBvbiBwYXJzZSBp
ZiB0aGVyZSB3YXMgYSBuaWNrbmFtZQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25pY2tuYW1l
OworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9LAorCisgICAg
c2V0IG5pY2tuYW1lKHgpCisgICAgeworICAgICAgICB0aGlzLl9uaWNrbmFtZSA9IHg7CisgICAg
fSwKKworICAgIGdldCByZ2JhKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yZ2JhOwor
ICAgIH0sCisKKyAgICBzZXQgcmdiYSh4KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmdiYSA9IHg7
CisgICAgfSwKKworICAgIGdldCBoc2xhKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9o
c2xhOworICAgIH0sCisKKyAgICBzZXQgaHNsYSh4KQorICAgIHsKKyAgICAgICAgdGhpcy5faHNs
YSA9IHg7CisgICAgfSwKKworICAgIGhhc1Nob3J0SGV4OiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICB2YXIgc2hvcnRoZXggPSB0aGlzLnNob3J0aGV4OworICAgICAgICByZXR1cm4gKHNob3J0
aGV4ICYmIHNob3J0aGV4Lmxlbmd0aCA9PT0gMyk7CisgICAgfSwKKworICAgIHRvUmdiOiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gInJnYigiICsgdGhpcy5yZ2Iuam9pbigiLCAi
KSArICIpIjsKKyAgICB9LAorCisgICAgdG9Ic2w6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHZhciBoc2wgPSB0aGlzLmhzbDsKKyAgICAgICAgcmV0dXJuICJoc2woIiArIGhzbFswXSArICIs
ICIgKyBoc2xbMV0gKyAiJSwgIiArIGhzbFsyXSArICIlKSI7CisgICAgfSwKKworICAgIHRvU2hv
cnRIZXg6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiIyIgKyB0aGlzLnNob3J0
aGV4OworICAgIH0sCisKKyAgICB0b0hleDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0
dXJuICIjIiArIHRoaXMuaGV4OworICAgIH0sCisKKyAgICB0b1JnYmE6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiAicmdiYSgiICsgdGhpcy5yZ2JhLmpvaW4oIiwgIikgKyAiKSI7
CisgICAgfSwKKworICAgIHRvSHNsYTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGhz
bGEgPSB0aGlzLmhzbGE7CisgICAgICAgIHJldHVybiAiaHNsYSgiICsgaHNsYVswXSArICIsICIg
KyBoc2xhWzFdICsgIiUsICIgKyBoc2xhWzJdICsgIiUsICIgKyBoc2xhWzNdICsgIikiOworICAg
IH0sCisKKyAgICB0b05pY2tuYW1lOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5uaWNrbmFtZTsKKyAgICB9LAorCisgICAgcmdiVG9IZXg6IGZ1bmN0aW9uKHJnYikKKyAg
ICB7CisgICAgICAgIHZhciByID0gcGFyc2VJbnQocmdiWzBdKS50b1N0cmluZygxNik7CisgICAg
ICAgIHZhciBnID0gcGFyc2VJbnQocmdiWzFdKS50b1N0cmluZygxNik7CisgICAgICAgIHZhciBi
ID0gcGFyc2VJbnQocmdiWzJdKS50b1N0cmluZygxNik7CisgICAgICAgIGlmIChyLmxlbmd0aCA9
PT0gMSkKKyAgICAgICAgICAgIHIgPSAiMCIgKyByOworICAgICAgICBpZiAoZy5sZW5ndGggPT09
IDEpCisgICAgICAgICAgICBnID0gIjAiICsgZzsKKyAgICAgICAgaWYgKGIubGVuZ3RoID09PSAx
KQorICAgICAgICAgICAgYiA9ICIwIiArIGI7CisKKyAgICAgICAgcmV0dXJuIChyICsgZyArIGIp
LnRvVXBwZXJDYXNlKCk7CisgICAgfSwKKworICAgIGhleFRvUmdiOiBmdW5jdGlvbihoZXgpCisg
ICAgeworICAgICAgICB2YXIgciA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoMCwyKSwgMTYpOwor
ICAgICAgICB2YXIgZyA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoMiw0KSwgMTYpOworICAgICAg
ICB2YXIgYiA9IHBhcnNlSW50KGhleC5zdWJzdHJpbmcoNCw2KSwgMTYpOworCisgICAgICAgIHJl
dHVybiBbciwgZywgYl07CisgICAgfSwKKworICAgIHJnYlRvSHNsOiBmdW5jdGlvbihyZ2IpCisg
ICAgeworICAgICAgICB2YXIgciA9IHBhcnNlSW50KHJnYlswXSkgLyAyNTU7CisgICAgICAgIHZh
ciBnID0gcGFyc2VJbnQocmdiWzFdKSAvIDI1NTsKKyAgICAgICAgdmFyIGIgPSBwYXJzZUludChy
Z2JbMl0pIC8gMjU1OworICAgICAgICB2YXIgbWF4ID0gTWF0aC5tYXgociwgZywgYik7CisgICAg
ICAgIHZhciBtaW4gPSBNYXRoLm1pbihyLCBnLCBiKTsKKyAgICAgICAgdmFyIGRpZmYgPSBtYXgg
LSBtaW47CisgICAgICAgIHZhciBhZGQgPSBtYXggKyBtaW47CisKKyAgICAgICAgaWYgKG1pbiA9
PT0gbWF4KQorICAgICAgICAgICAgdmFyIGggPSAwOworICAgICAgICBlbHNlIGlmIChyID09PSBt
YXgpCisgICAgICAgICAgICB2YXIgaCA9ICgoNjAgKiAoZyAtIGIpIC8gZGlmZikgKyAzNjApICUg
MzYwOworICAgICAgICBlbHNlIGlmIChnID09PSBtYXgpCisgICAgICAgICAgICB2YXIgaCA9ICg2
MCAqIChiIC0gcikgLyBkaWZmKSArIDEyMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFy
IGggPSAoNjAgKiAociAtIGcpIC8gZGlmZikgKyAyNDA7CisKKyAgICAgICAgdmFyIGwgPSAwLjUg
KiBhZGQ7CisKKyAgICAgICAgaWYgKGwgPT09IDApCisgICAgICAgICAgICB2YXIgcyA9IDA7Cisg
ICAgICAgIGVsc2UgaWYgKGwgPT09IDEpCisgICAgICAgICAgICB2YXIgcyA9IDE7CisgICAgICAg
IGVsc2UgaWYgKGwgPD0gMC41KQorICAgICAgICAgICAgdmFyIHMgPSBkaWZmIC8gYWRkOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB2YXIgcyA9IGRpZmYgLyAoMiAtIGFkZCk7CisKKyAgICAg
ICAgaCA9IE1hdGgucm91bmQoaCk7CisgICAgICAgIHMgPSBNYXRoLnJvdW5kKHMqMTAwKTsKKyAg
ICAgICAgbCA9IE1hdGgucm91bmQobCoxMDApOworCisgICAgICAgIHJldHVybiBbaCwgcywgbF07
CisgICAgfSwKKworICAgIGhzbFRvUmdiOiBmdW5jdGlvbihoc2wpCisgICAgeworICAgICAgICB2
YXIgaCA9IHBhcnNlRmxvYXQoaHNsWzBdKSAvIDM2MDsKKyAgICAgICAgdmFyIHMgPSBwYXJzZUZs
b2F0KGhzbFsxXSkgLyAxMDA7CisgICAgICAgIHZhciBsID0gcGFyc2VGbG9hdChoc2xbMl0pIC8g
MTAwOworCisgICAgICAgIGlmIChsIDw9IDAuNSkKKyAgICAgICAgICAgIHZhciBxID0gbCAqICgx
ICsgcyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZhciBxID0gbCArIHMgLSAobCAqIHMp
OworCisgICAgICAgIHZhciBwID0gMiAqIGwgLSBxOworCisgICAgICAgIHZhciB0ciA9IGggKyAo
MSAvIDMpOworICAgICAgICB2YXIgdGcgPSBoOworICAgICAgICB2YXIgdGIgPSBoIC0gKDEgLyAz
KTsKKworICAgICAgICB2YXIgciA9IE1hdGgucm91bmQoaHVlVG9SZ2IocCwgcSwgdHIpICogMjU1
KTsKKyAgICAgICAgdmFyIGcgPSBNYXRoLnJvdW5kKGh1ZVRvUmdiKHAsIHEsIHRnKSAqIDI1NSk7
CisgICAgICAgIHZhciBiID0gTWF0aC5yb3VuZChodWVUb1JnYihwLCBxLCB0YikgKiAyNTUpOwor
ICAgICAgICByZXR1cm4gW3IsIGcsIGJdOworCisgICAgICAgIGZ1bmN0aW9uIGh1ZVRvUmdiKHAs
IHEsIGgpIHsKKyAgICAgICAgICAgIGlmIChoIDwgMCkKKyAgICAgICAgICAgICAgICBoICs9IDE7
CisgICAgICAgICAgICBlbHNlIGlmIChoID4gMSkKKyAgICAgICAgICAgICAgICBoIC09IDE7CisK
KyAgICAgICAgICAgIGlmICgoaCAqIDYpIDwgMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcCAr
IChxIC0gcCkgKiBoICogNjsKKyAgICAgICAgICAgIGVsc2UgaWYgKChoICogMikgPCAxKQorICAg
ICAgICAgICAgICAgIHJldHVybiBxOworICAgICAgICAgICAgZWxzZSBpZiAoKGggKiAzKSA8IDIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIHAgKyAocSAtIHApICogKCgyIC8gMykgLSBoKSAqIDY7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgICAgIH0K
KyAgICB9LAorCisgICAgcmdiYVRvSHNsYTogZnVuY3Rpb24ocmdiYSkKKyAgICB7CisgICAgICAg
IHZhciBhbHBoYSA9IHJnYmFbM107CisgICAgICAgIHZhciBoc2wgPSB0aGlzLnJnYlRvSHNsKHJn
YmEpCisgICAgICAgIGhzbC5wdXNoKGFscGhhKTsKKyAgICAgICAgcmV0dXJuIGhzbDsKKyAgICB9
LAorCisgICAgaHNsYVRvUmdiYTogZnVuY3Rpb24oaHNsYSkKKyAgICB7CisgICAgICAgIHZhciBh
bHBoYSA9IGhzbGFbM107CisgICAgICAgIHZhciByZ2IgPSB0aGlzLmhzbFRvUmdiKGhzbGEpOwor
ICAgICAgICByZ2IucHVzaChhbHBoYSk7CisgICAgICAgIHJldHVybiByZ2I7CisgICAgfSwKKwor
ICAgIHBhcnNlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICAvLyBTcGVjaWFsIFZhbHVlcyAt
IEFkdmFuY2VkIGJ1dCBNdXN0IEJlIFBhcnNlZCBGaXJzdCAtIHRyYW5zcGFyZW50CisgICAgICAg
IHZhciB2YWx1ZSA9IHRoaXMudmFsdWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8lfFxzKy9nLCAi
Iik7CisgICAgICAgIGlmICh2YWx1ZSBpbiBXZWJJbnNwZWN0b3IuQ29sb3IuQWR2YW5jZWROaWNr
TmFtZXMpIHsKKyAgICAgICAgICAgIHRoaXMubW9kZSA9ICJuaWNrbmFtZSI7CisgICAgICAgICAg
ICB2YXIgc2V0ID0gV2ViSW5zcGVjdG9yLkNvbG9yLkFkdmFuY2VkTmlja05hbWVzW3ZhbHVlXTsK
KyAgICAgICAgICAgIHRoaXMuc2ltcGxlID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLnJnYmEg
PSBzZXRbMF07CisgICAgICAgICAgICB0aGlzLmhzbGEgPSBzZXRbMV07CisgICAgICAgICAgICB0
aGlzLm5pY2tuYW1lID0gc2V0WzJdOworICAgICAgICAgICAgdGhpcy5hbHBoYSA9IHNldFswXVsz
XTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFNpbXBsZSAt
ICNoZXgsIHJnYigpLCBuaWNrbmFtZSwgaHNsKCkKKyAgICAgICAgdmFyIHNpbXBsZSA9IC9eKD86
IyhbMC05YS1mXXszLDZ9KXxyZ2JcKChbXildKylcKXwoXHcrKXxoc2xcKChbXildKylcKSkkL2k7
CisgICAgICAgIHZhciBtYXRjaCA9IHRoaXMudmFsdWUubWF0Y2goc2ltcGxlKTsKKyAgICAgICAg
aWYgKG1hdGNoKSB7CisgICAgICAgICAgICB0aGlzLnNpbXBsZSA9IHRydWU7CisKKyAgICAgICAg
ICAgIGlmIChtYXRjaFsxXSkgeyAvLyBoZXgKKyAgICAgICAgICAgICAgICB2YXIgaGV4ID0gbWF0
Y2hbMV0udG9VcHBlckNhc2UoKTsKKyAgICAgICAgICAgICAgICBpZiAoaGV4Lmxlbmd0aCA9PT0g
MykgeworICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAic2hvcnRoZXgiOworICAgICAg
ICAgICAgICAgICAgICB0aGlzLmhleCA9IGhleC5jaGFyQXQoMCkgKyBoZXguY2hhckF0KDApICsg
aGV4LmNoYXJBdCgxKSArIGhleC5jaGFyQXQoMSkgKyBoZXguY2hhckF0KDIpICsgaGV4LmNoYXJB
dCgyKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB0aGlz
Lm1vZGUgPSAiaGV4IjsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5oZXggPSBoZXg7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaFsyXSkgeyAvLyByZ2IK
KyAgICAgICAgICAgICAgICB0aGlzLm1vZGUgPSAicmdiIjsKKyAgICAgICAgICAgICAgICB2YXIg
cmdiID0gbWF0Y2hbMl0uc3BsaXQoL1xzKixccyovKTsKKyAgICAgICAgICAgICAgICB0aGlzLnJn
YiA9IHJnYjsKKyAgICAgICAgICAgICAgICB0aGlzLmhleCA9IHRoaXMucmdiVG9IZXgocmdiKTsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2hbM10pIHsgLy8gbmlja25hbWUKKyAgICAgICAg
ICAgICAgICB2YXIgbmlja25hbWUgPSBtYXRjaFszXS50b0xvd2VyQ2FzZSgpOworICAgICAgICAg
ICAgICAgIGlmIChuaWNrbmFtZSBpbiBXZWJJbnNwZWN0b3IuQ29sb3IuTmlja25hbWVzKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJuaWNrbmFtZSI7CisgICAgICAgICAgICAg
ICAgICAgIHRoaXMuaGV4ID0gV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lc1tuaWNrbmFtZV07
CisgICAgICAgICAgICAgICAgfSBlbHNlIC8vIHVua25vd24gbmFtZQorICAgICAgICAgICAgICAg
ICAgICB0aHJvdygidW5rbm93biBjb2xvciBuYW1lIik7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KG1hdGNoWzRdKSB7IC8vIGhzbAorICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJoc2wiOwor
ICAgICAgICAgICAgICAgIHZhciBoc2wgPSBtYXRjaFs0XS5yZXBsYWNlKC8lZy8sICIiKS5zcGxp
dCgvXHMqLFxzKi8pOworICAgICAgICAgICAgICAgIHRoaXMuaHNsID0gaHNsOworICAgICAgICAg
ICAgICAgIHRoaXMucmdiID0gdGhpcy5oc2xUb1JnYihoc2wpOworICAgICAgICAgICAgICAgIHRo
aXMuaGV4ID0gdGhpcy5yZ2JUb0hleCh0aGlzLnJnYik7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC8vIEZpbGwgaW4gdGhlIHZhbHVlcyBpZiB0aGlzIGlzIGEga25vd24gaGV4IGNvbG9y
CisgICAgICAgICAgICB2YXIgaGV4ID0gdGhpcy5oZXg7CisgICAgICAgICAgICBpZiAoaGV4ICYm
IGhleCBpbiBXZWJJbnNwZWN0b3IuQ29sb3IuSGV4VGFibGUpIHsKKyAgICAgICAgICAgICAgICB2
YXIgc2V0ID0gV2ViSW5zcGVjdG9yLkNvbG9yLkhleFRhYmxlW2hleF07CisgICAgICAgICAgICAg
ICAgdGhpcy5yZ2IgPSBzZXRbMF07CisgICAgICAgICAgICAgICAgdGhpcy5oc2wgPSBzZXRbMV07
CisgICAgICAgICAgICAgICAgdGhpcy5uaWNrbmFtZSA9IHNldFsyXTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gQWR2YW5jZWQg
LSByZ2JhKCksIGhzbGEoKQorICAgICAgICB2YXIgYWR2YW5jZWQgPSAvXig/OnJnYmFcKChbXild
KylcKXxoc2xhXCgoW14pXSspXCkpJC87CisgICAgICAgIG1hdGNoID0gdGhpcy52YWx1ZS5tYXRj
aChhZHZhbmNlZCk7CisgICAgICAgIGlmIChtYXRjaCkgeworICAgICAgICAgICAgdGhpcy5zaW1w
bGUgPSBmYWxzZTsKKyAgICAgICAgICAgIGlmIChtYXRjaFsxXSkgeyAvLyByZ2JhCisgICAgICAg
ICAgICAgICAgdGhpcy5tb2RlID0gInJnYmEiOworICAgICAgICAgICAgICAgIHRoaXMucmdiYSA9
IG1hdGNoWzFdLnNwbGl0KC9ccyosXHMqLyk7CisgICAgICAgICAgICAgICAgdGhpcy5oc2xhID0g
dGhpcy5yZ2JhVG9Ic2xhKHRoaXMucmdiYSk7CisgICAgICAgICAgICAgICAgdGhpcy5hbHBoYSA9
IHRoaXMucmdiYVszXTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2hbMl0pIHsgLy8gaHNs
YQorICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJoc2xhIjsKKyAgICAgICAgICAgICAgICB0
aGlzLmhzbGEgPSBtYXRjaFsyXS5yZXBsYWNlKC8lL2csICIiKS5zcGxpdCgvXHMqLFxzKi8pOwor
ICAgICAgICAgICAgICAgIHRoaXMucmdiYSA9IHRoaXMuaHNsYVRvUmdiYSh0aGlzLmhzbGEpOwor
ICAgICAgICAgICAgICAgIHRoaXMuYWxwaGEgPSB0aGlzLmhzbGFbM107CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8vIENvdWxkIG5v
dCBwYXJzZSBhcyBhIHZhbGlkIGNvbG9yCisgICAgICAgIHRocm93KCJjb3VsZCBub3QgcGFyc2Ug
Y29sb3IiKTsKKyAgICB9Cit9CisKKy8vIFNpbXBsZSBWYWx1ZXM6IFtyZ2IsIGhzbCwgbmlja25h
bWVdCitXZWJJbnNwZWN0b3IuQ29sb3IuSGV4VGFibGUgPSB7CisgICAgIjAwMDAwMCI6IFtbMCwg
MCwgMF0sIFswLCAwLCAwXSwgImJsYWNrIl0sCisgICAgIjAwMDA4MCI6IFtbMCwgMCwgMTI4XSwg
WzI0MCwgMTAwLCAyNV0sICJuYXZ5Il0sCisgICAgIjAwMDA4QiI6IFtbMCwgMCwgMTM5XSwgWzI0
MCwgMTAwLCAyN10sICJkYXJrQmx1ZSJdLAorICAgICIwMDAwQ0QiOiBbWzAsIDAsIDIwNV0sIFsy
NDAsIDEwMCwgNDBdLCAibWVkaXVtQmx1ZSJdLAorICAgICIwMDAwRkYiOiBbWzAsIDAsIDI1NV0s
IFsyNDAsIDEwMCwgNTBdLCAiYmx1ZSJdLAorICAgICIwMDY0MDAiOiBbWzAsIDEwMCwgMF0sIFsx
MjAsIDEwMCwgMjBdLCAiZGFya0dyZWVuIl0sCisgICAgIjAwODAwMCI6IFtbMCwgMTI4LCAwXSwg
WzEyMCwgMTAwLCAyNV0sICJncmVlbiJdLAorICAgICIwMDgwODAiOiBbWzAsIDEyOCwgMTI4XSwg
WzE4MCwgMTAwLCAyNV0sICJ0ZWFsIl0sCisgICAgIjAwOEI4QiI6IFtbMCwgMTM5LCAxMzldLCBb
MTgwLCAxMDAsIDI3XSwgImRhcmtDeWFuIl0sCisgICAgIjAwQkZGRiI6IFtbMCwgMTkxLCAyNTVd
LCBbMTk1LCAxMDAsIDUwXSwgImRlZXBTa3lCbHVlIl0sCisgICAgIjAwQ0VEMSI6IFtbMCwgMjA2
LCAyMDldLCBbMTgxLCAxMDAsIDQxXSwgImRhcmtUdXJxdW9pc2UiXSwKKyAgICAiMDBGQTlBIjog
W1swLCAyNTAsIDE1NF0sIFsxNTcsIDEwMCwgNDldLCAibWVkaXVtU3ByaW5nR3JlZW4iXSwKKyAg
ICAiMDBGRjAwIjogW1swLCAyNTUsIDBdLCBbMTIwLCAxMDAsIDUwXSwgImxpbWUiXSwKKyAgICAi
MDBGRjdGIjogW1swLCAyNTUsIDEyN10sIFsxNTAsIDEwMCwgNTBdLCAic3ByaW5nR3JlZW4iXSwK
KyAgICAiMDBGRkZGIjogW1swLCAyNTUsIDI1NV0sIFsxODAsIDEwMCwgNTBdLCAiY3lhbiJdLAor
ICAgICIxOTE5NzAiOiBbWzI1LCAyNSwgMTEyXSwgWzI0MCwgNjQsIDI3XSwgIm1pZG5pZ2h0Qmx1
ZSJdLAorICAgICIxRTkwRkYiOiBbWzMwLCAxNDQsIDI1NV0sIFsyMTAsIDEwMCwgNTZdLCAiZG9k
Z2VyQmx1ZSJdLAorICAgICIyMEIyQUEiOiBbWzMyLCAxNzgsIDE3MF0sIFsxNzcsIDcwLCA0MV0s
ICJsaWdodFNlYUdyZWVuIl0sCisgICAgIjIyOEIyMiI6IFtbMzQsIDEzOSwgMzRdLCBbMTIwLCA2
MSwgMzRdLCAiZm9yZXN0R3JlZW4iXSwKKyAgICAiMkU4QjU3IjogW1s0NiwgMTM5LCA4N10sIFsx
NDYsIDUwLCAzNl0sICJzZWFHcmVlbiJdLAorICAgICIyRjRGNEYiOiBbWzQ3LCA3OSwgNzldLCBb
MTgwLCAyNSwgMjVdLCAiZGFya1NsYXRlR3JheSJdLAorICAgICIzMkNEMzIiOiBbWzUwLCAyMDUs
IDUwXSwgWzEyMCwgNjEsIDUwXSwgImxpbWVHcmVlbiJdLAorICAgICIzQ0IzNzEiOiBbWzYwLCAx
NzksIDExM10sIFsxNDcsIDUwLCA0N10sICJtZWRpdW1TZWFHcmVlbiJdLAorICAgICI0MEUwRDAi
OiBbWzY0LCAyMjQsIDIwOF0sIFsxNzQsIDcyLCA1Nl0sICJ0dXJxdW9pc2UiXSwKKyAgICAiNDE2
OUUxIjogW1s2NSwgMTA1LCAyMjVdLCBbMjI1LCA3MywgNTddLCAicm95YWxCbHVlIl0sCisgICAg
IjQ2ODJCNCI6IFtbNzAsIDEzMCwgMTgwXSwgWzIwNywgNDQsIDQ5XSwgInN0ZWVsQmx1ZSJdLAor
ICAgICI0ODNEOEIiOiBbWzcyLCA2MSwgMTM5XSwgWzI0OCwgMzksIDM5XSwgImRhcmtTbGF0ZUJs
dWUiXSwKKyAgICAiNDhEMUNDIjogW1s3MiwgMjA5LCAyMDRdLCBbMTc4LCA2MCwgNTVdLCAibWVk
aXVtVHVycXVvaXNlIl0sCisgICAgIjRCMDA4MiI6IFtbNzUsIDAsIDEzMF0sIFsyNzUsIDEwMCwg
MjVdLCAiaW5kaWdvIl0sCisgICAgIjU1NkIyRiI6IFtbODUsIDEwNywgNDddLCBbODIsIDM5LCAz
MF0sICJkYXJrT2xpdmVHcmVlbiJdLAorICAgICI1RjlFQTAiOiBbWzk1LCAxNTgsIDE2MF0sIFsx
ODIsIDI1LCA1MF0sICJjYWRldEJsdWUiXSwKKyAgICAiNjQ5NUVEIjogW1sxMDAsIDE0OSwgMjM3
XSwgWzIxOSwgNzksIDY2XSwgImNvcm5mbG93ZXJCbHVlIl0sCisgICAgIjY2Q0RBQSI6IFtbMTAy
LCAyMDUsIDE3MF0sIFsxNjAsIDUxLCA2MF0sICJtZWRpdW1BcXVhTWFyaW5lIl0sCisgICAgIjY5
Njk2OSI6IFtbMTA1LCAxMDUsIDEwNV0sIFswLCAwLCA0MV0sICJkaW1HcmF5Il0sCisgICAgIjZB
NUFDRCI6IFtbMTA2LCA5MCwgMjA1XSwgWzI0OCwgNTMsIDU4XSwgInNsYXRlQmx1ZSJdLAorICAg
ICI2QjhFMjMiOiBbWzEwNywgMTQyLCAzNV0sIFs4MCwgNjAsIDM1XSwgIm9saXZlRHJhYiJdLAor
ICAgICI3MDgwOTAiOiBbWzExMiwgMTI4LCAxNDRdLCBbMjEwLCAxMywgNTBdLCAic2xhdGVHcmF5
Il0sCisgICAgIjc3ODg5OSI6IFtbMTE5LCAxMzYsIDE1M10sIFsyMTAsIDE0LCA1M10sICJsaWdo
dFNsYXRlR3JheSJdLAorICAgICI3QjY4RUUiOiBbWzEyMywgMTA0LCAyMzhdLCBbMjQ5LCA4MCwg
NjddLCAibWVkaXVtU2xhdGVCbHVlIl0sCisgICAgIjdDRkMwMCI6IFtbMTI0LCAyNTIsIDBdLCBb
OTAsIDEwMCwgNDldLCAibGF3bkdyZWVuIl0sCisgICAgIjdGRkYwMCI6IFtbMTI3LCAyNTUsIDBd
LCBbOTAsIDEwMCwgNTBdLCAiY2hhcnRyZXVzZSJdLAorICAgICI3RkZGRDQiOiBbWzEyNywgMjU1
LCAyMTJdLCBbMTYwLCAxMDAsIDc1XSwgImFxdWFtYXJpbmUiXSwKKyAgICAiODAwMDAwIjogW1sx
MjgsIDAsIDBdLCBbMCwgMTAwLCAyNV0sICJtYXJvb24iXSwKKyAgICAiODAwMDgwIjogW1sxMjgs
IDAsIDEyOF0sIFszMDAsIDEwMCwgMjVdLCAicHVycGxlIl0sCisgICAgIjgwODAwMCI6IFtbMTI4
LCAxMjgsIDBdLCBbNjAsIDEwMCwgMjVdLCAib2xpdmUiXSwKKyAgICAiODA4MDgwIjogW1sxMjgs
IDEyOCwgMTI4XSwgWzAsIDAsIDUwXSwgImdyYXkiXSwKKyAgICAiODdDRUVCIjogW1sxMzUsIDIw
NiwgMjM1XSwgWzE5NywgNzEsIDczXSwgInNreUJsdWUiXSwKKyAgICAiODdDRUZBIjogW1sxMzUs
IDIwNiwgMjUwXSwgWzIwMywgOTIsIDc1XSwgImxpZ2h0U2t5Qmx1ZSJdLAorICAgICI4QTJCRTIi
OiBbWzEzOCwgNDMsIDIyNl0sIFsyNzEsIDc2LCA1M10sICJibHVlVmlvbGV0Il0sCisgICAgIjhC
MDAwMCI6IFtbMTM5LCAwLCAwXSwgWzAsIDEwMCwgMjddLCAiZGFya1JlZCJdLAorICAgICI4QjAw
OEIiOiBbWzEzOSwgMCwgMTM5XSwgWzMwMCwgMTAwLCAyN10sICJkYXJrTWFnZW50YSJdLAorICAg
ICI4QjQ1MTMiOiBbWzEzOSwgNjksIDE5XSwgWzI1LCA3NiwgMzFdLCAic2FkZGxlQnJvd24iXSwK
KyAgICAiOEZCQzhGIjogW1sxNDMsIDE4OCwgMTQzXSwgWzEyMCwgMjUsIDY1XSwgImRhcmtTZWFH
cmVlbiJdLAorICAgICI5MEVFOTAiOiBbWzE0NCwgMjM4LCAxNDRdLCBbMTIwLCA3MywgNzVdLCAi
bGlnaHRHcmVlbiJdLAorICAgICI5MzcwRDgiOiBbWzE0NywgMTEyLCAyMTldLCBbMjYwLCA2MCwg
NjVdLCAibWVkaXVtUHVycGxlIl0sCisgICAgIjk0MDBEMyI6IFtbMTQ4LCAwLCAyMTFdLCBbMjgy
LCAxMDAsIDQxXSwgImRhcmtWaW9sZXQiXSwKKyAgICAiOThGQjk4IjogW1sxNTIsIDI1MSwgMTUy
XSwgWzEyMCwgOTMsIDc5XSwgInBhbGVHcmVlbiJdLAorICAgICI5OTMyQ0MiOiBbWzE1MywgNTAs
IDIwNF0sIFsyODAsIDYxLCA1MF0sICJkYXJrT3JjaGlkIl0sCisgICAgIjlBQ0QzMiI6IFtbMTU0
LCAyMDUsIDUwXSwgWzgwLCA2MSwgNTBdLCAieWVsbG93R3JlZW4iXSwKKyAgICAiQTA1MjJEIjog
W1sxNjAsIDgyLCA0NV0sIFsxOSwgNTYsIDQwXSwgInNpZW5uYSJdLAorICAgICJBNTJBMkEiOiBb
WzE2NSwgNDIsIDQyXSwgWzAsIDU5LCA0MV0sICJicm93biJdLAorICAgICJBOUE5QTkiOiBbWzE2
OSwgMTY5LCAxNjldLCBbMCwgMCwgNjZdLCAiZGFya0dyYXkiXSwKKyAgICAiQUREOEU2IjogW1sx
NzMsIDIxNiwgMjMwXSwgWzE5NSwgNTMsIDc5XSwgImxpZ2h0Qmx1ZSJdLAorICAgICJBREZGMkYi
OiBbWzE3MywgMjU1LCA0N10sIFs4NCwgMTAwLCA1OV0sICJncmVlblllbGxvdyJdLAorICAgICJB
RkVFRUUiOiBbWzE3NSwgMjM4LCAyMzhdLCBbMTgwLCA2NSwgODFdLCAicGFsZVR1cnF1b2lzZSJd
LAorICAgICJCMEM0REUiOiBbWzE3NiwgMTk2LCAyMjJdLCBbMjE0LCA0MSwgNzhdLCAibGlnaHRT
dGVlbEJsdWUiXSwKKyAgICAiQjBFMEU2IjogW1sxNzYsIDIyNCwgMjMwXSwgWzE4NywgNTIsIDgw
XSwgInBvd2RlckJsdWUiXSwKKyAgICAiQjIyMjIyIjogW1sxNzgsIDM0LCAzNF0sIFswLCA2OCwg
NDJdLCAiZmlyZUJyaWNrIl0sCisgICAgIkI4ODYwQiI6IFtbMTg0LCAxMzQsIDExXSwgWzQzLCA4
OSwgMzhdLCAiZGFya0dvbGRlblJvZCJdLAorICAgICJCQTU1RDMiOiBbWzE4NiwgODUsIDIxMV0s
IFsyODgsIDU5LCA1OF0sICJtZWRpdW1PcmNoaWQiXSwKKyAgICAiQkM4RjhGIjogW1sxODgsIDE0
MywgMTQzXSwgWzAsIDI1LCA2NV0sICJyb3N5QnJvd24iXSwKKyAgICAiQkRCNzZCIjogW1sxODks
IDE4MywgMTA3XSwgWzU2LCAzOCwgNThdLCAiZGFya0toYWtpIl0sCisgICAgIkMwQzBDMCI6IFtb
MTkyLCAxOTIsIDE5Ml0sIFswLCAwLCA3NV0sICJzaWx2ZXIiXSwKKyAgICAiQzcxNTg1IjogW1sx
OTksIDIxLCAxMzNdLCBbMzIyLCA4MSwgNDNdLCAibWVkaXVtVmlvbGV0UmVkIl0sCisgICAgIkNE
NUM1QyI6IFtbMjA1LCA5MiwgOTJdLCBbMCwgNTMsIDU4XSwgImluZGlhblJlZCJdLAorICAgICJD
RDg1M0YiOiBbWzIwNSwgMTMzLCA2M10sIFszMCwgNTksIDUzXSwgInBlcnUiXSwKKyAgICAiRDI2
OTFFIjogW1syMTAsIDEwNSwgMzBdLCBbMjUsIDc1LCA0N10sICJjaG9jb2xhdGUiXSwKKyAgICAi
RDJCNDhDIjogW1syMTAsIDE4MCwgMTQwXSwgWzM0LCA0NCwgNjldLCAidGFuIl0sCisgICAgIkQz
RDNEMyI6IFtbMjExLCAyMTEsIDIxMV0sIFswLCAwLCA4M10sICJsaWdodEdyZXkiXSwKKyAgICAi
RDg3MDkzIjogW1syMTksIDExMiwgMTQ3XSwgWzM0MCwgNjAsIDY1XSwgInBhbGVWaW9sZXRSZWQi
XSwKKyAgICAiRDhCRkQ4IjogW1syMTYsIDE5MSwgMjE2XSwgWzMwMCwgMjQsIDgwXSwgInRoaXN0
bGUiXSwKKyAgICAiREE3MEQ2IjogW1syMTgsIDExMiwgMjE0XSwgWzMwMiwgNTksIDY1XSwgIm9y
Y2hpZCJdLAorICAgICJEQUE1MjAiOiBbWzIxOCwgMTY1LCAzMl0sIFs0MywgNzQsIDQ5XSwgImdv
bGRlblJvZCJdLAorICAgICJEQzE0M0MiOiBbWzIzNywgMTY0LCA2MV0sIFszNSwgODMsIDU4XSwg
ImNyaW1zb24iXSwKKyAgICAiRENEQ0RDIjogW1syMjAsIDIyMCwgMjIwXSwgWzAsIDAsIDg2XSwg
ImdhaW5zYm9ybyJdLAorICAgICJEREEwREQiOiBbWzIyMSwgMTYwLCAyMjFdLCBbMzAwLCA0Nywg
NzVdLCAicGx1bSJdLAorICAgICJERUI4ODciOiBbWzIyMiwgMTg0LCAxMzVdLCBbMzQsIDU3LCA3
MF0sICJidXJseVdvb2QiXSwKKyAgICAiRTBGRkZGIjogW1syMjQsIDI1NSwgMjU1XSwgWzE4MCwg
MTAwLCA5NF0sICJsaWdodEN5YW4iXSwKKyAgICAiRTZFNkZBIjogW1syMzAsIDIzMCwgMjUwXSwg
WzI0MCwgNjcsIDk0XSwgImxhdmVuZGVyIl0sCisgICAgIkU5OTY3QSI6IFtbMjMzLCAxNTAsIDEy
Ml0sIFsxNSwgNzIsIDcwXSwgImRhcmtTYWxtb24iXSwKKyAgICAiRUU4MkVFIjogW1syMzgsIDEz
MCwgMjM4XSwgWzMwMCwgNzYsIDcyXSwgInZpb2xldCJdLAorICAgICJFRUU4QUEiOiBbWzIzOCwg
MjMyLCAxNzBdLCBbNTUsIDY3LCA4MF0sICJwYWxlR29sZGVuUm9kIl0sCisgICAgIkYwODA4MCI6
IFtbMjQwLCAxMjgsIDEyOF0sIFswLCA3OSwgNzJdLCAibGlnaHRDb3JhbCJdLAorICAgICJGMEU2
OEMiOiBbWzI0MCwgMjMwLCAxNDBdLCBbNTQsIDc3LCA3NV0sICJraGFraSJdLAorICAgICJGMEY4
RkYiOiBbWzI0MCwgMjQ4LCAyNTVdLCBbMjA4LCAxMDAsIDk3XSwgImFsaWNlQmx1ZSJdLAorICAg
ICJGMEZGRjAiOiBbWzI0MCwgMjU1LCAyNDBdLCBbMTIwLCAxMDAsIDk3XSwgImhvbmV5RGV3Il0s
CisgICAgIkYwRkZGRiI6IFtbMjQwLCAyNTUsIDI1NV0sIFsxODAsIDEwMCwgOTddLCAiYXp1cmUi
XSwKKyAgICAiRjRBNDYwIjogW1syNDQsIDE2NCwgOTZdLCBbMjgsIDg3LCA2N10sICJzYW5keUJy
b3duIl0sCisgICAgIkY1REVCMyI6IFtbMjQ1LCAyMjIsIDE3OV0sIFszOSwgNzcsIDgzXSwgIndo
ZWF0Il0sCisgICAgIkY1RjVEQyI6IFtbMjQ1LCAyNDUsIDIyMF0sIFs2MCwgNTYsIDkxXSwgImJl
aWdlIl0sCisgICAgIkY1RjVGNSI6IFtbMjQ1LCAyNDUsIDI0NV0sIFswLCAwLCA5Nl0sICJ3aGl0
ZVNtb2tlIl0sCisgICAgIkY1RkZGQSI6IFtbMjQ1LCAyNTUsIDI1MF0sIFsxNTAsIDEwMCwgOThd
LCAibWludENyZWFtIl0sCisgICAgIkY4RjhGRiI6IFtbMjQ4LCAyNDgsIDI1NV0sIFsyNDAsIDEw
MCwgOTldLCAiZ2hvc3RXaGl0ZSJdLAorICAgICJGQTgwNzIiOiBbWzI1MCwgMTI4LCAxMTRdLCBb
NiwgOTMsIDcxXSwgInNhbG1vbiJdLAorICAgICJGQUVCRDciOiBbWzI1MCwgMjM1LCAyMTVdLCBb
MzQsIDc4LCA5MV0sICJhbnRpcXVlV2hpdGUiXSwKKyAgICAiRkFGMEU2IjogW1syNTAsIDI0MCwg
MjMwXSwgWzMwLCA2NywgOTRdLCAibGluZW4iXSwKKyAgICAiRkFGQUQyIjogW1syNTAsIDI1MCwg
MjEwXSwgWzYwLCA4MCwgOTBdLCAibGlnaHRHb2xkZW5Sb2RZZWxsb3ciXSwKKyAgICAiRkRGNUU2
IjogW1syNTMsIDI0NSwgMjMwXSwgWzM5LCA4NSwgOTVdLCAib2xkTGFjZSJdLAorICAgICJGRjAw
MDAiOiBbWzI1NSwgMCwgMF0sIFswLCAxMDAsIDUwXSwgInJlZCJdLAorICAgICJGRjAwRkYiOiBb
WzI1NSwgMCwgMjU1XSwgWzMwMCwgMTAwLCA1MF0sICJtYWdlbnRhIl0sCisgICAgIkZGMTQ5MyI6
IFtbMjU1LCAyMCwgMTQ3XSwgWzMyOCwgMTAwLCA1NF0sICJkZWVwUGluayJdLAorICAgICJGRjQ1
MDAiOiBbWzI1NSwgNjksIDBdLCBbMTYsIDEwMCwgNTBdLCAib3JhbmdlUmVkIl0sCisgICAgIkZG
NjM0NyI6IFtbMjU1LCA5OSwgNzFdLCBbOSwgMTAwLCA2NF0sICJ0b21hdG8iXSwKKyAgICAiRkY2
OUI0IjogW1syNTUsIDEwNSwgMTgwXSwgWzMzMCwgMTAwLCA3MV0sICJob3RQaW5rIl0sCisgICAg
IkZGN0Y1MCI6IFtbMjU1LCAxMjcsIDgwXSwgWzE2LCAxMDAsIDY2XSwgImNvcmFsIl0sCisgICAg
IkZGOEMwMCI6IFtbMjU1LCAxNDAsIDBdLCBbMzMsIDEwMCwgNTBdLCAiZGFya09yYW5nZSJdLAor
ICAgICJGRkEwN0EiOiBbWzI1NSwgMTYwLCAxMjJdLCBbMTcsIDEwMCwgNzRdLCAibGlnaHRTYWxt
b24iXSwKKyAgICAiRkZBNTAwIjogW1syNTUsIDE2NSwgMF0sIFszOSwgMTAwLCA1MF0sICJvcmFu
Z2UiXSwKKyAgICAiRkZCNkMxIjogW1syNTUsIDE4MiwgMTkzXSwgWzM1MSwgMTAwLCA4Nl0sICJs
aWdodFBpbmsiXSwKKyAgICAiRkZDMENCIjogW1syNTUsIDE5MiwgMjAzXSwgWzM1MCwgMTAwLCA4
OF0sICJwaW5rIl0sCisgICAgIkZGRDcwMCI6IFtbMjU1LCAyMTUsIDBdLCBbNTEsIDEwMCwgNTBd
LCAiZ29sZCJdLAorICAgICJGRkRBQjkiOiBbWzI1NSwgMjE4LCAxODVdLCBbMjgsIDEwMCwgODZd
LCAicGVhY2hQdWZmIl0sCisgICAgIkZGREVBRCI6IFtbMjU1LCAyMjIsIDE3M10sIFszNiwgMTAw
LCA4NF0sICJuYXZham9XaGl0ZSJdLAorICAgICJGRkU0QjUiOiBbWzI1NSwgMjI4LCAxODFdLCBb
MzgsIDEwMCwgODVdLCAibW9jY2FzaW4iXSwKKyAgICAiRkZFNEM0IjogW1syNTUsIDIyOCwgMTk2
XSwgWzMzLCAxMDAsIDg4XSwgImJpc3F1ZSJdLAorICAgICJGRkU0RTEiOiBbWzI1NSwgMjI4LCAy
MjVdLCBbNiwgMTAwLCA5NF0sICJtaXN0eVJvc2UiXSwKKyAgICAiRkZFQkNEIjogW1syNTUsIDIz
NSwgMjA1XSwgWzM2LCAxMDAsIDkwXSwgImJsYW5jaGVkQWxtb25kIl0sCisgICAgIkZGRUZENSI6
IFtbMjU1LCAyMzksIDIxM10sIFszNywgMTAwLCA5Ml0sICJwYXBheWFXaGlwIl0sCisgICAgIkZG
RjBGNSI6IFtbMjU1LCAyNDAsIDI0NV0sIFszNDAsIDEwMCwgOTddLCAibGF2ZW5kZXJCbHVzaCJd
LAorICAgICJGRkY1RUUiOiBbWzI1NSwgMjQ1LCAyMzhdLCBbMjUsIDEwMCwgOTddLCAic2VhU2hl
bGwiXSwKKyAgICAiRkZGOERDIjogW1syNTUsIDI0OCwgMjIwXSwgWzQ4LCAxMDAsIDkzXSwgImNv
cm5zaWxrIl0sCisgICAgIkZGRkFDRCI6IFtbMjU1LCAyNTAsIDIwNV0sIFs1NCwgMTAwLCA5MF0s
ICJsZW1vbkNoaWZmb24iXSwKKyAgICAiRkZGQUYwIjogW1syNTUsIDI1MCwgMjQwXSwgWzQwLCAx
MDAsIDk3XSwgImZsb3JhbFdoaXRlIl0sCisgICAgIkZGRkFGQSI6IFtbMjU1LCAyNTAsIDI1MF0s
IFswLCAxMDAsIDk5XSwgInNub3ciXSwKKyAgICAiRkZGRjAwIjogW1syNTUsIDI1NSwgMF0sIFs2
MCwgMTAwLCA1MF0sICJ5ZWxsb3ciXSwKKyAgICAiRkZGRkUwIjogW1syNTUsIDI1NSwgMjI0XSwg
WzYwLCAxMDAsIDk0XSwgImxpZ2h0WWVsbG93Il0sCisgICAgIkZGRkZGMCI6IFtbMjU1LCAyNTUs
IDI0MF0sIFs2MCwgMTAwLCA5N10sICJpdm9yeSJdLAorICAgICJGRkZGRkYiOiBbWzI1NSwgMjU1
LCAyNTVdLCBbMCwgMTAwLCAxMDBdLCAid2hpdGUiXQorfTsKKworLy8gU2ltcGxlIFZhbHVlcwor
V2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKKyAgICAiYWxpY2VibHVlIjogIkYwRjhG
RiIsCisgICAgImFudGlxdWV3aGl0ZSI6ICJGQUVCRDciLAorICAgICJhcXVhIjogIjAwRkZGRiIs
CisgICAgImFxdWFtYXJpbmUiOiAiN0ZGRkQ0IiwKKyAgICAiYXp1cmUiOiAiRjBGRkZGIiwKKyAg
ICAiYmVpZ2UiOiAiRjVGNURDIiwKKyAgICAiYmlzcXVlIjogIkZGRTRDNCIsCisgICAgImJsYWNr
IjogIjAwMDAwMCIsCisgICAgImJsYW5jaGVkYWxtb25kIjogIkZGRUJDRCIsCisgICAgImJsdWUi
OiAiMDAwMEZGIiwKKyAgICAiYmx1ZXZpb2xldCI6ICI4QTJCRTIiLAorICAgICJicm93biI6ICJB
NTJBMkEiLAorICAgICJidXJseXdvb2QiOiAiREVCODg3IiwKKyAgICAiY2FkZXRibHVlIjogIjVG
OUVBMCIsCisgICAgImNoYXJ0cmV1c2UiOiAiN0ZGRjAwIiwKKyAgICAiY2hvY29sYXRlIjogIkQy
NjkxRSIsCisgICAgImNvcmFsIjogIkZGN0Y1MCIsCisgICAgImNvcm5mbG93ZXJibHVlIjogIjY0
OTVFRCIsCisgICAgImNvcm5zaWxrIjogIkZGRjhEQyIsCisgICAgImNyaW1zb24iOiAiREMxNDND
IiwKKyAgICAiY3lhbiI6ICIwMEZGRkYiLAorICAgICJkYXJrYmx1ZSI6ICIwMDAwOEIiLAorICAg
ICJkYXJrY3lhbiI6ICIwMDhCOEIiLAorICAgICJkYXJrZ29sZGVucm9kIjogIkI4ODYwQiIsCisg
ICAgImRhcmtncmF5IjogIkE5QTlBOSIsCisgICAgImRhcmtncmVlbiI6ICIwMDY0MDAiLAorICAg
ICJkYXJra2hha2kiOiAiQkRCNzZCIiwKKyAgICAiZGFya21hZ2VudGEiOiAiOEIwMDhCIiwKKyAg
ICAiZGFya29saXZlZ3JlZW4iOiAiNTU2QjJGIiwKKyAgICAiZGFya29yYW5nZSI6ICJGRjhDMDAi
LAorICAgICJkYXJrb3JjaGlkIjogIjk5MzJDQyIsCisgICAgImRhcmtyZWQiOiAiOEIwMDAwIiwK
KyAgICAiZGFya3NhbG1vbiI6ICJFOTk2N0EiLAorICAgICJkYXJrc2VhZ3JlZW4iOiAiOEZCQzhG
IiwKKyAgICAiZGFya3NsYXRlYmx1ZSI6ICI0ODNEOEIiLAorICAgICJkYXJrc2xhdGVncmF5Ijog
IjJGNEY0RiIsCisgICAgImRhcmt0dXJxdW9pc2UiOiAiMDBDRUQxIiwKKyAgICAiZGFya3Zpb2xl
dCI6ICI5NDAwRDMiLAorICAgICJkZWVwcGluayI6ICJGRjE0OTMiLAorICAgICJkZWVwc2t5Ymx1
ZSI6ICIwMEJGRkYiLAorICAgICJkaW1ncmF5IjogIjY5Njk2OSIsCisgICAgImRvZGdlcmJsdWUi
OiAiMUU5MEZGIiwKKyAgICAiZmlyZWJyaWNrIjogIkIyMjIyMiIsCisgICAgImZsb3JhbHdoaXRl
IjogIkZGRkFGMCIsCisgICAgImZvcmVzdGdyZWVuIjogIjIyOEIyMiIsCisgICAgImZ1Y2hzaWEi
OiAiRkYwMEZGIiwKKyAgICAiZ2FpbnNib3JvIjogIkRDRENEQyIsCisgICAgImdob3N0d2hpdGUi
OiAiRjhGOEZGIiwKKyAgICAiZ29sZCI6ICJGRkQ3MDAiLAorICAgICJnb2xkZW5yb2QiOiAiREFB
NTIwIiwKKyAgICAiZ3JheSI6ICI4MDgwODAiLAorICAgICJncmVlbiI6ICIwMDgwMDAiLAorICAg
ICJncmVlbnllbGxvdyI6ICJBREZGMkYiLAorICAgICJob25leWRldyI6ICJGMEZGRjAiLAorICAg
ICJob3RwaW5rIjogIkZGNjlCNCIsCisgICAgImluZGlhbnJlZCI6ICJDRDVDNUMiLAorICAgICJp
bmRpZ28iOiAiNEIwMDgyIiwKKyAgICAiaXZvcnkiOiAiRkZGRkYwIiwKKyAgICAia2hha2kiOiAi
RjBFNjhDIiwKKyAgICAibGF2ZW5kZXIiOiAiRTZFNkZBIiwKKyAgICAibGF2ZW5kZXJibHVzaCI6
ICJGRkYwRjUiLAorICAgICJsYXduZ3JlZW4iOiAiN0NGQzAwIiwKKyAgICAibGVtb25jaGlmZm9u
IjogIkZGRkFDRCIsCisgICAgImxpZ2h0Ymx1ZSI6ICJBREQ4RTYiLAorICAgICJsaWdodGNvcmFs
IjogIkYwODA4MCIsCisgICAgImxpZ2h0Y3lhbiI6ICJFMEZGRkYiLAorICAgICJsaWdodGdvbGRl
bnJvZHllbGxvdyI6ICJGQUZBRDIiLAorICAgICJsaWdodGdyZWVuIjogIjkwRUU5MCIsCisgICAg
ImxpZ2h0Z3JleSI6ICJEM0QzRDMiLAorICAgICJsaWdodHBpbmsiOiAiRkZCNkMxIiwKKyAgICAi
bGlnaHRzYWxtb24iOiAiRkZBMDdBIiwKKyAgICAibGlnaHRzZWFncmVlbiI6ICIyMEIyQUEiLAor
ICAgICJsaWdodHNreWJsdWUiOiAiODdDRUZBIiwKKyAgICAibGlnaHRzbGF0ZWdyYXkiOiAiNzc4
ODk5IiwKKyAgICAibGlnaHRzdGVlbGJsdWUiOiAiQjBDNERFIiwKKyAgICAibGlnaHR5ZWxsb3ci
OiAiRkZGRkUwIiwKKyAgICAibGltZSI6ICIwMEZGMDAiLAorICAgICJsaW1lZ3JlZW4iOiAiMzJD
RDMyIiwKKyAgICAibGluZW4iOiAiRkFGMEU2IiwKKyAgICAibWFnZW50YSI6ICJGRjAwRkYiLAor
ICAgICJtYXJvb24iOiAiODAwMDAwIiwKKyAgICAibWVkaXVtYXF1YW1hcmluZSI6ICI2NkNEQUEi
LAorICAgICJtZWRpdW1ibHVlIjogIjAwMDBDRCIsCisgICAgIm1lZGl1bW9yY2hpZCI6ICJCQTU1
RDMiLAorICAgICJtZWRpdW1wdXJwbGUiOiAiOTM3MEQ4IiwKKyAgICAibWVkaXVtc2VhZ3JlZW4i
OiAiM0NCMzcxIiwKKyAgICAibWVkaXVtc2xhdGVibHVlIjogIjdCNjhFRSIsCisgICAgIm1lZGl1
bXNwcmluZ2dyZWVuIjogIjAwRkE5QSIsCisgICAgIm1lZGl1bXR1cnF1b2lzZSI6ICI0OEQxQ0Mi
LAorICAgICJtZWRpdW12aW9sZXRyZWQiOiAiQzcxNTg1IiwKKyAgICAibWlkbmlnaHRibHVlIjog
IjE5MTk3MCIsCisgICAgIm1pbnRjcmVhbSI6ICJGNUZGRkEiLAorICAgICJtaXN0eXJvc2UiOiAi
RkZFNEUxIiwKKyAgICAibW9jY2FzaW4iOiAiRkZFNEI1IiwKKyAgICAibmF2YWpvd2hpdGUiOiAi
RkZERUFEIiwKKyAgICAibmF2eSI6ICIwMDAwODAiLAorICAgICJvbGRsYWNlIjogIkZERjVFNiIs
CisgICAgIm9saXZlIjogIjgwODAwMCIsCisgICAgIm9saXZlZHJhYiI6ICI2QjhFMjMiLAorICAg
ICJvcmFuZ2UiOiAiRkZBNTAwIiwKKyAgICAib3JhbmdlcmVkIjogIkZGNDUwMCIsCisgICAgIm9y
Y2hpZCI6ICJEQTcwRDYiLAorICAgICJwYWxlZ29sZGVucm9kIjogIkVFRThBQSIsCisgICAgInBh
bGVncmVlbiI6ICI5OEZCOTgiLAorICAgICJwYWxldHVycXVvaXNlIjogIkFGRUVFRSIsCisgICAg
InBhbGV2aW9sZXRyZWQiOiAiRDg3MDkzIiwKKyAgICAicGFwYXlhd2hpcCI6ICJGRkVGRDUiLAor
ICAgICJwZWFjaHB1ZmYiOiAiRkZEQUI5IiwKKyAgICAicGVydSI6ICJDRDg1M0YiLAorICAgICJw
aW5rIjogIkZGQzBDQiIsCisgICAgInBsdW0iOiAiRERBMEREIiwKKyAgICAicG93ZGVyYmx1ZSI6
ICJCMEUwRTYiLAorICAgICJwdXJwbGUiOiAiODAwMDgwIiwKKyAgICAicmVkIjogIkZGMDAwMCIs
CisgICAgInJvc3licm93biI6ICJCQzhGOEYiLAorICAgICJyb3lhbGJsdWUiOiAiNDE2OUUxIiwK
KyAgICAic2FkZGxlYnJvd24iOiAiOEI0NTEzIiwKKyAgICAic2FsbW9uIjogIkZBODA3MiIsCisg
ICAgInNhbmR5YnJvd24iOiAiRjRBNDYwIiwKKyAgICAic2VhZ3JlZW4iOiAiMkU4QjU3IiwKKyAg
ICAic2Vhc2hlbGwiOiAiRkZGNUVFIiwKKyAgICAic2llbm5hIjogIkEwNTIyRCIsCisgICAgInNp
bHZlciI6ICJDMEMwQzAiLAorICAgICJza3libHVlIjogIjg3Q0VFQiIsCisgICAgInNsYXRlYmx1
ZSI6ICI2QTVBQ0QiLAorICAgICJzbGF0ZWdyYXkiOiAiNzA4MDkwIiwKKyAgICAic25vdyI6ICJG
RkZBRkEiLAorICAgICJzcHJpbmdncmVlbiI6ICIwMEZGN0YiLAorICAgICJzdGVlbGJsdWUiOiAi
NDY4MkI0IiwKKyAgICAidGFuIjogIkQyQjQ4QyIsCisgICAgInRlYWwiOiAiMDA4MDgwIiwKKyAg
ICAidGhpc3RsZSI6ICJEOEJGRDgiLAorICAgICJ0b21hdG8iOiAiRkY2MzQ3IiwKKyAgICAidHVy
cXVvaXNlIjogIjQwRTBEMCIsCisgICAgInZpb2xldCI6ICJFRTgyRUUiLAorICAgICJ3aGVhdCI6
ICJGNURFQjMiLAorICAgICJ3aGl0ZSI6ICJGRkZGRkYiLAorICAgICJ3aGl0ZXNtb2tlIjogIkY1
RjVGNSIsCisgICAgInllbGxvdyI6ICJGRkZGMDAiLAorICAgICJ5ZWxsb3dncmVlbiI6ICI5QUNE
MzIiCit9OworCisvLyBBZHZhbmNlZCBWYWx1ZXMgW3JnYmEsIGhzbGEsIG5pY2tuYW1lXQorV2Vi
SW5zcGVjdG9yLkNvbG9yLkFkdmFuY2VkTmlja05hbWVzID0geworICAgICJ0cmFuc3BhcmVudCI6
IFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgInRyYW5zcGFyZW50Il0sCisgICAgInJnYmEo
MCwwLDAsMCkiOiBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sICJ0cmFuc3BhcmVudCJdLAor
ICAgICJoc2xhKDAsMCwwLDApIjogW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCAidHJhbnNw
YXJlbnQiXSwKK307CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5
bGVzU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lk
ZWJhclBhbmUuanMKaW5kZXggNTRkN2I3Mi4uYjcyY2M5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtODc2LDcgKzg3Niw4IEBA
IFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGlmICh2YWx1ZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgb25seSBjb3Zl
cnMgVzNDIGFuZCBDU1MgMTYgdmFsaWQgY29sb3IgbmFtZXMKLSAgICAgICAgICAgIHZhciBjb2xv
cnMgPSB2YWx1ZS5tYXRjaCgvKChyZ2J8aHNsKWE/XChbXildK1wpKXwoI1swLTlhLWZBLUZdezZ9
KXwoI1swLTlhLWZBLUZdezN9KXxhcXVhfGJsYWNrfGJsdWV8ZnVjaHNpYXxncmF5fGdyZWVufGxp
bWV8bWFyb29ufG5hdnl8b2xpdmV8cHVycGxlfHJlZHxzaWx2ZXJ8dGVhbHx3aGl0ZXx5ZWxsb3cv
Zyk7CisgICAgICAgICAgICB2YXIgY29sb3JzID0gdmFsdWUubWF0Y2goLygocmdifGhzbClhP1wo
W14pXStcKSl8KCNbMC05YS1mQS1GXXs2fSl8KCNbMC05YS1mQS1GXXszfSl8YXF1YXxibGFja3xi
bHVlfGZ1Y2hzaWF8Z3JheXxncmVlbnxsaW1lfG1hcm9vbnxuYXZ5fG9saXZlfHB1cnBsZXxyZWR8
c2lsdmVyfHRlYWx8d2hpdGV8eWVsbG93fHRyYW5zcGFyZW50L2cpOworICAgICAgICAgICAgdmFy
IHN3YXRjaDsKICAgICAgICAgICAgIGlmIChjb2xvcnMpIHsKICAgICAgICAgICAgICAgICB2YXIg
Y29sb3JzTGVuZ3RoID0gY29sb3JzLmxlbmd0aDsKICAgICAgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGNvbG9yc0xlbmd0aDsgKytpKSB7CkBAIC04ODQsNiArODg1LDcyIEBAIFdlYklu
c3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgICAgICAgICBzd2F0Y2hFbGVtZW50LmNsYXNzTmFtZSA9ICJzd2F0Y2giOwogICAgICAgICAg
ICAgICAgICAgICBzd2F0Y2hFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJiYWNrZ3JvdW5kLWNv
bG9yIiwgY29sb3JzW2ldKTsKICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1l
bnQuYXBwZW5kQ2hpbGQoc3dhdGNoRWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAgIHN3YXRj
aCA9IHN3YXRjaEVsZW1lbnQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAvLyBSb3RhdGUgdGhyb3VnaCBDb2xvciBSZXByZXNlbnRhdGlvbnMgYnkgQ2xp
Y2tpbmcgb24gdGhlIFN3YXRjaAorICAgICAgICAgICAgLy8gU2ltcGxlOiByZ2IgLT4gaHNsIC0+
IG5pY2tuYW1lPyAtPiBzaG9ydGhleD8gLT4gaGV4IC0+IC4uLgorICAgICAgICAgICAgLy8gQWR2
YW5jZWQ6IHJnYmEgLT4gaHNsYSAtPiBuaWNrbmFtZT8gLT4gLi4uICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAoY29sb3JzICYmIGNvbG9ycy5sZW5ndGggPT09IDEpIHsKKyAgICAgICAgICAg
ICAgICB2YXIgY29sb3IgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbG9yKGh0bWxWYWx1ZSk7CisgICAg
ICAgICAgICAgICAgc3dhdGNoLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgY2hhbmdlQ29sb3JE
aXNwbGF5LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgc3dhdGNoLmFkZEV2ZW50TGlzdGVuZXIo
ImRibGNsaWNrIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnQu
c3RvcFByb3BhZ2F0aW9uKCk7CisgICAgICAgICAgICAgICAgfSwgZmFsc2UpOworCisgICAgICAg
ICAgICAgICAgdmFyIG1vZGUgPSBjb2xvci5tb2RlOworICAgICAgICAgICAgICAgIHZhciB2YWx1
ZUVsZW1lbnQgPSB0aGlzLnZhbHVlRWxlbWVudDsKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiBj
aGFuZ2VDb2xvckRpc3BsYXkoZXZlbnQpIHsKKworICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
biBjaGFuZ2VUbyhuZXdNb2RlLCBjb250ZW50KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBt
b2RlID0gbmV3TW9kZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRWxlbWVudC50ZXh0
Q29udGVudCA9IGNvbnRlbnQ7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInJn
YiI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG8oImhzbCIsIGNvbG9yLnRv
SHNsKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlICJzaG9ydGhleCI6CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlVG8oImhleCIsIGNvbG9yLnRvSGV4KCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJoZXgiOgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJyZ2IiLCBjb2xvci50b1JnYigpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAg
ICAgICAgY2FzZSAibmlja25hbWUiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChj
b2xvci5zaW1wbGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9y
Lmhhc1Nob3J0SGV4KCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VUbygic2hvcnRoZXgiLCBjb2xvci50b1Nob3J0SGV4KCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
aGFuZ2VUbygiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJyZ2Jh
IiwgY29sb3IudG9SZ2JhKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJoc2wiOgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChjb2xvci5uaWNrbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2hhbmdlVG8oIm5pY2tuYW1lIiwgY29sb3IudG9OaWNrbmFtZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjb2xvci5oYXNTaG9ydEhleCgpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUbygic2hvcnRoZXgiLCBjb2xvci50b1No
b3J0SGV4KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG8oImhleCIsIGNvbG9yLnRvSGV4KCkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAg
ICBjYXNlICJyZ2JhIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUbygiaHNs
YSIsIGNvbG9yLnRvSHNsYSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiaHNsYSI6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGNvbG9yLm5pY2tuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjaGFuZ2VUbygibmlja25hbWUiLCBjb2xvci50b05pY2tuYW1lKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlVG8oInJnYmEiLCBjb2xvci50b1JnYmEoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbAppbmRleCAwY2Q4NmI1Li41Yjc2ZmVkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC02MSw2ICs2MSw3IEBAIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2NvcGVDaGFpblNpZGViYXJQ
YW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJNZXRyaWNzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IlByb3BlcnRpZXNTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29sb3IuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlN0eWxlc1NpZGViYXJQ
YW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJQYW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iUGFuZWxFbmFibGVyVmlldy5qcyI+PC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="18336"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34181</attachid>
            <date>2009-08-05 15:07:47 -0700</date>
            <delta_ts>2009-08-05 15:12:51 -0700</delta_ts>
            <desc>Added License</desc>
            <filename>copyright_stuff.patch</filename>
            <type>text/plain</type>
            <size>31833</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Zjc3YzY3OS4uMGE5Yjc2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAwOS0wOC0wNSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2xvciBpcyBvbmx5IHJlcG9ydGVkIGluIHJnYigpIGZvcm1h
dDsgc2hvdWxkIHRvZ2dsZSBiZXR3ZWVuIHJnYigpIGFuZCBoZXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTE2CisKKyAgICAgICAgICBOZXcgQ2xh
c3MgdG8gUGFyc2UgYW5kIENoYW5nZSBCZXR3ZWVuIENvbG9yIFJlcHJlc2VudGF0aW9uczoKKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanM6IEFkZGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbG9yKToKKworICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyBvZiBDb2xv
cnMgaW4gUmF3IEZvcm0uIChNYXkgYmUgTGF6eSBMb2FkZWQpOgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBzaG9ydGhleCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLmdldCBoZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9y
LnByb3RvdHlwZS5zZXQgaGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5
cGUuZ2V0IHJnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBy
Z2IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5nZXQgaHNsKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuc2V0IGhzbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCByZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUuc2V0IHJnYmEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnBy
b3RvdHlwZS5nZXQgaHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBl
LnNldCBoc2xhKToKKworICAgICAgICAgIEhlbHBlcnMgYW5kIFN0YW5kYXJkIFN0cmluZyBSZXBy
ZXNlbnRhdGlvbnM6CisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuaGFz
U2hvcnRIZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS50b1JnYik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSHNsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9TaG9ydEhleCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUudG9SZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90
b3R5cGUudG9Ic2xhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9O
aWNrbmFtZSk6CisKKyAgICAgICAgICBDb252ZXJzaW9uIEZ1bmN0aW9ucyB0byBEZXRlcm1pbmUg
T3RoZXIgUmVwcmVzZW50YXRpb25zOgorICAgICAgICAgIE15IFNvdXJjZXMgZm9yIGFsbCBhbGdv
cml0aG1zIGFuZCBzYW1wbGUgZGF0YToKKyAgICAgICAgICBXaWtpcGVkaWE6IGh0dHA6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvSFNWX2NvbG9yX3NwYWNlCisgICAgICAgICAgQ1NTIFNwZWNpZmlj
YXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvI2hzbGEtY29sb3IKKworICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5yZ2JUb0hleCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmhleFRvUmdiKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2xvci5wcm90b3R5cGUucmdiVG9Ic2wpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bG9yLnByb3RvdHlwZS5oc2xUb1JnYi5odWVUb1JnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29sb3IucHJvdG90eXBlLmhzbFRvUmdiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5w
cm90b3R5cGUucmdiYVRvSHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90
eXBlLmhzbGFUb1JnYmEpOgorCisgICAgICAgICAgQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9y
LCBhdHRlbXB0cyB0byBwYXJzZSBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvcgorICAgICAgICAgIGlm
IGl0IGNhbm5vdCBwYXJzZS4gIElmIHNpbXBsZSB0aGVuIHRoZSAiaGV4IiB2YWx1ZSBpcyBndWFy
ZW50ZWVkLgorICAgICAgICAgIElmIGFkdmFuY2VkIHRoZW4gYm90aCB0aGUgInJnYmEiIGFuZCAi
aHNsYSIgYXJlIGd1YXJlbnRlZWQuICBJZiBpdCBpcworICAgICAgICAgIGEgbmlja25hbWUgaW4g
YW55IHdheSAoZS5nLiAidHJhbnNwYXJlbnQiLCAiYmxhY2siKSB0aGVuIHRoaXMgaXMKKyAgICAg
ICAgICBndWFyZW50ZWVkIHRvIGJlIHNldCBhcyB3ZWxsLgorCisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLnBhcnNlKToKKworICAgICAgICAgIENsaWNraW5nIG9uIHRoZSBz
d2F0Y2ggd2lsbCByb3RhdGUgdGhyb3VnaCBDb2xvciBSZXByZXNlbnRhdGlvbnMuCisgICAgICAg
ICAgICBTaW1wbGU6ICAgcmdiIC0+IGhzbCAtPiBuaWNrbmFtZT8gLT4gc2hvcnRoZXg/IC0+IGhl
eCAtPiAobG9vcCBhcm91bmQpCisgICAgICAgICAgICBBZHZhbmNlZDogcmdiYSAtPiBoc2xhIC0+
IG5pY2tuYW1lPyAtPiAobG9vcCBhcm91bmQpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlVGl0bGUudmFsdWUuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVRp
dGxlKToKKworICAgICAgICAgIExvYWQgQ29sb3IuanM6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDA5LTA4LTAzICBKb3NlcGggUGVjb3Jhcm8g
IDxqb2VwZWNrMDJAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi43OTY4ZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC0wLDAgKzEsNjcxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLkNvbG9yID0gZnVuY3Rpb24o
c3RyKQoreworICAgIHRoaXMudmFsdWUgPSBzdHI7CisgICAgdGhpcy5wYXJzZSgpOworfQorCitX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlID0geworICAgIGdldCBzaG9ydGhleCgpCisgICAg
eworICAgICAgICBpZiAoIl9zaG9ydCIgaW4gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9zaG9ydDsKKworICAgICAgICBpZiAoIXRoaXMuc2ltcGxlKQorICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisKKyAgICAgICAgdmFyIGhleCA9IHRoaXMuaGV4OworICAgICAgICBpZiAoaGV4LmNo
YXJBdCgwKSA9PT0gaGV4LmNoYXJBdCgxKSAmJiBoZXguY2hhckF0KDIpID09PSBoZXguY2hhckF0
KDMpICYmIGhleC5jaGFyQXQoNCkgPT09IGhleC5jaGFyQXQoNSkpCisgICAgICAgICAgICB0aGlz
Ll9zaG9ydCA9IGhleC5jaGFyQXQoMCkgKyBoZXguY2hhckF0KDIpICsgaGV4LmNoYXJBdCg0KTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fc2hvcnQgPSBoZXg7CisKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3Nob3J0OworICAgIH0sCisKKyAgICBnZXQgaGV4KCkKKyAgICB7CisgICAg
ICAgIGlmICghdGhpcy5zaW1wbGUpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKworICAgICAg
ICByZXR1cm4gdGhpcy5faGV4OworICAgIH0sCisKKyAgICBzZXQgaGV4KHgpCisgICAgeworICAg
ICAgICB0aGlzLl9oZXggPSB4OworICAgIH0sCisKKyAgICBnZXQgcmdiKCkKKyAgICB7CisgICAg
ICAgIGlmICgiX3JnYiIgaW4gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZ2I7CisK
KyAgICAgICAgaWYgKHRoaXMuc2ltcGxlKQorICAgICAgICAgICAgdGhpcy5fcmdiID0gdGhpcy5o
ZXhUb1JnYih0aGlzLmhleCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIHJnYmEg
PSB0aGlzLnJnYmE7CisgICAgICAgICAgICB0aGlzLl9yZ2IgPSBbcmdiYVswXSwgcmdiYVsxXSwg
cmdiYVsyXV07CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdGhpcy5fcmdiOworICAgIH0s
CisKKyAgICBzZXQgcmdiKHgpCisgICAgeworICAgICAgICB0aGlzLl9yZ2IgPSB4OworICAgIH0s
CisKKyAgICBnZXQgaHNsKCkKKyAgICB7CisgICAgICAgIGlmICgiX2hzbCIgaW4gdGhpcykKKyAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9oc2w7CisKKyAgICAgICAgdGhpcy5faHNsID0gdGhpcy5y
Z2JUb0hzbCh0aGlzLnJnYik7CisgICAgICAgIHJldHVybiB0aGlzLl9oc2w7CisgICAgfSwKKwor
ICAgIHNldCBoc2woeCkKKyAgICB7CisgICAgICAgIHRoaXMuX2hzbCA9IHg7CisgICAgfSwKKwor
ICAgIGdldCBuaWNrbmFtZSgpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIHRoaXMuX25pY2tu
YW1lICE9PSAidW5kZWZpbmVkIikgLy8gd291bGQgYmUgc2V0IG9uIHBhcnNlIGlmIHRoZXJlIHdh
cyBhIG5pY2tuYW1lCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fbmlja25hbWU7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgIH0sCisKKyAgICBzZXQgbmlja25h
bWUoeCkKKyAgICB7CisgICAgICAgIHRoaXMuX25pY2tuYW1lID0geDsKKyAgICB9LAorCisgICAg
Z2V0IHJnYmEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3JnYmE7CisgICAgfSwKKwor
ICAgIHNldCByZ2JhKHgpCisgICAgeworICAgICAgICB0aGlzLl9yZ2JhID0geDsKKyAgICB9LAor
CisgICAgZ2V0IGhzbGEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2hzbGE7CisgICAg
fSwKKworICAgIHNldCBoc2xhKHgpCisgICAgeworICAgICAgICB0aGlzLl9oc2xhID0geDsKKyAg
ICB9LAorCisgICAgaGFzU2hvcnRIZXg6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBz
aG9ydGhleCA9IHRoaXMuc2hvcnRoZXg7CisgICAgICAgIHJldHVybiAoc2hvcnRoZXggJiYgc2hv
cnRoZXgubGVuZ3RoID09PSAzKTsKKyAgICB9LAorCisgICAgdG9SZ2I6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiAicmdiKCIgKyB0aGlzLnJnYi5qb2luKCIsICIpICsgIikiOwor
ICAgIH0sCisKKyAgICB0b0hzbDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGhzbCA9
IHRoaXMuaHNsOworICAgICAgICByZXR1cm4gImhzbCgiICsgaHNsWzBdICsgIiwgIiArIGhzbFsx
XSArICIlLCAiICsgaHNsWzJdICsgIiUpIjsKKyAgICB9LAorCisgICAgdG9TaG9ydEhleDogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuICIjIiArIHRoaXMuc2hvcnRoZXg7CisgICAg
fSwKKworICAgIHRvSGV4OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gIiMiICsg
dGhpcy5oZXg7CisgICAgfSwKKworICAgIHRvUmdiYTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuICJyZ2JhKCIgKyB0aGlzLnJnYmEuam9pbigiLCAiKSArICIpIjsKKyAgICB9LAor
CisgICAgdG9Ic2xhOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgaHNsYSA9IHRoaXMu
aHNsYTsKKyAgICAgICAgcmV0dXJuICJoc2xhKCIgKyBoc2xhWzBdICsgIiwgIiArIGhzbGFbMV0g
KyAiJSwgIiArIGhzbGFbMl0gKyAiJSwgIiArIGhzbGFbM10gKyAiKSI7CisgICAgfSwKKworICAg
IHRvTmlja25hbWU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLm5pY2tu
YW1lOworICAgIH0sCisKKyAgICByZ2JUb0hleDogZnVuY3Rpb24ocmdiKQorICAgIHsKKyAgICAg
ICAgdmFyIHIgPSBwYXJzZUludChyZ2JbMF0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgdmFyIGcg
PSBwYXJzZUludChyZ2JbMV0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgdmFyIGIgPSBwYXJzZUlu
dChyZ2JbMl0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgaWYgKHIubGVuZ3RoID09PSAxKQorICAg
ICAgICAgICAgciA9ICIwIiArIHI7CisgICAgICAgIGlmIChnLmxlbmd0aCA9PT0gMSkKKyAgICAg
ICAgICAgIGcgPSAiMCIgKyBnOworICAgICAgICBpZiAoYi5sZW5ndGggPT09IDEpCisgICAgICAg
ICAgICBiID0gIjAiICsgYjsKKworICAgICAgICByZXR1cm4gKHIgKyBnICsgYikudG9VcHBlckNh
c2UoKTsKKyAgICB9LAorCisgICAgaGV4VG9SZ2I6IGZ1bmN0aW9uKGhleCkKKyAgICB7CisgICAg
ICAgIHZhciByID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygwLDIpLCAxNik7CisgICAgICAgIHZh
ciBnID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygyLDQpLCAxNik7CisgICAgICAgIHZhciBiID0g
cGFyc2VJbnQoaGV4LnN1YnN0cmluZyg0LDYpLCAxNik7CisKKyAgICAgICAgcmV0dXJuIFtyLCBn
LCBiXTsKKyAgICB9LAorCisgICAgcmdiVG9Ic2w6IGZ1bmN0aW9uKHJnYikKKyAgICB7CisgICAg
ICAgIHZhciByID0gcGFyc2VJbnQocmdiWzBdKSAvIDI1NTsKKyAgICAgICAgdmFyIGcgPSBwYXJz
ZUludChyZ2JbMV0pIC8gMjU1OworICAgICAgICB2YXIgYiA9IHBhcnNlSW50KHJnYlsyXSkgLyAy
NTU7CisgICAgICAgIHZhciBtYXggPSBNYXRoLm1heChyLCBnLCBiKTsKKyAgICAgICAgdmFyIG1p
biA9IE1hdGgubWluKHIsIGcsIGIpOworICAgICAgICB2YXIgZGlmZiA9IG1heCAtIG1pbjsKKyAg
ICAgICAgdmFyIGFkZCA9IG1heCArIG1pbjsKKworICAgICAgICBpZiAobWluID09PSBtYXgpCisg
ICAgICAgICAgICB2YXIgaCA9IDA7CisgICAgICAgIGVsc2UgaWYgKHIgPT09IG1heCkKKyAgICAg
ICAgICAgIHZhciBoID0gKCg2MCAqIChnIC0gYikgLyBkaWZmKSArIDM2MCkgJSAzNjA7CisgICAg
ICAgIGVsc2UgaWYgKGcgPT09IG1heCkKKyAgICAgICAgICAgIHZhciBoID0gKDYwICogKGIgLSBy
KSAvIGRpZmYpICsgMTIwOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YXIgaCA9ICg2MCAq
IChyIC0gZykgLyBkaWZmKSArIDI0MDsKKworICAgICAgICB2YXIgbCA9IDAuNSAqIGFkZDsKKwor
ICAgICAgICBpZiAobCA9PT0gMCkKKyAgICAgICAgICAgIHZhciBzID0gMDsKKyAgICAgICAgZWxz
ZSBpZiAobCA9PT0gMSkKKyAgICAgICAgICAgIHZhciBzID0gMTsKKyAgICAgICAgZWxzZSBpZiAo
bCA8PSAwLjUpCisgICAgICAgICAgICB2YXIgcyA9IGRpZmYgLyBhZGQ7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHZhciBzID0gZGlmZiAvICgyIC0gYWRkKTsKKworICAgICAgICBoID0gTWF0
aC5yb3VuZChoKTsKKyAgICAgICAgcyA9IE1hdGgucm91bmQocyoxMDApOworICAgICAgICBsID0g
TWF0aC5yb3VuZChsKjEwMCk7CisKKyAgICAgICAgcmV0dXJuIFtoLCBzLCBsXTsKKyAgICB9LAor
CisgICAgaHNsVG9SZ2I6IGZ1bmN0aW9uKGhzbCkKKyAgICB7CisgICAgICAgIHZhciBoID0gcGFy
c2VGbG9hdChoc2xbMF0pIC8gMzYwOworICAgICAgICB2YXIgcyA9IHBhcnNlRmxvYXQoaHNsWzFd
KSAvIDEwMDsKKyAgICAgICAgdmFyIGwgPSBwYXJzZUZsb2F0KGhzbFsyXSkgLyAxMDA7CisKKyAg
ICAgICAgaWYgKGwgPD0gMC41KQorICAgICAgICAgICAgdmFyIHEgPSBsICogKDEgKyBzKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdmFyIHEgPSBsICsgcyAtIChsICogcyk7CisKKyAgICAg
ICAgdmFyIHAgPSAyICogbCAtIHE7CisKKyAgICAgICAgdmFyIHRyID0gaCArICgxIC8gMyk7Cisg
ICAgICAgIHZhciB0ZyA9IGg7CisgICAgICAgIHZhciB0YiA9IGggLSAoMSAvIDMpOworCisgICAg
ICAgIHZhciByID0gTWF0aC5yb3VuZChodWVUb1JnYihwLCBxLCB0cikgKiAyNTUpOworICAgICAg
ICB2YXIgZyA9IE1hdGgucm91bmQoaHVlVG9SZ2IocCwgcSwgdGcpICogMjU1KTsKKyAgICAgICAg
dmFyIGIgPSBNYXRoLnJvdW5kKGh1ZVRvUmdiKHAsIHEsIHRiKSAqIDI1NSk7CisgICAgICAgIHJl
dHVybiBbciwgZywgYl07CisKKyAgICAgICAgZnVuY3Rpb24gaHVlVG9SZ2IocCwgcSwgaCkgewor
ICAgICAgICAgICAgaWYgKGggPCAwKQorICAgICAgICAgICAgICAgIGggKz0gMTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGggPiAxKQorICAgICAgICAgICAgICAgIGggLT0gMTsKKworICAgICAgICAg
ICAgaWYgKChoICogNikgPCAxKQorICAgICAgICAgICAgICAgIHJldHVybiBwICsgKHEgLSBwKSAq
IGggKiA2OworICAgICAgICAgICAgZWxzZSBpZiAoKGggKiAyKSA8IDEpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHE7CisgICAgICAgICAgICBlbHNlIGlmICgoaCAqIDMpIDwgMikKKyAgICAgICAg
ICAgICAgICByZXR1cm4gcCArIChxIC0gcCkgKiAoKDIgLyAzKSAtIGgpICogNjsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgfQorICAgIH0sCisK
KyAgICByZ2JhVG9Ic2xhOiBmdW5jdGlvbihyZ2JhKQorICAgIHsKKyAgICAgICAgdmFyIGFscGhh
ID0gcmdiYVszXTsKKyAgICAgICAgdmFyIGhzbCA9IHRoaXMucmdiVG9Ic2wocmdiYSkKKyAgICAg
ICAgaHNsLnB1c2goYWxwaGEpOworICAgICAgICByZXR1cm4gaHNsOworICAgIH0sCisKKyAgICBo
c2xhVG9SZ2JhOiBmdW5jdGlvbihoc2xhKQorICAgIHsKKyAgICAgICAgdmFyIGFscGhhID0gaHNs
YVszXTsKKyAgICAgICAgdmFyIHJnYiA9IHRoaXMuaHNsVG9SZ2IoaHNsYSk7CisgICAgICAgIHJn
Yi5wdXNoKGFscGhhKTsKKyAgICAgICAgcmV0dXJuIHJnYjsKKyAgICB9LAorCisgICAgcGFyc2U6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIC8vIFNwZWNpYWwgVmFsdWVzIC0gQWR2YW5jZWQg
YnV0IE11c3QgQmUgUGFyc2VkIEZpcnN0IC0gdHJhbnNwYXJlbnQKKyAgICAgICAgdmFyIHZhbHVl
ID0gdGhpcy52YWx1ZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyV8XHMrL2csICIiKTsKKyAgICAg
ICAgaWYgKHZhbHVlIGluIFdlYkluc3BlY3Rvci5Db2xvci5BZHZhbmNlZE5pY2tOYW1lcykgewor
ICAgICAgICAgICAgdGhpcy5tb2RlID0gIm5pY2tuYW1lIjsKKyAgICAgICAgICAgIHZhciBzZXQg
PSBXZWJJbnNwZWN0b3IuQ29sb3IuQWR2YW5jZWROaWNrTmFtZXNbdmFsdWVdOworICAgICAgICAg
ICAgdGhpcy5zaW1wbGUgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMucmdiYSA9IHNldFswXTsK
KyAgICAgICAgICAgIHRoaXMuaHNsYSA9IHNldFsxXTsKKyAgICAgICAgICAgIHRoaXMubmlja25h
bWUgPSBzZXRbMl07CisgICAgICAgICAgICB0aGlzLmFscGhhID0gc2V0WzBdWzNdOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gU2ltcGxlIC0gI2hleCwgcmdi
KCksIG5pY2tuYW1lLCBoc2woKQorICAgICAgICB2YXIgc2ltcGxlID0gL14oPzojKFswLTlhLWZd
ezMsNn0pfHJnYlwoKFteKV0rKVwpfChcdyspfGhzbFwoKFteKV0rKVwpKSQvaTsKKyAgICAgICAg
dmFyIG1hdGNoID0gdGhpcy52YWx1ZS5tYXRjaChzaW1wbGUpOworICAgICAgICBpZiAobWF0Y2gp
IHsKKyAgICAgICAgICAgIHRoaXMuc2ltcGxlID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKG1h
dGNoWzFdKSB7IC8vIGhleAorICAgICAgICAgICAgICAgIHZhciBoZXggPSBtYXRjaFsxXS50b1Vw
cGVyQ2FzZSgpOworICAgICAgICAgICAgICAgIGlmIChoZXgubGVuZ3RoID09PSAzKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJzaG9ydGhleCI7CisgICAgICAgICAgICAgICAg
ICAgIHRoaXMuaGV4ID0gaGV4LmNoYXJBdCgwKSArIGhleC5jaGFyQXQoMCkgKyBoZXguY2hhckF0
KDEpICsgaGV4LmNoYXJBdCgxKSArIGhleC5jaGFyQXQoMikgKyBoZXguY2hhckF0KDIpOworICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJo
ZXgiOworICAgICAgICAgICAgICAgICAgICB0aGlzLmhleCA9IGhleDsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoWzJdKSB7IC8vIHJnYgorICAgICAgICAg
ICAgICAgIHRoaXMubW9kZSA9ICJyZ2IiOworICAgICAgICAgICAgICAgIHZhciByZ2IgPSBtYXRj
aFsyXS5zcGxpdCgvXHMqLFxzKi8pOworICAgICAgICAgICAgICAgIHRoaXMucmdiID0gcmdiOwor
ICAgICAgICAgICAgICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JUb0hleChyZ2IpOworICAgICAgICAg
ICAgfSBlbHNlIGlmIChtYXRjaFszXSkgeyAvLyBuaWNrbmFtZQorICAgICAgICAgICAgICAgIHZh
ciBuaWNrbmFtZSA9IG1hdGNoWzNdLnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICAgICAgaWYg
KG5pY2tuYW1lIGluIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5tb2RlID0gIm5pY2tuYW1lIjsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5oZXggPSBXZWJJbnNwZWN0b3IuQ29sb3IuTmlja25hbWVzW25pY2tuYW1lXTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgLy8gdW5rbm93biBuYW1lCisgICAgICAgICAgICAgICAgICAgIHRocm93
KCJ1bmtub3duIGNvbG9yIG5hbWUiKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2hbNF0p
IHsgLy8gaHNsCisgICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gImhzbCI7CisgICAgICAgICAg
ICAgICAgdmFyIGhzbCA9IG1hdGNoWzRdLnJlcGxhY2UoLyVnLywgIiIpLnNwbGl0KC9ccyosXHMq
Lyk7CisgICAgICAgICAgICAgICAgdGhpcy5oc2wgPSBoc2w7CisgICAgICAgICAgICAgICAgdGhp
cy5yZ2IgPSB0aGlzLmhzbFRvUmdiKGhzbCk7CisgICAgICAgICAgICAgICAgdGhpcy5oZXggPSB0
aGlzLnJnYlRvSGV4KHRoaXMucmdiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8g
RmlsbCBpbiB0aGUgdmFsdWVzIGlmIHRoaXMgaXMgYSBrbm93biBoZXggY29sb3IKKyAgICAgICAg
ICAgIHZhciBoZXggPSB0aGlzLmhleDsKKyAgICAgICAgICAgIGlmIChoZXggJiYgaGV4IGluIFdl
Ykluc3BlY3Rvci5Db2xvci5IZXhUYWJsZSkgeworICAgICAgICAgICAgICAgIHZhciBzZXQgPSBX
ZWJJbnNwZWN0b3IuQ29sb3IuSGV4VGFibGVbaGV4XTsKKyAgICAgICAgICAgICAgICB0aGlzLnJn
YiA9IHNldFswXTsKKyAgICAgICAgICAgICAgICB0aGlzLmhzbCA9IHNldFsxXTsKKyAgICAgICAg
ICAgICAgICB0aGlzLm5pY2tuYW1lID0gc2V0WzJdOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBBZHZhbmNlZCAtIHJnYmEoKSwg
aHNsYSgpCisgICAgICAgIHZhciBhZHZhbmNlZCA9IC9eKD86cmdiYVwoKFteKV0rKVwpfGhzbGFc
KChbXildKylcKSkkLzsKKyAgICAgICAgbWF0Y2ggPSB0aGlzLnZhbHVlLm1hdGNoKGFkdmFuY2Vk
KTsKKyAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICB0aGlzLnNpbXBsZSA9IGZhbHNl
OworICAgICAgICAgICAgaWYgKG1hdGNoWzFdKSB7IC8vIHJnYmEKKyAgICAgICAgICAgICAgICB0
aGlzLm1vZGUgPSAicmdiYSI7CisgICAgICAgICAgICAgICAgdGhpcy5yZ2JhID0gbWF0Y2hbMV0u
c3BsaXQoL1xzKixccyovKTsKKyAgICAgICAgICAgICAgICB0aGlzLmhzbGEgPSB0aGlzLnJnYmFU
b0hzbGEodGhpcy5yZ2JhKTsKKyAgICAgICAgICAgICAgICB0aGlzLmFscGhhID0gdGhpcy5yZ2Jh
WzNdOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaFsyXSkgeyAvLyBoc2xhCisgICAgICAg
ICAgICAgICAgdGhpcy5tb2RlID0gImhzbGEiOworICAgICAgICAgICAgICAgIHRoaXMuaHNsYSA9
IG1hdGNoWzJdLnJlcGxhY2UoLyUvZywgIiIpLnNwbGl0KC9ccyosXHMqLyk7CisgICAgICAgICAg
ICAgICAgdGhpcy5yZ2JhID0gdGhpcy5oc2xhVG9SZ2JhKHRoaXMuaHNsYSk7CisgICAgICAgICAg
ICAgICAgdGhpcy5hbHBoYSA9IHRoaXMuaHNsYVszXTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gQ291bGQgbm90IHBhcnNlIGFz
IGEgdmFsaWQgY29sb3IKKyAgICAgICAgdGhyb3coImNvdWxkIG5vdCBwYXJzZSBjb2xvciIpOwor
ICAgIH0KK30KKworLy8gU2ltcGxlIFZhbHVlczogW3JnYiwgaHNsLCBuaWNrbmFtZV0KK1dlYklu
c3BlY3Rvci5Db2xvci5IZXhUYWJsZSA9IHsKKyAgICAiMDAwMDAwIjogW1swLCAwLCAwXSwgWzAs
IDAsIDBdLCAiYmxhY2siXSwKKyAgICAiMDAwMDgwIjogW1swLCAwLCAxMjhdLCBbMjQwLCAxMDAs
IDI1XSwgIm5hdnkiXSwKKyAgICAiMDAwMDhCIjogW1swLCAwLCAxMzldLCBbMjQwLCAxMDAsIDI3
XSwgImRhcmtCbHVlIl0sCisgICAgIjAwMDBDRCI6IFtbMCwgMCwgMjA1XSwgWzI0MCwgMTAwLCA0
MF0sICJtZWRpdW1CbHVlIl0sCisgICAgIjAwMDBGRiI6IFtbMCwgMCwgMjU1XSwgWzI0MCwgMTAw
LCA1MF0sICJibHVlIl0sCisgICAgIjAwNjQwMCI6IFtbMCwgMTAwLCAwXSwgWzEyMCwgMTAwLCAy
MF0sICJkYXJrR3JlZW4iXSwKKyAgICAiMDA4MDAwIjogW1swLCAxMjgsIDBdLCBbMTIwLCAxMDAs
IDI1XSwgImdyZWVuIl0sCisgICAgIjAwODA4MCI6IFtbMCwgMTI4LCAxMjhdLCBbMTgwLCAxMDAs
IDI1XSwgInRlYWwiXSwKKyAgICAiMDA4QjhCIjogW1swLCAxMzksIDEzOV0sIFsxODAsIDEwMCwg
MjddLCAiZGFya0N5YW4iXSwKKyAgICAiMDBCRkZGIjogW1swLCAxOTEsIDI1NV0sIFsxOTUsIDEw
MCwgNTBdLCAiZGVlcFNreUJsdWUiXSwKKyAgICAiMDBDRUQxIjogW1swLCAyMDYsIDIwOV0sIFsx
ODEsIDEwMCwgNDFdLCAiZGFya1R1cnF1b2lzZSJdLAorICAgICIwMEZBOUEiOiBbWzAsIDI1MCwg
MTU0XSwgWzE1NywgMTAwLCA0OV0sICJtZWRpdW1TcHJpbmdHcmVlbiJdLAorICAgICIwMEZGMDAi
OiBbWzAsIDI1NSwgMF0sIFsxMjAsIDEwMCwgNTBdLCAibGltZSJdLAorICAgICIwMEZGN0YiOiBb
WzAsIDI1NSwgMTI3XSwgWzE1MCwgMTAwLCA1MF0sICJzcHJpbmdHcmVlbiJdLAorICAgICIwMEZG
RkYiOiBbWzAsIDI1NSwgMjU1XSwgWzE4MCwgMTAwLCA1MF0sICJjeWFuIl0sCisgICAgIjE5MTk3
MCI6IFtbMjUsIDI1LCAxMTJdLCBbMjQwLCA2NCwgMjddLCAibWlkbmlnaHRCbHVlIl0sCisgICAg
IjFFOTBGRiI6IFtbMzAsIDE0NCwgMjU1XSwgWzIxMCwgMTAwLCA1Nl0sICJkb2RnZXJCbHVlIl0s
CisgICAgIjIwQjJBQSI6IFtbMzIsIDE3OCwgMTcwXSwgWzE3NywgNzAsIDQxXSwgImxpZ2h0U2Vh
R3JlZW4iXSwKKyAgICAiMjI4QjIyIjogW1szNCwgMTM5LCAzNF0sIFsxMjAsIDYxLCAzNF0sICJm
b3Jlc3RHcmVlbiJdLAorICAgICIyRThCNTciOiBbWzQ2LCAxMzksIDg3XSwgWzE0NiwgNTAsIDM2
XSwgInNlYUdyZWVuIl0sCisgICAgIjJGNEY0RiI6IFtbNDcsIDc5LCA3OV0sIFsxODAsIDI1LCAy
NV0sICJkYXJrU2xhdGVHcmF5Il0sCisgICAgIjMyQ0QzMiI6IFtbNTAsIDIwNSwgNTBdLCBbMTIw
LCA2MSwgNTBdLCAibGltZUdyZWVuIl0sCisgICAgIjNDQjM3MSI6IFtbNjAsIDE3OSwgMTEzXSwg
WzE0NywgNTAsIDQ3XSwgIm1lZGl1bVNlYUdyZWVuIl0sCisgICAgIjQwRTBEMCI6IFtbNjQsIDIy
NCwgMjA4XSwgWzE3NCwgNzIsIDU2XSwgInR1cnF1b2lzZSJdLAorICAgICI0MTY5RTEiOiBbWzY1
LCAxMDUsIDIyNV0sIFsyMjUsIDczLCA1N10sICJyb3lhbEJsdWUiXSwKKyAgICAiNDY4MkI0Ijog
W1s3MCwgMTMwLCAxODBdLCBbMjA3LCA0NCwgNDldLCAic3RlZWxCbHVlIl0sCisgICAgIjQ4M0Q4
QiI6IFtbNzIsIDYxLCAxMzldLCBbMjQ4LCAzOSwgMzldLCAiZGFya1NsYXRlQmx1ZSJdLAorICAg
ICI0OEQxQ0MiOiBbWzcyLCAyMDksIDIwNF0sIFsxNzgsIDYwLCA1NV0sICJtZWRpdW1UdXJxdW9p
c2UiXSwKKyAgICAiNEIwMDgyIjogW1s3NSwgMCwgMTMwXSwgWzI3NSwgMTAwLCAyNV0sICJpbmRp
Z28iXSwKKyAgICAiNTU2QjJGIjogW1s4NSwgMTA3LCA0N10sIFs4MiwgMzksIDMwXSwgImRhcmtP
bGl2ZUdyZWVuIl0sCisgICAgIjVGOUVBMCI6IFtbOTUsIDE1OCwgMTYwXSwgWzE4MiwgMjUsIDUw
XSwgImNhZGV0Qmx1ZSJdLAorICAgICI2NDk1RUQiOiBbWzEwMCwgMTQ5LCAyMzddLCBbMjE5LCA3
OSwgNjZdLCAiY29ybmZsb3dlckJsdWUiXSwKKyAgICAiNjZDREFBIjogW1sxMDIsIDIwNSwgMTcw
XSwgWzE2MCwgNTEsIDYwXSwgIm1lZGl1bUFxdWFNYXJpbmUiXSwKKyAgICAiNjk2OTY5IjogW1sx
MDUsIDEwNSwgMTA1XSwgWzAsIDAsIDQxXSwgImRpbUdyYXkiXSwKKyAgICAiNkE1QUNEIjogW1sx
MDYsIDkwLCAyMDVdLCBbMjQ4LCA1MywgNThdLCAic2xhdGVCbHVlIl0sCisgICAgIjZCOEUyMyI6
IFtbMTA3LCAxNDIsIDM1XSwgWzgwLCA2MCwgMzVdLCAib2xpdmVEcmFiIl0sCisgICAgIjcwODA5
MCI6IFtbMTEyLCAxMjgsIDE0NF0sIFsyMTAsIDEzLCA1MF0sICJzbGF0ZUdyYXkiXSwKKyAgICAi
Nzc4ODk5IjogW1sxMTksIDEzNiwgMTUzXSwgWzIxMCwgMTQsIDUzXSwgImxpZ2h0U2xhdGVHcmF5
Il0sCisgICAgIjdCNjhFRSI6IFtbMTIzLCAxMDQsIDIzOF0sIFsyNDksIDgwLCA2N10sICJtZWRp
dW1TbGF0ZUJsdWUiXSwKKyAgICAiN0NGQzAwIjogW1sxMjQsIDI1MiwgMF0sIFs5MCwgMTAwLCA0
OV0sICJsYXduR3JlZW4iXSwKKyAgICAiN0ZGRjAwIjogW1sxMjcsIDI1NSwgMF0sIFs5MCwgMTAw
LCA1MF0sICJjaGFydHJldXNlIl0sCisgICAgIjdGRkZENCI6IFtbMTI3LCAyNTUsIDIxMl0sIFsx
NjAsIDEwMCwgNzVdLCAiYXF1YW1hcmluZSJdLAorICAgICI4MDAwMDAiOiBbWzEyOCwgMCwgMF0s
IFswLCAxMDAsIDI1XSwgIm1hcm9vbiJdLAorICAgICI4MDAwODAiOiBbWzEyOCwgMCwgMTI4XSwg
WzMwMCwgMTAwLCAyNV0sICJwdXJwbGUiXSwKKyAgICAiODA4MDAwIjogW1sxMjgsIDEyOCwgMF0s
IFs2MCwgMTAwLCAyNV0sICJvbGl2ZSJdLAorICAgICI4MDgwODAiOiBbWzEyOCwgMTI4LCAxMjhd
LCBbMCwgMCwgNTBdLCAiZ3JheSJdLAorICAgICI4N0NFRUIiOiBbWzEzNSwgMjA2LCAyMzVdLCBb
MTk3LCA3MSwgNzNdLCAic2t5Qmx1ZSJdLAorICAgICI4N0NFRkEiOiBbWzEzNSwgMjA2LCAyNTBd
LCBbMjAzLCA5MiwgNzVdLCAibGlnaHRTa3lCbHVlIl0sCisgICAgIjhBMkJFMiI6IFtbMTM4LCA0
MywgMjI2XSwgWzI3MSwgNzYsIDUzXSwgImJsdWVWaW9sZXQiXSwKKyAgICAiOEIwMDAwIjogW1sx
MzksIDAsIDBdLCBbMCwgMTAwLCAyN10sICJkYXJrUmVkIl0sCisgICAgIjhCMDA4QiI6IFtbMTM5
LCAwLCAxMzldLCBbMzAwLCAxMDAsIDI3XSwgImRhcmtNYWdlbnRhIl0sCisgICAgIjhCNDUxMyI6
IFtbMTM5LCA2OSwgMTldLCBbMjUsIDc2LCAzMV0sICJzYWRkbGVCcm93biJdLAorICAgICI4RkJD
OEYiOiBbWzE0MywgMTg4LCAxNDNdLCBbMTIwLCAyNSwgNjVdLCAiZGFya1NlYUdyZWVuIl0sCisg
ICAgIjkwRUU5MCI6IFtbMTQ0LCAyMzgsIDE0NF0sIFsxMjAsIDczLCA3NV0sICJsaWdodEdyZWVu
Il0sCisgICAgIjkzNzBEOCI6IFtbMTQ3LCAxMTIsIDIxOV0sIFsyNjAsIDYwLCA2NV0sICJtZWRp
dW1QdXJwbGUiXSwKKyAgICAiOTQwMEQzIjogW1sxNDgsIDAsIDIxMV0sIFsyODIsIDEwMCwgNDFd
LCAiZGFya1Zpb2xldCJdLAorICAgICI5OEZCOTgiOiBbWzE1MiwgMjUxLCAxNTJdLCBbMTIwLCA5
MywgNzldLCAicGFsZUdyZWVuIl0sCisgICAgIjk5MzJDQyI6IFtbMTUzLCA1MCwgMjA0XSwgWzI4
MCwgNjEsIDUwXSwgImRhcmtPcmNoaWQiXSwKKyAgICAiOUFDRDMyIjogW1sxNTQsIDIwNSwgNTBd
LCBbODAsIDYxLCA1MF0sICJ5ZWxsb3dHcmVlbiJdLAorICAgICJBMDUyMkQiOiBbWzE2MCwgODIs
IDQ1XSwgWzE5LCA1NiwgNDBdLCAic2llbm5hIl0sCisgICAgIkE1MkEyQSI6IFtbMTY1LCA0Miwg
NDJdLCBbMCwgNTksIDQxXSwgImJyb3duIl0sCisgICAgIkE5QTlBOSI6IFtbMTY5LCAxNjksIDE2
OV0sIFswLCAwLCA2Nl0sICJkYXJrR3JheSJdLAorICAgICJBREQ4RTYiOiBbWzE3MywgMjE2LCAy
MzBdLCBbMTk1LCA1MywgNzldLCAibGlnaHRCbHVlIl0sCisgICAgIkFERkYyRiI6IFtbMTczLCAy
NTUsIDQ3XSwgWzg0LCAxMDAsIDU5XSwgImdyZWVuWWVsbG93Il0sCisgICAgIkFGRUVFRSI6IFtb
MTc1LCAyMzgsIDIzOF0sIFsxODAsIDY1LCA4MV0sICJwYWxlVHVycXVvaXNlIl0sCisgICAgIkIw
QzRERSI6IFtbMTc2LCAxOTYsIDIyMl0sIFsyMTQsIDQxLCA3OF0sICJsaWdodFN0ZWVsQmx1ZSJd
LAorICAgICJCMEUwRTYiOiBbWzE3NiwgMjI0LCAyMzBdLCBbMTg3LCA1MiwgODBdLCAicG93ZGVy
Qmx1ZSJdLAorICAgICJCMjIyMjIiOiBbWzE3OCwgMzQsIDM0XSwgWzAsIDY4LCA0Ml0sICJmaXJl
QnJpY2siXSwKKyAgICAiQjg4NjBCIjogW1sxODQsIDEzNCwgMTFdLCBbNDMsIDg5LCAzOF0sICJk
YXJrR29sZGVuUm9kIl0sCisgICAgIkJBNTVEMyI6IFtbMTg2LCA4NSwgMjExXSwgWzI4OCwgNTks
IDU4XSwgIm1lZGl1bU9yY2hpZCJdLAorICAgICJCQzhGOEYiOiBbWzE4OCwgMTQzLCAxNDNdLCBb
MCwgMjUsIDY1XSwgInJvc3lCcm93biJdLAorICAgICJCREI3NkIiOiBbWzE4OSwgMTgzLCAxMDdd
LCBbNTYsIDM4LCA1OF0sICJkYXJrS2hha2kiXSwKKyAgICAiQzBDMEMwIjogW1sxOTIsIDE5Miwg
MTkyXSwgWzAsIDAsIDc1XSwgInNpbHZlciJdLAorICAgICJDNzE1ODUiOiBbWzE5OSwgMjEsIDEz
M10sIFszMjIsIDgxLCA0M10sICJtZWRpdW1WaW9sZXRSZWQiXSwKKyAgICAiQ0Q1QzVDIjogW1sy
MDUsIDkyLCA5Ml0sIFswLCA1MywgNThdLCAiaW5kaWFuUmVkIl0sCisgICAgIkNEODUzRiI6IFtb
MjA1LCAxMzMsIDYzXSwgWzMwLCA1OSwgNTNdLCAicGVydSJdLAorICAgICJEMjY5MUUiOiBbWzIx
MCwgMTA1LCAzMF0sIFsyNSwgNzUsIDQ3XSwgImNob2NvbGF0ZSJdLAorICAgICJEMkI0OEMiOiBb
WzIxMCwgMTgwLCAxNDBdLCBbMzQsIDQ0LCA2OV0sICJ0YW4iXSwKKyAgICAiRDNEM0QzIjogW1sy
MTEsIDIxMSwgMjExXSwgWzAsIDAsIDgzXSwgImxpZ2h0R3JleSJdLAorICAgICJEODcwOTMiOiBb
WzIxOSwgMTEyLCAxNDddLCBbMzQwLCA2MCwgNjVdLCAicGFsZVZpb2xldFJlZCJdLAorICAgICJE
OEJGRDgiOiBbWzIxNiwgMTkxLCAyMTZdLCBbMzAwLCAyNCwgODBdLCAidGhpc3RsZSJdLAorICAg
ICJEQTcwRDYiOiBbWzIxOCwgMTEyLCAyMTRdLCBbMzAyLCA1OSwgNjVdLCAib3JjaGlkIl0sCisg
ICAgIkRBQTUyMCI6IFtbMjE4LCAxNjUsIDMyXSwgWzQzLCA3NCwgNDldLCAiZ29sZGVuUm9kIl0s
CisgICAgIkRDMTQzQyI6IFtbMjM3LCAxNjQsIDYxXSwgWzM1LCA4MywgNThdLCAiY3JpbXNvbiJd
LAorICAgICJEQ0RDREMiOiBbWzIyMCwgMjIwLCAyMjBdLCBbMCwgMCwgODZdLCAiZ2FpbnNib3Jv
Il0sCisgICAgIkREQTBERCI6IFtbMjIxLCAxNjAsIDIyMV0sIFszMDAsIDQ3LCA3NV0sICJwbHVt
Il0sCisgICAgIkRFQjg4NyI6IFtbMjIyLCAxODQsIDEzNV0sIFszNCwgNTcsIDcwXSwgImJ1cmx5
V29vZCJdLAorICAgICJFMEZGRkYiOiBbWzIyNCwgMjU1LCAyNTVdLCBbMTgwLCAxMDAsIDk0XSwg
ImxpZ2h0Q3lhbiJdLAorICAgICJFNkU2RkEiOiBbWzIzMCwgMjMwLCAyNTBdLCBbMjQwLCA2Nywg
OTRdLCAibGF2ZW5kZXIiXSwKKyAgICAiRTk5NjdBIjogW1syMzMsIDE1MCwgMTIyXSwgWzE1LCA3
MiwgNzBdLCAiZGFya1NhbG1vbiJdLAorICAgICJFRTgyRUUiOiBbWzIzOCwgMTMwLCAyMzhdLCBb
MzAwLCA3NiwgNzJdLCAidmlvbGV0Il0sCisgICAgIkVFRThBQSI6IFtbMjM4LCAyMzIsIDE3MF0s
IFs1NSwgNjcsIDgwXSwgInBhbGVHb2xkZW5Sb2QiXSwKKyAgICAiRjA4MDgwIjogW1syNDAsIDEy
OCwgMTI4XSwgWzAsIDc5LCA3Ml0sICJsaWdodENvcmFsIl0sCisgICAgIkYwRTY4QyI6IFtbMjQw
LCAyMzAsIDE0MF0sIFs1NCwgNzcsIDc1XSwgImtoYWtpIl0sCisgICAgIkYwRjhGRiI6IFtbMjQw
LCAyNDgsIDI1NV0sIFsyMDgsIDEwMCwgOTddLCAiYWxpY2VCbHVlIl0sCisgICAgIkYwRkZGMCI6
IFtbMjQwLCAyNTUsIDI0MF0sIFsxMjAsIDEwMCwgOTddLCAiaG9uZXlEZXciXSwKKyAgICAiRjBG
RkZGIjogW1syNDAsIDI1NSwgMjU1XSwgWzE4MCwgMTAwLCA5N10sICJhenVyZSJdLAorICAgICJG
NEE0NjAiOiBbWzI0NCwgMTY0LCA5Nl0sIFsyOCwgODcsIDY3XSwgInNhbmR5QnJvd24iXSwKKyAg
ICAiRjVERUIzIjogW1syNDUsIDIyMiwgMTc5XSwgWzM5LCA3NywgODNdLCAid2hlYXQiXSwKKyAg
ICAiRjVGNURDIjogW1syNDUsIDI0NSwgMjIwXSwgWzYwLCA1NiwgOTFdLCAiYmVpZ2UiXSwKKyAg
ICAiRjVGNUY1IjogW1syNDUsIDI0NSwgMjQ1XSwgWzAsIDAsIDk2XSwgIndoaXRlU21va2UiXSwK
KyAgICAiRjVGRkZBIjogW1syNDUsIDI1NSwgMjUwXSwgWzE1MCwgMTAwLCA5OF0sICJtaW50Q3Jl
YW0iXSwKKyAgICAiRjhGOEZGIjogW1syNDgsIDI0OCwgMjU1XSwgWzI0MCwgMTAwLCA5OV0sICJn
aG9zdFdoaXRlIl0sCisgICAgIkZBODA3MiI6IFtbMjUwLCAxMjgsIDExNF0sIFs2LCA5MywgNzFd
LCAic2FsbW9uIl0sCisgICAgIkZBRUJENyI6IFtbMjUwLCAyMzUsIDIxNV0sIFszNCwgNzgsIDkx
XSwgImFudGlxdWVXaGl0ZSJdLAorICAgICJGQUYwRTYiOiBbWzI1MCwgMjQwLCAyMzBdLCBbMzAs
IDY3LCA5NF0sICJsaW5lbiJdLAorICAgICJGQUZBRDIiOiBbWzI1MCwgMjUwLCAyMTBdLCBbNjAs
IDgwLCA5MF0sICJsaWdodEdvbGRlblJvZFllbGxvdyJdLAorICAgICJGREY1RTYiOiBbWzI1Mywg
MjQ1LCAyMzBdLCBbMzksIDg1LCA5NV0sICJvbGRMYWNlIl0sCisgICAgIkZGMDAwMCI6IFtbMjU1
LCAwLCAwXSwgWzAsIDEwMCwgNTBdLCAicmVkIl0sCisgICAgIkZGMDBGRiI6IFtbMjU1LCAwLCAy
NTVdLCBbMzAwLCAxMDAsIDUwXSwgIm1hZ2VudGEiXSwKKyAgICAiRkYxNDkzIjogW1syNTUsIDIw
LCAxNDddLCBbMzI4LCAxMDAsIDU0XSwgImRlZXBQaW5rIl0sCisgICAgIkZGNDUwMCI6IFtbMjU1
LCA2OSwgMF0sIFsxNiwgMTAwLCA1MF0sICJvcmFuZ2VSZWQiXSwKKyAgICAiRkY2MzQ3IjogW1sy
NTUsIDk5LCA3MV0sIFs5LCAxMDAsIDY0XSwgInRvbWF0byJdLAorICAgICJGRjY5QjQiOiBbWzI1
NSwgMTA1LCAxODBdLCBbMzMwLCAxMDAsIDcxXSwgImhvdFBpbmsiXSwKKyAgICAiRkY3RjUwIjog
W1syNTUsIDEyNywgODBdLCBbMTYsIDEwMCwgNjZdLCAiY29yYWwiXSwKKyAgICAiRkY4QzAwIjog
W1syNTUsIDE0MCwgMF0sIFszMywgMTAwLCA1MF0sICJkYXJrT3JhbmdlIl0sCisgICAgIkZGQTA3
QSI6IFtbMjU1LCAxNjAsIDEyMl0sIFsxNywgMTAwLCA3NF0sICJsaWdodFNhbG1vbiJdLAorICAg
ICJGRkE1MDAiOiBbWzI1NSwgMTY1LCAwXSwgWzM5LCAxMDAsIDUwXSwgIm9yYW5nZSJdLAorICAg
ICJGRkI2QzEiOiBbWzI1NSwgMTgyLCAxOTNdLCBbMzUxLCAxMDAsIDg2XSwgImxpZ2h0UGluayJd
LAorICAgICJGRkMwQ0IiOiBbWzI1NSwgMTkyLCAyMDNdLCBbMzUwLCAxMDAsIDg4XSwgInBpbmsi
XSwKKyAgICAiRkZENzAwIjogW1syNTUsIDIxNSwgMF0sIFs1MSwgMTAwLCA1MF0sICJnb2xkIl0s
CisgICAgIkZGREFCOSI6IFtbMjU1LCAyMTgsIDE4NV0sIFsyOCwgMTAwLCA4Nl0sICJwZWFjaFB1
ZmYiXSwKKyAgICAiRkZERUFEIjogW1syNTUsIDIyMiwgMTczXSwgWzM2LCAxMDAsIDg0XSwgIm5h
dmFqb1doaXRlIl0sCisgICAgIkZGRTRCNSI6IFtbMjU1LCAyMjgsIDE4MV0sIFszOCwgMTAwLCA4
NV0sICJtb2NjYXNpbiJdLAorICAgICJGRkU0QzQiOiBbWzI1NSwgMjI4LCAxOTZdLCBbMzMsIDEw
MCwgODhdLCAiYmlzcXVlIl0sCisgICAgIkZGRTRFMSI6IFtbMjU1LCAyMjgsIDIyNV0sIFs2LCAx
MDAsIDk0XSwgIm1pc3R5Um9zZSJdLAorICAgICJGRkVCQ0QiOiBbWzI1NSwgMjM1LCAyMDVdLCBb
MzYsIDEwMCwgOTBdLCAiYmxhbmNoZWRBbG1vbmQiXSwKKyAgICAiRkZFRkQ1IjogW1syNTUsIDIz
OSwgMjEzXSwgWzM3LCAxMDAsIDkyXSwgInBhcGF5YVdoaXAiXSwKKyAgICAiRkZGMEY1IjogW1sy
NTUsIDI0MCwgMjQ1XSwgWzM0MCwgMTAwLCA5N10sICJsYXZlbmRlckJsdXNoIl0sCisgICAgIkZG
RjVFRSI6IFtbMjU1LCAyNDUsIDIzOF0sIFsyNSwgMTAwLCA5N10sICJzZWFTaGVsbCJdLAorICAg
ICJGRkY4REMiOiBbWzI1NSwgMjQ4LCAyMjBdLCBbNDgsIDEwMCwgOTNdLCAiY29ybnNpbGsiXSwK
KyAgICAiRkZGQUNEIjogW1syNTUsIDI1MCwgMjA1XSwgWzU0LCAxMDAsIDkwXSwgImxlbW9uQ2hp
ZmZvbiJdLAorICAgICJGRkZBRjAiOiBbWzI1NSwgMjUwLCAyNDBdLCBbNDAsIDEwMCwgOTddLCAi
ZmxvcmFsV2hpdGUiXSwKKyAgICAiRkZGQUZBIjogW1syNTUsIDI1MCwgMjUwXSwgWzAsIDEwMCwg
OTldLCAic25vdyJdLAorICAgICJGRkZGMDAiOiBbWzI1NSwgMjU1LCAwXSwgWzYwLCAxMDAsIDUw
XSwgInllbGxvdyJdLAorICAgICJGRkZGRTAiOiBbWzI1NSwgMjU1LCAyMjRdLCBbNjAsIDEwMCwg
OTRdLCAibGlnaHRZZWxsb3ciXSwKKyAgICAiRkZGRkYwIjogW1syNTUsIDI1NSwgMjQwXSwgWzYw
LCAxMDAsIDk3XSwgIml2b3J5Il0sCisgICAgIkZGRkZGRiI6IFtbMjU1LCAyNTUsIDI1NV0sIFsw
LCAxMDAsIDEwMF0sICJ3aGl0ZSJdCit9OworCisvLyBTaW1wbGUgVmFsdWVzCitXZWJJbnNwZWN0
b3IuQ29sb3IuTmlja25hbWVzID0geworICAgICJhbGljZWJsdWUiOiAiRjBGOEZGIiwKKyAgICAi
YW50aXF1ZXdoaXRlIjogIkZBRUJENyIsCisgICAgImFxdWEiOiAiMDBGRkZGIiwKKyAgICAiYXF1
YW1hcmluZSI6ICI3RkZGRDQiLAorICAgICJhenVyZSI6ICJGMEZGRkYiLAorICAgICJiZWlnZSI6
ICJGNUY1REMiLAorICAgICJiaXNxdWUiOiAiRkZFNEM0IiwKKyAgICAiYmxhY2siOiAiMDAwMDAw
IiwKKyAgICAiYmxhbmNoZWRhbG1vbmQiOiAiRkZFQkNEIiwKKyAgICAiYmx1ZSI6ICIwMDAwRkYi
LAorICAgICJibHVldmlvbGV0IjogIjhBMkJFMiIsCisgICAgImJyb3duIjogIkE1MkEyQSIsCisg
ICAgImJ1cmx5d29vZCI6ICJERUI4ODciLAorICAgICJjYWRldGJsdWUiOiAiNUY5RUEwIiwKKyAg
ICAiY2hhcnRyZXVzZSI6ICI3RkZGMDAiLAorICAgICJjaG9jb2xhdGUiOiAiRDI2OTFFIiwKKyAg
ICAiY29yYWwiOiAiRkY3RjUwIiwKKyAgICAiY29ybmZsb3dlcmJsdWUiOiAiNjQ5NUVEIiwKKyAg
ICAiY29ybnNpbGsiOiAiRkZGOERDIiwKKyAgICAiY3JpbXNvbiI6ICJEQzE0M0MiLAorICAgICJj
eWFuIjogIjAwRkZGRiIsCisgICAgImRhcmtibHVlIjogIjAwMDA4QiIsCisgICAgImRhcmtjeWFu
IjogIjAwOEI4QiIsCisgICAgImRhcmtnb2xkZW5yb2QiOiAiQjg4NjBCIiwKKyAgICAiZGFya2dy
YXkiOiAiQTlBOUE5IiwKKyAgICAiZGFya2dyZWVuIjogIjAwNjQwMCIsCisgICAgImRhcmtraGFr
aSI6ICJCREI3NkIiLAorICAgICJkYXJrbWFnZW50YSI6ICI4QjAwOEIiLAorICAgICJkYXJrb2xp
dmVncmVlbiI6ICI1NTZCMkYiLAorICAgICJkYXJrb3JhbmdlIjogIkZGOEMwMCIsCisgICAgImRh
cmtvcmNoaWQiOiAiOTkzMkNDIiwKKyAgICAiZGFya3JlZCI6ICI4QjAwMDAiLAorICAgICJkYXJr
c2FsbW9uIjogIkU5OTY3QSIsCisgICAgImRhcmtzZWFncmVlbiI6ICI4RkJDOEYiLAorICAgICJk
YXJrc2xhdGVibHVlIjogIjQ4M0Q4QiIsCisgICAgImRhcmtzbGF0ZWdyYXkiOiAiMkY0RjRGIiwK
KyAgICAiZGFya3R1cnF1b2lzZSI6ICIwMENFRDEiLAorICAgICJkYXJrdmlvbGV0IjogIjk0MDBE
MyIsCisgICAgImRlZXBwaW5rIjogIkZGMTQ5MyIsCisgICAgImRlZXBza3libHVlIjogIjAwQkZG
RiIsCisgICAgImRpbWdyYXkiOiAiNjk2OTY5IiwKKyAgICAiZG9kZ2VyYmx1ZSI6ICIxRTkwRkYi
LAorICAgICJmaXJlYnJpY2siOiAiQjIyMjIyIiwKKyAgICAiZmxvcmFsd2hpdGUiOiAiRkZGQUYw
IiwKKyAgICAiZm9yZXN0Z3JlZW4iOiAiMjI4QjIyIiwKKyAgICAiZnVjaHNpYSI6ICJGRjAwRkYi
LAorICAgICJnYWluc2Jvcm8iOiAiRENEQ0RDIiwKKyAgICAiZ2hvc3R3aGl0ZSI6ICJGOEY4RkYi
LAorICAgICJnb2xkIjogIkZGRDcwMCIsCisgICAgImdvbGRlbnJvZCI6ICJEQUE1MjAiLAorICAg
ICJncmF5IjogIjgwODA4MCIsCisgICAgImdyZWVuIjogIjAwODAwMCIsCisgICAgImdyZWVueWVs
bG93IjogIkFERkYyRiIsCisgICAgImhvbmV5ZGV3IjogIkYwRkZGMCIsCisgICAgImhvdHBpbmsi
OiAiRkY2OUI0IiwKKyAgICAiaW5kaWFucmVkIjogIkNENUM1QyIsCisgICAgImluZGlnbyI6ICI0
QjAwODIiLAorICAgICJpdm9yeSI6ICJGRkZGRjAiLAorICAgICJraGFraSI6ICJGMEU2OEMiLAor
ICAgICJsYXZlbmRlciI6ICJFNkU2RkEiLAorICAgICJsYXZlbmRlcmJsdXNoIjogIkZGRjBGNSIs
CisgICAgImxhd25ncmVlbiI6ICI3Q0ZDMDAiLAorICAgICJsZW1vbmNoaWZmb24iOiAiRkZGQUNE
IiwKKyAgICAibGlnaHRibHVlIjogIkFERDhFNiIsCisgICAgImxpZ2h0Y29yYWwiOiAiRjA4MDgw
IiwKKyAgICAibGlnaHRjeWFuIjogIkUwRkZGRiIsCisgICAgImxpZ2h0Z29sZGVucm9keWVsbG93
IjogIkZBRkFEMiIsCisgICAgImxpZ2h0Z3JlZW4iOiAiOTBFRTkwIiwKKyAgICAibGlnaHRncmV5
IjogIkQzRDNEMyIsCisgICAgImxpZ2h0cGluayI6ICJGRkI2QzEiLAorICAgICJsaWdodHNhbG1v
biI6ICJGRkEwN0EiLAorICAgICJsaWdodHNlYWdyZWVuIjogIjIwQjJBQSIsCisgICAgImxpZ2h0
c2t5Ymx1ZSI6ICI4N0NFRkEiLAorICAgICJsaWdodHNsYXRlZ3JheSI6ICI3Nzg4OTkiLAorICAg
ICJsaWdodHN0ZWVsYmx1ZSI6ICJCMEM0REUiLAorICAgICJsaWdodHllbGxvdyI6ICJGRkZGRTAi
LAorICAgICJsaW1lIjogIjAwRkYwMCIsCisgICAgImxpbWVncmVlbiI6ICIzMkNEMzIiLAorICAg
ICJsaW5lbiI6ICJGQUYwRTYiLAorICAgICJtYWdlbnRhIjogIkZGMDBGRiIsCisgICAgIm1hcm9v
biI6ICI4MDAwMDAiLAorICAgICJtZWRpdW1hcXVhbWFyaW5lIjogIjY2Q0RBQSIsCisgICAgIm1l
ZGl1bWJsdWUiOiAiMDAwMENEIiwKKyAgICAibWVkaXVtb3JjaGlkIjogIkJBNTVEMyIsCisgICAg
Im1lZGl1bXB1cnBsZSI6ICI5MzcwRDgiLAorICAgICJtZWRpdW1zZWFncmVlbiI6ICIzQ0IzNzEi
LAorICAgICJtZWRpdW1zbGF0ZWJsdWUiOiAiN0I2OEVFIiwKKyAgICAibWVkaXVtc3ByaW5nZ3Jl
ZW4iOiAiMDBGQTlBIiwKKyAgICAibWVkaXVtdHVycXVvaXNlIjogIjQ4RDFDQyIsCisgICAgIm1l
ZGl1bXZpb2xldHJlZCI6ICJDNzE1ODUiLAorICAgICJtaWRuaWdodGJsdWUiOiAiMTkxOTcwIiwK
KyAgICAibWludGNyZWFtIjogIkY1RkZGQSIsCisgICAgIm1pc3R5cm9zZSI6ICJGRkU0RTEiLAor
ICAgICJtb2NjYXNpbiI6ICJGRkU0QjUiLAorICAgICJuYXZham93aGl0ZSI6ICJGRkRFQUQiLAor
ICAgICJuYXZ5IjogIjAwMDA4MCIsCisgICAgIm9sZGxhY2UiOiAiRkRGNUU2IiwKKyAgICAib2xp
dmUiOiAiODA4MDAwIiwKKyAgICAib2xpdmVkcmFiIjogIjZCOEUyMyIsCisgICAgIm9yYW5nZSI6
ICJGRkE1MDAiLAorICAgICJvcmFuZ2VyZWQiOiAiRkY0NTAwIiwKKyAgICAib3JjaGlkIjogIkRB
NzBENiIsCisgICAgInBhbGVnb2xkZW5yb2QiOiAiRUVFOEFBIiwKKyAgICAicGFsZWdyZWVuIjog
Ijk4RkI5OCIsCisgICAgInBhbGV0dXJxdW9pc2UiOiAiQUZFRUVFIiwKKyAgICAicGFsZXZpb2xl
dHJlZCI6ICJEODcwOTMiLAorICAgICJwYXBheWF3aGlwIjogIkZGRUZENSIsCisgICAgInBlYWNo
cHVmZiI6ICJGRkRBQjkiLAorICAgICJwZXJ1IjogIkNEODUzRiIsCisgICAgInBpbmsiOiAiRkZD
MENCIiwKKyAgICAicGx1bSI6ICJEREEwREQiLAorICAgICJwb3dkZXJibHVlIjogIkIwRTBFNiIs
CisgICAgInB1cnBsZSI6ICI4MDAwODAiLAorICAgICJyZWQiOiAiRkYwMDAwIiwKKyAgICAicm9z
eWJyb3duIjogIkJDOEY4RiIsCisgICAgInJveWFsYmx1ZSI6ICI0MTY5RTEiLAorICAgICJzYWRk
bGVicm93biI6ICI4QjQ1MTMiLAorICAgICJzYWxtb24iOiAiRkE4MDcyIiwKKyAgICAic2FuZHli
cm93biI6ICJGNEE0NjAiLAorICAgICJzZWFncmVlbiI6ICIyRThCNTciLAorICAgICJzZWFzaGVs
bCI6ICJGRkY1RUUiLAorICAgICJzaWVubmEiOiAiQTA1MjJEIiwKKyAgICAic2lsdmVyIjogIkMw
QzBDMCIsCisgICAgInNreWJsdWUiOiAiODdDRUVCIiwKKyAgICAic2xhdGVibHVlIjogIjZBNUFD
RCIsCisgICAgInNsYXRlZ3JheSI6ICI3MDgwOTAiLAorICAgICJzbm93IjogIkZGRkFGQSIsCisg
ICAgInNwcmluZ2dyZWVuIjogIjAwRkY3RiIsCisgICAgInN0ZWVsYmx1ZSI6ICI0NjgyQjQiLAor
ICAgICJ0YW4iOiAiRDJCNDhDIiwKKyAgICAidGVhbCI6ICIwMDgwODAiLAorICAgICJ0aGlzdGxl
IjogIkQ4QkZEOCIsCisgICAgInRvbWF0byI6ICJGRjYzNDciLAorICAgICJ0dXJxdW9pc2UiOiAi
NDBFMEQwIiwKKyAgICAidmlvbGV0IjogIkVFODJFRSIsCisgICAgIndoZWF0IjogIkY1REVCMyIs
CisgICAgIndoaXRlIjogIkZGRkZGRiIsCisgICAgIndoaXRlc21va2UiOiAiRjVGNUY1IiwKKyAg
ICAieWVsbG93IjogIkZGRkYwMCIsCisgICAgInllbGxvd2dyZWVuIjogIjlBQ0QzMiIKK307CisK
Ky8vIEFkdmFuY2VkIFZhbHVlcyBbcmdiYSwgaHNsYSwgbmlja25hbWVdCitXZWJJbnNwZWN0b3Iu
Q29sb3IuQWR2YW5jZWROaWNrTmFtZXMgPSB7CisgICAgInRyYW5zcGFyZW50IjogW1swLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCAidHJhbnNwYXJlbnQiXSwKKyAgICAicmdiYSgwLDAsMCwwKSI6
IFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgInRyYW5zcGFyZW50Il0sCisgICAgImhzbGEo
MCwwLDAsMCkiOiBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sICJ0cmFuc3BhcmVudCJdLAor
fTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cwppbmRleCA1NGQ3YjcyLi5iNzJjYzljIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC04NzYsNyArODc2LDggQEAgV2ViSW5zcGVj
dG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYg
KHZhbHVlKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBvbmx5IGNvdmVycyBXM0MgYW5k
IENTUyAxNiB2YWxpZCBjb2xvciBuYW1lcwotICAgICAgICAgICAgdmFyIGNvbG9ycyA9IHZhbHVl
Lm1hdGNoKC8oKHJnYnxoc2wpYT9cKFteKV0rXCkpfCgjWzAtOWEtZkEtRl17Nn0pfCgjWzAtOWEt
ZkEtRl17M30pfGFxdWF8YmxhY2t8Ymx1ZXxmdWNoc2lhfGdyYXl8Z3JlZW58bGltZXxtYXJvb258
bmF2eXxvbGl2ZXxwdXJwbGV8cmVkfHNpbHZlcnx0ZWFsfHdoaXRlfHllbGxvdy9nKTsKKyAgICAg
ICAgICAgIHZhciBjb2xvcnMgPSB2YWx1ZS5tYXRjaCgvKChyZ2J8aHNsKWE/XChbXildK1wpKXwo
I1swLTlhLWZBLUZdezZ9KXwoI1swLTlhLWZBLUZdezN9KXxhcXVhfGJsYWNrfGJsdWV8ZnVjaHNp
YXxncmF5fGdyZWVufGxpbWV8bWFyb29ufG5hdnl8b2xpdmV8cHVycGxlfHJlZHxzaWx2ZXJ8dGVh
bHx3aGl0ZXx5ZWxsb3d8dHJhbnNwYXJlbnQvZyk7CisgICAgICAgICAgICB2YXIgc3dhdGNoOwog
ICAgICAgICAgICAgaWYgKGNvbG9ycykgewogICAgICAgICAgICAgICAgIHZhciBjb2xvcnNMZW5n
dGggPSBjb2xvcnMubGVuZ3RoOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
Y29sb3JzTGVuZ3RoOyArK2kpIHsKQEAgLTg4NCw2ICs4ODUsNzIgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAg
IHN3YXRjaEVsZW1lbnQuY2xhc3NOYW1lID0gInN3YXRjaCI7CiAgICAgICAgICAgICAgICAgICAg
IHN3YXRjaEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoImJhY2tncm91bmQtY29sb3IiLCBjb2xv
cnNbaV0pOwogICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5hcHBlbmRD
aGlsZChzd2F0Y2hFbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgc3dhdGNoID0gc3dhdGNo
RWxlbWVudDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IC8vIFJvdGF0ZSB0aHJvdWdoIENvbG9yIFJlcHJlc2VudGF0aW9ucyBieSBDbGlja2luZyBvbiB0
aGUgU3dhdGNoCisgICAgICAgICAgICAvLyBTaW1wbGU6IHJnYiAtPiBoc2wgLT4gbmlja25hbWU/
IC0+IHNob3J0aGV4PyAtPiBoZXggLT4gLi4uCisgICAgICAgICAgICAvLyBBZHZhbmNlZDogcmdi
YSAtPiBoc2xhIC0+IG5pY2tuYW1lPyAtPiAuLi4gICAgICAgICAgICAKKyAgICAgICAgICAgIGlm
IChjb2xvcnMgJiYgY29sb3JzLmxlbmd0aCA9PT0gMSkgeworICAgICAgICAgICAgICAgIHZhciBj
b2xvciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29sb3IoaHRtbFZhbHVlKTsKKyAgICAgICAgICAgICAg
ICBzd2F0Y2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBjaGFuZ2VDb2xvckRpc3BsYXksIGZh
bHNlKTsKKyAgICAgICAgICAgICAgICBzd2F0Y2guYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2si
LCBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFn
YXRpb24oKTsKKyAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgICAgICAgICB2
YXIgbW9kZSA9IGNvbG9yLm1vZGU7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlRWxlbWVudCA9
IHRoaXMudmFsdWVFbGVtZW50OworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoYW5nZUNvbG9y
RGlzcGxheShldmVudCkgeworCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoYW5nZVRv
KG5ld01vZGUsIGNvbnRlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBuZXdN
b2RlOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0g
Y29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHN3
aXRjaCAobW9kZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAicmdiIjoKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUbygiaHNsIiwgY29sb3IudG9Ic2woKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgInNob3J0aGV4IjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VU
bygiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImhleCI6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhbmdlVG8oInJnYiIsIGNvbG9yLnRvUmdiKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICBjYXNl
ICJuaWNrbmFtZSI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yLnNpbXBs
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sb3IuaGFzU2hvcnRI
ZXgoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJzaG9y
dGhleCIsIGNvbG9yLnRvU2hvcnRIZXgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJo
ZXgiLCBjb2xvci50b0hleCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG8oInJnYmEiLCBjb2xvci50
b1JnYmEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgImhzbCI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbG9yLm5pY2tuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VUbygibmlja25hbWUiLCBjb2xvci50b05pY2tuYW1lKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKGNvbG9yLmhhc1Nob3J0SGV4KCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJzaG9ydGhleCIsIGNvbG9yLnRvU2hvcnRIZXgoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VUbygiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInJn
YmEiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJoc2xhIiwgY29sb3Iu
dG9Ic2xhKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBjYXNlICJoc2xhIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoY29sb3Iubmlja25hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
YW5nZVRvKCJuaWNrbmFtZSIsIGNvbG9yLnRvTmlja25hbWUoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VU
bygicmdiYSIsIGNvbG9yLnRvUmdiYSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5odG1sIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sCmluZGV4IDBjZDg2YjUuLjViNzZmZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmh0bWwKQEAgLTYxLDYgKzYxLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTY29wZUNoYWluU2lkZWJhclBhbmUuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik1ldHJpY3NT
aWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iUHJvcGVydGllc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb2xvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU3R5bGVzU2lkZWJhclBhbmUuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5l
bEVuYWJsZXJWaWV3LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34182</attachid>
            <date>2009-08-05 15:12:51 -0700</date>
            <delta_ts>2009-08-05 20:27:31 -0700</delta_ts>
            <desc>Added to the QRC File</desc>
            <filename>whoops.patch</filename>
            <type>text/plain</type>
            <size>32296</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Zjc3YzY3OS4uMGE5Yjc2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NSBAQAorMjAwOS0wOC0wNSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb2xvciBpcyBvbmx5IHJlcG9ydGVkIGluIHJnYigpIGZvcm1h
dDsgc2hvdWxkIHRvZ2dsZSBiZXR3ZWVuIHJnYigpIGFuZCBoZXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTE2CisKKyAgICAgICAgICBOZXcgQ2xh
c3MgdG8gUGFyc2UgYW5kIENoYW5nZSBCZXR3ZWVuIENvbG9yIFJlcHJlc2VudGF0aW9uczoKKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanM6IEFkZGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbG9yKToKKworICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyBvZiBDb2xv
cnMgaW4gUmF3IEZvcm0uIChNYXkgYmUgTGF6eSBMb2FkZWQpOgorCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBzaG9ydGhleCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLmdldCBoZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9y
LnByb3RvdHlwZS5zZXQgaGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5
cGUuZ2V0IHJnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBy
Z2IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5nZXQgaHNsKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuc2V0IGhzbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnNldCBuaWNrbmFtZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29sb3IucHJvdG90eXBlLmdldCByZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUuc2V0IHJnYmEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnBy
b3RvdHlwZS5nZXQgaHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBl
LnNldCBoc2xhKToKKworICAgICAgICAgIEhlbHBlcnMgYW5kIFN0YW5kYXJkIFN0cmluZyBSZXBy
ZXNlbnRhdGlvbnM6CisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUuaGFz
U2hvcnRIZXgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS50b1JnYik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSHNsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9TaG9ydEhleCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLnRvSGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b2xvci5wcm90b3R5cGUudG9SZ2JhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90
b3R5cGUudG9Ic2xhKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5wcm90b3R5cGUudG9O
aWNrbmFtZSk6CisKKyAgICAgICAgICBDb252ZXJzaW9uIEZ1bmN0aW9ucyB0byBEZXRlcm1pbmUg
T3RoZXIgUmVwcmVzZW50YXRpb25zOgorICAgICAgICAgIE15IFNvdXJjZXMgZm9yIGFsbCBhbGdv
cml0aG1zIGFuZCBzYW1wbGUgZGF0YToKKyAgICAgICAgICBXaWtpcGVkaWE6IGh0dHA6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvSFNWX2NvbG9yX3NwYWNlCisgICAgICAgICAgQ1NTIFNwZWNpZmlj
YXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvI2hzbGEtY29sb3IKKworICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZS5yZ2JUb0hleCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlLmhleFRvUmdiKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2xvci5wcm90b3R5cGUucmdiVG9Ic2wpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bG9yLnByb3RvdHlwZS5oc2xUb1JnYi5odWVUb1JnYik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29sb3IucHJvdG90eXBlLmhzbFRvUmdiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2xvci5w
cm90b3R5cGUucmdiYVRvSHNsYSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90
eXBlLmhzbGFUb1JnYmEpOgorCisgICAgICAgICAgQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9y
LCBhdHRlbXB0cyB0byBwYXJzZSBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvcgorICAgICAgICAgIGlm
IGl0IGNhbm5vdCBwYXJzZS4gIElmIHNpbXBsZSB0aGVuIHRoZSAiaGV4IiB2YWx1ZSBpcyBndWFy
ZW50ZWVkLgorICAgICAgICAgIElmIGFkdmFuY2VkIHRoZW4gYm90aCB0aGUgInJnYmEiIGFuZCAi
aHNsYSIgYXJlIGd1YXJlbnRlZWQuICBJZiBpdCBpcworICAgICAgICAgIGEgbmlja25hbWUgaW4g
YW55IHdheSAoZS5nLiAidHJhbnNwYXJlbnQiLCAiYmxhY2siKSB0aGVuIHRoaXMgaXMKKyAgICAg
ICAgICBndWFyZW50ZWVkIHRvIGJlIHNldCBhcyB3ZWxsLgorCisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29sb3IucHJvdG90eXBlLnBhcnNlKToKKworICAgICAgICAgIENsaWNraW5nIG9uIHRoZSBz
d2F0Y2ggd2lsbCByb3RhdGUgdGhyb3VnaCBDb2xvciBSZXByZXNlbnRhdGlvbnMuCisgICAgICAg
ICAgICBTaW1wbGU6ICAgcmdiIC0+IGhzbCAtPiBuaWNrbmFtZT8gLT4gc2hvcnRoZXg/IC0+IGhl
eCAtPiAobG9vcCBhcm91bmQpCisgICAgICAgICAgICBBZHZhbmNlZDogcmdiYSAtPiBoc2xhIC0+
IG5pY2tuYW1lPyAtPiAobG9vcCBhcm91bmQpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlVGl0bGUudmFsdWUuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZVRp
dGxlKToKKworICAgICAgICAgIExvYWQgQ29sb3IuanM6CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDA5LTA4LTAzICBKb3NlcGggUGVjb3Jhcm8g
IDxqb2VwZWNrMDJAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi43OTY4ZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC0wLDAgKzEsNjcxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLkNvbG9yID0gZnVuY3Rpb24o
c3RyKQoreworICAgIHRoaXMudmFsdWUgPSBzdHI7CisgICAgdGhpcy5wYXJzZSgpOworfQorCitX
ZWJJbnNwZWN0b3IuQ29sb3IucHJvdG90eXBlID0geworICAgIGdldCBzaG9ydGhleCgpCisgICAg
eworICAgICAgICBpZiAoIl9zaG9ydCIgaW4gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9zaG9ydDsKKworICAgICAgICBpZiAoIXRoaXMuc2ltcGxlKQorICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisKKyAgICAgICAgdmFyIGhleCA9IHRoaXMuaGV4OworICAgICAgICBpZiAoaGV4LmNo
YXJBdCgwKSA9PT0gaGV4LmNoYXJBdCgxKSAmJiBoZXguY2hhckF0KDIpID09PSBoZXguY2hhckF0
KDMpICYmIGhleC5jaGFyQXQoNCkgPT09IGhleC5jaGFyQXQoNSkpCisgICAgICAgICAgICB0aGlz
Ll9zaG9ydCA9IGhleC5jaGFyQXQoMCkgKyBoZXguY2hhckF0KDIpICsgaGV4LmNoYXJBdCg0KTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fc2hvcnQgPSBoZXg7CisKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3Nob3J0OworICAgIH0sCisKKyAgICBnZXQgaGV4KCkKKyAgICB7CisgICAg
ICAgIGlmICghdGhpcy5zaW1wbGUpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKworICAgICAg
ICByZXR1cm4gdGhpcy5faGV4OworICAgIH0sCisKKyAgICBzZXQgaGV4KHgpCisgICAgeworICAg
ICAgICB0aGlzLl9oZXggPSB4OworICAgIH0sCisKKyAgICBnZXQgcmdiKCkKKyAgICB7CisgICAg
ICAgIGlmICgiX3JnYiIgaW4gdGhpcykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9yZ2I7CisK
KyAgICAgICAgaWYgKHRoaXMuc2ltcGxlKQorICAgICAgICAgICAgdGhpcy5fcmdiID0gdGhpcy5o
ZXhUb1JnYih0aGlzLmhleCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdmFyIHJnYmEg
PSB0aGlzLnJnYmE7CisgICAgICAgICAgICB0aGlzLl9yZ2IgPSBbcmdiYVswXSwgcmdiYVsxXSwg
cmdiYVsyXV07CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdGhpcy5fcmdiOworICAgIH0s
CisKKyAgICBzZXQgcmdiKHgpCisgICAgeworICAgICAgICB0aGlzLl9yZ2IgPSB4OworICAgIH0s
CisKKyAgICBnZXQgaHNsKCkKKyAgICB7CisgICAgICAgIGlmICgiX2hzbCIgaW4gdGhpcykKKyAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9oc2w7CisKKyAgICAgICAgdGhpcy5faHNsID0gdGhpcy5y
Z2JUb0hzbCh0aGlzLnJnYik7CisgICAgICAgIHJldHVybiB0aGlzLl9oc2w7CisgICAgfSwKKwor
ICAgIHNldCBoc2woeCkKKyAgICB7CisgICAgICAgIHRoaXMuX2hzbCA9IHg7CisgICAgfSwKKwor
ICAgIGdldCBuaWNrbmFtZSgpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIHRoaXMuX25pY2tu
YW1lICE9PSAidW5kZWZpbmVkIikgLy8gd291bGQgYmUgc2V0IG9uIHBhcnNlIGlmIHRoZXJlIHdh
cyBhIG5pY2tuYW1lCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fbmlja25hbWU7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgIH0sCisKKyAgICBzZXQgbmlja25h
bWUoeCkKKyAgICB7CisgICAgICAgIHRoaXMuX25pY2tuYW1lID0geDsKKyAgICB9LAorCisgICAg
Z2V0IHJnYmEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3JnYmE7CisgICAgfSwKKwor
ICAgIHNldCByZ2JhKHgpCisgICAgeworICAgICAgICB0aGlzLl9yZ2JhID0geDsKKyAgICB9LAor
CisgICAgZ2V0IGhzbGEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2hzbGE7CisgICAg
fSwKKworICAgIHNldCBoc2xhKHgpCisgICAgeworICAgICAgICB0aGlzLl9oc2xhID0geDsKKyAg
ICB9LAorCisgICAgaGFzU2hvcnRIZXg6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBz
aG9ydGhleCA9IHRoaXMuc2hvcnRoZXg7CisgICAgICAgIHJldHVybiAoc2hvcnRoZXggJiYgc2hv
cnRoZXgubGVuZ3RoID09PSAzKTsKKyAgICB9LAorCisgICAgdG9SZ2I6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiAicmdiKCIgKyB0aGlzLnJnYi5qb2luKCIsICIpICsgIikiOwor
ICAgIH0sCisKKyAgICB0b0hzbDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGhzbCA9
IHRoaXMuaHNsOworICAgICAgICByZXR1cm4gImhzbCgiICsgaHNsWzBdICsgIiwgIiArIGhzbFsx
XSArICIlLCAiICsgaHNsWzJdICsgIiUpIjsKKyAgICB9LAorCisgICAgdG9TaG9ydEhleDogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuICIjIiArIHRoaXMuc2hvcnRoZXg7CisgICAg
fSwKKworICAgIHRvSGV4OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gIiMiICsg
dGhpcy5oZXg7CisgICAgfSwKKworICAgIHRvUmdiYTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuICJyZ2JhKCIgKyB0aGlzLnJnYmEuam9pbigiLCAiKSArICIpIjsKKyAgICB9LAor
CisgICAgdG9Ic2xhOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgaHNsYSA9IHRoaXMu
aHNsYTsKKyAgICAgICAgcmV0dXJuICJoc2xhKCIgKyBoc2xhWzBdICsgIiwgIiArIGhzbGFbMV0g
KyAiJSwgIiArIGhzbGFbMl0gKyAiJSwgIiArIGhzbGFbM10gKyAiKSI7CisgICAgfSwKKworICAg
IHRvTmlja25hbWU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLm5pY2tu
YW1lOworICAgIH0sCisKKyAgICByZ2JUb0hleDogZnVuY3Rpb24ocmdiKQorICAgIHsKKyAgICAg
ICAgdmFyIHIgPSBwYXJzZUludChyZ2JbMF0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgdmFyIGcg
PSBwYXJzZUludChyZ2JbMV0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgdmFyIGIgPSBwYXJzZUlu
dChyZ2JbMl0pLnRvU3RyaW5nKDE2KTsKKyAgICAgICAgaWYgKHIubGVuZ3RoID09PSAxKQorICAg
ICAgICAgICAgciA9ICIwIiArIHI7CisgICAgICAgIGlmIChnLmxlbmd0aCA9PT0gMSkKKyAgICAg
ICAgICAgIGcgPSAiMCIgKyBnOworICAgICAgICBpZiAoYi5sZW5ndGggPT09IDEpCisgICAgICAg
ICAgICBiID0gIjAiICsgYjsKKworICAgICAgICByZXR1cm4gKHIgKyBnICsgYikudG9VcHBlckNh
c2UoKTsKKyAgICB9LAorCisgICAgaGV4VG9SZ2I6IGZ1bmN0aW9uKGhleCkKKyAgICB7CisgICAg
ICAgIHZhciByID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygwLDIpLCAxNik7CisgICAgICAgIHZh
ciBnID0gcGFyc2VJbnQoaGV4LnN1YnN0cmluZygyLDQpLCAxNik7CisgICAgICAgIHZhciBiID0g
cGFyc2VJbnQoaGV4LnN1YnN0cmluZyg0LDYpLCAxNik7CisKKyAgICAgICAgcmV0dXJuIFtyLCBn
LCBiXTsKKyAgICB9LAorCisgICAgcmdiVG9Ic2w6IGZ1bmN0aW9uKHJnYikKKyAgICB7CisgICAg
ICAgIHZhciByID0gcGFyc2VJbnQocmdiWzBdKSAvIDI1NTsKKyAgICAgICAgdmFyIGcgPSBwYXJz
ZUludChyZ2JbMV0pIC8gMjU1OworICAgICAgICB2YXIgYiA9IHBhcnNlSW50KHJnYlsyXSkgLyAy
NTU7CisgICAgICAgIHZhciBtYXggPSBNYXRoLm1heChyLCBnLCBiKTsKKyAgICAgICAgdmFyIG1p
biA9IE1hdGgubWluKHIsIGcsIGIpOworICAgICAgICB2YXIgZGlmZiA9IG1heCAtIG1pbjsKKyAg
ICAgICAgdmFyIGFkZCA9IG1heCArIG1pbjsKKworICAgICAgICBpZiAobWluID09PSBtYXgpCisg
ICAgICAgICAgICB2YXIgaCA9IDA7CisgICAgICAgIGVsc2UgaWYgKHIgPT09IG1heCkKKyAgICAg
ICAgICAgIHZhciBoID0gKCg2MCAqIChnIC0gYikgLyBkaWZmKSArIDM2MCkgJSAzNjA7CisgICAg
ICAgIGVsc2UgaWYgKGcgPT09IG1heCkKKyAgICAgICAgICAgIHZhciBoID0gKDYwICogKGIgLSBy
KSAvIGRpZmYpICsgMTIwOworICAgICAgICBlbHNlCisgICAgICAgICAgICB2YXIgaCA9ICg2MCAq
IChyIC0gZykgLyBkaWZmKSArIDI0MDsKKworICAgICAgICB2YXIgbCA9IDAuNSAqIGFkZDsKKwor
ICAgICAgICBpZiAobCA9PT0gMCkKKyAgICAgICAgICAgIHZhciBzID0gMDsKKyAgICAgICAgZWxz
ZSBpZiAobCA9PT0gMSkKKyAgICAgICAgICAgIHZhciBzID0gMTsKKyAgICAgICAgZWxzZSBpZiAo
bCA8PSAwLjUpCisgICAgICAgICAgICB2YXIgcyA9IGRpZmYgLyBhZGQ7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHZhciBzID0gZGlmZiAvICgyIC0gYWRkKTsKKworICAgICAgICBoID0gTWF0
aC5yb3VuZChoKTsKKyAgICAgICAgcyA9IE1hdGgucm91bmQocyoxMDApOworICAgICAgICBsID0g
TWF0aC5yb3VuZChsKjEwMCk7CisKKyAgICAgICAgcmV0dXJuIFtoLCBzLCBsXTsKKyAgICB9LAor
CisgICAgaHNsVG9SZ2I6IGZ1bmN0aW9uKGhzbCkKKyAgICB7CisgICAgICAgIHZhciBoID0gcGFy
c2VGbG9hdChoc2xbMF0pIC8gMzYwOworICAgICAgICB2YXIgcyA9IHBhcnNlRmxvYXQoaHNsWzFd
KSAvIDEwMDsKKyAgICAgICAgdmFyIGwgPSBwYXJzZUZsb2F0KGhzbFsyXSkgLyAxMDA7CisKKyAg
ICAgICAgaWYgKGwgPD0gMC41KQorICAgICAgICAgICAgdmFyIHEgPSBsICogKDEgKyBzKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdmFyIHEgPSBsICsgcyAtIChsICogcyk7CisKKyAgICAg
ICAgdmFyIHAgPSAyICogbCAtIHE7CisKKyAgICAgICAgdmFyIHRyID0gaCArICgxIC8gMyk7Cisg
ICAgICAgIHZhciB0ZyA9IGg7CisgICAgICAgIHZhciB0YiA9IGggLSAoMSAvIDMpOworCisgICAg
ICAgIHZhciByID0gTWF0aC5yb3VuZChodWVUb1JnYihwLCBxLCB0cikgKiAyNTUpOworICAgICAg
ICB2YXIgZyA9IE1hdGgucm91bmQoaHVlVG9SZ2IocCwgcSwgdGcpICogMjU1KTsKKyAgICAgICAg
dmFyIGIgPSBNYXRoLnJvdW5kKGh1ZVRvUmdiKHAsIHEsIHRiKSAqIDI1NSk7CisgICAgICAgIHJl
dHVybiBbciwgZywgYl07CisKKyAgICAgICAgZnVuY3Rpb24gaHVlVG9SZ2IocCwgcSwgaCkgewor
ICAgICAgICAgICAgaWYgKGggPCAwKQorICAgICAgICAgICAgICAgIGggKz0gMTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGggPiAxKQorICAgICAgICAgICAgICAgIGggLT0gMTsKKworICAgICAgICAg
ICAgaWYgKChoICogNikgPCAxKQorICAgICAgICAgICAgICAgIHJldHVybiBwICsgKHEgLSBwKSAq
IGggKiA2OworICAgICAgICAgICAgZWxzZSBpZiAoKGggKiAyKSA8IDEpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHE7CisgICAgICAgICAgICBlbHNlIGlmICgoaCAqIDMpIDwgMikKKyAgICAgICAg
ICAgICAgICByZXR1cm4gcCArIChxIC0gcCkgKiAoKDIgLyAzKSAtIGgpICogNjsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgfQorICAgIH0sCisK
KyAgICByZ2JhVG9Ic2xhOiBmdW5jdGlvbihyZ2JhKQorICAgIHsKKyAgICAgICAgdmFyIGFscGhh
ID0gcmdiYVszXTsKKyAgICAgICAgdmFyIGhzbCA9IHRoaXMucmdiVG9Ic2wocmdiYSkKKyAgICAg
ICAgaHNsLnB1c2goYWxwaGEpOworICAgICAgICByZXR1cm4gaHNsOworICAgIH0sCisKKyAgICBo
c2xhVG9SZ2JhOiBmdW5jdGlvbihoc2xhKQorICAgIHsKKyAgICAgICAgdmFyIGFscGhhID0gaHNs
YVszXTsKKyAgICAgICAgdmFyIHJnYiA9IHRoaXMuaHNsVG9SZ2IoaHNsYSk7CisgICAgICAgIHJn
Yi5wdXNoKGFscGhhKTsKKyAgICAgICAgcmV0dXJuIHJnYjsKKyAgICB9LAorCisgICAgcGFyc2U6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIC8vIFNwZWNpYWwgVmFsdWVzIC0gQWR2YW5jZWQg
YnV0IE11c3QgQmUgUGFyc2VkIEZpcnN0IC0gdHJhbnNwYXJlbnQKKyAgICAgICAgdmFyIHZhbHVl
ID0gdGhpcy52YWx1ZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyV8XHMrL2csICIiKTsKKyAgICAg
ICAgaWYgKHZhbHVlIGluIFdlYkluc3BlY3Rvci5Db2xvci5BZHZhbmNlZE5pY2tOYW1lcykgewor
ICAgICAgICAgICAgdGhpcy5tb2RlID0gIm5pY2tuYW1lIjsKKyAgICAgICAgICAgIHZhciBzZXQg
PSBXZWJJbnNwZWN0b3IuQ29sb3IuQWR2YW5jZWROaWNrTmFtZXNbdmFsdWVdOworICAgICAgICAg
ICAgdGhpcy5zaW1wbGUgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMucmdiYSA9IHNldFswXTsK
KyAgICAgICAgICAgIHRoaXMuaHNsYSA9IHNldFsxXTsKKyAgICAgICAgICAgIHRoaXMubmlja25h
bWUgPSBzZXRbMl07CisgICAgICAgICAgICB0aGlzLmFscGhhID0gc2V0WzBdWzNdOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gU2ltcGxlIC0gI2hleCwgcmdi
KCksIG5pY2tuYW1lLCBoc2woKQorICAgICAgICB2YXIgc2ltcGxlID0gL14oPzojKFswLTlhLWZd
ezMsNn0pfHJnYlwoKFteKV0rKVwpfChcdyspfGhzbFwoKFteKV0rKVwpKSQvaTsKKyAgICAgICAg
dmFyIG1hdGNoID0gdGhpcy52YWx1ZS5tYXRjaChzaW1wbGUpOworICAgICAgICBpZiAobWF0Y2gp
IHsKKyAgICAgICAgICAgIHRoaXMuc2ltcGxlID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKG1h
dGNoWzFdKSB7IC8vIGhleAorICAgICAgICAgICAgICAgIHZhciBoZXggPSBtYXRjaFsxXS50b1Vw
cGVyQ2FzZSgpOworICAgICAgICAgICAgICAgIGlmIChoZXgubGVuZ3RoID09PSAzKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJzaG9ydGhleCI7CisgICAgICAgICAgICAgICAg
ICAgIHRoaXMuaGV4ID0gaGV4LmNoYXJBdCgwKSArIGhleC5jaGFyQXQoMCkgKyBoZXguY2hhckF0
KDEpICsgaGV4LmNoYXJBdCgxKSArIGhleC5jaGFyQXQoMikgKyBoZXguY2hhckF0KDIpOworICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9ICJo
ZXgiOworICAgICAgICAgICAgICAgICAgICB0aGlzLmhleCA9IGhleDsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoWzJdKSB7IC8vIHJnYgorICAgICAgICAg
ICAgICAgIHRoaXMubW9kZSA9ICJyZ2IiOworICAgICAgICAgICAgICAgIHZhciByZ2IgPSBtYXRj
aFsyXS5zcGxpdCgvXHMqLFxzKi8pOworICAgICAgICAgICAgICAgIHRoaXMucmdiID0gcmdiOwor
ICAgICAgICAgICAgICAgIHRoaXMuaGV4ID0gdGhpcy5yZ2JUb0hleChyZ2IpOworICAgICAgICAg
ICAgfSBlbHNlIGlmIChtYXRjaFszXSkgeyAvLyBuaWNrbmFtZQorICAgICAgICAgICAgICAgIHZh
ciBuaWNrbmFtZSA9IG1hdGNoWzNdLnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICAgICAgaWYg
KG5pY2tuYW1lIGluIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5tb2RlID0gIm5pY2tuYW1lIjsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5oZXggPSBXZWJJbnNwZWN0b3IuQ29sb3IuTmlja25hbWVzW25pY2tuYW1lXTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgLy8gdW5rbm93biBuYW1lCisgICAgICAgICAgICAgICAgICAgIHRocm93
KCJ1bmtub3duIGNvbG9yIG5hbWUiKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2hbNF0p
IHsgLy8gaHNsCisgICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gImhzbCI7CisgICAgICAgICAg
ICAgICAgdmFyIGhzbCA9IG1hdGNoWzRdLnJlcGxhY2UoLyVnLywgIiIpLnNwbGl0KC9ccyosXHMq
Lyk7CisgICAgICAgICAgICAgICAgdGhpcy5oc2wgPSBoc2w7CisgICAgICAgICAgICAgICAgdGhp
cy5yZ2IgPSB0aGlzLmhzbFRvUmdiKGhzbCk7CisgICAgICAgICAgICAgICAgdGhpcy5oZXggPSB0
aGlzLnJnYlRvSGV4KHRoaXMucmdiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8g
RmlsbCBpbiB0aGUgdmFsdWVzIGlmIHRoaXMgaXMgYSBrbm93biBoZXggY29sb3IKKyAgICAgICAg
ICAgIHZhciBoZXggPSB0aGlzLmhleDsKKyAgICAgICAgICAgIGlmIChoZXggJiYgaGV4IGluIFdl
Ykluc3BlY3Rvci5Db2xvci5IZXhUYWJsZSkgeworICAgICAgICAgICAgICAgIHZhciBzZXQgPSBX
ZWJJbnNwZWN0b3IuQ29sb3IuSGV4VGFibGVbaGV4XTsKKyAgICAgICAgICAgICAgICB0aGlzLnJn
YiA9IHNldFswXTsKKyAgICAgICAgICAgICAgICB0aGlzLmhzbCA9IHNldFsxXTsKKyAgICAgICAg
ICAgICAgICB0aGlzLm5pY2tuYW1lID0gc2V0WzJdOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBBZHZhbmNlZCAtIHJnYmEoKSwg
aHNsYSgpCisgICAgICAgIHZhciBhZHZhbmNlZCA9IC9eKD86cmdiYVwoKFteKV0rKVwpfGhzbGFc
KChbXildKylcKSkkLzsKKyAgICAgICAgbWF0Y2ggPSB0aGlzLnZhbHVlLm1hdGNoKGFkdmFuY2Vk
KTsKKyAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICB0aGlzLnNpbXBsZSA9IGZhbHNl
OworICAgICAgICAgICAgaWYgKG1hdGNoWzFdKSB7IC8vIHJnYmEKKyAgICAgICAgICAgICAgICB0
aGlzLm1vZGUgPSAicmdiYSI7CisgICAgICAgICAgICAgICAgdGhpcy5yZ2JhID0gbWF0Y2hbMV0u
c3BsaXQoL1xzKixccyovKTsKKyAgICAgICAgICAgICAgICB0aGlzLmhzbGEgPSB0aGlzLnJnYmFU
b0hzbGEodGhpcy5yZ2JhKTsKKyAgICAgICAgICAgICAgICB0aGlzLmFscGhhID0gdGhpcy5yZ2Jh
WzNdOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaFsyXSkgeyAvLyBoc2xhCisgICAgICAg
ICAgICAgICAgdGhpcy5tb2RlID0gImhzbGEiOworICAgICAgICAgICAgICAgIHRoaXMuaHNsYSA9
IG1hdGNoWzJdLnJlcGxhY2UoLyUvZywgIiIpLnNwbGl0KC9ccyosXHMqLyk7CisgICAgICAgICAg
ICAgICAgdGhpcy5yZ2JhID0gdGhpcy5oc2xhVG9SZ2JhKHRoaXMuaHNsYSk7CisgICAgICAgICAg
ICAgICAgdGhpcy5hbHBoYSA9IHRoaXMuaHNsYVszXTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gQ291bGQgbm90IHBhcnNlIGFz
IGEgdmFsaWQgY29sb3IKKyAgICAgICAgdGhyb3coImNvdWxkIG5vdCBwYXJzZSBjb2xvciIpOwor
ICAgIH0KK30KKworLy8gU2ltcGxlIFZhbHVlczogW3JnYiwgaHNsLCBuaWNrbmFtZV0KK1dlYklu
c3BlY3Rvci5Db2xvci5IZXhUYWJsZSA9IHsKKyAgICAiMDAwMDAwIjogW1swLCAwLCAwXSwgWzAs
IDAsIDBdLCAiYmxhY2siXSwKKyAgICAiMDAwMDgwIjogW1swLCAwLCAxMjhdLCBbMjQwLCAxMDAs
IDI1XSwgIm5hdnkiXSwKKyAgICAiMDAwMDhCIjogW1swLCAwLCAxMzldLCBbMjQwLCAxMDAsIDI3
XSwgImRhcmtCbHVlIl0sCisgICAgIjAwMDBDRCI6IFtbMCwgMCwgMjA1XSwgWzI0MCwgMTAwLCA0
MF0sICJtZWRpdW1CbHVlIl0sCisgICAgIjAwMDBGRiI6IFtbMCwgMCwgMjU1XSwgWzI0MCwgMTAw
LCA1MF0sICJibHVlIl0sCisgICAgIjAwNjQwMCI6IFtbMCwgMTAwLCAwXSwgWzEyMCwgMTAwLCAy
MF0sICJkYXJrR3JlZW4iXSwKKyAgICAiMDA4MDAwIjogW1swLCAxMjgsIDBdLCBbMTIwLCAxMDAs
IDI1XSwgImdyZWVuIl0sCisgICAgIjAwODA4MCI6IFtbMCwgMTI4LCAxMjhdLCBbMTgwLCAxMDAs
IDI1XSwgInRlYWwiXSwKKyAgICAiMDA4QjhCIjogW1swLCAxMzksIDEzOV0sIFsxODAsIDEwMCwg
MjddLCAiZGFya0N5YW4iXSwKKyAgICAiMDBCRkZGIjogW1swLCAxOTEsIDI1NV0sIFsxOTUsIDEw
MCwgNTBdLCAiZGVlcFNreUJsdWUiXSwKKyAgICAiMDBDRUQxIjogW1swLCAyMDYsIDIwOV0sIFsx
ODEsIDEwMCwgNDFdLCAiZGFya1R1cnF1b2lzZSJdLAorICAgICIwMEZBOUEiOiBbWzAsIDI1MCwg
MTU0XSwgWzE1NywgMTAwLCA0OV0sICJtZWRpdW1TcHJpbmdHcmVlbiJdLAorICAgICIwMEZGMDAi
OiBbWzAsIDI1NSwgMF0sIFsxMjAsIDEwMCwgNTBdLCAibGltZSJdLAorICAgICIwMEZGN0YiOiBb
WzAsIDI1NSwgMTI3XSwgWzE1MCwgMTAwLCA1MF0sICJzcHJpbmdHcmVlbiJdLAorICAgICIwMEZG
RkYiOiBbWzAsIDI1NSwgMjU1XSwgWzE4MCwgMTAwLCA1MF0sICJjeWFuIl0sCisgICAgIjE5MTk3
MCI6IFtbMjUsIDI1LCAxMTJdLCBbMjQwLCA2NCwgMjddLCAibWlkbmlnaHRCbHVlIl0sCisgICAg
IjFFOTBGRiI6IFtbMzAsIDE0NCwgMjU1XSwgWzIxMCwgMTAwLCA1Nl0sICJkb2RnZXJCbHVlIl0s
CisgICAgIjIwQjJBQSI6IFtbMzIsIDE3OCwgMTcwXSwgWzE3NywgNzAsIDQxXSwgImxpZ2h0U2Vh
R3JlZW4iXSwKKyAgICAiMjI4QjIyIjogW1szNCwgMTM5LCAzNF0sIFsxMjAsIDYxLCAzNF0sICJm
b3Jlc3RHcmVlbiJdLAorICAgICIyRThCNTciOiBbWzQ2LCAxMzksIDg3XSwgWzE0NiwgNTAsIDM2
XSwgInNlYUdyZWVuIl0sCisgICAgIjJGNEY0RiI6IFtbNDcsIDc5LCA3OV0sIFsxODAsIDI1LCAy
NV0sICJkYXJrU2xhdGVHcmF5Il0sCisgICAgIjMyQ0QzMiI6IFtbNTAsIDIwNSwgNTBdLCBbMTIw
LCA2MSwgNTBdLCAibGltZUdyZWVuIl0sCisgICAgIjNDQjM3MSI6IFtbNjAsIDE3OSwgMTEzXSwg
WzE0NywgNTAsIDQ3XSwgIm1lZGl1bVNlYUdyZWVuIl0sCisgICAgIjQwRTBEMCI6IFtbNjQsIDIy
NCwgMjA4XSwgWzE3NCwgNzIsIDU2XSwgInR1cnF1b2lzZSJdLAorICAgICI0MTY5RTEiOiBbWzY1
LCAxMDUsIDIyNV0sIFsyMjUsIDczLCA1N10sICJyb3lhbEJsdWUiXSwKKyAgICAiNDY4MkI0Ijog
W1s3MCwgMTMwLCAxODBdLCBbMjA3LCA0NCwgNDldLCAic3RlZWxCbHVlIl0sCisgICAgIjQ4M0Q4
QiI6IFtbNzIsIDYxLCAxMzldLCBbMjQ4LCAzOSwgMzldLCAiZGFya1NsYXRlQmx1ZSJdLAorICAg
ICI0OEQxQ0MiOiBbWzcyLCAyMDksIDIwNF0sIFsxNzgsIDYwLCA1NV0sICJtZWRpdW1UdXJxdW9p
c2UiXSwKKyAgICAiNEIwMDgyIjogW1s3NSwgMCwgMTMwXSwgWzI3NSwgMTAwLCAyNV0sICJpbmRp
Z28iXSwKKyAgICAiNTU2QjJGIjogW1s4NSwgMTA3LCA0N10sIFs4MiwgMzksIDMwXSwgImRhcmtP
bGl2ZUdyZWVuIl0sCisgICAgIjVGOUVBMCI6IFtbOTUsIDE1OCwgMTYwXSwgWzE4MiwgMjUsIDUw
XSwgImNhZGV0Qmx1ZSJdLAorICAgICI2NDk1RUQiOiBbWzEwMCwgMTQ5LCAyMzddLCBbMjE5LCA3
OSwgNjZdLCAiY29ybmZsb3dlckJsdWUiXSwKKyAgICAiNjZDREFBIjogW1sxMDIsIDIwNSwgMTcw
XSwgWzE2MCwgNTEsIDYwXSwgIm1lZGl1bUFxdWFNYXJpbmUiXSwKKyAgICAiNjk2OTY5IjogW1sx
MDUsIDEwNSwgMTA1XSwgWzAsIDAsIDQxXSwgImRpbUdyYXkiXSwKKyAgICAiNkE1QUNEIjogW1sx
MDYsIDkwLCAyMDVdLCBbMjQ4LCA1MywgNThdLCAic2xhdGVCbHVlIl0sCisgICAgIjZCOEUyMyI6
IFtbMTA3LCAxNDIsIDM1XSwgWzgwLCA2MCwgMzVdLCAib2xpdmVEcmFiIl0sCisgICAgIjcwODA5
MCI6IFtbMTEyLCAxMjgsIDE0NF0sIFsyMTAsIDEzLCA1MF0sICJzbGF0ZUdyYXkiXSwKKyAgICAi
Nzc4ODk5IjogW1sxMTksIDEzNiwgMTUzXSwgWzIxMCwgMTQsIDUzXSwgImxpZ2h0U2xhdGVHcmF5
Il0sCisgICAgIjdCNjhFRSI6IFtbMTIzLCAxMDQsIDIzOF0sIFsyNDksIDgwLCA2N10sICJtZWRp
dW1TbGF0ZUJsdWUiXSwKKyAgICAiN0NGQzAwIjogW1sxMjQsIDI1MiwgMF0sIFs5MCwgMTAwLCA0
OV0sICJsYXduR3JlZW4iXSwKKyAgICAiN0ZGRjAwIjogW1sxMjcsIDI1NSwgMF0sIFs5MCwgMTAw
LCA1MF0sICJjaGFydHJldXNlIl0sCisgICAgIjdGRkZENCI6IFtbMTI3LCAyNTUsIDIxMl0sIFsx
NjAsIDEwMCwgNzVdLCAiYXF1YW1hcmluZSJdLAorICAgICI4MDAwMDAiOiBbWzEyOCwgMCwgMF0s
IFswLCAxMDAsIDI1XSwgIm1hcm9vbiJdLAorICAgICI4MDAwODAiOiBbWzEyOCwgMCwgMTI4XSwg
WzMwMCwgMTAwLCAyNV0sICJwdXJwbGUiXSwKKyAgICAiODA4MDAwIjogW1sxMjgsIDEyOCwgMF0s
IFs2MCwgMTAwLCAyNV0sICJvbGl2ZSJdLAorICAgICI4MDgwODAiOiBbWzEyOCwgMTI4LCAxMjhd
LCBbMCwgMCwgNTBdLCAiZ3JheSJdLAorICAgICI4N0NFRUIiOiBbWzEzNSwgMjA2LCAyMzVdLCBb
MTk3LCA3MSwgNzNdLCAic2t5Qmx1ZSJdLAorICAgICI4N0NFRkEiOiBbWzEzNSwgMjA2LCAyNTBd
LCBbMjAzLCA5MiwgNzVdLCAibGlnaHRTa3lCbHVlIl0sCisgICAgIjhBMkJFMiI6IFtbMTM4LCA0
MywgMjI2XSwgWzI3MSwgNzYsIDUzXSwgImJsdWVWaW9sZXQiXSwKKyAgICAiOEIwMDAwIjogW1sx
MzksIDAsIDBdLCBbMCwgMTAwLCAyN10sICJkYXJrUmVkIl0sCisgICAgIjhCMDA4QiI6IFtbMTM5
LCAwLCAxMzldLCBbMzAwLCAxMDAsIDI3XSwgImRhcmtNYWdlbnRhIl0sCisgICAgIjhCNDUxMyI6
IFtbMTM5LCA2OSwgMTldLCBbMjUsIDc2LCAzMV0sICJzYWRkbGVCcm93biJdLAorICAgICI4RkJD
OEYiOiBbWzE0MywgMTg4LCAxNDNdLCBbMTIwLCAyNSwgNjVdLCAiZGFya1NlYUdyZWVuIl0sCisg
ICAgIjkwRUU5MCI6IFtbMTQ0LCAyMzgsIDE0NF0sIFsxMjAsIDczLCA3NV0sICJsaWdodEdyZWVu
Il0sCisgICAgIjkzNzBEOCI6IFtbMTQ3LCAxMTIsIDIxOV0sIFsyNjAsIDYwLCA2NV0sICJtZWRp
dW1QdXJwbGUiXSwKKyAgICAiOTQwMEQzIjogW1sxNDgsIDAsIDIxMV0sIFsyODIsIDEwMCwgNDFd
LCAiZGFya1Zpb2xldCJdLAorICAgICI5OEZCOTgiOiBbWzE1MiwgMjUxLCAxNTJdLCBbMTIwLCA5
MywgNzldLCAicGFsZUdyZWVuIl0sCisgICAgIjk5MzJDQyI6IFtbMTUzLCA1MCwgMjA0XSwgWzI4
MCwgNjEsIDUwXSwgImRhcmtPcmNoaWQiXSwKKyAgICAiOUFDRDMyIjogW1sxNTQsIDIwNSwgNTBd
LCBbODAsIDYxLCA1MF0sICJ5ZWxsb3dHcmVlbiJdLAorICAgICJBMDUyMkQiOiBbWzE2MCwgODIs
IDQ1XSwgWzE5LCA1NiwgNDBdLCAic2llbm5hIl0sCisgICAgIkE1MkEyQSI6IFtbMTY1LCA0Miwg
NDJdLCBbMCwgNTksIDQxXSwgImJyb3duIl0sCisgICAgIkE5QTlBOSI6IFtbMTY5LCAxNjksIDE2
OV0sIFswLCAwLCA2Nl0sICJkYXJrR3JheSJdLAorICAgICJBREQ4RTYiOiBbWzE3MywgMjE2LCAy
MzBdLCBbMTk1LCA1MywgNzldLCAibGlnaHRCbHVlIl0sCisgICAgIkFERkYyRiI6IFtbMTczLCAy
NTUsIDQ3XSwgWzg0LCAxMDAsIDU5XSwgImdyZWVuWWVsbG93Il0sCisgICAgIkFGRUVFRSI6IFtb
MTc1LCAyMzgsIDIzOF0sIFsxODAsIDY1LCA4MV0sICJwYWxlVHVycXVvaXNlIl0sCisgICAgIkIw
QzRERSI6IFtbMTc2LCAxOTYsIDIyMl0sIFsyMTQsIDQxLCA3OF0sICJsaWdodFN0ZWVsQmx1ZSJd
LAorICAgICJCMEUwRTYiOiBbWzE3NiwgMjI0LCAyMzBdLCBbMTg3LCA1MiwgODBdLCAicG93ZGVy
Qmx1ZSJdLAorICAgICJCMjIyMjIiOiBbWzE3OCwgMzQsIDM0XSwgWzAsIDY4LCA0Ml0sICJmaXJl
QnJpY2siXSwKKyAgICAiQjg4NjBCIjogW1sxODQsIDEzNCwgMTFdLCBbNDMsIDg5LCAzOF0sICJk
YXJrR29sZGVuUm9kIl0sCisgICAgIkJBNTVEMyI6IFtbMTg2LCA4NSwgMjExXSwgWzI4OCwgNTks
IDU4XSwgIm1lZGl1bU9yY2hpZCJdLAorICAgICJCQzhGOEYiOiBbWzE4OCwgMTQzLCAxNDNdLCBb
MCwgMjUsIDY1XSwgInJvc3lCcm93biJdLAorICAgICJCREI3NkIiOiBbWzE4OSwgMTgzLCAxMDdd
LCBbNTYsIDM4LCA1OF0sICJkYXJrS2hha2kiXSwKKyAgICAiQzBDMEMwIjogW1sxOTIsIDE5Miwg
MTkyXSwgWzAsIDAsIDc1XSwgInNpbHZlciJdLAorICAgICJDNzE1ODUiOiBbWzE5OSwgMjEsIDEz
M10sIFszMjIsIDgxLCA0M10sICJtZWRpdW1WaW9sZXRSZWQiXSwKKyAgICAiQ0Q1QzVDIjogW1sy
MDUsIDkyLCA5Ml0sIFswLCA1MywgNThdLCAiaW5kaWFuUmVkIl0sCisgICAgIkNEODUzRiI6IFtb
MjA1LCAxMzMsIDYzXSwgWzMwLCA1OSwgNTNdLCAicGVydSJdLAorICAgICJEMjY5MUUiOiBbWzIx
MCwgMTA1LCAzMF0sIFsyNSwgNzUsIDQ3XSwgImNob2NvbGF0ZSJdLAorICAgICJEMkI0OEMiOiBb
WzIxMCwgMTgwLCAxNDBdLCBbMzQsIDQ0LCA2OV0sICJ0YW4iXSwKKyAgICAiRDNEM0QzIjogW1sy
MTEsIDIxMSwgMjExXSwgWzAsIDAsIDgzXSwgImxpZ2h0R3JleSJdLAorICAgICJEODcwOTMiOiBb
WzIxOSwgMTEyLCAxNDddLCBbMzQwLCA2MCwgNjVdLCAicGFsZVZpb2xldFJlZCJdLAorICAgICJE
OEJGRDgiOiBbWzIxNiwgMTkxLCAyMTZdLCBbMzAwLCAyNCwgODBdLCAidGhpc3RsZSJdLAorICAg
ICJEQTcwRDYiOiBbWzIxOCwgMTEyLCAyMTRdLCBbMzAyLCA1OSwgNjVdLCAib3JjaGlkIl0sCisg
ICAgIkRBQTUyMCI6IFtbMjE4LCAxNjUsIDMyXSwgWzQzLCA3NCwgNDldLCAiZ29sZGVuUm9kIl0s
CisgICAgIkRDMTQzQyI6IFtbMjM3LCAxNjQsIDYxXSwgWzM1LCA4MywgNThdLCAiY3JpbXNvbiJd
LAorICAgICJEQ0RDREMiOiBbWzIyMCwgMjIwLCAyMjBdLCBbMCwgMCwgODZdLCAiZ2FpbnNib3Jv
Il0sCisgICAgIkREQTBERCI6IFtbMjIxLCAxNjAsIDIyMV0sIFszMDAsIDQ3LCA3NV0sICJwbHVt
Il0sCisgICAgIkRFQjg4NyI6IFtbMjIyLCAxODQsIDEzNV0sIFszNCwgNTcsIDcwXSwgImJ1cmx5
V29vZCJdLAorICAgICJFMEZGRkYiOiBbWzIyNCwgMjU1LCAyNTVdLCBbMTgwLCAxMDAsIDk0XSwg
ImxpZ2h0Q3lhbiJdLAorICAgICJFNkU2RkEiOiBbWzIzMCwgMjMwLCAyNTBdLCBbMjQwLCA2Nywg
OTRdLCAibGF2ZW5kZXIiXSwKKyAgICAiRTk5NjdBIjogW1syMzMsIDE1MCwgMTIyXSwgWzE1LCA3
MiwgNzBdLCAiZGFya1NhbG1vbiJdLAorICAgICJFRTgyRUUiOiBbWzIzOCwgMTMwLCAyMzhdLCBb
MzAwLCA3NiwgNzJdLCAidmlvbGV0Il0sCisgICAgIkVFRThBQSI6IFtbMjM4LCAyMzIsIDE3MF0s
IFs1NSwgNjcsIDgwXSwgInBhbGVHb2xkZW5Sb2QiXSwKKyAgICAiRjA4MDgwIjogW1syNDAsIDEy
OCwgMTI4XSwgWzAsIDc5LCA3Ml0sICJsaWdodENvcmFsIl0sCisgICAgIkYwRTY4QyI6IFtbMjQw
LCAyMzAsIDE0MF0sIFs1NCwgNzcsIDc1XSwgImtoYWtpIl0sCisgICAgIkYwRjhGRiI6IFtbMjQw
LCAyNDgsIDI1NV0sIFsyMDgsIDEwMCwgOTddLCAiYWxpY2VCbHVlIl0sCisgICAgIkYwRkZGMCI6
IFtbMjQwLCAyNTUsIDI0MF0sIFsxMjAsIDEwMCwgOTddLCAiaG9uZXlEZXciXSwKKyAgICAiRjBG
RkZGIjogW1syNDAsIDI1NSwgMjU1XSwgWzE4MCwgMTAwLCA5N10sICJhenVyZSJdLAorICAgICJG
NEE0NjAiOiBbWzI0NCwgMTY0LCA5Nl0sIFsyOCwgODcsIDY3XSwgInNhbmR5QnJvd24iXSwKKyAg
ICAiRjVERUIzIjogW1syNDUsIDIyMiwgMTc5XSwgWzM5LCA3NywgODNdLCAid2hlYXQiXSwKKyAg
ICAiRjVGNURDIjogW1syNDUsIDI0NSwgMjIwXSwgWzYwLCA1NiwgOTFdLCAiYmVpZ2UiXSwKKyAg
ICAiRjVGNUY1IjogW1syNDUsIDI0NSwgMjQ1XSwgWzAsIDAsIDk2XSwgIndoaXRlU21va2UiXSwK
KyAgICAiRjVGRkZBIjogW1syNDUsIDI1NSwgMjUwXSwgWzE1MCwgMTAwLCA5OF0sICJtaW50Q3Jl
YW0iXSwKKyAgICAiRjhGOEZGIjogW1syNDgsIDI0OCwgMjU1XSwgWzI0MCwgMTAwLCA5OV0sICJn
aG9zdFdoaXRlIl0sCisgICAgIkZBODA3MiI6IFtbMjUwLCAxMjgsIDExNF0sIFs2LCA5MywgNzFd
LCAic2FsbW9uIl0sCisgICAgIkZBRUJENyI6IFtbMjUwLCAyMzUsIDIxNV0sIFszNCwgNzgsIDkx
XSwgImFudGlxdWVXaGl0ZSJdLAorICAgICJGQUYwRTYiOiBbWzI1MCwgMjQwLCAyMzBdLCBbMzAs
IDY3LCA5NF0sICJsaW5lbiJdLAorICAgICJGQUZBRDIiOiBbWzI1MCwgMjUwLCAyMTBdLCBbNjAs
IDgwLCA5MF0sICJsaWdodEdvbGRlblJvZFllbGxvdyJdLAorICAgICJGREY1RTYiOiBbWzI1Mywg
MjQ1LCAyMzBdLCBbMzksIDg1LCA5NV0sICJvbGRMYWNlIl0sCisgICAgIkZGMDAwMCI6IFtbMjU1
LCAwLCAwXSwgWzAsIDEwMCwgNTBdLCAicmVkIl0sCisgICAgIkZGMDBGRiI6IFtbMjU1LCAwLCAy
NTVdLCBbMzAwLCAxMDAsIDUwXSwgIm1hZ2VudGEiXSwKKyAgICAiRkYxNDkzIjogW1syNTUsIDIw
LCAxNDddLCBbMzI4LCAxMDAsIDU0XSwgImRlZXBQaW5rIl0sCisgICAgIkZGNDUwMCI6IFtbMjU1
LCA2OSwgMF0sIFsxNiwgMTAwLCA1MF0sICJvcmFuZ2VSZWQiXSwKKyAgICAiRkY2MzQ3IjogW1sy
NTUsIDk5LCA3MV0sIFs5LCAxMDAsIDY0XSwgInRvbWF0byJdLAorICAgICJGRjY5QjQiOiBbWzI1
NSwgMTA1LCAxODBdLCBbMzMwLCAxMDAsIDcxXSwgImhvdFBpbmsiXSwKKyAgICAiRkY3RjUwIjog
W1syNTUsIDEyNywgODBdLCBbMTYsIDEwMCwgNjZdLCAiY29yYWwiXSwKKyAgICAiRkY4QzAwIjog
W1syNTUsIDE0MCwgMF0sIFszMywgMTAwLCA1MF0sICJkYXJrT3JhbmdlIl0sCisgICAgIkZGQTA3
QSI6IFtbMjU1LCAxNjAsIDEyMl0sIFsxNywgMTAwLCA3NF0sICJsaWdodFNhbG1vbiJdLAorICAg
ICJGRkE1MDAiOiBbWzI1NSwgMTY1LCAwXSwgWzM5LCAxMDAsIDUwXSwgIm9yYW5nZSJdLAorICAg
ICJGRkI2QzEiOiBbWzI1NSwgMTgyLCAxOTNdLCBbMzUxLCAxMDAsIDg2XSwgImxpZ2h0UGluayJd
LAorICAgICJGRkMwQ0IiOiBbWzI1NSwgMTkyLCAyMDNdLCBbMzUwLCAxMDAsIDg4XSwgInBpbmsi
XSwKKyAgICAiRkZENzAwIjogW1syNTUsIDIxNSwgMF0sIFs1MSwgMTAwLCA1MF0sICJnb2xkIl0s
CisgICAgIkZGREFCOSI6IFtbMjU1LCAyMTgsIDE4NV0sIFsyOCwgMTAwLCA4Nl0sICJwZWFjaFB1
ZmYiXSwKKyAgICAiRkZERUFEIjogW1syNTUsIDIyMiwgMTczXSwgWzM2LCAxMDAsIDg0XSwgIm5h
dmFqb1doaXRlIl0sCisgICAgIkZGRTRCNSI6IFtbMjU1LCAyMjgsIDE4MV0sIFszOCwgMTAwLCA4
NV0sICJtb2NjYXNpbiJdLAorICAgICJGRkU0QzQiOiBbWzI1NSwgMjI4LCAxOTZdLCBbMzMsIDEw
MCwgODhdLCAiYmlzcXVlIl0sCisgICAgIkZGRTRFMSI6IFtbMjU1LCAyMjgsIDIyNV0sIFs2LCAx
MDAsIDk0XSwgIm1pc3R5Um9zZSJdLAorICAgICJGRkVCQ0QiOiBbWzI1NSwgMjM1LCAyMDVdLCBb
MzYsIDEwMCwgOTBdLCAiYmxhbmNoZWRBbG1vbmQiXSwKKyAgICAiRkZFRkQ1IjogW1syNTUsIDIz
OSwgMjEzXSwgWzM3LCAxMDAsIDkyXSwgInBhcGF5YVdoaXAiXSwKKyAgICAiRkZGMEY1IjogW1sy
NTUsIDI0MCwgMjQ1XSwgWzM0MCwgMTAwLCA5N10sICJsYXZlbmRlckJsdXNoIl0sCisgICAgIkZG
RjVFRSI6IFtbMjU1LCAyNDUsIDIzOF0sIFsyNSwgMTAwLCA5N10sICJzZWFTaGVsbCJdLAorICAg
ICJGRkY4REMiOiBbWzI1NSwgMjQ4LCAyMjBdLCBbNDgsIDEwMCwgOTNdLCAiY29ybnNpbGsiXSwK
KyAgICAiRkZGQUNEIjogW1syNTUsIDI1MCwgMjA1XSwgWzU0LCAxMDAsIDkwXSwgImxlbW9uQ2hp
ZmZvbiJdLAorICAgICJGRkZBRjAiOiBbWzI1NSwgMjUwLCAyNDBdLCBbNDAsIDEwMCwgOTddLCAi
ZmxvcmFsV2hpdGUiXSwKKyAgICAiRkZGQUZBIjogW1syNTUsIDI1MCwgMjUwXSwgWzAsIDEwMCwg
OTldLCAic25vdyJdLAorICAgICJGRkZGMDAiOiBbWzI1NSwgMjU1LCAwXSwgWzYwLCAxMDAsIDUw
XSwgInllbGxvdyJdLAorICAgICJGRkZGRTAiOiBbWzI1NSwgMjU1LCAyMjRdLCBbNjAsIDEwMCwg
OTRdLCAibGlnaHRZZWxsb3ciXSwKKyAgICAiRkZGRkYwIjogW1syNTUsIDI1NSwgMjQwXSwgWzYw
LCAxMDAsIDk3XSwgIml2b3J5Il0sCisgICAgIkZGRkZGRiI6IFtbMjU1LCAyNTUsIDI1NV0sIFsw
LCAxMDAsIDEwMF0sICJ3aGl0ZSJdCit9OworCisvLyBTaW1wbGUgVmFsdWVzCitXZWJJbnNwZWN0
b3IuQ29sb3IuTmlja25hbWVzID0geworICAgICJhbGljZWJsdWUiOiAiRjBGOEZGIiwKKyAgICAi
YW50aXF1ZXdoaXRlIjogIkZBRUJENyIsCisgICAgImFxdWEiOiAiMDBGRkZGIiwKKyAgICAiYXF1
YW1hcmluZSI6ICI3RkZGRDQiLAorICAgICJhenVyZSI6ICJGMEZGRkYiLAorICAgICJiZWlnZSI6
ICJGNUY1REMiLAorICAgICJiaXNxdWUiOiAiRkZFNEM0IiwKKyAgICAiYmxhY2siOiAiMDAwMDAw
IiwKKyAgICAiYmxhbmNoZWRhbG1vbmQiOiAiRkZFQkNEIiwKKyAgICAiYmx1ZSI6ICIwMDAwRkYi
LAorICAgICJibHVldmlvbGV0IjogIjhBMkJFMiIsCisgICAgImJyb3duIjogIkE1MkEyQSIsCisg
ICAgImJ1cmx5d29vZCI6ICJERUI4ODciLAorICAgICJjYWRldGJsdWUiOiAiNUY5RUEwIiwKKyAg
ICAiY2hhcnRyZXVzZSI6ICI3RkZGMDAiLAorICAgICJjaG9jb2xhdGUiOiAiRDI2OTFFIiwKKyAg
ICAiY29yYWwiOiAiRkY3RjUwIiwKKyAgICAiY29ybmZsb3dlcmJsdWUiOiAiNjQ5NUVEIiwKKyAg
ICAiY29ybnNpbGsiOiAiRkZGOERDIiwKKyAgICAiY3JpbXNvbiI6ICJEQzE0M0MiLAorICAgICJj
eWFuIjogIjAwRkZGRiIsCisgICAgImRhcmtibHVlIjogIjAwMDA4QiIsCisgICAgImRhcmtjeWFu
IjogIjAwOEI4QiIsCisgICAgImRhcmtnb2xkZW5yb2QiOiAiQjg4NjBCIiwKKyAgICAiZGFya2dy
YXkiOiAiQTlBOUE5IiwKKyAgICAiZGFya2dyZWVuIjogIjAwNjQwMCIsCisgICAgImRhcmtraGFr
aSI6ICJCREI3NkIiLAorICAgICJkYXJrbWFnZW50YSI6ICI4QjAwOEIiLAorICAgICJkYXJrb2xp
dmVncmVlbiI6ICI1NTZCMkYiLAorICAgICJkYXJrb3JhbmdlIjogIkZGOEMwMCIsCisgICAgImRh
cmtvcmNoaWQiOiAiOTkzMkNDIiwKKyAgICAiZGFya3JlZCI6ICI4QjAwMDAiLAorICAgICJkYXJr
c2FsbW9uIjogIkU5OTY3QSIsCisgICAgImRhcmtzZWFncmVlbiI6ICI4RkJDOEYiLAorICAgICJk
YXJrc2xhdGVibHVlIjogIjQ4M0Q4QiIsCisgICAgImRhcmtzbGF0ZWdyYXkiOiAiMkY0RjRGIiwK
KyAgICAiZGFya3R1cnF1b2lzZSI6ICIwMENFRDEiLAorICAgICJkYXJrdmlvbGV0IjogIjk0MDBE
MyIsCisgICAgImRlZXBwaW5rIjogIkZGMTQ5MyIsCisgICAgImRlZXBza3libHVlIjogIjAwQkZG
RiIsCisgICAgImRpbWdyYXkiOiAiNjk2OTY5IiwKKyAgICAiZG9kZ2VyYmx1ZSI6ICIxRTkwRkYi
LAorICAgICJmaXJlYnJpY2siOiAiQjIyMjIyIiwKKyAgICAiZmxvcmFsd2hpdGUiOiAiRkZGQUYw
IiwKKyAgICAiZm9yZXN0Z3JlZW4iOiAiMjI4QjIyIiwKKyAgICAiZnVjaHNpYSI6ICJGRjAwRkYi
LAorICAgICJnYWluc2Jvcm8iOiAiRENEQ0RDIiwKKyAgICAiZ2hvc3R3aGl0ZSI6ICJGOEY4RkYi
LAorICAgICJnb2xkIjogIkZGRDcwMCIsCisgICAgImdvbGRlbnJvZCI6ICJEQUE1MjAiLAorICAg
ICJncmF5IjogIjgwODA4MCIsCisgICAgImdyZWVuIjogIjAwODAwMCIsCisgICAgImdyZWVueWVs
bG93IjogIkFERkYyRiIsCisgICAgImhvbmV5ZGV3IjogIkYwRkZGMCIsCisgICAgImhvdHBpbmsi
OiAiRkY2OUI0IiwKKyAgICAiaW5kaWFucmVkIjogIkNENUM1QyIsCisgICAgImluZGlnbyI6ICI0
QjAwODIiLAorICAgICJpdm9yeSI6ICJGRkZGRjAiLAorICAgICJraGFraSI6ICJGMEU2OEMiLAor
ICAgICJsYXZlbmRlciI6ICJFNkU2RkEiLAorICAgICJsYXZlbmRlcmJsdXNoIjogIkZGRjBGNSIs
CisgICAgImxhd25ncmVlbiI6ICI3Q0ZDMDAiLAorICAgICJsZW1vbmNoaWZmb24iOiAiRkZGQUNE
IiwKKyAgICAibGlnaHRibHVlIjogIkFERDhFNiIsCisgICAgImxpZ2h0Y29yYWwiOiAiRjA4MDgw
IiwKKyAgICAibGlnaHRjeWFuIjogIkUwRkZGRiIsCisgICAgImxpZ2h0Z29sZGVucm9keWVsbG93
IjogIkZBRkFEMiIsCisgICAgImxpZ2h0Z3JlZW4iOiAiOTBFRTkwIiwKKyAgICAibGlnaHRncmV5
IjogIkQzRDNEMyIsCisgICAgImxpZ2h0cGluayI6ICJGRkI2QzEiLAorICAgICJsaWdodHNhbG1v
biI6ICJGRkEwN0EiLAorICAgICJsaWdodHNlYWdyZWVuIjogIjIwQjJBQSIsCisgICAgImxpZ2h0
c2t5Ymx1ZSI6ICI4N0NFRkEiLAorICAgICJsaWdodHNsYXRlZ3JheSI6ICI3Nzg4OTkiLAorICAg
ICJsaWdodHN0ZWVsYmx1ZSI6ICJCMEM0REUiLAorICAgICJsaWdodHllbGxvdyI6ICJGRkZGRTAi
LAorICAgICJsaW1lIjogIjAwRkYwMCIsCisgICAgImxpbWVncmVlbiI6ICIzMkNEMzIiLAorICAg
ICJsaW5lbiI6ICJGQUYwRTYiLAorICAgICJtYWdlbnRhIjogIkZGMDBGRiIsCisgICAgIm1hcm9v
biI6ICI4MDAwMDAiLAorICAgICJtZWRpdW1hcXVhbWFyaW5lIjogIjY2Q0RBQSIsCisgICAgIm1l
ZGl1bWJsdWUiOiAiMDAwMENEIiwKKyAgICAibWVkaXVtb3JjaGlkIjogIkJBNTVEMyIsCisgICAg
Im1lZGl1bXB1cnBsZSI6ICI5MzcwRDgiLAorICAgICJtZWRpdW1zZWFncmVlbiI6ICIzQ0IzNzEi
LAorICAgICJtZWRpdW1zbGF0ZWJsdWUiOiAiN0I2OEVFIiwKKyAgICAibWVkaXVtc3ByaW5nZ3Jl
ZW4iOiAiMDBGQTlBIiwKKyAgICAibWVkaXVtdHVycXVvaXNlIjogIjQ4RDFDQyIsCisgICAgIm1l
ZGl1bXZpb2xldHJlZCI6ICJDNzE1ODUiLAorICAgICJtaWRuaWdodGJsdWUiOiAiMTkxOTcwIiwK
KyAgICAibWludGNyZWFtIjogIkY1RkZGQSIsCisgICAgIm1pc3R5cm9zZSI6ICJGRkU0RTEiLAor
ICAgICJtb2NjYXNpbiI6ICJGRkU0QjUiLAorICAgICJuYXZham93aGl0ZSI6ICJGRkRFQUQiLAor
ICAgICJuYXZ5IjogIjAwMDA4MCIsCisgICAgIm9sZGxhY2UiOiAiRkRGNUU2IiwKKyAgICAib2xp
dmUiOiAiODA4MDAwIiwKKyAgICAib2xpdmVkcmFiIjogIjZCOEUyMyIsCisgICAgIm9yYW5nZSI6
ICJGRkE1MDAiLAorICAgICJvcmFuZ2VyZWQiOiAiRkY0NTAwIiwKKyAgICAib3JjaGlkIjogIkRB
NzBENiIsCisgICAgInBhbGVnb2xkZW5yb2QiOiAiRUVFOEFBIiwKKyAgICAicGFsZWdyZWVuIjog
Ijk4RkI5OCIsCisgICAgInBhbGV0dXJxdW9pc2UiOiAiQUZFRUVFIiwKKyAgICAicGFsZXZpb2xl
dHJlZCI6ICJEODcwOTMiLAorICAgICJwYXBheWF3aGlwIjogIkZGRUZENSIsCisgICAgInBlYWNo
cHVmZiI6ICJGRkRBQjkiLAorICAgICJwZXJ1IjogIkNEODUzRiIsCisgICAgInBpbmsiOiAiRkZD
MENCIiwKKyAgICAicGx1bSI6ICJEREEwREQiLAorICAgICJwb3dkZXJibHVlIjogIkIwRTBFNiIs
CisgICAgInB1cnBsZSI6ICI4MDAwODAiLAorICAgICJyZWQiOiAiRkYwMDAwIiwKKyAgICAicm9z
eWJyb3duIjogIkJDOEY4RiIsCisgICAgInJveWFsYmx1ZSI6ICI0MTY5RTEiLAorICAgICJzYWRk
bGVicm93biI6ICI4QjQ1MTMiLAorICAgICJzYWxtb24iOiAiRkE4MDcyIiwKKyAgICAic2FuZHli
cm93biI6ICJGNEE0NjAiLAorICAgICJzZWFncmVlbiI6ICIyRThCNTciLAorICAgICJzZWFzaGVs
bCI6ICJGRkY1RUUiLAorICAgICJzaWVubmEiOiAiQTA1MjJEIiwKKyAgICAic2lsdmVyIjogIkMw
QzBDMCIsCisgICAgInNreWJsdWUiOiAiODdDRUVCIiwKKyAgICAic2xhdGVibHVlIjogIjZBNUFD
RCIsCisgICAgInNsYXRlZ3JheSI6ICI3MDgwOTAiLAorICAgICJzbm93IjogIkZGRkFGQSIsCisg
ICAgInNwcmluZ2dyZWVuIjogIjAwRkY3RiIsCisgICAgInN0ZWVsYmx1ZSI6ICI0NjgyQjQiLAor
ICAgICJ0YW4iOiAiRDJCNDhDIiwKKyAgICAidGVhbCI6ICIwMDgwODAiLAorICAgICJ0aGlzdGxl
IjogIkQ4QkZEOCIsCisgICAgInRvbWF0byI6ICJGRjYzNDciLAorICAgICJ0dXJxdW9pc2UiOiAi
NDBFMEQwIiwKKyAgICAidmlvbGV0IjogIkVFODJFRSIsCisgICAgIndoZWF0IjogIkY1REVCMyIs
CisgICAgIndoaXRlIjogIkZGRkZGRiIsCisgICAgIndoaXRlc21va2UiOiAiRjVGNUY1IiwKKyAg
ICAieWVsbG93IjogIkZGRkYwMCIsCisgICAgInllbGxvd2dyZWVuIjogIjlBQ0QzMiIKK307CisK
Ky8vIEFkdmFuY2VkIFZhbHVlcyBbcmdiYSwgaHNsYSwgbmlja25hbWVdCitXZWJJbnNwZWN0b3Iu
Q29sb3IuQWR2YW5jZWROaWNrTmFtZXMgPSB7CisgICAgInRyYW5zcGFyZW50IjogW1swLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCAidHJhbnNwYXJlbnQiXSwKKyAgICAicmdiYSgwLDAsMCwwKSI6
IFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgInRyYW5zcGFyZW50Il0sCisgICAgImhzbGEo
MCwwLDAsMCkiOiBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sICJ0cmFuc3BhcmVudCJdLAor
fTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cwppbmRleCA1NGQ3YjcyLi5iNzJjYzljIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC04NzYsNyArODc2LDggQEAgV2ViSW5zcGVj
dG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgaWYg
KHZhbHVlKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBvbmx5IGNvdmVycyBXM0MgYW5k
IENTUyAxNiB2YWxpZCBjb2xvciBuYW1lcwotICAgICAgICAgICAgdmFyIGNvbG9ycyA9IHZhbHVl
Lm1hdGNoKC8oKHJnYnxoc2wpYT9cKFteKV0rXCkpfCgjWzAtOWEtZkEtRl17Nn0pfCgjWzAtOWEt
ZkEtRl17M30pfGFxdWF8YmxhY2t8Ymx1ZXxmdWNoc2lhfGdyYXl8Z3JlZW58bGltZXxtYXJvb258
bmF2eXxvbGl2ZXxwdXJwbGV8cmVkfHNpbHZlcnx0ZWFsfHdoaXRlfHllbGxvdy9nKTsKKyAgICAg
ICAgICAgIHZhciBjb2xvcnMgPSB2YWx1ZS5tYXRjaCgvKChyZ2J8aHNsKWE/XChbXildK1wpKXwo
I1swLTlhLWZBLUZdezZ9KXwoI1swLTlhLWZBLUZdezN9KXxhcXVhfGJsYWNrfGJsdWV8ZnVjaHNp
YXxncmF5fGdyZWVufGxpbWV8bWFyb29ufG5hdnl8b2xpdmV8cHVycGxlfHJlZHxzaWx2ZXJ8dGVh
bHx3aGl0ZXx5ZWxsb3d8dHJhbnNwYXJlbnQvZyk7CisgICAgICAgICAgICB2YXIgc3dhdGNoOwog
ICAgICAgICAgICAgaWYgKGNvbG9ycykgewogICAgICAgICAgICAgICAgIHZhciBjb2xvcnNMZW5n
dGggPSBjb2xvcnMubGVuZ3RoOwogICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
Y29sb3JzTGVuZ3RoOyArK2kpIHsKQEAgLTg4NCw2ICs4ODUsNzIgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAg
IHN3YXRjaEVsZW1lbnQuY2xhc3NOYW1lID0gInN3YXRjaCI7CiAgICAgICAgICAgICAgICAgICAg
IHN3YXRjaEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoImJhY2tncm91bmQtY29sb3IiLCBjb2xv
cnNbaV0pOwogICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5hcHBlbmRD
aGlsZChzd2F0Y2hFbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgc3dhdGNoID0gc3dhdGNo
RWxlbWVudDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IC8vIFJvdGF0ZSB0aHJvdWdoIENvbG9yIFJlcHJlc2VudGF0aW9ucyBieSBDbGlja2luZyBvbiB0
aGUgU3dhdGNoCisgICAgICAgICAgICAvLyBTaW1wbGU6IHJnYiAtPiBoc2wgLT4gbmlja25hbWU/
IC0+IHNob3J0aGV4PyAtPiBoZXggLT4gLi4uCisgICAgICAgICAgICAvLyBBZHZhbmNlZDogcmdi
YSAtPiBoc2xhIC0+IG5pY2tuYW1lPyAtPiAuLi4gICAgICAgICAgICAKKyAgICAgICAgICAgIGlm
IChjb2xvcnMgJiYgY29sb3JzLmxlbmd0aCA9PT0gMSkgeworICAgICAgICAgICAgICAgIHZhciBj
b2xvciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29sb3IoaHRtbFZhbHVlKTsKKyAgICAgICAgICAgICAg
ICBzd2F0Y2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBjaGFuZ2VDb2xvckRpc3BsYXksIGZh
bHNlKTsKKyAgICAgICAgICAgICAgICBzd2F0Y2guYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2si
LCBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFn
YXRpb24oKTsKKyAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgICAgICAgICB2
YXIgbW9kZSA9IGNvbG9yLm1vZGU7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlRWxlbWVudCA9
IHRoaXMudmFsdWVFbGVtZW50OworICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoYW5nZUNvbG9y
RGlzcGxheShldmVudCkgeworCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoYW5nZVRv
KG5ld01vZGUsIGNvbnRlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBuZXdN
b2RlOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0g
Y29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHN3
aXRjaCAobW9kZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAicmdiIjoKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUbygiaHNsIiwgY29sb3IudG9Ic2woKSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgInNob3J0aGV4IjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VU
bygiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImhleCI6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhbmdlVG8oInJnYiIsIGNvbG9yLnRvUmdiKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICBjYXNl
ICJuaWNrbmFtZSI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yLnNpbXBs
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sb3IuaGFzU2hvcnRI
ZXgoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJzaG9y
dGhleCIsIGNvbG9yLnRvU2hvcnRIZXgoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJo
ZXgiLCBjb2xvci50b0hleCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG8oInJnYmEiLCBjb2xvci50
b1JnYmEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgImhzbCI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGNvbG9yLm5pY2tuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VUbygibmlja25hbWUiLCBjb2xvci50b05pY2tuYW1lKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKGNvbG9yLmhhc1Nob3J0SGV4KCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJzaG9ydGhleCIsIGNvbG9yLnRvU2hvcnRIZXgoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VUbygiaGV4IiwgY29sb3IudG9IZXgoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInJn
YmEiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVRvKCJoc2xhIiwgY29sb3Iu
dG9Ic2xhKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBjYXNlICJoc2xhIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoY29sb3Iubmlja25hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
YW5nZVRvKCJuaWNrbmFtZSIsIGNvbG9yLnRvTmlja25hbWUoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VU
bygicmdiYSIsIGNvbG9yLnRvUmdiYSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dlYktpdC5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRl
eCBjZjU4ODcwLi45NDcyZjUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFy
YwpAQCAtNyw2ICs3LDcgQEAKICAgICA8ZmlsZT5DYWxsYmFjay5qczwvZmlsZT4KICAgICA8Zmls
ZT5DYWxsU3RhY2tTaWRlYmFyUGFuZS5qczwvZmlsZT4KICAgICA8ZmlsZT5DaGFuZ2VzVmlldy5q
czwvZmlsZT4KKyAgICA8ZmlsZT5Db2xvci5qczwvZmlsZT4KICAgICA8ZmlsZT5Db25zb2xlVmll
dy5qczwvZmlsZT4KICAgICA8ZmlsZT5EYXRhYmFzZS5qczwvZmlsZT4KICAgICA8ZmlsZT5EYXRh
YmFzZVF1ZXJ5Vmlldy5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbAppbmRleCAwY2Q4NmI1Li41Yjc2ZmVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC02MSw2ICs2MSw3IEBAIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2NvcGVDaGFpblNpZGViYXJQYW5l
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJN
ZXRyaWNzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IlByb3BlcnRpZXNTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29sb3IuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlN0eWxlc1NpZGViYXJQYW5l
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQ
YW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iUGFuZWxFbmFibGVyVmlldy5qcyI+PC9zY3JpcHQ+Cg==
</data>
<flag name="commit-queue"
          id="18341"
          type_id="3"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>