<?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>69924</bug_id>
          
          <creation_ts>2011-10-12 06:18:30 -0700</creation_ts>
          <short_desc>Web Inspector: add &quot;Add to Watch&quot; option to context menu on selection in source frame</short_desc>
          <delta_ts>2013-05-29 01:49:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>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>116924</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>rtakacs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>482373</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-10-12 06:18:30 -0700</bug_when>
    <thetext>- add &quot;Add to Watch&quot; option to context menu in the source frame while debugger is paused
- add a flag to platform context menu to enable both custom and default items be displayed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482375</commentid>
    <comment_count>1</comment_count>
      <attachid>110676</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-10-12 06:20:50 -0700</bug_when>
    <thetext>Created attachment 110676
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482392</commentid>
    <comment_count>2</comment_count>
      <attachid>110676</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-12 07:01:48 -0700</bug_when>
    <thetext>Comment on attachment 110676
patch

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

&gt; Source/WebCore/page/ContextMenuController.h:56
&gt; +        void showContextMenu(Event*, PassRefPtr&lt;ContextMenuProvider&gt;, bool includeDefaultItems);

nit: WebKit coding style guide recommends to use enum instead of boolean for parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482393</commentid>
    <comment_count>3</comment_count>
      <attachid>110676</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-10-12 07:02:28 -0700</bug_when>
    <thetext>Comment on attachment 110676
patch

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

&gt; Source/WebCore/inspector/front-end/TextViewer.js:300
&gt; +            }

style nit: else should go on the same line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484787</commentid>
    <comment_count>4</comment_count>
      <attachid>110676</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-16 10:48:26 -0700</bug_when>
    <thetext>Comment on attachment 110676
patch

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

&gt; Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:114
&gt; +    bool includeDefaultItems = args.Length() &gt; 2 &amp;&amp; args[2]-&gt;ToBoolean()-&gt;Value();

what if it is not boolean?

&gt; Source/WebCore/inspector/front-end/ContextMenu.js:91
&gt; +        this._includeDefaultItems = !!value;

make it = value and annotate as @param {boolean} instead!

&gt; Source/WebCore/inspector/front-end/SourceFrame.js:657
&gt; +        if (!this._delegate.debuggerPaused())

Is there a reason you want it to be only enabled while paused?

&gt;&gt; Source/WebCore/page/ContextMenuController.h:56
&gt;&gt; +        void showContextMenu(Event*, PassRefPtr&lt;ContextMenuProvider&gt;, bool includeDefaultItems);
&gt; 
&gt; nit: WebKit coding style guide recommends to use enum instead of boolean for parameters.

It sounds like you are adding this flag for the sake of chromium port only. Could we do a better job in detecting the &apos;input&apos; or &apos;selection&apos; context menus instead and show standard menu items for those by default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485138</commentid>
    <comment_count>5</comment_count>
      <attachid>111262</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-10-17 07:48:18 -0700</bug_when>
    <thetext>Created attachment 111262
patch

- removed explicit flag for including both custom and default items, just do this if we have selection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485140</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 07:50:33 -0700</bug_when>
    <thetext>Attachment 111262 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485192</commentid>
    <comment_count>7</comment_count>
      <attachid>111262</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-17 09:06:37 -0700</bug_when>
    <thetext>Comment on attachment 111262
patch

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

&gt; Source/WebCore/inspector/front-end/TextViewer.js:300
&gt; +                this._delegate.populateTextAreaContextMenu(contextMenu);

Nit: I&apos;d simply pass selection in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894784</commentid>
    <comment_count>8</comment_count>
    <who name="Roland Takacs">rtakacs</who>
    <bug_when>2013-05-29 01:49:51 -0700</bug_when>
    <thetext>This patch is already in the trunk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110676</attachid>
            <date>2011-10-12 06:20:50 -0700</date>
            <delta_ts>2011-10-17 07:48:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>context-menu.diff</filename>
            <type>text/plain</type>
            <size>23555</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMGI1ZTMxLi4xMjViMmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkg
QEAKKzIwMTEtMTAtMTIgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgIkFkZCB0byBXYXRjaCIgb3B0aW9uIHRvIGNvbnRl
eHQgbWVudSBvbiBzZWxlY3Rpb24gaW4gc291cmNlIGZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkyNAorCisgICAgICAgIC0gYWRkZWQgYW4g
b3B0aW9uIHRvIGluY2x1ZGUgZGVmYXVsdCBpdGVtcyB0byBjb250ZXh0IG1lbnUgZXZlbiBpZiBj
dXN0b20gaXRlbXMgYXJlIHByZXNlbnQKKyAgICAgICAgLSBhZGRlZCAnQWRkIHRvIFdhdGNoJyBj
b250ZXh0IG1lbnUgaXRlbSBpbiBzY3JpcHRzIHBhbmVsCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnNob3dD
b250ZXh0TWVudSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJv
bnRlbmRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4SW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpzaG93Q29udGV4dE1lbnVDYWxsYmFjayk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q6OnNob3dDb250ZXh0TWVudSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29udGV4dE1lbnUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnRleHRNZW51LnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250
ZXh0TWVudS5wcm90b3R5cGUuZ2V0IGluY2x1ZGVEZWZhdWx0SXRlbXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNvbnRleHRNZW51LnByb3RvdHlwZS5zZXQgaW5jbHVkZURlZmF1bHRJdGVtcyk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWVEZWxlZ2F0ZUZvclNjcmlwdHNQYW5lbC5wcm90b3R5
cGUuc3VnZ2VzdGVkRmlsZU5hbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1l
RGVsZWdhdGVGb3JTY3JpcHRzUGFuZWwucHJvdG90eXBlLmFkZFRvV2F0Y2gpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU29mdENvbnRleHRNZW51LmpzOgorICAgICAgICAoLkluc3Bl
Y3RvckZyb250ZW5kSG9zdC5zaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJh
bWUucHJvdG90eXBlLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0ZUZvclNvdXJjZUZyYW1lLnByb3RvdHlwZS5wb3B1
bGF0ZVNlbGVjdGlvbkNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VG
cmFtZURlbGVnYXRlLnByb3RvdHlwZS5zdWdnZXN0ZWRGaWxlTmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU291cmNlRnJhbWVEZWxlZ2F0ZS5wcm90b3R5cGUuYWRkVG9XYXRjaCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRWaWV3ZXIucHJvdG90eXBlLl9jb250ZXh0TWVudSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlLnByb3RvdHlwZS5wb3B1bGF0ZVNlbGVjdGlvbkNv
bnRleHRNZW51KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lv
bnNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Npb25z
U2lkZWJhclBhbmUucHJvdG90eXBlLmFkZEV4cHJlc3Npb24pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLldhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2FkZEJ1dHRvbkNsaWNr
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3Rv
dHlwZS5hZGRFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Np
b25zU2VjdGlvbi5wcm90b3R5cGUuYWRkTmV3RXhwcmVzc2lvbkFuZEVkaXQpOgorICAgICAgICAq
IHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBwYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51OjpDb250ZXh0TWVudSk6CisgICAgICAgICog
cGxhdGZvcm0vQ29udGV4dE1lbnUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Ojph
bHdheXNJbmNsdWRlRGVmYXVsdEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51
OjpzZXRBbHdheXNJbmNsdWRlRGVmYXVsdEl0ZW1zKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9Db250ZXh0TWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRN
ZW51OjpDb250ZXh0TWVudSk6CisgICAgICAgICogcGxhdGZvcm0vZWZsL0NvbnRleHRNZW51RWZs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51OjpDb250ZXh0TWVudSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRleHRNZW51OjpDb250ZXh0TWVudSk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0NvbnRl
eHRNZW51TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnU6OkNvbnRleHRNZW51
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Db250ZXh0TWVudVF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRleHRNZW51OjpDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZXh0TWVudTo6fkNvbnRleHRNZW51KToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQ29udGV4dE1l
bnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnU6OkNvbnRleHRNZW51KToK
KyAgICAgICAgKiBwbGF0Zm9ybS93eC9Db250ZXh0TWVudVd4LmNwcDoKKyAgICAgICAgKENvbnRl
eHRNZW51OjpDb250ZXh0TWVudSk6CisKIDIwMTEtMTAtMTEgIEFydW4gUGF0b2xlICA8Qk1GODM0
QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBOZWVkIG1vcmUgZWZmaWNpZW50IHdheXMgdG8gc2V0
IGlubGluZSBDU1Mgc3R5bGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggNTQ0ZmQ4Yy4uYTc4NTRhZSAxMDA2NDQKQmluYXJ5IGZp
bGVzIGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFu
ZCBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBkaWZm
ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJv
bnRlbmRIb3N0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVj
dG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcAppbmRleCBmNWYyOGY2Li43NTdkYzU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnNwZWN0b3JGcm9u
dGVuZEhvc3RDdXN0b20uY3BwCkBAIC0xMjEsNyArMTIxLDggQEAgSlNWYWx1ZSBKU0luc3BlY3Rv
ckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAg
fQogICAgIH0KIAotICAgIGltcGwoKS0+c2hvd0NvbnRleHRNZW51KGV2ZW50LCBpdGVtcyk7Cisg
ICAgYm9vbCBpbmNsdWRlRGVmYXVsdEl0ZW1zID0gZXhlYy0+YXJndW1lbnRDb3VudCgpID4gMiAm
JiBleGVjLT5hcmd1bWVudCgyKS50b0Jvb2xlYW4oZXhlYyk7CisgICAgaW1wbCgpLT5zaG93Q29u
dGV4dE1lbnUoZXZlbnQsIGl0ZW1zLCBpbmNsdWRlRGVmYXVsdEl0ZW1zKTsKICNlbmRpZgogICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluc3BlY3RvckZyb250ZW5kSG9zdEN1c3Rv
bS5jcHAKaW5kZXggNDMxZTRlNS4uYWExZjI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhv
c3RDdXN0b20uY3BwCkBAIC0xMTEsOCArMTExLDkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpzaG93Q29udGV4dE1lbnVDYWxsYmFjayhjb25zdCB2ODoK
ICAgICAgICAgfQogICAgIH0KIAorICAgIGJvb2wgaW5jbHVkZURlZmF1bHRJdGVtcyA9IGFyZ3Mu
TGVuZ3RoKCkgPiAyICYmIGFyZ3NbMl0tPlRvQm9vbGVhbigpLT5WYWx1ZSgpOwogICAgIEluc3Bl
Y3RvckZyb250ZW5kSG9zdCogZnJvbnRlbmRIb3N0ID0gVjhJbnNwZWN0b3JGcm9udGVuZEhvc3Q6
OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwotICAgIGZyb250ZW5kSG9zdC0+c2hvd0NvbnRleHRN
ZW51KGV2ZW50LCBpdGVtcyk7CisgICAgZnJvbnRlbmRIb3N0LT5zaG93Q29udGV4dE1lbnUoZXZl
bnQsIGl0ZW1zLCBpbmNsdWRlRGVmYXVsdEl0ZW1zKTsKIAogICAgIHJldHVybiB2ODo6VW5kZWZp
bmVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY3BwCmluZGV4IGQyYTcwMzMuLjJjNTQxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0yMzUsNyArMjM1
LDcgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnNlbmRNZXNzYWdlVG9CYWNrZW5kKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKIH0KIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotdm9p
ZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnNob3dDb250ZXh0TWVudShFdmVudCogZXZlbnQsIGNv
bnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0qPiYgaXRlbXMpCit2b2lkIEluc3BlY3RvckZyb250
ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KEV2ZW50KiBldmVudCwgY29uc3QgVmVjdG9yPENvbnRl
eHRNZW51SXRlbSo+JiBpdGVtcywgYm9vbCBpbmNsdWRlRGVmYXVsdEl0ZW1zKQogewogICAgIEFT
U0VSVChtX2Zyb250ZW5kUGFnZSk7CiAgICAgU2NyaXB0U3RhdGUqIGZyb250ZW5kU2NyaXB0U3Rh
dGUgPSBzY3JpcHRTdGF0ZUZyb21QYWdlKGRlYnVnZ2VyV29ybGQoKSwgbV9mcm9udGVuZFBhZ2Up
OwpAQCAtMjQ2LDcgKzI0Niw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpzaG93Q29u
dGV4dE1lbnUoRXZlbnQqIGV2ZW50LCBjb25zdCBWZWN0b3I8Q29udGV4dE1lCiAgICAgfQogICAg
IFJlZlB0cjxGcm9udGVuZE1lbnVQcm92aWRlcj4gbWVudVByb3ZpZGVyID0gRnJvbnRlbmRNZW51
UHJvdmlkZXI6OmNyZWF0ZSh0aGlzLCB3ZWJJbnNwZWN0b3JPYmosIGl0ZW1zKTsKICAgICBDb250
ZXh0TWVudUNvbnRyb2xsZXIqIG1lbnVDb250cm9sbGVyID0gbV9mcm9udGVuZFBhZ2UtPmNvbnRl
eHRNZW51Q29udHJvbGxlcigpOwotICAgIG1lbnVDb250cm9sbGVyLT5zaG93Q29udGV4dE1lbnUo
ZXZlbnQsIG1lbnVQcm92aWRlcik7CisgICAgbWVudUNvbnRyb2xsZXItPnNob3dDb250ZXh0TWVu
dShldmVudCwgbWVudVByb3ZpZGVyLCBpbmNsdWRlRGVmYXVsdEl0ZW1zKTsKICAgICBtX21lbnVQ
cm92aWRlciA9IG1lbnVQcm92aWRlci5nZXQoKTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCmluZGV4IGRlY2ZlOWEuLjEx
NzJkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2F2ZUFzKGNvbnN0
IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CiAKICAgICAvLyBDYWxs
ZWQgZnJvbSBbQ3VzdG9tXSBpbXBsZW1lbnRhdGlvbnMuCi0gICAgdm9pZCBzaG93Q29udGV4dE1l
bnUoRXZlbnQqLCBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtKj4mIGl0ZW1zKTsKKyAgICB2
b2lkIHNob3dDb250ZXh0TWVudShFdmVudCosIGNvbnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0q
PiYgaXRlbXMsIGJvb2wgaW5jbHVkZURlZmF1bHRJdGVtcyk7CiAgICAgdm9pZCBzZW5kTWVzc2Fn
ZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCBl
OTg5ZTkzLi4xNTI3NzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmlkbApAQCAtNTUsNyArNTUsNyBAQCBtb2R1bGUgY29yZSB7CiAK
ICAgICAgICAgW0N1c3RvbV0gRE9NU3RyaW5nIHBsYXRmb3JtKCk7CiAgICAgICAgIFtDdXN0b21d
IERPTVN0cmluZyBwb3J0KCk7Ci0gICAgICAgIFtDdXN0b21dIHZvaWQgc2hvd0NvbnRleHRNZW51
KGluIE1vdXNlRXZlbnQgZXZlbnQsIGluIERPTU9iamVjdCBpdGVtcyk7CisgICAgICAgIFtDdXN0
b21dIHZvaWQgc2hvd0NvbnRleHRNZW51KGluIE1vdXNlRXZlbnQgZXZlbnQsIGluIERPTU9iamVj
dCBpdGVtcywgaW4gYm9vbGVhbiBpbmNsdWRlRGVmYXVsdEl0ZW1zKTsKICAgICAgICAgdm9pZCBz
ZW5kTWVzc2FnZVRvQmFja2VuZChpbiBET01TdHJpbmcgbWVzc2FnZSk7CiAKICAgICAgICAgW0N1
c3RvbV0gdm9pZCByZWNvcmRBY3Rpb25UYWtlbihpbiB1bnNpZ25lZCBsb25nIGFjdGlvbkNvZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZXh0
TWVudS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGV4dE1lbnUu
anMKaW5kZXggOTBlMjI1Yy4uZTBhNTJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db250ZXh0TWVudS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnRleHRNZW51LmpzCkBAIC0zNCw2ICszNCw3IEBACiBXZWJJbnNw
ZWN0b3IuQ29udGV4dE1lbnUgPSBmdW5jdGlvbigpIHsKICAgICB0aGlzLl9pdGVtcyA9IFtdOwog
ICAgIHRoaXMuX2hhbmRsZXJzID0ge307CisgICAgdGhpcy5faW5jbHVkZURlZmF1bHRJdGVtcyA9
IGZhbHNlOwogfQogCiBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUucHJvdG90eXBlID0gewpAQCAt
NDUsNyArNDYsNyBAQCBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGlmICh0aGlzLl9pdGVtcy5sZW5ndGgpIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5fY29udGV4dE1lbnUgPSB0aGlzOwotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LnNob3dDb250ZXh0TWVudShldmVudCwgdGhpcy5faXRlbXMpOworICAgICAgICAgICAgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LnNob3dDb250ZXh0TWVudShldmVudCwgdGhpcy5faXRlbXMsIHRoaXMu
X2luY2x1ZGVEZWZhdWx0SXRlbXMpOwogICAgICAgICB9CiAgICAgICAgIGV2ZW50LnN0b3BQcm9w
YWdhdGlvbigpOwogICAgIH0sCkBAIC04MCw2ICs4MSwxNiBAQCBXZWJJbnNwZWN0b3IuQ29udGV4
dE1lbnUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9pdGVtcy5wdXNoKHt0eXBlOiAic2Vw
YXJhdG9yIn0pOwogICAgIH0sCiAKKyAgICBnZXQgaW5jbHVkZURlZmF1bHRJdGVtcygpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5faW5jbHVkZURlZmF1bHRJdGVtczsKKyAgICB9LAorCisg
ICAgc2V0IGluY2x1ZGVEZWZhdWx0SXRlbXModmFsdWUpCisgICAgeworICAgICAgICB0aGlzLl9p
bmNsdWRlRGVmYXVsdEl0ZW1zID0gISF2YWx1ZTsKKyAgICB9LAorCiAgICAgX2l0ZW1TZWxlY3Rl
ZDogZnVuY3Rpb24oaWQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5faGFuZGxlcnNbaWRdKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFu
ZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5q
cwppbmRleCAxYmEyNzFjLi4yYjM5OTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMTI5MCw2ICsxMjkwLDExIEBAIFdl
Ykluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlRm9yU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9
IHsKICAgICB7CiAgICAgICAgIHZhciBuYW1lcyA9IHRoaXMuX3NjcmlwdHNQYW5lbC5fZm9sZGVy
QW5kRGlzcGxheU5hbWVGb3JTY3JpcHRVUkwodGhpcy5fdWlTb3VyY2VDb2RlLnVybCk7CiAgICAg
ICAgIHJldHVybiBuYW1lcy5kaXNwbGF5TmFtZSB8fCAidW50aXRsZWQuanMiOworICAgIH0sCisK
KyAgICBhZGRUb1dhdGNoOiBmdW5jdGlvbihleHByZXNzaW9uKQorICAgIHsKKyAgICAgICAgdGhp
cy5fc2NyaXB0c1BhbmVsLnNpZGViYXJQYW5lcy53YXRjaEV4cHJlc3Npb25zLmFkZEV4cHJlc3Np
b24oZXhwcmVzc2lvbik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvZnRDb250ZXh0TWVudS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU29mdENvbnRleHRNZW51LmpzCmluZGV4IDU2MDljN2UuLmQ4YjYx
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU29mdENv
bnRleHRNZW51LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU29m
dENvbnRleHRNZW51LmpzCkBAIC0yMjMsNyArMjIzLDcgQEAgV2ViSW5zcGVjdG9yLlNvZnRDb250
ZXh0TWVudS5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
c2hvd0NvbnRleHRNZW51ID0gZnVuY3Rpb24oZXZlbnQsIGl0ZW1zKQorSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LnNob3dDb250ZXh0TWVudSA9IGZ1bmN0aW9uKGV2ZW50LCBpdGVtcywgaW5jbHVkZURl
ZmF1bHRJdGVtcykKIHsKICAgICBuZXcgV2ViSW5zcGVjdG9yLlNvZnRDb250ZXh0TWVudShpdGVt
cykuc2hvdyhldmVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VGcmFtZS5qcwppbmRleCA3OTYwOGVhLi45Y2UwN2E0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTY1Miw2
ICs2NTIsMTQgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgfSwKIAorICAgIHBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGNv
bnRleHRNZW51KQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9kZWxlZ2F0ZS5kZWJ1Z2dlclBh
dXNlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2lu
ZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYklu
c3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3IudXNlTG93ZXJDYXNlTWVudVRpdGxlcygpID8g
IkFkZCB0byB3YXRjaCIgOiAiQWRkIHRvIFdhdGNoIiksIHRoaXMuX2RlbGVnYXRlLmFkZFRvV2F0
Y2guYmluZCh0aGlzLl9kZWxlZ2F0ZSwgc2VsZWN0aW9uLnRvU3RyaW5nKCkpKTsKKyAgICB9LAor
CiAgICAgc3VnZ2VzdGVkRmlsZU5hbWU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLl9kZWxlZ2F0ZS5zdWdnZXN0ZWRGaWxlTmFtZSgpOwpAQCAtOTUzLDYgKzk2MSwxMSBA
QCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlRm9yU291cmNlRnJhbWUucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9zb3VyY2VGcmFtZS5wb3B1bGF0ZVRleHRBcmVhQ29udGV4dE1l
bnUoY29udGV4dE1lbnUpOwogICAgIH0sCiAKKyAgICBwb3B1bGF0ZVNlbGVjdGlvbkNvbnRleHRN
ZW51OiBmdW5jdGlvbihjb250ZXh0TWVudSkKKyAgICB7CisgICAgICAgIHRoaXMuX3NvdXJjZUZy
YW1lLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnUoY29udGV4dE1lbnUpOworICAgIH0sCisK
ICAgICBzdWdnZXN0ZWRGaWxlTmFtZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJu
IHRoaXMuX3NvdXJjZUZyYW1lLnN1Z2dlc3RlZEZpbGVOYW1lKCk7CkBAIC05OTYsNyArMTAwOSw5
IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlLnByb3RvdHlwZSA9IHsKIAogICAg
IHJlbGVhc2VFdmFsdWF0aW9uUmVzdWx0OiBmdW5jdGlvbigpIHsgfSwKIAotICAgIHN1Z2dlc3Rl
ZEZpbGVOYW1lOiBmdW5jdGlvbigpIHsgfQorICAgIHN1Z2dlc3RlZEZpbGVOYW1lOiBmdW5jdGlv
bigpIHsgfSwKKworICAgIGFkZFRvV2F0Y2g6IGZ1bmN0aW9uKCkgeyB9CiB9CiAKIC8qKgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzCmluZGV4
IDMyNWU2MzguLmFmZTU5NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGV4dFZpZXdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RleHRWaWV3ZXIuanMKQEAgLTI5NCw5ICsyOTQsMTIgQEAgV2ViSW5zcGVjdG9yLlRl
eHRWaWV3ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fZGVsZWdhdGUucG9wdWxh
dGVMaW5lR3V0dGVyQ29udGV4dE1lbnUodGFyZ2V0LmxpbmVOdW1iZXIsIGNvbnRleHRNZW51KTsK
ICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICB2YXIgc2VsZWN0aW9uID0gdGhpcy5fbWFpblBh
bmVsLl9nZXRTZWxlY3Rpb24oKTsKLSAgICAgICAgICAgIGlmIChzZWxlY3Rpb24gJiYgIXNlbGVj
dGlvbi5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBTaG93IGRlZmF1bHQg
Y29udGV4dCBtZW51IGZvciBzZWxlY3Rpb24uCi0gICAgICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5w
b3B1bGF0ZVRleHRBcmVhQ29udGV4dE1lbnUoY29udGV4dE1lbnUpOworICAgICAgICAgICAgaWYg
KHNlbGVjdGlvbiAmJiAhc2VsZWN0aW9uLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIHRo
aXMuX2RlbGVnYXRlLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnUoY29udGV4dE1lbnUpOwor
ICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmluY2x1ZGVEZWZhdWx0SXRlbXMgPSB0cnVlOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRoaXMuX2Rl
bGVnYXRlLnBvcHVsYXRlVGV4dEFyZWFDb250ZXh0TWVudShjb250ZXh0TWVudSk7CiAgICAgICAg
IH0KIAogICAgICAgICB2YXIgZmlsZU5hbWUgPSB0aGlzLl9kZWxlZ2F0ZS5zdWdnZXN0ZWRGaWxl
TmFtZSgpOwpAQCAtMzQ5LDYgKzM1Miw4IEBAIFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdh
dGUucHJvdG90eXBlID0gewogCiAgICAgcG9wdWxhdGVUZXh0QXJlYUNvbnRleHRNZW51OiBmdW5j
dGlvbihjb250ZXh0TWVudSkgeyB9LAogCisgICAgcG9wdWxhdGVTZWxlY3Rpb25Db250ZXh0TWVu
dTogZnVuY3Rpb24oY29udGV4dE1lbnUpIHsgfSwKKwogICAgIHN1Z2dlc3RlZEZpbGVOYW1lOiBm
dW5jdGlvbigpIHsgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCmluZGV4
IGUwM2UwNGEuLjA5OWUzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzCkBA
IC04NCw2ICs4NCwxMiBAQCBXZWJJbnNwZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5l
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcmVmcmVzaEV4cHJlc3Npb25zSWZOZWVkZWQo
KTsKICAgICB9LAogCisgICAgYWRkRXhwcmVzc2lvbjogZnVuY3Rpb24oZXhwcmVzc2lvbikKKyAg
ICB7CisgICAgICAgIHRoaXMuc2VjdGlvbi5hZGRFeHByZXNzaW9uKGV4cHJlc3Npb24pOworICAg
ICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTsKKyAgICB9LAorCiAgICAgX3JlZnJlc2hFeHByZXNz
aW9uc0lmTmVlZGVkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fcmVxdWly
ZXNVcGRhdGUgJiYgdGhpcy5fdmlzaWJsZSkgewpAQCAtOTcsNyArMTAzLDcgQEAgV2ViSW5zcGVj
dG9yLldhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAg
ICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRy
dWU7Ci0gICAgICAgIHRoaXMuc2VjdGlvbi5hZGRFeHByZXNzaW9uKCk7CisgICAgICAgIHRoaXMu
c2VjdGlvbi5hZGROZXdFeHByZXNzaW9uQW5kRWRpdCgpOwogICAgIH0sCiAKICAgICBfcmVmcmVz
aEJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMjE2LDcgKzIyMiwxMyBAQCBXZWJJ
bnNwZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICB0
aGlzLmV4cGFuZGVkID0gKHByb3BlcnR5Q291bnQgIT0gMCk7CiAgICAgfSwKIAotICAgIGFkZEV4
cHJlc3Npb246IGZ1bmN0aW9uKCkKKyAgICBhZGRFeHByZXNzaW9uOiBmdW5jdGlvbihleHByZXNz
aW9uKQorICAgIHsKKyAgICAgICAgdGhpcy53YXRjaEV4cHJlc3Npb25zLnB1c2goZXhwcmVzc2lv
bik7CisgICAgICAgIHRoaXMudXBkYXRlKCk7CisgICAgfSwKKworICAgIGFkZE5ld0V4cHJlc3Np
b25BbmRFZGl0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9uZXdFeHByZXNzaW9u
QWRkZWQgPSB0cnVlOwogICAgICAgICB0aGlzLndhdGNoRXhwcmVzc2lvbnMucHVzaChXZWJJbnNw
ZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NlY3Rpb24uTmV3V2F0Y2hFeHByZXNzaW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCBiZmRjN2Jl
Li5kMWQ2M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6Omhh
bmRsZUNvbnRleHRNZW51RXZlbnQoRXZlbnQqIGV2ZW50KQogICAgIHNob3dDb250ZXh0TWVudShl
dmVudCk7CiB9CiAKLXZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUo
RXZlbnQqIGV2ZW50LCBQYXNzUmVmUHRyPENvbnRleHRNZW51UHJvdmlkZXI+IG1lbnVQcm92aWRl
cikKK3ZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQqIGV2
ZW50LCBQYXNzUmVmUHRyPENvbnRleHRNZW51UHJvdmlkZXI+IG1lbnVQcm92aWRlciwgYm9vbCBp
bmNsdWRlRGVmYXVsdEl0ZW1zKQogewogICAgIG1fbWVudVByb3ZpZGVyID0gbWVudVByb3ZpZGVy
OwogCkBAIC0xMTYsNyArMTE2LDExIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93
Q29udGV4dE1lbnUoRXZlbnQqIGV2ZW50LCBQYXNzUmVmUHRyPENvbnRleHRNZW51CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoaW5jbHVkZURlZmF1bHRJdGVtcykKKyAgICAgICAg
cG9wdWxhdGUoKTsKKyAgICBtX2NvbnRleHRNZW51LT5zZXRBbHdheXNJbmNsdWRlRGVmYXVsdEl0
ZW1zKGluY2x1ZGVEZWZhdWx0SXRlbXMpOwogICAgIG1fbWVudVByb3ZpZGVyLT5wb3B1bGF0ZUNv
bnRleHRNZW51KG1fY29udGV4dE1lbnUuZ2V0KCkpOworCiAgICAgc2hvd0NvbnRleHRNZW51KGV2
ZW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgK
aW5kZXggZTZhMGEwMC4uZGYyM2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5oCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCBjbGVhckNvbnRleHRNZW51KCk7CiAKICAgICAgICAgdm9pZCBoYW5kbGVDb250
ZXh0TWVudUV2ZW50KEV2ZW50Kik7Ci0gICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KEV2ZW50
KiwgUGFzc1JlZlB0cjxDb250ZXh0TWVudVByb3ZpZGVyPik7CisgICAgICAgIHZvaWQgc2hvd0Nv
bnRleHRNZW51KEV2ZW50KiwgUGFzc1JlZlB0cjxDb250ZXh0TWVudVByb3ZpZGVyPiwgYm9vbCBp
bmNsdWRlRGVmYXVsdEl0ZW1zKTsKIAogICAgICAgICB2b2lkIHBvcHVsYXRlKCk7CiAgICAgICAg
IHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAKaW5kZXggYTUxZDgxOC4uNTliZTYxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmNwcApAQCAtMzEsNiArMzEsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBDb250ZXh0TWVudTo6Q29udGV4dE1lbnUoKQorICAgIDog
bV9hbHdheXNJbmNsdWRlRGVmYXVsdEl0ZW1zKGZhbHNlKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCAyOTc3NzQ5Li44ZTQwYTIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51LmgKQEAgLTQ3LDYgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBDb250ZXh0TWVudSgpOwogCiAgICAgICAgIENvbnRleHRNZW51SXRlbSog
aXRlbVdpdGhBY3Rpb24odW5zaWduZWQpOworICAgICAgICBib29sIGFsd2F5c0luY2x1ZGVEZWZh
dWx0SXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXM7IH0K
KyAgICAgICAgdm9pZCBzZXRBbHdheXNJbmNsdWRlRGVmYXVsdEl0ZW1zKGJvb2wgZmxhZykgeyBt
X2Fsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXMgPSBmbGFnOyB9CiAKICNpZiBVU0UoQ1JPU1NfUExB
VEZPUk1fQ09OVEVYVF9NRU5VUykKICNpZiBQTEFURk9STShXSU4pCkBAIC05MSw2ICs5Myw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZiAvLyBVU0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVY
VF9NRU5VUykKIAogICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgbV9hbHdheXNJbmNsdWRlRGVm
YXVsdEl0ZW1zOworCiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCiAgICAg
ICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IG1faXRlbXM7CiAjZWxzZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ29udGV4dE1lbnVDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0TWVudUNocm9taXVtLmNw
cAppbmRleCA5YmRkZDI4Li44MzMwMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Db250ZXh0TWVudUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9Db250ZXh0TWVudUNocm9taXVtLmNwcApAQCAtMzcsMTAgKzM3
LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIG5vdGhpbmcuCiAKIENvbnRleHRNZW51OjpD
b250ZXh0TWVudSgpCisgICAgOiBtX2Fsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXMoZmFsc2UpCiB7
CiB9CiAKIENvbnRleHRNZW51OjpDb250ZXh0TWVudShjb25zdCBQbGF0Zm9ybU1lbnVEZXNjcmlw
dGlvbiBtZW51KQorICAgIDogbV9hbHdheXNJbmNsdWRlRGVmYXVsdEl0ZW1zKGZhbHNlKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvQ29udGV4dE1lbnVF
ZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0NvbnRleHRNZW51RWZsLmNwcApp
bmRleCA0NWQxNzU4Li5kZjdlOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lZmwvQ29udGV4dE1lbnVFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Vm
bC9Db250ZXh0TWVudUVmbC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAjaWYgVVNFKENST1NTX1BMQVRGT1JNX0NPTlRFWFRfTUVOVVMpCiBDb250ZXh0TWVudTo6
Q29udGV4dE1lbnUodm9pZCogbWVudSkKKyAgICA6IG1fYWx3YXlzSW5jbHVkZURlZmF1bHRJdGVt
cyhmYWxzZSkKIHsKICAgICBnZXRDb250ZXh0TWVudUl0ZW1zKG1lbnUsIG1faXRlbXMpOwogfQpA
QCAtNDksNiArNTAsNyBAQCB2b2lkKiBDb250ZXh0TWVudTo6bmF0aXZlTWVudSgpIGNvbnN0CiB9
CiAjZWxzZQogQ29udGV4dE1lbnU6OkNvbnRleHRNZW51KCkKKyAgICA6IG1fYWx3YXlzSW5jbHVk
ZURlZmF1bHRJdGVtcyhmYWxzZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51R3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0TWVudUd0ay5jcHAKaW5kZXggNmYxNjhm
ZS4uZTAyMDc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRl
eHRNZW51R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ29udGV4dE1l
bnVHdGsuY3BwCkBAIC0yNiwxMiArMjYsMTQgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ29u
dGV4dE1lbnU6OkNvbnRleHRNZW51KCkKKyAgICA6IG1fYWx3YXlzSW5jbHVkZURlZmF1bHRJdGVt
cyhmYWxzZSkKIHsKICAgICBtX3BsYXRmb3JtRGVzY3JpcHRpb24gPSBHVEtfTUVOVShndGtfbWVu
dV9uZXcoKSk7CiB9CiAKIENvbnRleHRNZW51OjpDb250ZXh0TWVudShjb25zdCBQbGF0Zm9ybU1l
bnVEZXNjcmlwdGlvbiBtZW51KQotICAgIDogbV9wbGF0Zm9ybURlc2NyaXB0aW9uKG1lbnUpCisg
ICAgOiBtX2Fsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXMoZmFsc2UpCisgICAgLCBtX3BsYXRmb3Jt
RGVzY3JpcHRpb24obWVudSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0NvbnRleHRNZW51TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L0NvbnRleHRNZW51TWFjLm1tCmluZGV4IGM5NDUxYjkuLjYwN2I4ZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Db250ZXh0TWVudU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ29udGV4dE1lbnVNYWMubW0KQEAgLTMxLDYgKzMxLDcgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ29udGV4dE1lbnU6OkNvbnRleHRNZW51KCkKKyAgICA6
IG1fYWx3YXlzSW5jbHVkZURlZmF1bHRJdGVtcyhmYWxzZSkKIHsKICAgICBOU011dGFibGVBcnJh
eSogYXJyYXkgPSBbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XTsKICAgICBtX3BsYXRmb3Jt
RGVzY3JpcHRpb24gPSBhcnJheTsKQEAgLTM4LDcgKzM5LDggQEAgQ29udGV4dE1lbnU6OkNvbnRl
eHRNZW51KCkKIH0KIAogQ29udGV4dE1lbnU6OkNvbnRleHRNZW51KGNvbnN0IFBsYXRmb3JtTWVu
dURlc2NyaXB0aW9uIG1lbnUpCi0gICAgOiBtX3BsYXRmb3JtRGVzY3JpcHRpb24obWVudSkKKyAg
ICA6IG1fYWx3YXlzSW5jbHVkZURlZmF1bHRJdGVtcyhmYWxzZSkKKyAgICAsIG1fcGxhdGZvcm1E
ZXNjcmlwdGlvbihtZW51KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9Db250ZXh0TWVudVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0Nv
bnRleHRNZW51UXQuY3BwCmluZGV4IDYxYWFiNmQuLjA4NGM0ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NvbnRleHRNZW51UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3F0L0NvbnRleHRNZW51UXQuY3BwCkBAIC0zNiwxMCArMzYsMTIgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogQ29udGV4dE1lbnU6OkNvbnRleHRNZW51KCkKKyAgICA6IG1f
YWx3YXlzSW5jbHVkZURlZmF1bHRJdGVtcyhmYWxzZSkKIHsKIH0KIAogQ29udGV4dE1lbnU6On5D
b250ZXh0TWVudSgpCisgICAgOiBtX2Fsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXMoZmFsc2UpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Db250ZXh0TWVu
dVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ29udGV4dE1lbnVXaW4uY3Bw
CmluZGV4IGRhZDBmMmUuLjI0Mzk3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9Db250ZXh0TWVudVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0NvbnRleHRNZW51V2luLmNwcApAQCAtNDUsNiArNDUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBDb250ZXh0TWVudTo6Q29udGV4dE1lbnUoSE1FTlUgbWVudSkKKyAgICA6IG1fYWx3
YXlzSW5jbHVkZURlZmF1bHRJdGVtcyhmYWxzZSkKIHsKICAgICBnZXRDb250ZXh0TWVudUl0ZW1z
KG1lbnUsIG1faXRlbXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d3gvQ29udGV4dE1lbnVXeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Db250ZXh0
TWVudVd4LmNwcAppbmRleCA3MzMyOWE5Li40YmMyZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93eC9Db250ZXh0TWVudVd4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93eC9Db250ZXh0TWVudVd4LmNwcApAQCAtNDMsNiArNDMsNyBAQCBDb250ZXh0TWVu
dUl0ZW0qIENvbnRleHRNZW51OjppdGVtV2l0aElkKGludCBpZCkKIH0KIAogQ29udGV4dE1lbnU6
OkNvbnRleHRNZW51KCkKKyAgICA6IG1fYWx3YXlzSW5jbHVkZURlZmF1bHRJdGVtcyhmYWxzZSkK
IHsKICAgICBtX3BsYXRmb3JtRGVzY3JpcHRpb24gPSBuZXcgd3hNZW51KChsb25nKTApOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiZWFjNmU2Li5iMDRiY2E0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEwLTEyICBBbmRyZXkgS29z
eWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRk
ICJBZGQgdG8gV2F0Y2giIG9wdGlvbiB0byBjb250ZXh0IG1lbnUgb24gc2VsZWN0aW9uIGluIHNv
dXJjZSBmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Njk5MjQKKworICAgICAgICAtIGFkZGVkIGFuIG9wdGlvbiB0byBpbmNsdWRlIGRlZmF1bHQg
aXRlbXMgdG8gY29udGV4dCBtZW51IGV2ZW4gaWYgY3VzdG9tIGl0ZW1zIGFyZSBwcmVzZW50CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMv
V2ViQ29udGV4dE1lbnVEYXRhLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51RGF0
YTo6V2ViQ29udGV4dE1lbnVEYXRhKToKKyAgICAgICAgKiBzcmMvQ29udGV4dE1lbnVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRJbXBsOjpnZXRDdXN0
b21NZW51RnJvbURlZmF1bHRJdGVtcyk6CisKIDIwMTEtMTAtMTEgIE1pa2UgUmVlZCAgPHJlZWRA
Z29vZ2xlLmNvbT4KIAogICAgICAgICByZS1hZGQgc3VwcG9ydCBmb3IgR0RJIHRleHQgYmVoaW5k
IGEgY29tcGlsZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJDb250ZXh0TWVudURhdGEuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkNvbnRleHRNZW51RGF0YS5oCmluZGV4IDE5MzdhYTYuLjdlYmRkYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbnRleHRNZW51RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbnRleHRNZW51RGF0YS5oCkBAIC0xNTgs
NiArMTU4LDkgQEAgc3RydWN0IFdlYkNvbnRleHRNZW51RGF0YSB7CiAgICAgLy8gQ3VzdG9tIGNv
bnRleHQgbWVudSBpdGVtcyBwcm92aWRlZCBieSB0aGUgV2ViQ29yZSBpbnRlcm5hbHMuCiAgICAg
V2ViVmVjdG9yPFdlYk1lbnVJdGVtSW5mbz4gY3VzdG9tSXRlbXM7CiAKKyAgICAvLyBTaG93IGRl
ZmF1bHQgaXRlbXMgZXZlbiB3aGVuIGN1c3RvbSBpdGVtcyBhcmUgcHJlc2VudC4KKyAgICBib29s
IGFsd2F5c0luY2x1ZGVEZWZhdWx0SXRlbXM7CisKICAgICAvLyBUaGUgbm9kZSB0aGF0IHdhcyBj
bGlja2VkLgogICAgIFdlYk5vZGUgbm9kZTsKIApAQCAtMTcxLDcgKzE3NCw4IEBAIHN0cnVjdCBX
ZWJDb250ZXh0TWVudURhdGEgewogICAgICAgICAsIHdyaXRpbmdEaXJlY3Rpb25EZWZhdWx0KENo
ZWNrYWJsZU1lbnVJdGVtRGlzYWJsZWQpCiAgICAgICAgICwgd3JpdGluZ0RpcmVjdGlvbkxlZnRU
b1JpZ2h0KENoZWNrYWJsZU1lbnVJdGVtRW5hYmxlZCkKICAgICAgICAgLCB3cml0aW5nRGlyZWN0
aW9uUmlnaHRUb0xlZnQoQ2hlY2thYmxlTWVudUl0ZW1FbmFibGVkKQotICAgICAgICAsIGVkaXRG
bGFncygwKSB7IH0KKyAgICAgICAgLCBlZGl0RmxhZ3MoMCkKKyAgICAgICAgLCBhbHdheXNJbmNs
dWRlRGVmYXVsdEl0ZW1zKGZhbHNlKSB7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1w
bC5jcHAKaW5kZXggZDE2MzMwNy4uNGYxNmMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwCkBAIC0zMDUsNiArMzA1LDcg
QEAgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29udGV4dE1lbnVDbGllbnRJbXBsOjpnZXRDdXN0
b21NZW51RnJvbURlZmF1bHRJdGVtcygKICAgICBpZiAoZHMpCiAgICAgICAgIGRhdGEuc2VjdXJp
dHlJbmZvID0gZHMtPnJlc3BvbnNlKCkuc2VjdXJpdHlJbmZvKCk7CiAKKyAgICBkYXRhLmFsd2F5
c0luY2x1ZGVEZWZhdWx0SXRlbXMgPSBkZWZhdWx0TWVudS0+YWx3YXlzSW5jbHVkZURlZmF1bHRJ
dGVtcygpOwogICAgIC8vIEZpbHRlciBvdXQgY3VzdG9tIG1lbnUgZWxlbWVudHMgYW5kIGFkZCB0
aGVtIGludG8gdGhlIGRhdGEuCiAgICAgcG9wdWxhdGVDdXN0b21NZW51SXRlbXMoZGVmYXVsdE1l
bnUsICZkYXRhKTsKIAo=
</data>
<flag name="review"
          id="108254"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111262</attachid>
            <date>2011-10-17 07:48:18 -0700</date>
            <delta_ts>2011-10-17 09:06:37 -0700</delta_ts>
            <desc>patch</desc>
            <filename>context-menu.diff</filename>
            <type>text/plain</type>
            <size>8349</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlOWQ0YTE0Li43NzFmNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTEtMTAtMTcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgIkFkZCB0byBXYXRjaCIgb3B0aW9uIHRvIGNvbnRl
