<?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>63021</bug_id>
          
          <creation_ts>2011-06-20 15:43:47 -0700</creation_ts>
          <short_desc>Remove FrameLoader::m_workingURL</short_desc>
          <delta_ts>2011-06-22 13:54:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>29947</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>424011</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 15:43:47 -0700</bug_when>
    <thetext>Remove FrameLoader::m_workingURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424016</commentid>
    <comment_count>1</comment_count>
      <attachid>97875</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 15:48:48 -0700</bug_when>
    <thetext>Created attachment 97875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424018</commentid>
    <comment_count>2</comment_count>
      <attachid>97875</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-20 15:52:59 -0700</bug_when>
    <thetext>Comment on attachment 97875
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424019</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 15:53:31 -0700</bug_when>
    <thetext>I am currently reviewing and writing comments. You may want to wait before doing commit-queue+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424021</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-20 15:55:08 -0700</bug_when>
    <thetext>I left the cq? to let the bots do their munching, as well as let others like yourself get a whack it it. :)  I&apos;ll CC ap and bradee just in case too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424022</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 15:56:20 -0700</bug_when>
    <thetext>&gt; I am currently reviewing and writing comments.

Thanks.  Comments always appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424023</commentid>
    <comment_count>6</comment_count>
      <attachid>97875</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 15:56:34 -0700</bug_when>
    <thetext>Comment on attachment 97875
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:422
&gt; +    m_haveReceivedFirstData = true;

Since we normally name boolean members so they finish a sentence &quot;frame loader &lt;xxx&gt;&quot; I think this should be m_hasReceivedFirstData.

&gt; Source/WebCore/loader/FrameLoader.cpp:464
&gt; -bool FrameLoader::didOpenURL(const KURL&amp; url)
&gt; +bool FrameLoader::didOpenURL()

The names for didOpenURL, closeURL and other such functions are seeming more and more strange. Removing this URL argument is part of making them even stranger. New names could really help.

&gt; Source/WebCore/loader/FrameLoader.cpp:578
&gt; +    KURL workingURL =
&gt; +#if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
&gt; +        m_archive ? m_archive-&gt;mainResource()-&gt;url() :
&gt; +#endif
&gt; +        activeDocumentLoader()-&gt;documentURL();

Is there a way to write this without the crazy formatting? There must be!

&gt; Source/WebCore/loader/FrameLoader.h:439
&gt; +    bool m_haveReceivedFirstData;

It would be best to initialize this in the FrameLoader constructor anther than leaving it uninitialized until the call to open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424028</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 16:02:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 97875 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97875&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:422
&gt; &gt; +    m_haveReceivedFirstData = true;
&gt; 
&gt; Since we normally name boolean members so they finish a sentence &quot;frame loader &lt;xxx&gt;&quot; I think this should be m_hasReceivedFirstData.

Done.

&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:464
&gt; &gt; -bool FrameLoader::didOpenURL(const KURL&amp; url)
&gt; &gt; +bool FrameLoader::didOpenURL()
&gt; 
&gt; The names for didOpenURL, closeURL and other such functions are seeming more and more strange. Removing this URL argument is part of making them even stranger. New names could really help.

Agreed.  Thoughts on a new name?

&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:578
&gt; &gt; +    KURL workingURL =
&gt; &gt; +#if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
&gt; &gt; +        m_archive ? m_archive-&gt;mainResource()-&gt;url() :
&gt; &gt; +#endif
&gt; &gt; +        activeDocumentLoader()-&gt;documentURL();
&gt; 
&gt; Is there a way to write this without the crazy formatting? There must be!

I&apos;ve changed this to another one.

&gt; &gt; Source/WebCore/loader/FrameLoader.h:439
&gt; &gt; +    bool m_haveReceivedFirstData;
&gt; 
&gt; It would be best to initialize this in the FrameLoader constructor anther than leaving it uninitialized until the call to open.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424034</commentid>
    <comment_count>8</comment_count>
      <attachid>97881</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 16:05:30 -0700</bug_when>
    <thetext>Created attachment 97881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424040</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 16:11:58 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; The names for didOpenURL, closeURL and other such functions are seeming more and more strange. Removing this URL argument is part of making them even stranger. New names could really help.
&gt; 
&gt; Agreed.  Thoughts on a new name?

I don’t have the slightest idea what closeURL should be named. There’s already a function named stopLoading, one named finishedLoading, one named finishedLoadingDocument, and one named loadDone. I have no clear idea how these functions relate to each other. Aggh. Must keep at it!

