<?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>103777</bug_id>
          
          <creation_ts>2012-11-30 14:24:39 -0800</creation_ts>
          <short_desc>[Resource Timing] Record and report initiator</short_desc>
          <delta_ts>2012-12-03 14:21:35 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84883</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>pan.deng</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>780426</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-11-30 14:24:39 -0800</bug_when>
    <thetext>[Resource Timing] Record and report initiator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780440</commentid>
    <comment_count>1</comment_count>
      <attachid>177029</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-11-30 14:42:51 -0800</bug_when>
    <thetext>Created attachment 177029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780442</commentid>
    <comment_count>2</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-11-30 14:44:12 -0800</bug_when>
    <thetext>Nate, this is the Resource Timing patch I&apos;d discussed with you earlier. I record the timing information in a map on CachedResourceLoader. Let me know what you think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780452</commentid>
    <comment_count>3</comment_count>
      <attachid>177029</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-11-30 15:03:12 -0800</bug_when>
    <thetext>Comment on attachment 177029
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:520
&gt; +#if ENABLE(RESOURCE_TIMING)
&gt; +    InitiatorInfo info = { request.initiatorName(), monotonicallyIncreasingTime() };
&gt; +    m_initiatorMap.add(resource.get(), info);
&gt; +#endif

Is it intentional that this won&apos;t populate m_initiatorMap for revalidations?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:709
&gt; +        if (initiatorIt != m_initiatorMap.end()) {

What are the cases where we won&apos;t find the resource in the map?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:712
&gt; +            if (document())
&gt; +                document()-&gt;domWindow()-&gt;performance()-&gt;addResourceTiming(info.name, document(), resource-&gt;resourceRequest(), resource-&gt;response(), info.startTime, resource-&gt;loadFinishTime());

Probably want to ASSERT(document()) here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780493</commentid>
    <comment_count>4</comment_count>
      <attachid>177038</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-11-30 15:50:22 -0800</bug_when>
    <thetext>Created attachment 177038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780495</commentid>
    <comment_count>5</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-11-30 15:50:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 177029 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177029&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:520
&gt; &gt; +#if ENABLE(RESOURCE_TIMING)
&gt; &gt; +    InitiatorInfo info = { request.initiatorName(), monotonicallyIncreasingTime() };
&gt; &gt; +    m_initiatorMap.add(resource.get(), info);
&gt; &gt; +#endif
&gt; 
&gt; Is it intentional that this won&apos;t populate m_initiatorMap for revalidations?

Nope. Good catch.

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:709
&gt; &gt; +        if (initiatorIt != m_initiatorMap.end()) {
&gt; 
&gt; What are the cases where we won&apos;t find the resource in the map?

loadDone() is called twice. See the traces below.

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:712
&gt; &gt; +            if (document())
&gt; &gt; +                document()-&gt;domWindow()-&gt;performance()-&gt;addResourceTiming(info.name, document(), resource-&gt;resourceRequest(), resource-&gt;response(), info.startTime, resource-&gt;loadFinishTime());
&gt; 
&gt; Probably want to ASSERT(document()) here?

Done.



Traces:

(gdb) bt
#0  WebCore::CachedResourceLoader::loadDone (this=0x7fffe367a280, resource=
    0x7fffe2456500)
    at ../../third_party/WebKit/Source/WebCore/loader/cache/CachedResourceLoader
#1  0x00007ffff308502c in WebCore::SubresourceLoader::releaseResources (this=
    0x7fffe2487000)
    at ../../third_party/WebKit/Source/WebCore/loader/SubresourceLoader.cpp:318
#2  0x00007ffff307f8cc in WebCore::ResourceLoader::didFinishLoading (this=
    0x7fffe2487000, finishTime=0)
    at ../../third_party/WebKit/Source/WebCore/loader/ResourceLoader.cpp:314
#3  0x00007ffff3084bdc in WebCore::SubresourceLoader::didFinishLoading (this=
    0x7fffe2487000, finishTime=0)
    at ../../third_party/WebKit/Source/WebCore/loader/SubresourceLoader.cpp:277
#4  0x00007ffff3080045 in WebCore::ResourceLoader::didFinishLoading (this=
    0x7fffe2487000, finishTime=0)
    at ../../third_party/WebKit/Source/WebCore/loader/ResourceLoader.cpp:453
#5  0x00007ffff2a61ee2 in WebCore::ResourceHandleInternal::didFinishLoading (
    this=0x7fffe3678000, finishTime=0)
    at ../../third_party/WebKit/Source/WebCore/platform/network/chromium/Resourc



- and - 


STDERR: 	base::debug::StackTrace::StackTrace() [0x7fc909c8cae4]
STDERR: 	base::debug::(anonymous namespace)::StackDumpSignalHandler() [0x7fc909c8c7e5]
STDERR: 	&lt;unknown&gt; [0x7fc90280d4a0]
STDERR: 	WebCore::CachedResourceLoader::loadDone() [0x7fc90722c2a0]
STDERR: 	WebCore::SubresourceLoader::releaseResources() [0x7fc90720202c]
STDERR: 	WebCore::ResourceLoader::cancel() [0x7fc9071fcd47]
STDERR: 	WebCore::ResourceLoader::cancel() [0x7fc9071fcaf7]
STDERR: 	WebCore::cancelAll() [0x7fc9071ad2c4]
STDERR: 	WebCore::DocumentLoader::stopLoadingSubresources() [0x7fc9071b02f6]
STDERR: 	WebCore::DocumentLoader::stopLoading() [0x7fc9071ae156]
STDERR: 	WebCore::FrameLoader::stopAllLoaders() [0x7fc9071d0c3d]
STDERR: 	WebCore::FrameLoader::continueLoadAfterNavigationPolicy() [0x7fc9071d6194]
STDERR: 	WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy() [0x7fc9071d5a61]
STDERR: 	WebCore::PolicyCallback::call() [0x7fc9071eeed2]
STDERR: 	WebCore::PolicyChecker::continueAfterNavigationPolicy() [0x7fc9071efd4b]
STDERR: 	WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction() [0x7fc905f1b068]
STDERR: 	WebCore::PolicyChecker::checkNavigationPolicy() [0x7fc9071ef756]
STDERR: 	WebCore::FrameLoader::loadWithDocumentLoader() [0x7fc9071cff1c]
STDERR: 	WebCore::FrameLoader::loadWithNavigationAction() [0x7fc9071cf7b5]
STDERR: 	WebCore::FrameLoader::loadURL() [0x7fc9071cee0f]
STDERR: 	WebCore::FrameLoader::loadFrameRequest() [0x7fc9071ce6ed]
STDERR: 	WebCore::FrameLoader::urlSelected() [0x7fc9071cacca]
STDERR: 	WebCore::FrameLoader::urlSelected() [0x7fc9071caa18]
STDERR: 	WebCore::HTMLAnchorElement::handleClick() [0x7fc9073ccb7f]
STDERR: 	WebCore::HTMLAnchorElement::defaultEventHandler() [0x7fc9073caeca]
STDERR: 	WebCore::EventDispatcher::dispatchEventPostProcess() [0x7fc9066179d6]
STDERR: 	WebCore::EventDispatcher::dispatchEvent() [0x7fc906616b70]
STDERR: 	WebCore::EventDispatchMediator::dispatchEvent() [0x7fc906614e6c]
STDERR: 	WebCore::EventDispatcher::dispatchEvent() [0x7fc906615af0]
STDERR: 	WebCore::Node::dispatchEvent() [0x7fc90664ca56]
STDERR: 	WebCore::EventTarget::dispatchEvent() [0x7fc906620cbb]
STDERR: 	WebCore::NodeV8Internal::dispatchEventCallback() [0x7fc9078ae7ef]
STDERR: 	v8::internal::HandleApiCallHelper&lt;&gt;() [0x7fc90b90890a]
STDERR: 	v8::internal::Builtin_Impl_HandleApiCall() [0x7fc90b902fa3]
STDERR: 	v8::internal::Builtin_HandleApiCall() [0x7fc90b902f74]
STDERR: 	&lt;unknown&gt; [0x3e08aaf0654e]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781793</commentid>
    <comment_count>6</comment_count>
      <attachid>177038</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-12-03 12:59:04 -0800</bug_when>
    <thetext>Comment on attachment 177038
