<?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>113331</bug_id>
          
          <creation_ts>2013-03-26 12:07:35 -0700</creation_ts>
          <short_desc>Web Inspector: Encapsulate SetEmbedderData/GetEmbedderData</short_desc>
          <delta_ts>2013-04-02 11:34:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="johnjbarton">johnjbarton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>863896</commentid>
    <comment_count>0</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2013-03-26 12:07:35 -0700</bug_when>
    <thetext>We currently have two different sets of V8 embedder data.

1) V8PerContextData. This data is stored as a pointer on the context via SetAlignedPointerInEmbedderData.

2) A string like &quot;page,232&quot;, stored on the context via SetEmbedderData, and used by the Inspector support binding code.

Confusingly both systems index into the *same array* on the Context. Thus if you search the code base for SetEmbedderData it will appear that only index 0 is used.  Using index 1 or 2 in SetEmbedder data leads to mysterious crashes, because in fact these indexes are used by the V8PerContextData and friends.

The overall system would be less confusing and fragile of all uses this underlying array where together. 

(Using the V8PerContextData to store the Inspector value could be an extra step, but mixing the two kinds of data would be more confusing in my opinion).

Patch ready.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863901</commentid>
    <comment_count>1</comment_count>
      <attachid>195137</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2013-03-26 12:14:47 -0700</bug_when>
    <thetext>Created attachment 195137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866589</commentid>
    <comment_count>2</comment_count>
      <attachid>195137</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-30 02:11:45 -0700</bug_when>
    <thetext>Comment on attachment 195137
Patch

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

&gt; Source/WebCore/bindings/v8/V8PerContextData.cpp:175
&gt; +            wanted = snprintf(buffer, sizeof(buffer), &quot;%s&quot;, worldName);

So you formatted the format above, but you don&apos;t actually need it here? Why formatting the format at all then? I.e. 
if (debugId == -1)
    snprintf(buffer, sizeof(buffer), &quot;%s&quot;, worldName);
else
    snprintf(buffer, sizeof(buffer), &quot;%s,%d&quot;, worldName, debugId);

sounds simpler.

&gt; Source/WebCore/bindings/v8/V8PerContextData.cpp:185
&gt; +v8::Handle&lt;v8::Value&gt; V8PerContextDebugData::getDebugData(v8::Handle&lt;v8::Context&gt; context)

No get prefixes in WebKit, simply debugData()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867219</commentid>
    <comment_count>3</comment_count>
      <attachid>195992</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2013-04-01 10:50:36 -0700</bug_when>
    <thetext>Created attachment 195992
Fix 2/2 issues from review in comment #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867569</commentid>
    <comment_count>4</comment_count>
      <attachid>195992</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-04-01 22:50:50 -0700</bug_when>
    <thetext>Comment on attachment 195992
Fix 2/2 issues from review in comment #2

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

&gt; Source/WebCore/bindings/v8/V8PerContextData.h:143
&gt; +    static v8::Handle&lt;v8::Value&gt; createDebugData(const char* worldName, int debugId);
&gt; +    static v8::Handle&lt;v8::Value&gt; debugData(v8::Handle&lt;v8::Context&gt;);
&gt; +    static void setDebugData(v8::Handle&lt;v8::Context&gt;, v8::Handle&lt;v8::Value&gt;);

These can be file-level statics and don&apos;t need to be declared in the header file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867809</commentid>
    <comment_count>5</comment_count>
      <attachid>195992</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-04-02 07:23:26 -0700</bug_when>
    <thetext>Comment on attachment 195992
Fix 2/2 issues from review in comment #2

Looks good given Adam&apos;s comment is fixed. Clearing r?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867927</commentid>
    <comment_count>6</comment_count>
      <attachid>196159</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2013-04-02 09:22:41 -0700</bug_when>
    <thetext>Created attachment 196159
Fix 1/1 issue from review in comment #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868107</commentid>
    <comment_count>7</comment_count>
      <attachid>196159</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 11:34:05 -0700</bug_when>
    <thetext>Comment on attachment 196159
Fix 1/1 issue from review in comment #4

Clearing flags on attachment: 196159

Committed r147475: &lt;http://trac.webkit.org/changeset/147475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868108</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 11:34:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195137</attachid>
            <date>2013-03-26 12:14:47 -0700</date>
            <delta_ts>2013-04-01 10:50:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113331-20130326121030.patch</filename>
            <type>text/plain</type>
            <size>7433</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA4YmZlNDllNTVhYzQx