For didOpenURL there’s already a function named started, already a function named open, and already a function named transitionToCommitted. I have no clear idea how these functions relate to each other. Aggh. Must keep at it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424041</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 16:14:18 -0700</bug_when>
    <thetext>Eric is looking at all the functions that start loads.  Maybe the next thing for me to do is to look at all the functions that stop the loader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424064</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-20 16:32:59 -0700</bug_when>
    <thetext>Committed r89312: &lt;http://trac.webkit.org/changeset/89312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425539</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-22 13:44:15 -0700</bug_when>
    <thetext>This caused https://bugs.webkit.org/show_bug.cgi?id=63169.  And could have been avoided by us running the layout tests on our mac-ews bots.  We should look at doing that again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425553</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-22 13:54:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; This caused https://bugs.webkit.org/show_bug.cgi?id=63169.  And could have been avoided by us running the layout tests on our mac-ews bots.  We should look at doing that again.

Interesting.  I ran the tests locally specifically because I was worried about webarchive issues.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97875</attachid>
            <date>2011-06-20 15:48:48 -0700</date>
            <delta_ts>2011-06-20 16:05:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63021-20110620154847.patch</filename>
            <type>text/plain</type>
            <size>7524</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5Mjk5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDYtMjAgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgRnJhbWVMb2FkZXI6Om1fd29ya2luZ1VSTAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwMjEKKworICAgICAg
ICBGcmFtZUxvYWRlciBzaG91bGRuJ3Qga2VlcCB0aGUgd29ya2luZyBVUkwgaW4gc2VwYXJhdGUg
c3RhdGUuICBJdCdzCisgICAgICAgIGp1c3QgYSBmdW5jdGlvbiBvZiBvdGhlciBzdGF0ZS4gIG1f
d29ya2luZ1VSTCBleGlzdHMgb25seSB0byBjcmVhdGUKKyAgICAgICAgYnVncyBhbmQgY29uZnVz
aW9uLgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50TG9hZGVyOjpkb2N1bWVudFVSTCk6CisgICAgICAgICogbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6ZGlkT3BlblVSTCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVjZWl2ZWRGaXJzdERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Ondp
bGxTZXRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tbWl0UHJv
dmlzaW9uYWxMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpvcGVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudCk6Cisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisKIDIwMTEtMDYtMjAgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGJpdCBmbGFnIGNvbGxpc2lvbi4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAkocmV2aXNpb24g
ODkyNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03MzMsNiArNzMzLDE4IEBAIGNvbnN0IEtVUkwmIERvY3VtZW50TG9hZGVy
OjpyZXNwb25zZVVSTCgKICAgICByZXR1cm4gbV9yZXNwb25zZS51cmwoKTsKIH0KIAorS1VSTCBE
b2N1bWVudExvYWRlcjo6ZG9jdW1lbnRVUkwoKSBjb25zdAoreworICAgIEtVUkwgdXJsID0gc3Vi
c3RpdHV0ZURhdGEoKS5yZXNwb25zZVVSTCgpOworICAgIGlmICh1cmwuaXNFbXB0eSgpKQorICAg
ICAgICB1cmwgPSByZXF1ZXN0VVJMKCk7CisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAgICAg
IHVybCA9IHJlc3BvbnNlVVJMKCk7CisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAgICAgIHVy
bCA9IGJsYW5rVVJMKCk7CisgICAgcmV0dXJuIHVybDsKK30KKwogY29uc3QgU3RyaW5nJiBEb2N1
bWVudExvYWRlcjo6cmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcmVz
cG9uc2UubWltZVR5cGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5oCShyZXZpc2lvbiA4OTI2NikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05MywxNCArOTMsMTggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIG1fc3Vic3RpdHV0ZURhdGE7IH0KIAorICAgICAgICAvLyBGSVhNRTogVGhp
cyBpcyB0aGUgc2FtZSBhcyByZXF1ZXN0VVJMKCkuIFdlIHNob3VsZCByZW1vdmUgb25lIG9mIHRo
ZW0uCiAgICAgICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0OwogICAgICAgICBjb25zdCBLVVJM
JiB1bnJlYWNoYWJsZVVSTCgpIGNvbnN0OwogCisgICAgICAgIC8vIFRoZSBVUkwgb2YgdGhlIGRv
Y3VtZW50IHJlc3VsdGluZyBmcm9tIHRoaXMgRG9jdW1lbnRMb2FkZXIuCisgICAgICAgIEtVUkwg
ZG9jdW1lbnRVUkwoKSBjb25zdDsKKwogICAgICAgICBjb25zdCBLVVJMJiBvcmlnaW5hbFVSTCgp
IGNvbnN0OwogICAgICAgICBjb25zdCBLVVJMJiByZXF1ZXN0VVJMKCkgY29uc3Q7CiAgICAgICAg
IGNvbnN0IEtVUkwmIHJlc3BvbnNlVVJMKCkgY29uc3Q7CiAgICAgICAgIGNvbnN0IFN0cmluZyYg
cmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0OwotICAgICAgICAKKwogICAgICAgICB2b2lkIHJlcGxh
Y2VSZXF1ZXN0VVJMRm9yU2FtZURvY3VtZW50TmF2aWdhdGlvbihjb25zdCBLVVJMJik7CiAgICAg
ICAgIGJvb2wgaXNTdG9wcGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNTdG9wcGluZzsgfQogICAg
ICAgICB2b2lkIHN0b3BMb2FkaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAJKHJldmlzaW9uIDg5MjY2KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE4LDggKzQxOCw4IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OnN0b3BMb2FkaW5nKFVubG9hZEV2ZW4KICAgICAgICAgZmluaXNoZWRQYXJzaW5nKCk7
CiAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNldFBhcnNpbmcoZmFsc2UpOwogICAgIH0K
LSAgCi0gICAgbV93b3JraW5nVVJMID0gS1VSTCgpOworCisgICAgbV9oYXZlUmVjZWl2ZWRGaXJz
dERhdGEgPSB0cnVlOwogCiAgICAgaWYgKERvY3VtZW50KiBkb2MgPSBtX2ZyYW1lLT5kb2N1bWVu
dCgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBIVE1MNSBkb2Vzbid0IHRlbGwgdXMgdG8gc2V0IHRo
ZSBzdGF0ZSB0byBjb21wbGV0ZSB3aGVuIGFib3J0aW5nLCBidXQgd2UgZG8gYW55d2F5IHRvIG1h
dGNoIGxlZ2FjeSBiZWhhdmlvci4KQEAgLTQ2MSw3ICs0NjEsNyBAQCBib29sIEZyYW1lTG9hZGVy
OjpjbG9zZVVSTCgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgRnJhbWVMb2FkZXI6OmRp
ZE9wZW5VUkwoY29uc3QgS1VSTCYgdXJsKQorYm9vbCBGcmFtZUxvYWRlcjo6ZGlkT3BlblVSTCgp
CiB7CiAgICAgaWYgKG1fZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS0+cmVkaXJlY3RTY2hl
ZHVsZWREdXJpbmdMb2FkKCkpIHsKICAgICAgICAgLy8gQSByZWRpcmVjdCB3YXMgc2NoZWR1bGVk
IGJlZm9yZSB0aGUgZG9jdW1lbnQgd2FzIGNyZWF0ZWQuCkBAIC00ODUsOSArNDg1LDcgQEAgYm9v
bCBGcmFtZUxvYWRlcjo6ZGlkT3BlblVSTChjb25zdCBLVVJMJgogICAgICAgICAgICAgd2luZG93
LT5zZXREZWZhdWx0U3RhdHVzKFN0cmluZygpKTsKICAgICAgICAgfQogICAgIH0KLSAgICBtX3dv
cmtpbmdVUkwgPSB1cmw7Ci0gICAgaWYgKG1fd29ya2luZ1VSTC5wcm90b2NvbEluSFRUUEZhbWls
eSgpICYmICFtX3dvcmtpbmdVUkwuaG9zdCgpLmlzRW1wdHkoKSAmJiBtX3dvcmtpbmdVUkwucGF0
aCgpLmlzRW1wdHkoKSkKLSAgICAgICAgbV93b3JraW5nVVJMLnNldFBhdGgoIi8iKTsKKyAgICBt
X2hhdmVSZWNlaXZlZEZpcnN0RGF0YSA9IGZhbHNlOwogCiAgICAgc3RhcnRlZCgpOwogCkBAIC01
NzMsNyArNTcxLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNsZWFyKGJvb2wgY2xlYXJXaW5kb3cK
IAogdm9pZCBGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEoKQogewotICAgIGFjdGl2ZURv
Y3VtZW50TG9hZGVyKCktPndyaXRlcigpLT5iZWdpbihtX3dvcmtpbmdVUkwsIGZhbHNlKTsKKyAg
ICBLVVJMIHdvcmtpbmdVUkwgPQorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkgfHwgRU5BQkxFKE1I
VE1MKQorICAgICAgICBtX2FyY2hpdmUgPyBtX2FyY2hpdmUtPm1haW5SZXNvdXJjZSgpLT51cmwo
KSA6CisjZW5kaWYKKyAgICAgICAgYWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+ZG9jdW1lbnRVUkwo
KTsKKworICAgIGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPndyaXRlcigpLT5iZWdpbih3b3JraW5n
VVJMLCBmYWxzZSk7CiAgICAgYWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+d3JpdGVyKCktPnNldERv
Y3VtZW50V2FzTG9hZGVkQXNQYXJ0T2ZOYXZpZ2F0aW9uKCk7CiAKICAgICBkaXNwYXRjaERpZENv
bW1pdExvYWQoKTsKQEAgLTU4NiwxNyArNTkwLDE3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlY2Vp
dmVkRmlyc3REYXRhKCkKICAgICAgICAgICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZFJlY2VpdmVU
aXRsZShwdGl0bGUpOwogICAgIH0KIAotICAgIG1fd29ya2luZ1VSTCA9IEtVUkwoKTsKKyAgICBt
X2hhdmVSZWNlaXZlZEZpcnN0RGF0YSA9IHRydWU7CiAKLSAgICBkb3VibGUgZGVsYXk7Ci0gICAg
U3RyaW5nIHVybDsKICAgICBpZiAoIW1fZG9jdW1lbnRMb2FkZXIpCiAgICAgICAgIHJldHVybjsK
ICAgICBpZiAobV9mcmFtZS0+ZG9jdW1lbnQoKS0+aXNWaWV3U291cmNlKCkpCiAgICAgICAgIHJl
dHVybjsKKworICAgIGRvdWJsZSBkZWxheTsKKyAgICBTdHJpbmcgdXJsOwogICAgIGlmICghcGFy
c2VIVFRQUmVmcmVzaChtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVs
ZCgiUmVmcmVzaCIpLCBmYWxzZSwgZGVsYXksIHVybCkpCiAgICAgICAgIHJldHVybjsKLQogICAg
IGlmICh1cmwuaXNFbXB0eSgpKQogICAgICAgICB1cmwgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT51
cmwoKS5zdHJpbmcoKTsKICAgICBlbHNlCkBAIC05NzIsNyArOTc2LDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6cmVzZXRNdWx0aXBsZUZvcm1TdWJtaQogCiB2b2lkIEZyYW1lTG9hZGVyOjp3aWxsU2V0
RW5jb2RpbmcoKQogewotICAgIGlmICghbV93b3JraW5nVVJMLmlzRW1wdHkoKSkKKyAgICBpZiAo
IW1faGF2ZVJlY2VpdmVkRmlyc3REYXRhKQogICAgICAgICByZWNlaXZlZEZpcnN0RGF0YSgpOwog
fQogCkBAIC0xNzcwLDE3ICsxNzc0LDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0UHJvdmlz
aW9uYWxMb2FkKAogICAgICAgICAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkUmVjZWl2ZVRpdGxl
KHRpdGxlKTsKIAogICAgICAgICBjaGVja0NvbXBsZXRlZCgpOwotICAgIH0gZWxzZSB7ICAgICAg
ICAKLSAgICAgICAgS1VSTCB1cmwgPSBwZGwtPnN1YnN0aXR1dGVEYXRhKCkucmVzcG9uc2VVUkwo
KTsKLSAgICAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAgICAgICAgICB1cmwgPSBwZGwtPnVy
bCgpOwotICAgICAgICBpZiAodXJsLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHVybCA9IHBkbC0+
cmVzcG9uc2VVUkwoKTsKLSAgICAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAgICAgICAgICB1
cmwgPSBibGFua1VSTCgpOwotCi0gICAgICAgIGRpZE9wZW5VUkwodXJsKTsKLSAgICB9CisgICAg
fSBlbHNlCisgICAgICAgIGRpZE9wZW5VUkwoKTsKIAogICAgIExPRyhMb2FkaW5nLCAiV2ViQ29y
ZUxvYWRpbmcgJXM6IEZpbmlzaGVkIGNvbW1pdHRpbmcgcHJvdmlzaW9uYWwgbG9hZCB0byBVUkwg
JXMiLCBtX2ZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgp
LAogICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpID8gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJs
KCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSA6ICIiKTsKQEAgLTIwMTAsMTAgKzIwMDUsMTEgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6b3BlbihDYWNoZWRGcmFtZUJhc2UmIAogCiAgICAgS1VSTCB1cmwg
PSBjYWNoZWRGcmFtZS51cmwoKTsKIAorICAgIC8vIEZJWE1FOiBJIHN1c3BlY3QgdGhpcyBibG9j
ayBvZiBjb2RlIGRvZXNuJ3QgZG8gYW55dGhpbmcuCiAgICAgaWYgKHVybC5wcm90b2NvbEluSFRU
UEZhbWlseSgpICYmICF1cmwuaG9zdCgpLmlzRW1wdHkoKSAmJiB1cmwucGF0aCgpLmlzRW1wdHko
KSkKICAgICAgICAgdXJsLnNldFBhdGgoIi8iKTsKLSAgICAKLSAgICBtX3dvcmtpbmdVUkwgPSB1
cmw7CisKKyAgICBtX2hhdmVSZWNlaXZlZEZpcnN0RGF0YSA9IGZhbHNlOwogCiAgICAgc3RhcnRl
ZCgpOwogICAgIGNsZWFyKHRydWUsIHRydWUsIGNhY2hlZEZyYW1lLmlzTWFpbkZyYW1lKCkpOwpA
QCAtMjExMCw3ICsyMTA2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9j
dW1lbgogICAgIGxvYWRlci0+d3JpdGVyKCktPnNldE1JTUVUeXBlKG1haW5SZXNvdXJjZS0+bWlt
ZVR5cGUoKSk7CiAKICAgICBjbG9zZVVSTCgpOwotICAgIGRpZE9wZW5VUkwobWFpblJlc291cmNl
LT51cmwoKSk7CisgICAgZGlkT3BlblVSTCgpOwogCiAgICAgQVNTRVJUKG1fZnJhbWUtPmRvY3Vt
ZW50KCkpOwogICAgIFN0cmluZyB1c2VyQ2hvc2VuRW5jb2RpbmcgPSBkb2N1bWVudExvYWRlcigp
LT5vdmVycmlkZUVuY29kaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aAkocmV2aXNpb24gODkyNjYpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMzg3LDcgKzM4Nyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IHByb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQoKTsKIAotICAgIGJvb2wgZGlkT3BlblVSTChjb25zdCBL
VVJMJik7CisgICAgYm9vbCBkaWRPcGVuVVJMKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlQ2hlY2tD
b21wbGV0ZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlQ2hlY2tMb2FkQ29tcGxldGUoKTsKQEAgLTQz
Niw3ICs0MzYsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gbV9wZW5kaW5nU3RhdGVPYmplY3Q7CiAKLSAgICBLVVJMIG1fd29ya2luZ1VSTDsKKyAgICBi
b29sIG1faGF2ZVJlY2VpdmVkRmlyc3REYXRhOwogCiAgICAgYm9vbCBtX25lZWRzQ2xlYXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97881</attachid>
            <date>2011-06-20 16:05:30 -0700</date>
            <delta_ts>2011-06-20 16:05:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63021-20110620160529.patch</filename>
            <type>text/plain</type>
            <size>7870</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5MzAwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDYtMjAgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KKworICAgICAgICBSZW1vdmUgRnJhbWVMb2FkZXI6Om1fd29ya2luZ1VSTAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwMjEKKworICAgICAgICBG
cmFtZUxvYWRlciBzaG91bGRuJ3Qga2VlcCB0aGUgd29ya2luZyBVUkwgaW4gc2VwYXJhdGUgc3Rh
dGUuICBJdCdzCisgICAgICAgIGp1c3QgYSBmdW5jdGlvbiBvZiBvdGhlciBzdGF0ZS4gIG1fd29y
a2luZ1VSTCBleGlzdHMgb25seSB0byBjcmVhdGUKKyAgICAgICAgYnVncyBhbmQgY29uZnVzaW9u
LgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjpkb2N1bWVudFVSTCk6CisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6ZGlkT3BlblVSTCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
cmVjZWl2ZWRGaXJzdERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OndpbGxT
ZXRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29tbWl0UHJvdmlz
aW9uYWxMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpvcGVuKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudCk6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisKIDIwMTEtMDYtMjAgIFByYXRpayBTb2xhbmtp
ICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHpl
ci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAkocmV2aXNp
b24gODkzMDApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MzMsNiArNzMzLDE4IEBAIGNvbnN0IEtVUkwmIERvY3VtZW50TG9h
ZGVyOjpyZXNwb25zZVVSTCgKICAgICByZXR1cm4gbV9yZXNwb25zZS51cmwoKTsKIH0KIAorS1VS
TCBEb2N1bWVudExvYWRlcjo6ZG9jdW1lbnRVUkwoKSBjb25zdAoreworICAgIEtVUkwgdXJsID0g
c3Vic3RpdHV0ZURhdGEoKS5yZXNwb25zZVVSTCgpOworICAgIGlmICh1cmwuaXNFbXB0eSgpKQor
ICAgICAgICB1cmwgPSByZXF1ZXN0VVJMKCk7CisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAg
ICAgIHVybCA9IHJlc3BvbnNlVVJMKCk7CisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAgICAg
IHVybCA9IGJsYW5rVVJMKCk7CisgICAgcmV0dXJuIHVybDsKK30KKwogY29uc3QgU3RyaW5nJiBE
b2N1bWVudExvYWRlcjo6cmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
cmVzcG9uc2UubWltZVR5cGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5oCShyZXZpc2lvbiA4OTMwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05MywxNCArOTMsMTggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiBzdWJzdGl0dXRlRGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3Vic3RpdHV0ZURhdGE7IH0KIAorICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyB0aGUgc2FtZSBhcyByZXF1ZXN0VVJMKCkuIFdlIHNob3VsZCByZW1vdmUgb25lIG9m
IHRoZW0uCiAgICAgICAgIGNvbnN0IEtVUkwmIHVybCgpIGNvbnN0OwogICAgICAgICBjb25zdCBL
VVJMJiB1bnJlYWNoYWJsZVVSTCgpIGNvbnN0OwogCisgICAgICAgIC8vIFRoZSBVUkwgb2YgdGhl
IGRvY3VtZW50IHJlc3VsdGluZyBmcm9tIHRoaXMgRG9jdW1lbnRMb2FkZXIuCisgICAgICAgIEtV
UkwgZG9jdW1lbnRVUkwoKSBjb25zdDsKKwogICAgICAgICBjb25zdCBLVVJMJiBvcmlnaW5hbFVS
TCgpIGNvbnN0OwogICAgICAgICBjb25zdCBLVVJMJiByZXF1ZXN0VVJMKCkgY29uc3Q7CiAgICAg
ICAgIGNvbnN0IEtVUkwmIHJlc3BvbnNlVVJMKCkgY29uc3Q7CiAgICAgICAgIGNvbnN0IFN0cmlu
ZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0OwotICAgICAgICAKKwogICAgICAgICB2b2lkIHJl
cGxhY2VSZXF1ZXN0VVJMRm9yU2FtZURvY3VtZW50TmF2aWdhdGlvbihjb25zdCBLVVJMJik7CiAg
ICAgICAgIGJvb2wgaXNTdG9wcGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNTdG9wcGluZzsgfQog
ICAgICAgICB2b2lkIHN0b3BMb2FkaW5nKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAJKHJldmlzaW9uIDg5MzAwKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk2LDYgKzE5Niw3IEBAIEZyYW1lTG9h
ZGVyOjpGcmFtZUxvYWRlcihGcmFtZSogZnJhbWUsIEYKICAgICAsIG1fcGFnZURpc21pc3NhbEV2
ZW50QmVpbmdEaXNwYXRjaGVkKGZhbHNlKQogICAgICwgbV9pc0NvbXBsZXRlKGZhbHNlKQogICAg
ICwgbV9pc0xvYWRpbmdNYWluUmVzb3VyY2UoZmFsc2UpCisgICAgLCBtX2hhc1JlY2VpdmVkRmly
c3REYXRhKGZhbHNlKQogICAgICwgbV9uZWVkc0NsZWFyKGZhbHNlKQogICAgICwgbV9jaGVja1Rp
bWVyKHRoaXMsICZGcmFtZUxvYWRlcjo6Y2hlY2tUaW1lckZpcmVkKQogICAgICwgbV9zaG91bGRD
YWxsQ2hlY2tDb21wbGV0ZWQoZmFsc2UpCkBAIC00MTgsOCArNDE5LDggQEAgdm9pZCBGcmFtZUxv
YWRlcjo6c3RvcExvYWRpbmcoVW5sb2FkRXZlbgogICAgICAgICBmaW5pc2hlZFBhcnNpbmcoKTsK
ICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0UGFyc2luZyhmYWxzZSk7CiAgICAgfQot
ICAKLSAgICBtX3dvcmtpbmdVUkwgPSBLVVJMKCk7CisKKyAgICBtX2hhc1JlY2VpdmVkRmlyc3RE
YXRhID0gdHJ1ZTsKIAogICAgIGlmIChEb2N1bWVudCogZG9jID0gbV9mcmFtZS0+ZG9jdW1lbnQo
KSkgewogICAgICAgICAvLyBGSVhNRTogSFRNTDUgZG9lc24ndCB0ZWxsIHVzIHRvIHNldCB0aGUg
c3RhdGUgdG8gY29tcGxldGUgd2hlbiBhYm9ydGluZywgYnV0IHdlIGRvIGFueXdheSB0byBtYXRj
aCBsZWdhY3kgYmVoYXZpb3IuCkBAIC00NjEsNyArNDYyLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6
Y2xvc2VVUkwoKQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEZyYW1lTG9hZGVyOjpkaWRP
cGVuVVJMKGNvbnN0IEtVUkwmIHVybCkKK2Jvb2wgRnJhbWVMb2FkZXI6OmRpZE9wZW5VUkwoKQog
ewogICAgIGlmIChtX2ZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnJlZGlyZWN0U2NoZWR1
bGVkRHVyaW5nTG9hZCgpKSB7CiAgICAgICAgIC8vIEEgcmVkaXJlY3Qgd2FzIHNjaGVkdWxlZCBi
ZWZvcmUgdGhlIGRvY3VtZW50IHdhcyBjcmVhdGVkLgpAQCAtNDg1LDkgKzQ4Niw3IEBAIGJvb2wg
RnJhbWVMb2FkZXI6OmRpZE9wZW5VUkwoY29uc3QgS1VSTCYKICAgICAgICAgICAgIHdpbmRvdy0+
c2V0RGVmYXVsdFN0YXR1cyhTdHJpbmcoKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgbV93b3Jr
aW5nVVJMID0gdXJsOwotICAgIGlmIChtX3dvcmtpbmdVUkwucHJvdG9jb2xJbkhUVFBGYW1pbHko
KSAmJiAhbV93b3JraW5nVVJMLmhvc3QoKS5pc0VtcHR5KCkgJiYgbV93b3JraW5nVVJMLnBhdGgo
KS5pc0VtcHR5KCkpCi0gICAgICAgIG1fd29ya2luZ1VSTC5zZXRQYXRoKCIvIik7CisgICAgbV9o
YXNSZWNlaXZlZEZpcnN0RGF0YSA9IGZhbHNlOwogCiAgICAgc3RhcnRlZCgpOwogCkBAIC01NzMs
NyArNTcyLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNsZWFyKGJvb2wgY2xlYXJXaW5kb3cKIAog
dm9pZCBGcmFtZUxvYWRlcjo6cmVjZWl2ZWRGaXJzdERhdGEoKQogewotICAgIGFjdGl2ZURvY3Vt
ZW50TG9hZGVyKCktPndyaXRlcigpLT5iZWdpbihtX3dvcmtpbmdVUkwsIGZhbHNlKTsKKyAgICBL
VVJMIHdvcmtpbmdVUkwgPSBhY3RpdmVEb2N1bWVudExvYWRlcigpLT5kb2N1bWVudFVSTCgpOwor
I2lmIEVOQUJMRShXRUJfQVJDSElWRSkgfHwgRU5BQkxFKE1IVE1MKQorICAgIGlmIChtX2FyY2hp
dmUpCisgICAgICAgIHdvcmtpbmdVUkwgPSBtX2FyY2hpdmUtPm1haW5SZXNvdXJjZSgpLT51cmwo
KTsKKyNlbmRpZgorCisgICAgYWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+d3JpdGVyKCktPmJlZ2lu
KHdvcmtpbmdVUkwsIGZhbHNlKTsKICAgICBhY3RpdmVEb2N1bWVudExvYWRlcigpLT53cml0ZXIo
KS0+c2V0RG9jdW1lbnRXYXNMb2FkZWRBc1BhcnRPZk5hdmlnYXRpb24oKTsKIAogICAgIGRpc3Bh
dGNoRGlkQ29tbWl0TG9hZCgpOwpAQCAtNTg2LDE3ICs1OTEsMTcgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6cmVjZWl2ZWRGaXJzdERhdGEoKQogICAgICAgICAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlk
UmVjZWl2ZVRpdGxlKHB0aXRsZSk7CiAgICAgfQogCi0gICAgbV93b3JraW5nVVJMID0gS1VSTCgp
OworICAgIG1faGFzUmVjZWl2ZWRGaXJzdERhdGEgPSB0cnVlOwogCi0gICAgZG91YmxlIGRlbGF5
OwotICAgIFN0cmluZyB1cmw7CiAgICAgaWYgKCFtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCktPmlzVmlld1NvdXJjZSgpKQogICAg
ICAgICByZXR1cm47CisKKyAgICBkb3VibGUgZGVsYXk7CisgICAgU3RyaW5nIHVybDsKICAgICBp
ZiAoIXBhcnNlSFRUUFJlZnJlc2gobV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVh
ZGVyRmllbGQoIlJlZnJlc2giKSwgZmFsc2UsIGRlbGF5LCB1cmwpKQogICAgICAgICByZXR1cm47
Ci0KICAgICBpZiAodXJsLmlzRW1wdHkoKSkKICAgICAgICAgdXJsID0gbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+dXJsKCkuc3RyaW5nKCk7CiAgICAgZWxzZQpAQCAtOTcyLDcgKzk3Nyw3IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnJlc2V0TXVsdGlwbGVGb3JtU3VibWkKIAogdm9pZCBGcmFtZUxvYWRlcjo6
d2lsbFNldEVuY29kaW5nKCkKIHsKLSAgICBpZiAoIW1fd29ya2luZ1VSTC5pc0VtcHR5KCkpCisg
ICAgaWYgKCFtX2hhc1JlY2VpdmVkRmlyc3REYXRhKQogICAgICAgICByZWNlaXZlZEZpcnN0RGF0
YSgpOwogfQogCkBAIC0xNzcwLDE3ICsxNzc1LDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tbWl0
UHJvdmlzaW9uYWxMb2FkKAogICAgICAgICAgICAgbV9jbGllbnQtPmRpc3BhdGNoRGlkUmVjZWl2
ZVRpdGxlKHRpdGxlKTsKIAogICAgICAgICBjaGVja0NvbXBsZXRlZCgpOwotICAgIH0gZWxzZSB7
ICAgICAgICAKLSAgICAgICAgS1VSTCB1cmwgPSBwZGwtPnN1YnN0aXR1dGVEYXRhKCkucmVzcG9u
c2VVUkwoKTsKLSAgICAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAgICAgICAgICB1cmwgPSBw
ZGwtPnVybCgpOwotICAgICAgICBpZiAodXJsLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHVybCA9
IHBkbC0+cmVzcG9uc2VVUkwoKTsKLSAgICAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAgICAg
ICAgICB1cmwgPSBibGFua1VSTCgpOwotCi0gICAgICAgIGRpZE9wZW5VUkwodXJsKTsKLSAgICB9
CisgICAgfSBlbHNlCisgICAgICAgIGRpZE9wZW5VUkwoKTsKIAogICAgIExPRyhMb2FkaW5nLCAi
V2ViQ29yZUxvYWRpbmcgJXM6IEZpbmlzaGVkIGNvbW1pdHRpbmcgcHJvdmlzaW9uYWwgbG9hZCB0
byBVUkwgJXMiLCBtX2ZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUoKS5zdHJpbmcoKS51dGY4KCku
ZGF0YSgpLAogICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpID8gbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+dXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSA6ICIiKTsKQEAgLTIwMTAsMTAgKzIwMDYs
MTEgQEAgdm9pZCBGcmFtZUxvYWRlcjo6b3BlbihDYWNoZWRGcmFtZUJhc2UmIAogCiAgICAgS1VS
TCB1cmwgPSBjYWNoZWRGcmFtZS51cmwoKTsKIAorICAgIC8vIEZJWE1FOiBJIHN1c3BlY3QgdGhp
cyBibG9jayBvZiBjb2RlIGRvZXNuJ3QgZG8gYW55dGhpbmcuCiAgICAgaWYgKHVybC5wcm90b2Nv
bEluSFRUUEZhbWlseSgpICYmICF1cmwuaG9zdCgpLmlzRW1wdHkoKSAmJiB1cmwucGF0aCgpLmlz
RW1wdHkoKSkKICAgICAgICAgdXJsLnNldFBhdGgoIi8iKTsKLSAgICAKLSAgICBtX3dvcmtpbmdV
UkwgPSB1cmw7CisKKyAgICBtX2hhc1JlY2VpdmVkRmlyc3REYXRhID0gZmFsc2U7CiAKICAgICBz
dGFydGVkKCk7CiAgICAgY2xlYXIodHJ1ZSwgdHJ1ZSwgY2FjaGVkRnJhbWUuaXNNYWluRnJhbWUo
KSk7CkBAIC0yMTEwLDcgKzIxMDcsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRp
bmdEb2N1bWVuCiAgICAgbG9hZGVyLT53cml0ZXIoKS0+c2V0TUlNRVR5cGUobWFpblJlc291cmNl
LT5taW1lVHlwZSgpKTsKIAogICAgIGNsb3NlVVJMKCk7Ci0gICAgZGlkT3BlblVSTChtYWluUmVz
b3VyY2UtPnVybCgpKTsKKyAgICBkaWRPcGVuVVJMKCk7CiAKICAgICBBU1NFUlQobV9mcmFtZS0+
ZG9jdW1lbnQoKSk7CiAgICAgU3RyaW5nIHVzZXJDaG9zZW5FbmNvZGluZyA9IGRvY3VtZW50TG9h
ZGVyKCktPm92ZXJyaWRlRW5jb2RpbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCShyZXZpc2lvbiA4OTMwMCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zODcsNyArMzg3LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgcHJvdmlzaW9uYWxMb2FkU3RhcnRlZCgpOwogCi0gICAgYm9vbCBkaWRPcGVuVVJMKGNv
bnN0IEtVUkwmKTsKKyAgICBib29sIGRpZE9wZW5VUkwoKTsKIAogICAgIHZvaWQgc2NoZWR1bGVD
aGVja0NvbXBsZXRlZCgpOwogICAgIHZvaWQgc2NoZWR1bGVDaGVja0xvYWRDb21wbGV0ZSgpOwpA
QCAtNDM2LDcgKzQzNiw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBtX3BlbmRpbmdTdGF0ZU9iamVjdDsKIAotICAgIEtVUkwgbV93b3JraW5nVVJMOwor
ICAgIGJvb2wgbV9oYXNSZWNlaXZlZEZpcnN0RGF0YTsKIAogICAgIGJvb2wgbV9uZWVkc0NsZWFy
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>