<?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>67977</bug_id>
          
          <creation_ts>2011-09-12 18:41:49 -0700</creation_ts>
          <short_desc>Implement a PopStateEvent constructor for JSC</short_desc>
          <delta_ts>2011-09-15 19:45:07 -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>DOM</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>67824</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dominicc</cc>
    
    <cc>haraken</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>466020</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-12 18:41:49 -0700</bug_when>
    <thetext>PopStateEvent should have a constructor (Spec: http://www.whatwg.org/specs/web-apps/current-work/#popstateevent). 

After this patch is landed, I will add the PopStateEvent constructor for V8 as a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467599</commentid>
    <comment_count>1</comment_count>
      <attachid>107450</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-14 21:27:25 -0700</bug_when>
    <thetext>Created attachment 107450
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467621</commentid>
    <comment_count>2</comment_count>
      <attachid>107455</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-14 21:56:09 -0700</bug_when>
    <thetext>Created attachment 107455
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467625</commentid>
    <comment_count>3</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-14 22:08:33 -0700</bug_when>
    <thetext>Question: Which should IDL &apos;any&apos; be implemented as ScriptValue or SerializedScriptValue?

The spec says that the type of both PopStateEvent.state and CustomEvent.detail should be &apos;any&apos; (http://www.whatwg.org/specs/web-apps/current-work/#popstateevent, http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-customevent). However, in the current WebCore implementation, CustomEvent.state is implemented as ScriptValue (https://bugs.webkit.org/show_bug.cgi?id=67248), and PopStateEvent.detail is implemented as SerializedScriptValue. Which is correct?

If we use SerializedScriptValue, some tests violate the spec of IDL &apos;any&apos; (http://www.w3.org/TR/WebIDL/#es-any), as you can see in the WIP patch.

&gt; FAIL new PopStateEvent(&apos;eventType&apos;, { state: &apos;&apos; }).state should be undefined (of type undefined). Was  (of type string).
&gt; FAIL new PopStateEvent(&apos;eventType&apos;, { state: object1 }).state should be [object Object]. Was [object Object].
&gt; FAIL new PopStateEvent(&apos;eventType&apos;, { state: {valueOf: function () { return object2; } } }).state should be [object Object]. Was [object Object].
&gt; FAIL new PopStateEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, state: object3 }).state should be [object Object]. Was [object Object].

In addition, if we use SerializedScriptValue, the test crashes when we pass a DOM object. (I guess we can fix this crash, but we need to throw some exception anyway.)

&gt; //shouldBe(&quot;new PopStateEvent(&apos;eventType&apos;, { state: document }).state&quot;, &quot;document&quot;); // Crash!!!

On the other hand, if we use ScriptValue, we can get correct test results.

With these observations, I guess that we should implement PopStateEvent.state as ScriptValue, but are there any problem to change it from SeriazliedScriptValue to ScriptValue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467631</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-14 22:12:10 -0700</bug_when>
    <thetext>&gt; CustomEvent.state is implemented as ScriptValue (https://bugs.webkit.org/show_bug.cgi?id=67248), and PopStateEvent.detail is implemented as SerializedScriptValue.

Correction:

CustomEvent.detail is implemented as ScriptValue (https://bugs.webkit.org/show_bug.cgi?id=67248), and PopStateEvent.state is implemented as SerializedScriptValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467641</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-14 22:33:00 -0700</bug_when>
    <thetext>For now, I would match what the event already has, and file follow up bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467692</commentid>
    <comment_count>6</comment_count>
      <attachid>107472</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-15 00:41:05 -0700</bug_when>
    <thetext>Created attachment 107472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467695</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-15 00:42:21 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; For now, I would match what the event already has, and file follow up bugs.

Sam: Thanks. If the patch is OK, I will file the follow-up bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467862</commentid>
    <comment_count>8</comment_count>
      <attachid>107472</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-15 09:42:14 -0700</bug_when>
    <thetext>Comment on attachment 107472
Patch

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

&gt; Source/WebCore/dom/PopStateEvent.cpp:36
&gt; +PopStateEventInit::PopStateEventInit()
&gt; +{
&gt; +    state = SerializedScriptValue::create();

This should probably use initializer syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468253</commentid>
    <comment_count>9</comment_count>
      <attachid>107472</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 19:45:02 -0700</bug_when>
    <thetext>Comment on attachment 107472
Patch

Clearing flags on attachment: 107472

Committed r95262: &lt;http://trac.webkit.org/changeset/95262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468254</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 19:45:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107450</attachid>
            <date>2011-09-14 21:27:25 -0700</date>
            <delta_ts>2011-09-14 21:56:01 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-67977-20110915132724.patch</filename>
            <type>text/plain</type>
            <size>13632</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxNTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOGE0MWQ5NmQwY2Q4NzU1MWJlYmVk
ZjE5NmE5ZGVlMzJlOGVhYWEwLi5jMTFmZTY3YWY3ZWI3NTExOWVmODZkM2UwOTU2YjA1MzMyZjMx
MWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMTQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXSVA6IEltcGxlbWVudCBhIFBvcFN0YXRlRXZl
bnQgY29uc3RydWN0b3IgZm9yIEpTQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njc5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorCiAy
MDExLTA5LTE0ICBIZW5yaWsgR3J1bmVsbCAgPGdydW5lbGxAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBNZWRpYVN0cmVhbSBBUEk6IENoYW5nZSBQZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBuYW1l
IHRvIHdlYmtpdFBlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4ZmVjMjk4OTcyYWJjOTFlNGI3
ODhhM2I3Y2I1YzQwMTJmYjcwZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDM0IEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhl
IFBvcFN0YXRlRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyBpcyBmYWxzZQor
UEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuY2FuY2VsYWJsZSBpcyBmYWxzZQor
UEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuc3RhdGUgaXMgbnVsbAorUEFTUyBu
ZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVz
IGlzIGZhbHNlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6
IHRydWUgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IGNhbmNlbGFibGU6IGZhbHNlIH0pLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3
IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxh
YmxlIGlzIHRydWUKK0ZBSUwgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6
IG9iamVjdDEgfSkuc3RhdGUgc2hvdWxkIGJlIFtvYmplY3QgT2JqZWN0XS4gV2FzIFtvYmplY3Qg
T2JqZWN0XS4KK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHVu
ZGVmaW5lZCB9KS5zdGF0ZSBpcyB1bmRlZmluZWQKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2
ZW50VHlwZScsIHsgc3RhdGU6IG51bGwgfSkuc3RhdGUgaXMgbnVsbAorUEFTUyBuZXcgUG9wU3Rh
dGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogZmFsc2UgfSkuc3RhdGUgaXMgZmFsc2UKK1BB
U1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHRydWUgfSkuc3RhdGUg
aXMgdHJ1ZQorRkFJTCBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogJycg
fSkuc3RhdGUgc2hvdWxkIGJlIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLiBXYXMgIChv
ZiB0eXBlIHN0cmluZykuCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0
YXRlOiAxMjM0NSB9KS5zdGF0ZSBpcyAxMjM0NQorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZl
bnRUeXBlJywgeyBzdGF0ZTogMTg0NDY3NDQwNzM3MDk1NTE2MTUgfSkuc3RhdGUgaXMgMTg0NDY3
NDQwNzM3MDk1NTIwMDAKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3Rh
dGU6IE5hTiB9KS5zdGF0ZSBpcyBOYU4KK0ZBSUwgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgc3RhdGU6IFtdIH0pLnN0YXRlIHNob3VsZCBiZSB1bmRlZmluZWQgKG9mIHR5cGUgdW5k
ZWZpbmVkKS4gV2FzICAob2YgdHlwZSBvYmplY3QpLgorRkFJTCBuZXcgUG9wU3RhdGVFdmVudCgn
ZXZlbnRUeXBlJywgeyBzdGF0ZTogWzEsIDIsIDNdIH0pLnN0YXRlIHNob3VsZCBiZSAzIChvZiB0
eXBlIG51bWJlcikuIFdhcyAxLDIsMyAob2YgdHlwZSBvYmplY3QpLgorRkFJTCBuZXcgUG9wU3Rh
dGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZToge255YW5ueWFuOiAxMjM0NX0gfSkuc3RhdGUg
c2hvdWxkIGJlIFtvYmplY3QgT2JqZWN0XSAob2YgdHlwZSBzdHJpbmcpLiBXYXMgW29iamVjdCBP
YmplY3RdIChvZiB0eXBlIG9iamVjdCkuCitGQUlMIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IHN0YXRlOiB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gb2JqZWN0MjsgfSB9
IH0pLnN0YXRlIHNob3VsZCBiZSBbb2JqZWN0IE9iamVjdF0uIFdhcyBbb2JqZWN0IE9iamVjdF0u
CitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBzdGF0ZSgpIHsgcmV0
dXJuIDEyMzsgfSB9KS5zdGF0ZSBpcyAxMjMKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50
VHlwZScsIHsgZ2V0IHN0YXRlKCkgeyB0aHJvdyAnUG9wU3RhdGUgRXJyb3InOyB9IH0pIHRocmV3
IGV4Y2VwdGlvbiBQb3BTdGF0ZSBFcnJvci4KK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50
VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVjdDMg
fSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3QzIH0pLmNhbmNl
bGFibGUgaXMgdHJ1ZQorRkFJTCBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBzdGF0ZTogb2JqZWN0MyB9KS5zdGF0ZSBzaG91
bGQgYmUgW29iamVjdCBPYmplY3RdLiBXYXMgW29iamVjdCBPYmplY3RdLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQtY29uc3RydWN0
b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUt
ZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjIyOWUzNjZkNjNiMDY5N2VhMjIx
MDFlYTFlZTFlMDNmMzEzMjk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL3BvcC1zdGF0ZS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCkBAIC0w
LDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGNv
bnN0cnVjdG9yIGZvciB0aGUgUG9wU3RhdGVFdmVudCBET00gY2xhc3MuIik7CisKKy8vIE5vIGlu
aXRpYWxpemVyIGlzIHBhc3NlZC4KK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRU
eXBlJykuYnViYmxlcyIsICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdl
dmVudFR5cGUnKS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRl
RXZlbnQoJ2V2ZW50VHlwZScpLnN0YXRlIiwgIm51bGwiKTsKKworLy8gYnViYmxlcyBpcyBwYXNz
ZWQuCitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczog
ZmFsc2UgfSkuYnViYmxlcyIsICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50
KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisKKy8v
IGNhbmNlbGFibGUgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVu
dFR5cGUnLCB7IGNhbmNlbGFibGU6IGZhbHNlIH0pLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3No
b3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiB0cnVl
IH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworCisvLyBzdGF0ZSBpcyBwYXNzZWQuCit2YXIgb2Jq
ZWN0MSA9IHtueWFubnlhbjogMTIzfTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZl
bnRUeXBlJywgeyBzdGF0ZTogb2JqZWN0MSB9KS5zdGF0ZSIsICJvYmplY3QxIik7CisvL3Nob3Vs
ZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogZG9jdW1lbnQgfSku
c3RhdGUiLCAiZG9jdW1lbnQiKTsgLy8gQ3Jhc2ghISEKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVF
dmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogdW5kZWZpbmVkIH0pLnN0YXRlIiwgInVuZGVmaW5l
ZCIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiBu
dWxsIH0pLnN0YXRlIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZl
bnRUeXBlJywgeyBzdGF0ZTogZmFsc2UgfSkuc3RhdGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJu
ZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogdHJ1ZSB9KS5zdGF0ZSIsICJ0
cnVlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6
ICcnIH0pLnN0YXRlIiwgIiIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IHN0YXRlOiAxMjM0NSB9KS5zdGF0ZSIsICIxMjM0NSIpOworc2hvdWxkQmUoIm5ldyBQ
b3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9
KS5zdGF0ZSIsICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0
ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiBOYU4gfSkuc3RhdGUiLCAiTmFOIik7CitzaG91
bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IFtdIH0pLnN0YXRl
IiwgIiIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRl
OiBbMSwgMiwgM10gfSkuc3RhdGUiLCAiMSwyLDMiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVF
dmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZToge255YW5ueWFuOiAxMjM0NX0gfSkuc3RhdGUiLCAi
J1tvYmplY3QgT2JqZWN0XSciKTsKK3ZhciBvYmplY3QyID0ge255YW5ueWFuOiA0NTZ9Oworc2hv
dWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiB7dmFsdWVPZjog
ZnVuY3Rpb24gKCkgeyByZXR1cm4gb2JqZWN0MjsgfSB9IH0pLnN0YXRlIiwgIm9iamVjdDIiKTsK
K3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBnZXQgc3RhdGUoKSB7
IHJldHVybiAxMjM7IH0gfSkuc3RhdGUiLCAiMTIzIik7CitzaG91bGRUaHJvdygibmV3IFBvcFN0
YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgZ2V0IHN0YXRlKCkgeyB0aHJvdyAnUG9wU3RhdGUgRXJy
b3InOyB9IH0pIik7CisKKy8vIEFsbCBpbml0aWFsaXplcnMgYXJlIHBhc3NlZC4KK3ZhciBvYmpl
Y3QzID0ge255YW5ueWFuOiA3ODl9Oworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVu
dFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3Qz
IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVu
dFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3Qz
IH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdl
dmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmpl
Y3QzIH0pLnN0YXRlIiwgIm9iamVjdDMiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTBmYTJj
ZDUzNmNiMTJjZTk4ODE5MDU0ZWQ3MjUwZjE0OTU5N2M0Li4yNWFkZWE1NzQ3M2VmNTJhNjIyMTJj
MzA1MTJiM2M1YWFiMWVmYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDkt
MTQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXSVA6IElt
cGxlbWVudCBhIFBvcFN0YXRlRXZlbnQgY29uc3RydWN0b3IgZm9yIEpTQworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jb25z
dHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKiBkb20vUG9wU3RhdGVFdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQb3BTdGF0ZUV2ZW50SW5pdDo6UG9wU3RhdGVFdmVudElu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3BTdGF0ZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9Q
b3BTdGF0ZUV2ZW50Lmg6CisgICAgICAgICogZG9tL1BvcFN0YXRlRXZlbnQuaWRsOgorCiAyMDEx
LTA5LTE0ICBIZW5yaWsgR3J1bmVsbCAgPGdydW5lbGxAZ29vZ2xlLmNvbT4KIAogICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IENoYW5nZSBQZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBuYW1lIHRv
IHdlYmtpdFBlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKaW5kZXggNTVhZDE0MDIwMGRkZDQ2MjEwODI1MTk4
ZmMxNTgxNDQ1MjQ5MGY2OS4uNGZmZmQ5Yzg4MDNkMjIzMmU2ZmQ2YTI4Nzc4NzI5NzQzMmIwY2U0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0
cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25z
dHJ1Y3RvcnMuaApAQCAtNzQsNiArNzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBGSUxMX1BST1BFUlRZKHBlcnNpc3RlZCkgXAogICAgIERJQ1RJT05BUllfRU5EKFBhZ2VUcmFu
c2l0aW9uRXZlbnQpCiAKKyNkZWZpbmUgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVD
VE9SX0ZPUl9QT1BfU1RBVEVfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAgRElD
VElPTkFSWV9TVEFSVChQb3BTdGF0ZUV2ZW50KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BF
UlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklMTF9QUk9QRVJUWShzdGF0ZSkgXAorICAgIERJQ1RJ
T05BUllfRU5EKFBvcFN0YXRlRXZlbnQpCisKIAogI2RlZmluZSBJTlNUQU5USUFURV9BTExfRVZF
TlRfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SUyhESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZ
X0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RB
TlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfRVZFTlQoRElDVElPTkFSWV9TVEFS
VCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkp
IFwKQEAgLTgyLDYgKzg5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIElOU1RBTlRJQVRF
X0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfV0VCS0lUX0FOSU1BVElPTl9FVkVOVChESUNU
SU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklM
TF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9G
T1JfSEFTSF9DSEFOR0VfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJ
TExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9J
TklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX1BBR0VfVFJBTlNJVElPTl9FVkVOVChESUNUSU9O
QVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9Q
Uk9QRVJUWSkgXAorICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1Jf
UE9QX1NUQVRFX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BB
UkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0
cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0
b3JzLmNwcAppbmRleCBhZTJmMGEyMGJlNGIxNTkyMWFjNmFjYTliYjQ5MTRkNGY2ZTYyNzVmLi5k
YjI4YzAxY2Q3ZTVhNDI2NzZiMTllNDkxYmM0YzEwMmMxNjZkZDBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcApAQCAtMzQsOSAr
MzQsMTEgQEAKICNpbmNsdWRlICJKU0V2ZW50LmgiCiAjaW5jbHVkZSAiSlNIYXNoQ2hhbmdlRXZl
bnQuaCIKICNpbmNsdWRlICJKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJKU1Bv
cFN0YXRlRXZlbnQuaCIKICNpbmNsdWRlICJKU1Byb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlICJK
U1dlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZVRyYW5zaXRpb25FdmVudC5o
IgorI2luY2x1ZGUgIlBvcFN0YXRlRXZlbnQuaCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50Lmgi
CiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vy
cm9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAKaW5kZXggMzMwYzc2MWUzMmU2
NWRhODQ4YjMzNGU0ZjQyZWE2MWQ4OWIwNTc1Ni4uZDFmN2Y2MGYwMWZiNDViM2ZiNmZiMzhiMjQy
NGMwNzUzMjRlOGY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcApAQCAtMzEs
MTEgKzMxLDIyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUG9wU3RhdGVFdmVudEluaXQ6
OlBvcFN0YXRlRXZlbnRJbml0KCkKK3sKKyAgICBzdGF0ZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKCk7Cit9CisKIFBvcFN0YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQoKQogICAgIDog
RXZlbnQoZXZlbnROYW1lcygpLnBvcHN0YXRlRXZlbnQsIGZhbHNlLCB0cnVlKQogewogfQogCitQ
b3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29u
c3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIDogRXZlbnQodHlwZSwgaW5p
dGlhbGl6ZXIpCisgICAgLCBtX3N0YXRlT2JqZWN0KGluaXRpYWxpemVyLnN0YXRlKQoreworfQor
CiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBzdGF0ZU9iamVjdCkKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5wb3BzdGF0ZUV2
ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAsIG1fc3RhdGVPYmplY3Qoc3RhdGVPYmplY3QpCkBAIC01
Niw2ICs2NywxMSBAQCBQYXNzUmVmUHRyPFBvcFN0YXRlRXZlbnQ+IFBvcFN0YXRlRXZlbnQ6OmNy
ZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZQogICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUG9wU3RhdGVFdmVudChzdGF0ZU9iamVjdCkpOwogfQogCitQYXNzUmVmUHRyPFBvcFN0
YXRlRXZlbnQ+IFBvcFN0YXRlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGNvbnN0IFBvcFN0YXRlRXZlbnRJbml0JiBpbml0aWFsaXplcikKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFBvcFN0YXRlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKK30KKwogdm9pZCBQ
b3BTdGF0ZUV2ZW50Ojppbml0UG9wU3RhdGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiBzdGF0ZU9iamVjdCkKIHsKICAgICBpZiAoZGlzcGF0Y2hlZCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qb3BTdGF0ZUV2ZW50LmgKaW5kZXggMGE5ODMxMzNiNzJhZTQwYTM4NDliYjYzMzY3MDQ4
ZDQwODNiYjJhYy4uMzNjYzQzOTBiNjI5ZDljN2IxMTUzZTZhZjMyYTI5YTg1M2QzN2QyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5oCkBAIC0zNCwxMSArMzQsMTggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKK3N0cnVjdCBQb3BT
dGF0ZUV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgeworICAgIFBvcFN0YXRlRXZlbnRJbml0
KCk7CisKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzdGF0ZTsKK307CisKIGNs
YXNzIFBvcFN0YXRlRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHZpcnR1YWwg
flBvcFN0YXRlRXZlbnQoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQb3BTdGF0ZUV2ZW50PiBj
cmVhdGUoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQb3BTdGF0ZUV2ZW50PiBjcmVhdGUoUGFz
c1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQ
b3BTdGF0ZUV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgUG9wU3RhdGVF
dmVudEluaXQmKTsKICAgICB2b2lkIGluaXRQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+KTsKICAgICBib29sIGlzUG9wU3RhdGVFdmVudCgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KIApAQCAtNDYsNyArNTMsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAg
ICAgUG9wU3RhdGVFdmVudCgpOworICAgIFBvcFN0YXRlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmKTsKICAgICBleHBsaWNpdCBQb3BTdGF0ZUV2ZW50
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CisKICAgICBSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBtX3N0YXRlT2JqZWN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0
YXRlRXZlbnQuaWRsCmluZGV4IDMwNGVmZmY2YzZlNGZiYjc3ZjVlMGIzZjk1ZDA0OTNmYWQ5ODA2
NGIuLjMxMTRkMTY0NTUxZjZiNmNmMWY3ZDhkNzU2Mzk3NWU0YWU5ZDEzM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vUG9wU3RhdGVFdmVudC5pZGwKQEAgLTI3LDcgKzI3LDEwIEBACiBtb2R1bGUgZXZlbnRz
IHsKIAogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQUAotICAgIGlu
dGVyZmFjZSBQb3BTdGF0ZUV2ZW50IDogRXZlbnQgeworICAgIGludGVyZmFjZSBbCisgICAgICAg
IENhbkJlQ29uc3RydWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uCisgICAg
XSBQb3BTdGF0ZUV2ZW50IDogRXZlbnQgewogICAgICAgICB2b2lkIGluaXRQb3BTdGF0ZUV2ZW50
KGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGVBcmcsIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gYm9vbGVhbiBjYW5CdWJibGVBcmcsIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiBjYW5jZWxh
YmxlQXJnLCAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107455</attachid>
            <date>2011-09-14 21:56:09 -0700</date>
            <delta_ts>2011-09-15 00:40:56 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-67977-20110915135607.patch</filename>
            <type>text/plain</type>
            <size>12978</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxNTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOGE0MWQ5NmQwY2Q4NzU1MWJlYmVk
ZjE5NmE5ZGVlMzJlOGVhYWEwLi5jMTFmZTY3YWY3ZWI3NTExOWVmODZkM2UwOTU2YjA1MzMyZjMx
MWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMTQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXSVA6IEltcGxlbWVudCBhIFBvcFN0YXRlRXZl
bnQgY29uc3RydWN0b3IgZm9yIEpTQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Njc5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorCiAy
MDExLTA5LTE0ICBIZW5yaWsgR3J1bmVsbCAgPGdydW5lbGxAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBNZWRpYVN0cmVhbSBBUEk6IENoYW5nZSBQZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBuYW1l
IHRvIHdlYmtpdFBlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzNGI2ZWU3NDY5Njc2NDhjMTJl
ODZjMzNkNjE5Y2NlZTIzNjA0ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMxIEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhl
IFBvcFN0YXRlRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyBpcyBmYWxzZQor
UEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuY2FuY2VsYWJsZSBpcyBmYWxzZQor
UEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuc3RhdGUgaXMgbnVsbAorUEFTUyBu
ZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVz
IGlzIGZhbHNlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6
IHRydWUgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IGNhbmNlbGFibGU6IGZhbHNlIH0pLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3
IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxh
YmxlIGlzIHRydWUKK0ZBSUwgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6
IG9iamVjdDEgfSkuc3RhdGUgc2hvdWxkIGJlIFtvYmplY3QgT2JqZWN0XS4gV2FzIFtvYmplY3Qg
T2JqZWN0XS4KK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHVu
ZGVmaW5lZCB9KS5zdGF0ZSBpcyB1bmRlZmluZWQKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2
ZW50VHlwZScsIHsgc3RhdGU6IG51bGwgfSkuc3RhdGUgaXMgbnVsbAorUEFTUyBuZXcgUG9wU3Rh
dGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogZmFsc2UgfSkuc3RhdGUgaXMgZmFsc2UKK1BB
U1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHRydWUgfSkuc3RhdGUg
aXMgdHJ1ZQorRkFJTCBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogJycg
fSkuc3RhdGUgc2hvdWxkIGJlIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLiBXYXMgIChv
ZiB0eXBlIHN0cmluZykuCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0
YXRlOiAxMjM0NSB9KS5zdGF0ZSBpcyAxMjM0NQorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZl
bnRUeXBlJywgeyBzdGF0ZTogMTg0NDY3NDQwNzM3MDk1NTE2MTUgfSkuc3RhdGUgaXMgMTg0NDY3
NDQwNzM3MDk1NTIwMDAKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3Rh
dGU6IE5hTiB9KS5zdGF0ZSBpcyBOYU4KK0ZBSUwgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgc3RhdGU6IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiBvYmplY3QyOyB9IH0g
fSkuc3RhdGUgc2hvdWxkIGJlIFtvYmplY3QgT2JqZWN0XS4gV2FzIFtvYmplY3QgT2JqZWN0XS4K
K1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgZ2V0IHN0YXRlKCkgeyByZXR1
cm4gMTIzOyB9IH0pLnN0YXRlIGlzIDEyMworUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRU
eXBlJywgeyBnZXQgc3RhdGUoKSB7IHRocm93ICdQb3BTdGF0ZSBFcnJvcic7IH0gfSkgdGhyZXcg
ZXhjZXB0aW9uIFBvcFN0YXRlIEVycm9yLgorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRU
eXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBzdGF0ZTogb2JqZWN0MyB9
KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVjdDMgfSkuY2FuY2Vs
YWJsZSBpcyB0cnVlCitGQUlMIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3QzIH0pLnN0YXRlIHNob3Vs
ZCBiZSBbb2JqZWN0IE9iamVjdF0uIFdhcyBbb2JqZWN0IE9iamVjdF0uCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3BvcC1zdGF0ZS1ldmVudC1jb25zdHJ1Y3Rv
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3BvcC1zdGF0ZS1l
dmVudC1jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwMWRkODg3MTUzNjkxN2IzMTcwYmI5
ZTI0YjdkZGY2MDYxZmQ1YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAs
MCArMSw1NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29u
c3RydWN0b3IgZm9yIHRoZSBQb3BTdGF0ZUV2ZW50IERPTSBjbGFzcy4iKTsKKworLy8gTm8gaW5p
dGlhbGl6ZXIgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2
ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVF
dmVudCgnZXZlbnRUeXBlJykuc3RhdGUiLCAibnVsbCIpOworCisvLyBidWJibGVzIGlzIHBhc3Nl
ZC4KK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBm
YWxzZSB9KS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIiwgInRydWUiKTsKKworLy8g
Y2FuY2VsYWJsZSBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50
VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworc2hv
dWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGNhbmNlbGFibGU6IHRydWUg
fSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisKKy8vIHN0YXRlIGlzIHBhc3NlZC4KK3ZhciBvYmpl
Y3QxID0ge255YW5ueWFuOiAxMjN9Oworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVu
dFR5cGUnLCB7IHN0YXRlOiBvYmplY3QxIH0pLnN0YXRlIiwgIm9iamVjdDEiKTsKKy8vc2hvdWxk
QmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiBkb2N1bWVudCB9KS5z
dGF0ZSIsICJkb2N1bWVudCIpOyAvLyBDcmFzaCEhIQorc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2
ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiB1bmRlZmluZWQgfSkuc3RhdGUiLCAidW5kZWZpbmVk
Iik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IG51
bGwgfSkuc3RhdGUiLCAibnVsbCIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVu
dFR5cGUnLCB7IHN0YXRlOiBmYWxzZSB9KS5zdGF0ZSIsICJmYWxzZSIpOworc2hvdWxkQmUoIm5l
dyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiB0cnVlIH0pLnN0YXRlIiwgInRy
dWUiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTog
JycgfSkuc3RhdGUiLCAiIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgc3RhdGU6IDEyMzQ1IH0pLnN0YXRlIiwgIjEyMzQ1Iik7CitzaG91bGRCZSgibmV3IFBv
cFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IH0p
LnN0YXRlIiwgIjE4NDQ2NzQ0MDczNzA5NTUyMDAwIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRl
RXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IE5hTiB9KS5zdGF0ZSIsICJOYU4iKTsKK3ZhciBv
YmplY3QyID0ge255YW5ueWFuOiA0NTZ9Oworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdl
dmVudFR5cGUnLCB7IHN0YXRlOiB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gb2JqZWN0
MjsgfSB9IH0pLnN0YXRlIiwgIm9iamVjdDIiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVu
dCgnZXZlbnRUeXBlJywgeyBnZXQgc3RhdGUoKSB7IHJldHVybiAxMjM7IH0gfSkuc3RhdGUiLCAi
MTIzIik7CitzaG91bGRUaHJvdygibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgZ2V0
IHN0YXRlKCkgeyB0aHJvdyAnUG9wU3RhdGUgRXJyb3InOyB9IH0pIik7CisKKy8vIEFsbCBpbml0
aWFsaXplcnMgYXJlIHBhc3NlZC4KK3ZhciBvYmplY3QzID0ge255YW5ueWFuOiA3ODl9Oworc2hv
dWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3QzIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworc2hv
dWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3QzIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOwor
c2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIHN0YXRlOiBvYmplY3QzIH0pLnN0YXRlIiwgIm9iamVjdDMiKTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYTBmYTJjZDUzNmNiMTJjZTk4ODE5MDU0ZWQ3MjUwZjE0
OTU5N2M0Li4yNWFkZWE1NzQ3M2VmNTJhNjIyMTJjMzA1MTJiM2M1YWFiMWVmYjI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMTQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Z29vZ2xlLmNvbT4KKworICAgICAgICBXSVA6IEltcGxlbWVudCBhIFBvcFN0YXRlRXZlbnQgY29u
c3RydWN0b3IgZm9yIEpTQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1
Y3RvcnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcDoK
KyAgICAgICAgKiBkb20vUG9wU3RhdGVFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3BT
dGF0ZUV2ZW50SW5pdDo6UG9wU3RhdGVFdmVudEluaXQpOgorICAgICAgICAoV2ViQ29yZTo6UG9w
U3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQb3BTdGF0ZUV2
ZW50OjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50Lmg6CisgICAgICAgICog
ZG9tL1BvcFN0YXRlRXZlbnQuaWRsOgorCiAyMDExLTA5LTE0ICBIZW5yaWsgR3J1bmVsbCAgPGdy
dW5lbGxAZ29vZ2xlLmNvbT4KIAogICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IENoYW5nZSBQZWVy
Q29ubmVjdGlvbiBjb25zdHJ1Y3RvciBuYW1lIHRvIHdlYmtpdFBlZXJDb25uZWN0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3Jz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgK
aW5kZXggNTVhZDE0MDIwMGRkZDQ2MjEwODI1MTk4ZmMxNTgxNDQ1MjQ5MGY2OS4uNGZmZmQ5Yzg4
MDNkMjIzMmU2ZmQ2YTI4Nzc4NzI5NzQzMmIwY2U0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaApAQCAtNzQsNiArNzQsMTMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBGSUxMX1BST1BFUlRZKHBlcnNpc3RlZCkg
XAogICAgIERJQ1RJT05BUllfRU5EKFBhZ2VUcmFuc2l0aW9uRXZlbnQpCiAKKyNkZWZpbmUgSU5T
VEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9QT1BfU1RBVEVfRVZFTlQoRElD
VElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJ
TExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAgRElDVElPTkFSWV9TVEFSVChQb3BTdGF0ZUV2ZW50
KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BFUlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklM
TF9QUk9QRVJUWShzdGF0ZSkgXAorICAgIERJQ1RJT05BUllfRU5EKFBvcFN0YXRlRXZlbnQpCisK
IAogI2RlZmluZSBJTlNUQU5USUFURV9BTExfRVZFTlRfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9S
UyhESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElF
UywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJV
Q1RPUl9GT1JfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFS
RU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKQEAgLTgyLDYgKzg5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9G
T1JfV0VCS0lUX0FOSU1BVElPTl9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VO
RCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJ
QVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfSEFTSF9DSEFOR0VfRVZFTlQoRElDVElP
TkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExf
UFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9S
X1BBR0VfVFJBTlNJVElPTl9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwg
RklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAorICAgIElOU1RBTlRJQVRF
X0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfUE9QX1NUQVRFX0VWRU5UKERJQ1RJT05BUllf
U1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BF
UlRZKSBcCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcAppbmRleCBhZTJmMGEyMGJlNGIx
NTkyMWFjNmFjYTliYjQ5MTRkNGY2ZTYyNzVmLi5kYjI4YzAxY2Q3ZTVhNDI2NzZiMTllNDkxYmM0
YzEwMmMxNjZkZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2
ZW50Q29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2
ZW50Q29uc3RydWN0b3JzLmNwcApAQCAtMzQsOSArMzQsMTEgQEAKICNpbmNsdWRlICJKU0V2ZW50
LmgiCiAjaW5jbHVkZSAiSlNIYXNoQ2hhbmdlRXZlbnQuaCIKICNpbmNsdWRlICJKU1BhZ2VUcmFu
c2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJKU1BvcFN0YXRlRXZlbnQuaCIKICNpbmNsdWRlICJK
U1Byb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAj
aW5jbHVkZSAiUGFnZVRyYW5zaXRpb25FdmVudC5oIgorI2luY2x1ZGUgIlBvcFN0YXRlRXZlbnQu
aCIKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9u
RXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3Rh
dGVFdmVudC5jcHAKaW5kZXggMzMwYzc2MWUzMmU2NWRhODQ4YjMzNGU0ZjQyZWE2MWQ4OWIwNTc1
Ni4uZDFmN2Y2MGYwMWZiNDViM2ZiNmZiMzhiMjQyNGMwNzUzMjRlOGY0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcApAQCAtMzEsMTEgKzMxLDIyIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorUG9wU3RhdGVFdmVudEluaXQ6OlBvcFN0YXRlRXZlbnRJbml0KCkKK3sKKyAg
ICBzdGF0ZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKCk7Cit9CisKIFBvcFN0YXRl
RXZlbnQ6OlBvcFN0YXRlRXZlbnQoKQogICAgIDogRXZlbnQoZXZlbnROYW1lcygpLnBvcHN0YXRl
RXZlbnQsIGZhbHNlLCB0cnVlKQogewogfQogCitQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRp
YWxpemVyKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCisgICAgLCBtX3N0YXRlT2Jq
ZWN0KGluaXRpYWxpemVyLnN0YXRlKQoreworfQorCiBQb3BTdGF0ZUV2ZW50OjpQb3BTdGF0ZUV2
ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzdGF0ZU9iamVjdCkKICAgICA6
IEV2ZW50KGV2ZW50TmFtZXMoKS5wb3BzdGF0ZUV2ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAsIG1f
c3RhdGVPYmplY3Qoc3RhdGVPYmplY3QpCkBAIC01Niw2ICs2NywxMSBAQCBQYXNzUmVmUHRyPFBv
cFN0YXRlRXZlbnQ+IFBvcFN0YXRlRXZlbnQ6OmNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZQogICAgIHJldHVybiBhZG9wdFJlZihuZXcgUG9wU3RhdGVFdmVudChzdGF0ZU9i
amVjdCkpOwogfQogCitQYXNzUmVmUHRyPFBvcFN0YXRlRXZlbnQ+IFBvcFN0YXRlRXZlbnQ6OmNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFBvcFN0YXRlRXZlbnRJbml0JiBp
bml0aWFsaXplcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBvcFN0YXRlRXZlbnQodHlw
ZSwgaW5pdGlhbGl6ZXIpKTsKK30KKwogdm9pZCBQb3BTdGF0ZUV2ZW50Ojppbml0UG9wU3RhdGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzdGF0ZU9iamVjdCkKIHsK
ICAgICBpZiAoZGlzcGF0Y2hlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bv
cFN0YXRlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmgKaW5kZXgg
MGE5ODMxMzNiNzJhZTQwYTM4NDliYjYzMzY3MDQ4ZDQwODNiYjJhYy4uMzNjYzQzOTBiNjI5ZDlj
N2IxMTUzZTZhZjMyYTI5YTg1M2QzN2QyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1BvcFN0YXRlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5o
CkBAIC0zNCwxMSArMzQsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTZXJpYWxp
emVkU2NyaXB0VmFsdWU7CiAKK3N0cnVjdCBQb3BTdGF0ZUV2ZW50SW5pdCA6IHB1YmxpYyBFdmVu
dEluaXQgeworICAgIFBvcFN0YXRlRXZlbnRJbml0KCk7CisKKyAgICBSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBzdGF0ZTsKK307CisKIGNsYXNzIFBvcFN0YXRlRXZlbnQgOiBwdWJsaWMg
RXZlbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgflBvcFN0YXRlRXZlbnQoKTsKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxQb3BTdGF0ZUV2ZW50PiBjcmVhdGUoKTsKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxQb3BTdGF0ZUV2ZW50PiBjcmVhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQb3BTdGF0ZUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQmKTsKICAgICB2b2lkIGluaXRQ
b3BTdGF0ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJv
b2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKICAgICBi
b29sIGlzUG9wU3RhdGVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApAQCAtNDYsNyAr
NTMsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUG9wU3RhdGVFdmVudCgpOworICAgIFBv
cFN0YXRlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgUG9wU3RhdGVFdmVudEluaXQm
KTsKICAgICBleHBsaWNpdCBQb3BTdGF0ZUV2ZW50KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPik7CisKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3N0YXRlT2Jq
ZWN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsCmluZGV4IDMwNGVmZmY2
YzZlNGZiYjc3ZjVlMGIzZjk1ZDA0OTNmYWQ5ODA2NGIuLjMxMTRkMTY0NTUxZjZiNmNmMWY3ZDhk
NzU2Mzk3NWU0YWU5ZDEzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0
ZUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5pZGwKQEAg
LTI3LDcgKzI3LDEwIEBACiBtb2R1bGUgZXZlbnRzIHsKIAogI2lmICFkZWZpbmVkKExBTkdVQUdF
X0NQUCkgfHwgIUxBTkdVQUdFX0NQUAotICAgIGludGVyZmFjZSBQb3BTdGF0ZUV2ZW50IDogRXZl
bnQgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCisgICAgICAg
IEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uCisgICAgXSBQb3BTdGF0ZUV2ZW50IDogRXZlbnQgewog
ICAgICAgICB2b2lkIGluaXRQb3BTdGF0ZUV2ZW50KGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NU3RyaW5nIHR5cGVBcmcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiBjYW5CdWJibGVB
cmcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0
aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107472</attachid>
            <date>2011-09-15 00:41:05 -0700</date>
            <delta_ts>2011-09-15 19:45:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67977-20110915164104.patch</filename>
            <type>text/plain</type>
            <size>14198</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxNTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOGE0MWQ5NmQwY2Q4NzU1MWJlYmVk
ZjE5NmE5ZGVlMzJlOGVhYWEwLi4xZjE4OTdkY2M5YTBiNTMyYTgyMTI2MDYzOGY1YTBlYmJjZDRm
ZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMTQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBQb3BTdGF0ZUV2ZW50IGNv
bnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3OTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgY2hlY2tzIHRoZSBiZWhh
dmlvciBvZiB0aGUgUG9wU3RhdGVFdmVudCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGZhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRl
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDogU2tpcHBlZCBwb3Atc3RhdGUtZXZlbnQtY29uc3Ry
dWN0b3IuaHRtbCwgc2luY2UgVjggZG9lcyBub3QgeWV0IGhhdmUgdGhlIFBvcFN0YXRlRXZlbnQg
Y29uc3RydWN0b3IuCisKIDIwMTEtMDktMTQgIEhlbnJpayBHcnVuZWxsICA8Z3J1bmVsbEBnb29n
bGUuY29tPgogCiAgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogQ2hhbmdlIFBlZXJDb25uZWN0aW9u
IGNvbnN0cnVjdG9yIG5hbWUgdG8gd2Via2l0UGVlckNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L3BvcC1zdGF0ZS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM0
YjZlZTc0Njk2NzY0OGMxMmU4NmMzM2Q2MTljY2VlMjM2MDRmNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQtY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1RoaXMgdGVzdHMgdGhlIGNv
bnN0cnVjdG9yIGZvciB0aGUgUG9wU3RhdGVFdmVudCBET00gY2xhc3MuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnKS5i
dWJibGVzIGlzIGZhbHNlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnKS5jYW5j
ZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnKS5zdGF0
ZSBpcyBudWxsCitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6
IGZhbHNlIH0pLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50
VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFBvcFN0
YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSBp
cyBmYWxzZQorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxl
OiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorRkFJTCBuZXcgUG9wU3RhdGVFdmVudCgnZXZl
bnRUeXBlJywgeyBzdGF0ZTogb2JqZWN0MSB9KS5zdGF0ZSBzaG91bGQgYmUgW29iamVjdCBPYmpl
Y3RdLiBXYXMgW29iamVjdCBPYmplY3RdLgorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRU
eXBlJywgeyBzdGF0ZTogdW5kZWZpbmVkIH0pLnN0YXRlIGlzIHVuZGVmaW5lZAorUEFTUyBuZXcg
UG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogbnVsbCB9KS5zdGF0ZSBpcyBudWxs
CitQQVNTIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiBmYWxzZSB9KS5z
dGF0ZSBpcyBmYWxzZQorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0
ZTogdHJ1ZSB9KS5zdGF0ZSBpcyB0cnVlCitGQUlMIG5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IHN0YXRlOiAnJyB9KS5zdGF0ZSBzaG91bGQgYmUgdW5kZWZpbmVkIChvZiB0eXBlIHVu
ZGVmaW5lZCkuIFdhcyAgKG9mIHR5cGUgc3RyaW5nKS4KK1BBU1MgbmV3IFBvcFN0YXRlRXZlbnQo
J2V2ZW50VHlwZScsIHsgc3RhdGU6IDEyMzQ1IH0pLnN0YXRlIGlzIDEyMzQ1CitQQVNTIG5ldyBQ
b3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IHN0YXRlOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9
KS5zdGF0ZSBpcyAxODQ0Njc0NDA3MzcwOTU1MjAwMAorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgn
ZXZlbnRUeXBlJywgeyBzdGF0ZTogTmFOIH0pLnN0YXRlIGlzIE5hTgorRkFJTCBuZXcgUG9wU3Rh
dGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZToge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0
dXJuIG9iamVjdDI7IH0gfSB9KS5zdGF0ZSBzaG91bGQgYmUgW29iamVjdCBPYmplY3RdLiBXYXMg
W29iamVjdCBPYmplY3RdLgorUEFTUyBuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBn
ZXQgc3RhdGUoKSB7IHJldHVybiAxMjM7IH0gfSkuc3RhdGUgaXMgMTIzCitQQVNTIG5ldyBQb3BT
dGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBzdGF0ZSgpIHsgdGhyb3cgJ1BvcFN0YXRlIEVy
cm9yJzsgfSB9KSB0aHJldyBleGNlcHRpb24gUG9wU3RhdGUgRXJyb3IuCitQQVNTIG5ldyBQb3BT
dGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IHN0YXRlOiBvYmplY3QzIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgUG9wU3RhdGVFdmVu
dCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBzdGF0ZTog
b2JqZWN0MyB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK0ZBSUwgbmV3IFBvcFN0YXRlRXZlbnQoJ2V2
ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVj
dDMgfSkuc3RhdGUgc2hvdWxkIGJlIFtvYmplY3QgT2JqZWN0XS4gV2FzIFtvYmplY3QgT2JqZWN0
XS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9wLXN0YXRl
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcG9wLXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJiMjMz
ZDY5MjViN2E0ZTlmZjUzYWJlNTQ1ZmFiYmMyZmY0ZjA2NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wb3Atc3RhdGUtZXZlbnQtY29uc3Ry
dWN0b3IuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIFBvcFN0YXRlRXZlbnQgRE9NIGNsYXNz
LiIpOworCisvLyBObyBpbml0aWFsaXplciBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFBvcFN0
YXRlRXZlbnQoJ2V2ZW50VHlwZScpLmJ1YmJsZXMiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJuZXcg
UG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworc2hvdWxk
QmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnKS5zdGF0ZSIsICJudWxsIik7CisKKy8v
IGJ1YmJsZXMgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5
cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJu
ZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0pLmJ1YmJsZXMi
LCAidHJ1ZSIpOworCisvLyBjYW5jZWxhYmxlIGlzIHBhc3NlZC4KK3Nob3VsZEJlKCJuZXcgUG9w
U3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5jZWxhYmxl
IiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsg
Y2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKworLy8gc3RhdGUgaXMg
cGFzc2VkLgordmFyIG9iamVjdDEgPSB7bnlhbm55YW46IDEyM307CitzaG91bGRCZSgibmV3IFBv
cFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IG9iamVjdDEgfSkuc3RhdGUiLCAib2Jq
ZWN0MSIpOworLy8gRklYTUUoaGFyYWtlbik6IFdoZW4gd2UgcGFzcyBhIERPTSBvYmplY3QsIGl0
IGNyYXNoZXMuCisvLyBzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsg
c3RhdGU6IGRvY3VtZW50IH0pLnN0YXRlIiwgImRvY3VtZW50Iik7CitzaG91bGRCZSgibmV3IFBv
cFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHVuZGVmaW5lZCB9KS5zdGF0ZSIsICJ1
bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBz
dGF0ZTogbnVsbCB9KS5zdGF0ZSIsICJudWxsIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZl
bnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IGZhbHNlIH0pLnN0YXRlIiwgImZhbHNlIik7CitzaG91
bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHRydWUgfSkuc3Rh
dGUiLCAidHJ1ZSIpOworc2hvdWxkQmUoIm5ldyBQb3BTdGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7
IHN0YXRlOiAnJyB9KS5zdGF0ZSIsICIiKTsKK3Nob3VsZEJlKCJuZXcgUG9wU3RhdGVFdmVudCgn
ZXZlbnRUeXBlJywgeyBzdGF0ZTogMTIzNDUgfSkuc3RhdGUiLCAiMTIzNDUiKTsKK3Nob3VsZEJl
KCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogMTg0NDY3NDQwNzM3MDk1
NTE2MTUgfSkuc3RhdGUiLCAiMTg0NDY3NDQwNzM3MDk1NTIwMDAiKTsKK3Nob3VsZEJlKCJuZXcg
UG9wU3RhdGVFdmVudCgnZXZlbnRUeXBlJywgeyBzdGF0ZTogTmFOIH0pLnN0YXRlIiwgIk5hTiIp
OwordmFyIG9iamVjdDIgPSB7bnlhbm55YW46IDQ1Nn07CitzaG91bGRCZSgibmV3IFBvcFN0YXRl
RXZlbnQoJ2V2ZW50VHlwZScsIHsgc3RhdGU6IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVy
biBvYmplY3QyOyB9IH0gfSkuc3RhdGUiLCAib2JqZWN0MiIpOworc2hvdWxkQmUoIm5ldyBQb3BT
dGF0ZUV2ZW50KCdldmVudFR5cGUnLCB7IGdldCBzdGF0ZSgpIHsgcmV0dXJuIDEyMzsgfSB9KS5z
dGF0ZSIsICIxMjMiKTsKK3Nob3VsZFRocm93KCJuZXcgUG9wU3RhdGVFdmVudCgnZXZlbnRUeXBl
JywgeyBnZXQgc3RhdGUoKSB7IHRocm93ICdQb3BTdGF0ZSBFcnJvcic7IH0gfSkiKTsKKworLy8g
QWxsIGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgordmFyIG9iamVjdDMgPSB7bnlhbm55YW46IDc4
OX07CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczog
dHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVjdDMgfSkuYnViYmxlcyIsICJ0cnVl
Iik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczog
dHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVjdDMgfSkuY2FuY2VsYWJsZSIsICJ0
cnVlIik7CitzaG91bGRCZSgibmV3IFBvcFN0YXRlRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgc3RhdGU6IG9iamVjdDMgfSkuc3RhdGUiLCAib2Jq
ZWN0MyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDYxMzNhMGNlYmNlYjM4ZjRkZmEzNTI4MDBkNmVk
NWJiOWMxMDJiOTkuLmJlZDdiNjUxOGRmZjIyYTY3OTkyNTc2YzhiNWY4ZWFkNWRjNDIwNDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9u
cy50eHQKQEAgLTc0LDYgKzc0LDkgQEAgQlVHV0s2MDg3NyBTS0lQIDogbG9hZGVyL2xvYWQtZGVm
ZXItcmVzdW1lLWNyYXNoLmh0bWwgPSBGQUlMCiAvLyBDU1MzIFNlbGVjdG9yczMgdGVzdCBzdWl0
ZQogQlVHQ1I4OTQ2OCA6IGNzczMvc2VsZWN0b3JzMyA9IFBBU1MgRkFJTAogCisvLyBUaGlzIHdp
bGwgc29vbiBiZSBmaXhlZCBhZnRlciBpbXBsZW1lbnRpbmcgYSBQb3BTdGF0ZUV2ZW50IGNvbnN0
cnVjdG9yIGZvciBWOC4KK0JVR1dLNjc5NzcgOiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcG9w
LXN0YXRlLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgPSBGQUlMCisKIC8vIFRlc3RzIGZvciBXZWJW
VFQgcGFyc2VyIGZvciA8dHJhY2s+LiAgRmVhdHVyZSBpcyBub3QgeWV0IGZ1bmN0aW9uYWwuCiBC
VUdXSzQzNjY4IFNLSVAgOiBtZWRpYS90cmFjay8gPSBUSU1FT1VUCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
YTBmYTJjZDUzNmNiMTJjZTk4ODE5MDU0ZWQ3MjUwZjE0OTU5N2M0Li5iNGIxOWJiZmZlOTI4MTM3
OTVjYzEyMzk3MGQ1MTMzZWU4NzI5MDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTEtMDktMTQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJ
bXBsZW1lbnQgYSBQb3BTdGF0ZUV2ZW50IGNvbnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvY29u
c3RydWN0b3JzL3BvcC1zdGF0ZS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmg6IEFkZGVkIGEgZGVmaW5pdGlvbiBm
b3IgdGhlIFBvcFN0YXRlRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNFdmVudENvbnN0cnVjdG9ycy5jcHA6IEFkZGVkICNpbmNsdWRlcyBmb3IgUG9wU3RhdGVFdmVu
dC4KKyAgICAgICAgKiBkb20vUG9wU3RhdGVFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
b3BTdGF0ZUV2ZW50SW5pdDo6UG9wU3RhdGVFdmVudEluaXQpOgorICAgICAgICAoV2ViQ29yZTo6
UG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQb3BTdGF0
ZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9Qb3BTdGF0ZUV2ZW50Lmg6IEFkZGVkIGEg
ZGVmaW5pdGlvbiBmb3IgUG9wU3RhdGVFdmVudEluaXQuCisgICAgICAgICogZG9tL1BvcFN0YXRl
RXZlbnQuaWRsOiBNYWtlcyBQb3BTdGF0ZUV2ZW50IGNvbnN0cnVjdGlibGUuCisKIDIwMTEtMDkt
MTQgIEhlbnJpayBHcnVuZWxsICA8Z3J1bmVsbEBnb29nbGUuY29tPgogCiAgICAgICAgIE1lZGlh
U3RyZWFtIEFQSTogQ2hhbmdlIFBlZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIG5hbWUgdG8gd2Vi
a2l0UGVlckNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dl
bmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAppbmRleCA1NWFkMTQwMjAwZGRkNDYyMTA4MjUxOThmYzE1
ODE0NDUyNDkwZjY5Li40ZmZmZDljODgwM2QyMjMyZTZmZDZhMjg3Nzg3Mjk3NDMyYjBjZTRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0
b3JzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVj
dG9ycy5oCkBAIC03NCw2ICs3NCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZJ
TExfUFJPUEVSVFkocGVyc2lzdGVkKSBcCiAgICAgRElDVElPTkFSWV9FTkQoUGFnZVRyYW5zaXRp
b25FdmVudCkKIAorI2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1Jf
Rk9SX1BPUF9TVEFURV9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklM
TF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAorICAgIFwKKyAgICBESUNUSU9O
QVJZX1NUQVJUKFBvcFN0YXRlRXZlbnQpIFwKKyAgICAgICAgRklMTF9QQVJFTlRfUFJPUEVSVElF
UyhFdmVudCkgXAorICAgICAgICBGSUxMX1BST1BFUlRZKHN0YXRlKSBcCisgICAgRElDVElPTkFS
WV9FTkQoUG9wU3RhdGVFdmVudCkKKwogCiAjZGVmaW5lIElOU1RBTlRJQVRFX0FMTF9FVkVOVF9J
TklUSUFMSVpJTkdfQ09OU1RSVUNUT1JTKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5E
LCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAgICAgSU5TVEFOVElB
VEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBE
SUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXApA
QCAtODIsNiArODksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgSU5TVEFOVElBVEVfSU5J
VElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9XRUJLSVRfQU5JTUFUSU9OX0VWRU5UKERJQ1RJT05B
UllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BS
T1BFUlRZKSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9I
QVNIX0NIQU5HRV9FVkVOVChESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9Q
QVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJ
QUxJWklOR19DT05TVFJVQ1RPUl9GT1JfUEFHRV9UUkFOU0lUSU9OX0VWRU5UKERJQ1RJT05BUllf
U1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BF
UlRZKSBcCisgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9QT1Bf
U1RBVEVfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5U
X1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0
b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMu
Y3BwCmluZGV4IGFlMmYwYTIwYmU0YjE1OTIxYWM2YWNhOWJiNDkxNGQ0ZjZlNjI3NWYuLmRiMjhj
MDFjZDdlNWE0MjY3NmIxOWU0OTFiYzRjMTAyYzE2NmRkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0zNCw5ICszNCwx
MSBAQAogI2luY2x1ZGUgIkpTRXZlbnQuaCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5o
IgogI2luY2x1ZGUgIkpTUGFnZVRyYW5zaXRpb25FdmVudC5oIgorI2luY2x1ZGUgIkpTUG9wU3Rh
dGVFdmVudC5oIgogI2luY2x1ZGUgIkpTUHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIkpTV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiUG9wU3RhdGVFdmVudC5oIgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIKICNp
bmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3Iu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmNwcAppbmRleCAzMzBjNzYxZTMyZTY1ZGE4
NDhiMzM0ZTRmNDJlYTYxZDg5YjA1NzU2Li5kMWY3ZjYwZjAxZmI0NWIzZmI2ZmIzOGIyNDI0YzA3
NTMyNGU4ZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwCkBAIC0zMSwxMSAr
MzEsMjIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQb3BTdGF0ZUV2ZW50SW5pdDo6UG9w
U3RhdGVFdmVudEluaXQoKQoreworICAgIHN0YXRlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUoKTsKK30KKwogUG9wU3RhdGVFdmVudDo6UG9wU3RhdGVFdmVudCgpCiAgICAgOiBFdmVu
dChldmVudE5hbWVzKCkucG9wc3RhdGVFdmVudCwgZmFsc2UsIHRydWUpCiB7CiB9CiAKK1BvcFN0
YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQ
b3BTdGF0ZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFs
aXplcikKKyAgICAsIG1fc3RhdGVPYmplY3QoaW5pdGlhbGl6ZXIuc3RhdGUpCit7Cit9CisKIFBv
cFN0YXRlRXZlbnQ6OlBvcFN0YXRlRXZlbnQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IHN0YXRlT2JqZWN0KQogICAgIDogRXZlbnQoZXZlbnROYW1lcygpLnBvcHN0YXRlRXZlbnQs
IGZhbHNlLCB0cnVlKQogICAgICwgbV9zdGF0ZU9iamVjdChzdGF0ZU9iamVjdCkKQEAgLTU2LDYg
KzY3LDExIEBAIFBhc3NSZWZQdHI8UG9wU3RhdGVFdmVudD4gUG9wU3RhdGVFdmVudDo6Y3JlYXRl
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBQb3BTdGF0ZUV2ZW50KHN0YXRlT2JqZWN0KSk7CiB9CiAKK1Bhc3NSZWZQdHI8UG9wU3RhdGVF
dmVudD4gUG9wU3RhdGVFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29u
c3QgUG9wU3RhdGVFdmVudEluaXQmIGluaXRpYWxpemVyKQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUG9wU3RhdGVFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworfQorCiB2b2lkIFBvcFN0
YXRlRXZlbnQ6OmluaXRQb3BTdGF0ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9v
bCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IHN0YXRlT2JqZWN0KQogewogICAgIGlmIChkaXNwYXRjaGVkKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BvcFN0YXRlRXZlbnQuaAppbmRleCAwYTk4MzEzM2I3MmFlNDBhMzg0OWJiNjMzNjcwNDhkNDA4
M2JiMmFjLi4zM2NjNDM5MGI2MjlkOWM3YjExNTNlNmFmMzJhMjlhODUzZDM3ZDJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmgKQEAgLTM0LDExICszNCwxOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAorc3RydWN0IFBvcFN0YXRl
RXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CisgICAgUG9wU3RhdGVFdmVudEluaXQoKTsK
KworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHN0YXRlOworfTsKKwogY2xhc3Mg
UG9wU3RhdGVFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UG9w
U3RhdGVFdmVudCgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBvcFN0YXRlRXZlbnQ+IGNyZWF0
ZSgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBvcFN0YXRlRXZlbnQ+IGNyZWF0ZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBvcFN0
YXRlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBQb3BTdGF0ZUV2ZW50
SW5pdCYpOwogICAgIHZvaWQgaW5pdFBvcFN0YXRlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4pOwogICAgIGJvb2wgaXNQb3BTdGF0ZUV2ZW50KCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogCkBAIC00Niw3ICs1Myw5IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBQ
b3BTdGF0ZUV2ZW50KCk7CisgICAgUG9wU3RhdGVFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBj
b25zdCBQb3BTdGF0ZUV2ZW50SW5pdCYpOwogICAgIGV4cGxpY2l0IFBvcFN0YXRlRXZlbnQoUGFz
c1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKKwogICAgIFJlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IG1fc3RhdGVPYmplY3Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9wU3RhdGVFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9wU3RhdGVF
dmVudC5pZGwKaW5kZXggMzA0ZWZmZjZjNmU0ZmJiNzdmNWUwYjNmOTVkMDQ5M2ZhZDk4MDY0Yi4u
MzExNGQxNjQ1NTFmNmI2Y2YxZjdkOGQ3NTYzOTc1ZTRhZTlkMTMzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qb3BTdGF0ZUV2ZW50LmlkbApAQCAtMjcsNyArMjcsMTAgQEAKIG1vZHVsZSBldmVudHMgewog
CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0VfQ1BQCi0gICAgaW50ZXJm
YWNlIFBvcFN0YXRlRXZlbnQgOiBFdmVudCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ2Fu
QmVDb25zdHJ1Y3RlZCwKKyAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24KKyAgICBdIFBv
cFN0YXRlRXZlbnQgOiBFdmVudCB7CiAgICAgICAgIHZvaWQgaW5pdFBvcFN0YXRlRXZlbnQoaW4g
W09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdHlwZUFyZywgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZh
bHVlXSBib29sZWFuIGNhbkJ1YmJsZUFyZywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIGNhbmNlbGFibGVB
cmcsIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>