<?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>112262</bug_id>
          
          <creation_ts>2013-03-13 08:41:10 -0700</creation_ts>
          <short_desc>[V8] Get rid of more function-level static FunctionTemplates and ObjectTemplates in bindings</short_desc>
          <delta_ts>2013-03-13 17:19:30 -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>111724</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Marja Hölttä">marja</reporter>
          <assigned_to name="Marja Hölttä">marja</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>dcarney</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>854328</commentid>
    <comment_count>0</comment_count>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2013-03-13 08:41:10 -0700</bug_when>
    <thetext>Bug 111971 wasn&apos;t quite enough, there is more. :/

This will also make some tests pass even if we add the original (reverted) patch from bug 111724 (but not all, so more fixes are needed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854373</commentid>
    <comment_count>1</comment_count>
      <attachid>192940</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2013-03-13 10:00:13 -0700</bug_when>
    <thetext>Created attachment 192940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854438</commentid>
    <comment_count>2</comment_count>
      <attachid>192940</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-13 11:46:49 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

Attachment 192940 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17134546

New failing tests:
fast/forms/range/slider-delete-while-dragging-thumb.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854660</commentid>
    <comment_count>3</comment_count>
      <attachid>192940</attachid>
    <who name="">jochen</who>
    <bug_when>2013-03-13 14:46:16 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp:58
&gt; +    static const char* shadowTemplateUniqueKey = &quot;wrapInShadowObjectShadowTemplate&quot;;

why are you not just duplicating the static as in V8DOMWindow::GetShadowObjectTemplate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854680</commentid>
    <comment_count>4</comment_count>
      <attachid>192940</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2013-03-13 14:54:01 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp:58
&gt;&gt; +    static const char* shadowTemplateUniqueKey = &quot;wrapInShadowObjectShadowTemplate&quot;;
&gt; 
&gt; why are you not just duplicating the static as in V8DOMWindow::GetShadowObjectTemplate?

Because we have a mechanism for storing these kind of &quot;private&quot; FunctionTemplates (but not private ObjectTemplates). And this is (supposedly) more sane than having non-trivial statics inside funcs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854708</commentid>
    <comment_count>5</comment_count>
      <attachid>192940</attachid>
    <who name="">jochen</who>
    <bug_when>2013-03-13 15:25:36 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp:58
&gt;&gt;&gt; +    static const char* shadowTemplateUniqueKey = &quot;wrapInShadowObjectShadowTemplate&quot;;
&gt;&gt; 
&gt;&gt; why are you not just duplicating the static as in V8DOMWindow::GetShadowObjectTemplate?
&gt; 
&gt; Because we have a mechanism for storing these kind of &quot;private&quot; FunctionTemplates (but not private ObjectTemplates). And this is (supposedly) more sane than having non-trivial statics inside funcs.

wouldn&apos;t it be more sane to introduce private object templates then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854723</commentid>
    <comment_count>6</comment_count>
      <attachid>192940</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2013-03-13 15:34:12 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp:58
&gt;&gt;&gt;&gt; +    static const char* shadowTemplateUniqueKey = &quot;wrapInShadowObjectShadowTemplate&quot;;
&gt;&gt;&gt; 
&gt;&gt;&gt; why are you not just duplicating the static as in V8DOMWindow::GetShadowObjectTemplate?
&gt;&gt; 
&gt;&gt; Because we have a mechanism for storing these kind of &quot;private&quot; FunctionTemplates (but not private ObjectTemplates). And this is (supposedly) more sane than having non-trivial statics inside funcs.
&gt; 
&gt; wouldn&apos;t it be more sane to introduce private object templates then?

For only this one case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854734</commentid>
    <comment_count>7</comment_count>
      <attachid>192940</attachid>
    <who name="">jochen</who>
    <bug_when>2013-03-13 15:43:13 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854746</commentid>
    <comment_count>8</comment_count>
      <attachid>192940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 15:52:25 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

Clearing flags on attachment: 192940

Committed r145765: &lt;http://trac.webkit.org/changeset/145765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854747</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 15:52:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854809</commentid>
    <comment_count>10</comment_count>
      <attachid>192940</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-13 17:19:30 -0700</bug_when>
    <thetext>Comment on attachment 192940
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp:58
&gt;&gt;&gt;&gt;&gt; +    static const char* shadowTemplateUniqueKey = &quot;wrapInShadowObjectShadowTemplate&quot;;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; why are you not just duplicating the static as in V8DOMWindow::GetShadowObjectTemplate?
&gt;&gt;&gt; 
&gt;&gt;&gt; Because we have a mechanism for storing these kind of &quot;private&quot; FunctionTemplates (but not private ObjectTemplates). And this is (supposedly) more sane than having non-trivial statics inside funcs.
&gt;&gt; 
&gt;&gt; wouldn&apos;t it be more sane to introduce private object templates then?
&gt; 
&gt; For only this one case?

The way wrapInShadowObject() is called is very special and weird... I&apos;m going to move the logic to V8HTMLDocument::wrap().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192940</attachid>
            <date>2013-03-13 10:00:13 -0700</date>
            <delta_ts>2013-03-13 17:19:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112262-20130313175610.patch</filename>
            <type>text/plain</type>
            <size>8451</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQwZTk5ZjUxYTJhNmUy
MmExMTEyZGQ1MWI2NmFkZjMxYzdlMDQzMC4uOTM0YWIyZTY4NWQxZDFlOTRhY2M4Y2M3MWM3MmU2
NTAwMTlhZTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTEzICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIEdldCByaWQg
b2YgbW9yZSBmdW5jdGlvbi1sZXZlbCBzdGF0aWMgRnVuY3Rpb25UZW1wbGF0ZXMgYW5kIE9iamVj
dFRlbXBsYXRlcyBpbiBiaW5kaW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEyMjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW4gdGhlIGZ1dHVyZSB3ZSdsbCBjcmVhdGUgYW5kIHN0b3JlIGZ1bmN0
aW9uIHRlbXBsYXRlcyBmb3IgbWFpbiB3b3JsZAorICAgICAgICBhbmQgbm9uLW1haW4gd29ybGRz
IHNlcGFyYXRlbHkgKHNlZSBidWcgMTExNzI0KSwgaGF2aW5nIGZ1bmN0aW9uCisgICAgICAgIHRl
bXBsYXRlcyBhbmQgb2JqZWN0IHRlbXBsYXRlcyBhcyBzdGF0aWMgdmFyaWFibGVzIGluc2lkZSBm
dW5jdGlvbnMgd2lsbAorICAgICAgICBicmVhayB0aGUgZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgKG5vIGNoYW5nZXMgaW4gZnVuY3Rpb25hbGl0eSB5ZXQ7IGV4aXN0aW5n
IGJpbmRpbmdzCisgICAgICAgIHRlc3RzIHN0aWxsIHBhc3MpLgorCisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6
CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hl
bGw6OmNyZWF0ZUNvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURh
dGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQZXJJc29sYXRlRGF0YTo6aGFzUHJpdmF0ZVRl
bXBsYXRlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UGVy
SXNvbGF0ZURhdGEuaDoKKyAgICAgICAgKFY4UGVySXNvbGF0ZURhdGEpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpWOEhUTUxEb2N1bWVudDo6d3JhcEluU2hhZG93T2JqZWN0KToKKwogMjAxMy0wMy0xMyAg
TWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBhc3MgdGhlIFhTU0F1
ZGl0b3IncyByZXBvcnQgVVJMIHRvIHRoZSBYU1NBdWRpdG9yRGVsZWdhdGUgb24gdGhlIG1haW4g
dGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQppbmRleCBlZjIwZjlmZWVkM2NkNGYzYTYyODY3MDlmZjcwNTQ1OWY5MzZlOTJm
Li45OTcxNTY4ZTIxM2VlOTIxNDNhYjljYWMyNDEzYTI0OGZiMjE3ZmMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMzg0
LDcgKzM4NCw3IEBAIEVORAogCiAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ci
KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKLSAgICBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRlPiBHZXRTaGFkb3dPYmplY3RUZW1wbGF0ZSh2
ODo6SXNvbGF0ZSopOworICAgIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0VGVtcGxh
dGU+IEdldFNoYWRvd09iamVjdFRlbXBsYXRlKHY4OjpJc29sYXRlKiwgV3JhcHBlcldvcmxkVHlw
ZSk7CiBFTkQKICAgICB9CiAKQEAgLTMyNjAsMTQgKzMyNjAsMjMgQEAgRU5ECiAKICAgICBpZiAo
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsIDw8RU5EKTsKLXY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3RUZW1wbGF0ZT4gVjhET01XaW5k
b3c6OkdldFNoYWRvd09iamVjdFRlbXBsYXRlKHY4OjpJc29sYXRlKiBpc29sYXRlKQordjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRlPiBWOERPTVdpbmRvdzo6R2V0U2hhZG93T2JqZWN0
VGVtcGxhdGUodjg6Oklzb2xhdGUqIGlzb2xhdGUsIFdyYXBwZXJXb3JsZFR5cGUgY3VycmVudFdv
cmxkVHlwZSkKIHsKLSAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRl
PiBWOERPTVdpbmRvd1NoYWRvd09iamVjdENhY2hlOwotICAgIGlmIChWOERPTVdpbmRvd1NoYWRv
d09iamVjdENhY2hlLklzRW1wdHkoKSkgewotICAgICAgICBWOERPTVdpbmRvd1NoYWRvd09iamVj
dENhY2hlID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRlPjo6TmV3KGlzb2xhdGUs
IHY4OjpPYmplY3RUZW1wbGF0ZTo6TmV3KCkpOwotICAgICAgICBDb25maWd1cmVTaGFkb3dPYmpl
Y3RUZW1wbGF0ZShWOERPTVdpbmRvd1NoYWRvd09iamVjdENhY2hlLCBpc29sYXRlKTsKKyAgICBp
ZiAoY3VycmVudFdvcmxkVHlwZSA9PSBNYWluV29ybGQpIHsKKyAgICAgICAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpPYmplY3RUZW1wbGF0ZT4gVjhET01XaW5kb3dTaGFkb3dPYmplY3RDYWNo
ZUZvck1haW5Xb3JsZDsKKyAgICAgICAgaWYgKFY4RE9NV2luZG93U2hhZG93T2JqZWN0Q2FjaGVG
b3JNYWluV29ybGQuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICBWOERPTVdpbmRvd1NoYWRvd09i
amVjdENhY2hlRm9yTWFpbldvcmxkID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRl
Pjo6TmV3KGlzb2xhdGUsIHY4OjpPYmplY3RUZW1wbGF0ZTo6TmV3KCkpOworICAgICAgICAgICAg
Q29uZmlndXJlU2hhZG93T2JqZWN0VGVtcGxhdGUoVjhET01XaW5kb3dTaGFkb3dPYmplY3RDYWNo
ZUZvck1haW5Xb3JsZCwgaXNvbGF0ZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFY4RE9N
V2luZG93U2hhZG93T2JqZWN0Q2FjaGVGb3JNYWluV29ybGQ7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3RUZW1wbGF0ZT4gVjhET01XaW5kb3dT
aGFkb3dPYmplY3RDYWNoZUZvck5vbk1haW5Xb3JsZDsKKyAgICAgICAgaWYgKFY4RE9NV2luZG93
U2hhZG93T2JqZWN0Q2FjaGVGb3JOb25NYWluV29ybGQuSXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICBWOERPTVdpbmRvd1NoYWRvd09iamVjdENhY2hlRm9yTm9uTWFpbldvcmxkID0gdjg6OlBlcnNp
c3RlbnQ8djg6Ok9iamVjdFRlbXBsYXRlPjo6TmV3KGlzb2xhdGUsIHY4OjpPYmplY3RUZW1wbGF0
ZTo6TmV3KCkpOworICAgICAgICAgICAgQ29uZmlndXJlU2hhZG93T2JqZWN0VGVtcGxhdGUoVjhE
T01XaW5kb3dTaGFkb3dPYmplY3RDYWNoZUZvck5vbk1haW5Xb3JsZCwgaXNvbGF0ZSk7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIFY4RE9NV2luZG93U2hhZG93T2JqZWN0Q2FjaGVGb3JOb25N
YWluV29ybGQ7CiAgICAgfQotICAgIHJldHVybiBWOERPTVdpbmRvd1NoYWRvd09iamVjdENhY2hl
OwogfQogCiBFTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dT
aGVsbC5jcHAKaW5kZXggZGQ0YjU4ZjU2YTM5YzJkNDhiODMzOGQyZmNjZTZlMGE2ZDY2NWFlYS4u
M2M2NmQxMGI5OTVlZjc0Zjk2YTdjZmJiMGI0YTMzMzczM2VjNjc0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTI4MSw3ICsyODEs
NyBAQCB2b2lkIFY4RE9NV2luZG93U2hlbGw6OmNyZWF0ZUNvbnRleHQoKQogCiAgICAgLy8gQ3Jl
YXRlIGEgbmV3IGVudmlyb25tZW50IHVzaW5nIGFuIGVtcHR5IHRlbXBsYXRlIGZvciB0aGUgc2hh
ZG93CiAgICAgLy8gb2JqZWN0LiBSZXVzZSB0aGUgZ2xvYmFsIG9iamVjdCBpZiBvbmUgaGFzIGJl
ZW4gY3JlYXRlZCBlYXJsaWVyLgotICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3RUZW1wbGF0
ZT4gZ2xvYmFsVGVtcGxhdGUgPSBWOERPTVdpbmRvdzo6R2V0U2hhZG93T2JqZWN0VGVtcGxhdGUo
bV9pc29sYXRlKTsKKyAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0VGVtcGxhdGU+IGdsb2Jh
bFRlbXBsYXRlID0gVjhET01XaW5kb3c6OkdldFNoYWRvd09iamVjdFRlbXBsYXRlKG1faXNvbGF0
ZSwgbV93b3JsZC0+aXNNYWluV29ybGQoKSA/IE1haW5Xb3JsZCA6IElzb2xhdGVkV29ybGQpOwog
ICAgIGlmIChnbG9iYWxUZW1wbGF0ZS5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcAppbmRleCAy
ZmZjMTk0MmJkNDZhZjM0OWI2ZjIyNjY4OTU5Y2IzOWZiNDcxMGUzLi5lMWQxNGYzNDc1OTU1Zjkx
MjliZDE0MTkyNmM2ODFiMzczMTEzZjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcApAQCAtMTIyLDYgKzEyMiwxMSBAQCB2b2lkIFY4UGVy
SXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbgogICAgIGluZm8uaWdub3JlTWVtYmVyKG1fYXV4aWxpYXJ5Q29udGV4dCk7
CiB9CiAKK2Jvb2wgVjhQZXJJc29sYXRlRGF0YTo6aGFzUHJpdmF0ZVRlbXBsYXRlKFdyYXBwZXJX
b3JsZFR5cGUsIHZvaWQqIHByaXZhdGVQb2ludGVyKQoreworICAgIHJldHVybiBtX3RlbXBsYXRl
cy5maW5kKHByaXZhdGVQb2ludGVyKSAhPSBtX3RlbXBsYXRlcy5lbmQoKTsKK30KKwogdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4UGVySXNvbGF0ZURhdGE6OnByaXZhdGVU
ZW1wbGF0ZShXcmFwcGVyV29ybGRUeXBlLCB2b2lkKiBwcml2YXRlUG9pbnRlciwgdjg6Okludm9j
YXRpb25DYWxsYmFjayBjYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRhdGEsIHY4OjpI
YW5kbGU8djg6OlNpZ25hdHVyZT4gc2lnbmF0dXJlLCBpbnQgbGVuZ3RoKQogewogICAgIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBwcml2YXRlVGVtcGxhdGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmgKaW5kZXggYzNjMDJiMDEz
ZTlhNGY4NTkzOWM2Njc1Yjk1YTUxODc2NGNmMTRhYy4uZTc3ZDc1MjlmZGI2Y2Q0MGUyMzQ1ZTBm
MjIxMmNmMTBmM2Y0ODk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQZXJJc29sYXRlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVy
SXNvbGF0ZURhdGEuaApAQCAtMTI4LDYgKzEyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFy
U2hvdWxkQ29sbGVjdEdhcmJhZ2VTb29uKCkgeyBtX3Nob3VsZENvbGxlY3RHYXJiYWdlU29vbiA9
IGZhbHNlOyB9CiAgICAgYm9vbCBzaG91bGRDb2xsZWN0R2FyYmFnZVNvb24oKSBjb25zdCB7IHJl
dHVybiBtX3Nob3VsZENvbGxlY3RHYXJiYWdlU29vbjsgfQogCisgICAgYm9vbCBoYXNQcml2YXRl
VGVtcGxhdGUoV3JhcHBlcldvcmxkVHlwZSwgdm9pZCogcHJpdmF0ZVBvaW50ZXIpOwogICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBwcml2YXRlVGVtcGxhdGUoV3JhcHBl
cldvcmxkVHlwZSwgdm9pZCogcHJpdmF0ZVBvaW50ZXIsIHY4OjpJbnZvY2F0aW9uQ2FsbGJhY2ss
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkYXRhLCB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+LCBp
bnQgbGVuZ3RoID0gMCk7CiAKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gcmF3VGVtcGxhdGUoV3JhcHBlclR5cGVJbmZvKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRl
eCA2OGIwYmFiYTViN2MyN2U0MjdkMjRhNmU1MTgzMjRmNDJhZTg1ZmY5Li5lOTc5NDdlMDU4YzVj
MzVkMmQ0OTQ1MWVkMTc5Mjk5MDRiNTRkYTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTU0
LDE2ICs1NCwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiBWOEhUTUxEb2N1bWVudDo6d3JhcEluU2hhZG93T2JqZWN0KHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiB3cmFwcGVyLCBOb2RlKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiwgc2hh
ZG93VGVtcGxhdGUsICgpKTsKLSAgICBpZiAoc2hhZG93VGVtcGxhdGUuSXNFbXB0eSgpKSB7Cisg
ICAgLy8gVGhpcyBpcyBvbmx5IGZvciBnZXR0aW5nIGEgdW5pcXVlIHBvaW50ZXIgd2hpY2ggd2Ug
Y2FuIHBhc3MgdG8gcHJpdmF0ZVRlbXBsYXRlLgorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzaGFk
b3dUZW1wbGF0ZVVuaXF1ZUtleSA9ICJ3cmFwSW5TaGFkb3dPYmplY3RTaGFkb3dUZW1wbGF0ZSI7
CisgICAgV3JhcHBlcldvcmxkVHlwZSBjdXJyZW50V29ybGRUeXBlID0gd29ybGRUeXBlKGlzb2xh
dGUpOworICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBzaGFkb3dUZW1w
bGF0ZTsKKyAgICBpZiAoIVY4UGVySXNvbGF0ZURhdGE6OmZyb20oaXNvbGF0ZSktPmhhc1ByaXZh
dGVUZW1wbGF0ZShjdXJyZW50V29ybGRUeXBlLCAmc2hhZG93VGVtcGxhdGVVbmlxdWVLZXkpKSB7
CiAgICAgICAgIHNoYWRvd1RlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVt
cGxhdGU+OjpOZXcoaXNvbGF0ZSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldygpKTsKICAgICAg
ICAgaWYgKHNoYWRvd1RlbXBsYXRlLklzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybiB2ODo6
TG9jYWw8djg6Ok9iamVjdD4oKTsKICAgICAgICAgc2hhZG93VGVtcGxhdGUtPlNldENsYXNzTmFt
ZSh2ODo6U3RyaW5nOjpOZXdTeW1ib2woIkhUTUxEb2N1bWVudCIpKTsKLSAgICAgICAgc2hhZG93
VGVtcGxhdGUtPkluaGVyaXQoVjhIVE1MRG9jdW1lbnQ6OkdldFRlbXBsYXRlKGlzb2xhdGUsIHdv
cmxkVHlwZUluTWFpblRocmVhZChpc29sYXRlKSkpOworICAgICAgICBzaGFkb3dUZW1wbGF0ZS0+
SW5oZXJpdChWOEhUTUxEb2N1bWVudDo6R2V0VGVtcGxhdGUoaXNvbGF0ZSwgY3VycmVudFdvcmxk
VHlwZSkpOwogICAgICAgICBzaGFkb3dUZW1wbGF0ZS0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRJ
bnRlcm5hbEZpZWxkQ291bnQoVjhIVE1MRG9jdW1lbnQ6OmludGVybmFsRmllbGRDb3VudCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgc2hhZG93VGVtcGxhdGUgPSBWOFBlcklzb2xhdGVEYXRhOjpm
cm9tKGlzb2xhdGUpLT5wcml2YXRlVGVtcGxhdGUoY3VycmVudFdvcmxkVHlwZSwgJnNoYWRvd1Rl
bXBsYXRlVW5pcXVlS2V5LCAwLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgdjg6OkhhbmRsZTx2
ODo6U2lnbmF0dXJlPigpKTsKICAgICB9Ci0KICAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBz
aGFkb3dDb25zdHJ1Y3RvciA9IHNoYWRvd1RlbXBsYXRlLT5HZXRGdW5jdGlvbigpOwogICAgIGlm
IChzaGFkb3dDb25zdHJ1Y3Rvci5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8
djg6Ok9iamVjdD4oKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>