<?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>104545</bug_id>
          
          <creation_ts>2012-12-10 06:15:28 -0800</creation_ts>
          <short_desc>Web Inspector: Profiler: split &quot;getProfile&quot; to &quot;getCPUProfile&quot; and &quot;loadHeapSnapshot&quot;</short_desc>
          <delta_ts>2013-01-23 21:07:20 -0800</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>528+ (Nightly build)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>102792</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugene Klyuchnikov">eustas</reporter>
          <assigned_to name="Eugene Klyuchnikov">eustas</assigned_to>
          <cc>apavlov</cc>
    
    <cc>caseq</cc>
    
    <cc>eustas</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>marja</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rniwa</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>787247</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-10 06:15:28 -0800</bug_when>
    <thetext>This change will allow stronger typing of profiler output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787252</commentid>
    <comment_count>1</comment_count>
      <attachid>178532</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-10 06:22:45 -0800</bug_when>
    <thetext>Created attachment 178532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791420</commentid>
    <comment_count>2</comment_count>
      <attachid>178532</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-14 00:28:36 -0800</bug_when>
    <thetext>Comment on attachment 178532
Patch

@yurys, do you want to review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791482</commentid>
    <comment_count>3</comment_count>
      <attachid>178532</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-14 02:11:56 -0800</bug_when>
    <thetext>Comment on attachment 178532
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:3035
&gt; +                &quot;name&quot;: &quot;loadHeapSnapshot&quot;,

I&apos;d name it getHeapSnapshot to avoid confusion with loading from filesystem and for consistency with getCPUProfile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791484</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-14 02:18:17 -0800</bug_when>
    <thetext>This change will likely break  chrome/test/pyautolib/remote_inspector_client.py and related automation tests. We should update the script when this change is committed and rolled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791608</commentid>
    <comment_count>5</comment_count>
      <attachid>178532</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-14 07:54:00 -0800</bug_when>
    <thetext>Comment on attachment 178532
Patch

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

https://code.google.com/p/chromium/issues/detail?id=166160

&gt;&gt; Source/WebCore/inspector/Inspector.json:3035
&gt;&gt; +                &quot;name&quot;: &quot;loadHeapSnapshot&quot;,
&gt; 
&gt; I&apos;d name it getHeapSnapshot to avoid confusion with loading from filesystem and for consistency with getCPUProfile.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791610</commentid>
    <comment_count>6</comment_count>
      <attachid>179483</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-14 07:55:58 -0800</bug_when>
    <thetext>Created attachment 179483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792525</commentid>
    <comment_count>7</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-17 00:31:00 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; This change will likely break  chrome/test/pyautolib/remote_inspector_client.py and related automation tests. We should update the script when this change is committed and rolled.

Patch: https://chromiumcodereview.appspot.com/11583002/
CrBug: http://code.google.com/p/chromium/issues/detail?id=166160</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793432</commentid>
    <comment_count>8</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-18 00:42:37 -0800</bug_when>
    <thetext>&gt; Patch: https://chromiumcodereview.appspot.com/11583002/
&gt; CrBug: http://code.google.com/p/chromium/issues/detail?id=166160

Reworked patch: https://chromiumcodereview.appspot.com/11615021/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795238</commentid>
    <comment_count>9</comment_count>
      <attachid>180290</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2012-12-20 00:33:10 -0800</bug_when>
    <thetext>Created attachment 180290
Patch

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809074</commentid>
    <comment_count>10</comment_count>
      <attachid>183120</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-01-16 22:12:41 -0800</bug_when>
    <thetext>Created attachment 183120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809482</commentid>
    <comment_count>11</comment_count>
      <attachid>183120</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 10:52:25 -0800</bug_when>
    <thetext>Comment on attachment 183120
Patch

Clearing flags on attachment: 183120

