<?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>108509</bug_id>
          
          <creation_ts>2013-01-31 12:18:59 -0800</creation_ts>
          <short_desc>[Chromium] Select multi-word misspelling on context click</short_desc>
          <delta_ts>2013-01-31 18:06:57 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106815</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Rouslan Solomakhin">rouslan+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>groby</cc>
    
    <cc>jochen</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>rouslan+webkit</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>821818</commentid>
    <comment_count>0</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 12:18:59 -0800</bug_when>
    <thetext>Spell check should select multi-word misspellings on context click. To test manually, enable &apos;Ask Google for Suggestions&apos; in Chrome, type &apos;It should be upper case.&apos;, and context-click on the word &apos;upper&apos;. The test succeeds when &apos;upper case&apos; was selected after context click.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821898</commentid>
    <comment_count>1</comment_count>
      <attachid>185850</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 13:38:42 -0800</bug_when>
    <thetext>Created attachment 185850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822007</commentid>
    <comment_count>2</comment_count>
      <attachid>185850</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-31 15:10:02 -0800</bug_when>
    <thetext>Comment on attachment 185850
Patch

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

As a follow up, it would be nice if we moved the spellchecking code into a helper function out of getCustomMenuFromDefaultItems() since that function is &gt; 200 lines.

&gt; Source/WebKit/chromium/src/ContextMenuClientImpl.cpp:295
&gt; +                    if (markerRange-&gt;startOffset() == selectionRange-&gt;startOffset() &amp;&amp; markerRange-&gt;endOffset() == selectionRange-&gt;endOffset()) {

Could you use WebCore::areRangesEqual() here instead of comparing start and end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822065</commentid>
    <comment_count>3</comment_count>
      <attachid>185884</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:01:36 -0800</bug_when>
    <thetext>Created attachment 185884
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822069</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 16:03:58 -0800</bug_when>
    <thetext>Attachment 185884 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/editing/spelling/spelling-exactly-selected-multiple-words-expected.txt&apos;, u&apos;LayoutTests/editing/spelling/spelling-exactly-selected-multiple-words.html&apos;, u&apos;LayoutTests/editing/spelling/spelling-should-select-multiple-words-expected.txt&apos;, u&apos;LayoutTests/editing/spelling/spelling-should-select-multiple-words.html&apos;, u&apos;LayoutTests/platform/chromium/TestExpectations&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Source/WebKit/chromium/src/ContextMenuClientImpl.cpp&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp&apos;]&quot; exit_code: 1
Source/WebKit/chromium/src/ContextMenuClientImpl.cpp:150:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Tools/DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:40:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822073</commentid>
    <comment_count>5</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:04:48 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 185850 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185850&amp;action=review
&gt; 
&gt; As a follow up, it would be nice if we moved the spellchecking code into a helper function out of getCustomMenuFromDefaultItems() since that function is &gt; 200 lines.

Moved the async part of the spellchecking code into &quot;selectMisspellingAsync()&quot;, which is symmetric to the synchronous version &quot;selectMisspelledWord()&quot;. Do we need more refactorings here?