YzFjNDU2ODg2OTNiZTFiMGE4M2VjY2M2MC4uZjQ1MDc0YmE2ODVlMDY5NzlmZGZmYmMzM2E1ZTc2
YTdmMTFlNzJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTI2ICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFbmNhcHN1bGF0ZSBTZXRFbWJlZGRlckRhdGEvR2V0RW1iZWRkZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMzMzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0byBl
bmNhcHN1bGF0ZSB1c2VzIG9mIFY4IFNldC9HZXRFbWJlZGRlckRhdGEgdG9nZXRoZXIKKyAgICAg
ICAgd2l0aCB1c2VzIG9mIFY4IFNldC9HZXRBbGlnbmVkUG9pbnRlckluRW1iZWRkZXJEYXRhIHNp
bmNlIHRoZXNlCisgICAgICAgIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHRoZSBzYW1lIHVuZGVyeWxp
bmcgYXJyYXkgaW4gVjguCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OnNldENvbnRleHREZWJ1
Z0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNvbnRleHREZWJ1Z0lk
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnNldEluamVjdGVkU2NyaXB0Q29udGV4dERlYnVnSWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJD
b250ZXh0RGVidWdEYXRhOjpzZXRDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJDb250ZXh0RGVidWdEYXRhOjpjb250ZXh0RGVidWdJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNyZWF0ZURlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmdldERlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldERlYnVn
RGF0YSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oOgorICAgICAg
ICAoVjhQZXJDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEzLTAz
LTI2ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMTY0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGJmYjgzNDFmNjM3
ZTYwNDU1N2JlZDI4NTY4MmY5NzdmNDEzZjM4YzguLjQ3MjNkMzdjNTA0ZTc5MzM0MzM5MjIzMWMy
YmZjNjAxOGE4YWY4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhUTUxFbWJlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJW
OE5QT2JqZWN0LmgiCisjaW5jbHVkZSAiVjhQZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlY4
UmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlICJucHJ1bnRp
bWVfaW1wbC5oIgpAQCAtNzA3LDI5ICs3MDgsMTIgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpz
ZXRDb250ZXh0RGVidWdJZChpbnQgZGVidWdJZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IHY4OjpIYW5kbGVTY29wZSBzY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250
ZXh0ID0gbV93aW5kb3dTaGVsbC0+Y29udGV4dCgpOwotICAgIGlmICghY29udGV4dC0+R2V0RW1i
ZWRkZXJEYXRhKDApLT5Jc1VuZGVmaW5lZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOwotCi0gICAgY2hhciBi
dWZmZXJbMzJdOwotICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJwYWdlLCVk
IiwgZGVidWdJZCk7Ci0gICAgYnVmZmVyWzMxXSA9IDA7Ci0gICAgY29udGV4dC0+U2V0RW1iZWRk
ZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChidWZmZXIpKTsKLQotICAgIHJldHVybiB0
cnVlOworICAgIHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1Z0Rh
dGEoY29udGV4dCwgInBhZ2UiLCBkZWJ1Z0lkKTsKIH0KIAogaW50IFNjcmlwdENvbnRyb2xsZXI6
OmNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7Ci0gICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOwotICAgIGlmICghY29udGV4dC0+R2V0RW1iZWRkZXJEYXRh
KDApLT5Jc1N0cmluZygpKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgdjg6OlN0cmluZzo6QXNj
aWlWYWx1ZSBhc2NpaShjb250ZXh0LT5HZXRFbWJlZGRlckRhdGEoMCkpOwotICAgIGNoYXIqIGNv
bW1hID0gc3RybnN0cigqYXNjaWksICIsIiwgYXNjaWkubGVuZ3RoKCkpOwotICAgIGlmICghY29t
bWEpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICByZXR1cm4gYXRvaShjb21tYSArIDEpOworICAg
IHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNvbnRleHREZWJ1Z0lkKGNvbnRleHQpOwog
fQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmF0dGFjaERlYnVnZ2VyKHZvaWQqKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2ODMy
ZDEyNjU0OWU2YTI3MTkzZGMyYjA2NzY2ZmNhYjk0MTkzNmE3Li40MzlhZGMzYzA3N2ZjNDczNGY4
MDc2NmY4ZGIyYTUyMjM2MjMwY2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtNzgsMTIgKzc4LDcgQEAgc3RhdGljIHZvaWQgY2hl
Y2tEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCBEb2N1bWVu
dCogZG9jdW0KIAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRDb250ZXh0RGVidWdJZCh2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB0YXJnZXRDb250ZXh0LCBpbnQgZGVidWdJZCkKIHsKLSAg
ICBjaGFyIGJ1ZmZlclszMl07Ci0gICAgaWYgKGRlYnVnSWQgPT0gLTEpCi0gICAgICAgIHNucHJp
bnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJpbmplY3RlZCIpOwotICAgIGVsc2UKLSAgICAg
ICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImluamVjdGVkLCVkIiwgZGVidWdJ
ZCk7Ci0gICAgdGFyZ2V0Q29udGV4dC0+U2V0RW1iZWRkZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5l
d1N5bWJvbChidWZmZXIpKTsKKyAgICBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHRE
ZWJ1Z0RhdGEodGFyZ2V0Q29udGV4dCwgImluamVjdGVkIiwgZGVidWdJZCk7CiB9CiAKIFBhc3NP
d25QdHI8VjhET01XaW5kb3dTaGVsbD4gVjhET01XaW5kb3dTaGVsbDo6Y3JlYXRlKEZyYW1lKiBm
cmFtZSwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4
dERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5j
cHAKaW5kZXggZWU4YTBlNjc2ZjBiNTYzYmVmYzFhYTY4MzU0YmQ3MTQ0YzkzZDQ4YS4uNDE1N2M5
ZWUxMTJhYzZlZTU2NWZmZTNkZmI3MzcwZmY3OTZiYmQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4T2JqZWN0Q29uc3RydWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMTM5LDQgKzE0MCw1OCBAQCB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOFBlckNvbnRleHRE
YXRhOjpjb25zdHJ1Y3RvckZvclR5cGVTbG93Q2FzZShXcmFwcGVyVHlwZQogICAgIHJldHVybiBm
dW5jdGlvbjsKIH0KIAorYm9vbCBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1
Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCwgY29uc3QgY2hhciogd29ybGRO
YW1lLCBpbnQgZGVidWdJZCkgCit7CisgICAgaWYgKCFnZXREZWJ1Z0RhdGEoY29udGV4dCktPklz
VW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB2ODo6SGFuZGxlU2NvcGUg
c2NvcGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRlYnVnRGF0YSA9IGNyZWF0ZURlYnVn
RGF0YSh3b3JsZE5hbWUsIGRlYnVnSWQpOworICAgIHNldERlYnVnRGF0YShjb250ZXh0LCBkZWJ1
Z0RhdGEpOworICAgIHJldHVybiB0cnVlOworfQorCitpbnQgVjhQZXJDb250ZXh0RGVidWdEYXRh
Ojpjb250ZXh0RGVidWdJZCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KSAKK3sKKyAg
ICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRlYnVn
RGF0YSA9IGdldERlYnVnRGF0YShjb250ZXh0KTsKKworICAgIGlmICghZGVidWdEYXRhLT5Jc1N0
cmluZygpKQorICAgICAgICByZXR1cm4gLTE7CisgICAgdjg6OlN0cmluZzo6QXNjaWlWYWx1ZSBh
c2NpaShkZWJ1Z0RhdGEpOworICAgIGNoYXIqIGNvbW1hID0gc3RybnN0cigqYXNjaWksICIsIiwg
YXNjaWkubGVuZ3RoKCkpOworICAgIGlmICghY29tbWEpCisgICAgICAgIHJldHVybiAtMTsKKyAg
ICByZXR1cm4gYXRvaShjb21tYSArIDEpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQ
ZXJDb250ZXh0RGVidWdEYXRhOjpjcmVhdGVEZWJ1Z0RhdGEoY29uc3QgY2hhciogd29ybGROYW1l
LCBpbnQgZGVidWdJZCkgCit7CisgICAgY2hhciBmb3JtYXRbMzJdOworICAgIHVuc2lnbmVkIHdh
bnRlZCA9IHNucHJpbnRmKGZvcm1hdCwgc2l6ZW9mKGZvcm1hdCksICIlcywlJWQiLCB3b3JsZE5h
bWUpOworICAgIGlmICh3YW50ZWQgPCBzaXplb2YoZm9ybWF0KSkgeworICAgICAgICAvLyBmb3Jt
YXQgbm93IGNvbnRhaW5zIGUuZy4gInBhZ2UsJWQiCisgICAgICAgIGNoYXIgYnVmZmVyWzMyXTsK
KyAgICAgICAgaWYgKGRlYnVnSWQgPT0gLTEpCisgICAgICAgICAgICB3YW50ZWQgPSBzbnByaW50
ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAiJXMiLCB3b3JsZE5hbWUpOworICAgICAgICBlbHNl
IAorICAgICAgICAgICAgd2FudGVkID0gc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwg
Zm9ybWF0LCBkZWJ1Z0lkKTsKKworICAgICAgICBpZiAod2FudGVkIDwgc2l6ZW9mKGJ1ZmZlcikp
CisgICAgICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3U3ltYm9sKGJ1ZmZlcik7CisgICAg
fQorICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9OworCit2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhQZXJDb250ZXh0RGVidWdEYXRhOjpnZXREZWJ1Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29u
dGV4dD4gY29udGV4dCkKK3sKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNv
bnRleHQpOworICAgIHJldHVybiBjb250ZXh0LT5HZXRFbWJlZGRlckRhdGEodjhDb250ZXh0RGVi
dWdJZEluZGV4KTsKK30KKwordm9pZCBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldERlYnVnRGF0
YSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dmFsdWUpCit7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0KTsK
KyAgICBjb250ZXh0LT5TZXRFbWJlZGRlckRhdGEodjhDb250ZXh0RGVidWdJZEluZGV4LCB2YWx1
ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaAppbmRleCAwYWM3Mzk1YmE3YzkxMzJiMTNjYmI0ZGM3
MDU3ZWQ0NWQ2ZTA0YTIyLi5jZDc2YjlmMzQ5NjRkYmQ0NmExOGY1YmY0ZjAwNGM1YmMxMmNjOGQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oCkBA
IC0xMzMsNiArMTMzLDE2IEBAIHByaXZhdGU6CiAgICAgU2NvcGVkUGVyc2lzdGVudDx2ODo6VmFs
dWU+IG1fb2JqZWN0UHJvdG90eXBlOwogfTsKIAorY2xhc3MgVjhQZXJDb250ZXh0RGVidWdEYXRh
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBzZXRDb250ZXh0RGVidWdEYXRhKHY4OjpIYW5k
bGU8djg6OkNvbnRleHQ+LCBjb25zdCBjaGFyKiB3b3JsZE5hbWUsIGludCBkZWJ1Z0lkKTsKKyAg
ICBzdGF0aWMgaW50IGNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+KTsKK3By
aXZhdGU6CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVEZWJ1Z0RhdGEo
Y29uc3QgY2hhciogd29ybGROYW1lLCBpbnQgZGVidWdJZCk7CisgICAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBnZXREZWJ1Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4pOworICAg
IHN0YXRpYyB2b2lkIHNldERlYnVnRGF0YSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Piwgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+KTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFY4UGVyQ29udGV4dERhdGFfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195992</attachid>
            <date>2013-04-01 10:50:36 -0700</date>
            <delta_ts>2013-04-02 09:22:35 -0700</delta_ts>
            <desc>Fix 2/2 issues from review in comment #2</desc>
            <filename>bug-113331-20130401105029.patch</filename>
            <type>text/plain</type>
            <size>7224</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFkZDk2MjllYWUyMWMx
