<?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>17115</bug_id>
          
          <creation_ts>2008-01-31 08:09:33 -0800</creation_ts>
          <short_desc>[GTK] Provide asynchonous response mechanism</short_desc>
          <delta_ts>2008-02-13 04:32:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>16562</blocked>
    
    <blocked>16947</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>christian</cc>
    
    <cc>lethalman88</cc>
    
    <cc>tofu.linden</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68914</commentid>
    <comment_count>0</comment_count>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-01-31 08:09:33 -0800</bug_when>
    <thetext>We need an asynchronous response system so we don&apos;t lock the application while waiting for a response from the user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68915</commentid>
    <comment_count>1</comment_count>
      <attachid>18815</attachid>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-01-31 08:11:49 -0800</bug_when>
    <thetext>Created attachment 18815
WebKitResponseListener

This implements the requested mechanism.  Original works by Luca Bruno.  
Each responses enum (to pass as a WebKitListenerResponse) shall be defined in the header file of the object that needs a response.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68921</commentid>
    <comment_count>2</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-01-31 09:01:57 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=18815) [edit]
&gt; WebKitResponseListener

&gt; +typedef int64_t WebKitListenerResponse;

I find this name confusing. If the intent is to prevent redundancy, it really should be &apos;WebKitResponseFoo&apos;. Perhaps &apos;WebKitResponseAction&apos;?

Otherwise I appreciate that you are bringing this forward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68928</commentid>
    <comment_count>3</comment_count>
    <who name="Luca Bruno">lethalman88</who>
    <bug_when>2008-01-31 10:02:55 -0800</bug_when>
    <thetext>&gt; &gt; +typedef int64_t WebKitListenerResponse;
&gt; 
&gt; I find this name confusing. If the intent is to prevent redundancy, it really
&gt; should be &apos;WebKitResponseFoo&apos;. Perhaps &apos;WebKitResponseAction&apos;?
&gt; 
&gt; Otherwise I appreciate that you are bringing this forward.
&gt; 

I do agree, it&apos;s confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69349</commentid>
    <comment_count>4</comment_count>
      <attachid>18907</attachid>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-02-04 08:15:32 -0800</bug_when>
    <thetext>Created attachment 18907
Name changes

Complete name changes.  Alp Toker suggested WebKitWebDecision instead of WebKitResponseListener.  His argument was that Response could be mistaken for a HTTP or DocumentLoader response.  Decision is used in WebPolicyDecisionListener on the Mac, making it a good replacement choice.

I changed _reply to _send since we don&apos;t reply to a decision but send it to the requester.  I also renamed WebKitListenerResponse to WebKitWebDecisionValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69399</commentid>
    <comment_count>5</comment_count>
      <attachid>18907</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-02-04 15:02:39 -0800</bug_when>
    <thetext>Comment on attachment 18907
Name changes

This look generally ok to me.  There are some minor issues with naming and the documentation that were mentioned on IRC, so a further revision of the patch with tweaks to those aspects would be great before landing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69411</commentid>
    <comment_count>6</comment_count>
      <attachid>18922</attachid>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-02-04 16:04:49 -0800</bug_when>
    <thetext>Created attachment 18922
Applied comments

Addressed some final comments:
* Apply correct CamelCase in the cpp file
* Use decision-&gt;priv instead of the macro
* improve documentation
* use g_int64
* make it build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69447</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-02-04 23:53:46 -0800</bug_when>
    <thetext>A few things that came up when discussing this patch with Alp:
* The definition + use of webkit_web_decision_finalize appears to be unnecessary.
* webkit_web_decision_new should not be part of the API as it would only be used by WebKit.
* &quot;typedef struct _WebKitWebDecision WebKitWebDecision&quot; and friends should live on webkitdefines.h alongside other similar typedefs.

Alp also raised the issue of how well a enum-based approach would map to some language bindings.  One possible alternative could be to have a WebDecision class with subclasses for each of the types of decisions that would be requested (eg, WebPolicyDecision) which exposes methods which should be called  when the decision has been made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69448</commentid>
    <comment_count>8</comment_count>
      <attachid>18922</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-02-04 23:54:36 -0800</bug_when>
    <thetext>Comment on attachment 18922
Applied comments

Going to say r- so the issues raised can be considered further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69467</commentid>
    <comment_count>9</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-02-05 05:53:26 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; * webkit_web_decision_new should not be part of the API as it would only be
&gt; used by WebKit.

I imagine the intent of making that public was to allow the client to add its own custom decisions. However the idea of using subclasses sounds interesting and would elegantly cover this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69468</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-02-05 06:31:18 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; * webkit_web_decision_new should not be part of the API as it would only be
&gt; &gt; used by WebKit.
&gt; 
&gt; I imagine the intent of making that public was to allow the client to add its
&gt; own custom decisions.

I don&apos;t think is something we need to consider.  Providing a completely generic asynchronous response API is beyond the scope of the functionality WebKit should provide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69613</commentid>
    <comment_count>11</comment_count>
    <who name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</who>
    <bug_when>2008-02-06 15:24:52 -0800</bug_when>
    <thetext>This approach has been deprecated in favour of per usage specific listener ie. WekitWebPolicyDecision that will require no enums to ease binding writing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70511</commentid>
    <comment_count>12</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-02-13 04:32:43 -0800</bug_when>
    <thetext>See bug #16562 for new ideas on async API</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18815</attachid>
            <date>2008-01-31 08:11:49 -0800</date>
            <delta_ts>2008-02-04 08:15:32 -0800</delta_ts>
            <desc>WebKitResponseListener</desc>
            <filename>response-listener.patch</filename>
            <type>text/plain</type>
            <size>8130</size>
            <attacher name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hh