Patch

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

LGTM, just some formatting pedantry:

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:712
&gt; +#if ENABLE(RESOURCE_TIMING)

newlines before and after this #if/#else/#endif block, please.

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:724
&gt; +#endif

This is long enough that an // ENABLE(RESOURCE_TIMING) would make me happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781818</commentid>
    <comment_count>7</comment_count>
      <attachid>177315</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-12-03 13:27:23 -0800</bug_when>
    <thetext>Created attachment 177315
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781819</commentid>
    <comment_count>8</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-12-03 13:27:51 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 177038 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177038&amp;action=review
&gt; 
&gt; LGTM, just some formatting pedantry:

Thanks.

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:712
&gt; &gt; +#if ENABLE(RESOURCE_TIMING)
&gt; 
&gt; newlines before and after this #if/#else/#endif block, please.

Done.

&gt; 
&gt; &gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:724
&gt; &gt; +#endif
&gt; 
&gt; This is long enough that an // ENABLE(RESOURCE_TIMING) would make me happy.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781871</commentid>
    <comment_count>9</comment_count>
      <attachid>177315</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 14:12:40 -0800</bug_when>
    <thetext>Comment on attachment 177315
Patch for landing

Rejecting attachment 177315 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ripts/update-webkit line 152.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 2
Updating OpenSource
From http://git.chromium.org/external/Webkit
   e9cfa82..99a0591  HEAD       -&gt; origin/HEAD
error: Ref refs/remotes/origin/master is at 99a0591e2f7986bdde68fdbbfa7ba90e4741de91 but expected e9cfa82bccbe6dbf99a5b026e145a5ad84051691
 ! e9cfa82..99a0591  master     -&gt; origin/master  (unable to update local ref)
Died at Tools/Scripts/update-webkit line 152.

Full output: http://queues.webkit.org/results/15100694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781877</commentid>
    <comment_count>10</comment_count>
      <attachid>177328</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-12-03 14:17:38 -0800</bug_when>
    <thetext>Created attachment 177328
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781878</commentid>
    <comment_count>11</comment_count>
      <attachid>177328</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 14:19:46 -0800</bug_when>
    <thetext>Comment on attachment 177328
Patch for landing

Rejecting attachment 177328 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

/mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/15103668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781879</commentid>
    <comment_count>12</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-12-03 14:21:35 -0800</bug_when>
    <thetext>Committed r136439: &lt;http://trac.webkit.org/changeset/136439&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177029</attachid>
            <date>2012-11-30 14:42:51 -0800</date>
            <delta_ts>2012-11-30 15:50:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103777-20121130144023.patch</filename>
            <type>text/plain</type>
            <size>7094</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZjNmMwYjRmNWMwNjY2
ZmJkN2U2MTI3OGQyZjA1ZDA3MDUwOGU1My4uZmU5ZmRlODkxZDEwZjhjOThjN2U4ZGQ5OTYzMDBi
N2NlMWI2ZThlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDEyLTExLTMwICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBSZWNvcmQgYW5kIHJlcG9ydCBpbml0aWF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc3NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBzdGFydCBwb3B1bGF0aW5nIHRo
ZSBSZXNvdXJjZSBUaW1pbmcgYnVmZmVyIHdpdGggZW50cmllcy4gVGhlIGluaXRpYXRvciB3aWxs
IGJlCisgICAgICAgIHJlY29yZGVkIGZvciBlYWNoIENhY2hlZFJlc291cmNlTG9hZGVyLiBUaGlz
IHNob3VsZCBtYXRjaCB0aGUgbmV4dCB1cGRhdGUgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgVGVz
dHM6IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcKKwor
ICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuY3BwOiBBbHdheXMgcmVjb3JkIHRpbWluZyBpbmZvcm1hdGlvbiBp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVy
OjpyZWxlYXNlUmVzb3VyY2VzKTogUmVwb3J0IHRoZSBhY3R1YWwgcmVzb3VyY2UgdGhhdCBjYWxs
ZWQgbG9hZERvbmUoKS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNv
dXJjZSk6IFJlY29yZCB0aGUgaW5pdGlhdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmxvYWREb25lKTogUmVjb3JkIHRoZSBlbnRyeSBpbiBSZXNvdXJjZSBUaW1p
bmcuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgIChDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChJbml0aWF0b3JJbmZvKToKKwor
MjAxMi0xMS0zMCAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKICAg
ICAgICAgUmVwb3J0IENTUyBhcyBpbml0aWF0b3IgaW5zdGVhZCBvZiBlbGVtZW50cywgZXhjZXB0
IGJvZHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzU0NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDY0ZWUwYThk
NzczMjA2MWUxODk5NmM3YmMzZmVjMWU5MDAzYTcyZjQuLmNiMGRjOGQxNGIxOGZmNDg5YzM2YTdm
MjAwNTAzYTQwOWU5NzIzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC01ODgsNyArNTg4LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVy
RmlyZWQoVGltZXI8V2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yPiopCiAgICAgICAgIGNhY2hlZFJl
c291cmNlTG9hZGVyLT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udHNUb0JlZ2luTG9hZGluZ1tp
XS5nZXQoKSk7CiAgICAgfQogICAgIC8vIEVuc3VyZSB0aGF0IGlmIHRoZSByZXF1ZXN0IGNvdW50
IHJlYWNoZXMgemVybywgdGhlIGZyYW1lIGxvYWRlciB3aWxsIGtub3cgYWJvdXQgaXQuCi0gICAg
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWREb25lKCk7CisgICAgY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPmxvYWREb25lKDApOwogICAgIC8vIE5ldyBmb250IGxvYWRzIG1heSBiZSB0cmlnZ2VyZWQg
YnkgbGF5b3V0IGFmdGVyIHRoZSBkb2N1bWVudCBsb2FkIGlzIGNvbXBsZXRlIGJ1dCBiZWZvcmUg
d2UgaGF2ZSBkaXNwYXRjaGVkCiAgICAgLy8gZGlkRmluaXNoTG9hZGluZyBmb3IgdGhlIGZyYW1l
LiBNYWtlIHN1cmUgdGhlIGRlbGVnYXRlIGlzIGFsd2F5cyBkaXNwYXRjaGVkIGJ5IGNoZWNraW5n
IGV4cGxpY2l0bHkuCiAgICAgaWYgKG1fZG9jdW1lbnQgJiYgbV9kb2N1bWVudC0+ZnJhbWUoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4
IGM3MzQ5YTFlZDZhMjMzMzJkZjhjOTQyOTliMmYyOWMxNzM1MDAwNDcuLjI0ZGY0ODljNzkyZWIw
OWZlZTA3YTQwNDE2NzAwOTVkNTg0MmI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTIxLDYgKzEyMSwxMCBAQCB2b2lkIFJlc291
cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciog
bG9hZGVyLCB1bnNpZwogICAgIC8vIFJlcG9ydCBXZWJUaW1pbmcgZm9yIGFsbCBmcmFtZXMuCiAg
ICAgaWYgKGxvYWRlciAmJiAhcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0LnVybCgpID09IGxv
YWRlci0+cmVxdWVzdFVSTCgpKQogICAgICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmco
dHJ1ZSk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHJlcXVlc3Quc2V0UmVw
b3J0TG9hZFRpbWluZyh0cnVlKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlc291cmNlTG9hZE5vdGlm
aWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIsIFJlc291
cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGU2N2YxMDI3YTk2MWE0Y2E2MjJiZTBjNDlhZjkyYTk4MzEz
NTY2OGQuLjA4OTNhZTdlNzc0OTVlYmJhMzlkZDIyYWRlYzdhY2JiNmM1Y2FiYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMzE1LDcgKzMxNSw3
IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OnJlbGVhc2VSZXNvdXJjZXMoKQogICAgIEFTU0VS
VCghcmVhY2hlZFRlcm1pbmFsU3RhdGUoKSk7CiAgICAgaWYgKG1fc3RhdGUgIT0gVW5pbml0aWFs
aXplZCkgewogICAgICAgICBtX3JlcXVlc3RDb3VudFRyYWNrZXIuY2xlYXIoKTsKLSAgICAgICAg
bV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+bG9hZERvbmUoKTsKKyAg
ICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+bG9hZERvbmUo
bV9yZXNvdXJjZSk7CiAgICAgICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBtX3Jlc291cmNlLT5zdG9wTG9hZGluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggODAzZTFkY2QxYjA5ZjE4MDMwODUxOTFkNTYwN2EwOWU5YTc5ZDg4Ny4uNGY0MDU2MGEy
MzNkZWNhYjIwNmYyMzEyMjJmNWFjNThjY2FmMmJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02Nyw2ICs2Nywx
MCBAQAogI2luY2x1ZGUgIkNhY2hlZFNoYWRlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogI2RlZmlu
ZSBQUkVMT0FEX0RFQlVHIDAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEwLDYgKzUxNCwx
MCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWRSZXNvdXJjZShDYWNoZWRSZQogCiAgICAgaWYgKCFtZW1vcnlDYWNoZSgpLT5h
ZGQocmVzb3VyY2UuZ2V0KCkpKQogICAgICAgICByZXNvdXJjZS0+c2V0T3duaW5nQ2FjaGVkUmVz
b3VyY2VMb2FkZXIodGhpcyk7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBJbml0
aWF0b3JJbmZvIGluZm8gPSB7IHJlcXVlc3QuaW5pdGlhdG9yTmFtZSgpLCBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSB9OworICAgIG1faW5pdGlhdG9yTWFwLmFkZChyZXNvdXJjZS5nZXQo
KSwgaW5mbyk7CisjZW5kaWYKICAgICByZXR1cm4gcmVzb3VyY2U7CiB9CiAKQEAgLTY5MSwxMCAr
Njk5LDIzIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlbW92ZUNhY2hlZFJlc291cmNl
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkgY29uc3QKICAgICBtX2RvY3VtZW50UmVzb3VyY2Vz
LnJlbW92ZShyZXNvdXJjZS0+dXJsKCkpOwogfQogCi12b2lkIENhY2hlZFJlc291cmNlTG9hZGVy
Ojpsb2FkRG9uZSgpCit2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZShDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAgICAgUmVmUHRyPERvY3VtZW50TG9hZGVyPiBwcm90ZWN0
RG9jdW1lbnRMb2FkZXIobV9kb2N1bWVudExvYWRlcik7CiAgICAgUmVmUHRyPERvY3VtZW50PiBw
cm90ZWN0RG9jdW1lbnQobV9kb2N1bWVudCk7CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyAgICBpZiAocmVzb3VyY2UpIHsKKyAgICAgICAgSGFzaE1hcDxDYWNoZWRSZXNvdXJjZSosIElu
aXRpYXRvckluZm8+OjppdGVyYXRvciBpbml0aWF0b3JJdCA9IG1faW5pdGlhdG9yTWFwLmZpbmQo
cmVzb3VyY2UpOworICAgICAgICBpZiAoaW5pdGlhdG9ySXQgIT0gbV9pbml0aWF0b3JNYXAuZW5k
KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IEluaXRpYXRvckluZm8mIGluZm8gPSBpbml0aWF0b3JJ
dC0+dmFsdWU7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKSkKKyAgICAgICAgICAgICAgICBk
b2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmco
aW5mby5uYW1lLCBkb2N1bWVudCgpLCByZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCksIHJlc291
cmNlLT5yZXNwb25zZSgpLCBpbmZvLnN0YXJ0VGltZSwgcmVzb3VyY2UtPmxvYWRGaW5pc2hUaW1l
KCkpOworICAgICAgICAgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKGluaXRpYXRvckl0KTsKKyAg
ICAgICAgfQorICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHJlc291cmNlKTsKKyNlbmRp
ZgogICAgIGlmIChmcmFtZSgpKQogICAgICAgICBmcmFtZSgpLT5sb2FkZXIoKS0+bG9hZERvbmUo
KTsKICAgICBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IGUzY2Y2N2ZkNmRmOGUy
OWY1M2JjYjA5Y2UzNGNjMTA0Mjg0Y2NmNmQuLmE4MTlmNDE0NzZiNTBjNTE5OTYzNGUzYTEwNjUx
MWM2M2FhY2RmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0xMjAsNyArMTIwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
Y2xlYXJEb2N1bWVudExvYWRlcigpIHsgbV9kb2N1bWVudExvYWRlciA9IDA7IH0KIAogICAgIHZv
aWQgcmVtb3ZlQ2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKSBjb25zdDsKLSAgICB2b2lk
IGxvYWREb25lKCk7CisgICAgdm9pZCBsb2FkRG9uZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZv
aWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpOwogICAgIAogICAgIHZvaWQgaW5j
cmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hlZFJlc291cmNlKik7CkBAIC0xNzYsNiArMTc2
LDE0IEBAIHByaXZhdGU6CiAKICAgICBUaW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4gbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXI7CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorICAgIHN0cnVjdCBJbml0aWF0b3JJbmZvIHsKKyAgICAgICAgQXRvbWljU3RyaW5n
IG5hbWU7CisgICAgICAgIGRvdWJsZSBzdGFydFRpbWU7CisgICAgfTsKKyAgICBIYXNoTWFwPENh
Y2hlZFJlc291cmNlKiwgSW5pdGlhdG9ySW5mbz4gbV9pbml0aWF0b3JNYXA7CisjZW5kaWYKKwog
ICAgIC8vIDI5IGJpdHMgbGVmdAogICAgIGJvb2wgbV9hdXRvTG9hZEltYWdlcyA6IDE7CiAgICAg
Ym9vbCBtX2ltYWdlc0VuYWJsZWQgOiAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177038</attachid>
            <date>2012-11-30 15:50:22 -0800</date>
            <delta_ts>2012-12-03 13:27:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103777-20121130154753.patch</filename>
            <type>text/plain</type>
            <size>8974</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZjNmMwYjRmNWMwNjY2
ZmJkN2U2MTI3OGQyZjA1ZDA3MDUwOGU1My4uZmU5ZmRlODkxZDEwZjhjOThjN2U4ZGQ5OTYzMDBi
N2NlMWI2ZThlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDEyLTExLTMwICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBSZWNvcmQgYW5kIHJlcG9ydCBpbml0aWF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc3NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBzdGFydCBwb3B1bGF0aW5nIHRo
ZSBSZXNvdXJjZSBUaW1pbmcgYnVmZmVyIHdpdGggZW50cmllcy4gVGhlIGluaXRpYXRvciB3aWxs
IGJlCisgICAgICAgIHJlY29yZGVkIGZvciBlYWNoIENhY2hlZFJlc291cmNlTG9hZGVyLiBUaGlz
IHNob3VsZCBtYXRjaCB0aGUgbmV4dCB1cGRhdGUgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgVGVz
dHM6IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcKKwor
ICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuY3BwOiBBbHdheXMgcmVjb3JkIHRpbWluZyBpbmZvcm1hdGlvbiBp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVy
OjpyZWxlYXNlUmVzb3VyY2VzKTogUmVwb3J0IHRoZSBhY3R1YWwgcmVzb3VyY2UgdGhhdCBjYWxs
ZWQgbG9hZERvbmUoKS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNv
dXJjZSk6IFJlY29yZCB0aGUgaW5pdGlhdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmxvYWREb25lKTogUmVjb3JkIHRoZSBlbnRyeSBpbiBSZXNvdXJjZSBUaW1p
bmcuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgIChDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChJbml0aWF0b3JJbmZvKToKKwor
MjAxMi0xMS0zMCAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKICAg
ICAgICAgUmVwb3J0IENTUyBhcyBpbml0aWF0b3IgaW5zdGVhZCBvZiBlbGVtZW50cywgZXhjZXB0
IGJvZHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MzU0NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDY0ZWUwYThk
NzczMjA2MWUxODk5NmM3YmMzZmVjMWU5MDAzYTcyZjQuLmNiMGRjOGQxNGIxOGZmNDg5YzM2YTdm
MjAwNTAzYTQwOWU5NzIzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC01ODgsNyArNTg4LDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVy
RmlyZWQoVGltZXI8V2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yPiopCiAgICAgICAgIGNhY2hlZFJl
c291cmNlTG9hZGVyLT5kZWNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udHNUb0JlZ2luTG9hZGluZ1tp
XS5nZXQoKSk7CiAgICAgfQogICAgIC8vIEVuc3VyZSB0aGF0IGlmIHRoZSByZXF1ZXN0IGNvdW50
IHJlYWNoZXMgemVybywgdGhlIGZyYW1lIGxvYWRlciB3aWxsIGtub3cgYWJvdXQgaXQuCi0gICAg
Y2FjaGVkUmVzb3VyY2VMb2FkZXItPmxvYWREb25lKCk7CisgICAgY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPmxvYWREb25lKDApOwogICAgIC8vIE5ldyBmb250IGxvYWRzIG1heSBiZSB0cmlnZ2VyZWQg
YnkgbGF5b3V0IGFmdGVyIHRoZSBkb2N1bWVudCBsb2FkIGlzIGNvbXBsZXRlIGJ1dCBiZWZvcmUg
d2UgaGF2ZSBkaXNwYXRjaGVkCiAgICAgLy8gZGlkRmluaXNoTG9hZGluZyBmb3IgdGhlIGZyYW1l
LiBNYWtlIHN1cmUgdGhlIGRlbGVnYXRlIGlzIGFsd2F5cyBkaXNwYXRjaGVkIGJ5IGNoZWNraW5n
IGV4cGxpY2l0bHkuCiAgICAgaWYgKG1fZG9jdW1lbnQgJiYgbV9kb2N1bWVudC0+ZnJhbWUoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4
IGM3MzQ5YTFlZDZhMjMzMzJkZjhjOTQyOTliMmYyOWMxNzM1MDAwNDcuLjI0ZGY0ODljNzkyZWIw
OWZlZTA3YTQwNDE2NzAwOTVkNTg0MmI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTIxLDYgKzEyMSwxMCBAQCB2b2lkIFJlc291
cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciog
bG9hZGVyLCB1bnNpZwogICAgIC8vIFJlcG9ydCBXZWJUaW1pbmcgZm9yIGFsbCBmcmFtZXMuCiAg
ICAgaWYgKGxvYWRlciAmJiAhcmVxdWVzdC5pc051bGwoKSAmJiByZXF1ZXN0LnVybCgpID09IGxv
YWRlci0+cmVxdWVzdFVSTCgpKQogICAgICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmco
dHJ1ZSk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHJlcXVlc3Quc2V0UmVw
b3J0TG9hZFRpbWluZyh0cnVlKTsKKyNlbmRpZgogfQogCiB2b2lkIFJlc291cmNlTG9hZE5vdGlm
aWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIsIFJlc291
cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGU2N2YxMDI3YTk2MWE0Y2E2MjJiZTBjNDlhZjkyYTk4MzEz
NTY2OGQuLjA4OTNhZTdlNzc0OTVlYmJhMzlkZDIyYWRlYzdhY2JiNmM1Y2FiYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMzE1LDcgKzMxNSw3
IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OnJlbGVhc2VSZXNvdXJjZXMoKQogICAgIEFTU0VS
VCghcmVhY2hlZFRlcm1pbmFsU3RhdGUoKSk7CiAgICAgaWYgKG1fc3RhdGUgIT0gVW5pbml0aWFs
aXplZCkgewogICAgICAgICBtX3JlcXVlc3RDb3VudFRyYWNrZXIuY2xlYXIoKTsKLSAgICAgICAg
bV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+bG9hZERvbmUoKTsKKyAg
ICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+bG9hZERvbmUo
bV9yZXNvdXJjZSk7CiAgICAgICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBtX3Jlc291cmNlLT5zdG9wTG9hZGluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAK
aW5kZXggODAzZTFkY2QxYjA5ZjE4MDMwODUxOTFkNTYwN2EwOWU5YTc5ZDg4Ny4uZGVhMjFjNWQx
OWUzZWI0MDg0ZGJmNTIyNGIwMzg4OTNhMzJjZDE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02Nyw2ICs2Nywx
MCBAQAogI2luY2x1ZGUgIkNhY2hlZFNoYWRlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjZW5kaWYKKwogI2RlZmlu
ZSBQUkVMT0FEX0RFQlVHIDAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQ5LDcgKzQ1Myw3
IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgICAgIHJlc291cmNlID0gbG9hZFJlc291
cmNlKHR5cGUsIHJlcXVlc3QsIHJlcXVlc3QuY2hhcnNldCgpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBSZXZhbGlkYXRlOgotICAgICAgICByZXNvdXJjZSA9IHJldmFsaWRhdGVSZXNvdXJj
ZShyZXNvdXJjZS5nZXQoKSk7CisgICAgICAgIHJlc291cmNlID0gcmV2YWxpZGF0ZVJlc291cmNl
KHJlcXVlc3QsIHJlc291cmNlLmdldCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBVc2U6
CiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlc291cmNlQWNjZXNzZWQocmVzb3VyY2UuZ2V0KCkp
OwpAQCAtNDgwLDcgKzQ4NCw3IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNl
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgcmV0dXJu
IHJlc291cmNlOwogfQogCi1DYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShjb25zdCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAgICBBU1NFUlQocmVzb3Vy
Y2UpOwogICAgIEFTU0VSVChyZXNvdXJjZS0+aW5DYWNoZSgpKTsKQEAgLTQ5Nyw2ICs1MDEsMTIg
QEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9h
ZGVyOjpyZXZhbGlkYXRlUmVzb3VyY2UoQ2EKICAgICAKICAgICBtZW1vcnlDYWNoZSgpLT5yZW1v
dmUocmVzb3VyY2UpOwogICAgIG1lbW9yeUNhY2hlKCktPmFkZChuZXdSZXNvdXJjZS5nZXQoKSk7
CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBJbml0aWF0b3JJbmZvIGluZm8gPSB7
IHJlcXVlc3QuaW5pdGlhdG9yTmFtZSgpLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB9
OworICAgIG1faW5pdGlhdG9yTWFwLmFkZChuZXdSZXNvdXJjZS5nZXQoKSwgaW5mbyk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0KTsKKyNlbmRpZgogICAgIHJldHVybiBuZXdSZXNv
dXJjZTsKIH0KIApAQCAtNTEwLDYgKzUyMCwxMCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNvdXJjZShDYWNoZWRSZQog
CiAgICAgaWYgKCFtZW1vcnlDYWNoZSgpLT5hZGQocmVzb3VyY2UuZ2V0KCkpKQogICAgICAgICBy
ZXNvdXJjZS0+c2V0T3duaW5nQ2FjaGVkUmVzb3VyY2VMb2FkZXIodGhpcyk7CisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICBJbml0aWF0b3JJbmZvIGluZm8gPSB7IHJlcXVlc3QuaW5p
dGlhdG9yTmFtZSgpLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB9OworICAgIG1faW5p
dGlhdG9yTWFwLmFkZChyZXNvdXJjZS5nZXQoKSwgaW5mbyk7CisjZW5kaWYKICAgICByZXR1cm4g
cmVzb3VyY2U7CiB9CiAKQEAgLTY5MSwxMCArNzA1LDIzIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlbW92ZUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkgY29u
c3QKICAgICBtX2RvY3VtZW50UmVzb3VyY2VzLnJlbW92ZShyZXNvdXJjZS0+dXJsKCkpOwogfQog
Ci12b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSgpCit2b2lkIENhY2hlZFJlc291
cmNlTG9hZGVyOjpsb2FkRG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAgICAgUmVm
UHRyPERvY3VtZW50TG9hZGVyPiBwcm90ZWN0RG9jdW1lbnRMb2FkZXIobV9kb2N1bWVudExvYWRl
cik7CiAgICAgUmVmUHRyPERvY3VtZW50PiBwcm90ZWN0RG9jdW1lbnQobV9kb2N1bWVudCk7Cisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAocmVzb3VyY2UpIHsKKyAgICAgICAg
SGFzaE1hcDxDYWNoZWRSZXNvdXJjZSosIEluaXRpYXRvckluZm8+OjppdGVyYXRvciBpbml0aWF0
b3JJdCA9IG1faW5pdGlhdG9yTWFwLmZpbmQocmVzb3VyY2UpOworICAgICAgICBpZiAoaW5pdGlh
dG9ySXQgIT0gbV9pbml0aWF0b3JNYXAuZW5kKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChkb2N1
bWVudCgpKTsKKyAgICAgICAgICAgIGNvbnN0IEluaXRpYXRvckluZm8mIGluZm8gPSBpbml0aWF0
b3JJdC0+dmFsdWU7CisgICAgICAgICAgICBkb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cGVyZm9y
bWFuY2UoKS0+YWRkUmVzb3VyY2VUaW1pbmcoaW5mby5uYW1lLCBkb2N1bWVudCgpLCByZXNvdXJj
ZS0+cmVzb3VyY2VSZXF1ZXN0KCksIHJlc291cmNlLT5yZXNwb25zZSgpLCBpbmZvLnN0YXJ0VGlt
ZSwgcmVzb3VyY2UtPmxvYWRGaW5pc2hUaW1lKCkpOworICAgICAgICAgICAgbV9pbml0aWF0b3JN
YXAucmVtb3ZlKGluaXRpYXRvckl0KTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKHJlc291cmNlKTsKKyNlbmRpZgogICAgIGlmIChmcmFtZSgpKQogICAgICAgICBm
cmFtZSgpLT5sb2FkZXIoKS0+bG9hZERvbmUoKTsKICAgICBwZXJmb3JtUG9zdExvYWRBY3Rpb25z
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCmluZGV4IGUzY2Y2N2ZkNmRmOGUyOWY1M2JjYjA5Y2UzNGNjMTA0Mjg0Y2NmNmQuLjZj
ZGE0NTI5NWY1NTMxZWY2MjhmOTVkZDdjMDMwZDdmNDEzMjQ4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0xMjAsNyAr
MTIwLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEb2N1bWVudExvYWRlcigpIHsgbV9kb2N1
bWVudExvYWRlciA9IDA7IH0KIAogICAgIHZvaWQgcmVtb3ZlQ2FjaGVkUmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2UqKSBjb25zdDsKLSAgICB2b2lkIGxvYWREb25lKCk7CisgICAgdm9pZCBsb2FkRG9u
ZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291
cmNlcygpOwogICAgIAogICAgIHZvaWQgaW5jcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hl
ZFJlc291cmNlKik7CkBAIC0xNDMsNyArMTQzLDcgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBD
YWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudExvYWRlciopOwogCiAgICAgQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6
VHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkUmVzb3VyY2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOworICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXZhbGlkYXRlUmVzb3VyY2Uo
Y29uc3QgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVkUmVzb3VyY2UqKTsKICAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hlZFJlc291
cmNlOjpUeXBlLCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQp
OwogICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIENhY2hlZFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CiAKQEAgLTE3Niw2ICsxNzYs
MTQgQEAgcHJpdmF0ZToKIAogICAgIFRpbWVyPENhY2hlZFJlc291cmNlTG9hZGVyPiBtX2dhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lcjsKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCisgICAgc3RydWN0IEluaXRpYXRvckluZm8geworICAgICAgICBBdG9taWNTdHJpbmcg
bmFtZTsKKyAgICAgICAgZG91YmxlIHN0YXJ0VGltZTsKKyAgICB9OworICAgIEhhc2hNYXA8Q2Fj
aGVkUmVzb3VyY2UqLCBJbml0aWF0b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKKyNlbmRpZgorCiAg
ICAgLy8gMjkgYml0cyBsZWZ0CiAgICAgYm9vbCBtX2F1dG9Mb2FkSW1hZ2VzIDogMTsKICAgICBi
b29sIG1faW1hZ2VzRW5hYmxlZCA6IDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177315</attachid>
            <date>2012-12-03 13:27:23 -0800</date>
            <delta_ts>2012-12-03 14:17:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-103777-20121203132450.patch</filename>
            <type>text/plain</type>
            <size>28</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDMzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177328</attachid>
            <date>2012-12-03 14:17:38 -0800</date>
            <delta_ts>2012-12-03 14:19:46 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-103777-20121203141504.patch</filename>
            <type>text/plain</type>
            <size>8920</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg0YjBmY2RhODlmN2U5
