<?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>86791</bug_id>
          
          <creation_ts>2012-05-17 17:36:32 -0700</creation_ts>
          <short_desc>Add suggestions field to web intents API.</short_desc>
          <delta_ts>2012-05-21 09:23:25 -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>75123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Greg Billock">gbillock</reporter>
          <assigned_to name="Greg Billock">gbillock</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627150</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-17 17:36:32 -0700</bug_when>
    <thetext>Add suggestions field to web intents API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627151</commentid>
    <comment_count>1</comment_count>
      <attachid>142593</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-17 17:38:28 -0700</bug_when>
    <thetext>Created attachment 142593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627158</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 17:42:44 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627183</commentid>
    <comment_count>3</comment_count>
      <attachid>142593</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-17 18:08:54 -0700</bug_when>
    <thetext>Comment on attachment 142593
Patch

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

Tests?

&gt; Source/WebCore/Modules/intents/DeliveredIntent.cpp:52
&gt; +    : Intent(action, type, data, PassOwnPtr&lt;MessagePortChannelArray&gt;(), extras, KURL(), WTF::Vector&lt;KURL&gt;())

WTF::Vector -&gt; Vector

Vector.h has a &quot;using&quot; declaration in it.

&gt; Source/WebCore/Modules/intents/Intent.cpp:56
&gt;      WTF::HashMap&lt;String, String&gt; extras;
&gt;      KURL serviceUrl;
&gt; +    WTF::Vector&lt;KURL&gt; suggestions;

These WTF prefixes aren&apos;t needed.

&gt; Source/WebCore/Modules/intents/Intent.cpp:110
&gt; +        for (HashSet&lt;AtomicString&gt;::iterator iter = suggestionsStrings.begin();
&gt; +             iter != suggestionsStrings.end(); ++iter) {

You can put this on one line.

&gt; Source/WebCore/Modules/intents/Intent.cpp:111
&gt; +          KURL suggestionURL = KURL(KURL(), *iter);

This is unlikely to be correct.  Do you mean to resolve these URLs relative to some base URL?   One approach is to add a [CallWith=ScriptExectionContext] to the IDL and to use that script execution to resolve the URL.

&gt; Source/WebCore/Modules/intents/Intent.cpp:114
&gt; +            ec = SYNTAX_ERR;
&gt; +            return 0;

Four-space indent.

&gt; Source/WebCore/Modules/intents/Intent.cpp:116
&gt; +          suggestions.append(suggestionURL);

suggestionURL -&gt; suggestedURL ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627185</commentid>
    <comment_count>4</comment_count>
      <attachid>142593</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-17 18:09:44 -0700</bug_when>
    <thetext>Comment on attachment 142593
Patch

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

&gt; Source/WebCore/Modules/intents/Intent.cpp:55
&gt;      KURL serviceUrl;

Random style nit: serviceUrl should be serviceURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627943</commentid>
    <comment_count>5</comment_count>
      <attachid>142593</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-18 12:49:01 -0700</bug_when>
    <thetext>Comment on attachment 142593
Patch

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

&gt;&gt; Source/WebCore/Modules/intents/DeliveredIntent.cpp:52
&gt;&gt; +    : Intent(action, type, data, PassOwnPtr&lt;MessagePortChannelArray&gt;(), extras, KURL(), WTF::Vector&lt;KURL&gt;())
&gt; 
&gt; WTF::Vector -&gt; Vector
&gt; 
&gt; Vector.h has a &quot;using&quot; declaration in it.

Done.

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:55
&gt;&gt;      KURL serviceUrl;
&gt; 
&gt; Random style nit: serviceUrl should be serviceURL

Done.

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:56
&gt;&gt; +    WTF::Vector&lt;KURL&gt; suggestions;
&gt; 
&gt; These WTF prefixes aren&apos;t needed.

Done.

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:110
&gt;&gt; +             iter != suggestionsStrings.end(); ++iter) {
&gt; 
&gt; You can put this on one line.

Done.

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:111
&gt;&gt; +          KURL suggestionURL = KURL(KURL(), *iter);
&gt; 
&gt; This is unlikely to be correct.  Do you mean to resolve these URLs relative to some base URL?   One approach is to add a [CallWith=ScriptExectionContext] to the IDL and to use that script execution to resolve the URL.

No, they&apos;re supposed to be absolute urls. (That&apos;s why I check validity after this.)

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:114
&gt;&gt; +            return 0;
&gt; 
&gt; Four-space indent.

Oops! Fixed.

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:116
&gt;&gt; +          suggestions.append(suggestionURL);
&gt; 
&gt; suggestionURL -&gt; suggestedURL ?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627947</commentid>
    <comment_count>6</comment_count>
      <attachid>142766</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-18 12:51:09 -0700</bug_when>
    <thetext>Created attachment 142766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627951</commentid>
    <comment_count>7</comment_count>
      <attachid>142766</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-18 12:54:05 -0700</bug_when>
    <thetext>Comment on attachment 142766
Patch

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

&gt; Source/WebCore/Modules/intents/Intent.cpp:107
&gt; +    WTF::HashSet&lt;AtomicString&gt; suggestionsStrings;
&gt; +    WTF::Vector&lt;KURL&gt; suggestions;

I meant that you can drop the WTF prefixes everywhere.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627981</commentid>
    <comment_count>8</comment_count>
      <attachid>142766</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-18 13:24:24 -0700</bug_when>
    <thetext>Comment on attachment 142766
Patch

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

&gt;&gt; Source/WebCore/Modules/intents/Intent.cpp:107
&gt;&gt; +    WTF::Vector&lt;KURL&gt; suggestions;
&gt; 
&gt; I meant that you can drop the WTF prefixes everywhere.  :)

Gah. I got most of them, but not these. Removing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628155</commentid>
    <comment_count>9</comment_count>
      <attachid>142796</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-18 15:30:42 -0700</bug_when>
    <thetext>Created attachment 142796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628169</commentid>
    <comment_count>10</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-05-18 15:44:20 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=142796) [details]
&gt; Patch

This adds the test as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628645</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-20 15:50:29 -0700</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629178</commentid>
    <comment_count>12</comment_count>
      <attachid>142796</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 09:23:20 -0700</bug_when>
    <thetext>Comment on attachment 142796
Patch

Clearing flags on attachment: 142796

Committed r117793: &lt;http://trac.webkit.org/changeset/117793&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629179</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 09:23:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142593</attachid>
            <date>2012-05-17 17:38:28 -0700</date>
            <delta_ts>2012-05-18 12:51:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86791-20120517173827.patch</filename>
            <type>text/plain</type>
            <size>8483</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRjMmEzM2ZkZGM1MmJi