bmdlTG9nCShyw6l2aXNpb24gMjk4ODQpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkoY29waWUg
ZGUgdHJhdmFpbCkKQEAgLTEsMyArMSwxOSBAQAorMjAwOC0wMS0zMSAgUGllcnJlLUx1YyBCZWF1
ZG9pbiAgPHBpZXJyZS1sdWMuYmVhdWRvaW5AY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29tcGxldGVz
IHRoZSBlYXJseSB3b3JrcyBvZiBMdWNhIEJydW5vLiAgSXQgcHJvdmlkZXMgYSAKKyAgICAgICAg
YXN5bmNocm9ub3VzIHJlc3BvbnNlIG1lY2hhbmlzbSB0byBzaWduYWxzIG9yIGNhbGxiYWNrcy4K
KworICAgICAgICAqIFdlYlZpZXcvd2Via2l0Lmg6CisgICAgICAgICogV2ViVmlldy93ZWJraXRy
ZXNwb25zZWxpc3RlbmVyLmNwcDogQWRkZWQuCisgICAgICAgIChfV2ViS2l0UmVzcG9uc2VMaXN0
ZW5lclByaXZhdGU6OndlYmtpdF9yZXNwb25zZV9saXN0ZW5lcl9maW5hbGl6ZSk6CisgICAgICAg
IChfV2ViS2l0UmVzcG9uc2VMaXN0ZW5lclByaXZhdGU6OndlYmtpdF9yZXNwb25zZV9saXN0ZW5l
cl9jbGFzc19pbml0KToKKyAgICAgICAgKF9XZWJLaXRSZXNwb25zZUxpc3RlbmVyUHJpdmF0ZTo6
d2Via2l0X3Jlc3BvbnNlX2xpc3RlbmVyX2luaXQpOgorICAgICAgICAoX1dlYktpdFJlc3BvbnNl
TGlzdGVuZXJQcml2YXRlOjp3ZWJraXRfcmVzcG9uc2VfbGlzdGVuZXJfbmV3KToKKyAgICAgICAg
KF9XZWJLaXRSZXNwb25zZUxpc3RlbmVyUHJpdmF0ZTo6d2Via2l0X3Jlc3BvbnNlX2xpc3RlbmVy
X3JlcGx5KToKKyAgICAgICAgKiBXZWJWaWV3L3dlYmtpdHJlc3BvbnNlbGlzdGVuZXIuaDogQWRk
ZWQuCisKIDIwMDgtMDEtMjcgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHVucGx1Z2dh
YmxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbHAgVG9rZXIuCkluZGV4OiBXZWJLaXQv
Z3RrL1dlYlZpZXcvd2Via2l0cmVzcG9uc2VsaXN0ZW5lci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2d0ay9XZWJWaWV3L3dlYmtpdHJlc3BvbnNlbGlzdGVuZXIuY3BwCShyw6l2aXNpb24gMCkK
KysrIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXRyZXNwb25zZWxpc3RlbmVyLmNwcAkocsOpdmlz
aW9uIDApCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVjYSBC
cnVubyA8bGV0aGFsbWFuODhAZ21haWwuY29tPiAKKyAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xs
YWJvcmEsIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aW5jbHVkZSAid2Via2l0cmVzcG9uc2VsaXN0ZW5lci5oIgorI2luY2x1ZGUgIndlYmtpdHByaXZh
dGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCitleHRlcm4gIkMiIHsKKworR19ERUZJTkVfVFlQRShXZWJLaXRSZXNwb25zZUxpc3RlbmVy
LCB3ZWJraXRfcmVzcG9uc2VfbGlzdGVuZXIsIEdfVFlQRV9PQkpFQ1QpOworCitzdHJ1Y3QgX1dl
YktpdFJlc3BvbnNlTGlzdGVuZXJQcml2YXRlIHsKKyAgICBXZWJLaXRSZXNwb25zZUNhbGxiYWNr
IGNhbGxiYWNrX2Z1bmM7CisgICAgZ3BvaW50ZXIgdXNlcl9kYXRhOworfTsKKworI2RlZmluZSBX
RUJLSVRfUkVTUE9OU0VfTElTVEVORVJfR0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RB
TkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUiwgV2Vi
S2l0UmVzcG9uc2VMaXN0ZW5lclByaXZhdGUpKQorCitzdGF0aWMgdm9pZCB3ZWJraXRfcmVzcG9u
c2VfbGlzdGVuZXJfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQoreworICAgIEdfT0JKRUNUX0NM
QVNTKHdlYmtpdF9yZXNwb25zZV9saXN0ZW5lcl9wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZShvYmpl
Y3QpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRfcmVzcG9uc2VfbGlzdGVuZXJfY2xhc3NfaW5p
dChXZWJLaXRSZXNwb25zZUxpc3RlbmVyQ2xhc3MqIGxpc3RlbmVyQ2xhc3MpCit7CisgICAgZ190
eXBlX2NsYXNzX2FkZF9wcml2YXRlKGxpc3RlbmVyQ2xhc3MsIHNpemVvZihXZWJLaXRSZXNwb25z
ZUxpc3RlbmVyUHJpdmF0ZSkpOworCisgICAgR19PQkpFQ1RfQ0xBU1MobGlzdGVuZXJDbGFzcykt
PmZpbmFsaXplID0gd2Via2l0X3Jlc3BvbnNlX2xpc3RlbmVyX2ZpbmFsaXplOworfQorCitzdGF0
aWMgdm9pZCB3ZWJraXRfcmVzcG9uc2VfbGlzdGVuZXJfaW5pdChXZWJLaXRSZXNwb25zZUxpc3Rl
bmVyKiBsaXN0ZW5lcikKK3sKK30KKworLyoqCisgKiB3ZWJraXRfcmVzcG9uc2VfbGlzdGVuZXJf
bmV3CisgKiBAY2FsbGJhY2tfZnVuYzogYSAjV2ViS2l0UmVzcG9uc2VDYWxsYmFjaworICogQHVz
ZXJfZGF0YTogYSAjZ3BvaW50ZXIKKyAqCisgKiBDcmVhdGVzIGEgbmV3IGFzeW5jaHJvbm91cyBy
ZXNwb25zZSBsaXN0ZW5lci4gIAorICovCitXZWJLaXRSZXNwb25zZUxpc3RlbmVyKiB3ZWJraXRf
cmVzcG9uc2VfbGlzdGVuZXJfbmV3KFdlYktpdFJlc3BvbnNlQ2FsbGJhY2sgY2FsbGJhY2tfZnVu
YywgZ3BvaW50ZXIgdXNlcl9kYXRhKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGNhbGxi
YWNrX2Z1bmMsIE5VTEwpOworCisgICAgV2ViS2l0UmVzcG9uc2VMaXN0ZW5lciogbGlzdGVuZXIg
PSBXRUJLSVRfUkVTUE9OU0VfTElTVEVORVIoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1JFU1BP
TlNFX0xJU1RFTkVSLCBOVUxMKSk7CisgICAgV2ViS2l0UmVzcG9uc2VMaXN0ZW5lclByaXZhdGUq
IHByaXYgPSBXRUJLSVRfUkVTUE9OU0VfTElTVEVORVJfR0VUX1BSSVZBVEUobGlzdGVuZXIpOwor
CisgICAgcHJpdi0+Y2FsbGJhY2tfZnVuYyA9IGNhbGxiYWNrX2Z1bmM7CisgICAgcHJpdi0+dXNl
cl9kYXRhID0gdXNlcl9kYXRhOworCisgICAgcmV0dXJuIGxpc3RlbmVyOworfQorCisvKioKKyAq
IHdlYmtpdF9yZXNwb25zZV9saXN0ZW5lcl9yZXBseQorICogQGxpc3RlbmVyOiBhICNXZWJLaXRS
ZXNwb25zZUxpc3RlbmVyCisgKiBAcmVzcG9uc2U6IGEgI1dlYktpdExpc3RlbmVyUmVzcG9uc2UK
KyAqCisgKiBXaWxsIHNlbmQgZ2l2ZW4gV2ViS2l0TGlzdGVuZXJSZXNwb25zZSB0byB0aGUgcmVx
dWVzdGVyLgorICovCit2b2lkIHdlYmtpdF9yZXNwb25zZV9saXN0ZW5lcl9yZXBseShXZWJLaXRS
ZXNwb25zZUxpc3RlbmVyKiBsaXN0ZW5lciwgV2ViS2l0TGlzdGVuZXJSZXNwb25zZSByZXNwb25z
ZSkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19SRVNQT05TRV9MSVNURU5FUihs
aXN0ZW5lcikpOworCisgICAgV2ViS2l0UmVzcG9uc2VMaXN0ZW5lclByaXZhdGUqIHByaXYgPSBX
RUJLSVRfUkVTUE9OU0VfTElTVEVORVJfR0VUX1BSSVZBVEUobGlzdGVuZXIpOworICAgIAorICAg
IHByaXYtPmNhbGxiYWNrX2Z1bmMobGlzdGVuZXIsIHJlc3BvbnNlLCBsaXN0ZW5lclByaXZhdGUt
PnVzZXJfZGF0YSk7Cit9CisKK30KSW5kZXg6IFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXRyZXNw
b25zZWxpc3RlbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHJl
c3BvbnNlbGlzdGVuZXIuaAkocsOpdmlzaW9uIDApCisrKyBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Vi
a2l0cmVzcG9uc2VsaXN0ZW5lci5oCShyw6l2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOCBMdWNhIEJydW5vIDxsZXRoYWxtYW44OEBnbWFpbC5jb20+
IAorICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaWZuZGVmIFdFQktJVF9SRVNQT05TRV9MSVNURU5FUl9ICisjZGVmaW5lIFdFQktJVF9S
RVNQT05TRV9MSVNURU5FUl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxnbGli
LW9iamVjdC5oPgorCisjaW5jbHVkZSAid2Via2l0ZGVmaW5lcy5oIgorCitHX0JFR0lOX0RFQ0xT
CisKKyNkZWZpbmUgV0VCS0lUX1RZUEVfUkVTUE9OU0VfTElTVEVORVIgICAgICAgICAgICAod2Vi
a2l0X3Jlc3BvbnNlX2xpc3RlbmVyX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9SRVNQT05T
RV9MSVNURU5FUihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChv
YmopLCBXRUJLSVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUiwgV2ViS2l0UmVzcG9uc2VMaXN0ZW5l
cikpCisjZGVmaW5lIFdFQktJVF9SRVNQT05TRV9MSVNURU5FUl9DTEFTUyhrbGFzcykgICAgKEdf
VFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9SRVNQT05TRV9MSVNU
RU5FUiwgV2ViS2l0UmVzcG9uc2VMaXN0ZW5lckNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0lTX1JF
U1BPTlNFX0xJU1RFTkVSKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUo
KG9iaiksIFdFQktJVF9UWVBFX1JFU1BPTlNFX0xJU1RFTkVSKSkKKyNkZWZpbmUgV0VCS0lUX0lT
X1JFU1BPTlNFX0xJU1RFTkVSX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUo
KGtsYXNzKSwgIFdFQktJVF9UWVBFX1JFU1BPTlNFX0xJU1RFTkVSKSkKKyNkZWZpbmUgV0VCS0lU
X1JFU1BPTlNFX0xJU1RFTkVSX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9D
TEFTUygob2JqKSwgIFdFQktJVF9UWVBFX1JFU1BPTlNFX0xJU1RFTkVSLCBXZWJLaXRSZXNwb25z
ZUxpc3RlbmVyQ2xhc3MpKQorCit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0UmVzcG9uc2VMaXN0ZW5l
ciBXZWJLaXRSZXNwb25zZUxpc3RlbmVyOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFJlc3BvbnNl
TGlzdGVuZXJDbGFzcyBXZWJLaXRSZXNwb25zZUxpc3RlbmVyQ2xhc3M7Cit0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0UmVzcG9uc2VMaXN0ZW5lclByaXZhdGUgV2ViS2l0UmVzcG9uc2VMaXN0ZW5lclBy
aXZhdGU7CisKK3N0cnVjdCBfV2ViS2l0UmVzcG9uc2VMaXN0ZW5lciB7CisgICAgR09iamVjdCBw
YXJlbnQ7Cit9OworCitzdHJ1Y3QgX1dlYktpdFJlc3BvbnNlTGlzdGVuZXJDbGFzcyB7CisgICAg
R09iamVjdENsYXNzIHBhcmVudDsKK307CisKK3R5cGVkZWYgaW50NjRfdCBXZWJLaXRMaXN0ZW5l
clJlc3BvbnNlOworCit0eXBlZGVmIHZvaWQgKCpXZWJLaXRSZXNwb25zZUNhbGxiYWNrKSAoV2Vi
S2l0UmVzcG9uc2VMaXN0ZW5lciosIFdlYktpdExpc3RlbmVyUmVzcG9uc2UsIGdwb2ludGVyKTsK
KworV0VCS0lUX0FQSSBHVHlwZQord2Via2l0X3Jlc3BvbnNlX2xpc3RlbmVyX2dldF90eXBlICh2
b2lkKTsKKworV0VCS0lUX0FQSSBXZWJLaXRSZXNwb25zZUxpc3RlbmVyKgord2Via2l0X3Jlc3Bv
bnNlX2xpc3RlbmVyX25ldyAoV2ViS2l0UmVzcG9uc2VDYWxsYmFjayBjYWxsYmFjaywgZ3BvaW50
ZXIgZGF0YSk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3Jlc3BvbnNlX2xpc3RlbmVyX3Jl
cGx5IChXZWJLaXRSZXNwb25zZUxpc3RlbmVyKiBsaXN0ZW5lciwgV2ViS2l0TGlzdGVuZXJSZXNw
b25zZSByZXNwb25zZSk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpJbmRleDogV2ViS2l0L2d0
ay9XZWJWaWV3L3dlYmtpdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViVmlldy93ZWJr
aXQuaAkocsOpdmlzaW9uIDI5ODg0KQorKysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdC5oCShj
b3BpZSBkZSB0cmF2YWlsKQpAQCAtMSw1ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBMdWNh
IEJydW5vIDxsZXRoYWxtYW44OEBnbWFpbC5jb20+IAorICogQ29weXJpZ2h0IChDKSAyMDA4IENv
bGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yMiw2ICsyNCw3IEBACiAKICNpbmNsdWRlIDx3ZWJraXRkZWZpbmVzLmg+CiAjaW5jbHVkZSA8
d2Via2l0bmV0d29ya3JlcXVlc3QuaD4KKyNpbmNsdWRlIDx3ZWJraXRyZXNwb25zZWxpc3RlbmVy
Lmg+CiAjaW5jbHVkZSA8d2Via2l0d2ViZnJhbWUuaD4KICNpbmNsdWRlIDx3ZWJraXR3ZWJzZXR0
aW5ncy5oPgogI2luY2x1ZGUgPHdlYmtpdHdlYnZpZXcuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18907</attachid>
            <date>2008-02-04 08:15:32 -0800</date>
            <delta_ts>2008-02-04 23:48:56 -0800</delta_ts>
            <desc>Name changes</desc>
            <filename>response-listener-2.patch</filename>
            <type>text/plain</type>
            <size>7778</size>
            <attacher name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hh