Committed r139998: &lt;http://trac.webkit.org/changeset/139998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809483</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-17 10:52:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814987</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 20:05:19 -0800</bug_when>
    <thetext>This patch broke LeaksViewer :(

Now we&apos;re getting erros like:
Uncaught TypeError: Object #&lt;Object&gt; has no method &apos;getProfile&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814994</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 20:11:29 -0800</bug_when>
    <thetext>Reverted the change in http://trac.webkit.org/changeset/140639 since the Leaks Viewer pulls in the inspector code at r80565.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815008</commentid>
    <comment_count>15</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-01-23 20:36:41 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Reverted the change in http://trac.webkit.org/changeset/140639 since the Leaks Viewer pulls in the inspector code at r80565.

I think that LeaksViewer should be fixed, as it was done with leaks-finder https://codereview.chromium.org/11615021/

Reverting this change you broke leaks-finder!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815013</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 20:42:46 -0800</bug_when>
    <thetext>Another fixed landed in http://trac.webkit.org/changeset/140641.

(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; Reverted the change in http://trac.webkit.org/changeset/140639 since the Leaks Viewer pulls in the inspector code at r80565.
&gt; 
&gt; I think that LeaksViewer should be fixed, as it was done with leaks-finder https://codereview.chromium.org/11615021/
&gt; 
&gt; Reverting this change you broke leaks-finder!!!

Why is this random Chromium tool depending on Tools/BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/?  Also, we can&apos;t break WebKit tool in order to fix Chromium tools. That&apos;s just not how it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815014</commentid>
    <comment_count>17</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-01-23 20:45:37 -0800</bug_when>
    <thetext>leaks-finder do not depend on LeaksViewer, it depend on inspector protocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815023</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 20:51:14 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; leaks-finder do not depend on LeaksViewer, it depend on inspector protocol.

Then nothing is broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815028</commentid>
    <comment_count>19</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-01-23 20:58:18 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; leaks-finder do not depend on LeaksViewer, it depend on inspector protocol.
&gt; 
&gt; Then nothing is broken.

This patch contains changes to inspector protocol.

All references to &quot;getProfile&quot; in this patch were replaced with &quot;getCPUProfile&quot; and &quot;loadHeapShapshot&quot;.

WebinspectorShims contains something that simulates WebInspector.
This was also changed to conform new interface.

The actual problem is: why LeaksViewer uses pulls web inspector code at r80565 and WebinspectorShims code at tip-of-tree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815031</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-23 21:05:43 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; leaks-finder do not depend on LeaksViewer, it depend on inspector protocol.
&gt; &gt; 
&gt; &gt; Then nothing is broken.
&gt; 
&gt; This patch contains changes to inspector protocol.

It does not!  Did you even look at the changesets?  All changes were made to:
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815032</commentid>
    <comment_count>21</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-01-23 21:07:20 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; (In reply to comment #18)
&gt; &gt; &gt; (In reply to comment #17)
&gt; &gt; &gt; &gt; leaks-finder do not depend on LeaksViewer, it depend on inspector protocol.
&gt; &gt; &gt; 
&gt; &gt; &gt; Then nothing is broken.
&gt; &gt; 
&gt; &gt; This patch contains changes to inspector protocol.
&gt; 
&gt; It does not!  Did you even look at the changesets?  All changes were made to:
&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js

Ooops. I&apos;m really deeply sorry!

Thank you for your assistance.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178532</attachid>
            <date>2012-12-10 06:22:45 -0800</date>
            <delta_ts>2013-01-17 03:51:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104545-20121210182006.patch</filename>
            <type>text/plain</type>
            <size>15890</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRjYTY1MmY1Y2I1YTFj
ZWQ5YjNlNzNkNDRjNWExYmFjZTk1NjJkOS4uN2I2Nzg2NDAzNmU1ZmY4ZjhiYWNjYTcxMWM4NzVi
M2Y3YjcyMzExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEwICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFu
ZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdpbGwgYWxsb3cgc3Ryb25nZXIgdHlwaW5nIG9mIHBy
b2ZpbGVyIG91dHB1dC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAg
ICAgICAgU3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImxvYWRIZWFw
U25hcHNob3QiLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNw
cDogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaDog
RGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qczog
QWRvcGQgY2hhbmdlcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hv
dFZpZXcuanM6IERpdHRvLgorCiAyMDEyLTEyLTEwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZWZhY3RvcmluZzogUmVtb3ZlIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmF1dG9mb2N1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1M2E2YjE3MDU1
MmU2NjVlN2Y5M2M0MjVlMzM3NmU0NjZiYzQ5ZmU5Li4wN2M3NGZhNmI5YTljY2FjYzlhNzA4ZThk
MTU0Mzg0NDI2MDIyMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDEyLTEyLTEwICBFdWdlbmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIg
dG8gImdldENQVVByb2ZpbGUiIGFuZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IGNoYW5nZXM6IG1pbWljIG9s
ZCBiZWhhdmlvci4KKworICAgICAgICAqIHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHA6IEFk
b3B0IHNpZ25hdHVyZSBjaGFuZ2VzLgorCiAyMDEyLTEyLTEwICBLZW50IFRhbXVyYSAgPHRrZW50
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWZhY3RvcmluZzogSW50cm9kdWNlIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OmlzRGlzYWJsZWRPclJlYWRPbmx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggOTdjNmVhM2I1MTZhMjFlN2ZlOTBmOGUyMzQ2ZGVkOTll
YmM5Y2MxYi4uOWM3ZGM5ODc0ZjAwNGJhMDA4MmM5MjQzODZiZjkwZDlhMGVhOWQ2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjk3MSw3ICsyOTcxLDcgQEAK
ICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICJpZCI6ICJQcm9maWxlIiwKKyAgICAgICAgICAgICAgICAiaWQiOiAiQ1BVUHJv
ZmlsZSIsCiAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiUHJvZmlsZS4iLAogICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz
IjogWwpAQCAtMzAyMywxMyArMzAyMywxOCBAQAogICAgICAgICAgICAgICAgIF0KICAgICAgICAg
ICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvZmls
ZSIsCisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q1BVUHJvZmlsZSIsCiAgICAgICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlw
ZSIsICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1
aWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAg
ICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcm9maWxl
IiwgIiRyZWYiOiAiUHJvZmlsZSIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBy
b2ZpbGUiLCAiJHJlZiI6ICJDUFVQcm9maWxlIiB9CisgICAgICAgICAgICAgICAgXQorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJsb2FkSGVh
cFNuYXBzaG90IiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJ1aWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAg
ICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCA2ZDcxODVi
YzQ4YTgxNmJhZGM4MzA0ZTFjZDdjNmZmNGMzOTQ3ZjdjLi40ZDhhMDAwMzE0MmM2NWRmNzc0ZmU5
MGU5ODI4NjlhMmM4MDMxNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCkBAIC0yNzksMzEgKzI3OSwzMiBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZQogCi12b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmdldFBy
b2ZpbGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHR5cGUsIGludCBy
YXdVaWQsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGU+JiBwcm9maWxlT2Jq
ZWN0KQordm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpnZXRDUFVQcm9maWxlKEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgaW50IHJhd1VpZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpQcm9maWxl
cjo6Q1BVUHJvZmlsZT4mIHByb2ZpbGVPYmplY3QpCiB7CiAgICAgdW5zaWduZWQgdWlkID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHJhd1VpZCk7Ci0gICAgaWYgKHR5cGUgPT0gQ1BVUHJvZmlsZVR5
cGUpIHsKLSAgICAgICAgUHJvZmlsZXNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9wcm9maWxlcy5maW5k
KHVpZCk7Ci0gICAgICAgIGlmIChpdCA9PSBtX3Byb2ZpbGVzLmVuZCgpKSB7Ci0gICAgICAgICAg
ICAqZXJyb3JTdHJpbmcgPSAiUHJvZmlsZSB3YXNuJ3QgZm91bmQiOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0gICAgICAgIHByb2ZpbGVPYmplY3QgPSBUeXBlQnVpbGRlcjo6UHJv
ZmlsZXI6OlByb2ZpbGU6OmNyZWF0ZSgpOwotICAgICAgICBwcm9maWxlT2JqZWN0LT5zZXRIZWFk
KGl0LT52YWx1ZS0+YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JIZWFkKCkpOwotICAgICAgICBpZiAo
aXQtPnZhbHVlLT5ib3R0b21VcEhlYWQoKSkKLSAgICAgICAgICAgIHByb2ZpbGVPYmplY3QtPnNl
dEJvdHRvbVVwSGVhZChpdC0+dmFsdWUtPmJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9yQm90dG9tVXBI
ZWFkKCkpOwotICAgIH0gZWxzZSBpZiAodHlwZSA9PSBIZWFwUHJvZmlsZVR5cGUpIHsKLSAgICAg
ICAgSGVhcFNuYXBzaG90c01hcDo6aXRlcmF0b3IgaXQgPSBtX3NuYXBzaG90cy5maW5kKHVpZCk7
Ci0gICAgICAgIGlmIChpdCA9PSBtX3NuYXBzaG90cy5lbmQoKSkgewotICAgICAgICAgICAgKmVy
cm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fzbid0IGZvdW5kIjsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgICAgICBSZWZQdHI8U2NyaXB0SGVhcFNuYXBzaG90PiBzbmFwc2hvdCA9
IGl0LT52YWx1ZTsKLSAgICAgICAgcHJvZmlsZU9iamVjdCA9IFR5cGVCdWlsZGVyOjpQcm9maWxl
cjo6UHJvZmlsZTo6Y3JlYXRlKCk7Ci0gICAgICAgIGlmIChtX2Zyb250ZW5kKSB7Ci0gICAgICAg
ICAgICBPdXRwdXRTdHJlYW0gc3RyZWFtKG1fZnJvbnRlbmQsIHVpZCk7Ci0gICAgICAgICAgICBz
bmFwc2hvdC0+d3JpdGVKU09OKCZzdHJlYW0pOwotICAgICAgICB9CisgICAgUHJvZmlsZXNNYXA6
Oml0ZXJhdG9yIGl0ID0gbV9wcm9maWxlcy5maW5kKHVpZCk7CisgICAgaWYgKGl0ID09IG1fcHJv
ZmlsZXMuZW5kKCkpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fzbid0IGZv
dW5kIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwcm9maWxlT2JqZWN0ID0gVHlwZUJ1
aWxkZXI6OlByb2ZpbGVyOjpDUFVQcm9maWxlOjpjcmVhdGUoKTsKKyAgICBwcm9maWxlT2JqZWN0
LT5zZXRIZWFkKGl0LT52YWx1ZS0+YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JIZWFkKCkpOworICAg
IGlmIChpdC0+dmFsdWUtPmJvdHRvbVVwSGVhZCgpKQorICAgICAgICBwcm9maWxlT2JqZWN0LT5z
ZXRCb3R0b21VcEhlYWQoaXQtPnZhbHVlLT5idWlsZEluc3BlY3Rvck9iamVjdEZvckJvdHRvbVVw
SGVhZCgpKTsKK30KKwordm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50Ojpsb2FkSGVhcFNuYXBz
aG90KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IHJhd1VpZCkKK3sKKyAgICB1bnNpZ25l
ZCB1aWQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmF3VWlkKTsKKyAgICBIZWFwU25hcHNob3Rz
TWFwOjppdGVyYXRvciBpdCA9IG1fc25hcHNob3RzLmZpbmQodWlkKTsKKyAgICBpZiAoaXQgPT0g
bV9zbmFwc2hvdHMuZW5kKCkpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fz
bid0IGZvdW5kIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBSZWZQdHI8U2NyaXB0SGVh
cFNuYXBzaG90PiBzbmFwc2hvdCA9IGl0LT52YWx1ZTsKKyAgICBpZiAobV9mcm9udGVuZCkgewor
ICAgICAgICBPdXRwdXRTdHJlYW0gc3RyZWFtKG1fZnJvbnRlbmQsIHVpZCk7CisgICAgICAgIHNu
YXBzaG90LT53cml0ZUpTT04oJnN0cmVhbSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCA4MjNiN2U2ZjBi
ODVjM2EzNDk5ZWE3ZWE0MTk1ZWM2YTY0YjI2MjRmLi4zZDg2MmZhOTQzMDQ3ZjkyZTMwMTA0ZDc5
ODJjYmJhYjYwMDdhYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTg3LDcgKzg3LDggQEAgcHVibGljOgogICAgIGJvb2wg
ZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQogICAgIFN0cmluZyBnZXRDdXJyZW50VXNl
ckluaXRpYXRlZFByb2ZpbGVOYW1lKGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlciA9IGZhbHNl
KTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UHJvZmlsZUhlYWRlcnMoRXJyb3JTdHJpbmcqLCBSZWZQ
dHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZUhlYWRl
cj4gPiYpOwotICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9maWxlKEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJiB0eXBlLCBpbnQgdWlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9m
aWxlPiYpOworICAgIHZpcnR1YWwgdm9pZCBnZXRDUFVQcm9maWxlKEVycm9yU3RyaW5nKiwgaW50
IHVpZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6Q1BVUHJvZmlsZT4mKTsKKyAgICB2
aXJ0dWFsIHZvaWQgbG9hZEhlYXBTbmFwc2hvdChFcnJvclN0cmluZyosIGludCB1aWQpOwogICAg
IHZpcnR1YWwgdm9pZCByZW1vdmVQcm9maWxlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB0
eXBlLCBpbnQgdWlkKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JG
cm9udGVuZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DUFVQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q1BVUHJvZmlsZVZpZXcuanMKaW5kZXggOWUzZDVhZjg5MjdiNjUzMTliODIwYzIzZTYyZmQ4NDAz
MDU4MzQ2Yy4uZDMxNzc1YTBhOTUwNGEwNTk2M2Q5YzEwOTE4Mzc1MWUyYjIyZmM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3
LmpzCkBAIC0xMDEsNyArMTAxLDcgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3ID0gZnVu
Y3Rpb24ocHJvZmlsZSkKIAogICAgIHRoaXMuX2xpbmtpZmllciA9IG5ldyBXZWJJbnNwZWN0b3Iu
TGlua2lmaWVyKG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRGb3JtYXR0ZXIoMzAp
KTsKIAotICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJvZmlsZSh0aGlzLnByb2ZpbGUucHJvZmlsZVR5
cGUoKS5pZCwgdGhpcy5wcm9maWxlLnVpZCwgcHJvZmlsZUNhbGxiYWNrLmJpbmQodGhpcykpOwor
ICAgIFByb2ZpbGVyQWdlbnQuZ2V0Q1BVUHJvZmlsZSh0aGlzLnByb2ZpbGUudWlkLCBwcm9maWxl
Q2FsbGJhY2suYmluZCh0aGlzKSk7CiB9CiAKIFdlYkluc3BlY3Rvci5DUFVQcm9maWxlVmlldy5f
VHlwZVRyZWUgPSAiVHJlZSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKaW5kZXggODY1NjZkYjc3MThhZDRjNzkwODFi
Nzg0NWMyOWE1NGZiNDMyYjhiZi4uM2JkMTY5ZGJiY2Y4YWZkMDdjYWE0NDc3M2M4MGQyMjczZjgz
MDFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFw
U25hcHNob3RWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SGVhcFNuYXBzaG90Vmlldy5qcwpAQCAtODcyLDcgKzg3Miw3IEBAIFdlYkluc3BlY3Rvci5IZWFw
UHJvZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9zZXR1cFdvcmtl
cigpOwogICAgICAgICAgICAgdGhpcy5zaWRlYmFyRWxlbWVudC5zdWJ0aXRsZSA9IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiTG9hZGluZ1x1MjAyNiIpOwogICAgICAgICAgICAgdGhpcy5zaWRlYmFy
RWxlbWVudC53YWl0ID0gdHJ1ZTsKLSAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJvZmls
ZSh0aGlzLnByb2ZpbGVUeXBlKCkuaWQsIHRoaXMudWlkKTsKKyAgICAgICAgICAgIFByb2ZpbGVy
QWdlbnQubG9hZEhlYXBTbmFwc2hvdCh0aGlzLnVpZCk7CiAgICAgICAgIH0KICAgICAgICAgdmFy
IGxvYWRlclByb3h5ID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90TG9hZGVy
UHJveHl9ICovICh0aGlzLl9yZWNlaXZlcik7CiAgICAgICAgIGxvYWRlclByb3h5LmFkZENvbnN1
bWVyKGNhbGxiYWNrKTsKQEAgLTk3Nyw3ICs5NzcsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFByb2Zp
bGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fcmVjZWl2ZXIgPSBmaWxl
T3V0cHV0U3RyZWFtOwogICAgICAgICAgICAgdGhpcy5fc2F2ZWRDaHVua3MgPSAwOwogICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlVHJhbnNmZXJQcm9ncmVzcygwLCB0aGlzLl90b3RhbE51bWJlck9m
Q2h1bmtzKTsKLSAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJvZmlsZSh0aGlzLnByb2Zp
bGVUeXBlKCkuaWQsIHRoaXMudWlkKTsKKyAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQubG9hZEhl
YXBTbmFwc2hvdCh0aGlzLnVpZCk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fc2F2aW5nVG9G
aWxlID0gdHJ1ZTsKICAgICAgICAgdGhpcy5fZmlsZU5hbWUgPSB0aGlzLl9maWxlTmFtZSB8fCAi
SGVhcC0iICsgbmV3IERhdGUoKS50b0lTTzg2MDFDb21wYWN0KCkgKyAiLmhlYXBzbmFwc2hvdCI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1w
bC5jcHAKaW5kZXggNzU3NGQ4ODFhZWI5MmI5ZTlkMTIyMTc5MWU1MzIxZTUzZmNiYTEzZi4uMzk3
NWU1OTczMTc1ZDNmNjlmYTY4N2RhZGE5MjU3ZDgzMGE0Njc0MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNzA0LDcg
KzcwNCw4IEBAIGJvb2wgV2ViRGV2VG9vbHNBZ2VudDo6c2hvdWxkSW50ZXJydXB0Rm9yTWVzc2Fn
ZShjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIHx8IGNvbW1hbmROYW1lID09IElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXI6OmtEZWJ1Z2dlcl9zZXRCcmVha3BvaW50c0FjdGl2ZUNtZF0KICAgICAgICAgfHwg
Y29tbWFuZE5hbWUgPT0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6a1Byb2ZpbGVyX3N0YXJ0Q21kXQogICAgICAgICB8
fCBjb21tYW5kTmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y29tbWFuZE5hbWVz
W0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjprUHJvZmlsZXJfc3RvcENtZF0KLSAgICAgICAg
fHwgY29tbWFuZE5hbWUgPT0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1l
c1tJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6a1Byb2ZpbGVyX2dldFByb2ZpbGVDbWRdOwor
ICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y29t
bWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjprUHJvZmlsZXJfZ2V0Q1BVUHJv
ZmlsZUNtZF0KKyAgICAgICAgfHwgY29tbWFuZE5hbWUgPT0gSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXI6OmNvbW1hbmROYW1lc1tJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6a1Byb2ZpbGVy
X2xvYWRIZWFwU25hcHNob3RDbWRdOwogfQogCiB2b2lkIFdlYkRldlRvb2xzQWdlbnQ6OnByb2Nl
c3NQZW5kaW5nTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGNhNzNjYjlmNDkyZDExMjZmZjU0YTk3NmU4ZGJkMjJlMjc0YWQ0Mzcu
LjA2MWRjMTViOWNjMWQxNDI4NzhiODg0Yzc2MGQ4YTM2MjRkNmExMjggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
Mi0xMi0xMCAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBQcm9maWxlcjogc3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRD
UFVQcm9maWxlIiBhbmQgImxvYWRIZWFwU25hcHNob3QiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBzaWduYXR1cmUgY2hhbmdlcy4KKworICAg
ICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19o
dG1sL0xlYWtzVmlld2VyL1dlYkluc3BlY3RvclNoaW1zLmpzOgorICAgICAgICAoUHJvZmlsZXJB
Z2VudC5nZXRDUFVQcm9maWxlKTogUmVuYW1lZC4KKyAgICAgICAgKFByb2ZpbGVyQWdlbnQubG9h
ZEhlYXBTbmFwc2hvdCk6IEFkZGVkLgorCiAyMDEyLTEyLTEwICBaYW4gRG9iZXJzZWsgIDx6YW5k
b2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgW0dUS11bV1RSXSBJbXBsZW1lbnQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dGl0bGVVSUVsZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmll
d2VyL1dlYkluc3BlY3RvclNoaW1zLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvTGVha3NWaWV3ZXIvV2ViSW5zcGVjdG9yU2hp
bXMuanMKaW5kZXggZDdjMTMwOTVmOTFmMzMwY2I2NmI4MzdiMzk5MzkxNmY3NmI4OGRlMi4uYjNh
MzVjNWQzMGFjMGQ1OGY2NmI5YTdiMDlhMmNhMTQ0ZjEwZTIxYiAxMDA2NDQKLS0tIGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvTGVh
a3NWaWV3ZXIvV2ViSW5zcGVjdG9yU2hpbXMuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvTGVha3NWaWV3ZXIvV2ViSW5z
cGVjdG9yU2hpbXMuanMKQEAgLTY4LDEwICs2OCwxMyBAQCB2YXIgUHJlZmVyZW5jZXMgPSB7CiB9
OwogCiB2YXIgUHJvZmlsZXJBZ2VudCA9IHsKLSAgICBnZXRQcm9maWxlOiBmdW5jdGlvbih0eXBl
SWQsIHVpZCwgY2FsbGJhY2spIHsKKyAgICBnZXRDUFVQcm9maWxlOiBmdW5jdGlvbih1aWQsIGNh
bGxiYWNrKSB7CiAgICAgICAgIHRoaXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgfSwKIAor
ICAgIGxvYWRIZWFwU25hcHNob3Q6IGZ1bmN0aW9uKHVpZCwgY2FsbGJhY2spIHsKKyAgICB9LAor
CiAgICAgcHJvZmlsZVJlYWR5OiBmdW5jdGlvbihoZWFkKSB7CiAgICAgICAgIHRoaXMuX2NhbGxi
YWNrKHsgaGVhZDogaGVhZCB9KTsKICAgICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJjYTU1ODViN2ZlMTVjM2FlNDBl
YWI3Mzk4OTRiMGUzOTc2MTI2ODQuLmFhMTczNzcyNjIxMTUyYTRmMmNjMjBlMDE5ZGE2MGFhZTQ3
YmMxZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgRXVnZW5lIEtseXVjaG5p
a292ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcm9m
aWxlcjogc3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImxvYWRIZWFw
U25hcHNob3QiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDQ1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZG9wdGVkIG5ldyBtZXRob2Qgc2lnbmF0dXJlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWw6CisgICAgICAgIEFk
b3B0ZWQgbmV3IG1ldGhvZCBzaWduYXR1cmVzLgorICAgICAgICAqIGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
cHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzOiBEaXR0by4KKwogMjAxMi0xMi0xMCAgWmFu
IERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
R1RLIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1nZXQtcHJvZmlsZS1jcmFzaC5odG1sCmluZGV4
IGYyNWEyOTE1NWUwY2Q2ZTFmNTRjOWM5ODMyMGRhZTA4N2Y0YTc5ZjAuLmVjNTE3MDU1ZTAwNTll
MDg3NWUwNmY5ODFkNjczMzgyMDdhNTdhOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtZ2V0LXByb2ZpbGUt
Y3Jhc2guaHRtbApAQCAtMTQsNyArMTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAg
ICAgICBjb25zb2xlLmxvZyhlcnJvclN0cmluZyk7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKCJIRUFQ
IiwgLTEsIGZpbmlzaCk7CisgICAgICAgICAgICBQcm9maWxlckFnZW50LmxvYWRIZWFwU25hcHNo
b3QoLTEsIGZpbmlzaCk7CiAgICAgICAgIH0KICAgICBdKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKaW5k
ZXggMDk4OTZmYmI3Y2I5Njk1MTNlYzU4NzRmYmQ2MDVjNzJhMzdiMzI0ZC4uMzAyNWZmZTZjMmU5
YTBmYjE4OGQ0N2EwZTgyOTczZjZjZWMxOGRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKQEAgLTMwLDcg
KzMwLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgdmFyIHByb2ZpbGVIZWFkZXIgPSBw
YW5lbC5fcHJvZmlsZXNbMF07CiAKLSAgICAgICAgZnVuY3Rpb24gZ2V0UHJvZmlsZU1vY2socHJv
ZmlsZVR5cGVOYW1lLCB1aWQpIHsKKyAgICAgICAgZnVuY3Rpb24gbG9hZEhlYXBTbmFwc2hvdE1v
Y2sodWlkKSB7CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHNvdXJjZVN0cmluZ2lm
aWVkLmxlbmd0aDsgaSA8IGw7IGkgKz0gcGFydFNpemUpCiAgICAgICAgICAgICAgICAgZGlzcGF0
Y2hlci5hZGRIZWFwU25hcHNob3RDaHVuayh1aWQsIHNvdXJjZVN0cmluZ2lmaWVkLnNsaWNlKGks
IGkgKyBwYXJ0U2l6ZSkpOwogICAgICAgICAgICAgZGlzcGF0Y2hlci5maW5pc2hIZWFwU25hcHNo
b3QodWlkKTsKQEAgLTM5LDEyICszOSwxMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgZnVu
Y3Rpb24gc25hcHNob3RMb2FkZWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAob3ZlcnJp
ZGVHZXRQcm9maWxlKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUoUHJv
ZmlsZXJBZ2VudCwgImdldFByb2ZpbGUiLCBnZXRQcm9maWxlTW9jayk7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxlckFnZW50LCAibG9hZEhlYXBTbmFwc2hv
dCIsIGxvYWRIZWFwU25hcHNob3RNb2NrKTsKICAgICAgICAgICAgIGNhbGxiYWNrKHByb2ZpbGVI
ZWFkZXIpOwogICAgICAgICB9CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihwcm9m
aWxlSGVhZGVyLCAiX3NuYXBzaG90UmVjZWl2ZWQiLCBzbmFwc2hvdExvYWRlZCk7CiAKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxlckFnZW50LCAiZ2V0UHJvZmlsZSIsIGdl
dFByb2ZpbGVNb2NrKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxlckFn
ZW50LCAibG9hZEhlYXBTbmFwc2hvdCIsIGxvYWRIZWFwU25hcHNob3RNb2NrKTsKICAgICAgICAg
cGFuZWwuc2hvd1Byb2ZpbGUocHJvZmlsZUhlYWRlcik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcwppbmRleCAx
ODUxMzRiMjQxMWJkOGI0Y2ViMWNlZjgxZTAxOTExYTA3MTNkZjYzLi4yYjdlM2ZhNzc1Zjc4OWJl
NDkwYTg1YjZkMzRjYjM4NzYzNjVhOTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKQEAgLTcyNCwxNSArNzI0LDE1IEBA
IEluc3BlY3RvclRlc3QudGFrZUFuZE9wZW5TbmFwc2hvdCA9IGZ1bmN0aW9uKGdlbmVyYXRvciwg
Y2FsbGJhY2spCiAgICAgICAgIG1heEpTT2JqZWN0SWQ6IHNuYXBzaG90Lm1heEpTT2JqZWN0SWQK
ICAgICB9KTsKICAgICBkZWxldGUgc25hcHNob3QubWF4SlNPYmplY3RJZDsKLSAgICBmdW5jdGlv
biBwdXNoR2VuZXJhdGVkU25hcHNob3QodHlwZUlkLCB1aWQpCisgICAgZnVuY3Rpb24gcHVzaEdl
bmVyYXRlZFNuYXBzaG90KHVpZCkKICAgICB7Ci0gICAgICAgIHNuYXBzaG90LnNuYXBzaG90LnR5
cGVJZCA9IHByb2ZpbGUudHlwZUlkOworICAgICAgICBzbmFwc2hvdC5zbmFwc2hvdC50eXBlSWQg
PSAiSEVBUCI7CiAgICAgICAgIHNuYXBzaG90LnNuYXBzaG90LnRpdGxlID0gcHJvZmlsZS50aXRs
ZTsKICAgICAgICAgc25hcHNob3Quc25hcHNob3QudWlkID0gcHJvZmlsZS51aWQ7CiAgICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMuX2FkZEhlYXBTbmFwc2hvdENodW5rKHVpZCwg
SlNPTi5zdHJpbmdpZnkoc25hcHNob3QpKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5w
cm9maWxlcy5fZmluaXNoSGVhcFNuYXBzaG90KHVpZCk7CiAgICAgfQotICAgIEluc3BlY3RvclRl
c3Qub3ZlcnJpZGUoUHJvZmlsZXJBZ2VudCwgImdldFByb2ZpbGUiLCBwdXNoR2VuZXJhdGVkU25h
cHNob3QpOworICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUoUHJvZmlsZXJBZ2VudCwgImxvYWRI
ZWFwU25hcHNob3QiLCBwdXNoR2VuZXJhdGVkU25hcHNob3QpOwogICAgIEluc3BlY3RvclRlc3Qu
X3Rha2VBbmRPcGVuU25hcHNob3RDYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIFdlYkluc3BlY3Rv
ci5wYW5lbHMucHJvZmlsZXMuYWRkUHJvZmlsZUhlYWRlcihwcm9maWxlKTsKICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLnByb2ZpbGVzLnNob3dQcm9maWxlKHByb2ZpbGUpOwo=
</data>
<flag name="review"
          id="195105"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179483</attachid>
            <date>2012-12-14 07:55:58 -0800</date>
            <delta_ts>2012-12-20 00:33:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104545-20121214195317.patch</filename>
            <type>text/plain</type>
            <size>15893</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZiMDdhM2Y0OGM5Zjc5
YjQzNTYyNjU5YzlkNGZhM2I3NWNiMDU3OC4uZDRmNzc1MzgxNTU0Y2ZkM2ZmYWJiMGIwOGUyZjdm
MWQyOWQ4YjE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEwICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFu
ZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdpbGwgYWxsb3cgc3Ryb25nZXIgdHlwaW5nIG9mIHBy
b2ZpbGVyIG91dHB1dC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAg
ICAgICAgU3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImdldEhlYXBT
bmFwc2hvdCIuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOiBE
aXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBB
ZG9wZCBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
Vmlldy5qczogRGl0dG8uCisKIDIwMTItMTItMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJlZmFjdG9yaW5nOiBGaXggaW5kZW50YXRpb24gb2YgQ2hyb21l
Q2xpZW50LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZmNkNTVlZTkwZjBlMzhlNzZj
YTUwM2MyM2M1NGYwMmRjZjE3ZmZhYi4uZjRkMmNhMDAxNzExYzg5M2UwNDE5MDU0ZmMyZThmMDZi
NTllNWQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
Mi0xMi0xMCAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBQcm9maWxlcjogc3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRD
UFVQcm9maWxlIiBhbmQgImxvYWRIZWFwU25hcHNob3QiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBjaGFuZ2VzOiBtaW1pYyBvbGQgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBzcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwOiBBZG9wdCBzaWdu
YXR1cmUgY2hhbmdlcy4KKwogMjAxMi0xMi0xMyAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgRG9uJ3QgY29uc2lkZXIgY29udGFpbmVyIG5vZGVzIG9mIG90
aGVyIGRpc2FtYmlndWF0ZWQgbm9kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgppbmRleCBjZTdhMWI0MGU1OTExNTUzZmE1YjlhZmU1ODcyOWJkMmEyN2QzOTM1Li5jZDU1
NGNmODdjMTMwYzQyMDM2MTNiYzEzYjU4YjE2MjllMTcxZDI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0yOTcxLDcgKzI5NzEsNyBAQAogICAgICAgICAgICAg
ICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgImlk
IjogIlByb2ZpbGUiLAorICAgICAgICAgICAgICAgICJpZCI6ICJDUFVQcm9maWxlIiwKICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJQcm9maWxlLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCkBAIC0zMDIz
LDEzICszMDIzLDE4IEBACiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRQcm9maWxlIiwKKyAgICAgICAg
ICAgICAgICAibmFtZSI6ICJnZXRDUFVQcm9maWxlIiwKICAgICAgICAgICAgICAgICAicGFyYW1l
dGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAi
c3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVpZCIsICJ0eXBlIjog
ImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5z
IjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInByb2ZpbGUiLCAiJHJlZiI6ICJQ
cm9maWxlIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicHJvZmlsZSIsICIkcmVm
IjogIkNQVVByb2ZpbGUiIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImdldEhlYXBTbmFwc2hvdCIsCisg
ICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidWlkIiwgInR5cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAg
ICAgICAgIH0sCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggMzlhM2YyNGMxZTlhYjNmYWU5ZDky
M2ViMTA2Nzk1NzU4ZjU1YzljNy4uZGVkYzk0OGI0Mjc1MjllNDE0OTU5MjdiM2MwYTkzMDUxMzA0
OTRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmNwcApAQCAtMjgxLDMxICsyODEsMzIgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1l
c3BhY2UKIAotdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpnZXRQcm9maWxlKEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiB0eXBlLCBpbnQgcmF3VWlkLCBSZWZQdHI8
VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxlPiYgcHJvZmlsZU9iamVjdCkKK3ZvaWQgSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudDo6Z2V0Q1BVUHJvZmlsZShFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGludCByYXdVaWQsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OkNQVVByb2ZpbGU+
JiBwcm9maWxlT2JqZWN0KQogewogICAgIHVuc2lnbmVkIHVpZCA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihyYXdVaWQpOwotICAgIGlmICh0eXBlID09IENQVVByb2ZpbGVUeXBlKSB7Ci0gICAgICAg
IFByb2ZpbGVzTWFwOjppdGVyYXRvciBpdCA9IG1fcHJvZmlsZXMuZmluZCh1aWQpOwotICAgICAg
ICBpZiAoaXQgPT0gbV9wcm9maWxlcy5lbmQoKSkgewotICAgICAgICAgICAgKmVycm9yU3RyaW5n
ID0gIlByb2ZpbGUgd2Fzbid0IGZvdW5kIjsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotICAgICAgICBwcm9maWxlT2JqZWN0ID0gVHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxl
OjpjcmVhdGUoKTsKLSAgICAgICAgcHJvZmlsZU9iamVjdC0+c2V0SGVhZChpdC0+dmFsdWUtPmJ1
aWxkSW5zcGVjdG9yT2JqZWN0Rm9ySGVhZCgpKTsKLSAgICAgICAgaWYgKGl0LT52YWx1ZS0+Ym90
dG9tVXBIZWFkKCkpCi0gICAgICAgICAgICBwcm9maWxlT2JqZWN0LT5zZXRCb3R0b21VcEhlYWQo
aXQtPnZhbHVlLT5idWlsZEluc3BlY3Rvck9iamVjdEZvckJvdHRvbVVwSGVhZCgpKTsKLSAgICB9
IGVsc2UgaWYgKHR5cGUgPT0gSGVhcFByb2ZpbGVUeXBlKSB7Ci0gICAgICAgIEhlYXBTbmFwc2hv
dHNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9zbmFwc2hvdHMuZmluZCh1aWQpOwotICAgICAgICBpZiAo
aXQgPT0gbV9zbmFwc2hvdHMuZW5kKCkpIHsKLSAgICAgICAgICAgICplcnJvclN0cmluZyA9ICJQ
cm9maWxlIHdhc24ndCBmb3VuZCI7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAg
ICAgICAgUmVmUHRyPFNjcmlwdEhlYXBTbmFwc2hvdD4gc25hcHNob3QgPSBpdC0+dmFsdWU7Ci0g
ICAgICAgIHByb2ZpbGVPYmplY3QgPSBUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGU6OmNy
ZWF0ZSgpOwotICAgICAgICBpZiAobV9mcm9udGVuZCkgewotICAgICAgICAgICAgT3V0cHV0U3Ry
ZWFtIHN0cmVhbShtX2Zyb250ZW5kLCB1aWQpOwotICAgICAgICAgICAgc25hcHNob3QtPndyaXRl
SlNPTigmc3RyZWFtKTsKLSAgICAgICAgfQorICAgIFByb2ZpbGVzTWFwOjppdGVyYXRvciBpdCA9
IG1fcHJvZmlsZXMuZmluZCh1aWQpOworICAgIGlmIChpdCA9PSBtX3Byb2ZpbGVzLmVuZCgpKSB7
CisgICAgICAgICplcnJvclN0cmluZyA9ICJQcm9maWxlIHdhc24ndCBmb3VuZCI7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgcHJvZmlsZU9iamVjdCA9IFR5cGVCdWlsZGVyOjpQcm9maWxl
cjo6Q1BVUHJvZmlsZTo6Y3JlYXRlKCk7CisgICAgcHJvZmlsZU9iamVjdC0+c2V0SGVhZChpdC0+
dmFsdWUtPmJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9ySGVhZCgpKTsKKyAgICBpZiAoaXQtPnZhbHVl
LT5ib3R0b21VcEhlYWQoKSkKKyAgICAgICAgcHJvZmlsZU9iamVjdC0+c2V0Qm90dG9tVXBIZWFk
KGl0LT52YWx1ZS0+YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JCb3R0b21VcEhlYWQoKSk7Cit9CisK
K3ZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Z2V0SGVhcFNuYXBzaG90KEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgaW50IHJhd1VpZCkKK3sKKyAgICB1bnNpZ25lZCB1aWQgPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocmF3VWlkKTsKKyAgICBIZWFwU25hcHNob3RzTWFwOjppdGVyYXRvciBp
dCA9IG1fc25hcHNob3RzLmZpbmQodWlkKTsKKyAgICBpZiAoaXQgPT0gbV9zbmFwc2hvdHMuZW5k
KCkpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fzbid0IGZvdW5kIjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBSZWZQdHI8U2NyaXB0SGVhcFNuYXBzaG90PiBzbmFw
c2hvdCA9IGl0LT52YWx1ZTsKKyAgICBpZiAobV9mcm9udGVuZCkgeworICAgICAgICBPdXRwdXRT
dHJlYW0gc3RyZWFtKG1fZnJvbnRlbmQsIHVpZCk7CisgICAgICAgIHNuYXBzaG90LT53cml0ZUpT
T04oJnN0cmVhbSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCA4MjNiN2U2ZjBiODVjM2EzNDk5ZWE3ZWE0
MTk1ZWM2YTY0YjI2MjRmLi5hODRjYWIwZTY1NzkxM2I5NDk1NjIwZDRjY2JlZmVlMzI5NTAwNzMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmgKQEAgLTg3LDcgKzg3LDggQEAgcHVibGljOgogICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0
dXJuIG1fZW5hYmxlZDsgfQogICAgIFN0cmluZyBnZXRDdXJyZW50VXNlckluaXRpYXRlZFByb2Zp
bGVOYW1lKGJvb2wgaW5jcmVtZW50UHJvZmlsZU51bWJlciA9IGZhbHNlKTsKICAgICB2aXJ0dWFs
IHZvaWQgZ2V0UHJvZmlsZUhlYWRlcnMoRXJyb3JTdHJpbmcqLCBSZWZQdHI8VHlwZUJ1aWxkZXI6
OkFycmF5PFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZUhlYWRlcj4gPiYpOwotICAgIHZp
cnR1YWwgdm9pZCBnZXRQcm9maWxlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB0eXBlLCBp
bnQgdWlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxlPiYpOworICAgIHZp
cnR1YWwgdm9pZCBnZXRDUFVQcm9maWxlKEVycm9yU3RyaW5nKiwgaW50IHVpZCwgUmVmUHRyPFR5
cGVCdWlsZGVyOjpQcm9maWxlcjo6Q1BVUHJvZmlsZT4mKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0
SGVhcFNuYXBzaG90KEVycm9yU3RyaW5nKiwgaW50IHVpZCk7CiAgICAgdmlydHVhbCB2b2lkIHJl
bW92ZVByb2ZpbGUoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHR5cGUsIGludCB1aWQpOwog
CiAgICAgdmlydHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5q
cwppbmRleCA5ZTNkNWFmODkyN2I2NTMxOWI4MjBjMjNlNjJmZDg0MDMwNTgzNDZjLi5kMzE3NzVh
MGE5NTA0YTA1OTYzZDljMTA5MTgzNzUxZTJiMjJmYzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMKQEAgLTEwMSw3ICsx
MDEsNyBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcgPSBmdW5jdGlvbihwcm9maWxlKQog
CiAgICAgdGhpcy5fbGlua2lmaWVyID0gbmV3IFdlYkluc3BlY3Rvci5MaW5raWZpZXIobmV3IFdl
Ykluc3BlY3Rvci5MaW5raWZpZXIuRGVmYXVsdEZvcm1hdHRlcigzMCkpOwogCi0gICAgUHJvZmls
ZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMucHJvZmlsZS5wcm9maWxlVHlwZSgpLmlkLCB0aGlzLnBy
b2ZpbGUudWlkLCBwcm9maWxlQ2FsbGJhY2suYmluZCh0aGlzKSk7CisgICAgUHJvZmlsZXJBZ2Vu
dC5nZXRDUFVQcm9maWxlKHRoaXMucHJvZmlsZS51aWQsIHByb2ZpbGVDYWxsYmFjay5iaW5kKHRo
aXMpKTsKIH0KIAogV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3Ll9UeXBlVHJlZSA9ICJUcmVl
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90Vmlldy5qcwppbmRleCA4NjU2NmRiNzcxOGFkNGM3OTA4MWI3ODQ1YzI5YTU0ZmI0MzJi
OGJmLi4wOTk3Y2NmOTc5MWZhZGQ5NDRmYjAwMmUwYzhlOTZhM2IyOThkZWNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3
LmpzCkBAIC04NzIsNyArODcyLDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3NldHVwV29ya2VyKCk7CiAgICAgICAgICAg
ICB0aGlzLnNpZGViYXJFbGVtZW50LnN1YnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJM
b2FkaW5nXHUyMDI2Iik7CiAgICAgICAgICAgICB0aGlzLnNpZGViYXJFbGVtZW50LndhaXQgPSB0
cnVlOwotICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMucHJvZmlsZVR5
cGUoKS5pZCwgdGhpcy51aWQpOworICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRIZWFwU25h
cHNob3QodGhpcy51aWQpOwogICAgICAgICB9CiAgICAgICAgIHZhciBsb2FkZXJQcm94eSA9IC8q
KiBAdHlwZSB7V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlclByb3h5fSAqLyAodGhpcy5f
cmVjZWl2ZXIpOwogICAgICAgICBsb2FkZXJQcm94eS5hZGRDb25zdW1lcihjYWxsYmFjayk7CkBA
IC05NzcsNyArOTc3LDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3JlY2VpdmVyID0gZmlsZU91dHB1dFN0cmVhbTsKICAg
ICAgICAgICAgIHRoaXMuX3NhdmVkQ2h1bmtzID0gMDsKICAgICAgICAgICAgIHRoaXMuX3VwZGF0
ZVRyYW5zZmVyUHJvZ3Jlc3MoMCwgdGhpcy5fdG90YWxOdW1iZXJPZkNodW5rcyk7Ci0gICAgICAg
ICAgICBQcm9maWxlckFnZW50LmdldFByb2ZpbGUodGhpcy5wcm9maWxlVHlwZSgpLmlkLCB0aGlz
LnVpZCk7CisgICAgICAgICAgICBQcm9maWxlckFnZW50LmdldEhlYXBTbmFwc2hvdCh0aGlzLnVp
ZCk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fc2F2aW5nVG9GaWxlID0gdHJ1ZTsKICAgICAg
ICAgdGhpcy5fZmlsZU5hbWUgPSB0aGlzLl9maWxlTmFtZSB8fCAiSGVhcC0iICsgbmV3IERhdGUo
KS50b0lTTzg2MDFDb21wYWN0KCkgKyAiLmhlYXBzbmFwc2hvdCI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggNzU3NGQ4
ODFhZWI5MmI5ZTlkMTIyMTc5MWU1MzIxZTUzZmNiYTEzZi4uZjM3MDA4N2ZhMDRmY2ZiZjgyM2Q2
MTY4MWIyZjc3MWU0ODQwMGJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNzA0LDcgKzcwNCw4IEBAIGJvb2wgV2Vi
RGV2VG9vbHNBZ2VudDo6c2hvdWxkSW50ZXJydXB0Rm9yTWVzc2FnZShjb25zdCBXZWJTdHJpbmcm
IG1lc3NhZ2UpCiAgICAgICAgIHx8IGNvbW1hbmROYW1lID09IEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmtEZWJ1Z2dl
cl9zZXRCcmVha3BvaW50c0FjdGl2ZUNtZF0KICAgICAgICAgfHwgY29tbWFuZE5hbWUgPT0gSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcjo6a1Byb2ZpbGVyX3N0YXJ0Q21kXQogICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y29tbWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyOjprUHJvZmlsZXJfc3RvcENtZF0KLSAgICAgICAgfHwgY29tbWFuZE5hbWUgPT0g
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcjo6a1Byb2ZpbGVyX2dldFByb2ZpbGVDbWRdOworICAgICAgICB8fCBjb21tYW5k
TmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y29tbWFuZE5hbWVzW0luc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyOjprUHJvZmlsZXJfZ2V0Q1BVUHJvZmlsZUNtZF0KKyAgICAgICAg
fHwgY29tbWFuZE5hbWUgPT0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1l
c1tJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6a1Byb2ZpbGVyX2dldEhlYXBTbmFwc2hvdENt
ZF07CiB9CiAKIHZvaWQgV2ViRGV2VG9vbHNBZ2VudDo6cHJvY2Vzc1BlbmRpbmdNZXNzYWdlcygp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGUw
OWYyYjAzOTk5ZGY3NmYzYWRjNmE5NmE5YTYxMzk1YmIzZDMyYS4uODA3ZWI1ZGM1ZWQwMjkxM2Yy
ZGRhMTdlODdkMzc1MWVjMTRlNjNlNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEyLTEwICBFdWdlbmUgS2x5
dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFuZCAibG9h
ZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkb3B0IHNpZ25hdHVyZSBjaGFuZ2VzLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvTGVha3NWaWV3ZXIvV2Vi
SW5zcGVjdG9yU2hpbXMuanM6CisgICAgICAgIChQcm9maWxlckFnZW50LmdldENQVVByb2ZpbGUp
OiBSZW5hbWVkLgorICAgICAgICAoUHJvZmlsZXJBZ2VudC5nZXRIZWFwU25hcHNob3QpOiBBZGRl
ZC4KKwogMjAxMi0xMi0xMyAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgZml4aW5nIHR5cG8gaW4gcHl0aG9uIHVuaXR0ZXN0LgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvTGVha3NWaWV3ZXIvV2ViSW5zcGVjdG9yU2hpbXMuanMgYi9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFrc1ZpZXdlci9X
ZWJJbnNwZWN0b3JTaGltcy5qcwppbmRleCBkN2MxMzA5NWY5MWYzMzBjYjY2YjgzN2IzOTkzOTE2
Zjc2Yjg4ZGUyLi45ZWQ1Y2E2NjhkOTYwODAwNjJlOTIzY2Y1OWY5MDliNDYwNmExYTU0IDEwMDY0
NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9MZWFrc1ZpZXdlci9XZWJJbnNwZWN0b3JTaGltcy5qcworKysgYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFr
c1ZpZXdlci9XZWJJbnNwZWN0b3JTaGltcy5qcwpAQCAtNjgsMTAgKzY4LDEzIEBAIHZhciBQcmVm
ZXJlbmNlcyA9IHsKIH07CiAKIHZhciBQcm9maWxlckFnZW50ID0gewotICAgIGdldFByb2ZpbGU6
IGZ1bmN0aW9uKHR5cGVJZCwgdWlkLCBjYWxsYmFjaykgeworICAgIGdldENQVVByb2ZpbGU6IGZ1
bmN0aW9uKHVpZCwgY2FsbGJhY2spIHsKICAgICAgICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFj
azsKICAgICB9LAogCisgICAgZ2V0SGVhcFNuYXBzaG90OiBmdW5jdGlvbih1aWQsIGNhbGxiYWNr
KSB7CisgICAgfSwKKwogICAgIHByb2ZpbGVSZWFkeTogZnVuY3Rpb24oaGVhZCkgewogICAgICAg
ICB0aGlzLl9jYWxsYmFjayh7IGhlYWQ6IGhlYWQgfSk7CiAgICAgfSwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhODc3MzQz
MzUyODRiMjFjZDgwYTFmODhkYWU1ZjlhMTEzYzgwMWNjLi5jNzliNTBhOWU5M2VjNTc5ODY4YzE5
NGJmMjk1YmEzOWFiOTA0MTdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTAgIEV1
Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogUHJvZmlsZXI6IHNwbGl0ICJnZXRQcm9maWxlIiB0byAiZ2V0Q1BVUHJvZmlsZSIg
YW5kICJsb2FkSGVhcFNuYXBzaG90IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA0NTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRvcHRlZCBuZXcgbWV0aG9kIHNpZ25hdHVyZXMuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1nZXQtcHJvZmlsZS1jcmFzaC5odG1s
OgorICAgICAgICBBZG9wdGVkIG5ldyBtZXRob2Qgc2lnbmF0dXJlcy4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXIuaHRtbDogRGl0dG8uCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qczogRGl0dG8uCisKIDIw
MTItMTItMTMgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTZWNvbmRzL01pbnV0ZXMgZmllbGQgb2YgZGF0ZS90aW1lIGlucHV0IFVJIHNob3Vs
ZCByZXNwZWN0IHN0ZXAgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1nZXQtcHJvZmlsZS1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtZ2V0LXByb2ZpbGUtY3Jhc2gu
aHRtbAppbmRleCBmMjVhMjkxNTVlMGNkNmUxZjU0YzljOTgzMjBkYWUwODdmNGE3OWYwLi44NTYx
YmNiODExZjMxMDNhM2M1N2E2NTFjMmI2Y2NlMjgxYTA1MTgwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1nZXQtcHJvZmlsZS1jcmFzaC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWdl
dC1wcm9maWxlLWNyYXNoLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3JTdHJpbmcpOwogICAgICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJv
ZmlsZSgiSEVBUCIsIC0xLCBmaW5pc2gpOworICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRI
ZWFwU25hcHNob3QoLTEsIGZpbmlzaCk7CiAgICAgICAgIH0KICAgICBdKTsKIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVy
Lmh0bWwKaW5kZXggMDk4OTZmYmI3Y2I5Njk1MTNlYzU4NzRmYmQ2MDVjNzJhMzdiMzI0ZC4uMTZj
YzZmYmY3MzljNTI0OTExMjgzMzczOWY4ODIyZTc2NDBmYTc1NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwK
QEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgdmFyIHByb2ZpbGVI
ZWFkZXIgPSBwYW5lbC5fcHJvZmlsZXNbMF07CiAKLSAgICAgICAgZnVuY3Rpb24gZ2V0UHJvZmls
ZU1vY2socHJvZmlsZVR5cGVOYW1lLCB1aWQpIHsKKyAgICAgICAgZnVuY3Rpb24gZ2V0SGVhcFNu
YXBzaG90TW9jayh1aWQpIHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gc291cmNl
U3RyaW5naWZpZWQubGVuZ3RoOyBpIDwgbDsgaSArPSBwYXJ0U2l6ZSkKICAgICAgICAgICAgICAg
ICBkaXNwYXRjaGVyLmFkZEhlYXBTbmFwc2hvdENodW5rKHVpZCwgc291cmNlU3RyaW5naWZpZWQu
c2xpY2UoaSwgaSArIHBhcnRTaXplKSk7CiAgICAgICAgICAgICBkaXNwYXRjaGVyLmZpbmlzaEhl
YXBTbmFwc2hvdCh1aWQpOwpAQCAtMzksMTIgKzM5LDEyIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICBmdW5jdGlvbiBzbmFwc2hvdExvYWRlZCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
IChvdmVycmlkZUdldFByb2ZpbGUpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVy
cmlkZShQcm9maWxlckFnZW50LCAiZ2V0UHJvZmlsZSIsIGdldFByb2ZpbGVNb2NrKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRIZWFw
U25hcHNob3QiLCBnZXRIZWFwU25hcHNob3RNb2NrKTsKICAgICAgICAgICAgIGNhbGxiYWNrKHBy
b2ZpbGVIZWFkZXIpOwogICAgICAgICB9CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihwcm9maWxlSGVhZGVyLCAiX3NuYXBzaG90UmVjZWl2ZWQiLCBzbmFwc2hvdExvYWRlZCk7CiAK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxlckFnZW50LCAiZ2V0UHJvZmls
ZSIsIGdldFByb2ZpbGVNb2NrKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9m
aWxlckFnZW50LCAiZ2V0SGVhcFNuYXBzaG90IiwgZ2V0SGVhcFNuYXBzaG90TW9jayk7CiAgICAg
ICAgIHBhbmVsLnNob3dQcm9maWxlKHByb2ZpbGVIZWFkZXIpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKaW5k
ZXggMTg1MTM0YjI0MTFiZDhiNGNlYjFjZWY4MWUwMTkxMWEwNzEzZGY2My4uMTdmZjdkMTUzNDg1
MThmNDAzMDQwOGNiMmFiYTk5Y2MwMTMzNzQyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCkBAIC03MjQsMTUgKzcyNCwx
NSBAQCBJbnNwZWN0b3JUZXN0LnRha2VBbmRPcGVuU25hcHNob3QgPSBmdW5jdGlvbihnZW5lcmF0
b3IsIGNhbGxiYWNrKQogICAgICAgICBtYXhKU09iamVjdElkOiBzbmFwc2hvdC5tYXhKU09iamVj
dElkCiAgICAgfSk7CiAgICAgZGVsZXRlIHNuYXBzaG90Lm1heEpTT2JqZWN0SWQ7Ci0gICAgZnVu
Y3Rpb24gcHVzaEdlbmVyYXRlZFNuYXBzaG90KHR5cGVJZCwgdWlkKQorICAgIGZ1bmN0aW9uIHB1
c2hHZW5lcmF0ZWRTbmFwc2hvdCh1aWQpCiAgICAgewotICAgICAgICBzbmFwc2hvdC5zbmFwc2hv
dC50eXBlSWQgPSBwcm9maWxlLnR5cGVJZDsKKyAgICAgICAgc25hcHNob3Quc25hcHNob3QudHlw
ZUlkID0gIkhFQVAiOwogICAgICAgICBzbmFwc2hvdC5zbmFwc2hvdC50aXRsZSA9IHByb2ZpbGUu
dGl0bGU7CiAgICAgICAgIHNuYXBzaG90LnNuYXBzaG90LnVpZCA9IHByb2ZpbGUudWlkOwogICAg
ICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLl9hZGRIZWFwU25hcHNob3RDaHVuayh1
aWQsIEpTT04uc3RyaW5naWZ5KHNuYXBzaG90KSk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5l
bHMucHJvZmlsZXMuX2ZpbmlzaEhlYXBTbmFwc2hvdCh1aWQpOwogICAgIH0KLSAgICBJbnNwZWN0
b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRQcm9maWxlIiwgcHVzaEdlbmVyYXRl
ZFNuYXBzaG90KTsKKyAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJn
ZXRIZWFwU25hcHNob3QiLCBwdXNoR2VuZXJhdGVkU25hcHNob3QpOwogICAgIEluc3BlY3RvclRl
c3QuX3Rha2VBbmRPcGVuU25hcHNob3RDYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIFdlYkluc3Bl
Y3Rvci5wYW5lbHMucHJvZmlsZXMuYWRkUHJvZmlsZUhlYWRlcihwcm9maWxlKTsKICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLnNob3dQcm9maWxlKHByb2ZpbGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180290</attachid>
            <date>2012-12-20 00:33:10 -0800</date>
            <delta_ts>2013-01-17 03:13:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104545-20121220123025.patch</filename>
            <type>text/plain</type>
            <size>16030</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FlNzNjM2YwMjgwYzc2
YjM1YzBmNjY4MGQ3YjFiM2QxMDA3MGRkNy4uYmM5MzI5MGM4NjI3YzUzNWZlNDA5ZGM4ODdmNGU5
NGFiMzU4MmQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEwICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFu
ZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdpbGwgYWxsb3cgc3Ryb25nZXIgdHlwaW5nIG9mIHBy
b2ZpbGVyIG91dHB1dC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAg
ICAgICAgU3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImdldEhlYXBT
bmFwc2hvdCIuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOiBE
aXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBB
ZG9wZCBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
Vmlldy5qczogRGl0dG8uCisKIDIwMTItMTItMTkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIExlYWsgaW4gU3RyaW5nSW1wbDo6Y3JlYXRlQ0ZTdHJpbmcoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCBhZTllNDI5ZGI3MDNlMmViZWE5NmVjY2VhZjQwOGI1M2Q3
YmFhZjBhLi44NGY3YmQ4NDg4ZjI2NzA1NjNmYWM4OWU1ZDJhYTIxZmNhZjM1YjMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEyLTEwICBFdWdlbmUg
S2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFuZCAi
bG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkb3B0IGNoYW5nZXM6IG1pbWljIG9sZCBiZWhhdmlvci4KKworICAgICAgICAq
IHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHA6IEFkb3B0IHNpZ25hdHVyZSBjaGFuZ2VzLgor
CiAyMDEyLTEyLTE5ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgSW1wbGVtZW50IENTUyBwYXJzaW5nIGZvciBDU1MgdHJhbnNpdGlvbnMgdW5wcmVmaXhlZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA2NTI1YWQ4OGNlODdk
OGJiMzk3ZTg0ZGYwNzRlMzgyNmRhYzY1YTI5Li4xMjMzZjU3ZTZiZjQwZTFkMzlhM2RjZjgyNTc4
ZTYwNmU3OGZkMWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBA
IC0yOTc2LDcgKzI5NzYsNyBAQAogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgImlkIjogIlByb2ZpbGUiLAorICAgICAgICAg
ICAgICAgICJpZCI6ICJDUFVQcm9maWxlIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmpl
Y3QiLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQcm9maWxlLiIsCiAgICAgICAg
ICAgICAgICAgInByb3BlcnRpZXMiOiBbCkBAIC0zMDI5LDEzICszMDI5LDE4IEBACiAgICAgICAg
ICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJnZXRQcm9maWxlIiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRDUFVQ
cm9maWxlIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInVpZCIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInByb2ZpbGUiLCAiJHJlZiI6ICJQcm9maWxlIiB9CisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicHJvZmlsZSIsICIkcmVmIjogIkNQVVByb2ZpbGUiIH0KKyAgICAg
ICAgICAgICAgICBdCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJuYW1lIjogImdldEhlYXBTbmFwc2hvdCIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidWlkIiwgInR5cGUiOiAiaW50
ZWdlciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHAKaW5kZXggMWFlOGQxZmU2ODU5ZTQwNjc3YmFiM2FlMjlkOTM0ZmU4ZDVkOWMzMi4uMGQz
OTY4NzNmMjkzNWMxNjkxYTJhZDU0YmY4MzI1Y2ZjNzYyYThhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMjg0LDMy
ICsyODQsMzMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UKIAotdm9pZCBJbnNwZWN0b3JQ
cm9maWxlckFnZW50OjpnZXRQcm9maWxlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3Qg
U3RyaW5nJiB0eXBlLCBpbnQgcmF3VWlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQ
cm9maWxlPiYgcHJvZmlsZU9iamVjdCkKK3ZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Z2V0
Q1BVUHJvZmlsZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCByYXdVaWQsIFJlZlB0cjxU
eXBlQnVpbGRlcjo6UHJvZmlsZXI6OkNQVVByb2ZpbGU+JiBwcm9maWxlT2JqZWN0KQogewogICAg
IHVuc2lnbmVkIHVpZCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYXdVaWQpOwotICAgIGlmICh0
eXBlID09IENQVVByb2ZpbGVUeXBlKSB7Ci0gICAgICAgIFByb2ZpbGVzTWFwOjppdGVyYXRvciBp
dCA9IG1fcHJvZmlsZXMuZmluZCh1aWQpOwotICAgICAgICBpZiAoaXQgPT0gbV9wcm9maWxlcy5l
bmQoKSkgewotICAgICAgICAgICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fzbid0IGZvdW5k
IjsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBwcm9maWxlT2JqZWN0
ID0gVHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpQcm9maWxlOjpjcmVhdGUoKTsKLSAgICAgICAgcHJv
ZmlsZU9iamVjdC0+c2V0SGVhZChpdC0+dmFsdWUtPmJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9ySGVh
ZCgpKTsKLSAgICAgICAgaWYgKGl0LT52YWx1ZS0+Ym90dG9tVXBIZWFkKCkpCi0gICAgICAgICAg
ICBwcm9maWxlT2JqZWN0LT5zZXRCb3R0b21VcEhlYWQoaXQtPnZhbHVlLT5idWlsZEluc3BlY3Rv
ck9iamVjdEZvckJvdHRvbVVwSGVhZCgpKTsKLSAgICAgICAgcHJvZmlsZU9iamVjdC0+c2V0SWRs
ZVRpbWUoaXQtPnZhbHVlLT5pZGxlVGltZSgpKTsKLSAgICB9IGVsc2UgaWYgKHR5cGUgPT0gSGVh
cFByb2ZpbGVUeXBlKSB7Ci0gICAgICAgIEhlYXBTbmFwc2hvdHNNYXA6Oml0ZXJhdG9yIGl0ID0g
bV9zbmFwc2hvdHMuZmluZCh1aWQpOwotICAgICAgICBpZiAoaXQgPT0gbV9zbmFwc2hvdHMuZW5k
KCkpIHsKLSAgICAgICAgICAgICplcnJvclN0cmluZyA9ICJQcm9maWxlIHdhc24ndCBmb3VuZCI7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgUmVmUHRyPFNjcmlwdEhl
YXBTbmFwc2hvdD4gc25hcHNob3QgPSBpdC0+dmFsdWU7Ci0gICAgICAgIHByb2ZpbGVPYmplY3Qg
PSBUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGU6OmNyZWF0ZSgpOwotICAgICAgICBpZiAo
bV9mcm9udGVuZCkgewotICAgICAgICAgICAgT3V0cHV0U3RyZWFtIHN0cmVhbShtX2Zyb250ZW5k
LCB1aWQpOwotICAgICAgICAgICAgc25hcHNob3QtPndyaXRlSlNPTigmc3RyZWFtKTsKLSAgICAg
ICAgfQorICAgIFByb2ZpbGVzTWFwOjppdGVyYXRvciBpdCA9IG1fcHJvZmlsZXMuZmluZCh1aWQp
OworICAgIGlmIChpdCA9PSBtX3Byb2ZpbGVzLmVuZCgpKSB7CisgICAgICAgICplcnJvclN0cmlu
ZyA9ICJQcm9maWxlIHdhc24ndCBmb3VuZCI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
cHJvZmlsZU9iamVjdCA9IFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6Q1BVUHJvZmlsZTo6Y3JlYXRl
KCk7CisgICAgcHJvZmlsZU9iamVjdC0+c2V0SGVhZChpdC0+dmFsdWUtPmJ1aWxkSW5zcGVjdG9y
T2JqZWN0Rm9ySGVhZCgpKTsKKyAgICBpZiAoaXQtPnZhbHVlLT5ib3R0b21VcEhlYWQoKSkKKyAg
ICAgICAgcHJvZmlsZU9iamVjdC0+c2V0Qm90dG9tVXBIZWFkKGl0LT52YWx1ZS0+YnVpbGRJbnNw
ZWN0b3JPYmplY3RGb3JCb3R0b21VcEhlYWQoKSk7CisgICAgcHJvZmlsZU9iamVjdC0+c2V0SWRs
ZVRpbWUoaXQtPnZhbHVlLT5pZGxlVGltZSgpKTsKK30KKwordm9pZCBJbnNwZWN0b3JQcm9maWxl
ckFnZW50OjpnZXRIZWFwU25hcHNob3QoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgcmF3
VWlkKQoreworICAgIHVuc2lnbmVkIHVpZCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYXdVaWQp
OworICAgIEhlYXBTbmFwc2hvdHNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9zbmFwc2hvdHMuZmluZCh1
aWQpOworICAgIGlmIChpdCA9PSBtX3NuYXBzaG90cy5lbmQoKSkgeworICAgICAgICAqZXJyb3JT
dHJpbmcgPSAiUHJvZmlsZSB3YXNuJ3QgZm91bmQiOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIFJlZlB0cjxTY3JpcHRIZWFwU25hcHNob3Q+IHNuYXBzaG90ID0gaXQtPnZhbHVlOworICAg
IGlmIChtX2Zyb250ZW5kKSB7CisgICAgICAgIE91dHB1dFN0cmVhbSBzdHJlYW0obV9mcm9udGVu
ZCwgdWlkKTsKKyAgICAgICAgc25hcHNob3QtPndyaXRlSlNPTigmc3RyZWFtKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxl
ckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5oCmluZGV4IDIwOGEzZGY0NjdkNTZjMTA5YTYxNjFkNDMzYzQ3OTNiM2IyNTcxMmEuLjQ2MmFi
MDNiMTMyMjgzYTVjMTQwMTA3NDc5MGE0MTk4NDhjZGRkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtODcsNyArODcsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gbV9lbmFibGVkOyB9CiAgICAg
U3RyaW5nIGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUoYm9vbCBpbmNyZW1lbnRQ
cm9maWxlTnVtYmVyID0gZmFsc2UpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9maWxlSGVhZGVy
cyhFcnJvclN0cmluZyosIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OlBy
b2ZpbGVyOjpQcm9maWxlSGVhZGVyPiA+Jik7Ci0gICAgdmlydHVhbCB2b2lkIGdldFByb2ZpbGUo
RXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHR5cGUsIGludCB1aWQsIFJlZlB0cjxUeXBlQnVp
bGRlcjo6UHJvZmlsZXI6OlByb2ZpbGU+Jik7CisgICAgdmlydHVhbCB2b2lkIGdldENQVVByb2Zp
bGUoRXJyb3JTdHJpbmcqLCBpbnQgdWlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpD
UFVQcm9maWxlPiYpOworICAgIHZpcnR1YWwgdm9pZCBnZXRIZWFwU25hcHNob3QoRXJyb3JTdHJp
bmcqLCBpbnQgdWlkKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlUHJvZmlsZShFcnJvclN0cmlu
ZyosIGNvbnN0IFN0cmluZyYgdHlwZSwgaW50IHVpZCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCmluZGV4IDA3ZGY5ODRhMGUxZDdm
OGY3MmIxNzdmMmJiZGFmNTQxMGIwODI3NjUuLmVmYjI3N2Q0Nzk1OTAyZmI2YWY5ZDYyYzUxMzQ2
OWY0YTRmNWVkZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ1BVUHJvZmlsZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DUFVQcm9maWxlVmlldy5qcwpAQCAtMTA1LDcgKzEwNSw3IEBAIFdlYkluc3BlY3Rvci5D
UFVQcm9maWxlVmlldyA9IGZ1bmN0aW9uKHByb2ZpbGUpCiAKICAgICB0aGlzLl9saW5raWZpZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkxpbmtpZmllcihuZXcgV2ViSW5zcGVjdG9yLkxpbmtpZmllci5E
ZWZhdWx0Rm9ybWF0dGVyKDMwKSk7CiAKLSAgICBQcm9maWxlckFnZW50LmdldFByb2ZpbGUodGhp
cy5wcm9maWxlLnByb2ZpbGVUeXBlKCkuaWQsIHRoaXMucHJvZmlsZS51aWQsIHByb2ZpbGVDYWxs
YmFjay5iaW5kKHRoaXMpKTsKKyAgICBQcm9maWxlckFnZW50LmdldENQVVByb2ZpbGUodGhpcy5w
cm9maWxlLnVpZCwgcHJvZmlsZUNhbGxiYWNrLmJpbmQodGhpcykpOwogfQogCiBXZWJJbnNwZWN0
b3IuQ1BVUHJvZmlsZVZpZXcuX1R5cGVUcmVlID0gIlRyZWUiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IDg2
NTY2ZGI3NzE4YWQ0Yzc5MDgxYjc4NDVjMjlhNTRmYjQzMmI4YmYuLjA5OTdjY2Y5NzkxZmFkZDk0
NGZiMDAyZTBjOGU5NmEzYjI5OGRlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKQEAgLTg3Miw3ICs4NzIsNyBA
QCBXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGhpcy5fc2V0dXBXb3JrZXIoKTsKICAgICAgICAgICAgIHRoaXMuc2lkZWJhckVsZW1lbnQu
c3VidGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxvYWRpbmdcdTIwMjYiKTsKICAgICAg
ICAgICAgIHRoaXMuc2lkZWJhckVsZW1lbnQud2FpdCA9IHRydWU7Ci0gICAgICAgICAgICBQcm9m
aWxlckFnZW50LmdldFByb2ZpbGUodGhpcy5wcm9maWxlVHlwZSgpLmlkLCB0aGlzLnVpZCk7Cisg
ICAgICAgICAgICBQcm9maWxlckFnZW50LmdldEhlYXBTbmFwc2hvdCh0aGlzLnVpZCk7CiAgICAg
ICAgIH0KICAgICAgICAgdmFyIGxvYWRlclByb3h5ID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90TG9hZGVyUHJveHl9ICovICh0aGlzLl9yZWNlaXZlcik7CiAgICAgICAgIGxv
YWRlclByb3h5LmFkZENvbnN1bWVyKGNhbGxiYWNrKTsKQEAgLTk3Nyw3ICs5NzcsNyBAQCBXZWJJ
bnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhp
cy5fcmVjZWl2ZXIgPSBmaWxlT3V0cHV0U3RyZWFtOwogICAgICAgICAgICAgdGhpcy5fc2F2ZWRD
aHVua3MgPSAwOwogICAgICAgICAgICAgdGhpcy5fdXBkYXRlVHJhbnNmZXJQcm9ncmVzcygwLCB0
aGlzLl90b3RhbE51bWJlck9mQ2h1bmtzKTsKLSAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0
UHJvZmlsZSh0aGlzLnByb2ZpbGVUeXBlKCkuaWQsIHRoaXMudWlkKTsKKyAgICAgICAgICAgIFBy
b2ZpbGVyQWdlbnQuZ2V0SGVhcFNuYXBzaG90KHRoaXMudWlkKTsKICAgICAgICAgfQogICAgICAg
ICB0aGlzLl9zYXZpbmdUb0ZpbGUgPSB0cnVlOwogICAgICAgICB0aGlzLl9maWxlTmFtZSA9IHRo
aXMuX2ZpbGVOYW1lIHx8ICJIZWFwLSIgKyBuZXcgRGF0ZSgpLnRvSVNPODYwMUNvbXBhY3QoKSAr
ICIuaGVhcHNuYXBzaG90IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA3MTc1NGUyODg0ZGIwY2E5MWI3ZGRiMGQ2ODRk
MTVkOTkyOGQ3NWQ2Li5mZjY0ZGNiMWI2NDA4YmI4NDVjNTQ4YzkyYjE0YWJjYzY5M2ViMjE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudElt
cGwuY3BwCkBAIC03MDgsNyArNzA4LDggQEAgYm9vbCBXZWJEZXZUb29sc0FnZW50OjpzaG91bGRJ
bnRlcnJ1cHRGb3JNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgfHwg
Y29tbWFuZE5hbWUgPT0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6a0RlYnVnZ2VyX3NldEJyZWFrcG9pbnRzQWN0aXZl
Q21kXQogICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
cjo6Y29tbWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjprUHJvZmlsZXJfc3Rh
cnRDbWRdCiAgICAgICAgIHx8IGNvbW1hbmROYW1lID09IEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmtQcm9maWxlcl9z
dG9wQ21kXQotICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcjo6Y29tbWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjprUHJvZmlsZXJf
Z2V0UHJvZmlsZUNtZF07CisgICAgICAgIHx8IGNvbW1hbmROYW1lID09IEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmtQ
cm9maWxlcl9nZXRDUFVQcm9maWxlQ21kXQorICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Y29tbWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyOjprUHJvZmlsZXJfZ2V0SGVhcFNuYXBzaG90Q21kXTsKIH0KIAogdm9pZCBXZWJEZXZU
b29sc0FnZW50Ojpwcm9jZXNzUGVuZGluZ01lc3NhZ2VzKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjYjRjNDM0YTdmYTQ5ZDY2ZDMxZDg5NGI0
NDBlZmEwMzExOWUzYzA3Li5mNTEyZDI4ZjZlZTFjMmY5OWYzMjJhZTk0MjgxZjQ4ZjJhYjcxN2Rl
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMTItMTAgIEV1Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUHJvZmlsZXI6IHNwbGl0ICJnZXRQ
cm9maWxlIiB0byAiZ2V0Q1BVUHJvZmlsZSIgYW5kICJsb2FkSGVhcFNuYXBzaG90IgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgc2lnbmF0dXJl
IGNoYW5nZXMuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFrc1ZpZXdlci9XZWJJbnNwZWN0b3JTaGltcy5qczoKKyAg
ICAgICAgKFByb2ZpbGVyQWdlbnQuZ2V0Q1BVUHJvZmlsZSk6IFJlbmFtZWQuCisgICAgICAgIChQ
cm9maWxlckFnZW50LmdldEhlYXBTbmFwc2hvdCk6IEFkZGVkLgorCiAyMDEyLTEyLTE5ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFBlcmZUZXN0LnBhcnNlX291
dHB1dCBkb2VzIHRvbyBtdWNoCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFrc1ZpZXdlci9XZWJJbnNwZWN0
b3JTaGltcy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYkluc3BlY3RvclNoaW1zLmpzCmluZGV4IGQ3
YzEzMDk1ZjkxZjMzMGNiNjZiODM3YjM5OTM5MTZmNzZiODhkZTIuLjllZDVjYTY2OGQ5NjA4MDA2
MmU5MjNjZjU5ZjkwOWI0NjA2YTFhNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYklu
c3BlY3RvclNoaW1zLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYkluc3BlY3RvclNoaW1zLmpz
CkBAIC02OCwxMCArNjgsMTMgQEAgdmFyIFByZWZlcmVuY2VzID0gewogfTsKIAogdmFyIFByb2Zp
bGVyQWdlbnQgPSB7Ci0gICAgZ2V0UHJvZmlsZTogZnVuY3Rpb24odHlwZUlkLCB1aWQsIGNhbGxi
YWNrKSB7CisgICAgZ2V0Q1BVUHJvZmlsZTogZnVuY3Rpb24odWlkLCBjYWxsYmFjaykgewogICAg
ICAgICB0aGlzLl9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIH0sCiAKKyAgICBnZXRIZWFwU25h
cHNob3Q6IGZ1bmN0aW9uKHVpZCwgY2FsbGJhY2spIHsKKyAgICB9LAorCiAgICAgcHJvZmlsZVJl
YWR5OiBmdW5jdGlvbihoZWFkKSB7CiAgICAgICAgIHRoaXMuX2NhbGxiYWNrKHsgaGVhZDogaGVh
ZCB9KTsKICAgICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4ZjBjMDJlZjIzMTdhYjVmYTlmOWNiZDgyZTZiMzk5MjEx
MDkzMmQuLmM0YzQzMTM2ZDMxMWRhODE3ZGY4NTdkMDc0ZjAwOTdlNWY3NWI5ZjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVzdGFzQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcm9maWxlcjogc3BsaXQgImdl
dFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImxvYWRIZWFwU25hcHNob3QiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1NDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdGVkIG5ldyBt
ZXRob2Qgc2lnbmF0dXJlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNu
YXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWw6CisgICAgICAgIEFkb3B0ZWQgbmV3IG1ldGhv
ZCBzaWduYXR1cmVzLgorICAgICAgICAqIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90
LWxvYWRlci5odG1sOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1z
bmFwc2hvdC10ZXN0LmpzOiBEaXR0by4KKwogMjAxMi0xMi0xOSAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTT2JqZWN0OjplbnN1cmU8SW5kZXhpbmdUeXBlPiBz
aG91bGQgZ3JhY2VmdWxseSBoYW5kbGUgSW50ZXJjZXB0c0dldE93bi4uLiwgYW5kIHNob3VsZCBu
ZXZlciBiZSBjYWxsZWQgd2hlbiB0aGUgJ3RoaXMnIGlzIG5vdCBhbiBvYmplY3QKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWdldC1wcm9m
aWxlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1nZXQtcHJvZmlsZS1jcmFzaC5odG1sCmluZGV4IGYyNWEyOTE1NWUwY2Q2ZTFmNTRjOWM5
ODMyMGRhZTA4N2Y0YTc5ZjAuLjg1NjFiY2I4MTFmMzEwM2EzYzU3YTY1MWMyYjZjY2UyODFhMDUx
ODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBz
aG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3By
b2ZpbGVyL2hlYXAtc25hcHNob3QtZ2V0LXByb2ZpbGUtY3Jhc2guaHRtbApAQCAtMTQsNyArMTQs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvclN0
cmluZyk7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgUHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKCJIRUFQIiwgLTEsIGZpbmlzaCk7CisgICAgICAg
ICAgICBQcm9maWxlckFnZW50LmdldEhlYXBTbmFwc2hvdCgtMSwgZmluaXNoKTsKICAgICAgICAg
fQogICAgIF0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXIuaHRtbAppbmRleCAwOTg5NmZiYjdjYjk2OTUxM2VjNTg3
NGZiZDYwNWM3MmEzN2IzMjRkLi4xNmNjNmZiZjczOWM1MjQ5MTEyODMzNzM5Zjg4MjJlNzY0MGZh
NzU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1sb2FkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVh
cC1zbmFwc2hvdC1sb2FkZXIuaHRtbApAQCAtMzAsNyArMzAsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
IAogICAgICAgICB2YXIgcHJvZmlsZUhlYWRlciA9IHBhbmVsLl9wcm9maWxlc1swXTsKIAotICAg
ICAgICBmdW5jdGlvbiBnZXRQcm9maWxlTW9jayhwcm9maWxlVHlwZU5hbWUsIHVpZCkgeworICAg
ICAgICBmdW5jdGlvbiBnZXRIZWFwU25hcHNob3RNb2NrKHVpZCkgewogICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDAsIGwgPSBzb3VyY2VTdHJpbmdpZmllZC5sZW5ndGg7IGkgPCBsOyBpICs9IHBh
cnRTaXplKQogICAgICAgICAgICAgICAgIGRpc3BhdGNoZXIuYWRkSGVhcFNuYXBzaG90Q2h1bmso
dWlkLCBzb3VyY2VTdHJpbmdpZmllZC5zbGljZShpLCBpICsgcGFydFNpemUpKTsKICAgICAgICAg
ICAgIGRpc3BhdGNoZXIuZmluaXNoSGVhcFNuYXBzaG90KHVpZCk7CkBAIC0zOSwxMiArMzksMTIg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGZ1bmN0aW9uIHNuYXBzaG90TG9hZGVkKCkKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKG92ZXJyaWRlR2V0UHJvZmlsZSkKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRQcm9maWxlIiwg
Z2V0UHJvZmlsZU1vY2spOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUo
UHJvZmlsZXJBZ2VudCwgImdldEhlYXBTbmFwc2hvdCIsIGdldEhlYXBTbmFwc2hvdE1vY2spOwog
ICAgICAgICAgICAgY2FsbGJhY2socHJvZmlsZUhlYWRlcik7CiAgICAgICAgIH0KICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKHByb2ZpbGVIZWFkZXIsICJfc25hcHNob3RSZWNlaXZl
ZCIsIHNuYXBzaG90TG9hZGVkKTsKIAotICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFBy
b2ZpbGVyQWdlbnQsICJnZXRQcm9maWxlIiwgZ2V0UHJvZmlsZU1vY2spOworICAgICAgICBJbnNw
ZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRIZWFwU25hcHNob3QiLCBnZXRI
ZWFwU25hcHNob3RNb2NrKTsKICAgICAgICAgcGFuZWwuc2hvd1Byb2ZpbGUocHJvZmlsZUhlYWRl
cik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIv
aGVhcC1zbmFwc2hvdC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hl
YXAtc25hcHNob3QtdGVzdC5qcwppbmRleCAxODUxMzRiMjQxMWJkOGI0Y2ViMWNlZjgxZTAxOTEx
YTA3MTNkZjYzLi4xN2ZmN2QxNTM0ODUxOGY0MDMwNDA4Y2IyYWJhOTljYzAxMzM3NDJkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0
LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRl
c3QuanMKQEAgLTcyNCwxNSArNzI0LDE1IEBAIEluc3BlY3RvclRlc3QudGFrZUFuZE9wZW5TbmFw
c2hvdCA9IGZ1bmN0aW9uKGdlbmVyYXRvciwgY2FsbGJhY2spCiAgICAgICAgIG1heEpTT2JqZWN0
SWQ6IHNuYXBzaG90Lm1heEpTT2JqZWN0SWQKICAgICB9KTsKICAgICBkZWxldGUgc25hcHNob3Qu
bWF4SlNPYmplY3RJZDsKLSAgICBmdW5jdGlvbiBwdXNoR2VuZXJhdGVkU25hcHNob3QodHlwZUlk
LCB1aWQpCisgICAgZnVuY3Rpb24gcHVzaEdlbmVyYXRlZFNuYXBzaG90KHVpZCkKICAgICB7Ci0g
ICAgICAgIHNuYXBzaG90LnNuYXBzaG90LnR5cGVJZCA9IHByb2ZpbGUudHlwZUlkOworICAgICAg
ICBzbmFwc2hvdC5zbmFwc2hvdC50eXBlSWQgPSAiSEVBUCI7CiAgICAgICAgIHNuYXBzaG90LnNu
YXBzaG90LnRpdGxlID0gcHJvZmlsZS50aXRsZTsKICAgICAgICAgc25hcHNob3Quc25hcHNob3Qu
dWlkID0gcHJvZmlsZS51aWQ7CiAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMu
X2FkZEhlYXBTbmFwc2hvdENodW5rKHVpZCwgSlNPTi5zdHJpbmdpZnkoc25hcHNob3QpKTsKICAg
ICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlcy5fZmluaXNoSGVhcFNuYXBzaG90KHVp
ZCk7CiAgICAgfQotICAgIEluc3BlY3RvclRlc3Qub3ZlcnJpZGUoUHJvZmlsZXJBZ2VudCwgImdl
dFByb2ZpbGUiLCBwdXNoR2VuZXJhdGVkU25hcHNob3QpOworICAgIEluc3BlY3RvclRlc3Qub3Zl
cnJpZGUoUHJvZmlsZXJBZ2VudCwgImdldEhlYXBTbmFwc2hvdCIsIHB1c2hHZW5lcmF0ZWRTbmFw
c2hvdCk7CiAgICAgSW5zcGVjdG9yVGVzdC5fdGFrZUFuZE9wZW5TbmFwc2hvdENhbGxiYWNrID0g
Y2FsbGJhY2s7CiAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5wcm9maWxlcy5hZGRQcm9maWxlSGVh
ZGVyKHByb2ZpbGUpOwogICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMuc2hvd1Byb2Zp
bGUocHJvZmlsZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183120</attachid>
            <date>2013-01-16 22:12:41 -0800</date>
            <delta_ts>2013-01-17 10:52:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104545-20130117100941.patch</filename>
            <type>text/plain</type>
            <size>16025</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTRlNjVjNWI1OWI1MjA0
NTdiMzIyOGI2MTE2YzFlYmEyNWNjMTAzNS4uMjVjNzQ3NTFiODI1MWQyZWRhMTNkYjUzNTNiNTEy
ZDk2YWU4ZWU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEwICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJvZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFu
ZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHdpbGwgYWxsb3cgc3Ryb25nZXIgdHlwaW5nIG9mIHBy
b2ZpbGVyIG91dHB1dC4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAg
ICAgICAgU3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImdldEhlYXBT
bmFwc2hvdCIuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOiBE
aXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBB
ZG9wZCBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
Vmlldy5qczogRGl0dG8uCisKIDIwMTMtMDEtMTYgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CiAKICAgICAgICAgQXR0ci5vd25lckRvY3VtZW50IHNob3VsZCBjaGFuZ2UgaWYg
aXRzIHBhcmVudCdzIG93bmVyIGRpZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3Mjlm
Zjg4ZmU5NTg4OGIyNWNhOTM4NjFiZDA0ZjgwYWE5MjNiM2VhLi4xYTY0MjJhODI2MWRjYWJmNTE4
MGI4OTNlOGNhM2RlOWFiZmNlZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDEyLTEyLTEwICBFdWdlbmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFByb2ZpbGVyOiBzcGxpdCAiZ2V0UHJv
ZmlsZSIgdG8gImdldENQVVByb2ZpbGUiIGFuZCAibG9hZEhlYXBTbmFwc2hvdCIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDU0NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IGNoYW5nZXM6IG1p
bWljIG9sZCBiZWhhdmlvci4KKworICAgICAgICAqIHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5j
cHA6IEFkb3B0IHNpZ25hdHVyZSBjaGFuZ2VzLgorCiAyMDEzLTAxLTE2ICBEb21pbmljIENvb25l
eSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4
IGMxODJjZDFjODZiYTMzYTAxMTI4MTQ1NTQ2M2Y5YmUyZmU5MTFhYmQuLmIyNWY5OTE3Y2MxZjcx
MmFkZDRmM2RiNzU2NDQwNGRmMmI4MjllMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24KQEAgLTI5ODQsNyArMjk4NCw3IEBACiAgICAgICAgICAgICAgICAgXQogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAiaWQiOiAiUHJvZmls
ZSIsCisgICAgICAgICAgICAgICAgImlkIjogIkNQVVByb2ZpbGUiLAogICAgICAgICAgICAgICAg
ICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByb2Zp
bGUuIiwKICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IFsKQEAgLTMwMzcsMTMgKzMwMzcs
MTggQEAKICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgICJuYW1lIjogImdldFByb2ZpbGUiLAorICAgICAgICAgICAgICAgICJu
YW1lIjogImdldENQVVByb2ZpbGUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJpbmciIH0s
CiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidWlkIiwgInR5cGUiOiAiaW50ZWdlciIg
fQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicHJvZmlsZSIsICIkcmVmIjogIlByb2ZpbGUiIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcm9maWxlIiwgIiRyZWYiOiAiQ1BVUHJv
ZmlsZSIgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0SGVhcFNuYXBzaG90IiwKKyAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1aWQi
LCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmNwcAppbmRleCA5YWRmNmY1M2RiNGQ4MTA1YmQ0YjcxOTA0ZmY5Y2Qx
YWM1YjE1OTYwLi5mMGM3Y2Q2YTZkYjQ4MmZjNTBmMWQyMDMyZmZjYTllNDA0MGUwMDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
Y3BwCkBAIC0yODQsMzIgKzI4NCwzMyBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZQogCi12
b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmdldFByb2ZpbGUoRXJyb3JTdHJpbmcqIGVycm9y
U3RyaW5nLCBjb25zdCBTdHJpbmcmIHR5cGUsIGludCByYXdVaWQsIFJlZlB0cjxUeXBlQnVpbGRl
cjo6UHJvZmlsZXI6OlByb2ZpbGU+JiBwcm9maWxlT2JqZWN0KQordm9pZCBJbnNwZWN0b3JQcm9m
aWxlckFnZW50OjpnZXRDUFVQcm9maWxlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IHJh
d1VpZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6Q1BVUHJvZmlsZT4mIHByb2ZpbGVP
YmplY3QpCiB7CiAgICAgdW5zaWduZWQgdWlkID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhd1Vp
ZCk7Ci0gICAgaWYgKHR5cGUgPT0gQ1BVUHJvZmlsZVR5cGUpIHsKLSAgICAgICAgUHJvZmlsZXNN
YXA6Oml0ZXJhdG9yIGl0ID0gbV9wcm9maWxlcy5maW5kKHVpZCk7Ci0gICAgICAgIGlmIChpdCA9
PSBtX3Byb2ZpbGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAqZXJyb3JTdHJpbmcgPSAiUHJvZmls
ZSB3YXNuJ3QgZm91bmQiOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAg
IHByb2ZpbGVPYmplY3QgPSBUeXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGU6OmNyZWF0ZSgp
OwotICAgICAgICBwcm9maWxlT2JqZWN0LT5zZXRIZWFkKGl0LT52YWx1ZS0+YnVpbGRJbnNwZWN0
b3JPYmplY3RGb3JIZWFkKCkpOwotICAgICAgICBpZiAoaXQtPnZhbHVlLT5ib3R0b21VcEhlYWQo
KSkKLSAgICAgICAgICAgIHByb2ZpbGVPYmplY3QtPnNldEJvdHRvbVVwSGVhZChpdC0+dmFsdWUt
PmJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9yQm90dG9tVXBIZWFkKCkpOwotICAgICAgICBwcm9maWxl
T2JqZWN0LT5zZXRJZGxlVGltZShpdC0+dmFsdWUtPmlkbGVUaW1lKCkpOwotICAgIH0gZWxzZSBp
ZiAodHlwZSA9PSBIZWFwUHJvZmlsZVR5cGUpIHsKLSAgICAgICAgSGVhcFNuYXBzaG90c01hcDo6
aXRlcmF0b3IgaXQgPSBtX3NuYXBzaG90cy5maW5kKHVpZCk7Ci0gICAgICAgIGlmIChpdCA9PSBt
X3NuYXBzaG90cy5lbmQoKSkgewotICAgICAgICAgICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUg
d2Fzbid0IGZvdW5kIjsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBS
ZWZQdHI8U2NyaXB0SGVhcFNuYXBzaG90PiBzbmFwc2hvdCA9IGl0LT52YWx1ZTsKLSAgICAgICAg
cHJvZmlsZU9iamVjdCA9IFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZTo6Y3JlYXRlKCk7
Ci0gICAgICAgIGlmIChtX2Zyb250ZW5kKSB7Ci0gICAgICAgICAgICBPdXRwdXRTdHJlYW0gc3Ry
ZWFtKG1fZnJvbnRlbmQsIHVpZCk7Ci0gICAgICAgICAgICBzbmFwc2hvdC0+d3JpdGVKU09OKCZz
dHJlYW0pOwotICAgICAgICB9CisgICAgUHJvZmlsZXNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9wcm9m
aWxlcy5maW5kKHVpZCk7CisgICAgaWYgKGl0ID09IG1fcHJvZmlsZXMuZW5kKCkpIHsKKyAgICAg
ICAgKmVycm9yU3RyaW5nID0gIlByb2ZpbGUgd2Fzbid0IGZvdW5kIjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBwcm9maWxlT2JqZWN0ID0gVHlwZUJ1aWxkZXI6OlByb2ZpbGVyOjpDUFVQ
cm9maWxlOjpjcmVhdGUoKTsKKyAgICBwcm9maWxlT2JqZWN0LT5zZXRIZWFkKGl0LT52YWx1ZS0+
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JIZWFkKCkpOworICAgIGlmIChpdC0+dmFsdWUtPmJvdHRv
bVVwSGVhZCgpKQorICAgICAgICBwcm9maWxlT2JqZWN0LT5zZXRCb3R0b21VcEhlYWQoaXQtPnZh
bHVlLT5idWlsZEluc3BlY3Rvck9iamVjdEZvckJvdHRvbVVwSGVhZCgpKTsKKyAgICBwcm9maWxl
T2JqZWN0LT5zZXRJZGxlVGltZShpdC0+dmFsdWUtPmlkbGVUaW1lKCkpOworfQorCit2b2lkIElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ6OmdldEhlYXBTbmFwc2hvdChFcnJvclN0cmluZyogZXJyb3JT
dHJpbmcsIGludCByYXdVaWQpCit7CisgICAgdW5zaWduZWQgdWlkID0gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHJhd1VpZCk7CisgICAgSGVhcFNuYXBzaG90c01hcDo6aXRlcmF0b3IgaXQgPSBtX3Nu
YXBzaG90cy5maW5kKHVpZCk7CisgICAgaWYgKGl0ID09IG1fc25hcHNob3RzLmVuZCgpKSB7Cisg
ICAgICAgICplcnJvclN0cmluZyA9ICJQcm9maWxlIHdhc24ndCBmb3VuZCI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgUmVmUHRyPFNjcmlwdEhlYXBTbmFwc2hvdD4gc25hcHNob3QgPSBp
dC0+dmFsdWU7CisgICAgaWYgKG1fZnJvbnRlbmQpIHsKKyAgICAgICAgT3V0cHV0U3RyZWFtIHN0
cmVhbShtX2Zyb250ZW5kLCB1aWQpOworICAgICAgICBzbmFwc2hvdC0+d3JpdGVKU09OKCZzdHJl
YW0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmgKaW5kZXggNzZmM2RjNjdmNjczNjMxNWVhMWRhOTc4OGNlYWI4YWZl
OWI1MWY2ZS4uNDg0MDRkMDc5ZmVkMDEwODk3YTM5ODY4YzZlYWU1OWE2OGFjYjY4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBA
IC04Nyw3ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGVuYWJsZWQoKSB7IHJldHVybiBtX2Vu
YWJsZWQ7IH0KICAgICBTdHJpbmcgZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZShi
b29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIGdl
dFByb2ZpbGVIZWFkZXJzKEVycm9yU3RyaW5nKiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxU
eXBlQnVpbGRlcjo6UHJvZmlsZXI6OlByb2ZpbGVIZWFkZXI+ID4mKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZ2V0UHJvZmlsZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdHlwZSwgaW50IHVpZCwg
UmVmUHRyPFR5cGVCdWlsZGVyOjpQcm9maWxlcjo6UHJvZmlsZT4mKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZ2V0Q1BVUHJvZmlsZShFcnJvclN0cmluZyosIGludCB1aWQsIFJlZlB0cjxUeXBlQnVpbGRl
cjo6UHJvZmlsZXI6OkNQVVByb2ZpbGU+Jik7CisgICAgdmlydHVhbCB2b2lkIGdldEhlYXBTbmFw
c2hvdChFcnJvclN0cmluZyosIGludCB1aWQpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVQcm9m
aWxlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB0eXBlLCBpbnQgdWlkKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMKaW5kZXgg
ZGNjZDhlZWZhZTc0NmFhY2ViZDBmZmY4NzNmYzk1MTllOGQ2NWQ3OC4uOGRlZDg1ZjJjMDEyNmNh
NDZkNjgyNmQ4MWY2ODY4YWVhYmMyNWFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCkBAIC0xMDUsNyArMTA1LDcgQEAg
V2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3ID0gZnVuY3Rpb24ocHJvZmlsZSkKIAogICAgIHRo
aXMuX2xpbmtpZmllciA9IG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyKG5ldyBXZWJJbnNwZWN0
b3IuTGlua2lmaWVyLkRlZmF1bHRGb3JtYXR0ZXIoMzApKTsKIAotICAgIFByb2ZpbGVyQWdlbnQu
Z2V0UHJvZmlsZSh0aGlzLnByb2ZpbGUucHJvZmlsZVR5cGUoKS5pZCwgdGhpcy5wcm9maWxlLnVp
ZCwgcHJvZmlsZUNhbGxiYWNrLmJpbmQodGhpcykpOworICAgIFByb2ZpbGVyQWdlbnQuZ2V0Q1BV
UHJvZmlsZSh0aGlzLnByb2ZpbGUudWlkLCBwcm9maWxlQ2FsbGJhY2suYmluZCh0aGlzKSk7CiB9
CiAKIFdlYkluc3BlY3Rvci5DUFVQcm9maWxlVmlldy5fVHlwZVRyZWUgPSAiVHJlZSI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZp
ZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZp
ZXcuanMKaW5kZXggODY1NjZkYjc3MThhZDRjNzkwODFiNzg0NWMyOWE1NGZiNDMyYjhiZi4uMDk5
N2NjZjk3OTFmYWRkOTQ0ZmIwMDJlMGM4ZTk2YTNiMjk4ZGVjYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcwpAQCAt
ODcyLDcgKzg3Miw3IEBAIFdlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlci5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICB0aGlzLl9zZXR1cFdvcmtlcigpOwogICAgICAgICAgICAgdGhpcy5z
aWRlYmFyRWxlbWVudC5zdWJ0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZGluZ1x1
MjAyNiIpOwogICAgICAgICAgICAgdGhpcy5zaWRlYmFyRWxlbWVudC53YWl0ID0gdHJ1ZTsKLSAg
ICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0UHJvZmlsZSh0aGlzLnByb2ZpbGVUeXBlKCkuaWQs
IHRoaXMudWlkKTsKKyAgICAgICAgICAgIFByb2ZpbGVyQWdlbnQuZ2V0SGVhcFNuYXBzaG90KHRo
aXMudWlkKTsKICAgICAgICAgfQogICAgICAgICB2YXIgbG9hZGVyUHJveHkgPSAvKiogQHR5cGUg
e1dlYkluc3BlY3Rvci5IZWFwU25hcHNob3RMb2FkZXJQcm94eX0gKi8gKHRoaXMuX3JlY2VpdmVy
KTsKICAgICAgICAgbG9hZGVyUHJveHkuYWRkQ29uc3VtZXIoY2FsbGJhY2spOwpAQCAtOTc3LDcg
Kzk3Nyw3IEBAIFdlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICB0aGlzLl9yZWNlaXZlciA9IGZpbGVPdXRwdXRTdHJlYW07CiAgICAgICAgICAg
ICB0aGlzLl9zYXZlZENodW5rcyA9IDA7CiAgICAgICAgICAgICB0aGlzLl91cGRhdGVUcmFuc2Zl
clByb2dyZXNzKDAsIHRoaXMuX3RvdGFsTnVtYmVyT2ZDaHVua3MpOwotICAgICAgICAgICAgUHJv
ZmlsZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMucHJvZmlsZVR5cGUoKS5pZCwgdGhpcy51aWQpOwor
ICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRIZWFwU25hcHNob3QodGhpcy51aWQpOwogICAg
ICAgICB9CiAgICAgICAgIHRoaXMuX3NhdmluZ1RvRmlsZSA9IHRydWU7CiAgICAgICAgIHRoaXMu
X2ZpbGVOYW1lID0gdGhpcy5fZmlsZU5hbWUgfHwgIkhlYXAtIiArIG5ldyBEYXRlKCkudG9JU084
NjAxQ29tcGFjdCgpICsgIi5oZWFwc25hcHNob3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCmluZGV4IGNiNTAyMmI2MDk3OTVi
NTQ2MmRlNTQwMzgyNzBhYzllYTQ4YmI3YjEuLmYzMTliZjE1MDQyNDA2YzdkYTBmYjRhNjI3YTcw
NjRlNzU0Y2NjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRl
dlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTc0OCw3ICs3NDgsOCBAQCBib29sIFdlYkRldlRvb2xz
QWdlbnQ6OnNob3VsZEludGVycnVwdEZvck1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdl
KQogICAgICAgICB8fCBjb21tYW5kTmFtZSA9PSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6
Y29tbWFuZE5hbWVzW0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjprRGVidWdnZXJfc2V0QnJl
YWtwb2ludHNBY3RpdmVDbWRdCiAgICAgICAgIHx8IGNvbW1hbmROYW1lID09IEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6
OmtQcm9maWxlcl9zdGFydENtZF0KICAgICAgICAgfHwgY29tbWFuZE5hbWUgPT0gSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
cjo6a1Byb2ZpbGVyX3N0b3BDbWRdCi0gICAgICAgIHx8IGNvbW1hbmROYW1lID09IEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXI6OmtQcm9maWxlcl9nZXRQcm9maWxlQ21kXTsKKyAgICAgICAgfHwgY29tbWFuZE5hbWUgPT0g
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmROYW1lc1tJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcjo6a1Byb2ZpbGVyX2dldENQVVByb2ZpbGVDbWRdCisgICAgICAgIHx8IGNvbW1h
bmROYW1lID09IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpjb21tYW5kTmFtZXNbSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXI6OmtQcm9maWxlcl9nZXRIZWFwU25hcHNob3RDbWRdOwogfQog
CiB2b2lkIFdlYkRldlRvb2xzQWdlbnQ6OnByb2Nlc3NQZW5kaW5nTWVzc2FnZXMoKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGM1ODUyNWY3NGZj
MWE1YTBiNmI3MjhmZGU2ZWNkNTBmYmQ2NjhmYTAuLmM1NDhkM2IyOWVmOTQ3NzZhODk2YWNhZTgy
YTM0ZjAwN2ZjYWVmOGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMi0xMCAgRXVnZW5lIEtseXVjaG5pa292
ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcm9maWxl
cjogc3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImxvYWRIZWFwU25h
cHNob3QiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZG9wdCBzaWduYXR1cmUgY2hhbmdlcy4KKworICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYkluc3BlY3Rv
clNoaW1zLmpzOgorICAgICAgICAoUHJvZmlsZXJBZ2VudC5nZXRDUFVQcm9maWxlKTogUmVuYW1l
ZC4KKyAgICAgICAgKFByb2ZpbGVyQWdlbnQuZ2V0SGVhcFNuYXBzaG90KTogQWRkZWQuCisKIDIw
MTMtMDEtMTYgIEFsYW4gQ3V0dGVyICA8YWxhbmN1dHRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgR0NFIGJ1aWxkIHNjcmlwdHMgZG9uJ3QgdGFrZSB3b3JraW5nIGRpcmVjdG9yeSBpbnRvIGFj
Y291bnQgd2hlbiBjYWxsaW5nIGZpbmR6b25lLnNoCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFrc1ZpZXdl
ci9XZWJJbnNwZWN0b3JTaGltcy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYkluc3BlY3RvclNoaW1z
LmpzCmluZGV4IGQ3YzEzMDk1ZjkxZjMzMGNiNjZiODM3YjM5OTM5MTZmNzZiODhkZTIuLjllZDVj
YTY2OGQ5NjA4MDA2MmU5MjNjZjU5ZjkwOWI0NjA2YTFhNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtz
Vmlld2VyL1dlYkluc3BlY3RvclNoaW1zLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL0xlYWtzVmlld2VyL1dlYkluc3Bl
Y3RvclNoaW1zLmpzCkBAIC02OCwxMCArNjgsMTMgQEAgdmFyIFByZWZlcmVuY2VzID0gewogfTsK
IAogdmFyIFByb2ZpbGVyQWdlbnQgPSB7Ci0gICAgZ2V0UHJvZmlsZTogZnVuY3Rpb24odHlwZUlk
LCB1aWQsIGNhbGxiYWNrKSB7CisgICAgZ2V0Q1BVUHJvZmlsZTogZnVuY3Rpb24odWlkLCBjYWxs
YmFjaykgewogICAgICAgICB0aGlzLl9jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgIH0sCiAKKyAg
ICBnZXRIZWFwU25hcHNob3Q6IGZ1bmN0aW9uKHVpZCwgY2FsbGJhY2spIHsKKyAgICB9LAorCiAg
ICAgcHJvZmlsZVJlYWR5OiBmdW5jdGlvbihoZWFkKSB7CiAgICAgICAgIHRoaXMuX2NhbGxiYWNr
KHsgaGVhZDogaGVhZCB9KTsKICAgICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlmZjRjMWNkYmFlNTNjYTk2ODJhMDlj
YzM0ZTRhYWI4MDJmNzY4M2UuLjVkMzQ3OWMyNzg4ODM1YWRhMzdmY2E5NzkyYmEwODU4MDQ0Mzc5
ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgRXVnZW5lIEtseXVjaG5pa292
ICA8ZXVzdGFzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcm9maWxl
cjogc3BsaXQgImdldFByb2ZpbGUiIHRvICJnZXRDUFVQcm9maWxlIiBhbmQgImxvYWRIZWFwU25h
cHNob3QiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZG9wdGVkIG5ldyBtZXRob2Qgc2lnbmF0dXJlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm9m
aWxlci9oZWFwLXNuYXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWw6CisgICAgICAgIEFkb3B0
ZWQgbmV3IG1ldGhvZCBzaWduYXR1cmVzLgorICAgICAgICAqIGluc3BlY3Rvci9wcm9maWxlci9o
ZWFwLXNuYXBzaG90LWxvYWRlci5odG1sOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJv
ZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzOiBEaXR0by4KKwogMjAxMy0wMS0xNiAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBdHRyLm93bmVyRG9jdW1l
bnQgc2hvdWxkIGNoYW5nZSBpZiBpdHMgcGFyZW50J3Mgb3duZXIgZGlkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1nZXQtcHJvZmlsZS1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qt
Z2V0LXByb2ZpbGUtY3Jhc2guaHRtbAppbmRleCBmMjVhMjkxNTVlMGNkNmUxZjU0YzljOTgzMjBk
YWUwODdmNGE3OWYwLi44NTYxYmNiODExZjMxMDNhM2M1N2E2NTFjMmI2Y2NlMjgxYTA1MTgwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1n
ZXQtcHJvZmlsZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LWdldC1wcm9maWxlLWNyYXNoLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3JTdHJpbmcp
OwogICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFBy
b2ZpbGVyQWdlbnQuZ2V0UHJvZmlsZSgiSEVBUCIsIC0xLCBmaW5pc2gpOworICAgICAgICAgICAg
UHJvZmlsZXJBZ2VudC5nZXRIZWFwU25hcHNob3QoLTEsIGZpbmlzaCk7CiAgICAgICAgIH0KICAg
ICBdKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFw
LXNuYXBzaG90LWxvYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hl
YXAtc25hcHNob3QtbG9hZGVyLmh0bWwKaW5kZXggYmY4NzU5NzE5NmE0ODU2MTIyYmY5ZTMyNzE0
NzIzMmJmM2UzZTg1Ny4uNmFkNmIwZGIzZjdjMjhjMDFjMzA1YWUxNDBjNjYwODA2NTBiM2VmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qt
bG9hZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25h
cHNob3QtbG9hZGVyLmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAg
ICAgICAgdmFyIHByb2ZpbGVIZWFkZXIgPSBwYW5lbC5fcHJvZmlsZXNbMF07CiAKLSAgICAgICAg
ZnVuY3Rpb24gZ2V0UHJvZmlsZU1vY2socHJvZmlsZVR5cGVOYW1lLCB1aWQpIHsKKyAgICAgICAg
ZnVuY3Rpb24gZ2V0SGVhcFNuYXBzaG90TW9jayh1aWQpIHsKICAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwLCBsID0gc291cmNlU3RyaW5naWZpZWQubGVuZ3RoOyBpIDwgbDsgaSArPSBwYXJ0U2l6
ZSkKICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyLmFkZEhlYXBTbmFwc2hvdENodW5rKHVpZCwg
c291cmNlU3RyaW5naWZpZWQuc2xpY2UoaSwgaSArIHBhcnRTaXplKSk7CiAgICAgICAgICAgICBk
aXNwYXRjaGVyLmZpbmlzaEhlYXBTbmFwc2hvdCh1aWQpOwpAQCAtMzksMTIgKzM5LDEyIEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICBmdW5jdGlvbiBzbmFwc2hvdExvYWRlZCgpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGlmIChvdmVycmlkZUdldFByb2ZpbGUpCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxlckFnZW50LCAiZ2V0UHJvZmlsZSIsIGdldFBy
b2ZpbGVNb2NrKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2Zp
bGVyQWdlbnQsICJnZXRIZWFwU25hcHNob3QiLCBnZXRIZWFwU25hcHNob3RNb2NrKTsKICAgICAg
ICAgICAgIGNhbGxiYWNrKHByb2ZpbGVIZWFkZXIpOwogICAgICAgICB9CiAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkU25pZmZlcihwcm9maWxlSGVhZGVyLCAiX3NuYXBzaG90UmVjZWl2ZWQiLCBz
bmFwc2hvdExvYWRlZCk7CiAKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5vdmVycmlkZShQcm9maWxl
ckFnZW50LCAiZ2V0UHJvZmlsZSIsIGdldFByb2ZpbGVNb2NrKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5vdmVycmlkZShQcm9maWxlckFnZW50LCAiZ2V0SGVhcFNuYXBzaG90IiwgZ2V0SGVhcFNu
YXBzaG90TW9jayk7CiAgICAgICAgIHBhbmVsLnNob3dQcm9maWxlKHByb2ZpbGVIZWFkZXIpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAt
c25hcHNob3QtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNu
YXBzaG90LXRlc3QuanMKaW5kZXggYTYwOTg1ZjY3ZjYwZTllY2RkMDA2ZTliZGRkZTkwYjY5ZGQx
MWNhMC4uMTU1NTRkMmNjMmJiYTg2MDVhNjJhYTA0YTdiZjIxMmQzMDM3YjgwMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0Lmpz
CkBAIC03MjcsMTUgKzcyNywxNSBAQCBJbnNwZWN0b3JUZXN0LnRha2VBbmRPcGVuU25hcHNob3Qg
PSBmdW5jdGlvbihnZW5lcmF0b3IsIGNhbGxiYWNrKQogICAgICAgICBtYXhKU09iamVjdElkOiBz
bmFwc2hvdC5tYXhKU09iamVjdElkCiAgICAgfSk7CiAgICAgZGVsZXRlIHNuYXBzaG90Lm1heEpT
T2JqZWN0SWQ7Ci0gICAgZnVuY3Rpb24gcHVzaEdlbmVyYXRlZFNuYXBzaG90KHR5cGVJZCwgdWlk
KQorICAgIGZ1bmN0aW9uIHB1c2hHZW5lcmF0ZWRTbmFwc2hvdCh1aWQpCiAgICAgewotICAgICAg
ICBzbmFwc2hvdC5zbmFwc2hvdC50eXBlSWQgPSBwcm9maWxlLnR5cGVJZDsKKyAgICAgICAgc25h
cHNob3Quc25hcHNob3QudHlwZUlkID0gIkhFQVAiOwogICAgICAgICBzbmFwc2hvdC5zbmFwc2hv
dC50aXRsZSA9IHByb2ZpbGUudGl0bGU7CiAgICAgICAgIHNuYXBzaG90LnNuYXBzaG90LnVpZCA9
IHByb2ZpbGUudWlkOwogICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLl9hZGRI
ZWFwU25hcHNob3RDaHVuayh1aWQsIEpTT04uc3RyaW5naWZ5KHNuYXBzaG90KSk7CiAgICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMuX2ZpbmlzaEhlYXBTbmFwc2hvdCh1aWQpOwog
ICAgIH0KLSAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRQcm9m
aWxlIiwgcHVzaEdlbmVyYXRlZFNuYXBzaG90KTsKKyAgICBJbnNwZWN0b3JUZXN0Lm92ZXJyaWRl
KFByb2ZpbGVyQWdlbnQsICJnZXRIZWFwU25hcHNob3QiLCBwdXNoR2VuZXJhdGVkU25hcHNob3Qp
OwogICAgIEluc3BlY3RvclRlc3QuX3Rha2VBbmRPcGVuU25hcHNob3RDYWxsYmFjayA9IGNhbGxi
YWNrOwogICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMuYWRkUHJvZmlsZUhlYWRlcihw
cm9maWxlKTsKICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLnNob3dQcm9maWxlKHBy
b2ZpbGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>