N2YzMDdkNGYzMDkyNWU1Y2MwODk2ZTQxMS4uYzhiYzNhMjRkZGIwNTQxOWRlODU0NGJlMzU3ZDBm
NzQ1NzMyMzJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTE3ICBHcmVn
IEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9u
cyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB8c3VnZ2VzdGlvbnN8IGZpZWxkIGlzIHVzZWQgYnkgdGhl
IGNsaWVudCB0byBhdm9pZCBhbiBlbXB0eQorICAgICAgICB3ZWIgaW50ZW50cyBzZWxlY3Rpb24g
d2luZG93IChwaWNrZXIpLiBUaGUgVUEgY2FuIGFkZCB0aGUgZ2l2ZW4KKyAgICAgICAgc3VnZ2Vz
dGlvbnMgdG8gdGhlIHBpY2tlciBpZiBpdCB3b3VsZCBvdGhlcndpc2UgYmUgZW1wdHkuIFNlZQor
ICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvd2ViLWludGVudHMvcmF3LWZpbGUvdGlwL3Nw
ZWMvT3ZlcnZpZXcuaHRtbCNpbnRlbnQtcGFyYW1ldGVycy1kaWN0aW9uYXJ5CisKKyAgICAgICAg
KiBNb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRlbGl2ZXJlZEludGVudDo6RGVsaXZlcmVkSW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2lu
dGVudHMvSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVudDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVudDo6SW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2ludGVu
dHMvSW50ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnRlbnQ6OnN1Z2dlc3Rpb25zKToKKyAg
ICAgICAgKEludGVudCk6CisKIDIwMTItMDUtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY3JlYXRlIFNvdXJjZUZyYW1l
cyB3aXRoIGNvbnRlbnQgcHJvdmlkZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBm
MDVjYjRlZGU5OGY1YTljOTkxYmI1MGM0YzRiMTY4ZDkzZmM5YTQ0Li5iOGMyYjdmYjU5M2I4MDdi
YWNlNzAyOTE2MGY5ZDUxODI2ZGMwZjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTE3ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9ucyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGlj
L1dlYkludGVudC5oOgorICAgICAgICAoV2ViSW50ZW50KToKKyAgICAgICAgKiBzcmMvV2ViSW50
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW50ZW50OjpzdWdnZXN0aW9ucyk6CisgICAg
ICAgIChXZWJLaXQpOgorCiAyMDEyLTA1LTE3ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlk
ZGVuRm9yVVJMU2NoZW1lIHRvIHVzZSBJbnRlcm5hbFNldHRpbmdzIGludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0RlbGl2ZXJlZEludGVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAppbmRl
eCA3MzFjMmUwNmJiYTU4ZTc4Njk1ODY4ODExZjQ0OTQ3YjA1ODgwZTM2Li5kMGM4MTgwNDc1MmM5
ZWQ1NDA4MzBkODgyMzg4MDEwODU3NjBjM2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00OCw3ICs0OSw3IEBAIFBhc3NSZWZQdHI8RGVsaXZlcmVkSW50
ZW50PiBEZWxpdmVyZWRJbnRlbnQ6OmNyZWF0ZShGcmFtZSogZnJhbWUsIFBhc3NPd25QdHI8RGVs
CiBEZWxpdmVyZWRJbnRlbnQ6OkRlbGl2ZXJlZEludGVudChGcmFtZSogZnJhbWUsIFBhc3NPd25Q
dHI8RGVsaXZlcmVkSW50ZW50Q2xpZW50PiBjbGllbnQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBj
b25zdCBTdHJpbmcmIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgUGFzc093blB0cjxNZXNzYWdlUG9y
dEFycmF5PiBwb3J0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMpCi0gICAgOiBJbnRlbnQoYWN0aW9uLCB0eXBl
LCBkYXRhLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PigpLCBleHRyYXMsIEtV
UkwoKSkKKyAgICA6IEludGVudChhY3Rpb24sIHR5cGUsIGRhdGEsIFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+KCksIGV4dHJhcywgS1VSTCgpLCBXVEY6OlZlY3RvcjxLVVJMPigp
KQogICAgICwgRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyKGZyYW1lKQogICAgICwgbV9jbGllbnQo
Y2xpZW50KQogICAgICwgbV9wb3J0cyhwb3J0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRl
bnRzL0ludGVudC5jcHAKaW5kZXggYmY5NTY1ZWYxZDc1NGJlOTNkN2M5NDc5OWJjOWIzNmFiZDYz
MDE3YS4uN2ZmNTMyMmQxNmE1ODBjMjgxMzgwZjAzODMyOTk0N2VmMTRmY2U5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0ludGVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0ludGVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNs
dWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUyLDggKzUzLDkgQEAgUGFzc1JlZlB0cjxJbnRl
bnQ+IEludGVudDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBTdHJpbmcmIHR5
cGUsIFBhc3MKIAogICAgIFdURjo6SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFzOwogICAg
IEtVUkwgc2VydmljZVVybDsKKyAgICBXVEY6OlZlY3RvcjxLVVJMPiBzdWdnZXN0aW9uczsKIAot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW50ZW50KGFjdGlvbiwgdHlwZSwgZGF0YSwgY2hhbm5l
bHMucmVsZWFzZSgpLCBleHRyYXMsIHNlcnZpY2VVcmwpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEludGVudChhY3Rpb24sIHR5cGUsIGRhdGEsIGNoYW5uZWxzLnJlbGVhc2UoKSwgZXh0cmFz
LCBzZXJ2aWNlVXJsLCBzdWdnZXN0aW9ucykpOwogfQogCiBQYXNzUmVmUHRyPEludGVudD4gSW50
ZW50OjpjcmVhdGUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBjb25zdCBEaWN0aW9uYXJ5JiBv
cHRpb25zLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTEwMSwxNyArMTAzLDMyIEBAIFBhc3NSZWZQ
dHI8SW50ZW50PiBJbnRlbnQ6OmNyZWF0ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0
IERpY3Rpb25hcnkmIG9wCiAgICAgaWYgKG9wdGlvbnMuZ2V0KCJleHRyYXMiLCBleHRyYXNEaWN0
aW9uYXJ5KSkKICAgICAgICAgZXh0cmFzRGljdGlvbmFyeS5nZXRPd25Qcm9wZXJ0aWVzQXNTdHJp
bmdIYXNoTWFwKGV4dHJhcyk7CiAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEludGVudChhY3Rp
b24sIHR5cGUsIHNlcmlhbGl6ZWREYXRhLnJlbGVhc2UoKSwgY2hhbm5lbHMucmVsZWFzZSgpLCBl
eHRyYXMsIHNlcnZpY2VVcmwpKTsKKyAgICBXVEY6Okhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzdWdn
ZXN0aW9uc1N0cmluZ3M7CisgICAgV1RGOjpWZWN0b3I8S1VSTD4gc3VnZ2VzdGlvbnM7CisgICAg
aWYgKG9wdGlvbnMuZ2V0KCJzdWdnZXN0aW9ucyIsIHN1Z2dlc3Rpb25zU3RyaW5ncykpIHsKKyAg
ICAgICAgZm9yIChIYXNoU2V0PEF0b21pY1N0cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBzdWdnZXN0
aW9uc1N0cmluZ3MuYmVnaW4oKTsKKyAgICAgICAgICAgICBpdGVyICE9IHN1Z2dlc3Rpb25zU3Ry
aW5ncy5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgICAgS1VSTCBzdWdnZXN0aW9uVVJMID0gS1VS
TChLVVJMKCksICppdGVyKTsKKyAgICAgICAgICBpZiAoIXN1Z2dlc3Rpb25VUkwuaXNWYWxpZCgp
KSB7CisgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgICB9CisgICAgICAgICAgc3VnZ2VzdGlvbnMuYXBwZW5kKHN1Z2dlc3Rpb25VUkwp
OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlbnQoYWN0
aW9uLCB0eXBlLCBzZXJpYWxpemVkRGF0YS5yZWxlYXNlKCksIGNoYW5uZWxzLnJlbGVhc2UoKSwg
ZXh0cmFzLCBzZXJ2aWNlVXJsLCBzdWdnZXN0aW9ucykpOwogfQogCiBJbnRlbnQ6OkludGVudChj
b25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgU3RyaW5nJiB0eXBlLAogICAgICAgICAgICAgICAg
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEsIFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+IHBvcnRzLAotICAgICAgICAgICAgICAgY29uc3QgV1RGOjpIYXNo
TWFwPFN0cmluZywgU3RyaW5nPiYgZXh0cmFzLCBjb25zdCBLVVJMJiBzZXJ2aWNlKQorICAgICAg
ICAgICAgICAgY29uc3QgV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgZXh0cmFzLCBjb25z
dCBLVVJMJiBzZXJ2aWNlLCBjb25zdCBXVEY6OlZlY3RvcjxLVVJMPiYgc3VnZ2VzdGlvbnMpCiAg
ICAgOiBtX2FjdGlvbihhY3Rpb24pCiAgICAgLCBtX3R5cGUodHlwZSkKICAgICAsIG1fcG9ydHMo
cG9ydHMpCiAgICAgLCBtX3NlcnZpY2Uoc2VydmljZSkKICAgICAsIG1fZXh0cmFzKGV4dHJhcykK
KyAgICAsIG1fc3VnZ2VzdGlvbnMoc3VnZ2VzdGlvbnMpCiB7CiAgICAgaWYgKGRhdGEpCiAgICAg
ICAgIG1fZGF0YSA9IGRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
dGVudHMvSW50ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvSW50ZW50LmgK
aW5kZXggZDYyYzZiZjZmMDUzMjQ1NjNlOTg4ZGE4MTczYjM3OWE3YjMxZGFmOC4uNjJhNDcxOTQ3
MmE4OTk1OTlhNWMwYzc0MGU4MDRhNTcxNjY1MDg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbnRlbnRzL0ludGVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW50ZW50cy9JbnRlbnQuaApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02MiwxMSArNjMsMTIgQEAgcHVibGljOgog
ICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5KiBtZXNzYWdlUG9ydHMoKSBjb25zdCB7IHJldHVy
biBtX3BvcnRzLmdldCgpOyB9CiAgICAgY29uc3QgS1VSTCYgc2VydmljZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2VydmljZTsgfQogICAgIGNvbnN0IFdURjo6SGFzaE1hcDxTdHJpbmcsIFN0cmluZz4m
IGV4dHJhcygpIGNvbnN0IHsgcmV0dXJuIG1fZXh0cmFzOyB9CisgICAgY29uc3QgV1RGOjpWZWN0
b3I8S1VSTD4mIHN1Z2dlc3Rpb25zKCkgY29uc3QgeyByZXR1cm4gbV9zdWdnZXN0aW9uczsgfQog
CiBwcm90ZWN0ZWQ6CiAgICAgSW50ZW50KGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBTdHJp
bmcmIHR5cGUsCiAgICAgICAgICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBk
YXRhLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiBwb3J0cywKLSAgICAgICAg
ICAgY29uc3QgV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgZXh0cmFzLCBjb25zdCBLVVJM
JiBzZXJ2aWNlKTsKKyAgICAgICAgICAgY29uc3QgV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5n
PiYgZXh0cmFzLCBjb25zdCBLVVJMJiBzZXJ2aWNlLCBjb25zdCBXVEY6OlZlY3RvcjxLVVJMPiYg
c3VnZ2VzdGlvbnMpOwogCiBwcml2YXRlOgogICAgIFN0cmluZyBtX2FjdGlvbjsKQEAgLTc1LDYg
Kzc3LDcgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+IG1f
cG9ydHM7CiAgICAgS1VSTCBtX3NlcnZpY2U7CiAgICAgV1RGOjpIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiBtX2V4dHJhczsKKyAgICBXVEY6OlZlY3RvcjxLVVJMPiBtX3N1Z2dlc3Rpb25zOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViSW50ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJJbnRlbnQuaAppbmRleCBhZWZjM2ViYjNlYTVlMWE0NzJjMmM1M2Y2MzJjNzdhNDEzNTE4N2Zi
Li5jZmFkZGMzOGRlNzM3ODlhZmE3ZTU4MWVkMThiMjY5NjA5YmQyNWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQuaApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6
CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgdHlwZSgpIGNvbnN0OwogICAgIFdFQktJVF9F
WFBPUlQgV2ViU3RyaW5nIGRhdGEoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIFdlYlVSTCBz
ZXJ2aWNlKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJWZWN0b3I8V2ViVVJMPiBzdWdn
ZXN0aW9ucygpIGNvbnN0OwogCiAgICAgLy8gUmV0cmlldmUgYSBsaXN0IG9mIHRoZSBuYW1lcyBv
ZiBleHRyYSBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlCiAgICAgLy8gaW50ZW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW50ZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkludGVudC5jcHAKaW5kZXggNjc3MjNiZjkzMWYyMmFj
OWVkMjVkMTI2MjNhOTA2MWFlZGFkYjY2MC4uNDRjZTJkMGFjZmFkOTkzNjZjNjM0NmJiN2I1OWZl
YTdkNTMwMjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW50
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlbnQuY3BwCkBA
IC0xMjcsNiArMTI3LDE4IEBAIFdlYlVSTCBXZWJJbnRlbnQ6OnNlcnZpY2UoKSBjb25zdAogI2Vu
ZGlmCiB9CiAKK1dlYlZlY3RvcjxXZWJVUkw+IFdlYkludGVudDo6c3VnZ2VzdGlvbnMoKSBjb25z
dAoreworI2lmIEVOQUJMRShXRUJfSU5URU5UUykKKyAgICBXZWJWZWN0b3I8V2ViVVJMPiBzdWdn
ZXN0aW9ucyhtX3ByaXZhdGUtPnN1Z2dlc3Rpb25zKCkuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fcHJpdmF0ZS0+c3VnZ2VzdGlvbnMoKS5zaXplKCk7ICsraSkKKyAgICAg
ICAgc3VnZ2VzdGlvbnNbaV0gPSBtX3ByaXZhdGUtPnN1Z2dlc3Rpb25zKCkuYXQoaSk7CisgICAg
cmV0dXJuIHN1Z2dlc3Rpb25zOworI2Vsc2UKKyAgICByZXR1cm4gV2ViVmVjdG9yPFdlYlVSTD4o
KTsKKyNlbmRpZgorfQorCiBXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJheSogV2ViSW50ZW50Ojpt
ZXNzYWdlUG9ydENoYW5uZWxzUmVsZWFzZSgpIGNvbnN0CiB7CiAgICAgLy8gTm90ZTogc2VlIFBs
YXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpwb3N0TWVzc2FnZVRvUmVtb3RlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142766</attachid>
            <date>2012-05-18 12:51:09 -0700</date>
            <delta_ts>2012-05-18 15:30:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86791-20120518125108.patch</filename>
            <type>text/plain</type>
            <size>8752</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRjMmEzM2ZkZGM1MmJi