eHQgbWVudSBvbiBzZWxlY3Rpb24gaW4gc291cmNlIGZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gYWRkZWQgJ0FkZCB0byBXYXRjaCcgY29udGV4
dCBtZW51IGl0ZW0gaW4gc2NyaXB0cyBwYW5lbDsKKyAgICAgICAgLSBpbmNsdWRlIGJvdGggZGVm
YXVsdCBhbmQgY3VzdG9tIGl0ZW1zIGludG8gYSBjb250ZXh0IG1lbnUgaWYgc2VsZWN0aW9uIGlz
IHByZXNlbnQ7CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlRm9yU2NyaXB0c1Bh
bmVsLnByb3RvdHlwZS5zdWdnZXN0ZWRGaWxlTmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U291cmNlRnJhbWVEZWxlZ2F0ZUZvclNjcmlwdHNQYW5lbC5wcm90b3R5cGUuYWRkVG9XYXRjaCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUucG9wdWxhdGVTZWxlY3Rpb25Db250
ZXh0TWVudSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlRm9yU291
cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lRGVsZWdhdGUucHJvdG90eXBlLnN1Z2dlc3RlZEZp
bGVOYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURlbGVnYXRlLnByb3Rv
dHlwZS5hZGRUb1dhdGNoKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3
ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUuX2NvbnRl
eHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdhdGUucHJvdG90
eXBlLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5wcm90b3R5cGUuYWRkRXhwcmVzc2lv
bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLnBy
b3RvdHlwZS5fYWRkQnV0dG9uQ2xpY2tlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV2F0Y2hF
eHByZXNzaW9uc1NlY3Rpb24ucHJvdG90eXBlLmFkZEV4cHJlc3Npb24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnByb3RvdHlwZS5hZGROZXdFeHByZXNz
aW9uQW5kRWRpdCk6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUp
OgorCiAyMDExLTEwLTE3ICBBbmRyZWkgTGF2cmVuaXl1ayAgPGFuZHkubGF2ckBnbWFpbC5jb20+
CiAKICAgICAgICAgRml4IGNsYW5nIFdlYktpdEdUSysgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggOGUzMWIzYmQyNTBm
OTZkN2M4Y2JlNzAwNWY0N2M1YWNjZGMxY2JhOS4uOWVjN2M3NmUyYTA5ZGQwMDZjMTBjZTVjMDgx
NDg3NzUzNWVlMzNhMiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA5OAp6Y21aM3shMUFT
JHJDfCFBI15lWWQpeWVOQUlRVUIjQCk7QnUhV2p9N04qSXpFR0E0aEo3RztOdVAxWH1QNi17QUMK
VjBtPyV9JTheeHhxS1BwbUY8M0tqMFJSeD03Yl5lJgoKZGVsdGEgMTAKUmNtZXk7JGctaz1yQ3wh
QTFeXmsmMUxGVnkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2NyaXB0c1BhbmVsLmpzCmluZGV4IGU5NGViYTEuLjYyYmRiNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0xMjkyLDYg
KzEyOTIsMTEgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lRGVsZWdhdGVGb3JTY3JpcHRzUGFu
ZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIG5hbWVzID0gdGhpcy5fc2NyaXB0
c1BhbmVsLl9mb2xkZXJBbmREaXNwbGF5TmFtZUZvclNjcmlwdFVSTCh0aGlzLl91aVNvdXJjZUNv
ZGUudXJsKTsKICAgICAgICAgcmV0dXJuIG5hbWVzLmRpc3BsYXlOYW1lIHx8ICJ1bnRpdGxlZC5q
cyI7CisgICAgfSwKKworICAgIGFkZFRvV2F0Y2g6IGZ1bmN0aW9uKGV4cHJlc3Npb24pCisgICAg
eworICAgICAgICB0aGlzLl9zY3JpcHRzUGFuZWwuc2lkZWJhclBhbmVzLndhdGNoRXhwcmVzc2lv
bnMuYWRkRXhwcmVzc2lvbihleHByZXNzaW9uKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IDc5NjA4ZWEu
LmY3NmZhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VGcmFtZS5qcwpAQCAtNjUyLDYgKzY1MiwxNCBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJh
bWUucHJvdG90eXBlID0gewogICAgIHsKICAgICB9LAogCisgICAgcG9wdWxhdGVTZWxlY3Rpb25D
b250ZXh0TWVudTogZnVuY3Rpb24oY29udGV4dE1lbnUpCisgICAgeworICAgICAgICBpZiAoIXRo
aXMuX2RlbGVnYXRlLmRlYnVnZ2luZ1N1cHBvcnRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBj
b250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3Iu
dXNlTG93ZXJDYXNlTWVudVRpdGxlcygpID8gIkFkZCB0byB3YXRjaCIgOiAiQWRkIHRvIFdhdGNo
IiksIHRoaXMuX2RlbGVnYXRlLmFkZFRvV2F0Y2guYmluZCh0aGlzLl9kZWxlZ2F0ZSwgc2VsZWN0
aW9uLnRvU3RyaW5nKCkpKTsKKyAgICB9LAorCiAgICAgc3VnZ2VzdGVkRmlsZU5hbWU6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zdWdnZXN0ZWRGaWxl
TmFtZSgpOwpAQCAtOTUzLDYgKzk2MSwxMSBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVn
YXRlRm9yU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zb3VyY2VGcmFt
ZS5wb3B1bGF0ZVRleHRBcmVhQ29udGV4dE1lbnUoY29udGV4dE1lbnUpOwogICAgIH0sCiAKKyAg
ICBwb3B1bGF0ZVNlbGVjdGlvbkNvbnRleHRNZW51OiBmdW5jdGlvbihjb250ZXh0TWVudSkKKyAg
ICB7CisgICAgICAgIHRoaXMuX3NvdXJjZUZyYW1lLnBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1l
bnUoY29udGV4dE1lbnUpOworICAgIH0sCisKICAgICBzdWdnZXN0ZWRGaWxlTmFtZTogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUZyYW1lLnN1Z2dlc3RlZEZp
bGVOYW1lKCk7CkBAIC05OTYsNyArMTAwOSw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZURl
bGVnYXRlLnByb3RvdHlwZSA9IHsKIAogICAgIHJlbGVhc2VFdmFsdWF0aW9uUmVzdWx0OiBmdW5j
dGlvbigpIHsgfSwKIAotICAgIHN1Z2dlc3RlZEZpbGVOYW1lOiBmdW5jdGlvbigpIHsgfQorICAg
IHN1Z2dlc3RlZEZpbGVOYW1lOiBmdW5jdGlvbigpIHsgfSwKKworICAgIGFkZFRvV2F0Y2g6IGZ1
bmN0aW9uKCkgeyB9CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UZXh0Vmlld2VyLmpzCmluZGV4IDMyNWU2MzguLmYzYjg1NGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKQEAgLTI5NSw4
ICsyOTUsOSBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHRoaXMuX21haW5QYW5lbC5fZ2V0
U2VsZWN0aW9uKCk7CiAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uICYmICFzZWxlY3Rpb24uaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIHJldHVybjsgLy8gU2hvdyBkZWZhdWx0IGNvbnRleHQg
bWVudSBmb3Igc2VsZWN0aW9uLgotICAgICAgICAgICAgdGhpcy5fZGVsZWdhdGUucG9wdWxhdGVU
ZXh0QXJlYUNvbnRleHRNZW51KGNvbnRleHRNZW51KTsKKyAgICAgICAgICAgICAgICB0aGlzLl9k
ZWxlZ2F0ZS5wb3B1bGF0ZVNlbGVjdGlvbkNvbnRleHRNZW51KGNvbnRleHRNZW51KTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5wb3B1bGF0ZVRleHRB
cmVhQ29udGV4dE1lbnUoY29udGV4dE1lbnUpOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIGZp
bGVOYW1lID0gdGhpcy5fZGVsZWdhdGUuc3VnZ2VzdGVkRmlsZU5hbWUoKTsKQEAgLTM0OSw2ICsz
NTAsOCBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlLnByb3RvdHlwZSA9IHsKIAog
ICAgIHBvcHVsYXRlVGV4dEFyZWFDb250ZXh0TWVudTogZnVuY3Rpb24oY29udGV4dE1lbnUpIHsg
fSwKIAorICAgIHBvcHVsYXRlU2VsZWN0aW9uQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGNvbnRleHRN
ZW51KSB7IH0sCisKICAgICBzdWdnZXN0ZWRGaWxlTmFtZTogZnVuY3Rpb24oKSB7IH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XYXRjaEV4cHJl
c3Npb25zU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcwppbmRleCBlMDNlMDRhLi4wOTllM2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVz
c2lvbnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcwpAQCAtODQsNiArODQsMTIgQEAgV2Vi
SW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuX3JlZnJlc2hFeHByZXNzaW9uc0lmTmVlZGVkKCk7CiAgICAgfSwKIAorICAgIGFk
ZEV4cHJlc3Npb246IGZ1bmN0aW9uKGV4cHJlc3Npb24pCisgICAgeworICAgICAgICB0aGlzLnNl
Y3Rpb24uYWRkRXhwcmVzc2lvbihleHByZXNzaW9uKTsKKyAgICAgICAgdGhpcy5leHBhbmRlZCA9
IHRydWU7CisgICAgfSwKKwogICAgIF9yZWZyZXNoRXhwcmVzc2lvbnNJZk5lZWRlZDogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3JlcXVpcmVzVXBkYXRlICYmIHRoaXMuX3Zp
c2libGUpIHsKQEAgLTk3LDcgKzEwMyw3IEBAIFdlYkluc3BlY3Rvci5XYXRjaEV4cHJlc3Npb25z
U2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgZXZlbnQuc3RvcFByb3Bh
Z2F0aW9uKCk7CiAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlOwotICAgICAgICB0aGlzLnNl
Y3Rpb24uYWRkRXhwcmVzc2lvbigpOworICAgICAgICB0aGlzLnNlY3Rpb24uYWRkTmV3RXhwcmVz
c2lvbkFuZEVkaXQoKTsKICAgICB9LAogCiAgICAgX3JlZnJlc2hCdXR0b25DbGlja2VkOiBmdW5j
dGlvbihldmVudCkKQEAgLTIxNiw3ICsyMjIsMTMgQEAgV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVz
c2lvbnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5leHBhbmRlZCA9IChwcm9w
ZXJ0eUNvdW50ICE9IDApOwogICAgIH0sCiAKLSAgICBhZGRFeHByZXNzaW9uOiBmdW5jdGlvbigp
CisgICAgYWRkRXhwcmVzc2lvbjogZnVuY3Rpb24oZXhwcmVzc2lvbikKKyAgICB7CisgICAgICAg
IHRoaXMud2F0Y2hFeHByZXNzaW9ucy5wdXNoKGV4cHJlc3Npb24pOworICAgICAgICB0aGlzLnVw
ZGF0ZSgpOworICAgIH0sCisKKyAgICBhZGROZXdFeHByZXNzaW9uQW5kRWRpdDogZnVuY3Rpb24o
KQogICAgIHsKICAgICAgICAgdGhpcy5fbmV3RXhwcmVzc2lvbkFkZGVkID0gdHJ1ZTsKICAgICAg
ICAgdGhpcy53YXRjaEV4cHJlc3Npb25zLnB1c2goV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lv
bnNTZWN0aW9uLk5ld1dhdGNoRXhwcmVzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggYmZkYzdiZS4uOTQwNmE2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTA2LDYgKzEw
NiwxMSBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6aGFuZGxlQ29udGV4dE1lbnVFdmVu
dChFdmVudCogZXZlbnQpCiAgICAgc2hvd0NvbnRleHRNZW51KGV2ZW50KTsKIH0KIAorc3RhdGlj
IFBhc3NPd25QdHI8Q29udGV4dE1lbnVJdGVtPiBzZXBhcmF0b3JJdGVtKCkKK3sKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IENvbnRleHRNZW51SXRlbShTZXBhcmF0b3JUeXBlLCBDb250ZXh0TWVu
dUl0ZW1UYWdOb0FjdGlvbiwgU3RyaW5nKCkpKTsKK30KKwogdm9pZCBDb250ZXh0TWVudUNvbnRy
b2xsZXI6OnNob3dDb250ZXh0TWVudShFdmVudCogZXZlbnQsIFBhc3NSZWZQdHI8Q29udGV4dE1l
bnVQcm92aWRlcj4gbWVudVByb3ZpZGVyKQogewogICAgIG1fbWVudVByb3ZpZGVyID0gbWVudVBy
b3ZpZGVyOwpAQCAtMTE3LDYgKzEyMiwxMCBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6
c2hvd0NvbnRleHRNZW51KEV2ZW50KiBldmVudCwgUGFzc1JlZlB0cjxDb250ZXh0TWVudQogICAg
IH0KIAogICAgIG1fbWVudVByb3ZpZGVyLT5wb3B1bGF0ZUNvbnRleHRNZW51KG1fY29udGV4dE1l
bnUuZ2V0KCkpOworICAgIGlmIChtX2hpdFRlc3RSZXN1bHQuaXNTZWxlY3RlZCgpKSB7CisgICAg
ICAgIGFwcGVuZEl0ZW0oKnNlcGFyYXRvckl0ZW0oKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7Cisg
ICAgICAgIHBvcHVsYXRlKCk7CisgICAgfQogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9
CiAKQEAgLTQyOSwxMSArNDM4LDYgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmFwcGVu
ZEl0ZW0oQ29udGV4dE1lbnVJdGVtJiBtZW51SXRlbSwgQ29udGV4dE1lbnUqIHAKICAgICAgICAg
cGFyZW50TWVudS0+YXBwZW5kSXRlbShtZW51SXRlbSk7CiB9CiAKLXN0YXRpYyBQYXNzT3duUHRy
PENvbnRleHRNZW51SXRlbT4gc2VwYXJhdG9ySXRlbSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBDb250ZXh0TWVudUl0ZW0oU2VwYXJhdG9yVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnTm9B
Y3Rpb24sIFN0cmluZygpKSk7Ci19Ci0KIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjcmVh
dGVBbmRBcHBlbmRGb250U3ViTWVudShDb250ZXh0TWVudUl0ZW0mIGZvbnRNZW51SXRlbSkKIHsK
ICAgICBDb250ZXh0TWVudSBmb250TWVudTsK
</data>
<flag name="review"
          id="109044"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="109045"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>