ZDUyZGRhNzRkZmRjYTQxMzhkNjJmNzhmYi4uNDllZWQ1ZmU5NzYwZGJiMDk3Yjc2NTE1OTE5MTZm
NmY5NmYzN2FmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTMwICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBSZWNvcmQgYW5kIHJlcG9ydCBpbml0aWF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc3NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBzdGFydCBwb3B1bGF0aW5nIHRo
ZSBSZXNvdXJjZSBUaW1pbmcgYnVmZmVyIHdpdGggZW50cmllcy4gVGhlIGluaXRpYXRvciB3aWxs
IGJlCisgICAgICAgIHJlY29yZGVkIGZvciBlYWNoIENhY2hlZFJlc291cmNlTG9hZGVyLiBUaGlz
IHNob3VsZCBtYXRjaCB0aGUgbmV4dCB1cGRhdGUgb2YgdGhlIHNwZWMuCisKKyAgICAgICAgVGVz
dHM6IGh0dHAvdGVzdHMvdzNjL3dlYnBlcmYvc3VibWlzc2lvbi9yZXNvdXJjZS10aW1pbmcKKwor
ICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuY3BwOiBBbHdheXMgcmVjb3JkIHRpbWluZyBpbmZvcm1hdGlvbiBp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVy
OjpyZWxlYXNlUmVzb3VyY2VzKTogUmVwb3J0IHRoZSBhY3R1YWwgcmVzb3VyY2UgdGhhdCBjYWxs
ZWQgbG9hZERvbmUoKS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWRSZXNv
dXJjZSk6IFJlY29yZCB0aGUgaW5pdGlhdG9yLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VMb2FkZXI6OmxvYWREb25lKTogUmVjb3JkIHRoZSBlbnRyeSBpbiBSZXNvdXJjZSBUaW1p
bmcuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAg
ICAgIChDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChJbml0aWF0b3JJbmZvKToKKwog
MjAxMi0xMi0wMyAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtTa2lhXSBEZWZlcnJlZCBTa0NhbnZhcyBzYXZlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAKaW5kZXggNjRlZTBhOGQ3NzMyMDYxZTE4OTk2YzdiYzNmZWMxZTkwMDNh
NzJmNC4uY2IwZGM4ZDE0YjE4ZmY0ODljMzZhN2YyMDA1MDNhNDA5ZTk3MjMzNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTU4OCw3ICs1ODgsNyBAQCB2b2lkIENT
U0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkVGltZXJGaXJlZChUaW1lcjxXZWJDb3JlOjpDU1NGb250
U2VsZWN0b3I+KikKICAgICAgICAgY2FjaGVkUmVzb3VyY2VMb2FkZXItPmRlY3JlbWVudFJlcXVl
c3RDb3VudChmb250c1RvQmVnaW5Mb2FkaW5nW2ldLmdldCgpKTsKICAgICB9CiAgICAgLy8gRW5z
dXJlIHRoYXQgaWYgdGhlIHJlcXVlc3QgY291bnQgcmVhY2hlcyB6ZXJvLCB0aGUgZnJhbWUgbG9h
ZGVyIHdpbGwga25vdyBhYm91dCBpdC4KLSAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERv
bmUoKTsKKyAgICBjYWNoZWRSZXNvdXJjZUxvYWRlci0+bG9hZERvbmUoMCk7CiAgICAgLy8gTmV3
IGZvbnQgbG9hZHMgbWF5IGJlIHRyaWdnZXJlZCBieSBsYXlvdXQgYWZ0ZXIgdGhlIGRvY3VtZW50
IGxvYWQgaXMgY29tcGxldGUgYnV0IGJlZm9yZSB3ZSBoYXZlIGRpc3BhdGNoZWQKICAgICAvLyBk
aWRGaW5pc2hMb2FkaW5nIGZvciB0aGUgZnJhbWUuIE1ha2Ugc3VyZSB0aGUgZGVsZWdhdGUgaXMg
YWx3YXlzIGRpc3BhdGNoZWQgYnkgY2hlY2tpbmcgZXhwbGljaXRseS4KICAgICBpZiAobV9kb2N1
bWVudCAmJiBtX2RvY3VtZW50LT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHAKaW5kZXggYzczNDlhMWVkNmEyMzMzMmRmOGM5NDI5OWIy
ZjI5YzE3MzUwMDA0Ny4uMjRkZjQ4OWM3OTJlYjA5ZmVlMDdhNDA0MTY3MDA5NWQ1ODQyYjU5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCkBA
IC0xMjEsNiArMTIxLDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoV2ls
bFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnCiAgICAgLy8gUmVwb3J0
IFdlYlRpbWluZyBmb3IgYWxsIGZyYW1lcy4KICAgICBpZiAobG9hZGVyICYmICFyZXF1ZXN0Lmlz
TnVsbCgpICYmIHJlcXVlc3QudXJsKCkgPT0gbG9hZGVyLT5yZXF1ZXN0VVJMKCkpCiAgICAgICAg
IHJlcXVlc3Quc2V0UmVwb3J0TG9hZFRpbWluZyh0cnVlKTsKKworI2lmIEVOQUJMRShSRVNPVVJD
RV9USU1JTkcpCisgICAgcmVxdWVzdC5zZXRSZXBvcnRMb2FkVGltaW5nKHRydWUpOworI2VuZGlm
CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3Bv
bnNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgciwgUmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTY3ZjEw
MjdhOTYxYTRjYTYyMmJlMGM0OWFmOTJhOTgzMTM1NjY4ZC4uMDg5M2FlN2U3NzQ5NWViYmEzOWRk
MjJhZGVjN2FjYmI2YzVjYWJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwCkBAIC0zMTUsNyArMzE1LDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6
cmVsZWFzZVJlc291cmNlcygpCiAgICAgQVNTRVJUKCFyZWFjaGVkVGVybWluYWxTdGF0ZSgpKTsK
ICAgICBpZiAobV9zdGF0ZSAhPSBVbmluaXRpYWxpemVkKSB7CiAgICAgICAgIG1fcmVxdWVzdENv
dW50VHJhY2tlci5jbGVhcigpOwotICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5sb2FkRG9uZSgpOworICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLT5sb2FkRG9uZShtX3Jlc291cmNlKTsKICAgICAgICAgaWYgKHJl
YWNoZWRUZXJtaW5hbFN0YXRlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fcmVz
b3VyY2UtPnN0b3BMb2FkaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4MDNlMWRjZDFiMDlmMTgwMzA4NTE5
MWQ1NjA3YTA5ZTlhNzlkODg3Li40ZmJhZjQ3N2M3NTBmMTNmOGZmNjhiMTM2YmU5NzFiYWQ1OTE3
ZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTY3LDYgKzY3LDEwIEBACiAjaW5jbHVkZSAiQ2FjaGVkU2hhZGVy
LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKKyNlbmRpZgorCiAjZGVmaW5lIFBSRUxPQURfREVCVUcgMAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00NDksNyArNDUzLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUK
ICAgICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgcmVxdWVzdC5j
aGFyc2V0KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJldmFsaWRhdGU6Ci0gICAgICAg
IHJlc291cmNlID0gcmV2YWxpZGF0ZVJlc291cmNlKHJlc291cmNlLmdldCgpKTsKKyAgICAgICAg
cmVzb3VyY2UgPSByZXZhbGlkYXRlUmVzb3VyY2UocmVxdWVzdCwgcmVzb3VyY2UuZ2V0KCkpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFVzZToKICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVz
b3VyY2VBY2Nlc3NlZChyZXNvdXJjZS5nZXQoKSk7CkBAIC00ODAsNyArNDg0LDcgQEAgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICByZXR1cm4gcmVzb3VyY2U7CiB9CiAKLUNhY2hlZFJlc291
cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0
ZVJlc291cmNlKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK0NhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmV2YWxpZGF0ZVJlc291cmNl
KGNvbnN0IENhY2hlZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlKQogewogICAgIEFTU0VSVChyZXNvdXJjZSk7CiAgICAgQVNTRVJUKHJlc291cmNlLT5p
bkNhY2hlKCkpOwpAQCAtNDk3LDYgKzUwMSwxMiBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJldmFsaWRhdGVSZXNvdXJjZShDYQog
ICAgIAogICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXNvdXJjZSk7CiAgICAgbWVtb3J5Q2Fj
aGUoKS0+YWRkKG5ld1Jlc291cmNlLmdldCgpKTsKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5H
KQorICAgIEluaXRpYXRvckluZm8gaW5mbyA9IHsgcmVxdWVzdC5pbml0aWF0b3JOYW1lKCksIG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIH07CisgICAgbV9pbml0aWF0b3JNYXAuYWRkKG5l
d1Jlc291cmNlLmdldCgpLCBpbmZvKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHJlcXVlc3Qp
OworI2VuZGlmCiAgICAgcmV0dXJuIG5ld1Jlc291cmNlOwogfQogCkBAIC01MTAsNiArNTIwLDEw
IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6bG9hZFJlc291cmNlKENhY2hlZFJlCiAKICAgICBpZiAoIW1lbW9yeUNhY2hlKCktPmFk
ZChyZXNvdXJjZS5nZXQoKSkpCiAgICAgICAgIHJlc291cmNlLT5zZXRPd25pbmdDYWNoZWRSZXNv
dXJjZUxvYWRlcih0aGlzKTsKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIEluaXRp
YXRvckluZm8gaW5mbyA9IHsgcmVxdWVzdC5pbml0aWF0b3JOYW1lKCksIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIH07CisgICAgbV9pbml0aWF0b3JNYXAuYWRkKHJlc291cmNlLmdldCgp
LCBpbmZvKTsKKyNlbmRpZgogICAgIHJldHVybiByZXNvdXJjZTsKIH0KIApAQCAtNjkxLDEwICs3
MDUsMjUgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVtb3ZlQ2FjaGVkUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKSBjb25zdAogICAgIG1fZG9jdW1lbnRSZXNvdXJjZXMu
cmVtb3ZlKHJlc291cmNlLT51cmwoKSk7CiB9CiAKLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OmxvYWREb25lKCkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKENhY2hlZFJl
c291cmNlKiByZXNvdXJjZSkKIHsKICAgICBSZWZQdHI8RG9jdW1lbnRMb2FkZXI+IHByb3RlY3RE
b2N1bWVudExvYWRlcihtX2RvY3VtZW50TG9hZGVyKTsKICAgICBSZWZQdHI8RG9jdW1lbnQ+IHBy
b3RlY3REb2N1bWVudChtX2RvY3VtZW50KTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisgICAgaWYgKHJlc291cmNlKSB7CisgICAgICAgIEhhc2hNYXA8Q2FjaGVkUmVzb3VyY2UqLCBJ
bml0aWF0b3JJbmZvPjo6aXRlcmF0b3IgaW5pdGlhdG9ySXQgPSBtX2luaXRpYXRvck1hcC5maW5k
KHJlc291cmNlKTsKKyAgICAgICAgaWYgKGluaXRpYXRvckl0ICE9IG1faW5pdGlhdG9yTWFwLmVu
ZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKSk7CisgICAgICAgICAgICBjb25z
dCBJbml0aWF0b3JJbmZvJiBpbmZvID0gaW5pdGlhdG9ySXQtPnZhbHVlOworICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCktPmFkZFJlc291cmNlVGltaW5n
KGluZm8ubmFtZSwgZG9jdW1lbnQoKSwgcmVzb3VyY2UtPnJlc291cmNlUmVxdWVzdCgpLCByZXNv
dXJjZS0+cmVzcG9uc2UoKSwgaW5mby5zdGFydFRpbWUsIHJlc291cmNlLT5sb2FkRmluaXNoVGlt
ZSgpKTsKKyAgICAgICAgICAgIG1faW5pdGlhdG9yTWFwLnJlbW92ZShpbml0aWF0b3JJdCk7Cisg
ICAgICAgIH0KKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShyZXNvdXJjZSk7CisjZW5k
aWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKwogICAgIGlmIChmcmFtZSgpKQogICAgICAg
ICBmcmFtZSgpLT5sb2FkZXIoKS0+bG9hZERvbmUoKTsKICAgICBwZXJmb3JtUG9zdExvYWRBY3Rp
b25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oCmluZGV4IGUzY2Y2N2ZkNmRmOGUyOWY1M2JjYjA5Y2UzNGNjMTA0Mjg0Y2NmNmQu
LjZjZGE0NTI5NWY1NTMxZWY2MjhmOTVkZDdjMDMwZDdmNDEzMjQ4MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0xMjAs
NyArMTIwLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJEb2N1bWVudExvYWRlcigpIHsgbV9k
b2N1bWVudExvYWRlciA9IDA7IH0KIAogICAgIHZvaWQgcmVtb3ZlQ2FjaGVkUmVzb3VyY2UoQ2Fj
aGVkUmVzb3VyY2UqKSBjb25zdDsKLSAgICB2b2lkIGxvYWREb25lKCk7CisgICAgdm9pZCBsb2Fk
RG9uZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJl
c291cmNlcygpOwogICAgIAogICAgIHZvaWQgaW5jcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENh
Y2hlZFJlc291cmNlKik7CkBAIC0xNDMsNyArMTQzLDcgQEAgcHJpdmF0ZToKICAgICBleHBsaWNp
dCBDYWNoZWRSZXNvdXJjZUxvYWRlcihEb2N1bWVudExvYWRlciopOwogCiAgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZTo6VHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkUmVzb3VyY2U+IHJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwor
ICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiByZXZhbGlkYXRlUmVzb3Vy
Y2UoY29uc3QgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiwgQ2FjaGVkUmVzb3VyY2UqKTsKICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbG9hZFJlc291cmNlKENhY2hlZFJl
c291cmNlOjpUeXBlLCBDYWNoZWRSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQpOwogICAgIHZvaWQgcmVxdWVzdFByZWxvYWQoQ2FjaGVkUmVzb3VyY2U6OlR5cGUsIENhY2hl
ZFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgY2hhcnNldCk7CiAKQEAgLTE3Niw2ICsx
NzYsMTQgQEAgcHJpdmF0ZToKIAogICAgIFRpbWVyPENhY2hlZFJlc291cmNlTG9hZGVyPiBtX2dh
cmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lcjsKIAorI2lmIEVOQUJMRShSRVNPVVJD
RV9USU1JTkcpCisgICAgc3RydWN0IEluaXRpYXRvckluZm8geworICAgICAgICBBdG9taWNTdHJp
bmcgbmFtZTsKKyAgICAgICAgZG91YmxlIHN0YXJ0VGltZTsKKyAgICB9OworICAgIEhhc2hNYXA8
Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKKyNlbmRpZgor
CiAgICAgLy8gMjkgYml0cyBsZWZ0CiAgICAgYm9vbCBtX2F1dG9Mb2FkSW1hZ2VzIDogMTsKICAg
ICBib29sIG1faW1hZ2VzRW5hYmxlZCA6IDE7Cg==
</data>
<flag name="commit-queue"
          id="193430"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>