MzA4NjFmYzg1MmQ5YzUxNmU0OTE4OTU5Ny4uNjRlYmY2ODFhN2Y4ZDM2ZDU2ZmE0ZGFlNjU0N2Fk
ZTIxNWRjNDA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTI2ICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFbmNhcHN1bGF0ZSBTZXRFbWJlZGRlckRhdGEvR2V0RW1iZWRkZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMzMzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0byBl
bmNhcHN1bGF0ZSB1c2VzIG9mIFY4IFNldC9HZXRFbWJlZGRlckRhdGEgdG9nZXRoZXIKKyAgICAg
ICAgd2l0aCB1c2VzIG9mIFY4IFNldC9HZXRBbGlnbmVkUG9pbnRlckluRW1iZWRkZXJEYXRhIHNp
bmNlIHRoZXNlCisgICAgICAgIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHRoZSBzYW1lIHVuZGVyeWxp
bmcgYXJyYXkgaW4gVjguCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OnNldENvbnRleHREZWJ1
Z0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNvbnRleHREZWJ1Z0lk
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnNldEluamVjdGVkU2NyaXB0Q29udGV4dERlYnVnSWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJD
b250ZXh0RGVidWdEYXRhOjpzZXRDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJDb250ZXh0RGVidWdEYXRhOjpjb250ZXh0RGVidWdJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNyZWF0ZURlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmdldERlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldERlYnVn
RGF0YSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oOgorICAgICAg
ICAoVjhQZXJDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEzLTA0
LTAxICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTWFrZSBh
IGJ1bmNoIG9mIERvY3VtZW50TG9hZGVyIGZ1bmN0aW9ucyBwcml2YXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGJmYjgzNDFmNjM3
ZTYwNDU1N2JlZDI4NTY4MmY5NzdmNDEzZjM4YzguLjQ3MjNkMzdjNTA0ZTc5MzM0MzM5MjIzMWMy
YmZjNjAxOGE4YWY4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhUTUxFbWJlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJW
OE5QT2JqZWN0LmgiCisjaW5jbHVkZSAiVjhQZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlY4
UmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlICJucHJ1bnRp
bWVfaW1wbC5oIgpAQCAtNzA3LDI5ICs3MDgsMTIgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpz
ZXRDb250ZXh0RGVidWdJZChpbnQgZGVidWdJZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IHY4OjpIYW5kbGVTY29wZSBzY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250
ZXh0ID0gbV93aW5kb3dTaGVsbC0+Y29udGV4dCgpOwotICAgIGlmICghY29udGV4dC0+R2V0RW1i
ZWRkZXJEYXRhKDApLT5Jc1VuZGVmaW5lZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOwotCi0gICAgY2hhciBi
dWZmZXJbMzJdOwotICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJwYWdlLCVk
IiwgZGVidWdJZCk7Ci0gICAgYnVmZmVyWzMxXSA9IDA7Ci0gICAgY29udGV4dC0+U2V0RW1iZWRk
ZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChidWZmZXIpKTsKLQotICAgIHJldHVybiB0
cnVlOworICAgIHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1Z0Rh
dGEoY29udGV4dCwgInBhZ2UiLCBkZWJ1Z0lkKTsKIH0KIAogaW50IFNjcmlwdENvbnRyb2xsZXI6
OmNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7Ci0gICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOwotICAgIGlmICghY29udGV4dC0+R2V0RW1iZWRkZXJEYXRh
KDApLT5Jc1N0cmluZygpKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgdjg6OlN0cmluZzo6QXNj
aWlWYWx1ZSBhc2NpaShjb250ZXh0LT5HZXRFbWJlZGRlckRhdGEoMCkpOwotICAgIGNoYXIqIGNv
bW1hID0gc3RybnN0cigqYXNjaWksICIsIiwgYXNjaWkubGVuZ3RoKCkpOwotICAgIGlmICghY29t
bWEpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICByZXR1cm4gYXRvaShjb21tYSArIDEpOworICAg
IHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNvbnRleHREZWJ1Z0lkKGNvbnRleHQpOwog
fQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmF0dGFjaERlYnVnZ2VyKHZvaWQqKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2ODMy
ZDEyNjU0OWU2YTI3MTkzZGMyYjA2NzY2ZmNhYjk0MTkzNmE3Li40MzlhZGMzYzA3N2ZjNDczNGY4
MDc2NmY4ZGIyYTUyMjM2MjMwY2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtNzgsMTIgKzc4LDcgQEAgc3RhdGljIHZvaWQgY2hl
Y2tEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCBEb2N1bWVu
dCogZG9jdW0KIAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRDb250ZXh0RGVidWdJZCh2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB0YXJnZXRDb250ZXh0LCBpbnQgZGVidWdJZCkKIHsKLSAg
ICBjaGFyIGJ1ZmZlclszMl07Ci0gICAgaWYgKGRlYnVnSWQgPT0gLTEpCi0gICAgICAgIHNucHJp
bnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJpbmplY3RlZCIpOwotICAgIGVsc2UKLSAgICAg
ICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImluamVjdGVkLCVkIiwgZGVidWdJ
ZCk7Ci0gICAgdGFyZ2V0Q29udGV4dC0+U2V0RW1iZWRkZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5l
d1N5bWJvbChidWZmZXIpKTsKKyAgICBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHRE
ZWJ1Z0RhdGEodGFyZ2V0Q29udGV4dCwgImluamVjdGVkIiwgZGVidWdJZCk7CiB9CiAKIFBhc3NP
d25QdHI8VjhET01XaW5kb3dTaGVsbD4gVjhET01XaW5kb3dTaGVsbDo6Y3JlYXRlKEZyYW1lKiBm
cmFtZSwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4
dERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5j
cHAKaW5kZXggZWU4YTBlNjc2ZjBiNTYzYmVmYzFhYTY4MzU0YmQ3MTQ0YzkzZDQ4YS4uN2FiODVi
MWNhMjAxODkwODUyNTk5YzA1NWJhMTY3NDZhYmQ1N2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4T2JqZWN0Q29uc3RydWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMTM5LDQgKzE0MCw1NSBAQCB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOFBlckNvbnRleHRE
YXRhOjpjb25zdHJ1Y3RvckZvclR5cGVTbG93Q2FzZShXcmFwcGVyVHlwZQogICAgIHJldHVybiBm
dW5jdGlvbjsKIH0KIAorYm9vbCBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1
Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCwgY29uc3QgY2hhciogd29ybGRO
YW1lLCBpbnQgZGVidWdJZCkgCit7CisgICAgaWYgKCFkZWJ1Z0RhdGEoY29udGV4dCktPklzVW5k
ZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2Nv
cGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRlYnVnRGF0YSA9IGNyZWF0ZURlYnVnRGF0
YSh3b3JsZE5hbWUsIGRlYnVnSWQpOworICAgIHNldERlYnVnRGF0YShjb250ZXh0LCBkZWJ1Z0Rh
dGEpOworICAgIHJldHVybiB0cnVlOworfQorCitpbnQgVjhQZXJDb250ZXh0RGVidWdEYXRhOjpj
b250ZXh0RGVidWdJZCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KSAKK3sKKyAgICB2
ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGEgPSBk
ZWJ1Z0RhdGEoY29udGV4dCk7CisKKyAgICBpZiAoIWRhdGEtPklzU3RyaW5nKCkpCisgICAgICAg
IHJldHVybiAtMTsKKyAgICB2ODo6U3RyaW5nOjpBc2NpaVZhbHVlIGFzY2lpKGRhdGEpOworICAg
IGNoYXIqIGNvbW1hID0gc3RybnN0cigqYXNjaWksICIsIiwgYXNjaWkubGVuZ3RoKCkpOworICAg
IGlmICghY29tbWEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gYXRvaShjb21tYSAr
IDEpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQZXJDb250ZXh0RGVidWdEYXRhOjpj
cmVhdGVEZWJ1Z0RhdGEoY29uc3QgY2hhciogd29ybGROYW1lLCBpbnQgZGVidWdJZCkgCit7Cisg
ICAgY2hhciBidWZmZXJbMzJdOworICAgIHVuc2lnbmVkIHdhbnRlZDsKKyAgICBpZiAoZGVidWdJ
ZCA9PSAtMSkKKyAgICAgICAgd2FudGVkID0gc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVy
KSwgIiVzIiwgd29ybGROYW1lKTsKKyAgICBlbHNlIAorICAgICAgICB3YW50ZWQgPSBzbnByaW50
ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAiJXMsJWQiLCB3b3JsZE5hbWUsIGRlYnVnSWQpOwor
CisgICAgaWYgKHdhbnRlZCA8IHNpemVvZihidWZmZXIpKQorICAgICAgICByZXR1cm4gdjg6OlN0
cmluZzo6TmV3U3ltYm9sKGJ1ZmZlcik7CisKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwor
fTsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4UGVyQ29udGV4dERlYnVnRGF0YTo6ZGVidWdE
YXRhKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCit7CisgICAgdjg6OkNvbnRleHQ6
OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0KTsKKyAgICByZXR1cm4gY29udGV4dC0+R2V0RW1i
ZWRkZXJEYXRhKHY4Q29udGV4dERlYnVnSWRJbmRleCk7Cit9CisKK3ZvaWQgVjhQZXJDb250ZXh0
RGVidWdEYXRhOjpzZXREZWJ1Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCwg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQoreworICAgIHY4OjpDb250ZXh0OjpTY29wZSBj
b250ZXh0U2NvcGUoY29udGV4dCk7CisgICAgY29udGV4dC0+U2V0RW1iZWRkZXJEYXRhKHY4Q29u
dGV4dERlYnVnSWRJbmRleCwgdmFsdWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmgKaW5kZXggMGFj
NzM5NWJhN2M5MTMyYjEzY2JiNGRjNzA1N2VkNDVkNmUwNGEyMi4uYTRjNmYxZTkyOWVkYjEyZGRl
YzExMTY3YzYxYzY5NmZhYzI1YzAwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4UGVyQ29udGV4dERhdGEuaApAQCAtMTMzLDYgKzEzMywxNiBAQCBwcml2YXRlOgogICAgIFNj
b3BlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBtX29iamVjdFByb3RvdHlwZTsKIH07CiAKK2NsYXNz
IFY4UGVyQ29udGV4dERlYnVnRGF0YSB7CitwdWJsaWM6CisgICAgc3RhdGljIGJvb2wgc2V0Q29u
dGV4dERlYnVnRGF0YSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiwgY29uc3QgY2hhciogd29ybGRO
YW1lLCBpbnQgZGVidWdJZCk7CisgICAgc3RhdGljIGludCBjb250ZXh0RGVidWdJZCh2ODo6SGFu
ZGxlPHY4OjpDb250ZXh0Pik7Citwcml2YXRlOgorICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gY3JlYXRlRGVidWdEYXRhKGNvbnN0IGNoYXIqIHdvcmxkTmFtZSwgaW50IGRlYnVnSWQp
OworICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGVidWdEYXRhKHY4OjpIYW5kbGU8
djg6OkNvbnRleHQ+KTsKKyAgICBzdGF0aWMgdm9pZCBzZXREZWJ1Z0RhdGEodjg6OkhhbmRsZTx2
ODo6Q29udGV4dD4sIHY4OjpIYW5kbGU8djg6OlZhbHVlPik7Cit9OworCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBWOFBlckNvbnRleHREYXRhX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196159</attachid>
            <date>2013-04-02 09:22:41 -0700</date>
            <delta_ts>2013-04-02 11:34:05 -0700</delta_ts>
            <desc>Fix 1/1 issue from review in comment #4</desc>
            <filename>bug-113331-20130402092232.patch</filename>
            <type>text/plain</type>
            <size>6930</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFkZDk2MjllYWUyMWMx