bmdlTG9nCShyw6l2aXNpb24gMjk4ODQpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkoY29waWUg
ZGUgdHJhdmFpbCkKQEAgLTEsMyArMSwxOSBAQAorMjAwOC0wMS0zMSAgUGllcnJlLUx1YyBCZWF1
ZG9pbiAgPHBpZXJyZS1sdWMuYmVhdWRvaW5AY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29tcGxldGVz
IHRoZSBlYXJseSB3b3JrcyBvZiBMdWNhIEJydW5vLiAgSXQgcHJvdmlkZXMgYSAKKyAgICAgICAg
YXN5bmNocm9ub3VzIHZhbHVlIG1lY2hhbmlzbSB0byBzaWduYWxzIG9yIGNhbGxiYWNrcy4KKwor
ICAgICAgICAqIFdlYlZpZXcvd2Via2l0Lmg6CisgICAgICAgICogV2ViVmlldy93ZWJraXR3ZWJk
ZWNpc2lvbi5jcHA6IEFkZGVkLgorICAgICAgICAoX1dlYktpdFdlYkRlY2lzaW9uUHJpdmF0ZTo6
d2Via2l0X3dlYl9kZWNpc2lvbl9maW5hbGl6ZSk6CisgICAgICAgIChfV2ViS2l0V2ViRGVjaXNp
b25Qcml2YXRlOjp3ZWJraXRfd2ViX2RlY2lzaW9uX2NsYXNzX2luaXQpOgorICAgICAgICAoX1dl
YktpdFdlYkRlY2lzaW9uUHJpdmF0ZTo6d2Via2l0X3dlYl9kZWNpc2lvbl9pbml0KToKKyAgICAg
ICAgKF9XZWJLaXRXZWJEZWNpc2lvblByaXZhdGU6OndlYmtpdF93ZWJfZGVjaXNpb25fbmV3KToK
KyAgICAgICAgKF9XZWJLaXRXZWJEZWNpc2lvblByaXZhdGU6OndlYmtpdF93ZWJfZGVjaXNpb25f
c2VuZCk6CisgICAgICAgICogV2ViVmlldy93ZWJraXR3ZWJkZWNpc2lvbi5oOiBBZGRlZC4KKwog
MjAwOC0wMS0yNyAgSmFuIE1pY2hhZWwgQWxvbnpvICA8am1hbG9uem9AdW5wbHVnZ2FibGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFscCBUb2tlci4KSW5kZXg6IFdlYktpdC9ndGsvV2Vi
Vmlldy93ZWJraXR3ZWJkZWNpc2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJW
aWV3L3dlYmtpdHdlYmRlY2lzaW9uLmNwcAkocsOpdmlzaW9uIDApCisrKyBXZWJLaXQvZ3RrL1dl
YlZpZXcvd2Via2l0d2ViZGVjaXNpb24uY3BwCShyw6l2aXNpb24gMCkKQEAgLTAsMCArMSw5MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMdWNhIEJydW5vIDxsZXRoYWxtYW44OEBnbWFp
bC5jb20+IAorICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJ3ZWJraXR3ZWJkZWNp
c2lvbi5oIgorI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitleHRlcm4gIkMiIHsKKworR19ERUZJ
TkVfVFlQRShXZWJLaXRXZWJEZWNpc2lvbiwgd2Via2l0X3dlYl9kZWNpc2lvbiwgR19UWVBFX09C
SkVDVCk7CisKK3N0cnVjdCBfV2ViS2l0V2ViRGVjaXNpb25Qcml2YXRlIHsKKyAgICBXZWJLaXRX
ZWJEZWNpc2lvbkNhbGxiYWNrIGNhbGxiYWNrX2Z1bmM7CisgICAgZ3BvaW50ZXIgdXNlcl9kYXRh
OworfTsKKworI2RlZmluZSBXRUJLSVRfV0VCX0RFQ0lTSU9OX0dFVF9QUklWQVRFKG9iaikgICAg
KEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfUkVTUE9OU0Vf
TElTVEVORVIsIFdlYktpdFdlYkRlY2lzaW9uUHJpdmF0ZSkpCisKK3N0YXRpYyB2b2lkIHdlYmtp
dF93ZWJfZGVjaXNpb25fZmluYWxpemUoR09iamVjdCogb2JqZWN0KQoreworICAgIEdfT0JKRUNU
X0NMQVNTKHdlYmtpdF93ZWJfZGVjaXNpb25fcGFyZW50X2NsYXNzKS0+ZmluYWxpemUob2JqZWN0
KTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0X3dlYl9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktp
dFdlYkRlY2lzaW9uQ2xhc3MqIGRlY2lzaW9uQ2xhc3MpCit7CisgICAgZ190eXBlX2NsYXNzX2Fk
ZF9wcml2YXRlKGRlY2lzaW9uQ2xhc3MsIHNpemVvZihXZWJLaXRXZWJEZWNpc2lvblByaXZhdGUp
KTsKKworICAgIEdfT0JKRUNUX0NMQVNTKGRlY2lzaW9uQ2xhc3MpLT5maW5hbGl6ZSA9IHdlYmtp
dF93ZWJfZGVjaXNpb25fZmluYWxpemU7Cit9CisKK3N0YXRpYyB2b2lkIHdlYmtpdF93ZWJfZGVj
aXNpb25faW5pdChXZWJLaXRXZWJEZWNpc2lvbiogZGVjaXNpb24pCit7Cit9CisKKy8qKgorICog
d2Via2l0X3dlYl9kZWNpc2lvbl9uZXcKKyAqIEBjYWxsYmFja19mdW5jOiBhICNXZWJLaXRXZWJE
ZWNpc2lvbkNhbGxiYWNrCisgKiBAdXNlcl9kYXRhOiBhICNncG9pbnRlcgorICoKKyAqIENyZWF0
ZXMgYSBuZXcgYXN5bmNocm9ub3VzIHZhbHVlIGRlY2lzaW9uLiAgCisgKi8KK1dlYktpdFdlYkRl
Y2lzaW9uKiB3ZWJraXRfd2ViX2RlY2lzaW9uX25ldyhXZWJLaXRXZWJEZWNpc2lvbkNhbGxiYWNr
IGNhbGxiYWNrX2Z1bmMsIGdwb2ludGVyIHVzZXJfZGF0YSkKK3sKKyAgICBnX3JldHVybl92YWxf
aWZfZmFpbChjYWxsYmFja19mdW5jLCBOVUxMKTsKKworICAgIFdlYktpdFdlYkRlY2lzaW9uKiBk
ZWNpc2lvbiA9IFdFQktJVF9XRUJfREVDSVNJT04oZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1JF
U1BPTlNFX0xJU1RFTkVSLCBOVUxMKSk7CisgICAgV2ViS2l0V2ViRGVjaXNpb25Qcml2YXRlKiBw
cml2ID0gV0VCS0lUX1dFQl9ERUNJU0lPTl9HRVRfUFJJVkFURShkZWNpc2lvbik7CisKKyAgICBw
cml2LT5jYWxsYmFja19mdW5jID0gY2FsbGJhY2tfZnVuYzsKKyAgICBwcml2LT51c2VyX2RhdGEg
PSB1c2VyX2RhdGE7CisKKyAgICByZXR1cm4gZGVjaXNpb247Cit9CisKKy8qKgorICogd2Via2l0
X3dlYl9kZWNpc2lvbl9zZW5kCisgKiBAZGVjaXNpb246IGEgI1dlYktpdFdlYkRlY2lzaW9uCisg
KiBAdmFsdWU6IGEgI1dlYktpdFdlYkRlY2lzaW9uVmFsdWUKKyAqCisgKiBXaWxsIHNlbmQgZ2l2
ZW4gV2ViS2l0V2ViRGVjaXNpb25WYWx1ZSB0byB0aGUgcmVxdWVzdGVyLgorICovCit2b2lkIHdl
YmtpdF93ZWJfZGVjaXNpb25fc2VuZChXZWJLaXRXZWJEZWNpc2lvbiogZGVjaXNpb24sIFdlYktp
dFdlYkRlY2lzaW9uVmFsdWUgdmFsdWUpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfUkVTUE9OU0VfTElTVEVORVIoZGVjaXNpb24pKTsKKworICAgIFdlYktpdFdlYkRlY2lzaW9u
UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfREVDSVNJT05fR0VUX1BSSVZBVEUoZGVjaXNpb24p
OworICAgIAorICAgIHByaXYtPmNhbGxiYWNrX2Z1bmMoZGVjaXNpb24sIHZhbHVlLCBsaXN0ZW5l
clByaXZhdGUtPnVzZXJfZGF0YSk7Cit9CisKK30KSW5kZXg6IFdlYktpdC9ndGsvV2ViVmlldy93
ZWJraXR3ZWJkZWNpc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViVmlldy93ZWJr
aXR3ZWJkZWNpc2lvbi5oCShyw6l2aXNpb24gMCkKKysrIFdlYktpdC9ndGsvV2ViVmlldy93ZWJr
aXR3ZWJkZWNpc2lvbi5oCShyw6l2aXNpb24gMCkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwOCBMdWNhIEJydW5vIDxsZXRoYWxtYW44OEBnbWFpbC5jb20+IAorICog
Q29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aWZuZGVmIFdFQktJVF9XRUJfREVDSVNJT05fSAorI2RlZmluZSBXRUJLSVRfV0VCX0RFQ0lTSU9O
X0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisKKyNp
bmNsdWRlICJ3ZWJraXRkZWZpbmVzLmgiCisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBXRUJL
SVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUiAgICAgICAgICAgICh3ZWJraXRfd2ViX2RlY2lzaW9u
X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9XRUJfREVDSVNJT04ob2JqKSAgICAgICAgICAg
IChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfUkVTUE9OU0Vf
TElTVEVORVIsIFdlYktpdFdlYkRlY2lzaW9uKSkKKyNkZWZpbmUgV0VCS0lUX1dFQl9ERUNJU0lP
Tl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJL
SVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUiwgV2ViS2l0V2ViRGVjaXNpb25DbGFzcykpCisjZGVm
aW5lIFdFQktJVF9JU19SRVNQT05TRV9MSVNURU5FUihvYmopICAgICAgICAgKEdfVFlQRV9DSEVD
S19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUikpCisj
ZGVmaW5lIFdFQktJVF9JU19SRVNQT05TRV9MSVNURU5FUl9DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9SRVNQT05TRV9MSVNURU5FUikp
CisjZGVmaW5lIFdFQktJVF9XRUJfREVDSVNJT05fR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5T
VEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfUkVTUE9OU0VfTElTVEVORVIsIFdl
YktpdFdlYkRlY2lzaW9uQ2xhc3MpKQorCit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViRGVjaXNp
b24gV2ViS2l0V2ViRGVjaXNpb247Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2ViRGVjaXNpb25D
bGFzcyBXZWJLaXRXZWJEZWNpc2lvbkNsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkRl
Y2lzaW9uUHJpdmF0ZSBXZWJLaXRXZWJEZWNpc2lvblByaXZhdGU7CisKK3N0cnVjdCBfV2ViS2l0
V2ViRGVjaXNpb24geworICAgIEdPYmplY3QgcGFyZW50OworfTsKKworc3RydWN0IF9XZWJLaXRX
ZWJEZWNpc2lvbkNsYXNzIHsKKyAgICBHT2JqZWN0Q2xhc3MgcGFyZW50OworfTsKKwordHlwZWRl
ZiBpbnQ2NF90IFdlYktpdFdlYkRlY2lzaW9uVmFsdWU7CisKK3R5cGVkZWYgdm9pZCAoKldlYktp
dFdlYkRlY2lzaW9uQ2FsbGJhY2spIChXZWJLaXRXZWJEZWNpc2lvbiosIFdlYktpdFdlYkRlY2lz
aW9uVmFsdWUsIGdwb2ludGVyKTsKKworV0VCS0lUX0FQSSBHVHlwZQord2Via2l0X3dlYl9kZWNp
c2lvbl9nZXRfdHlwZSAodm9pZCk7CisKK1dFQktJVF9BUEkgV2ViS2l0V2ViRGVjaXNpb24qCit3
ZWJraXRfd2ViX2RlY2lzaW9uX25ldyAoV2ViS2l0V2ViRGVjaXNpb25DYWxsYmFjayBjYWxsYmFj
aywgZ3BvaW50ZXIgZGF0YSk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYl9kZWNpc2lv
bl9zZW5kIChXZWJLaXRXZWJEZWNpc2lvbiogZGVjaXNpb24sIFdlYktpdFdlYkRlY2lzaW9uVmFs
dWUgdmFsdWUpOworCitHX0VORF9ERUNMUworCisjZW5kaWYKSW5kZXg6IFdlYktpdC9ndGsvV2Vi
Vmlldy93ZWJraXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0LmgJ
KHLDqXZpc2lvbiAyOTg4NCkKKysrIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXQuaAkoY29waWUg
ZGUgdHJhdmFpbCkKQEAgLTEsNSArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFs
cCBUb2tlciA8YWxwQGF0b2tlci5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVjYSBCcnVu
byA8bGV0aGFsbWFuODhAZ21haWwuY29tPiAKKyAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJv
cmEsIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjIs
NiArMjQsNyBAQAogCiAjaW5jbHVkZSA8d2Via2l0ZGVmaW5lcy5oPgogI2luY2x1ZGUgPHdlYmtp
dG5ldHdvcmtyZXF1ZXN0Lmg+CisjaW5jbHVkZSA8d2Via2l0d2ViZGVjaXNpb24uaD4KICNpbmNs
dWRlIDx3ZWJraXR3ZWJmcmFtZS5oPgogI2luY2x1ZGUgPHdlYmtpdHdlYnNldHRpbmdzLmg+CiAj
aW5jbHVkZSA8d2Via2l0d2Vidmlldy5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18922</attachid>
            <date>2008-02-04 16:04:49 -0800</date>
            <delta_ts>2008-02-04 23:54:36 -0800</delta_ts>
            <desc>Applied comments</desc>
            <filename>response-listener-3.patch</filename>
            <type>text/plain</type>
            <size>9251</size>
            <attacher name="Pierre-Luc Beaudoin">pierre-luc.beaudoin</attacher>
            
              <data encoding="base64">SW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyw6l2