N2YzMDdkNGYzMDkyNWU1Y2MwODk2ZTQxMS4uYzhiYzNhMjRkZGIwNTQxOWRlODU0NGJlMzU3ZDBm
NzQ1NzMyMzJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTE3ICBHcmVn
IEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9u
cyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB8c3VnZ2VzdGlvbnN8IGZpZWxkIGlzIHVzZWQgYnkgdGhl
IGNsaWVudCB0byBhdm9pZCBhbiBlbXB0eQorICAgICAgICB3ZWIgaW50ZW50cyBzZWxlY3Rpb24g
d2luZG93IChwaWNrZXIpLiBUaGUgVUEgY2FuIGFkZCB0aGUgZ2l2ZW4KKyAgICAgICAgc3VnZ2Vz
dGlvbnMgdG8gdGhlIHBpY2tlciBpZiBpdCB3b3VsZCBvdGhlcndpc2UgYmUgZW1wdHkuIFNlZQor
ICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvd2ViLWludGVudHMvcmF3LWZpbGUvdGlwL3Nw
ZWMvT3ZlcnZpZXcuaHRtbCNpbnRlbnQtcGFyYW1ldGVycy1kaWN0aW9uYXJ5CisKKyAgICAgICAg
KiBNb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRlbGl2ZXJlZEludGVudDo6RGVsaXZlcmVkSW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2lu
dGVudHMvSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVudDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVudDo6SW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2ludGVu
dHMvSW50ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnRlbnQ6OnN1Z2dlc3Rpb25zKToKKyAg
ICAgICAgKEludGVudCk6CisKIDIwMTItMDUtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY3JlYXRlIFNvdXJjZUZyYW1l
cyB3aXRoIGNvbnRlbnQgcHJvdmlkZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBm
MDVjYjRlZGU5OGY1YTljOTkxYmI1MGM0YzRiMTY4ZDkzZmM5YTQ0Li5iOGMyYjdmYjU5M2I4MDdi
YWNlNzAyOTE2MGY5ZDUxODI2ZGMwZjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTE3ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9ucyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGlj
L1dlYkludGVudC5oOgorICAgICAgICAoV2ViSW50ZW50KToKKyAgICAgICAgKiBzcmMvV2ViSW50
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW50ZW50OjpzdWdnZXN0aW9ucyk6CisgICAg
ICAgIChXZWJLaXQpOgorCiAyMDEyLTA1LTE3ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlk
ZGVuRm9yVVJMU2NoZW1lIHRvIHVzZSBJbnRlcm5hbFNldHRpbmdzIGludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0RlbGl2ZXJlZEludGVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAppbmRl
eCA3MzFjMmUwNmJiYTU4ZTc4Njk1ODY4ODExZjQ0OTQ3YjA1ODgwZTM2Li5mMGQ4Y2EzZWI2OGI3
NDdhNThhY2QyMTNmMWM0OWM1ODZiNzI0ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00OCw3ICs0OSw3IEBAIFBhc3NSZWZQdHI8RGVsaXZlcmVkSW50
ZW50PiBEZWxpdmVyZWRJbnRlbnQ6OmNyZWF0ZShGcmFtZSogZnJhbWUsIFBhc3NPd25QdHI8RGVs
CiBEZWxpdmVyZWRJbnRlbnQ6OkRlbGl2ZXJlZEludGVudChGcmFtZSogZnJhbWUsIFBhc3NPd25Q
dHI8RGVsaXZlcmVkSW50ZW50Q2xpZW50PiBjbGllbnQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBj
b25zdCBTdHJpbmcmIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgUGFzc093blB0cjxNZXNzYWdlUG9y
dEFycmF5PiBwb3J0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMpCi0gICAgOiBJbnRlbnQoYWN0aW9uLCB0eXBl
LCBkYXRhLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PigpLCBleHRyYXMsIEtV
UkwoKSkKKyAgICA6IEludGVudChhY3Rpb24sIHR5cGUsIGRhdGEsIFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+KCksIGV4dHJhcywgS1VSTCgpLCBWZWN0b3I8S1VSTD4oKSkKICAg
ICAsIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcihmcmFtZSkKICAgICAsIG1fY2xpZW50KGNsaWVu
dCkKICAgICAsIG1fcG9ydHMocG9ydHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ludGVudHMvSW50ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9J
bnRlbnQuY3BwCmluZGV4IGJmOTU2NWVmMWQ3NTRiZTkzZDdjOTQ3OTliYzliMzZhYmQ2MzAxN2Eu
LjMxOTk1MWViMzk1NzYzNTZiODdjNjdlOTJlYTFkN2YyYzBhZDhhYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCwxMCArNTEsMTEgQEAgUGFzc1JlZlB0cjxJbnRlbnQ+
IEludGVudDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBTdHJpbmcmIHR5cGUs
IFBhc3MKIAogICAgIE93blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4gY2hhbm5lbHMgPSBN
ZXNzYWdlUG9ydDo6ZGlzZW50YW5nbGVQb3J0cygmcG9ydHMsIGVjKTsKIAotICAgIFdURjo6SGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFzOwotICAgIEtVUkwgc2VydmljZVVybDsKKyAgICBI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiBleHRyYXM7CisgICAgS1VSTCBzZXJ2aWNlVVJMOworICAg
IFZlY3RvcjxLVVJMPiBzdWdnZXN0aW9uczsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW50
ZW50KGFjdGlvbiwgdHlwZSwgZGF0YSwgY2hhbm5lbHMucmVsZWFzZSgpLCBleHRyYXMsIHNlcnZp
Y2VVcmwpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEludGVudChhY3Rpb24sIHR5cGUsIGRh
dGEsIGNoYW5uZWxzLnJlbGVhc2UoKSwgZXh0cmFzLCBzZXJ2aWNlVVJMLCBzdWdnZXN0aW9ucykp
OwogfQogCiBQYXNzUmVmUHRyPEludGVudD4gSW50ZW50OjpjcmVhdGUoU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBFeGNlcHRpb25Db2RlJiBlYykK
QEAgLTEwMSwxNyArMTAzLDMxIEBAIFBhc3NSZWZQdHI8SW50ZW50PiBJbnRlbnQ6OmNyZWF0ZShT
Y3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IERpY3Rpb25hcnkmIG9wCiAgICAgaWYgKG9w
dGlvbnMuZ2V0KCJleHRyYXMiLCBleHRyYXNEaWN0aW9uYXJ5KSkKICAgICAgICAgZXh0cmFzRGlj
dGlvbmFyeS5nZXRPd25Qcm9wZXJ0aWVzQXNTdHJpbmdIYXNoTWFwKGV4dHJhcyk7CiAKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEludGVudChhY3Rpb24sIHR5cGUsIHNlcmlhbGl6ZWREYXRhLnJl
bGVhc2UoKSwgY2hhbm5lbHMucmVsZWFzZSgpLCBleHRyYXMsIHNlcnZpY2VVcmwpKTsKKyAgICBX
VEY6Okhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzdWdnZXN0aW9uc1N0cmluZ3M7CisgICAgV1RGOjpW
ZWN0b3I8S1VSTD4gc3VnZ2VzdGlvbnM7CisgICAgaWYgKG9wdGlvbnMuZ2V0KCJzdWdnZXN0aW9u
cyIsIHN1Z2dlc3Rpb25zU3RyaW5ncykpIHsKKyAgICAgICAgZm9yIChIYXNoU2V0PEF0b21pY1N0
cmluZz46Oml0ZXJhdG9yIGl0ZXIgPSBzdWdnZXN0aW9uc1N0cmluZ3MuYmVnaW4oKTsgaXRlciAh
PSBzdWdnZXN0aW9uc1N0cmluZ3MuZW5kKCk7ICsraXRlcikgeworICAgICAgICAgICAgS1VSTCBz
dWdnZXN0ZWRVUkwgPSBLVVJMKEtVUkwoKSwgKml0ZXIpOworICAgICAgICAgICAgaWYgKCFzdWdn
ZXN0ZWRVUkwuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3Vn
Z2VzdGlvbnMuYXBwZW5kKHN1Z2dlc3RlZFVSTCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEludGVudChhY3Rpb24sIHR5cGUsIHNlcmlhbGl6ZWREYXRhLnJl
bGVhc2UoKSwgY2hhbm5lbHMucmVsZWFzZSgpLCBleHRyYXMsIHNlcnZpY2VVcmwsIHN1Z2dlc3Rp
b25zKSk7CiB9CiAKIEludGVudDo6SW50ZW50KGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBT
dHJpbmcmIHR5cGUsCiAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gZGF0YSwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4gcG9ydHMsCi0g
ICAgICAgICAgICAgICBjb25zdCBXVEY6Okhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMs
IGNvbnN0IEtVUkwmIHNlcnZpY2UpCisgICAgICAgICAgICAgICBjb25zdCBIYXNoTWFwPFN0cmlu
ZywgU3RyaW5nPiYgZXh0cmFzLCBjb25zdCBLVVJMJiBzZXJ2aWNlLCBjb25zdCBWZWN0b3I8S1VS
TD4mIHN1Z2dlc3Rpb25zKQogICAgIDogbV9hY3Rpb24oYWN0aW9uKQogICAgICwgbV90eXBlKHR5
cGUpCiAgICAgLCBtX3BvcnRzKHBvcnRzKQogICAgICwgbV9zZXJ2aWNlKHNlcnZpY2UpCiAgICAg
LCBtX2V4dHJhcyhleHRyYXMpCisgICAgLCBtX3N1Z2dlc3Rpb25zKHN1Z2dlc3Rpb25zKQogewog
ICAgIGlmIChkYXRhKQogICAgICAgICBtX2RhdGEgPSBkYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0ludGVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbnRlbnRzL0ludGVudC5oCmluZGV4IGQ2MmM2YmY2ZjA1MzI0NTYzZTk4OGRhODE3M2IzNzlh
N2IzMWRhZjguLmExMjRkYzA4YTQ1NmJkNjUzZmFkMjEwMzI1NDA5NDlhNmI0NDMwMTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvSW50ZW50LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsMTIg
KzYyLDEzIEBAIHB1YmxpYzoKIAogICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5KiBtZXNzYWdl
UG9ydHMoKSBjb25zdCB7IHJldHVybiBtX3BvcnRzLmdldCgpOyB9CiAgICAgY29uc3QgS1VSTCYg
c2VydmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VydmljZTsgfQotICAgIGNvbnN0IFdURjo6SGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4mIGV4dHJhcygpIGNvbnN0IHsgcmV0dXJuIG1fZXh0cmFzOyB9
CisgICAgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIGV4dHJhcygpIGNvbnN0IHsgcmV0
dXJuIG1fZXh0cmFzOyB9CisgICAgY29uc3QgVmVjdG9yPEtVUkw+JiBzdWdnZXN0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIG1fc3VnZ2VzdGlvbnM7IH0KIAogcHJvdGVjdGVkOgogICAgIEludGVudChj
b25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgU3RyaW5nJiB0eXBlLAogICAgICAgICAgICBQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgUGFzc093blB0cjxNZXNzYWdlUG9y
dENoYW5uZWxBcnJheT4gcG9ydHMsCi0gICAgICAgICAgIGNvbnN0IFdURjo6SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4mIGV4dHJhcywgY29uc3QgS1VSTCYgc2VydmljZSk7CisgICAgICAgICAgIGNv
bnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMsIGNvbnN0IEtVUkwmIHNlcnZpY2Us
IGNvbnN0IFZlY3RvcjxLVVJMPiYgc3VnZ2VzdGlvbnMpOwogCiBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX2FjdGlvbjsKQEAgLTc0LDcgKzc2LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBtX2RhdGE7CiAgICAgT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFy
cmF5PiBtX3BvcnRzOwogICAgIEtVUkwgbV9zZXJ2aWNlOwotICAgIFdURjo6SGFzaE1hcDxTdHJp
bmcsIFN0cmluZz4gbV9leHRyYXM7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9leHRy
YXM7CisgICAgVmVjdG9yPEtVUkw+IG1fc3VnZ2VzdGlvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
bnRlbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkludGVudC5oCmluZGV4
IGFlZmMzZWJiM2VhNWUxYTQ3MmMyYzUzZjYzMmM3N2E0MTM1MTg3ZmIuLmNmYWRkYzM4ZGU3Mzc4
OWFmYTdlNTgxZWQxOGIyNjk2MDliZDI1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkludGVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkludGVudC5oCkBAIC02Niw2ICs2Niw3IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQ
T1JUIFdlYlN0cmluZyB0eXBlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcg
ZGF0YSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2ViVVJMIHNlcnZpY2UoKSBjb25zdDsK
KyAgICBXRUJLSVRfRVhQT1JUIFdlYlZlY3RvcjxXZWJVUkw+IHN1Z2dlc3Rpb25zKCkgY29uc3Q7
CiAKICAgICAvLyBSZXRyaWV2ZSBhIGxpc3Qgb2YgdGhlIG5hbWVzIG9mIGV4dHJhIG1ldGFkYXRh
IGFzc29jaWF0ZWQgd2l0aCB0aGUKICAgICAvLyBpbnRlbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlbnQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSW50ZW50LmNwcAppbmRleCA2NzcyM2JmOTMxZjIyYWM5ZWQyNWQxMjYyM2E5MDYx
YWVkYWRiNjYwLi40NGNlMmQwYWNmYWQ5OTM2NmM2MzQ2YmI3YjU5ZmVhN2Q1MzAyMDBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkludGVudC5jcHAKQEAgLTEyNyw2ICsxMjcsMTgg
QEAgV2ViVVJMIFdlYkludGVudDo6c2VydmljZSgpIGNvbnN0CiAjZW5kaWYKIH0KIAorV2ViVmVj
dG9yPFdlYlVSTD4gV2ViSW50ZW50OjpzdWdnZXN0aW9ucygpIGNvbnN0Cit7CisjaWYgRU5BQkxF
KFdFQl9JTlRFTlRTKQorICAgIFdlYlZlY3RvcjxXZWJVUkw+IHN1Z2dlc3Rpb25zKG1fcHJpdmF0
ZS0+c3VnZ2VzdGlvbnMoKS5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9w
cml2YXRlLT5zdWdnZXN0aW9ucygpLnNpemUoKTsgKytpKQorICAgICAgICBzdWdnZXN0aW9uc1tp
XSA9IG1fcHJpdmF0ZS0+c3VnZ2VzdGlvbnMoKS5hdChpKTsKKyAgICByZXR1cm4gc3VnZ2VzdGlv
bnM7CisjZWxzZQorICAgIHJldHVybiBXZWJWZWN0b3I8V2ViVVJMPigpOworI2VuZGlmCit9CisK
IFdlYk1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5KiBXZWJJbnRlbnQ6Om1lc3NhZ2VQb3J0Q2hhbm5l
bHNSZWxlYXNlKCkgY29uc3QKIHsKICAgICAvLyBOb3RlOiBzZWUgUGxhdGZvcm1NZXNzYWdlUG9y
dENoYW5uZWw6OnBvc3RNZXNzYWdlVG9SZW1vdGUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142796</attachid>
            <date>2012-05-18 15:30:42 -0700</date>
            <delta_ts>2012-05-21 09:23:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86791-20120518153041.patch</filename>
            <type>text/plain</type>
            <size>12923</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRjMmEzM2ZkZGM1MmJi