&gt; &gt; Source/WebKit/chromium/src/ContextMenuClientImpl.cpp:295
&gt; &gt; +                    if (markerRange-&gt;startOffset() == selectionRange-&gt;startOffset() &amp;&amp; markerRange-&gt;endOffset() == selectionRange-&gt;endOffset()) {
&gt; 
&gt; Could you use WebCore::areRangesEqual() here instead of comparing start and end?


Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822077</commentid>
    <comment_count>6</comment_count>
      <attachid>185887</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:06:04 -0800</bug_when>
    <thetext>Created attachment 185887
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822078</commentid>
    <comment_count>7</comment_count>
      <attachid>185887</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:07:05 -0800</bug_when>
    <thetext>Comment on attachment 185887
Patch for landing

Fixed style errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822102</commentid>
    <comment_count>8</comment_count>
      <attachid>185887</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-31 16:35:49 -0800</bug_when>
    <thetext>Comment on attachment 185887
Patch for landing

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

I had suggested moving in a follow up change because now the diff doesn&apos;t show your changes.  Anyway, this is OK too.

&gt; Source/WebKit/chromium/src/ContextMenuClientImpl.cpp:149
&gt; +// Helper function to get misspelling on which context menu is to be invoked
&gt; +// for asynchronous spellcheck. This function changes the selection only when
&gt; +// there were no selected characters.

Remove this comment.

&gt; Tools/DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:120
&gt; +    if (word == WebString::fromUTF8(&quot;wellcome&quot;))
&gt; +        append(suggestions, WebString::fromUTF8(&quot;welcome&quot;));

Why do we copy and swap?  Why can&apos;t we append to |suggestions| directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822116</commentid>
    <comment_count>9</comment_count>
      <attachid>185896</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:44:35 -0800</bug_when>
    <thetext>Created attachment 185896
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822119</commentid>
    <comment_count>10</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:45:45 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 185887 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=185887&amp;action=review
&gt; 
&gt; I had suggested moving in a follow up change because now the diff doesn&apos;t show your changes.  Anyway, this is OK too.

Sorry about the confusion.

&gt; &gt; Source/WebKit/chromium/src/ContextMenuClientImpl.cpp:149
&gt; &gt; +// Helper function to get misspelling on which context menu is to be invoked
&gt; &gt; +// for asynchronous spellcheck. This function changes the selection only when
&gt; &gt; +// there were no selected characters.
&gt; 
&gt; Remove this comment.

Removed.

&gt; &gt; Tools/DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:120
&gt; &gt; +    if (word == WebString::fromUTF8(&quot;wellcome&quot;))
&gt; &gt; +        append(suggestions, WebString::fromUTF8(&quot;welcome&quot;));
&gt; 
&gt; Why do we copy and swap?  Why can&apos;t we append to |suggestions| directly?

WebVector has a constant size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822131</commentid>
    <comment_count>11</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-31 16:53:15 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; WebVector has a constant size.

... and does not have built-in append(), add(), or push_back() methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822142</commentid>
    <comment_count>12</comment_count>
      <attachid>185896</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-31 17:01:36 -0800</bug_when>
    <thetext>Comment on attachment 185896
Patch for landing

(In reply to comment #10)
&gt; (In reply to comment #8)

&gt; &gt; &gt; Tools/DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:120
&gt; &gt; &gt; +    if (word == WebString::fromUTF8(&quot;wellcome&quot;))
&gt; &gt; &gt; +        append(suggestions, WebString::fromUTF8(&quot;welcome&quot;));
&gt; &gt; 
&gt; &gt; Why do we copy and swap?  Why can&apos;t we append to |suggestions| directly?
&gt; 
&gt; WebVector has a constant size.

I see. Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822203</commentid>
    <comment_count>13</comment_count>
      <attachid>185896</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 18:06:52 -0800</bug_when>
    <thetext>Comment on attachment 185896
Patch for landing

Clearing flags on attachment: 185896

Committed r141519: &lt;http://trac.webkit.org/changeset/141519&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822204</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 18:06:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185850</attachid>
            <date>2013-01-31 13:38:42 -0800</date>
            <delta_ts>2013-01-31 16:01:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108509-20130131133525.patch</filename>
            <type>text/plain</type>
            <size>8235</size>
            <attacher name="Rouslan Solomakhin">rouslan+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGUzNWJkNjFhODllYjc4YTQ2YmZhZmJiY2Y2YTU3NmExODRjOGMyNWQuLjJjOTI4ZTI4MDZiM2Yx
ODI0Y2IyYmZhN2YxYWIxNGM1YTRkMTRmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gU2VsZWN0IG11bHRpLXdvcmQgbWlz
c3BlbGxpbmcgb24gY29udGV4dCBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBzcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0
Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMpOiBTZWxlY3QgbXVsdGktd29yZCBtaXNzcGVsbGlu
ZyBvbiBjb250ZXh0IGNsaWNrLgorCiAyMDEzLTAxLTMxICBNYXJrIFBpbGdyaW0gIDxwaWxncmlt
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vdmUgTG9jYWxpemVkU3RyaW5n
cyB0byBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250
ZXh0TWVudUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4
dE1lbnVDbGllbnRJbXBsLmNwcAppbmRleCAzMzk1NmJjYTc4NGUwMTk0NTliMmY5M2Q0YjQ2MDFj
NTZlZjUwMzI3Li45MDE0Y2MwYmU1OGFlY2Y1Yjc1N2M0MWRjMjgzM2Q5MWE5NDQ3NDRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1w
bC5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNp
bmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRl
ci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5o
IgpAQCAtMTAyLDggKzEwMyw4IEBAIHN0YXRpYyBib29sIGlzQVNpbmdsZVdvcmQoY29uc3QgU3Ry
aW5nJiB0ZXh0KQogfQogCiAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IG1pc3NwZWxsZWQgd29y
ZCBvbiB3aGljaCBjb250ZXh0IG1lbnUKLS8vIGlzIHRvIGJlIGV2b2xrZWQuIFRoaXMgZnVuY3Rp
b24gYWxzbyBzZXRzIHRoZSB3b3JkIG9uIHdoaWNoIGNvbnRleHQgbWVudQotLy8gaGFzIGJlZW4g
ZXZva2VkIHRvIGJlIHRoZSBzZWxlY3RlZCB3b3JkLCBhcyByZXF1aXJlZC4gVGhpcyBmdW5jdGlv
biBjaGFuZ2VzCisvLyBpcyB0byBiZSBpbnZva2VkLiBUaGlzIGZ1bmN0aW9uIGFsc28gc2V0cyB0
aGUgd29yZCBvbiB3aGljaCBjb250ZXh0IG1lbnUKKy8vIGhhcyBiZWVuIGludm9rZWQgdG8gYmUg
dGhlIHNlbGVjdGVkIHdvcmQsIGFzIHJlcXVpcmVkLiBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMKIC8v
IHRoZSBzZWxlY3Rpb24gb25seSB3aGVuIHRoZXJlIHdlcmUgbm8gc2VsZWN0ZWQgY2hhcmFjdGVy
cyBvbiBPUyBYLgogc3RhdGljIFN0cmluZyBzZWxlY3RNaXNzcGVsbGVkV29yZChjb25zdCBDb250
ZXh0TWVudSogZGVmYXVsdE1lbnUsIEZyYW1lKiBzZWxlY3RlZEZyYW1lKQogewpAQCAtMjc0LDM2
ICsyNzUsMzQgQEAgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24gQ29udGV4dE1lbnVDbGllbnRJbXBs
OjpnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVtcygKICNlbmRpZgogICAgICAgICAvLyBXaGVu
IENocm9tZSBlbmFibGVzIGFzeW5jaHJvbm91cyBzcGVsbGNoZWNraW5nLCBpdHMgc3BlbGxjaGVj
a2VyIGFkZHMgc3BlbGxpbmcgbWFya2VycyB0byBtaXNzcGVsbGVkCiAgICAgICAgIC8vIHdvcmRz
IGFuZCBhdHRhY2hlcyBzdWdnZXN0aW9ucyB0byB0aGVzZSBtYXJrZXJzIGluIHRoZSBiYWNrZ3Jv
dW5kLiBUaGVyZWZvcmUsIHdoZW4gYSB1c2VyIHJpZ2h0LWNsaWNrcwotICAgICAgICAvLyBhIG1v
dXNlIG9uIGEgd29yZCwgQ2hyb21lIGp1c3QgbmVlZHMgdG8gZmluZCBhIHNwZWxsaW5nIG1hcmtl
ciBvbiB0aGUgd29yZCBpbnN0cmVhZCBvZiBzcGVsbGNoZWNraW5nIGl0LgorICAgICAgICAvLyBh
IG1vdXNlIG9uIGEgd29yZCwgQ2hyb21lIGp1c3QgbmVlZHMgdG8gZmluZCBhIHNwZWxsaW5nIG1h
cmtlciBvbiB0aGUgd29yZCBpbnN0ZWFkIG9mIHNwZWxsY2hlY2tpbmcgaXQuCiAgICAgICAgIGlm
IChzZWxlY3RlZEZyYW1lLT5zZXR0aW5ncygpICYmIHNlbGVjdGVkRnJhbWUtPnNldHRpbmdzKCkt
PmFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCkpIHsKICAgICAgICAgICAgIFZpc2li
bGVTZWxlY3Rpb24gc2VsZWN0aW9uID0gc2VsZWN0ZWRGcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVj
dGlvbigpOwotICAgICAgICAgICAgYm9vbCBzaG91bGRVcGRhdGVTZWxlY3Rpb24gPSBmYWxzZTsK
ICAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uaXNDYXJldE9yUmFuZ2UoKSkgewotICAgICAgICAg
ICAgICAgIGlmIChzZWxlY3Rpb24uaXNDYXJldCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNl
bGVjdGlvbi5leHBhbmRVc2luZ0dyYW51bGFyaXR5KFdvcmRHcmFudWxhcml0eSk7Ci0gICAgICAg
ICAgICAgICAgICAgIHNob3VsZFVwZGF0ZVNlbGVjdGlvbiA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBzZWxlY3Rpb24udG9O
b3JtYWxpemVkUmFuZ2UoKTsKLSAgICAgICAgICAgICAgICBWZWN0b3I8RG9jdW1lbnRNYXJrZXIq
PiBtYXJrZXJzID0gc2VsZWN0ZWRGcmFtZS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5tYXJrZXJz
SW5SYW5nZShyYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nIHwgRG9jdW1lbnRN
YXJrZXI6OkdyYW1tYXIpOwotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJzLnNpemUoKSA9PSAx
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrZXJzWzBdLT5zdGFydE9mZnNldCgpICE9
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5nZS0+c3RhcnRPZmZzZXQoKSkgfHwgbWFya2Vyc1sw
XS0+ZW5kT2Zmc2V0KCkgIT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmdlLT5lbmRPZmZzZXQo
KSkpCi0gICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXJzLmNsZWFyKCk7Ci0gICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIC8vIENhcmV0IGFuZCByYW5nZSBzZWxlY3Rpb25zIGFs
d2F5cyByZXR1cm4gdmFsaWQgbm9ybWFsaXplZCByYW5nZXMuCisgICAgICAgICAgICAgICAgUmVm
UHRyPFJhbmdlPiBzZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi50b05vcm1hbGl6ZWRSYW5nZSgp
OworICAgICAgICAgICAgICAgIFZlY3RvcjxEb2N1bWVudE1hcmtlcio+IG1hcmtlcnMgPSBzZWxl
Y3RlZEZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlcnNJblJhbmdlKHNlbGVjdGlv
blJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcgfCBEb2N1bWVudE1hcmtlcjo6
R3JhbW1hcik7CiAgICAgICAgICAgICAgICAgaWYgKG1hcmtlcnMuc2l6ZSgpID09IDEpIHsKLSAg
ICAgICAgICAgICAgICAgICAgcmFuZ2UtPnNldFN0YXJ0KHJhbmdlLT5zdGFydENvbnRhaW5lcigp
LCBtYXJrZXJzWzBdLT5zdGFydE9mZnNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2Ut
PnNldEVuZChyYW5nZS0+ZW5kQ29udGFpbmVyKCksIG1hcmtlcnNbMF0tPmVuZE9mZnNldCgpKTsK
LSAgICAgICAgICAgICAgICAgICAgZGF0YS5taXNzcGVsbGVkV29yZCA9IHJhbmdlLT50ZXh0KCk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrZXJzWzBdLT5kZXNjcmlwdGlvbigpLmxlbmd0
aCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBWZWN0b3I8U3RyaW5nPiBzdWdnZXN0aW9u
czsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCkuc3Bs
aXQoJ1xuJywgc3VnZ2VzdGlvbnMpOwotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kaWN0
aW9uYXJ5U3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9uczsKLSAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmIChtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKSkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG1pc3NwZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5ndGg7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c3BlbGxDaGVj
ayhkYXRhLm1pc3NwZWxsZWRXb3JkLCBtaXNzcGVsbGVkT2Zmc2V0LCBtaXNzcGVsbGVkTGVuZ3Ro
LCAmZGF0YS5kaWN0aW9uYXJ5U3VnZ2VzdGlvbnMpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24ocmFuZ2UuZ2V0
KCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkVXBkYXRlU2VsZWN0aW9uICYmIHNl
bGVjdGVkRnJhbWUtPnNlbGVjdGlvbigpLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9u
KSkKKyAgICAgICAgICAgICAgICAgICAgLy8gQ2xvbmluZyBhIHJhbmdlIGZhaWxzIG9ubHkgZm9y
IGludmFsaWQgcmFuZ2VzLgorICAgICAgICAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IG1hcmtl
clJhbmdlID0gc2VsZWN0aW9uUmFuZ2UtPmNsb25lUmFuZ2UoQVNTRVJUX05PX0VYQ0VQVElPTik7
CisgICAgICAgICAgICAgICAgICAgIG1hcmtlclJhbmdlLT5zZXRTdGFydChtYXJrZXJSYW5nZS0+
c3RhcnRDb250YWluZXIoKSwgbWFya2Vyc1swXS0+c3RhcnRPZmZzZXQoKSk7CisgICAgICAgICAg
ICAgICAgICAgIG1hcmtlclJhbmdlLT5zZXRFbmQobWFya2VyUmFuZ2UtPmVuZENvbnRhaW5lcigp
LCBtYXJrZXJzWzBdLT5lbmRPZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzZWxl
Y3Rpb24uaXNDYXJldCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSBW
aXNpYmxlU2VsZWN0aW9uKG1hcmtlclJhbmdlLmdldCgpKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGVjdGVkRnJhbWUtPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBX
b3JkR3JhbnVsYXJpdHkpOworICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uUmFuZ2Ug
PSBzZWxlY3Rpb24udG9Ob3JtYWxpemVkUmFuZ2UoKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICBpZiAobWFya2VyUmFuZ2UtPnN0YXJ0T2Zmc2V0KCkgPT0gc2Vs
ZWN0aW9uUmFuZ2UtPnN0YXJ0T2Zmc2V0KCkgJiYgbWFya2VyUmFuZ2UtPmVuZE9mZnNldCgpID09
IHNlbGVjdGlvblJhbmdlLT5lbmRPZmZzZXQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YS5taXNzcGVsbGVkV29yZCA9IHNlbGVjdGlvblJhbmdlLT50ZXh0KCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobWFya2Vyc1swXS0+ZGVzY3JpcHRpb24oKS5sZW5ndGgoKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHN1Z2dlc3Rpb25zOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCkuc3Bs
aXQoJ1xuJywgc3VnZ2VzdGlvbnMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEu
ZGljdGlvbmFyeVN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnM7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IG1pc3NwZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5n
dGg7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xp
ZW50KCktPnNwZWxsQ2hlY2soZGF0YS5taXNzcGVsbGVkV29yZCwgbWlzc3BlbGxlZE9mZnNldCwg
bWlzc3BlbGxlZExlbmd0aCwgJmRhdGEuZGljdGlvbmFyeVN1Z2dlc3Rpb25zKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlNGQ1NjIwZmIxMWVm
MWQ0MGViNTM3Y2I2YWE0NmQxODBhMjQxNTMzLi5lMGI2ODFiODhiM2EwMjk0MzhhZGNhZTg4ZmFm
ZTI4MzkyYzE0ODY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTMtMDEtMzEgIFJvdXNsYW4g
U29sb21ha2hpbiAgPHJvdXNsYW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtDaHJvbWl1bV0g
RXhwZWN0IHNwZWxsY2hlY2sgdG8gc2VsZWN0IHR3by13b3JkIG1pc3NwZWxsaW5nIG9uIGNvbnRl
eHQgY2xpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwODUwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogVXBkYXRlIHNwZWxsY2hlY2sg
dGVzdHMgZXhwZWN0YXRpb25zLgorCisyMDEzLTAxLTMxICBSb3VzbGFuIFNvbG9tYWtoaW4gIDxy
b3VzbGFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbQ2hyb21pdW1dIEV4cGVjdCBzcGVsbGNo
ZWNrIHRvIHdvcmsgZm9yIGV4YWN0bHktc2VsZWN0ZWQgbXVsdGktd29yZCBtaXNzcGVsbGluZ3MK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODQ5OAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBhOWJlMzcyNzI3YTM1M2Y4ZDY5NDdlYzZlYTQwZWVjZGZjMWNkOTU5Li4zZjJjOGU5M2MzMTVm
ZmRlOTI0MjZkOTM0YzZlNGFmM2Q2M2E0MWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQzNTksNyArNDM1OSw2IEBAIHdlYmtpdC5v
cmcvYi8xMDgyODYgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0d2FyZWNvbXBvc2l0aW5n
L2dlb21ldHJ5L2ZpeGVkCiAjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0ZXN0cy4KIHdlYmtpdC5v
cmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3Jk
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLXdpdGgtdW5kZXJzY29yZXMuaHRtbCBbIEZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3Vs
ZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEw
ODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1YXRpb24tc2VsZWN0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Ut
c2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185884</attachid>
            <date>2013-01-31 16:01:36 -0800</date>
            <delta_ts>2013-01-31 16:06:01 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-108509-20130131155820.patch</filename>
            <type>text/plain</type>
            <size>15033</size>
            <attacher name="Rouslan Solomakhin">rouslan+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGMyYTA1MzNkNTAwOGI0ZGJjMTRiNzI3M2I4MTAwZjMxNDFhMGU5NTYuLmUyMGIzN2ExYTA2MTE2
ZDFkZjVjYWZhZTIxYTA5MmExYzFlYmJhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gU2VsZWN0IG11bHRpLXdvcmQgbWlz
c3BlbGxpbmcgb24gY29udGV4dCBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFu
Zy4KKworICAgICAgICAqIHNyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6c2VsZWN0TWlzc3BlbGxpbmdBc3luYyk6IEFkZGVk
IHV0aWxpdHkgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaXNzcGVsbGluZyBmb3IgYXN5bmNocm9ub3Vz
IHNwZWxsY2hlY2suCisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0
Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMpOiBTZWxlY3QgbXVsdGktd29yZCBtaXNzcGVsbGlu
ZyBvbiBjb250ZXh0IGNsaWNrLgorCiAyMDEzLTAxLTMxICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0
YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xp
ZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVu
dEltcGwuY3BwCmluZGV4IDMzOTU2YmNhNzg0ZTAxOTQ1OWIyZjkzZDRiNDYwMWM1NmVmNTAzMjcu
LjdkYjY1Njk0MWE2OGIyNzFkZWRhOWZiOGUwNTFhYWUwZmY1NDIzYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcApAQCAt
NDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgorI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC0xMDIs
OCArMTAzLDggQEAgc3RhdGljIGJvb2wgaXNBU2luZ2xlV29yZChjb25zdCBTdHJpbmcmIHRleHQp
CiB9CiAKIC8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgbWlzc3BlbGxlZCB3b3JkIG9uIHdoaWNo
IGNvbnRleHQgbWVudQotLy8gaXMgdG8gYmUgZXZvbGtlZC4gVGhpcyBmdW5jdGlvbiBhbHNvIHNl
dHMgdGhlIHdvcmQgb24gd2hpY2ggY29udGV4dCBtZW51Ci0vLyBoYXMgYmVlbiBldm9rZWQgdG8g
YmUgdGhlIHNlbGVjdGVkIHdvcmQsIGFzIHJlcXVpcmVkLiBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMK
Ky8vIGlzIHRvIGJlIGludm9rZWQuIFRoaXMgZnVuY3Rpb24gYWxzbyBzZXRzIHRoZSB3b3JkIG9u
IHdoaWNoIGNvbnRleHQgbWVudQorLy8gaGFzIGJlZW4gaW52b2tlZCB0byBiZSB0aGUgc2VsZWN0
ZWQgd29yZCwgYXMgcmVxdWlyZWQuIFRoaXMgZnVuY3Rpb24gY2hhbmdlcwogLy8gdGhlIHNlbGVj
dGlvbiBvbmx5IHdoZW4gdGhlcmUgd2VyZSBubyBzZWxlY3RlZCBjaGFyYWN0ZXJzIG9uIE9TIFgu
CiBzdGF0aWMgU3RyaW5nIHNlbGVjdE1pc3NwZWxsZWRXb3JkKGNvbnN0IENvbnRleHRNZW51KiBk
ZWZhdWx0TWVudSwgRnJhbWUqIHNlbGVjdGVkRnJhbWUpCiB7CkBAIC0xNDMsNiArMTQ0LDM2IEBA
IHN0YXRpYyBTdHJpbmcgc2VsZWN0TWlzc3BlbGxlZFdvcmQoY29uc3QgQ29udGV4dE1lbnUqIGRl
ZmF1bHRNZW51LCBGcmFtZSogc2VsZWN0CiAgICAgcmV0dXJuIG1pc3NwZWxsZWRXb3JkOwogfQog
CisvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IG1pc3NwZWxsaW5nIG9uIHdoaWNoIGNvbnRleHQg
bWVudSBpcyB0byBiZSBpbnZva2VkCisvLyBmb3IgYXN5bmNocm9ub3VzIHNwZWxsY2hlY2suIFRo
aXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgc2VsZWN0aW9uIG9ubHkgd2hlbgorLy8gdGhlcmUgd2Vy
ZSBubyBzZWxlY3RlZCBjaGFyYWN0ZXJzLgorc3RhdGljIFN0cmluZyBzZWxlY3RNaXNzcGVsbGlu
Z0FzeW5jKEZyYW1lKiBzZWxlY3RlZEZyYW1lLCBWZWN0b3I8RG9jdW1lbnRNYXJrZXIqPiYgbWFy
a2VycykgeworICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uID0gc2VsZWN0ZWRGcmFtZS0+
c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpOworICAgIGlmICghc2VsZWN0aW9uLmlzQ2FyZXRPclJh
bmdlKCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIENhcmV0IGFuZCByYW5n
ZSBzZWxlY3Rpb25zIGFsd2F5cyByZXR1cm4gdmFsaWQgbm9ybWFsaXplZCByYW5nZXMuCisgICAg
UmVmUHRyPFJhbmdlPiBzZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi50b05vcm1hbGl6ZWRSYW5n
ZSgpOworICAgIG1hcmtlcnMuYXBwZW5kKHNlbGVjdGVkRnJhbWUtPmRvY3VtZW50KCktPm1hcmtl
cnMoKS0+bWFya2Vyc0luUmFuZ2Uoc2VsZWN0aW9uUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2Vy
OjpTcGVsbGluZyB8IERvY3VtZW50TWFya2VyOjpHcmFtbWFyKSk7CisgICAgaWYgKG1hcmtlcnMu
c2l6ZSgpICE9IDEpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIC8vIENsb25pbmcg
YSByYW5nZSBmYWlscyBvbmx5IGZvciBpbnZhbGlkIHJhbmdlcy4KKyAgICBSZWZQdHI8UmFuZ2U+
IG1hcmtlclJhbmdlID0gc2VsZWN0aW9uUmFuZ2UtPmNsb25lUmFuZ2UoQVNTRVJUX05PX0VYQ0VQ
VElPTik7CisgICAgbWFya2VyUmFuZ2UtPnNldFN0YXJ0KG1hcmtlclJhbmdlLT5zdGFydENvbnRh
aW5lcigpLCBtYXJrZXJzWzBdLT5zdGFydE9mZnNldCgpKTsKKyAgICBtYXJrZXJSYW5nZS0+c2V0
RW5kKG1hcmtlclJhbmdlLT5lbmRDb250YWluZXIoKSwgbWFya2Vyc1swXS0+ZW5kT2Zmc2V0KCkp
OworICAgIGlmIChzZWxlY3Rpb24uaXNDYXJldCgpKSB7CisgICAgICAgIHNlbGVjdGlvbiA9IFZp
c2libGVTZWxlY3Rpb24obWFya2VyUmFuZ2UuZ2V0KCkpOworICAgICAgICBzZWxlY3RlZEZyYW1l
LT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKHNlbGVjdGlvbiwgV29yZEdyYW51bGFyaXR5KTsK
KyAgICAgICAgc2VsZWN0aW9uUmFuZ2UgPSBzZWxlY3Rpb24udG9Ob3JtYWxpemVkUmFuZ2UoKTsK
KyAgICB9CisKKyAgICBpZiAoIVdlYkNvcmU6OmFyZVJhbmdlc0VxdWFsKG1hcmtlclJhbmdlLmdl
dCgpLCBzZWxlY3Rpb25SYW5nZS5nZXQoKSkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKwor
ICAgIHJldHVybiBtYXJrZXJSYW5nZS0+dGV4dCgpOworfQorCiBQbGF0Zm9ybU1lbnVEZXNjcmlw
dGlvbiBDb250ZXh0TWVudUNsaWVudEltcGw6OmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1z
KAogICAgIENvbnRleHRNZW51KiBkZWZhdWx0TWVudSkKIHsKQEAgLTI3NCwzNyArMzA1LDE3IEBA
IFBsYXRmb3JtTWVudURlc2NyaXB0aW9uIENvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0Q3VzdG9t
TWVudUZyb21EZWZhdWx0SXRlbXMoCiAjZW5kaWYKICAgICAgICAgLy8gV2hlbiBDaHJvbWUgZW5h
YmxlcyBhc3luY2hyb25vdXMgc3BlbGxjaGVja2luZywgaXRzIHNwZWxsY2hlY2tlciBhZGRzIHNw
ZWxsaW5nIG1hcmtlcnMgdG8gbWlzc3BlbGxlZAogICAgICAgICAvLyB3b3JkcyBhbmQgYXR0YWNo
ZXMgc3VnZ2VzdGlvbnMgdG8gdGhlc2UgbWFya2VycyBpbiB0aGUgYmFja2dyb3VuZC4gVGhlcmVm
b3JlLCB3aGVuIGEgdXNlciByaWdodC1jbGlja3MKLSAgICAgICAgLy8gYSBtb3VzZSBvbiBhIHdv
cmQsIENocm9tZSBqdXN0IG5lZWRzIHRvIGZpbmQgYSBzcGVsbGluZyBtYXJrZXIgb24gdGhlIHdv
cmQgaW5zdHJlYWQgb2Ygc3BlbGxjaGVja2luZyBpdC4KKyAgICAgICAgLy8gYSBtb3VzZSBvbiBh
IHdvcmQsIENocm9tZSBqdXN0IG5lZWRzIHRvIGZpbmQgYSBzcGVsbGluZyBtYXJrZXIgb24gdGhl
IHdvcmQgaW5zdGVhZCBvZiBzcGVsbGNoZWNraW5nIGl0LgogICAgICAgICBpZiAoc2VsZWN0ZWRG
cmFtZS0+c2V0dGluZ3MoKSAmJiBzZWxlY3RlZEZyYW1lLT5zZXR0aW5ncygpLT5hc3luY2hyb25v
dXNTcGVsbENoZWNraW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICBWaXNpYmxlU2VsZWN0aW9u
IHNlbGVjdGlvbiA9IHNlbGVjdGVkRnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKTsKLSAg
ICAgICAgICAgIGJvb2wgc2hvdWxkVXBkYXRlU2VsZWN0aW9uID0gZmFsc2U7Ci0gICAgICAgICAg
ICBpZiAoc2VsZWN0aW9uLmlzQ2FyZXRPclJhbmdlKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAo
c2VsZWN0aW9uLmlzQ2FyZXQoKSkgewotICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uZXhw
YW5kVXNpbmdHcmFudWxhcml0eShXb3JkR3JhbnVsYXJpdHkpOwotICAgICAgICAgICAgICAgICAg
ICBzaG91bGRVcGRhdGVTZWxlY3Rpb24gPSB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gc2VsZWN0aW9uLnRvTm9ybWFsaXplZFJh
bmdlKCk7Ci0gICAgICAgICAgICAgICAgVmVjdG9yPERvY3VtZW50TWFya2VyKj4gbWFya2VycyA9
IHNlbGVjdGVkRnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+bWFya2Vyc0luUmFuZ2UocmFu
Z2UuZ2V0KCksIERvY3VtZW50TWFya2VyOjpTcGVsbGluZyB8IERvY3VtZW50TWFya2VyOjpHcmFt
bWFyKTsKLSAgICAgICAgICAgICAgICBpZiAobWFya2Vycy5zaXplKCkgPT0gMSkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAobWFya2Vyc1swXS0+c3RhcnRPZmZzZXQoKSAhPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4ocmFuZ2UtPnN0YXJ0T2Zmc2V0KCkpIHx8IG1hcmtlcnNbMF0tPmVuZE9mZnNl
dCgpICE9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5nZS0+ZW5kT2Zmc2V0KCkpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgbWFya2Vycy5jbGVhcigpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBpZiAobWFya2Vycy5zaXplKCkgPT0gMSkgewotICAgICAgICAgICAgICAg
ICAgICByYW5nZS0+c2V0U3RhcnQocmFuZ2UtPnN0YXJ0Q29udGFpbmVyKCksIG1hcmtlcnNbMF0t
PnN0YXJ0T2Zmc2V0KCkpOwotICAgICAgICAgICAgICAgICAgICByYW5nZS0+c2V0RW5kKHJhbmdl
LT5lbmRDb250YWluZXIoKSwgbWFya2Vyc1swXS0+ZW5kT2Zmc2V0KCkpOwotICAgICAgICAgICAg
ICAgICAgICBkYXRhLm1pc3NwZWxsZWRXb3JkID0gcmFuZ2UtPnRleHQoKTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCkubGVuZ3RoKCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHN1Z2dlc3Rpb25zOwotICAgICAgICAg
ICAgICAgICAgICAgICAgbWFya2Vyc1swXS0+ZGVzY3JpcHRpb24oKS5zcGxpdCgnXG4nLCBzdWdn
ZXN0aW9ucyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRpY3Rpb25hcnlTdWdnZXN0
aW9ucyA9IHN1Z2dlc3Rpb25zOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1fd2Vi
Vmlldy0+c3BlbGxDaGVja0NsaWVudCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQg
bWlzc3BlbGxlZE9mZnNldCwgbWlzc3BlbGxlZExlbmd0aDsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgpLT5zcGVsbENoZWNrKGRhdGEubWlzc3Bl
bGxlZFdvcmQsIG1pc3NwZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5ndGgsICZkYXRhLmRpY3Rp
b25hcnlTdWdnZXN0aW9ucyk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgc2VsZWN0aW9uID0gVmlzaWJsZVNlbGVjdGlvbihyYW5nZS5nZXQoKSk7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChzaG91bGRVcGRhdGVTZWxlY3Rpb24gJiYgc2VsZWN0ZWRGcmFtZS0+
c2VsZWN0aW9uKCktPnNob3VsZENoYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKQotICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZWN0ZWRGcmFtZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihz
ZWxlY3Rpb24sIFdvcmRHcmFudWxhcml0eSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgVmVjdG9yPERvY3VtZW50TWFya2VyKj4gbWFya2VyczsKKyAgICAgICAgICAgIGRhdGEubWlz
c3BlbGxlZFdvcmQgPSBzZWxlY3RNaXNzcGVsbGluZ0FzeW5jKHNlbGVjdGVkRnJhbWUsIG1hcmtl
cnMpOworICAgICAgICAgICAgaWYgKG1hcmtlcnMuc2l6ZSgpID09IDEgJiYgbWFya2Vyc1swXS0+
ZGVzY3JpcHRpb24oKS5sZW5ndGgoKSkgeworICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+
IHN1Z2dlc3Rpb25zOworICAgICAgICAgICAgICAgIG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCku
c3BsaXQoJ1xuJywgc3VnZ2VzdGlvbnMpOworICAgICAgICAgICAgICAgIGRhdGEuZGljdGlvbmFy
eVN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnM7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1fd2Vi
Vmlldy0+c3BlbGxDaGVja0NsaWVudCgpKSB7CisgICAgICAgICAgICAgICAgaW50IG1pc3NwZWxs
ZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5ndGg7CisgICAgICAgICAgICAgICAgbV93ZWJWaWV3LT5z
cGVsbENoZWNrQ2xpZW50KCktPnNwZWxsQ2hlY2soZGF0YS5taXNzcGVsbGVkV29yZCwgbWlzc3Bl
bGxlZE9mZnNldCwgbWlzc3BlbGxlZExlbmd0aCwgJmRhdGEuZGljdGlvbmFyeVN1Z2dlc3Rpb25z
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRhdGEuaXNT
cGVsbENoZWNraW5nRW5hYmxlZCA9IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGY4Mjc5MDE3NzI2YjAwM2VkMTY4ZGQzNDFlMGRhOTRhMTNlNzgw
MjUuLjMxYmY4MzI3MGI5YmRjNDNlOTM1YTY3MjVlMGUxNjlmYzU0MWQ1OWQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMy0wMS0zMSAgUm91c2xhbiBTb2xvbWFraGluICA8cm91c2xhbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW0Nocm9taXVtXSBTdWdnZXN0ICd1cHBlcmNhc2UnIGZvciBtdWx0aS13b3JkIG1p
c3NwZWxsaW5nICd1cHBlciBjYXNlJworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL01vY2tT
cGVsbENoZWNrLmNwcDoKKyAgICAgICAgKGFwcGVuZCk6IEFkZGVkIHV0aWxpdHkgZnVuY3Rpb24g
dG8gYXBwZW5kIFdlYlN0cmluZyB0byBXZWJWZWN0b3IuCisgICAgICAgIChNb2NrU3BlbGxDaGVj
azo6ZmlsbFN1Z2dlc3Rpb25MaXN0KTogU3VnZ2VzdCAndXBwZXJjYXNlJyBmb3IgbWlzc3BlbGxp
bmcgJ3VwcGVyIGNhc2UnLgorCiAyMDEzLTAxLTMxICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBzaG91bGQgcHV0IE5TU291bmQg
Y2FsbHMgaW5zaWRlIFVTRShBUFBLSVQpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9Nb2NrU3BlbGxDaGVjay5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9Nb2NrU3BlbGxDaGVjay5jcHAKaW5k
ZXggZmI5ZmNlZDE2OTdkZDExYjg0YmYzNjRiNDAxZmE1ZGViNDI5ZGEwZi4uMjBiMGVhZmI2YTI5
NTEwNzExMWE0OWY0ODc2NjRhMzhiOWYyOGQwNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvTW9ja1NwZWxsQ2hlY2suY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL01vY2tTcGVsbENoZWNr
LmNwcApAQCAtMzcsNiArMzcsMTQgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorc3Rh
dGljIHZvaWQgYXBwZW5kKFdlYlZlY3RvcjxXZWJTdHJpbmc+KiBkYXRhLCBjb25zdCBXZWJTdHJp
bmcmIGl0ZW0pIHsKKyAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiByZXN1bHQoZGF0YS0+c2l6ZSgp
ICsgMSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhLT5zaXplKCk7ICsraSkKKyAg
ICAgICAgcmVzdWx0W2ldID0gKCpkYXRhKVtpXTsKKyAgICByZXN1bHRbZGF0YS0+c2l6ZSgpXSA9
IGl0ZW07CisgICAgZGF0YS0+c3dhcChyZXN1bHQpOworfQorCiBNb2NrU3BlbGxDaGVjazo6TW9j
a1NwZWxsQ2hlY2soKQogICAgIDogbV9pbml0aWFsaXplZChmYWxzZSkgeyB9CiAKQEAgLTEwNywx
MyArMTE1LDEwIEBAIGJvb2wgTW9ja1NwZWxsQ2hlY2s6OnNwZWxsQ2hlY2tXb3JkKGNvbnN0IFdl
YlN0cmluZyYgdGV4dCwgaW50KiBtaXNzcGVsbGVkT2Zmc2V0CiAKIHZvaWQgTW9ja1NwZWxsQ2hl
Y2s6OmZpbGxTdWdnZXN0aW9uTGlzdChjb25zdCBXZWJTdHJpbmcmIHdvcmQsIFdlYlZlY3RvcjxX
ZWJTdHJpbmc+KiBzdWdnZXN0aW9ucykKIHsKLSAgICBpZiAod29yZCA9PSBXZWJTdHJpbmc6OmZy
b21VVEY4KCJ3ZWxsY29tZSIpKSB7Ci0gICAgICAgIFdlYlZlY3RvcjxXZWJTdHJpbmc+IHJlc3Vs
dChzdWdnZXN0aW9ucy0+c2l6ZSgpICsgMSk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgc3VnZ2VzdGlvbnMtPnNpemUoKTsgKytpKQotICAgICAgICAgICAgcmVzdWx0W2ldID0gKCpz
dWdnZXN0aW9ucylbaV07Ci0gICAgICAgIHJlc3VsdFtzdWdnZXN0aW9ucy0+c2l6ZSgpXSA9IFdl
YlN0cmluZzo6ZnJvbVVURjgoIndlbGNvbWUiKTsKLSAgICAgICAgc3VnZ2VzdGlvbnMtPnN3YXAo
cmVzdWx0KTsKLSAgICB9CisgICAgaWYgKHdvcmQgPT0gV2ViU3RyaW5nOjpmcm9tVVRGOCgid2Vs
bGNvbWUiKSkKKyAgICAgICAgYXBwZW5kKHN1Z2dlc3Rpb25zLCBXZWJTdHJpbmc6OmZyb21VVEY4
KCJ3ZWxjb21lIikpOworICAgIGVsc2UgaWYgKHdvcmQgPT0gV2ViU3RyaW5nOjpmcm9tVVRGOCgi
dXBwZXIgY2FzZSIpKQorICAgICAgICBhcHBlbmQoc3VnZ2VzdGlvbnMsIFdlYlN0cmluZzo6ZnJv
bVVURjgoInVwcGVyY2FzZSIpKTsKIH0KIAogYm9vbCBNb2NrU3BlbGxDaGVjazo6aW5pdGlhbGl6
ZUlmTmVlZGVkKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4MmFjZmEzMzQxZDE1NTM3NGQ2ZTZlN2M0YjY4MDViZGM1OGRj
YmRlLi5kNTg2YWY5ZjI3ZjJmYzg2MjIxYjNiY2QyNjg0Y2ZmOTUyZjNkZjA3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gRXhwZWN0IHNwZWxsY2hlY2sgdG8gc2Vs
ZWN0IG11bHRpLXdvcmQgbWlzc3BlbGxpbmcgb24gY29udGV4dCBjbGljaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odG1sOiBDaGVjayBzcGVsbGluZyBz
dWdnZXN0aW9uIGZvciBtdWx0aS13b3JkIG1pc3NwZWxsaW5nLgorICAgICAgICAqIGVkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sOiBDaGVj
ayBzcGVsbGluZyBzdWdnZXN0aW9uIGZvciBtdWx0aS13b3JkIG1pc3NwZWxsaW5nLgorICAgICAg
ICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13
b3Jkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1z
aG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBFeHBlY3Qgc3BlbGxjaGVjayB0byBzZWxl
Y3QgbXVsdGktd29yZCBtaXNzcGVsbGluZyBvbiBjb250ZXh0IGNsaWNrCisKIDIwMTMtMDEtMzEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWlsLmNvbT4KIAogICAgICAgICBRdWFkcmF0aWMg
YW5kIGJlemllciBjdXJ2ZXMgd2l0aCBjb2luY2lkZW50IGVuZHBvaW50cyByZW5kZXJlZCBpbmNv
cnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13
b3Jkcy1leHBlY3RlZC50eHQKaW5kZXggNDRhNzk0NzVlNTc2ZmJiODc5ODFiNjJlNjdiNTFhNDgy
N2NjZjYyZC4uYTBmYzE2ZmVhYmIzNTdlZGQ5OTdkYzA4NWNmZWNkYzQzMTlhNzAyMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVj
dGVkLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0
ZWQudHh0CkBAIC04LDYgKzgsNyBAQCBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpIGlzICIiCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ1cHBl
ciBjYXNlIgogUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgInVwcGVyIGNh
c2UiCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ1cHBlciBjYXNl
IgorUEFTUyBjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0g
MV0gaXMgInVwcGVyY2FzZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMu
aHRtbAppbmRleCAzZDMyNTRmYjQ2OGI4NzQ3MjNlZTVjNmE0YzhjMTk0YmY2MGE5MjkzLi4wYjc4
YTkxNDgyOWRmNmU1M2IwN2Y5YjBlNzgzOTA5YjBlNjZmOGQ0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUt
d29yZHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4
YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMuaHRtbApAQCAtMzksNiArMzksNyBAQCBpbml0
U3BlbGxUZXN0KCJkZXN0aW5hdGlvbiIsICJJdCBzaG91bGQgYmUgdXBwZXIgY2FzZS4iLCBmdW5j
dGlvbih0ZXh0Tm9kZSkgewogICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFy
a2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ1cHBlciBjYXNl
Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKSIsICJ1cHBlciBjYXNlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250
ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAidXBwZXJj
YXNlIik7CiB9KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0
LW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dAppbmRleCBiNmE0NTQxNjhhZGM5N2QxYzdkNmRl
NDBhM2ZlN2E3YWQwYjI5NGNhLi5lNDdkZWRiOTBjZWRiNzAzYzY4MTllYWIwMzc5MGQ2MzIwNGEy
MTg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNo
b3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1l
eHBlY3RlZC50eHQKQEAgLTcsNiArNyw3IEBAIFBBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0
cmluZygpIGlzICJ1cHBlciBjYXNlIgogUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSBpcyAiIgogUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgInVwcGVy
IGNhc2UiCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ1cHBlciBj
YXNlIgorUEFTUyBjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3Ro
IC0gMV0gaXMgInVwcGVyY2FzZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRt
bAppbmRleCBjZGYwNDI4MzdiMTQ1NjMwNDA5YzgwOGY1Zjg0NDUyMzU1Njc5NDM1Li5kOWQ1YzJj
MDg5N2VhYTZlYTI5ZWVjMWY0ZDk2NmE0NDVjOWE0MWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1z
ZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbApAQCAtMzAsNiArMzAsNyBAQCBpbml0U3BlbGxUZXN0
KCJkZXN0aW5hdGlvbiIsICJJdCBzaG91bGQgYmUgdXBwZXIgY2FzZS4iLCBmdW5jdGlvbih0ZXh0
Tm9kZSkgewogICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VG
b3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ1cHBlciBjYXNlIik7CiAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIs
ICJ1cHBlciBjYXNlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVs
ZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAidXBwZXJjYXNlIik7CiB9
KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA4YjBmZjY4YjM3OTMyNTdhNWMwZmMyYTFiMzMxZDgyNGNmOTdkNWY2
Li5mNTIwYTQzOWNmMDQwYmQyY2E0MWMzNWZhMDQ4YmI3MDAzZTljNDUxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQzNTcsNyArNDM1
Nyw2IEBAIHdlYmtpdC5vcmcvYi8xMDgyODYgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9zb2Z0
d2FyZWNvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkCiAjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0
ZXN0cy4KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3Vi
bGUtY2xpY2tlZC13b3JkLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLXdpdGgtdW5kZXJzY29y
ZXMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbCBbIEZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1
YXRpb24tc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLmh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13
aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185887</attachid>
            <date>2013-01-31 16:06:04 -0800</date>
            <delta_ts>2013-01-31 16:44:32 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-108509-20130131160248.patch</filename>
            <type>text/plain</type>
            <size>15035</size>
            <attacher name="Rouslan Solomakhin">rouslan+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGMyYTA1MzNkNTAwOGI0ZGJjMTRiNzI3M2I4MTAwZjMxNDFhMGU5NTYuLmUyMGIzN2ExYTA2MTE2
ZDFkZjVjYWZhZTIxYTA5MmExYzFlYmJhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gU2VsZWN0IG11bHRpLXdvcmQgbWlz
c3BlbGxpbmcgb24gY29udGV4dCBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFu
Zy4KKworICAgICAgICAqIHNyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6c2VsZWN0TWlzc3BlbGxpbmdBc3luYyk6IEFkZGVk
IHV0aWxpdHkgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaXNzcGVsbGluZyBmb3IgYXN5bmNocm9ub3Vz
IHNwZWxsY2hlY2suCisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0
Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMpOiBTZWxlY3QgbXVsdGktd29yZCBtaXNzcGVsbGlu
ZyBvbiBjb250ZXh0IGNsaWNrLgorCiAyMDEzLTAxLTMxICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0
YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xp
ZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVu
dEltcGwuY3BwCmluZGV4IDMzOTU2YmNhNzg0ZTAxOTQ1OWIyZjkzZDRiNDYwMWM1NmVmNTAzMjcu
LmM3NmYzOTkwMjliMDgwMDhlMTk3NWRlYmU0NTdhMmY3NzIzYzk1MjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcApAQCAt
NDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgorI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC0xMDIs
OCArMTAzLDggQEAgc3RhdGljIGJvb2wgaXNBU2luZ2xlV29yZChjb25zdCBTdHJpbmcmIHRleHQp
CiB9CiAKIC8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgbWlzc3BlbGxlZCB3b3JkIG9uIHdoaWNo
IGNvbnRleHQgbWVudQotLy8gaXMgdG8gYmUgZXZvbGtlZC4gVGhpcyBmdW5jdGlvbiBhbHNvIHNl
dHMgdGhlIHdvcmQgb24gd2hpY2ggY29udGV4dCBtZW51Ci0vLyBoYXMgYmVlbiBldm9rZWQgdG8g
YmUgdGhlIHNlbGVjdGVkIHdvcmQsIGFzIHJlcXVpcmVkLiBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMK
Ky8vIGlzIHRvIGJlIGludm9rZWQuIFRoaXMgZnVuY3Rpb24gYWxzbyBzZXRzIHRoZSB3b3JkIG9u
IHdoaWNoIGNvbnRleHQgbWVudQorLy8gaGFzIGJlZW4gaW52b2tlZCB0byBiZSB0aGUgc2VsZWN0
ZWQgd29yZCwgYXMgcmVxdWlyZWQuIFRoaXMgZnVuY3Rpb24gY2hhbmdlcwogLy8gdGhlIHNlbGVj
dGlvbiBvbmx5IHdoZW4gdGhlcmUgd2VyZSBubyBzZWxlY3RlZCBjaGFyYWN0ZXJzIG9uIE9TIFgu
CiBzdGF0aWMgU3RyaW5nIHNlbGVjdE1pc3NwZWxsZWRXb3JkKGNvbnN0IENvbnRleHRNZW51KiBk
ZWZhdWx0TWVudSwgRnJhbWUqIHNlbGVjdGVkRnJhbWUpCiB7CkBAIC0xNDMsNiArMTQ0LDM3IEBA
IHN0YXRpYyBTdHJpbmcgc2VsZWN0TWlzc3BlbGxlZFdvcmQoY29uc3QgQ29udGV4dE1lbnUqIGRl
ZmF1bHRNZW51LCBGcmFtZSogc2VsZWN0CiAgICAgcmV0dXJuIG1pc3NwZWxsZWRXb3JkOwogfQog
CisvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IG1pc3NwZWxsaW5nIG9uIHdoaWNoIGNvbnRleHQg
bWVudSBpcyB0byBiZSBpbnZva2VkCisvLyBmb3IgYXN5bmNocm9ub3VzIHNwZWxsY2hlY2suIFRo
aXMgZnVuY3Rpb24gY2hhbmdlcyB0aGUgc2VsZWN0aW9uIG9ubHkgd2hlbgorLy8gdGhlcmUgd2Vy
ZSBubyBzZWxlY3RlZCBjaGFyYWN0ZXJzLgorc3RhdGljIFN0cmluZyBzZWxlY3RNaXNzcGVsbGlu
Z0FzeW5jKEZyYW1lKiBzZWxlY3RlZEZyYW1lLCBWZWN0b3I8RG9jdW1lbnRNYXJrZXIqPiYgbWFy
a2VycykKK3sKKyAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbiA9IHNlbGVjdGVkRnJhbWUt
PnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKTsKKyAgICBpZiAoIXNlbGVjdGlvbi5pc0NhcmV0T3JS
YW5nZSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICAvLyBDYXJldCBhbmQgcmFu
Z2Ugc2VsZWN0aW9ucyBhbHdheXMgcmV0dXJuIHZhbGlkIG5vcm1hbGl6ZWQgcmFuZ2VzLgorICAg
IFJlZlB0cjxSYW5nZT4gc2VsZWN0aW9uUmFuZ2UgPSBzZWxlY3Rpb24udG9Ob3JtYWxpemVkUmFu
Z2UoKTsKKyAgICBtYXJrZXJzLmFwcGVuZChzZWxlY3RlZEZyYW1lLT5kb2N1bWVudCgpLT5tYXJr
ZXJzKCktPm1hcmtlcnNJblJhbmdlKHNlbGVjdGlvblJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtl
cjo6U3BlbGxpbmcgfCBEb2N1bWVudE1hcmtlcjo6R3JhbW1hcikpOworICAgIGlmIChtYXJrZXJz
LnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICAvLyBDbG9uaW5n
IGEgcmFuZ2UgZmFpbHMgb25seSBmb3IgaW52YWxpZCByYW5nZXMuCisgICAgUmVmUHRyPFJhbmdl
PiBtYXJrZXJSYW5nZSA9IHNlbGVjdGlvblJhbmdlLT5jbG9uZVJhbmdlKEFTU0VSVF9OT19FWENF
UFRJT04pOworICAgIG1hcmtlclJhbmdlLT5zZXRTdGFydChtYXJrZXJSYW5nZS0+c3RhcnRDb250
YWluZXIoKSwgbWFya2Vyc1swXS0+c3RhcnRPZmZzZXQoKSk7CisgICAgbWFya2VyUmFuZ2UtPnNl
dEVuZChtYXJrZXJSYW5nZS0+ZW5kQ29udGFpbmVyKCksIG1hcmtlcnNbMF0tPmVuZE9mZnNldCgp
KTsKKyAgICBpZiAoc2VsZWN0aW9uLmlzQ2FyZXQoKSkgeworICAgICAgICBzZWxlY3Rpb24gPSBW
aXNpYmxlU2VsZWN0aW9uKG1hcmtlclJhbmdlLmdldCgpKTsKKyAgICAgICAgc2VsZWN0ZWRGcmFt
ZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihzZWxlY3Rpb24sIFdvcmRHcmFudWxhcml0eSk7
CisgICAgICAgIHNlbGVjdGlvblJhbmdlID0gc2VsZWN0aW9uLnRvTm9ybWFsaXplZFJhbmdlKCk7
CisgICAgfQorCisgICAgaWYgKCFXZWJDb3JlOjphcmVSYW5nZXNFcXVhbChtYXJrZXJSYW5nZS5n
ZXQoKSwgc2VsZWN0aW9uUmFuZ2UuZ2V0KCkpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisK
KyAgICByZXR1cm4gbWFya2VyUmFuZ2UtPnRleHQoKTsKK30KKwogUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24gQ29udGV4dE1lbnVDbGllbnRJbXBsOjpnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJdGVt
cygKICAgICBDb250ZXh0TWVudSogZGVmYXVsdE1lbnUpCiB7CkBAIC0yNzQsMzcgKzMwNiwxNyBA
QCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbiBDb250ZXh0TWVudUNsaWVudEltcGw6OmdldEN1c3Rv
bU1lbnVGcm9tRGVmYXVsdEl0ZW1zKAogI2VuZGlmCiAgICAgICAgIC8vIFdoZW4gQ2hyb21lIGVu
YWJsZXMgYXN5bmNocm9ub3VzIHNwZWxsY2hlY2tpbmcsIGl0cyBzcGVsbGNoZWNrZXIgYWRkcyBz
cGVsbGluZyBtYXJrZXJzIHRvIG1pc3NwZWxsZWQKICAgICAgICAgLy8gd29yZHMgYW5kIGF0dGFj
aGVzIHN1Z2dlc3Rpb25zIHRvIHRoZXNlIG1hcmtlcnMgaW4gdGhlIGJhY2tncm91bmQuIFRoZXJl
Zm9yZSwgd2hlbiBhIHVzZXIgcmlnaHQtY2xpY2tzCi0gICAgICAgIC8vIGEgbW91c2Ugb24gYSB3
b3JkLCBDaHJvbWUganVzdCBuZWVkcyB0byBmaW5kIGEgc3BlbGxpbmcgbWFya2VyIG9uIHRoZSB3
b3JkIGluc3RyZWFkIG9mIHNwZWxsY2hlY2tpbmcgaXQuCisgICAgICAgIC8vIGEgbW91c2Ugb24g
YSB3b3JkLCBDaHJvbWUganVzdCBuZWVkcyB0byBmaW5kIGEgc3BlbGxpbmcgbWFya2VyIG9uIHRo
ZSB3b3JkIGluc3RlYWQgb2Ygc3BlbGxjaGVja2luZyBpdC4KICAgICAgICAgaWYgKHNlbGVjdGVk
RnJhbWUtPnNldHRpbmdzKCkgJiYgc2VsZWN0ZWRGcmFtZS0+c2V0dGluZ3MoKS0+YXN5bmNocm9u
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoKSkgewotICAgICAgICAgICAgVmlzaWJsZVNlbGVjdGlv
biBzZWxlY3Rpb24gPSBzZWxlY3RlZEZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCk7Ci0g
ICAgICAgICAgICBib29sIHNob3VsZFVwZGF0ZVNlbGVjdGlvbiA9IGZhbHNlOwotICAgICAgICAg
ICAgaWYgKHNlbGVjdGlvbi5pc0NhcmV0T3JSYW5nZSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KHNlbGVjdGlvbi5pc0NhcmV0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmV4
cGFuZFVzaW5nR3JhbnVsYXJpdHkoV29yZEdyYW51bGFyaXR5KTsKLSAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkVXBkYXRlU2VsZWN0aW9uID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IHNlbGVjdGlvbi50b05vcm1hbGl6ZWRS
YW5nZSgpOwotICAgICAgICAgICAgICAgIFZlY3RvcjxEb2N1bWVudE1hcmtlcio+IG1hcmtlcnMg
PSBzZWxlY3RlZEZyYW1lLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPm1hcmtlcnNJblJhbmdlKHJh
bmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcgfCBEb2N1bWVudE1hcmtlcjo6R3Jh
bW1hcik7Ci0gICAgICAgICAgICAgICAgaWYgKG1hcmtlcnMuc2l6ZSgpID09IDEpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKG1hcmtlcnNbMF0tPnN0YXJ0T2Zmc2V0KCkgIT0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHJhbmdlLT5zdGFydE9mZnNldCgpKSB8fCBtYXJrZXJzWzBdLT5lbmRPZmZz
ZXQoKSAhPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZ2UtPmVuZE9mZnNldCgpKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1hcmtlcnMuY2xlYXIoKTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgaWYgKG1hcmtlcnMuc2l6ZSgpID09IDEpIHsKLSAgICAgICAgICAgICAg
ICAgICAgcmFuZ2UtPnNldFN0YXJ0KHJhbmdlLT5zdGFydENvbnRhaW5lcigpLCBtYXJrZXJzWzBd
LT5zdGFydE9mZnNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2UtPnNldEVuZChyYW5n
ZS0+ZW5kQ29udGFpbmVyKCksIG1hcmtlcnNbMF0tPmVuZE9mZnNldCgpKTsKLSAgICAgICAgICAg
ICAgICAgICAgZGF0YS5taXNzcGVsbGVkV29yZCA9IHJhbmdlLT50ZXh0KCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChtYXJrZXJzWzBdLT5kZXNjcmlwdGlvbigpLmxlbmd0aCgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBWZWN0b3I8U3RyaW5nPiBzdWdnZXN0aW9uczsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCkuc3BsaXQoJ1xuJywgc3Vn
Z2VzdGlvbnMpOwotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kaWN0aW9uYXJ5U3VnZ2Vz
dGlvbnMgPSBzdWdnZXN0aW9uczsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IG1pc3NwZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5ndGg7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBtX3dlYlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKS0+c3BlbGxDaGVjayhkYXRhLm1pc3Nw
ZWxsZWRXb3JkLCBtaXNzcGVsbGVkT2Zmc2V0LCBtaXNzcGVsbGVkTGVuZ3RoLCAmZGF0YS5kaWN0
aW9uYXJ5U3VnZ2VzdGlvbnMpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIHNlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24ocmFuZ2UuZ2V0KCkpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoc2hvdWxkVXBkYXRlU2VsZWN0aW9uICYmIHNlbGVjdGVkRnJhbWUt
PnNlbGVjdGlvbigpLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGVjdGVkRnJhbWUtPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24o
c2VsZWN0aW9uLCBXb3JkR3JhbnVsYXJpdHkpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIFZlY3RvcjxEb2N1bWVudE1hcmtlcio+IG1hcmtlcnM7CisgICAgICAgICAgICBkYXRhLm1p
c3NwZWxsZWRXb3JkID0gc2VsZWN0TWlzc3BlbGxpbmdBc3luYyhzZWxlY3RlZEZyYW1lLCBtYXJr
ZXJzKTsKKyAgICAgICAgICAgIGlmIChtYXJrZXJzLnNpemUoKSA9PSAxICYmIG1hcmtlcnNbMF0t
PmRlc2NyaXB0aW9uKCkubGVuZ3RoKCkpIHsKKyAgICAgICAgICAgICAgICBWZWN0b3I8U3RyaW5n
PiBzdWdnZXN0aW9uczsKKyAgICAgICAgICAgICAgICBtYXJrZXJzWzBdLT5kZXNjcmlwdGlvbigp
LnNwbGl0KCdcbicsIHN1Z2dlc3Rpb25zKTsKKyAgICAgICAgICAgICAgICBkYXRhLmRpY3Rpb25h
cnlTdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zOworICAgICAgICAgICAgfSBlbHNlIGlmIChtX3dl
YlZpZXctPnNwZWxsQ2hlY2tDbGllbnQoKSkgeworICAgICAgICAgICAgICAgIGludCBtaXNzcGVs
bGVkT2Zmc2V0LCBtaXNzcGVsbGVkTGVuZ3RoOworICAgICAgICAgICAgICAgIG1fd2ViVmlldy0+
c3BlbGxDaGVja0NsaWVudCgpLT5zcGVsbENoZWNrKGRhdGEubWlzc3BlbGxlZFdvcmQsIG1pc3Nw
ZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5ndGgsICZkYXRhLmRpY3Rpb25hcnlTdWdnZXN0aW9u
cyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkYXRhLmlz
U3BlbGxDaGVja2luZ0VuYWJsZWQgPSAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBmODI3OTAxNzcyNmIwMDNlZDE2OGRkMzQxZTBkYTk0YTEzZTc4
MDI1Li4zMWJmODMyNzBiOWJkYzQzZTkzNWE2NzI1ZTBlMTY5ZmM1NDFkNTlkIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtDaHJvbWl1bV0gU3VnZ2VzdCAndXBwZXJjYXNlJyBmb3IgbXVsdGktd29yZCBt
aXNzcGVsbGluZyAndXBwZXIgY2FzZScKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwODUwOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcu
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9Nb2Nr
U3BlbGxDaGVjay5jcHA6CisgICAgICAgIChhcHBlbmQpOiBBZGRlZCB1dGlsaXR5IGZ1bmN0aW9u
IHRvIGFwcGVuZCBXZWJTdHJpbmcgdG8gV2ViVmVjdG9yLgorICAgICAgICAoTW9ja1NwZWxsQ2hl
Y2s6OmZpbGxTdWdnZXN0aW9uTGlzdCk6IFN1Z2dlc3QgJ3VwcGVyY2FzZScgZm9yIG1pc3NwZWxs
aW5nICd1cHBlciBjYXNlJy4KKwogMjAxMy0wMS0zMSAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5r
aUBhcHBsZS5jb20+CiAKICAgICAgICAgRHVtcFJlbmRlclRyZWUgc2hvdWxkIHB1dCBOU1NvdW5k
IGNhbGxzIGluc2lkZSBVU0UoQVBQS0lUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvTW9ja1NwZWxsQ2hlY2suY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvTW9ja1NwZWxsQ2hlY2suY3BwCmlu
ZGV4IGZiOWZjZWQxNjk3ZGQxMWI4NGJmMzY0YjQwMWZhNWRlYjQyOWRhMGYuLjgxYjMwODkyYjU4
MjBhY2YzYzhiMmFkNzhmZTg0MTE2ZjkwZThjYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL01vY2tTcGVsbENoZWNrLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9Nb2NrU3BlbGxDaGVj
ay5jcHAKQEAgLTM3LDYgKzM3LDE1IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKK3N0
YXRpYyB2b2lkIGFwcGVuZChXZWJWZWN0b3I8V2ViU3RyaW5nPiogZGF0YSwgY29uc3QgV2ViU3Ry
aW5nJiBpdGVtKQoreworICAgIFdlYlZlY3RvcjxXZWJTdHJpbmc+IHJlc3VsdChkYXRhLT5zaXpl
KCkgKyAxKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRhdGEtPnNpemUoKTsgKytpKQor
ICAgICAgICByZXN1bHRbaV0gPSAoKmRhdGEpW2ldOworICAgIHJlc3VsdFtkYXRhLT5zaXplKCld
ID0gaXRlbTsKKyAgICBkYXRhLT5zd2FwKHJlc3VsdCk7Cit9CisKIE1vY2tTcGVsbENoZWNrOjpN
b2NrU3BlbGxDaGVjaygpCiAgICAgOiBtX2luaXRpYWxpemVkKGZhbHNlKSB7IH0KIApAQCAtMTA3
LDEzICsxMTYsMTAgQEAgYm9vbCBNb2NrU3BlbGxDaGVjazo6c3BlbGxDaGVja1dvcmQoY29uc3Qg
V2ViU3RyaW5nJiB0ZXh0LCBpbnQqIG1pc3NwZWxsZWRPZmZzZXQKIAogdm9pZCBNb2NrU3BlbGxD
aGVjazo6ZmlsbFN1Z2dlc3Rpb25MaXN0KGNvbnN0IFdlYlN0cmluZyYgd29yZCwgV2ViVmVjdG9y
PFdlYlN0cmluZz4qIHN1Z2dlc3Rpb25zKQogewotICAgIGlmICh3b3JkID09IFdlYlN0cmluZzo6
ZnJvbVVURjgoIndlbGxjb21lIikpIHsKLSAgICAgICAgV2ViVmVjdG9yPFdlYlN0cmluZz4gcmVz
dWx0KHN1Z2dlc3Rpb25zLT5zaXplKCkgKyAxKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBzdWdnZXN0aW9ucy0+c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICByZXN1bHRbaV0gPSAo
KnN1Z2dlc3Rpb25zKVtpXTsKLSAgICAgICAgcmVzdWx0W3N1Z2dlc3Rpb25zLT5zaXplKCldID0g
V2ViU3RyaW5nOjpmcm9tVVRGOCgid2VsY29tZSIpOwotICAgICAgICBzdWdnZXN0aW9ucy0+c3dh
cChyZXN1bHQpOwotICAgIH0KKyAgICBpZiAod29yZCA9PSBXZWJTdHJpbmc6OmZyb21VVEY4KCJ3
ZWxsY29tZSIpKQorICAgICAgICBhcHBlbmQoc3VnZ2VzdGlvbnMsIFdlYlN0cmluZzo6ZnJvbVVU
RjgoIndlbGNvbWUiKSk7CisgICAgZWxzZSBpZiAod29yZCA9PSBXZWJTdHJpbmc6OmZyb21VVEY4
KCJ1cHBlciBjYXNlIikpCisgICAgICAgIGFwcGVuZChzdWdnZXN0aW9ucywgV2ViU3RyaW5nOjpm
cm9tVVRGOCgidXBwZXJjYXNlIikpOwogfQogCiBib29sIE1vY2tTcGVsbENoZWNrOjppbml0aWFs
aXplSWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgyYWNmYTMzNDFkMTU1Mzc0ZDZlNmU3YzRiNjgwNWJkYzU4
ZGNiZGUuLmQ1ODZhZjlmMjdmMmZjODYyMjFiM2JjZDI2ODRjZmY5NTJmM2RmMDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMy0wMS0zMSAgUm91c2xhbiBTb2xvbWFraGluICA8cm91c2xhbkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBFeHBlY3Qgc3BlbGxjaGVjayB0byBz
ZWxlY3QgbXVsdGktd29yZCBtaXNzcGVsbGluZyBvbiBjb250ZXh0IGNsaWNrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg1MDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWw6IENoZWNrIHNwZWxsaW5n
IHN1Z2dlc3Rpb24gZm9yIG11bHRpLXdvcmQgbWlzc3BlbGxpbmcuCisgICAgICAgICogZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWw6IENo
ZWNrIHNwZWxsaW5nIHN1Z2dlc3Rpb24gZm9yIG11bHRpLXdvcmQgbWlzc3BlbGxpbmcuCisgICAg
ICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxl
LXdvcmRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEV4cGVjdCBzcGVsbGNoZWNrIHRvIHNl
bGVjdCBtdWx0aS13b3JkIG1pc3NwZWxsaW5nIG9uIGNvbnRleHQgY2xpY2sKKwogMjAxMy0wMS0z
MSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgogCiAgICAgICAgIFF1YWRyYXRp
YyBhbmQgYmV6aWVyIGN1cnZlcyB3aXRoIGNvaW5jaWRlbnQgZW5kcG9pbnRzIHJlbmRlcmVkIGlu
Y29ycmVjdGx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxl
LXdvcmRzLWV4cGVjdGVkLnR4dAppbmRleCA0NGE3OTQ3NWU1NzZmYmI4Nzk4MWI2MmU2N2I1MWE0
ODI3Y2NmNjJkLi5hMGZjMTZmZWFiYjM1N2VkZDk5N2RjMDg1Y2ZlY2RjNDMxOWE3MDIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2Vs
ZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy1leHBl
Y3RlZC50eHQKQEAgLTgsNiArOCw3IEBAIFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3Ry
aW5nKCkgaXMgIiIKIFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgInVw
cGVyIGNhc2UiCiBQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAidXBwZXIg
Y2FzZSIKIFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgInVwcGVyIGNh
c2UiCitQQVNTIGNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGgg
LSAxXSBpcyAidXBwZXJjYXNlIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jk
cy5odG1sCmluZGV4IDNkMzI1NGZiNDY4Yjg3NDcyM2VlNWM2YTRjOGMxOTRiZjYwYTkyOTMuLjBi
NzhhOTE0ODI5ZGY2ZTUzYjA3ZjliMGU3ODM5MDliMGU2NmY4ZDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBs
ZS13b3Jkcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
ZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odG1sCkBAIC0zOSw2ICszOSw3IEBAIGlu
aXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIkl0IHNob3VsZCBiZSB1cHBlciBjYXNlLiIsIGZ1
bmN0aW9uKHRleHROb2RlKSB7CiAgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5t
YXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOwogICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgInVwcGVyIGNh
c2UiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpIiwgInVwcGVyIGNhc2UiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNv
bnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSIsICJ1cHBl
cmNhc2UiKTsKIH0pOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxl
Y3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CmluZGV4IGI2YTQ1NDE2OGFkYzk3ZDFjN2Q2
ZGU0MGEzZmU3YTdhZDBiMjk0Y2EuLmU0N2RlZGI5MGNlZGI3MDNjNjgxOWVhYjAzNzkwZDYzMjA0
YTIxODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
c2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRz
LWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDcgQEAgUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRv
U3RyaW5nKCkgaXMgInVwcGVyIGNhc2UiCiBQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0
cmluZygpIGlzICIiCiBQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAidXBw
ZXIgY2FzZSIKIFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgInVwcGVy
IGNhc2UiCitQQVNTIGNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5n
dGggLSAxXSBpcyAidXBwZXJjYXNlIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5o
dG1sCmluZGV4IGNkZjA0MjgzN2IxNDU2MzA0MDljODA4ZjVmODQ0NTIzNTU2Nzk0MzUuLmQ5ZDVj
MmMwODk3ZWFhNmVhMjllZWMxZjRkOTY2YTQ0NWM5YTQxYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jk
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxk
LXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sCkBAIC0zMCw2ICszMCw3IEBAIGluaXRTcGVsbFRl
c3QoImRlc3RpbmF0aW9uIiwgIkl0IHNob3VsZCBiZSB1cHBlciBjYXNlLiIsIGZ1bmN0aW9uKHRl
eHROb2RlKSB7CiAgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5n
ZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOwogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgInVwcGVyIGNhc2UiKTsKICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IiwgInVwcGVyIGNhc2UiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHRNZW51
RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSIsICJ1cHBlcmNhc2UiKTsK
IH0pOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDhiMGZmNjhiMzc5MzI1N2E1YzBmYzJhMWIzMzFkODI0Y2Y5N2Q1
ZjYuLmY1MjBhNDM5Y2YwNDBiZDJjYTQxYzM1ZmEwNDhiYjcwMDNlOWM0NTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDM1Nyw3ICs0
MzU3LDYgQEAgd2Via2l0Lm9yZy9iLzEwODI4NiBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3Nv
ZnR3YXJlY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQKICMgU3BlbGxjaGVja2VyIGJlaGF2aW9y
IHRlc3RzLgogd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRv
dWJsZS1jbGlja2VkLXdvcmQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwODM3MCBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNj
b3Jlcy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5j
dHVhdGlvbi1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwODM3MCBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtdW5kZXJzY29yZS1zZWxlY3Rpb24uaHRtbCBb
IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5n
LXdpdGgtd2hpdGVzcGFjZS1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185896</attachid>
            <date>2013-01-31 16:44:35 -0800</date>
            <delta_ts>2013-01-31 18:06:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-108509-20130131164118.patch</filename>
            <type>text/plain</type>
            <size>14839</size>
            <attacher name="Rouslan Solomakhin">rouslan+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGMyYTA1MzNkNTAwOGI0ZGJjMTRiNzI3M2I4MTAwZjMxNDFhMGU5NTYuLmUyMGIzN2ExYTA2MTE2
ZDFkZjVjYWZhZTIxYTA5MmExYzFlYmJhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEtMzEgIFJvdXNsYW4gU29sb21ha2hpbiAgPHJvdXNsYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gU2VsZWN0IG11bHRpLXdvcmQgbWlz
c3BlbGxpbmcgb24gY29udGV4dCBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFu
Zy4KKworICAgICAgICAqIHNyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6c2VsZWN0TWlzc3BlbGxpbmdBc3luYyk6IEFkZGVk
IHV0aWxpdHkgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtaXNzcGVsbGluZyBmb3IgYXN5bmNocm9ub3Vz
IHNwZWxsY2hlY2suCisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0
Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMpOiBTZWxlY3QgbXVsdGktd29yZCBtaXNzcGVsbGlu
ZyBvbiBjb250ZXh0IGNsaWNrLgorCiAyMDEzLTAxLTMxICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0
YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xp
ZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVu
dEltcGwuY3BwCmluZGV4IDMzOTU2YmNhNzg0ZTAxOTQ1OWIyZjkzZDRiNDYwMWM1NmVmNTAzMjcu
LmY1ZWEwNmUyMTc3NDEyZjVjMWI3MzczMjAzMzU4M2Y3NDgwNjdmY2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcApAQCAt
NDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgorI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC0xMDIs
OCArMTAzLDggQEAgc3RhdGljIGJvb2wgaXNBU2luZ2xlV29yZChjb25zdCBTdHJpbmcmIHRleHQp
CiB9CiAKIC8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgbWlzc3BlbGxlZCB3b3JkIG9uIHdoaWNo
IGNvbnRleHQgbWVudQotLy8gaXMgdG8gYmUgZXZvbGtlZC4gVGhpcyBmdW5jdGlvbiBhbHNvIHNl
dHMgdGhlIHdvcmQgb24gd2hpY2ggY29udGV4dCBtZW51Ci0vLyBoYXMgYmVlbiBldm9rZWQgdG8g
YmUgdGhlIHNlbGVjdGVkIHdvcmQsIGFzIHJlcXVpcmVkLiBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMK
Ky8vIGlzIHRvIGJlIGludm9rZWQuIFRoaXMgZnVuY3Rpb24gYWxzbyBzZXRzIHRoZSB3b3JkIG9u
IHdoaWNoIGNvbnRleHQgbWVudQorLy8gaGFzIGJlZW4gaW52b2tlZCB0byBiZSB0aGUgc2VsZWN0
ZWQgd29yZCwgYXMgcmVxdWlyZWQuIFRoaXMgZnVuY3Rpb24gY2hhbmdlcwogLy8gdGhlIHNlbGVj
dGlvbiBvbmx5IHdoZW4gdGhlcmUgd2VyZSBubyBzZWxlY3RlZCBjaGFyYWN0ZXJzIG9uIE9TIFgu
CiBzdGF0aWMgU3RyaW5nIHNlbGVjdE1pc3NwZWxsZWRXb3JkKGNvbnN0IENvbnRleHRNZW51KiBk
ZWZhdWx0TWVudSwgRnJhbWUqIHNlbGVjdGVkRnJhbWUpCiB7CkBAIC0xNDMsNiArMTQ0LDM0IEBA
IHN0YXRpYyBTdHJpbmcgc2VsZWN0TWlzc3BlbGxlZFdvcmQoY29uc3QgQ29udGV4dE1lbnUqIGRl
ZmF1bHRNZW51LCBGcmFtZSogc2VsZWN0CiAgICAgcmV0dXJuIG1pc3NwZWxsZWRXb3JkOwogfQog
CitzdGF0aWMgU3RyaW5nIHNlbGVjdE1pc3NwZWxsaW5nQXN5bmMoRnJhbWUqIHNlbGVjdGVkRnJh
bWUsIFZlY3RvcjxEb2N1bWVudE1hcmtlcio+JiBtYXJrZXJzKQoreworICAgIFZpc2libGVTZWxl
Y3Rpb24gc2VsZWN0aW9uID0gc2VsZWN0ZWRGcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigp
OworICAgIGlmICghc2VsZWN0aW9uLmlzQ2FyZXRPclJhbmdlKCkpCisgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKworICAgIC8vIENhcmV0IGFuZCByYW5nZSBzZWxlY3Rpb25zIGFsd2F5cyByZXR1
cm4gdmFsaWQgbm9ybWFsaXplZCByYW5nZXMuCisgICAgUmVmUHRyPFJhbmdlPiBzZWxlY3Rpb25S
YW5nZSA9IHNlbGVjdGlvbi50b05vcm1hbGl6ZWRSYW5nZSgpOworICAgIG1hcmtlcnMuYXBwZW5k
KHNlbGVjdGVkRnJhbWUtPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+bWFya2Vyc0luUmFuZ2Uoc2Vs
ZWN0aW9uUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2VyOjpTcGVsbGluZyB8IERvY3VtZW50TWFy
a2VyOjpHcmFtbWFyKSk7CisgICAgaWYgKG1hcmtlcnMuc2l6ZSgpICE9IDEpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKKworICAgIC8vIENsb25pbmcgYSByYW5nZSBmYWlscyBvbmx5IGZvciBp
bnZhbGlkIHJhbmdlcy4KKyAgICBSZWZQdHI8UmFuZ2U+IG1hcmtlclJhbmdlID0gc2VsZWN0aW9u
UmFuZ2UtPmNsb25lUmFuZ2UoQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgbWFya2VyUmFuZ2Ut
PnNldFN0YXJ0KG1hcmtlclJhbmdlLT5zdGFydENvbnRhaW5lcigpLCBtYXJrZXJzWzBdLT5zdGFy
dE9mZnNldCgpKTsKKyAgICBtYXJrZXJSYW5nZS0+c2V0RW5kKG1hcmtlclJhbmdlLT5lbmRDb250
YWluZXIoKSwgbWFya2Vyc1swXS0+ZW5kT2Zmc2V0KCkpOworICAgIGlmIChzZWxlY3Rpb24uaXND
YXJldCgpKSB7CisgICAgICAgIHNlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24obWFya2VyUmFu
Z2UuZ2V0KCkpOworICAgICAgICBzZWxlY3RlZEZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0
aW9uKHNlbGVjdGlvbiwgV29yZEdyYW51bGFyaXR5KTsKKyAgICAgICAgc2VsZWN0aW9uUmFuZ2Ug
PSBzZWxlY3Rpb24udG9Ob3JtYWxpemVkUmFuZ2UoKTsKKyAgICB9CisKKyAgICBpZiAoIVdlYkNv
cmU6OmFyZVJhbmdlc0VxdWFsKG1hcmtlclJhbmdlLmdldCgpLCBzZWxlY3Rpb25SYW5nZS5nZXQo
KSkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIHJldHVybiBtYXJrZXJSYW5nZS0+
dGV4dCgpOworfQorCiBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbiBDb250ZXh0TWVudUNsaWVudElt
cGw6OmdldEN1c3RvbU1lbnVGcm9tRGVmYXVsdEl0ZW1zKAogICAgIENvbnRleHRNZW51KiBkZWZh
dWx0TWVudSkKIHsKQEAgLTI3NCwzNyArMzAzLDE3IEBAIFBsYXRmb3JtTWVudURlc2NyaXB0aW9u
IENvbnRleHRNZW51Q2xpZW50SW1wbDo6Z2V0Q3VzdG9tTWVudUZyb21EZWZhdWx0SXRlbXMoCiAj
ZW5kaWYKICAgICAgICAgLy8gV2hlbiBDaHJvbWUgZW5hYmxlcyBhc3luY2hyb25vdXMgc3BlbGxj
aGVja2luZywgaXRzIHNwZWxsY2hlY2tlciBhZGRzIHNwZWxsaW5nIG1hcmtlcnMgdG8gbWlzc3Bl
bGxlZAogICAgICAgICAvLyB3b3JkcyBhbmQgYXR0YWNoZXMgc3VnZ2VzdGlvbnMgdG8gdGhlc2Ug
bWFya2VycyBpbiB0aGUgYmFja2dyb3VuZC4gVGhlcmVmb3JlLCB3aGVuIGEgdXNlciByaWdodC1j
bGlja3MKLSAgICAgICAgLy8gYSBtb3VzZSBvbiBhIHdvcmQsIENocm9tZSBqdXN0IG5lZWRzIHRv
IGZpbmQgYSBzcGVsbGluZyBtYXJrZXIgb24gdGhlIHdvcmQgaW5zdHJlYWQgb2Ygc3BlbGxjaGVj
a2luZyBpdC4KKyAgICAgICAgLy8gYSBtb3VzZSBvbiBhIHdvcmQsIENocm9tZSBqdXN0IG5lZWRz
IHRvIGZpbmQgYSBzcGVsbGluZyBtYXJrZXIgb24gdGhlIHdvcmQgaW5zdGVhZCBvZiBzcGVsbGNo
ZWNraW5nIGl0LgogICAgICAgICBpZiAoc2VsZWN0ZWRGcmFtZS0+c2V0dGluZ3MoKSAmJiBzZWxl
Y3RlZEZyYW1lLT5zZXR0aW5ncygpLT5hc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCgp
KSB7Ci0gICAgICAgICAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbiA9IHNlbGVjdGVkRnJh
bWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKTsKLSAgICAgICAgICAgIGJvb2wgc2hvdWxkVXBk
YXRlU2VsZWN0aW9uID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmlzQ2FyZXRP
clJhbmdlKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmlzQ2FyZXQoKSkgewot
ICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uZXhwYW5kVXNpbmdHcmFudWxhcml0eShXb3Jk
R3JhbnVsYXJpdHkpOwotICAgICAgICAgICAgICAgICAgICBzaG91bGRVcGRhdGVTZWxlY3Rpb24g
PSB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+
IHJhbmdlID0gc2VsZWN0aW9uLnRvTm9ybWFsaXplZFJhbmdlKCk7Ci0gICAgICAgICAgICAgICAg
VmVjdG9yPERvY3VtZW50TWFya2VyKj4gbWFya2VycyA9IHNlbGVjdGVkRnJhbWUtPmRvY3VtZW50
KCktPm1hcmtlcnMoKS0+bWFya2Vyc0luUmFuZ2UocmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2Vy
OjpTcGVsbGluZyB8IERvY3VtZW50TWFya2VyOjpHcmFtbWFyKTsKLSAgICAgICAgICAgICAgICBp
ZiAobWFya2Vycy5zaXplKCkgPT0gMSkgewotICAgICAgICAgICAgICAgICAgICBpZiAobWFya2Vy
c1swXS0+c3RhcnRPZmZzZXQoKSAhPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZ2UtPnN0YXJ0
T2Zmc2V0KCkpIHx8IG1hcmtlcnNbMF0tPmVuZE9mZnNldCgpICE9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihyYW5nZS0+ZW5kT2Zmc2V0KCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Vy
cy5jbGVhcigpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAobWFya2Vy
cy5zaXplKCkgPT0gMSkgewotICAgICAgICAgICAgICAgICAgICByYW5nZS0+c2V0U3RhcnQocmFu
Z2UtPnN0YXJ0Q29udGFpbmVyKCksIG1hcmtlcnNbMF0tPnN0YXJ0T2Zmc2V0KCkpOwotICAgICAg
ICAgICAgICAgICAgICByYW5nZS0+c2V0RW5kKHJhbmdlLT5lbmRDb250YWluZXIoKSwgbWFya2Vy
c1swXS0+ZW5kT2Zmc2V0KCkpOwotICAgICAgICAgICAgICAgICAgICBkYXRhLm1pc3NwZWxsZWRX
b3JkID0gcmFuZ2UtPnRleHQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1hcmtlcnNbMF0t
PmRlc2NyaXB0aW9uKCkubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFZlY3Rv
cjxTdHJpbmc+IHN1Z2dlc3Rpb25zOwotICAgICAgICAgICAgICAgICAgICAgICAgbWFya2Vyc1sw
XS0+ZGVzY3JpcHRpb24oKS5zcGxpdCgnXG4nLCBzdWdnZXN0aW9ucyk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBkYXRhLmRpY3Rpb25hcnlTdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zOwotICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlzc3BlbGxlZE9mZnNldCwgbWlzc3Bl
bGxlZExlbmd0aDsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fd2ViVmlldy0+c3BlbGxDaGVj
a0NsaWVudCgpLT5zcGVsbENoZWNrKGRhdGEubWlzc3BlbGxlZFdvcmQsIG1pc3NwZWxsZWRPZmZz
ZXQsIG1pc3NwZWxsZWRMZW5ndGgsICZkYXRhLmRpY3Rpb25hcnlTdWdnZXN0aW9ucyk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gVmlzaWJs
ZVNlbGVjdGlvbihyYW5nZS5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRV
cGRhdGVTZWxlY3Rpb24gJiYgc2VsZWN0ZWRGcmFtZS0+c2VsZWN0aW9uKCktPnNob3VsZENoYW5n
ZVNlbGVjdGlvbihzZWxlY3Rpb24pKQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRG
cmFtZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihzZWxlY3Rpb24sIFdvcmRHcmFudWxhcml0
eSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgVmVjdG9yPERvY3VtZW50TWFya2Vy
Kj4gbWFya2VyczsKKyAgICAgICAgICAgIGRhdGEubWlzc3BlbGxlZFdvcmQgPSBzZWxlY3RNaXNz
cGVsbGluZ0FzeW5jKHNlbGVjdGVkRnJhbWUsIG1hcmtlcnMpOworICAgICAgICAgICAgaWYgKG1h
cmtlcnMuc2l6ZSgpID09IDEgJiYgbWFya2Vyc1swXS0+ZGVzY3JpcHRpb24oKS5sZW5ndGgoKSkg
eworICAgICAgICAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHN1Z2dlc3Rpb25zOworICAgICAgICAg
ICAgICAgIG1hcmtlcnNbMF0tPmRlc2NyaXB0aW9uKCkuc3BsaXQoJ1xuJywgc3VnZ2VzdGlvbnMp
OworICAgICAgICAgICAgICAgIGRhdGEuZGljdGlvbmFyeVN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlv
bnM7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1fd2ViVmlldy0+c3BlbGxDaGVja0NsaWVudCgp
KSB7CisgICAgICAgICAgICAgICAgaW50IG1pc3NwZWxsZWRPZmZzZXQsIG1pc3NwZWxsZWRMZW5n
dGg7CisgICAgICAgICAgICAgICAgbV93ZWJWaWV3LT5zcGVsbENoZWNrQ2xpZW50KCktPnNwZWxs
Q2hlY2soZGF0YS5taXNzcGVsbGVkV29yZCwgbWlzc3BlbGxlZE9mZnNldCwgbWlzc3BlbGxlZExl
bmd0aCwgJmRhdGEuZGljdGlvbmFyeVN1Z2dlc3Rpb25zKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRhdGEuaXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4Mjc5
MDE3NzI2YjAwM2VkMTY4ZGQzNDFlMGRhOTRhMTNlNzgwMjUuLjMxYmY4MzI3MGI5YmRjNDNlOTM1
YTY3MjVlMGUxNjlmYzU0MWQ1OWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMS0zMSAgUm91c2xhbiBTb2xv
bWFraGluICA8cm91c2xhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBTdWdn
ZXN0ICd1cHBlcmNhc2UnIGZvciBtdWx0aS13b3JkIG1pc3NwZWxsaW5nICd1cHBlciBjYXNlJwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NTA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL01vY2tTcGVsbENoZWNrLmNwcDoKKyAgICAgICAg
KGFwcGVuZCk6IEFkZGVkIHV0aWxpdHkgZnVuY3Rpb24gdG8gYXBwZW5kIFdlYlN0cmluZyB0byBX
ZWJWZWN0b3IuCisgICAgICAgIChNb2NrU3BlbGxDaGVjazo6ZmlsbFN1Z2dlc3Rpb25MaXN0KTog
U3VnZ2VzdCAndXBwZXJjYXNlJyBmb3IgbWlzc3BlbGxpbmcgJ3VwcGVyIGNhc2UnLgorCiAyMDEz
LTAxLTMxICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBE
dW1wUmVuZGVyVHJlZSBzaG91bGQgcHV0IE5TU291bmQgY2FsbHMgaW5zaWRlIFVTRShBUFBLSVQp
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3Ny
Yy9Nb2NrU3BlbGxDaGVjay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL3NyYy9Nb2NrU3BlbGxDaGVjay5jcHAKaW5kZXggZmI5ZmNlZDE2OTdkZDExYjg0YmYz
NjRiNDAxZmE1ZGViNDI5ZGEwZi4uODFiMzA4OTJiNTgyMGFjZjNjOGIyYWQ3OGZlODQxMTZmOTBl
OGNiZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5l
ci9zcmMvTW9ja1NwZWxsQ2hlY2suY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RSdW5uZXIvc3JjL01vY2tTcGVsbENoZWNrLmNwcApAQCAtMzcsNiArMzcsMTUgQEAK
IAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorc3RhdGljIHZvaWQgYXBwZW5kKFdlYlZlY3Rv
cjxXZWJTdHJpbmc+KiBkYXRhLCBjb25zdCBXZWJTdHJpbmcmIGl0ZW0pCit7CisgICAgV2ViVmVj
dG9yPFdlYlN0cmluZz4gcmVzdWx0KGRhdGEtPnNpemUoKSArIDEpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgZGF0YS0+c2l6ZSgpOyArK2kpCisgICAgICAgIHJlc3VsdFtpXSA9ICgqZGF0
YSlbaV07CisgICAgcmVzdWx0W2RhdGEtPnNpemUoKV0gPSBpdGVtOworICAgIGRhdGEtPnN3YXAo
cmVzdWx0KTsKK30KKwogTW9ja1NwZWxsQ2hlY2s6Ok1vY2tTcGVsbENoZWNrKCkKICAgICA6IG1f
aW5pdGlhbGl6ZWQoZmFsc2UpIHsgfQogCkBAIC0xMDcsMTMgKzExNiwxMCBAQCBib29sIE1vY2tT
cGVsbENoZWNrOjpzcGVsbENoZWNrV29yZChjb25zdCBXZWJTdHJpbmcmIHRleHQsIGludCogbWlz
c3BlbGxlZE9mZnNldAogCiB2b2lkIE1vY2tTcGVsbENoZWNrOjpmaWxsU3VnZ2VzdGlvbkxpc3Qo
Y29uc3QgV2ViU3RyaW5nJiB3b3JkLCBXZWJWZWN0b3I8V2ViU3RyaW5nPiogc3VnZ2VzdGlvbnMp
CiB7Ci0gICAgaWYgKHdvcmQgPT0gV2ViU3RyaW5nOjpmcm9tVVRGOCgid2VsbGNvbWUiKSkgewot
ICAgICAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiByZXN1bHQoc3VnZ2VzdGlvbnMtPnNpemUoKSAr
IDEpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN1Z2dlc3Rpb25zLT5zaXplKCk7
ICsraSkKLSAgICAgICAgICAgIHJlc3VsdFtpXSA9ICgqc3VnZ2VzdGlvbnMpW2ldOwotICAgICAg
ICByZXN1bHRbc3VnZ2VzdGlvbnMtPnNpemUoKV0gPSBXZWJTdHJpbmc6OmZyb21VVEY4KCJ3ZWxj
b21lIik7Ci0gICAgICAgIHN1Z2dlc3Rpb25zLT5zd2FwKHJlc3VsdCk7Ci0gICAgfQorICAgIGlm
ICh3b3JkID09IFdlYlN0cmluZzo6ZnJvbVVURjgoIndlbGxjb21lIikpCisgICAgICAgIGFwcGVu
ZChzdWdnZXN0aW9ucywgV2ViU3RyaW5nOjpmcm9tVVRGOCgid2VsY29tZSIpKTsKKyAgICBlbHNl
IGlmICh3b3JkID09IFdlYlN0cmluZzo6ZnJvbVVURjgoInVwcGVyIGNhc2UiKSkKKyAgICAgICAg
YXBwZW5kKHN1Z2dlc3Rpb25zLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJ1cHBlcmNhc2UiKSk7CiB9
CiAKIGJvb2wgTW9ja1NwZWxsQ2hlY2s6OmluaXRpYWxpemVJZk5lZWRlZCgpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODJh
Y2ZhMzM0MWQxNTUzNzRkNmU2ZTdjNGI2ODA1YmRjNThkY2JkZS4uZDU4NmFmOWYyN2YyZmM4NjIy
MWIzYmNkMjY4NGNmZjk1MmYzZGYwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAxLTMx
ICBSb3VzbGFuIFNvbG9tYWtoaW4gIDxyb3VzbGFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBb
Q2hyb21pdW1dIEV4cGVjdCBzcGVsbGNoZWNrIHRvIHNlbGVjdCBtdWx0aS13b3JkIG1pc3NwZWxs
aW5nIG9uIGNvbnRleHQgY2xpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwODUwOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisK
KyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVs
dGlwbGUtd29yZHMuaHRtbDogQ2hlY2sgc3BlbGxpbmcgc3VnZ2VzdGlvbiBmb3IgbXVsdGktd29y
ZCBtaXNzcGVsbGluZy4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3Vs
ZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbDogQ2hlY2sgc3BlbGxpbmcgc3VnZ2VzdGlvbiBm
b3IgbXVsdGktd29yZCBtaXNzcGVsbGluZy4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13
b3Jkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9uczogRXhwZWN0IHNwZWxsY2hlY2sgdG8gc2VsZWN0IG11bHRpLXdvcmQgbWlzc3BlbGxp
bmcgb24gY29udGV4dCBjbGljaworCiAyMDEzLTAxLTMxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
ZkBnbWFpbC5jb20+CiAKICAgICAgICAgUXVhZHJhdGljIGFuZCBiZXppZXIgY3VydmVzIHdpdGgg
Y29pbmNpZGVudCBlbmRwb2ludHMgcmVuZGVyZWQgaW5jb3JyZWN0bHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0
aXBsZS13b3Jkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CmluZGV4
IDQ0YTc5NDc1ZTU3NmZiYjg3OTgxYjYyZTY3YjUxYTQ4MjdjY2Y2MmQuLmEwZmMxNmZlYWJiMzU3
ZWRkOTk3ZGMwODVjZmVjZGM0MzE5YTcwMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFj
dGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dApAQCAtOCw2ICs4LDcgQEAg
UEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgogUEFTUyB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAidXBwZXIgY2FzZSIKIFBBU1Mgc3BlbGxpbmdN
YXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ1cHBlciBjYXNlIgogUEFTUyB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAidXBwZXIgY2FzZSIKK1BBU1MgY29udGV4dE1lbnVFbGVt
ZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlzICJ1cHBlcmNhc2UiCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1t
dWx0aXBsZS13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwKaW5kZXggM2QzMjU0ZmI0Njhi
ODc0NzIzZWU1YzZhNGM4YzE5NGJmNjBhOTI5My4uMGI3OGE5MTQ4MjlkZjZlNTNiMDdmOWIwZTc4
MzkwOWIwZTY2ZjhkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxl
LXdvcmRzLmh0bWwKQEAgLTM5LDYgKzM5LDcgQEAgaW5pdFNwZWxsVGVzdCgiZGVzdGluYXRpb24i
LCAiSXQgc2hvdWxkIGJlIHVwcGVyIGNhc2UuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKICAgICBz
cGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9k
ZSwgInNwZWxsaW5nIiwgMCk7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01h
cmtlclJhbmdlLnRvU3RyaW5nKCkiLCAidXBwZXIgY2FzZSIpOwogICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAidXBwZXIgY2FzZSIp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0
TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIiwgInVwcGVyY2FzZSIpOwogfSk7CiAKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91
bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1leHBlY3Rl
ZC50eHQKaW5kZXggYjZhNDU0MTY4YWRjOTdkMWM3ZDZkZTQwYTNmZTdhN2FkMGIyOTRjYS4uZTQ3
ZGVkYjkwY2VkYjcwM2M2ODE5ZWFiMDM3OTBkNjMyMDRhMjE4NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdv
cmRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CkBAIC03LDYgKzcs
NyBAQCBQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAidXBwZXIgY2FzZSIK
IFBBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIiIKIFBBU1Mgc3BlbGxp
bmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ1cHBlciBjYXNlIgogUEFTUyB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAidXBwZXIgY2FzZSIKK1BBU1MgY29udGV4dE1lbnVF
bGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlzICJ1cHBlcmNhc2UiCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1t
dWx0aXBsZS13b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwKaW5kZXggY2RmMDQyODM3YjE0NTYz
MDQwOWM4MDhmNWY4NDQ1MjM1NTY3OTQzNS4uZDlkNWMyYzA4OTdlYWE2ZWEyOWVlYzFmNGQ5NjZh
NDQ1YzlhNDFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0
bWwKQEAgLTMwLDYgKzMwLDcgQEAgaW5pdFNwZWxsVGVzdCgiZGVzdGluYXRpb24iLCAiSXQgc2hv
dWxkIGJlIHVwcGVyIGNhc2UuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKICAgICBzcGVsbGluZ01h
cmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxs
aW5nIiwgMCk7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkiLCAidXBwZXIgY2FzZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
d2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAidXBwZXIgY2FzZSIpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1l
bnRzLmxlbmd0aCAtIDFdIiwgInVwcGVyY2FzZSIpOwogfSk7CiAKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOGIwZmY2
OGIzNzkzMjU3YTVjMGZjMmExYjMzMWQ4MjRjZjk3ZDVmNi4uZjUyMGE0MzljZjA0MGJkMmNhNDFj
MzVmYTA0OGJiNzAwM2U5YzQ1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MzU3LDcgKzQzNTcsNiBAQCB3ZWJraXQub3JnL2IvMTA4
Mjg2IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvc29mdHdhcmVjb21wb3NpdGluZy9nZW9tZXRy
eS9maXhlZAogIyBTcGVsbGNoZWNrZXIgYmVoYXZpb3IgdGVzdHMuCiB3ZWJraXQub3JnL2IvMTA4
MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC5odG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
ZG91YmxlLWNsaWNrZWQtd29yZC13aXRoLXVuZGVyc2NvcmVzLmh0bWwgWyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0
LW11bHRpcGxlLXdvcmRzLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDgzNzAgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9uLXNlbGVjdGlvbi5odG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
d2l0aC11bmRlcnNjb3JlLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC13aGl0ZXNwYWNlLXNlbGVjdGlv
bi5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>