aXNpb24gMjk4ODQpCisrKyBHTlVtYWtlZmlsZS5hbQkoY29waWUgZGUgdHJhdmFpbCkKQEAgLTIz
OCw2ICsyMzgsNyBAQAogCVdlYktpdC9ndGsvV2ViVmlldy93ZWJraXRkZWZpbmVzLmggXAogCVdl
YktpdC9ndGsvV2ViVmlldy93ZWJraXRuZXR3b3JrcmVxdWVzdC5oIFwKIAlXZWJLaXQvZ3RrL1dl
YlZpZXcvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmggXAorCVdlYktpdC9ndGsvV2ViVmlldy93
ZWJraXR3ZWJkZWNpc2lvbi5oIFwKIAlXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2ViZnJhbWUu
aCBcCiAJV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmggXAogCVdlYktp
dC9ndGsvV2ViVmlldy93ZWJraXR3ZWJzZXR0aW5ncy5oIFwKQEAgLTI2MSw2ICsyNjIsNyBAQAog
CVdlYktpdC9ndGsvV2ViVmlldy93ZWJraXRuZXR3b3JrcmVxdWVzdC5jcHAgXAogCVdlYktpdC9n
dGsvV2ViVmlldy93ZWJraXRwcml2YXRlLmNwcCBcCiAJV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtp
dHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAgXAorCVdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJk
ZWNpc2lvbi5jcHAgXAogCVdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJmcmFtZS5jcHAgXAog
CVdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAgXAogCVdlYktpdC9n
dGsvV2ViVmlldy93ZWJraXR3ZWJzZXR0aW5ncy5jcHAgXApJbmRleDogV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHLDqXZpc2lvbiAyOTk4
MSkKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMSwzICsx
LDE5IEBACisyMDA4LTAyLTA0ICBQaWVycmUtTHVjIEJlYXVkb2luICA8cGllcnJlLWx1Yy5iZWF1
ZG9pbkBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb21wbGV0ZXMgdGhlIGVhcmx5IHdvcmtzIG9mIEx1
Y2EgQnJ1bm8uICBJdCBwcm92aWRlcyBhIAorICAgICAgICBhc3luY2hyb25vdXMgcmVzcG9uc2Ug
bWVjaGFuaXNtIHRvIHNpZ25hbHMgb3IgY2FsbGJhY2tzLgorCisgICAgICAgICogV2ViVmlldy93
ZWJraXQuaDoKKyAgICAgICAgKiBXZWJWaWV3L3dlYmtpdHdlYmRlY2lzaW9uLmNwcDogQWRkZWQu
CisgICAgICAgIChfV2ViS2l0V2ViRGVjaXNpb25Qcml2YXRlOjp3ZWJraXRfd2ViX2RlY2lzaW9u
X2ZpbmFsaXplKToKKyAgICAgICAgKF9XZWJLaXRXZWJEZWNpc2lvblByaXZhdGU6OndlYmtpdF93
ZWJfZGVjaXNpb25fY2xhc3NfaW5pdCk6CisgICAgICAgIChfV2ViS2l0V2ViRGVjaXNpb25Qcml2
YXRlOjp3ZWJraXRfd2ViX2RlY2lzaW9uX2luaXQpOgorICAgICAgICAoX1dlYktpdFdlYkRlY2lz
aW9uUHJpdmF0ZTo6d2Via2l0X3dlYl9kZWNpc2lvbl9uZXcpOgorICAgICAgICAoX1dlYktpdFdl
YkRlY2lzaW9uUHJpdmF0ZTo6d2Via2l0X3dlYl9kZWNpc2lvbl9zZW5kKToKKyAgICAgICAgKiBX
ZWJWaWV3L3dlYmtpdHdlYmRlY2lzaW9uLmg6IEFkZGVkLgorCiAyMDA4LTAyLTA0ICBBbHAgVG9r
ZXIgIDxhbHBAYXRva2VyLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYXJrIFJv
d2UuCkluZGV4OiBXZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2ViZGVjaXNpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJkZWNpc2lvbi5jcHAJKHLDqXZp
c2lvbiAwKQorKysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYmRlY2lzaW9uLmNwcAkocsOp
dmlzaW9uIDApCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVj
YSBCcnVubyA8bGV0aGFsbWFuODhAZ21haWwuY29tPiAKKyAqIENvcHlyaWdodCAoQykgMjAwOCBD
b2xsYWJvcmEsIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaW5jbHVkZSAid2Via2l0d2ViZGVjaXNpb24uaCIKKyNpbmNsdWRlICJ3ZWJraXRwcml2YXRl
LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworZXh0ZXJuICJDIiB7CisKK0dfREVGSU5FX1RZUEUoV2ViS2l0V2ViRGVjaXNpb24sIHdlYmtp
dF93ZWJfZGVjaXNpb24sIEdfVFlQRV9PQkpFQ1QpOworCitzdHJ1Y3QgX1dlYktpdFdlYkRlY2lz
aW9uUHJpdmF0ZSB7CisgICAgV2ViS2l0V2ViRGVjaXNpb25DYWxsYmFjayBjYWxsYmFja0Z1bmN0
aW9uOworICAgIGdwb2ludGVyIHVzZXJEYXRhOworfTsKKworI2RlZmluZSBXRUJLSVRfV0VCX0RF
Q0lTSU9OX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgo
b2JqKSwgV0VCS0lUX1RZUEVfV0VCX0RFQ0lTSU9OLCBXZWJLaXRXZWJEZWNpc2lvblByaXZhdGUp
KQorCitzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2RlY2lzaW9uX2ZpbmFsaXplKEdPYmplY3QqIG9i
amVjdCkKK3sKKyAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRfd2ViX2RlY2lzaW9uX3BhcmVudF9j
bGFzcyktPmZpbmFsaXplKG9iamVjdCk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYmtpdF93ZWJfZGVj
aXNpb25fY2xhc3NfaW5pdChXZWJLaXRXZWJEZWNpc2lvbkNsYXNzKiBkZWNpc2lvbkNsYXNzKQor
eworICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShkZWNpc2lvbkNsYXNzLCBzaXplb2YoV2Vi
S2l0V2ViRGVjaXNpb25Qcml2YXRlKSk7CisKKyAgICBHX09CSkVDVF9DTEFTUyhkZWNpc2lvbkNs
YXNzKS0+ZmluYWxpemUgPSB3ZWJraXRfd2ViX2RlY2lzaW9uX2ZpbmFsaXplOworfQorCitzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX2RlY2lzaW9uX2luaXQoV2ViS2l0V2ViRGVjaXNpb24qIGRlY2lz
aW9uKQoreworICAgIGRlY2lzaW9uLT5wcml2ID0gV0VCS0lUX1dFQl9ERUNJU0lPTl9HRVRfUFJJ
VkFURShkZWNpc2lvbik7Cit9CisKKy8qKgorICogd2Via2l0X3dlYl9kZWNpc2lvbl9uZXcKKyAq
IEBjYWxsYmFja19mdW5jOiBhICNXZWJLaXRXZWJEZWNpc2lvbkNhbGxiYWNrIHRvIGNvbm5lY3QK
KyAqIEB1c2VyX2RhdGE6IGEgI2dwb2ludGVyLCBkYXRhIHRvIHBhc3MgdG8gY2FsbGJhY2tfZnVu
YyBjYWxscy4KKyAqCisgKiBDcmVhdGVzIGEgbmV3IGFzeW5jaHJvbm91cyB2YWx1ZSBkZWNpc2lv
bi4gIFRoZSBAY2FsbGJhY2tfZnVuYyB3aWxsIGJlIGNhbGxlZCB3aXRoIEB1c2VyX2RhdGEKKyAq
IHdoZW4gd2Via2l0X3dlYl9kZWNpc2lvbl9zZW5kIGlzIGNhbGxlZC4KKyAqLworV2ViS2l0V2Vi
RGVjaXNpb24qIHdlYmtpdF93ZWJfZGVjaXNpb25fbmV3KFdlYktpdFdlYkRlY2lzaW9uQ2FsbGJh
Y2sgY2FsbGJhY2tGdW5jdGlvbiwgZ3BvaW50ZXIgdXNlckRhdGEpCit7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoY2FsbGJhY2tGdW5jdGlvbiwgTlVMTCk7CisKKyAgICBXZWJLaXRXZWJEZWNp
c2lvbiogZGVjaXNpb24gPSBXRUJLSVRfV0VCX0RFQ0lTSU9OKGdfb2JqZWN0X25ldyhXRUJLSVRf
VFlQRV9XRUJfREVDSVNJT04sIE5VTEwpKTsKKyAgICBXZWJLaXRXZWJEZWNpc2lvblByaXZhdGUq
IHByaXYgPSBkZWNpc2lvbi0+cHJpdjsKKworICAgIHByaXYtPmNhbGxiYWNrRnVuY3Rpb24gPSBj
YWxsYmFja0Z1bmN0aW9uOworICAgIHByaXYtPnVzZXJEYXRhID0gdXNlckRhdGE7CisKKyAgICBy
ZXR1cm4gZGVjaXNpb247Cit9CisKKy8qKgorICogd2Via2l0X3dlYl9kZWNpc2lvbl9zZW5kCisg
KiBAZGVjaXNpb246IGEgI1dlYktpdFdlYkRlY2lzaW9uCisgKiBAdmFsdWU6IGEgI1dlYktpdFdl
YkRlY2lzaW9uVmFsdWUsIHRoZSB2YWx1ZSB0byBzZW5kCisgKgorICogV2lsbCBzZW5kIGdpdmVu
IFdlYktpdFdlYkRlY2lzaW9uVmFsdWUgdGhyb3VnaCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZ2l2
ZW4gdG8gd2Via2l0X3dlYl9kZWNpc2lvbl9uZXcuCisgKi8KK3ZvaWQgd2Via2l0X3dlYl9kZWNp
c2lvbl9zZW5kKFdlYktpdFdlYkRlY2lzaW9uKiBkZWNpc2lvbiwgV2ViS2l0V2ViRGVjaXNpb25W
YWx1ZSB2YWx1ZSkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfREVDSVNJ
T04oZGVjaXNpb24pKTsKKworICAgIFdlYktpdFdlYkRlY2lzaW9uUHJpdmF0ZSogcHJpdiA9IGRl
Y2lzaW9uLT5wcml2OworICAgIAorICAgIHByaXYtPmNhbGxiYWNrRnVuY3Rpb24oZGVjaXNpb24s
IHZhbHVlLCBwcml2LT51c2VyRGF0YSk7Cit9CisKK30KKwpJbmRleDogV2ViS2l0L2d0ay9XZWJW
aWV3L3dlYmtpdHdlYmRlY2lzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJWaWV3
L3dlYmtpdHdlYmRlY2lzaW9uLmgJKHLDqXZpc2lvbiAwKQorKysgV2ViS2l0L2d0ay9XZWJWaWV3
L3dlYmtpdHdlYmRlY2lzaW9uLmgJKHLDqXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA4IEx1Y2EgQnJ1bm8gPGxldGhhbG1hbjg4QGdtYWlsLmNvbT4g
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhLCBMdGQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpZm5kZWYgV0VCS0lUX1dFQl9ERUNJU0lPTl9ICisjZGVmaW5lIFdFQktJVF9XRUJfREVD
SVNJT05fSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4K
KworI2luY2x1ZGUgIndlYmtpdGRlZmluZXMuaCIKKworR19CRUdJTl9ERUNMUworCisjZGVmaW5l
IFdFQktJVF9UWVBFX1dFQl9ERUNJU0lPTiAgICAgICAgICAgICh3ZWJraXRfd2ViX2RlY2lzaW9u
X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9XRUJfREVDSVNJT04ob2JqKSAgICAgICAgICAg
IChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0RFQ0lT
SU9OLCBXZWJLaXRXZWJEZWNpc2lvbikpCisjZGVmaW5lIFdFQktJVF9XRUJfREVDSVNJT05fQ0xB
U1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZ
UEVfV0VCX0RFQ0lTSU9OLCBXZWJLaXRXZWJEZWNpc2lvbkNsYXNzKSkKKyNkZWZpbmUgV0VCS0lU
X0lTX1dFQl9ERUNJU0lPTihvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBF
KChvYmopLCBXRUJLSVRfVFlQRV9XRUJfREVDSVNJT04pKQorI2RlZmluZSBXRUJLSVRfSVNfV0VC
X0RFQ0lTSU9OX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwg
IFdFQktJVF9UWVBFX1dFQl9ERUNJU0lPTikpCisjZGVmaW5lIFdFQktJVF9XRUJfREVDSVNJT05f
R0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lU
X1RZUEVfV0VCX0RFQ0lTSU9OLCBXZWJLaXRXZWJEZWNpc2lvbkNsYXNzKSkKKwordHlwZWRlZiBz
dHJ1Y3QgX1dlYktpdFdlYkRlY2lzaW9uIFdlYktpdFdlYkRlY2lzaW9uOwordHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdFdlYkRlY2lzaW9uQ2xhc3MgV2ViS2l0V2ViRGVjaXNpb25DbGFzczsKK3R5cGVk
ZWYgc3RydWN0IF9XZWJLaXRXZWJEZWNpc2lvblByaXZhdGUgV2ViS2l0V2ViRGVjaXNpb25Qcml2
YXRlOworCitzdHJ1Y3QgX1dlYktpdFdlYkRlY2lzaW9uIHsKKyAgICBHT2JqZWN0IHBhcmVudDsK
KyAgICBXZWJLaXRXZWJEZWNpc2lvblByaXZhdGUqIHByaXY7Cit9OworCitzdHJ1Y3QgX1dlYktp
dFdlYkRlY2lzaW9uQ2xhc3MgeworICAgIEdPYmplY3RDbGFzcyBwYXJlbnQ7Cit9OworCit0eXBl
ZGVmIGdpbnQ2NCBXZWJLaXRXZWJEZWNpc2lvblZhbHVlOworCit0eXBlZGVmIHZvaWQgKCpXZWJL
aXRXZWJEZWNpc2lvbkNhbGxiYWNrKSAoV2ViS2l0V2ViRGVjaXNpb24qLCBXZWJLaXRXZWJEZWNp
c2lvblZhbHVlLCBncG9pbnRlcik7CisKK1dFQktJVF9BUEkgR1R5cGUKK3dlYmtpdF93ZWJfZGVj
aXNpb25fZ2V0X3R5cGUgKHZvaWQpOworCitXRUJLSVRfQVBJIFdlYktpdFdlYkRlY2lzaW9uKgor
d2Via2l0X3dlYl9kZWNpc2lvbl9uZXcgKFdlYktpdFdlYkRlY2lzaW9uQ2FsbGJhY2sgY2FsbGJh
Y2tfZnVuYywgZ3BvaW50ZXIgdXNlcl9kYXRhKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
d2ViX2RlY2lzaW9uX3NlbmQgKFdlYktpdFdlYkRlY2lzaW9uKiBkZWNpc2lvbiwgV2ViS2l0V2Vi
RGVjaXNpb25WYWx1ZSB2YWx1ZSk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpJbmRleDogV2Vi
S2l0L2d0ay9XZWJWaWV3L3dlYmtpdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViVmll
dy93ZWJraXQuaAkocsOpdmlzaW9uIDI5ODg0KQorKysgV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtp
dC5oCShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMSw1ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAw
OCBMdWNhIEJydW5vIDxsZXRoYWxtYW44OEBnbWFpbC5jb20+IAorICogQ29weXJpZ2h0IChDKSAy
MDA4IENvbGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC0yMiw2ICsyNCw3IEBACiAKICNpbmNsdWRlIDx3ZWJraXRkZWZpbmVzLmg+CiAjaW5j
bHVkZSA8d2Via2l0bmV0d29ya3JlcXVlc3QuaD4KKyNpbmNsdWRlIDx3ZWJraXR3ZWJkZWNpc2lv
bi5oPgogI2luY2x1ZGUgPHdlYmtpdHdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8d2Via2l0d2Vic2V0
dGluZ3MuaD4KICNpbmNsdWRlIDx3ZWJraXR3ZWJ2aWV3Lmg+CkluZGV4OiBDaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gQ2hhbmdlTG9nCShyw6l2aXNpb24gMjk5ODEpCisrKyBDaGFuZ2VMb2cJKGNv
cGllIGRlIHRyYXZhaWwpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDgtMDItMDQgIFBpZXJyZS1MdWMg
QmVhdWRvaW4gIDxwaWVycmUtbHVjLmJlYXVkb2luQGNvbGxhYm9yYS5jby51az4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgV2ViS2l0V2Vi
RGVjaXNpb24gdG8gYnVpbGQuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKwogMjAwOC0w
Mi0wNCAgQWxwIFRva2VyICA8YWxwQGF0b2tlci5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1w
ZWQgYnkgTWFyayBSb3dlLgo=
</data>
<flag name="review"
          id="8266"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>