N2YzMDdkNGYzMDkyNWU1Y2MwODk2ZTQxMS4uYzhiYzNhMjRkZGIwNTQxOWRlODU0NGJlMzU3ZDBm
NzQ1NzMyMzJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA1LTE3ICBHcmVn
IEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9u
cyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSB8c3VnZ2VzdGlvbnN8IGZpZWxkIGlzIHVzZWQgYnkgdGhl
IGNsaWVudCB0byBhdm9pZCBhbiBlbXB0eQorICAgICAgICB3ZWIgaW50ZW50cyBzZWxlY3Rpb24g
d2luZG93IChwaWNrZXIpLiBUaGUgVUEgY2FuIGFkZCB0aGUgZ2l2ZW4KKyAgICAgICAgc3VnZ2Vz
dGlvbnMgdG8gdGhlIHBpY2tlciBpZiBpdCB3b3VsZCBvdGhlcndpc2UgYmUgZW1wdHkuIFNlZQor
ICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvd2ViLWludGVudHMvcmF3LWZpbGUvdGlwL3Nw
ZWMvT3ZlcnZpZXcuaHRtbCNpbnRlbnQtcGFyYW1ldGVycy1kaWN0aW9uYXJ5CisKKyAgICAgICAg
KiBNb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRlbGl2ZXJlZEludGVudDo6RGVsaXZlcmVkSW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2lu
dGVudHMvSW50ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVudDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVudDo6SW50ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2ludGVu
dHMvSW50ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnRlbnQ6OnN1Z2dlc3Rpb25zKToKKyAg
ICAgICAgKEludGVudCk6CisKIDIwMTItMDUtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY3JlYXRlIFNvdXJjZUZyYW1l
cyB3aXRoIGNvbnRlbnQgcHJvdmlkZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBm
MDVjYjRlZGU5OGY1YTljOTkxYmI1MGM0YzRiMTY4ZDkzZmM5YTQ0Li5iOGMyYjdmYjU5M2I4MDdi
YWNlNzAyOTE2MGY5ZDUxODI2ZGMwZjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTE3ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdWdnZXN0aW9ucyBmaWVsZCB0byB3ZWIgaW50ZW50cyBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njc5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGlj
L1dlYkludGVudC5oOgorICAgICAgICAoV2ViSW50ZW50KToKKyAgICAgICAgKiBzcmMvV2ViSW50
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW50ZW50OjpzdWdnZXN0aW9ucyk6CisgICAg
ICAgIChXZWJLaXQpOgorCiAyMDEyLTA1LTE3ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlk
ZGVuRm9yVVJMU2NoZW1lIHRvIHVzZSBJbnRlcm5hbFNldHRpbmdzIGludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0RlbGl2ZXJlZEludGVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAppbmRl
eCA3MzFjMmUwNmJiYTU4ZTc4Njk1ODY4ODExZjQ0OTQ3YjA1ODgwZTM2Li5mMGQ4Y2EzZWI2OGI3
NDdhNThhY2QyMTNmMWM0OWM1ODZiNzI0ZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ludGVudHMvRGVsaXZlcmVkSW50ZW50LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00OCw3ICs0OSw3IEBAIFBhc3NSZWZQdHI8RGVsaXZlcmVkSW50
ZW50PiBEZWxpdmVyZWRJbnRlbnQ6OmNyZWF0ZShGcmFtZSogZnJhbWUsIFBhc3NPd25QdHI8RGVs
CiBEZWxpdmVyZWRJbnRlbnQ6OkRlbGl2ZXJlZEludGVudChGcmFtZSogZnJhbWUsIFBhc3NPd25Q
dHI8RGVsaXZlcmVkSW50ZW50Q2xpZW50PiBjbGllbnQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBj
b25zdCBTdHJpbmcmIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgUGFzc093blB0cjxNZXNzYWdlUG9y
dEFycmF5PiBwb3J0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMpCi0gICAgOiBJbnRlbnQoYWN0aW9uLCB0eXBl
LCBkYXRhLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PigpLCBleHRyYXMsIEtV
UkwoKSkKKyAgICA6IEludGVudChhY3Rpb24sIHR5cGUsIGRhdGEsIFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+KCksIGV4dHJhcywgS1VSTCgpLCBWZWN0b3I8S1VSTD4oKSkKICAg
ICAsIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcihmcmFtZSkKICAgICAsIG1fY2xpZW50KGNsaWVu
dCkKICAgICAsIG1fcG9ydHMocG9ydHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ludGVudHMvSW50ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9J
bnRlbnQuY3BwCmluZGV4IGJmOTU2NWVmMWQ3NTRiZTkzZDdjOTQ3OTliYzliMzZhYmQ2MzAxN2Eu
LjE1NzI5N2IzYmJmNmRiYzY3ZjgzMGMwZWNkYjBkZmJjZDIxZjgzZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCwxMCArNTEsMTEgQEAgUGFzc1JlZlB0cjxJbnRlbnQ+
IEludGVudDo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBTdHJpbmcmIHR5cGUs
IFBhc3MKIAogICAgIE93blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4gY2hhbm5lbHMgPSBN
ZXNzYWdlUG9ydDo6ZGlzZW50YW5nbGVQb3J0cygmcG9ydHMsIGVjKTsKIAotICAgIFdURjo6SGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFzOwotICAgIEtVUkwgc2VydmljZVVybDsKKyAgICBI
YXNoTWFwPFN0cmluZywgU3RyaW5nPiBleHRyYXM7CisgICAgS1VSTCBzZXJ2aWNlVVJMOworICAg
IFZlY3RvcjxLVVJMPiBzdWdnZXN0aW9uczsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW50
ZW50KGFjdGlvbiwgdHlwZSwgZGF0YSwgY2hhbm5lbHMucmVsZWFzZSgpLCBleHRyYXMsIHNlcnZp
Y2VVcmwpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEludGVudChhY3Rpb24sIHR5cGUsIGRh
dGEsIGNoYW5uZWxzLnJlbGVhc2UoKSwgZXh0cmFzLCBzZXJ2aWNlVVJMLCBzdWdnZXN0aW9ucykp
OwogfQogCiBQYXNzUmVmUHRyPEludGVudD4gSW50ZW50OjpjcmVhdGUoU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBFeGNlcHRpb25Db2RlJiBlYykK
QEAgLTk2LDIyICs5OCwzNiBAQCBQYXNzUmVmUHRyPEludGVudD4gSW50ZW50OjpjcmVhdGUoU2Ny
aXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBjb25zdCBEaWN0aW9uYXJ5JiBvcAogICAgICAgICB9CiAg
ICAgfQogCi0gICAgV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBleHRyYXM7CisgICAgSGFz
aE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFzOwogICAgIERpY3Rpb25hcnkgZXh0cmFzRGljdGlv
bmFyeTsKICAgICBpZiAob3B0aW9ucy5nZXQoImV4dHJhcyIsIGV4dHJhc0RpY3Rpb25hcnkpKQog
ICAgICAgICBleHRyYXNEaWN0aW9uYXJ5LmdldE93blByb3BlcnRpZXNBc1N0cmluZ0hhc2hNYXAo
ZXh0cmFzKTsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW50ZW50KGFjdGlvbiwgdHlwZSwg
c2VyaWFsaXplZERhdGEucmVsZWFzZSgpLCBjaGFubmVscy5yZWxlYXNlKCksIGV4dHJhcywgc2Vy
dmljZVVybCkpOworICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzdWdnZXN0aW9uc1N0cmluZ3M7
CisgICAgVmVjdG9yPEtVUkw+IHN1Z2dlc3Rpb25zOworICAgIGlmIChvcHRpb25zLmdldCgic3Vn
Z2VzdGlvbnMiLCBzdWdnZXN0aW9uc1N0cmluZ3MpKSB7CisgICAgICAgIGZvciAoSGFzaFNldDxB
dG9taWNTdHJpbmc+OjppdGVyYXRvciBpdGVyID0gc3VnZ2VzdGlvbnNTdHJpbmdzLmJlZ2luKCk7
IGl0ZXIgIT0gc3VnZ2VzdGlvbnNTdHJpbmdzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgICAg
IEtVUkwgc3VnZ2VzdGVkVVJMID0gS1VSTChLVVJMKCksICppdGVyKTsKKyAgICAgICAgICAgIGlm
ICghc3VnZ2VzdGVkVVJMLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgIGVjID0gU1lOVEFY
X0VSUjsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHN1Z2dlc3Rpb25zLmFwcGVuZChzdWdnZXN0ZWRVUkwpOworICAgICAgICB9CisgICAgfQor
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlbnQoYWN0aW9uLCB0eXBlLCBzZXJpYWxpemVk
RGF0YS5yZWxlYXNlKCksIGNoYW5uZWxzLnJlbGVhc2UoKSwgZXh0cmFzLCBzZXJ2aWNlVXJsLCBz
dWdnZXN0aW9ucykpOwogfQogCiBJbnRlbnQ6OkludGVudChjb25zdCBTdHJpbmcmIGFjdGlvbiwg
Y29uc3QgU3RyaW5nJiB0eXBlLAogICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IGRhdGEsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+IHBv
cnRzLAotICAgICAgICAgICAgICAgY29uc3QgV1RGOjpIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYg
ZXh0cmFzLCBjb25zdCBLVVJMJiBzZXJ2aWNlKQorICAgICAgICAgICAgICAgY29uc3QgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4mIGV4dHJhcywgY29uc3QgS1VSTCYgc2VydmljZSwgY29uc3QgVmVj
dG9yPEtVUkw+JiBzdWdnZXN0aW9ucykKICAgICA6IG1fYWN0aW9uKGFjdGlvbikKICAgICAsIG1f
dHlwZSh0eXBlKQogICAgICwgbV9wb3J0cyhwb3J0cykKICAgICAsIG1fc2VydmljZShzZXJ2aWNl
KQogICAgICwgbV9leHRyYXMoZXh0cmFzKQorICAgICwgbV9zdWdnZXN0aW9ucyhzdWdnZXN0aW9u
cykKIHsKICAgICBpZiAoZGF0YSkKICAgICAgICAgbV9kYXRhID0gZGF0YTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaAppbmRleCBkNjJjNmJmNmYwNTMyNDU2M2U5ODhkYTgx
NzNiMzc5YTdiMzFkYWY4Li5hMTI0ZGMwOGE0NTZiZDY1M2ZhZDIxMDMyNTQwOTQ5YTZiNDQzMDE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ludGVudHMvSW50ZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbnRlbnRzL0ludGVudC5oCkBAIC00MCw2ICs0MCw3
IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTYxLDEyICs2MiwxMyBAQCBwdWJsaWM6CiAKICAgICBNZXNzYWdlUG9ydENoYW5uZWxBcnJheSog
bWVzc2FnZVBvcnRzKCkgY29uc3QgeyByZXR1cm4gbV9wb3J0cy5nZXQoKTsgfQogICAgIGNvbnN0
IEtVUkwmIHNlcnZpY2UoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2U7IH0KLSAgICBjb25zdCBX
VEY6Okhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMoKSBjb25zdCB7IHJldHVybiBtX2V4
dHJhczsgfQorICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhczsgfQorICAgIGNvbnN0IFZlY3RvcjxLVVJMPiYgc3VnZ2VzdGlv
bnMoKSBjb25zdCB7IHJldHVybiBtX3N1Z2dlc3Rpb25zOyB9CiAKIHByb3RlY3RlZDoKICAgICBJ
bnRlbnQoY29uc3QgU3RyaW5nJiBhY3Rpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwKICAgICAgICAg
ICAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEsIFBhc3NPd25QdHI8TWVz
c2FnZVBvcnRDaGFubmVsQXJyYXk+IHBvcnRzLAotICAgICAgICAgICBjb25zdCBXVEY6Okhhc2hN
YXA8U3RyaW5nLCBTdHJpbmc+JiBleHRyYXMsIGNvbnN0IEtVUkwmIHNlcnZpY2UpOworICAgICAg
ICAgICBjb25zdCBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgZXh0cmFzLCBjb25zdCBLVVJMJiBz
ZXJ2aWNlLCBjb25zdCBWZWN0b3I8S1VSTD4mIHN1Z2dlc3Rpb25zKTsKIAogcHJpdmF0ZToKICAg
ICBTdHJpbmcgbV9hY3Rpb247CkBAIC03NCw3ICs3Niw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9kYXRhOwogICAgIE93blB0cjxNZXNzYWdlUG9ydENo
YW5uZWxBcnJheT4gbV9wb3J0czsKICAgICBLVVJMIG1fc2VydmljZTsKLSAgICBXVEY6Okhhc2hN
YXA8U3RyaW5nLCBTdHJpbmc+IG1fZXh0cmFzOworICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+
IG1fZXh0cmFzOworICAgIFZlY3RvcjxLVVJMPiBtX3N1Z2dlc3Rpb25zOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViSW50ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQu
aAppbmRleCBhZWZjM2ViYjNlYTVlMWE0NzJjMmM1M2Y2MzJjNzdhNDEzNTE4N2ZiLi5jZmFkZGMz
OGRlNzM3ODlhZmE3ZTU4MWVkMThiMjY5NjA5YmQyNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJJbnRlbnQuaApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0VYUE9SVCBXZWJTdHJpbmcgdHlwZSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2Vi
U3RyaW5nIGRhdGEoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIFdlYlVSTCBzZXJ2aWNlKCkg
Y29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJWZWN0b3I8V2ViVVJMPiBzdWdnZXN0aW9ucygp
IGNvbnN0OwogCiAgICAgLy8gUmV0cmlldmUgYSBsaXN0IG9mIHRoZSBuYW1lcyBvZiBleHRyYSBt
ZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlCiAgICAgLy8gaW50ZW50LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW50ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkludGVudC5jcHAKaW5kZXggNjc3MjNiZjkzMWYyMmFjOWVkMjVkMTI2
MjNhOTA2MWFlZGFkYjY2MC4uNDRjZTJkMGFjZmFkOTkzNjZjNjM0NmJiN2I1OWZlYTdkNTMwMjAw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW50ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlbnQuY3BwCkBAIC0xMjcsNiAr
MTI3LDE4IEBAIFdlYlVSTCBXZWJJbnRlbnQ6OnNlcnZpY2UoKSBjb25zdAogI2VuZGlmCiB9CiAK
K1dlYlZlY3RvcjxXZWJVUkw+IFdlYkludGVudDo6c3VnZ2VzdGlvbnMoKSBjb25zdAoreworI2lm
IEVOQUJMRShXRUJfSU5URU5UUykKKyAgICBXZWJWZWN0b3I8V2ViVVJMPiBzdWdnZXN0aW9ucyht
X3ByaXZhdGUtPnN1Z2dlc3Rpb25zKCkuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fcHJpdmF0ZS0+c3VnZ2VzdGlvbnMoKS5zaXplKCk7ICsraSkKKyAgICAgICAgc3VnZ2Vz
dGlvbnNbaV0gPSBtX3ByaXZhdGUtPnN1Z2dlc3Rpb25zKCkuYXQoaSk7CisgICAgcmV0dXJuIHN1
Z2dlc3Rpb25zOworI2Vsc2UKKyAgICByZXR1cm4gV2ViVmVjdG9yPFdlYlVSTD4oKTsKKyNlbmRp
ZgorfQorCiBXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJheSogV2ViSW50ZW50OjptZXNzYWdlUG9y
dENoYW5uZWxzUmVsZWFzZSgpIGNvbnN0CiB7CiAgICAgLy8gTm90ZTogc2VlIFBsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsOjpwb3N0TWVzc2FnZVRvUmVtb3RlLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IDM5YTdlYjRiZjU1N2YyZDY2MjE3
MGExOGQ2ZTA1ZWRhYTA1ZDE4YmIuLjQ1ODhlNGFkZWEwY2IyMTdmMGU2OTQwYWE1Y2I4YzAyMzQw
ZTk2NTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHAKQEAgLTEzNDYsMTMgKzEzNDYsMTkgQEAgdm9pZCBXZWJWaWV3SG9zdDo6ZGlzcGF0Y2hJbnRl
bnQoV2ViRnJhbWUqIHNvdXJjZSwgY29uc3QgV2ViSW50ZW50UmVxdWVzdCYgcmVxdWUKICAgICAg
ICAgICAgICgqcG9ydHMpW2ldLT5kZXN0cm95KCk7CiAgICAgICAgIGRlbGV0ZSBwb3J0czsKICAg
ICB9CisKICAgICBpZiAoIXJlcXVlc3QuaW50ZW50KCkuc2VydmljZSgpLmlzRW1wdHkoKSkKICAg
ICAgICAgcHJpbnRmKCJFeHBsaWNpdCBpbnRlbnQgc2VydmljZTogJXNcbiIsIHJlcXVlc3QuaW50
ZW50KCkuc2VydmljZSgpLnNwZWMoKS5kYXRhKCkpOworCiAgICAgV2ViVmVjdG9yPFdlYlN0cmlu
Zz4gZXh0cmFzID0gcmVxdWVzdC5pbnRlbnQoKS5leHRyYXNOYW1lcygpOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgZXh0cmFzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIHByaW50ZigiRXh0
cmFzWyVzXSA9ICVzXG4iLCBleHRyYXNbaV0udXRmOCgpLmRhdGEoKSwKICAgICAgICAgICAgICAg
IHJlcXVlc3QuaW50ZW50KCkuZXh0cmFzVmFsdWUoZXh0cmFzW2ldKS51dGY4KCkuZGF0YSgpKTsK
ICAgICB9CisKKyAgICBXZWJWZWN0b3I8V2ViVVJMPiBzdWdnZXN0aW9ucyA9IHJlcXVlc3QuaW50
ZW50KCkuc3VnZ2VzdGlvbnMoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN1Z2dlc3Rp
b25zLnNpemUoKTsgKytpKQorICAgICAgICBwcmludGYoIkhhdmUgc3VnZ2VzdGlvbiAlc1xuIiwg
c3VnZ2VzdGlvbnNbaV0uc3BlYygpLmRhdGEoKSk7CiB9CiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRl
bGl2ZXJlZEludGVudFJlc3VsdChXZWJGcmFtZSogZnJhbWUsIGludCBpZCwgY29uc3QgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlJiBkYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50
ZW50cy93ZWItaW50ZW50cy1vYmotY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1vYmotY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJmMjlhMjk1YmNkNWNjNjMyYWU2YmQ0YzZjMWJhMDRkNjE5ZDMxNDEuLmFkOTE3Njg0ODc0
OGY1NTY4MzJmODAyMDE2MWQzMjEwZjI0MTkxZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dl
YmludGVudHMvd2ViLWludGVudHMtb2JqLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLW9iai1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKQEAgLTUsNiArNSw4IEBAIFJlY2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rpb24x
IHR5cGU9dGV4dC9wbGFpbitleHRyYXMKIEV4dHJhc1thXSA9IGIKIFJlY2VpdmVkIFdlYiBJbnRl
bnQ6IGFjdGlvbj1hY3Rpb24xIHR5cGU9dGV4dC9wbGFpbitwb3J0CiBIYXZlIDEgcG9ydHMKK1Jl
Y2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rpb24xIHR5cGU9dGV4dC9wbGFpbitzdWdnZXN0
aW9ucworSGF2ZSBzdWdnZXN0aW9uIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKQEAgLTQzLDQgKzQ1LDggQEAg
UEFTUyBuZXcgV2ViS2l0SW50ZW50KHsnYWN0aW9uJzonYScsJ3R5cGUnOidiJywnZXh0cmFzJzpb
J2EnLCdiJ119KSBkaWQgbm90IHRocm8KICogc2VudCBleHBsaWNpdCBpbnRlbnQKICogc2VudCBp
bnRlbnQgd2l0aCBleHRyYXMKICogc2VudCBpbnRlbnQgd2l0aCBwb3J0CitQQVNTIG5ldyBXZWJL
aXRJbnRlbnQoYmFkUG9ydEludGVudE9iaikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0NM
T05FX0VSUjogRE9NIEV4Y2VwdGlvbiAyNS4KK1BBU1MgbmV3IFdlYktpdEludGVudChzdWdnZXN0
aW9uc0ludGVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0
aW9uIDEyLgorUEFTUyBuZXcgV2ViS2l0SW50ZW50KHN1Z2dlc3Rpb25zSW50ZW50KSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCisqIHNlbnQgaW50
ZW50IHdpdGggc3VnZ2VzdGlvbnMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50
cy93ZWItaW50ZW50cy1vYmotY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVu
dHMvd2ViLWludGVudHMtb2JqLWNvbnN0cnVjdG9yLmh0bWwKaW5kZXggMGQwNjYyMmJiMTdmYjdj
OTA1MjVhM2RiMWMzMTBlMzYwODNjOGRjNC4uYTM1NmUzZGM0ZjJkMmU4Nzk5MjRhNTBmYzRiMDlk
ZTFjMWU1NGE5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50
cy1vYmotY29uc3RydWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1p
bnRlbnRzLW9iai1jb25zdHJ1Y3Rvci5odG1sCkBAIC05Miw2ICs5MiwzMiBAQAogICAgICAgICAg
ICAgICJ0cmFuc2ZlciI6W2NoYW5uZWwucG9ydDFdfSk7CiAgICAgICAgIG5hdmlnYXRvci53ZWJr
aXRTdGFydEFjdGl2aXR5KHBvcnRJbnRlbnQpOwogICAgICAgICBkZWJ1ZygiKiBzZW50IGludGVu
dCB3aXRoIHBvcnQiKTsKKworICAgICAgICAvLyBQb3J0cywgaWYgcHJlc2VudCwgbXVzdCBiZSBw
dXQgaW4gfHRyYW5zZmVyfC4KKyAgICAgICAgdmFyIGJhZGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNo
YW5uZWwoKTsKKyAgICAgICAgYmFkY2hhbm5lbC5wb3J0Mi5vbk1lc3NhZ2UgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIGRlYnVnKCIqIGdvdCBtZXNzYWdlIik7CisgICAgICAgIH0KKyAgICAg
ICAgYmFkUG9ydEludGVudE9iaiA9IAorICAgICAgICAgICAgeyJhY3Rpb24iOiJhY3Rpb24xIiwK
KyAgICAgICAgICAgICAidHlwZSI6InRleHQvcGxhaW4rYmFkcG9ydCIsCisgICAgICAgICAgICAg
ImRhdGEiOmJhZGNoYW5uZWwucG9ydDF9OworICAgICAgICBzaG91bGRUaHJvdygibmV3IFdlYktp
dEludGVudChiYWRQb3J0SW50ZW50T2JqKSIsICInRXJyb3I6IERBVEFfQ0xPTkVfRVJSOiBET00g
RXhjZXB0aW9uIDI1JyIpOworCisgICAgICAgIHN1Z2dlc3Rpb25zSW50ZW50ID0KKyAgICAgICAg
ICAgIHsiYWN0aW9uIjoiYWN0aW9uMSIsCisgICAgICAgICAgICAgInR5cGUiOiJ0ZXh0L3BsYWlu
K3N1Z2dlc3Rpb25zIiwKKyAgICAgICAgICAgICAiZGF0YSI6Im1lc3NhZ2UiLAorICAgICAgICAg
ICAgICJzdWdnZXN0aW9ucyI6WyJ3d3cuZXhhbXBsZS5jb20vIiwgImh0dHA6Ly93dzIuZXhhbXBs
ZS5jb20iXX07CisgICAgICAgIHNob3VsZFRocm93KCJuZXcgV2ViS2l0SW50ZW50KHN1Z2dlc3Rp
b25zSW50ZW50KSIsICInRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTInIik7CisK
KyAgICAgICAgc3VnZ2VzdGlvbnNJbnRlbnQuc3VnZ2VzdGlvbnMgPSBbMTVdOworICAgICAgICBz
aG91bGRUaHJvdygibmV3IFdlYktpdEludGVudChzdWdnZXN0aW9uc0ludGVudCkiLCAiJ0Vycm9y
OiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyJyIpOworCisgICAgICAgIHN1Z2dlc3Rpb25z
SW50ZW50LnN1Z2dlc3Rpb25zID0gWyJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyJdOworICAgICAg
ICBuYXZpZ2F0b3Iud2Via2l0U3RhcnRBY3Rpdml0eShuZXcgV2ViS2l0SW50ZW50KHN1Z2dlc3Rp
b25zSW50ZW50KSk7CisgICAgICAgIGRlYnVnKCIqIHNlbnQgaW50ZW50IHdpdGggc3VnZ2VzdGlv
bnMiKTsKKwogICAgIH0KICAgICA8L3NjcmlwdD4KICAgPC9oZWFkPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>