MzA4NjFmYzg1MmQ5YzUxNmU0OTE4OTU5Ny4uNjRlYmY2ODFhN2Y4ZDM2ZDU2ZmE0ZGFlNjU0N2Fk
ZTIxNWRjNDA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTI2ICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBFbmNhcHN1bGF0ZSBTZXRFbWJlZGRlckRhdGEvR2V0RW1iZWRkZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTMzMzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0byBl
bmNhcHN1bGF0ZSB1c2VzIG9mIFY4IFNldC9HZXRFbWJlZGRlckRhdGEgdG9nZXRoZXIKKyAgICAg
ICAgd2l0aCB1c2VzIG9mIFY4IFNldC9HZXRBbGlnbmVkUG9pbnRlckluRW1iZWRkZXJEYXRhIHNp
bmNlIHRoZXNlCisgICAgICAgIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHRoZSBzYW1lIHVuZGVyeWxp
bmcgYXJyYXkgaW4gVjguCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OnNldENvbnRleHREZWJ1
Z0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNvbnRleHREZWJ1Z0lk
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnNldEluamVjdGVkU2NyaXB0Q29udGV4dERlYnVnSWQpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJD
b250ZXh0RGVidWdEYXRhOjpzZXRDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJDb250ZXh0RGVidWdEYXRhOjpjb250ZXh0RGVidWdJ
ZCk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNyZWF0ZURlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmdldERlYnVn
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldERlYnVn
RGF0YSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oOgorICAgICAg
ICAoVjhQZXJDb250ZXh0RGVidWdEYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEzLTA0
LTAxICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTWFrZSBh
IGJ1bmNoIG9mIERvY3VtZW50TG9hZGVyIGZ1bmN0aW9ucyBwcml2YXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGJmYjgzNDFmNjM3
ZTYwNDU1N2JlZDI4NTY4MmY5NzdmNDEzZjM4YzguLjQ3MjNkMzdjNTA0ZTc5MzM0MzM5MjIzMWMy
YmZjNjAxOGE4YWY4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWUuaCIKICNpbmNsdWRlICJWOEhUTUxFbWJlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJW
OE5QT2JqZWN0LmgiCisjaW5jbHVkZSAiVjhQZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlY4
UmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKICNpbmNsdWRlICJucHJ1bnRp
bWVfaW1wbC5oIgpAQCAtNzA3LDI5ICs3MDgsMTIgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpz
ZXRDb250ZXh0RGVidWdJZChpbnQgZGVidWdJZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IHY4OjpIYW5kbGVTY29wZSBzY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250
ZXh0ID0gbV93aW5kb3dTaGVsbC0+Y29udGV4dCgpOwotICAgIGlmICghY29udGV4dC0+R2V0RW1i
ZWRkZXJEYXRhKDApLT5Jc1VuZGVmaW5lZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOwotCi0gICAgY2hhciBi
dWZmZXJbMzJdOwotICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJwYWdlLCVk
IiwgZGVidWdJZCk7Ci0gICAgYnVmZmVyWzMxXSA9IDA7Ci0gICAgY29udGV4dC0+U2V0RW1iZWRk
ZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChidWZmZXIpKTsKLQotICAgIHJldHVybiB0
cnVlOworICAgIHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1Z0Rh
dGEoY29udGV4dCwgInBhZ2UiLCBkZWJ1Z0lkKTsKIH0KIAogaW50IFNjcmlwdENvbnRyb2xsZXI6
OmNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7Ci0gICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOwotICAgIGlmICghY29udGV4dC0+R2V0RW1iZWRkZXJEYXRh
KDApLT5Jc1N0cmluZygpKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgdjg6OlN0cmluZzo6QXNj
aWlWYWx1ZSBhc2NpaShjb250ZXh0LT5HZXRFbWJlZGRlckRhdGEoMCkpOwotICAgIGNoYXIqIGNv
bW1hID0gc3RybnN0cigqYXNjaWksICIsIiwgYXNjaWkubGVuZ3RoKCkpOwotICAgIGlmICghY29t
bWEpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICByZXR1cm4gYXRvaShjb21tYSArIDEpOworICAg
IHJldHVybiBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OmNvbnRleHREZWJ1Z0lkKGNvbnRleHQpOwog
fQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmF0dGFjaERlYnVnZ2VyKHZvaWQqKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCA2ODMy
ZDEyNjU0OWU2YTI3MTkzZGMyYjA2NzY2ZmNhYjk0MTkzNmE3Li40MzlhZGMzYzA3N2ZjNDczNGY4
MDc2NmY4ZGIyYTUyMjM2MjMwY2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtNzgsMTIgKzc4LDcgQEAgc3RhdGljIHZvaWQgY2hl
Y2tEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyLCBEb2N1bWVu
dCogZG9jdW0KIAogc3RhdGljIHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRDb250ZXh0RGVidWdJZCh2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB0YXJnZXRDb250ZXh0LCBpbnQgZGVidWdJZCkKIHsKLSAg
ICBjaGFyIGJ1ZmZlclszMl07Ci0gICAgaWYgKGRlYnVnSWQgPT0gLTEpCi0gICAgICAgIHNucHJp
bnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJpbmplY3RlZCIpOwotICAgIGVsc2UKLSAgICAg
ICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImluamVjdGVkLCVkIiwgZGVidWdJ
ZCk7Ci0gICAgdGFyZ2V0Q29udGV4dC0+U2V0RW1iZWRkZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5l
d1N5bWJvbChidWZmZXIpKTsKKyAgICBWOFBlckNvbnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHRE
ZWJ1Z0RhdGEodGFyZ2V0Q29udGV4dCwgImluamVjdGVkIiwgZGVidWdJZCk7CiB9CiAKIFBhc3NP
d25QdHI8VjhET01XaW5kb3dTaGVsbD4gVjhET01XaW5kb3dTaGVsbDo6Y3JlYXRlKEZyYW1lKiBm
cmFtZSwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4
dERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5j
cHAKaW5kZXggZWU4YTBlNjc2ZjBiNTYzYmVmYzFhYTY4MzU0YmQ3MTQ0YzkzZDQ4YS4uOTVjNzI1
ZjA3NDA5OTQ4MGNkYmMwY2MwMzIyMWFlOWQxMjNiMGE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4T2JqZWN0Q29uc3RydWN0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMTM4LDUgKzEzOSw1NSBAQCB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBWOFBlckNvbnRleHRE
YXRhOjpjb25zdHJ1Y3RvckZvclR5cGVTbG93Q2FzZShXcmFwcGVyVHlwZQogCiAgICAgcmV0dXJu
IGZ1bmN0aW9uOwogfQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVEZWJ1Z0Rh
dGEoY29uc3QgY2hhciogd29ybGROYW1lLCBpbnQgZGVidWdJZCkgCit7CisgICAgY2hhciBidWZm
ZXJbMzJdOworICAgIHVuc2lnbmVkIHdhbnRlZDsKKyAgICBpZiAoZGVidWdJZCA9PSAtMSkKKyAg
ICAgICAgd2FudGVkID0gc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgIiVzIiwgd29y
bGROYW1lKTsKKyAgICBlbHNlIAorICAgICAgICB3YW50ZWQgPSBzbnByaW50ZihidWZmZXIsIHNp
emVvZihidWZmZXIpLCAiJXMsJWQiLCB3b3JsZE5hbWUsIGRlYnVnSWQpOworCisgICAgaWYgKHdh
bnRlZCA8IHNpemVvZihidWZmZXIpKQorICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3U3lt
Ym9sKGJ1ZmZlcik7CisKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfTsKKworc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkZWJ1Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4g
Y29udGV4dCkKK3sKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQp
OworICAgIHJldHVybiBjb250ZXh0LT5HZXRFbWJlZGRlckRhdGEodjhDb250ZXh0RGVidWdJZElu
ZGV4KTsKK30KKworc3RhdGljIHZvaWQgc2V0RGVidWdEYXRhKHY4OjpIYW5kbGU8djg6OkNvbnRl
eHQ+IGNvbnRleHQsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKK3sKKyAgICB2ODo6Q29u
dGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOworICAgIGNvbnRleHQtPlNldEVtYmVk
ZGVyRGF0YSh2OENvbnRleHREZWJ1Z0lkSW5kZXgsIHZhbHVlKTsKK30KKworYm9vbCBWOFBlckNv
bnRleHREZWJ1Z0RhdGE6OnNldENvbnRleHREZWJ1Z0RhdGEodjg6OkhhbmRsZTx2ODo6Q29udGV4
dD4gY29udGV4dCwgY29uc3QgY2hhciogd29ybGROYW1lLCBpbnQgZGVidWdJZCkgCit7CisgICAg
aWYgKCFkZWJ1Z0RhdGEoY29udGV4dCktPklzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGRlYnVnRGF0YSA9IGNyZWF0ZURlYnVnRGF0YSh3b3JsZE5hbWUsIGRlYnVnSWQpOworICAg
IHNldERlYnVnRGF0YShjb250ZXh0LCBkZWJ1Z0RhdGEpOworICAgIHJldHVybiB0cnVlOworfQor
CitpbnQgVjhQZXJDb250ZXh0RGVidWdEYXRhOjpjb250ZXh0RGVidWdJZCh2ODo6SGFuZGxlPHY4
OjpDb250ZXh0PiBjb250ZXh0KSAKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGEgPSBkZWJ1Z0RhdGEoY29udGV4dCk7CisKKyAgICBp
ZiAoIWRhdGEtPklzU3RyaW5nKCkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICB2ODo6U3RyaW5n
OjpBc2NpaVZhbHVlIGFzY2lpKGRhdGEpOworICAgIGNoYXIqIGNvbW1hID0gc3RybnN0cigqYXNj
aWksICIsIiwgYXNjaWkubGVuZ3RoKCkpOworICAgIGlmICghY29tbWEpCisgICAgICAgIHJldHVy
biAtMTsKKyAgICByZXR1cm4gYXRvaShjb21tYSArIDEpOworfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRl
eHREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmgK
aW5kZXggMGFjNzM5NWJhN2M5MTMyYjEzY2JiNGRjNzA1N2VkNDVkNmUwNGEyMi4uMWRkMWRlMDIy
MmViNGIwZGQyNGMxOTJhMTNmYjUxNmMxNzI5MDdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuaApAQCAtMTMzLDYgKzEzMywxMiBAQCBwcml2YXRl
OgogICAgIFNjb3BlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBtX29iamVjdFByb3RvdHlwZTsKIH07
CiAKK2NsYXNzIFY4UGVyQ29udGV4dERlYnVnRGF0YSB7CitwdWJsaWM6CisgICAgc3RhdGljIGJv
b2wgc2V0Q29udGV4dERlYnVnRGF0YSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiwgY29uc3QgY2hh
ciogd29ybGROYW1lLCBpbnQgZGVidWdJZCk7CisgICAgc3RhdGljIGludCBjb250ZXh0RGVidWdJ
ZCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Pik7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBWOFBlckNvbnRleHREYXRhX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>