<?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>25166</bug_id>
          
          <creation_ts>2009-04-13 15:56:19 -0700</creation_ts>
          <short_desc>[Qt] Add QWebFrame::requestCount() method for obtaining the number of associated resource requests.</short_desc>
          <delta_ts>2009-11-24 06:48:08 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>29975</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jakub Wieczorek">jwieczorek</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>pd</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117372</commentid>
    <comment_count>0</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-04-13 15:56:19 -0700</bug_when>
    <thetext>Added QWebFrame::requestCount() method with following signature:

int requestCount(RequestStates state = RequestsAll, bool recursive = true) const;

The function returns number of requests (of specified status) that have been started along with creation of the frame.

RequestState enumerates following types of requests:

RequestsUnfinished = 1,
RequestsCompleted = 2,
RequestsFailed = 4,
RequestsAll = RequestsUnfinished | RequestsCompleted | RequestsFailed

recursive specifies whether the request count should be determined including the child frames and its resources or not.

The recursive call on the main frame is also wrapped in QWebPage::requestCount() method.

Patch with autotest attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117373</commentid>
    <comment_count>1</comment_count>
      <attachid>29443</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-04-13 15:57:18 -0700</bug_when>
    <thetext>Created attachment 29443
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117374</commentid>
    <comment_count>2</comment_count>
      <attachid>29444</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-04-13 15:57:28 -0700</bug_when>
    <thetext>Created attachment 29444
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117511</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-04-14 13:23:53 -0700</bug_when>
    <thetext>I understand the motivation behind retrieving this information, but I think it&apos;s not functionality frequently used enough to have a dedicated method in QWebFrame. In theory you can determine all this already using the public API by setting a custom network access manager on a page and keeping track of the issued network requests and their results.

If at all I&apos;d prefer if WebKit wouldn&apos;t keep track of those counts but instead just emit notification signals and let the application decide how to count.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117524</commentid>
    <comment_count>4</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2009-04-14 14:21:55 -0700</bug_when>
    <thetext>Keeping track of requests and their results in a custom QNetworkAccessManager wouldn&apos;t be a solution if one wanted to know which particular frame they had come from and while it seems to be the most probable use case it&apos;s also the main point here.

But yes, I like the idea about signals.

void requestCreated(const QUrl &amp;);
void requestFinished(const QUrl &amp;);
void requestFailed(const QUrl &amp;);

or even rather QNetworkRequest instead of QUrl.

What do you say?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120620</commentid>
    <comment_count>5</comment_count>
      <attachid>29443</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-11 03:50:53 -0700</bug_when>
    <thetext>Comment on attachment 29443
patch

Make one of the two copies drop out of the review queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124746</commentid>
    <comment_count>6</comment_count>
      <attachid>29444</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-06-08 04:03:03 -0700</bug_when>
    <thetext>Comment on attachment 29444
patch

I also agree to use a signal passing the URL or the network reply (please evaluate which one fits the use case better). r- until the new patch is ready.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145181</commentid>
    <comment_count>7</comment_count>
    <who name="Piotr Dobrogost">pd</who>
    <bug_when>2009-09-07 09:29:29 -0700</bug_when>
    <thetext>What about using custom requests/replies by QtWebKit and placing additional information (about frame in this case) there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166057</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-24 06:48:08 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 29975 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29443</attachid>
            <date>2009-04-13 15:57:18 -0700</date>
            <delta_ts>2009-05-11 03:50:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>qwebframe-request-count.diff</filename>
            <type>text/plain</type>
            <size>11568</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9xdC9BcGkv
cXdlYmZyYW1lLmNwcAppbmRleCBiYWE3NjFjLi42ZThkZmJlIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCkBA
IC0yMzUsNiArMjM1LDIxIEBAIHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6cmVuZGVyUHJpdmF0ZShR
UGFpbnRlciAqcGFpbnRlciwgY29uc3QgUVJlZ2lvbiAmY2xpcCwgYm9vCiB9CiAKIC8qIQorICAg
IFxzaW5jZSA0LjYKKworICAgIFxlbnVtIFFXZWJGcmFtZTo6UmVxdWVzdFN0YXRlCisKKyAgICBU
aGlzIGVudW0gZGVzY3JpYmVzIHRoZSBvcHRpb25zIGF2YWlsYWJsZSB0byB0aGUgUVdlYkZyYW1l
J3MgcmVxdWVzdENvdW50KCkgZnVuY3Rpb24sCisgICAgcmVwcmVzZW50aW5nIGRpZmZlcmVudCBz
dGF0ZXMgb2YgcmVxdWVzdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBmcmFtZS4KKyAgICBUaGUgb3B0
aW9ucyBjYW4gYmUgT1ItZWQgdG9nZXRoZXIgZnJvbSB0aGUgZm9sbG93aW5nIGxpc3Q6CisKKyAg
ICBcdmFsdWUgUmVxdWVzdHNVbmZpbmlzaGVkIEFsbCBwZW5kaW5nIG9yIGJlaW5nIHByb2Nlc3Nl
ZCByZXF1ZXN0cy4KKyAgICBcdmFsdWUgUmVxdWVzdHNDb21wbGV0ZWQgQWxsIHN1Y2Nlc2Z1bGx5
IGNvbXBsZXRlZCByZXF1ZXN0cy4KKyAgICBcdmFsdWUgUmVxdWVzdHNGYWlsZWQgQWxsIHJlcXVl
c3RzIHRoYXQgaGF2ZW4ndCBiZWVuIGZpbmlzaGVkIGR1ZSB0byBhbnkgZXJyb3JzLgorICAgIFx2
YWx1ZSBSZXF1ZXN0c0FsbCBBbGwgcmVxdWVzdHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBmcmFtZS4KKyovCisKKy8qIQogICAgIFxjbGFzcyBRV2ViRnJhbWUKICAgICBcc2luY2UgNC40
CiAgICAgXGJyaWVmIFRoZSBRV2ViRnJhbWUgY2xhc3MgcmVwcmVzZW50cyBhIGZyYW1lIGluIGEg
d2ViIHBhZ2UuCkBAIC03MDIsNiArNzE3LDQyIEBAIFFMaXN0PFFXZWJGcmFtZSo+IFFXZWJGcmFt
ZTo6Y2hpbGRGcmFtZXMoKSBjb25zdAogfQogCiAvKiEKKyAgICBcc2luY2UgNC42CisKKyAgICBS
ZXR1cm5zIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGFyZSBzdHJpY3RseSBhc3NvY2lhdGVkIHdp
dGggdGhlIGZyYW1lLCB3aGljaCBhcmUKKyAgICBmb3IgaW5zdGFuY2UgaW1hZ2VzLCBzdHlsZXNo
ZWV0cywgaWNvbnMgb3Igb3RoZXIgZnJhbWVzLgorCisgICAgSWYgXGEgcmVjdXJzZSBpcyBzcGVj
aWZpZWQgdGhlbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHdpbGwgYmUgY291bnRlZCByZWN1cnNp
dmVseSwKKyAgICBpbmNsdWRpbmcgYWxsIGNoaWxkIGZyYW1lcy4KKworICAgIFxhIHN0YXRlIHNw
ZWNpZmllcyB3aGF0IHR5cGUgb2YgcmVxdWVzdHMgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3Vu
dC4KKyovCitpbnQgUVdlYkZyYW1lOjpyZXF1ZXN0Q291bnQoUmVxdWVzdFN0YXRlcyBzdGF0ZSwg
Ym9vbCByZWN1cnNpdmUpIGNvbnN0Cit7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIGlmICgo
c3RhdGUgJiBSZXF1ZXN0c0FsbCkgPT0gUmVxdWVzdHNBbGwpIHsKKyAgICAgICAgY291bnQgKz0g
ZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb3VudDsKKyAgICB9IGVsc2UgeworICAgICAg
ICBpZiAoc3RhdGUgJiBSZXF1ZXN0c1VuZmluaXNoZWQpCisgICAgICAgICAgICBjb3VudCArPSAo
ZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb3VudCAtCisgICAgICAgICAgICAgICAgICAg
ICAgZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb21wbGV0ZWRDb3VudCAtCisgICAgICAg
ICAgICAgICAgICAgICAgZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RGYWlsZWRDb3VudCk7
CisgICAgICAgIGlmIChzdGF0ZSAmIFJlcXVlc3RzQ29tcGxldGVkKQorICAgICAgICAgICAgY291
bnQgKz0gZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb21wbGV0ZWRDb3VudDsKKyAgICAg
ICAgaWYgKHN0YXRlICYgUmVxdWVzdHNGYWlsZWQpCisgICAgICAgICAgICBjb3VudCArPSBkLT5m
cmFtZUxvYWRlckNsaWVudC0+cmVxdWVzdEZhaWxlZENvdW50OworICAgIH0KKworICAgIGlmIChy
ZWN1cnNpdmUpIHsKKyAgICAgICAgZm9yZWFjaCAoY29uc3QgUVdlYkZyYW1lICpmcmFtZSwgY2hp
bGRGcmFtZXMoKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGZyYW1lLT5yZXF1ZXN0Q291bnQoc3Rh
dGUsIHRydWUpOworICAgIH0KKworICAgIHJldHVybiBjb3VudDsKK30KKworLyohCiAgICAgUmV0
dXJucyB0aGUgc2Nyb2xsYmFyIHBvbGljeSBmb3IgdGhlIHNjcm9sbGJhciBkZWZpbmVkIGJ5IFxh
IG9yaWVudGF0aW9uLgogKi8KIFF0OjpTY3JvbGxCYXJQb2xpY3kgUVdlYkZyYW1lOjpzY3JvbGxC
YXJQb2xpY3koUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuaCBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmgKaW5k
ZXggZWI3YTJkOC4uYjYyY2ZlNiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
aAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5oCkBAIC0xMTUsNiArMTE1LDE2IEBAIGNs
YXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJGcmFtZSA6IHB1YmxpYyBRT2JqZWN0CiAgICAgUV9QUk9Q
RVJUWShRSWNvbiBpY29uIFJFQUQgaWNvbikKICAgICBRX1BST1BFUlRZKFFTaXplIGNvbnRlbnRz
U2l6ZSBSRUFEIGNvbnRlbnRzU2l6ZSkKICAgICBRX1BST1BFUlRZKFFQb2ludCBzY3JvbGxQb3Np
dGlvbiBSRUFEIHNjcm9sbFBvc2l0aW9uIFdSSVRFIHNldFNjcm9sbFBvc2l0aW9uKQorCitwdWJs
aWM6CisgICAgZW51bSBSZXF1ZXN0U3RhdGUgeworICAgICAgICBSZXF1ZXN0c1VuZmluaXNoZWQg
PSAxLAorICAgICAgICBSZXF1ZXN0c0NvbXBsZXRlZCA9IDIsCisgICAgICAgIFJlcXVlc3RzRmFp
bGVkID0gNCwKKyAgICAgICAgUmVxdWVzdHNBbGwgPSBSZXF1ZXN0c1VuZmluaXNoZWQgfCBSZXF1
ZXN0c0NvbXBsZXRlZCB8IFJlcXVlc3RzRmFpbGVkCisgICAgfTsKKyAgICBRX0RFQ0xBUkVfRkxB
R1MoUmVxdWVzdFN0YXRlcywgUmVxdWVzdFN0YXRlKQorCiBwcml2YXRlOgogICAgIFFXZWJGcmFt
ZShRV2ViUGFnZSAqcGFyZW50LCBRV2ViRnJhbWVEYXRhICpmcmFtZURhdGEpOwogICAgIFFXZWJG
cmFtZShRV2ViRnJhbWUgKnBhcmVudCwgUVdlYkZyYW1lRGF0YSAqZnJhbWVEYXRhKTsKQEAgLTE1
MSw2ICsxNjEsOCBAQCBwdWJsaWM6CiAgICAgUVdlYkZyYW1lICpwYXJlbnRGcmFtZSgpIGNvbnN0
OwogICAgIFFMaXN0PFFXZWJGcmFtZSo+IGNoaWxkRnJhbWVzKCkgY29uc3Q7CiAKKyAgICBpbnQg
cmVxdWVzdENvdW50KFJlcXVlc3RTdGF0ZXMgc3RhdGUgPSBSZXF1ZXN0c0FsbCwgYm9vbCByZWN1
cnNpdmUgPSB0cnVlKSBjb25zdDsKKwogICAgIFF0OjpTY3JvbGxCYXJQb2xpY3kgc2Nyb2xsQmFy
UG9saWN5KFF0OjpPcmllbnRhdGlvbiBvcmllbnRhdGlvbikgY29uc3Q7CiAgICAgdm9pZCBzZXRT
Y3JvbGxCYXJQb2xpY3koUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBRdDo6U2Nyb2xsQmFy
UG9saWN5IHBvbGljeSk7CiAKQEAgLTIxNyw0ICsyMjksNiBAQCBwcml2YXRlOgogICAgIFFXZWJG
cmFtZVByaXZhdGUgKmQ7CiB9OwogCitRX0RFQ0xBUkVfT1BFUkFUT1JTX0ZPUl9GTEFHUyhRV2Vi
RnJhbWU6OlJlcXVlc3RTdGF0ZXMpCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBjZTJlMDEw
Li4zYmYyZTE1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjY5Myw2ICsyNjkzLDE4IEBAIHF1aW50NjQg
UVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdCB7CiB9CiAKIC8qIQorICAgIFxzaW5jZSA0
LjYKKworICAgIFJldHVybnMgbnVtYmVyIG9mIHJlcXVlc3RzIHN1Y2ggYXMgaW1hZ2VzLCBzdHls
ZXNoZWV0cywgaWNvbnMgaW4gYWxsIGZyYW1lcy4KKworICAgIFxhIHN0YXRlIHNwZWNpZmllcyB3
aGF0IHR5cGUgb2YgcmVxdWVzdHMgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudC4KKyovCitp
bnQgUVdlYlBhZ2U6OnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RTdGF0ZXMgc3RhdGUp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1haW5GcmFtZSgpLT5yZXF1ZXN0Q291bnQoc3RhdGUsIHRy
dWUpOworfQorCisvKiEKICAgICBcZm4gdm9pZCBRV2ViUGFnZTo6bG9hZFN0YXJ0ZWQoKQogCiAg
ICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGEgbmV3IGxvYWQgb2YgdGhlIHBhZ2UgaXMg
c3RhcnRlZC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuaAppbmRleCA4OTQzYzQ5Li43NDI0ZTc3IDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0y
MSw2ICsyMSw3IEBACiAjaWZuZGVmIFFXRUJQQUdFX0gKICNkZWZpbmUgUVdFQlBBR0VfSAogCisj
aW5jbHVkZSAicXdlYmZyYW1lLmgiCiAjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAicXdlYmtpdGdsb2JhbC5oIgogCkBAIC0yMjUsNiArMjI2LDggQEAgcHVibGljOgogICAgIHF1
aW50NjQgdG90YWxCeXRlcygpIGNvbnN0OwogICAgIHF1aW50NjQgYnl0ZXNSZWNlaXZlZCgpIGNv
bnN0OwogCisgICAgaW50IHJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RTdGF0ZXMgc3Rh
dGUgPSBRV2ViRnJhbWU6OlJlcXVlc3RzQWxsKSBjb25zdDsKKwogICAgIFFTdHJpbmcgc2VsZWN0
ZWRUZXh0KCkgY29uc3Q7CiAKICAgICBRQWN0aW9uICphY3Rpb24oV2ViQWN0aW9uIGFjdGlvbikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwppbmRleCBkNjEzN2VlLi45ZDg3NWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAwOS0wNC0x
MyAgSmFrdWIgV2llY3pvcmVrICA8ZmF3MjE3QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgUVdlYkZyYW1lOjpyZXF1ZXN0Q291
bnQoKSBtZXRob2QgZm9yIG9idGFpbmluZyB0aGUgbnVtYmVyIG9mIGFzc29jaWF0ZWQgcmVzb3Vy
Y2UgcmVxdWVzdHMuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFX
ZWJGcmFtZTo6cmVxdWVzdENvdW50KToKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmg6CisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpyZXF1ZXN0Q291bnQp
OgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRRdDo6RnJhbWVMb2FkZXJDbGllbnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudFF0OjpkaXNwYXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlk
RmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpk
aXNwYXRjaERpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUu
Y3BwOgorCiAyMDA5LTA0LTA2ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5v
a2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCBjNGJj
ZDE2Li5hMDAxZjI4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50UXQuY3BwCkBAIC0xNDUsNiArMTQ1LDkgQEAgRnJhbWVMb2FkZXJDbGllbnRRdDo6
RnJhbWVMb2FkZXJDbGllbnRRdCgpCiAgICAgLCBtX2ZpcnN0RGF0YShmYWxzZSkKICAgICAsIG1f
cG9saWN5RnVuY3Rpb24oMCkKICAgICAsIG1fbG9hZFN1Y2NlZWRlZChmYWxzZSkKKyAgICAsIHJl
cXVlc3RDb3VudCgwKQorICAgICwgcmVxdWVzdENvbXBsZXRlZENvdW50KDApCisgICAgLCByZXF1
ZXN0RmFpbGVkQ291bnQoMCkKIHsKICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChzaWdDYWxsUG9s
aWN5RnVuY3Rpb24oaW50KSksIHRoaXMsIFNMT1Qoc2xvdENhbGxQb2xpY3lGdW5jdGlvbihpbnQp
KSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwogfQpAQCAtMzI2LDYgKzMyOSwxMCBAQCB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlkU3RhcnRQcm92aXNpb25hbExvYWQoKQogCiAg
ICAgaWYgKG1fd2ViRnJhbWUpCiAgICAgICAgIGVtaXQgbV93ZWJGcmFtZS0+cHJvdmlzaW9uYWxM
b2FkKCk7CisKKyAgICByZXF1ZXN0Q291bnQgPSAwOworICAgIHJlcXVlc3RDb21wbGV0ZWRDb3Vu
dCA9IDA7CisgICAgcmVxdWVzdEZhaWxlZENvdW50ID0gMDsKIH0KIAogCkBAIC03ODQsNiArNzkx
LDggQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlLCBjb25zdCBXZWJDb3IKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0
Ojphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICArK3JlcXVlc3RDb3VudDsKKwogICAgIGlmIChk
dW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKQogICAgICAgICBkdW1wQXNzaWduZWRVcmxzW2lkZW50
aWZpZXJdID0gZHJ0RGVzY3JpcHRpb25TdWl0YWJsZUZvclRlc3RSZXN1bHQocmVxdWVzdC51cmwo
KSk7CiB9CkBAIC04MzEsNiArODQwLDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNw
YXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKFdlYkNvcmU6OkRvY3VtZW50TG9hZGUKIAogdm9p
ZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZykKIHsKKyAgICArK3JlcXVlc3RD
b21wbGV0ZWRDb3VudDsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERp
ZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgZXJyb3IpCkBAIC04
NDMsNiArODUzLDggQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZEZhaWxM
b2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIKICAgICAgICAgZmwtPnNldEVu
Y29kaW5nKG1fcmVzcG9uc2UudGV4dEVuY29kaW5nTmFtZSgpLCBmYWxzZSk7CiAgICAgICAgIG1f
Zmlyc3REYXRhID0gZmFsc2U7CiAgICAgfQorCisgICAgKytyZXF1ZXN0RmFpbGVkQ291bnQ7CiB9
CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9t
TWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgaW50KQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgKaW5kZXggYzQ5
YmI2Mi4uYTNjYjFmZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5oCkBAIC0yMTUsNiArMjE1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBtX2hhc1NlbnRSZXNwb25zZVRvUGx1Z2luOwogCiAgICAgICAgIGJvb2wgbV9s
b2FkU3VjY2VlZGVkOworCisgICAgICAgIGludCByZXF1ZXN0Q291bnQ7CisgICAgICAgIGludCBy
ZXF1ZXN0Q29tcGxldGVkQ291bnQ7CisgICAgICAgIGludCByZXF1ZXN0RmFpbGVkQ291bnQ7CiAg
ICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdl
YmZyYW1lLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAK
aW5kZXggZDljOTdjOC4uYzk2ZjBkYSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJm
cmFtZS90c3RfcXdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3Rz
dF9xd2ViZnJhbWUuY3BwCkBAIC01NzksNiArNTc5LDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2
b2lkIGhpdFRlc3RDb250ZW50KCk7CiAgICAgdm9pZCBqc0J5dGVBcnJheSgpOwogICAgIHZvaWQg
b3duZXJzaGlwKCk7CisgICAgdm9pZCByZXF1ZXN0Q291bnQoKTsKIHByaXZhdGU6CiAgICAgUVN0
cmluZyAgZXZhbEpTKGNvbnN0IFFTdHJpbmcmcykgewogICAgICAgICAvLyBDb252ZXJ0IGFuIHVu
ZGVmaW5lZCByZXR1cm4gdmFyaWFudCB0byB0aGUgc3RyaW5nICJ1bmRlZmluZWQiCkBAIC0yMzY1
LDUgKzIzNjYsNjYgQEAgdm9pZCB0c3RfUVdlYkZyYW1lOjpvd25lcnNoaXAoKQogICAgIH0KIH0K
IAordm9pZCB0c3RfUVdlYkZyYW1lOjpyZXF1ZXN0Q291bnQoKQoreworICAgIFFTdHJpbmcgaHRt
bCgiPGh0bWw+IgorICAgICAgICAgICAgICAgICAiICAgIDxib2R5PiIKKyAgICAgICAgICAgICAg
ICAgIiAgICAgICAgPGltZyBzcmM9J3FyYzovaW1hZ2UucG5nJy8+IgorICAgICAgICAgICAgICAg
ICAiICAgICAgICA8aW1nIHNyYz0nZG9lc05vdEV4aXN0LnBuZycvPiIKKyAgICAgICAgICAgICAg
ICAgIiAgICA8L2JvZHk+IgorICAgICAgICAgICAgICAgICAiPC9odG1sPiIpOworCisgICAgUVdl
YlBhZ2UgcGFnZTsKKyAgICBRV2ViRnJhbWUqIGZyYW1lID0gcGFnZS5tYWluRnJhbWUoKTsKKwor
ICAgIGZyYW1lLT5zZXRIdG1sKGh0bWwpOworICAgIDo6d2FpdEZvclNpZ25hbCgmcGFnZSwgU0lH
TkFMKGxvYWRGaW5pc2hlZChib29sKSkpOworCisgICAgLy8gbm9uLXJlY3Vyc2l2ZWx5CisgICAg
Ly8gdGhlIG1haW4gcmVzb3VyY2UgKyAyIGltYWdlcyAob25lIG9mIHdoaWNoIGlzIHVucmVhY2hh
YmxlKQorICAgIFFDT01QQVJFKGZyYW1lLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0
c0FsbCwgZmFsc2UpLCAzKTsKKyAgICBRQ09NUEFSRShmcmFtZS0+cmVxdWVzdENvdW50KFFXZWJG
cmFtZTo6UmVxdWVzdHNDb21wbGV0ZWQsIGZhbHNlKSwgMik7CisgICAgUUNPTVBBUkUoZnJhbWUt
PnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzRmFpbGVkLCBmYWxzZSksIDEpOworICAg
IFFDT01QQVJFKGZyYW1lLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c1VuZmluaXNo
ZWQsIGZhbHNlKSwgMCk7CisKKyAgICBRV2ViUGFnZSBwYWdlMjsKKyAgICBRV2ViRnJhbWUqIGZy
YW1lMiA9IHBhZ2UyLm1haW5GcmFtZSgpOworCisgICAgUVN0cmluZyBodG1sMigiPGh0bWw+Igor
ICAgICAgICAgICAgICAgICAgIiAgICA8Ym9keT4iCisgICAgICAgICAgICAgICAgICAiICAgICAg
ICA8aWZyYW1lIHNyYz0nZG9lc05vdEV4aXN0Lmh0bWwnLz4iCisgICAgICAgICAgICAgICAgICAi
ICAgIDwvYm9keT4iCisgICAgICAgICAgICAgICAgICAiPC9odG1sPiIpOworCisgICAgZnJhbWUy
LT5zZXRIdG1sKGh0bWwyKTsKKyAgICA6OndhaXRGb3JTaWduYWwoJnBhZ2UyLCBTSUdOQUwobG9h
ZEZpbmlzaGVkKGJvb2wpKSk7CisKKyAgICAvLyBub24tcmVjdXJzaXZlbHkKKyAgICAvLyBvbmx5
IHRoZSBtYWluIHJlc291cmNlCisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291bnQoUVdl
YkZyYW1lOjpSZXF1ZXN0c0FsbCwgZmFsc2UpLCAxKTsKKyAgICBRQ09NUEFSRShmcmFtZTItPnJl
cXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzQ29tcGxldGVkLCBmYWxzZSksIDEpOworICAg
IFFDT01QQVJFKGZyYW1lMi0+cmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNGYWlsZWQs
IGZhbHNlKSwgMCk7CisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1l
OjpSZXF1ZXN0c1VuZmluaXNoZWQsIGZhbHNlKSwgMCk7CisKKyAgICAvLyByZWN1cnNpdmVseQor
ICAgIC8vIHRoZSBtYWluIHJlc291cmNlICsgMSBmcmFtZQorICAgIFFDT01QQVJFKHBhZ2UyLnJl
cXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzQWxsKSwgMik7CisgICAgUUNPTVBBUkUocGFn
ZTIucmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNDb21wbGV0ZWQpLCAxKTsKKyAgICBR
Q09NUEFSRShwYWdlMi5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c0ZhaWxlZCksIDEp
OworICAgIFFDT01QQVJFKHBhZ2UyLnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzVW5m
aW5pc2hlZCksIDApOworCisgICAgUUNPTVBBUkUoZnJhbWUyLT5jaGlsZEZyYW1lcygpLmNvdW50
KCksIDEpOworCisgICAgZnJhbWUyLT5jaGlsZEZyYW1lcygpLmF0KDApLT5zZXRIdG1sKGh0bWwp
OworICAgIDo6d2FpdEZvclNpZ25hbCgmcGFnZTIsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkp
KTsKKworICAgIC8vIHJlY3Vyc2l2ZWx5CisgICAgLy8gdGhlIG1haW4gcmVzb3VyY2UgKyAxIGZy
YW1lIChpbmNsdWRpbmcgdHdvIGltYWdlcykKKyAgICBRQ09NUEFSRShmcmFtZTItPnJlcXVlc3RD
b3VudCgpLCA0KTsKKyAgICBRQ09NUEFSRShmcmFtZTItPnJlcXVlc3RDb3VudChRV2ViRnJhbWU6
OlJlcXVlc3RzQ29tcGxldGVkKSwgMyk7CisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291
bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c0ZhaWxlZCksIDEpOworICAgIFFDT01QQVJFKGZyYW1lMi0+
cmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNVbmZpbmlzaGVkKSwgMCk7Cit9CisKIFFU
RVNUX01BSU4odHN0X1FXZWJGcmFtZSkKICNpbmNsdWRlICJ0c3RfcXdlYmZyYW1lLm1vYyIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29444</attachid>
            <date>2009-04-13 15:57:28 -0700</date>
            <delta_ts>2009-06-08 04:03:03 -0700</delta_ts>
            <desc>patch</desc>
            <filename>qwebframe-request-count.diff</filename>
            <type>text/plain</type>
            <size>11568</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9xdC9BcGkv
cXdlYmZyYW1lLmNwcAppbmRleCBiYWE3NjFjLi42ZThkZmJlIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCkBA
IC0yMzUsNiArMjM1LDIxIEBAIHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6cmVuZGVyUHJpdmF0ZShR
UGFpbnRlciAqcGFpbnRlciwgY29uc3QgUVJlZ2lvbiAmY2xpcCwgYm9vCiB9CiAKIC8qIQorICAg
IFxzaW5jZSA0LjYKKworICAgIFxlbnVtIFFXZWJGcmFtZTo6UmVxdWVzdFN0YXRlCisKKyAgICBU
aGlzIGVudW0gZGVzY3JpYmVzIHRoZSBvcHRpb25zIGF2YWlsYWJsZSB0byB0aGUgUVdlYkZyYW1l
J3MgcmVxdWVzdENvdW50KCkgZnVuY3Rpb24sCisgICAgcmVwcmVzZW50aW5nIGRpZmZlcmVudCBz
dGF0ZXMgb2YgcmVxdWVzdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBmcmFtZS4KKyAgICBUaGUgb3B0
aW9ucyBjYW4gYmUgT1ItZWQgdG9nZXRoZXIgZnJvbSB0aGUgZm9sbG93aW5nIGxpc3Q6CisKKyAg
ICBcdmFsdWUgUmVxdWVzdHNVbmZpbmlzaGVkIEFsbCBwZW5kaW5nIG9yIGJlaW5nIHByb2Nlc3Nl
ZCByZXF1ZXN0cy4KKyAgICBcdmFsdWUgUmVxdWVzdHNDb21wbGV0ZWQgQWxsIHN1Y2Nlc2Z1bGx5
IGNvbXBsZXRlZCByZXF1ZXN0cy4KKyAgICBcdmFsdWUgUmVxdWVzdHNGYWlsZWQgQWxsIHJlcXVl
c3RzIHRoYXQgaGF2ZW4ndCBiZWVuIGZpbmlzaGVkIGR1ZSB0byBhbnkgZXJyb3JzLgorICAgIFx2
YWx1ZSBSZXF1ZXN0c0FsbCBBbGwgcmVxdWVzdHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBmcmFtZS4KKyovCisKKy8qIQogICAgIFxjbGFzcyBRV2ViRnJhbWUKICAgICBcc2luY2UgNC40
CiAgICAgXGJyaWVmIFRoZSBRV2ViRnJhbWUgY2xhc3MgcmVwcmVzZW50cyBhIGZyYW1lIGluIGEg
d2ViIHBhZ2UuCkBAIC03MDIsNiArNzE3LDQyIEBAIFFMaXN0PFFXZWJGcmFtZSo+IFFXZWJGcmFt
ZTo6Y2hpbGRGcmFtZXMoKSBjb25zdAogfQogCiAvKiEKKyAgICBcc2luY2UgNC42CisKKyAgICBS
ZXR1cm5zIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGFyZSBzdHJpY3RseSBhc3NvY2lhdGVkIHdp
dGggdGhlIGZyYW1lLCB3aGljaCBhcmUKKyAgICBmb3IgaW5zdGFuY2UgaW1hZ2VzLCBzdHlsZXNo
ZWV0cywgaWNvbnMgb3Igb3RoZXIgZnJhbWVzLgorCisgICAgSWYgXGEgcmVjdXJzZSBpcyBzcGVj
aWZpZWQgdGhlbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHdpbGwgYmUgY291bnRlZCByZWN1cnNp
dmVseSwKKyAgICBpbmNsdWRpbmcgYWxsIGNoaWxkIGZyYW1lcy4KKworICAgIFxhIHN0YXRlIHNw
ZWNpZmllcyB3aGF0IHR5cGUgb2YgcmVxdWVzdHMgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3Vu
dC4KKyovCitpbnQgUVdlYkZyYW1lOjpyZXF1ZXN0Q291bnQoUmVxdWVzdFN0YXRlcyBzdGF0ZSwg
Ym9vbCByZWN1cnNpdmUpIGNvbnN0Cit7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIGlmICgo
c3RhdGUgJiBSZXF1ZXN0c0FsbCkgPT0gUmVxdWVzdHNBbGwpIHsKKyAgICAgICAgY291bnQgKz0g
ZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb3VudDsKKyAgICB9IGVsc2UgeworICAgICAg
ICBpZiAoc3RhdGUgJiBSZXF1ZXN0c1VuZmluaXNoZWQpCisgICAgICAgICAgICBjb3VudCArPSAo
ZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb3VudCAtCisgICAgICAgICAgICAgICAgICAg
ICAgZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb21wbGV0ZWRDb3VudCAtCisgICAgICAg
ICAgICAgICAgICAgICAgZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RGYWlsZWRDb3VudCk7
CisgICAgICAgIGlmIChzdGF0ZSAmIFJlcXVlc3RzQ29tcGxldGVkKQorICAgICAgICAgICAgY291
bnQgKz0gZC0+ZnJhbWVMb2FkZXJDbGllbnQtPnJlcXVlc3RDb21wbGV0ZWRDb3VudDsKKyAgICAg
ICAgaWYgKHN0YXRlICYgUmVxdWVzdHNGYWlsZWQpCisgICAgICAgICAgICBjb3VudCArPSBkLT5m
cmFtZUxvYWRlckNsaWVudC0+cmVxdWVzdEZhaWxlZENvdW50OworICAgIH0KKworICAgIGlmIChy
ZWN1cnNpdmUpIHsKKyAgICAgICAgZm9yZWFjaCAoY29uc3QgUVdlYkZyYW1lICpmcmFtZSwgY2hp
bGRGcmFtZXMoKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGZyYW1lLT5yZXF1ZXN0Q291bnQoc3Rh
dGUsIHRydWUpOworICAgIH0KKworICAgIHJldHVybiBjb3VudDsKK30KKworLyohCiAgICAgUmV0
dXJucyB0aGUgc2Nyb2xsYmFyIHBvbGljeSBmb3IgdGhlIHNjcm9sbGJhciBkZWZpbmVkIGJ5IFxh
IG9yaWVudGF0aW9uLgogKi8KIFF0OjpTY3JvbGxCYXJQb2xpY3kgUVdlYkZyYW1lOjpzY3JvbGxC
YXJQb2xpY3koUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuaCBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmgKaW5k
ZXggZWI3YTJkOC4uYjYyY2ZlNiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
aAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5oCkBAIC0xMTUsNiArMTE1LDE2IEBAIGNs
YXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJGcmFtZSA6IHB1YmxpYyBRT2JqZWN0CiAgICAgUV9QUk9Q
RVJUWShRSWNvbiBpY29uIFJFQUQgaWNvbikKICAgICBRX1BST1BFUlRZKFFTaXplIGNvbnRlbnRz
U2l6ZSBSRUFEIGNvbnRlbnRzU2l6ZSkKICAgICBRX1BST1BFUlRZKFFQb2ludCBzY3JvbGxQb3Np
dGlvbiBSRUFEIHNjcm9sbFBvc2l0aW9uIFdSSVRFIHNldFNjcm9sbFBvc2l0aW9uKQorCitwdWJs
aWM6CisgICAgZW51bSBSZXF1ZXN0U3RhdGUgeworICAgICAgICBSZXF1ZXN0c1VuZmluaXNoZWQg
PSAxLAorICAgICAgICBSZXF1ZXN0c0NvbXBsZXRlZCA9IDIsCisgICAgICAgIFJlcXVlc3RzRmFp
bGVkID0gNCwKKyAgICAgICAgUmVxdWVzdHNBbGwgPSBSZXF1ZXN0c1VuZmluaXNoZWQgfCBSZXF1
ZXN0c0NvbXBsZXRlZCB8IFJlcXVlc3RzRmFpbGVkCisgICAgfTsKKyAgICBRX0RFQ0xBUkVfRkxB
R1MoUmVxdWVzdFN0YXRlcywgUmVxdWVzdFN0YXRlKQorCiBwcml2YXRlOgogICAgIFFXZWJGcmFt
ZShRV2ViUGFnZSAqcGFyZW50LCBRV2ViRnJhbWVEYXRhICpmcmFtZURhdGEpOwogICAgIFFXZWJG
cmFtZShRV2ViRnJhbWUgKnBhcmVudCwgUVdlYkZyYW1lRGF0YSAqZnJhbWVEYXRhKTsKQEAgLTE1
MSw2ICsxNjEsOCBAQCBwdWJsaWM6CiAgICAgUVdlYkZyYW1lICpwYXJlbnRGcmFtZSgpIGNvbnN0
OwogICAgIFFMaXN0PFFXZWJGcmFtZSo+IGNoaWxkRnJhbWVzKCkgY29uc3Q7CiAKKyAgICBpbnQg
cmVxdWVzdENvdW50KFJlcXVlc3RTdGF0ZXMgc3RhdGUgPSBSZXF1ZXN0c0FsbCwgYm9vbCByZWN1
cnNpdmUgPSB0cnVlKSBjb25zdDsKKwogICAgIFF0OjpTY3JvbGxCYXJQb2xpY3kgc2Nyb2xsQmFy
UG9saWN5KFF0OjpPcmllbnRhdGlvbiBvcmllbnRhdGlvbikgY29uc3Q7CiAgICAgdm9pZCBzZXRT
Y3JvbGxCYXJQb2xpY3koUXQ6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBRdDo6U2Nyb2xsQmFy
UG9saWN5IHBvbGljeSk7CiAKQEAgLTIxNyw0ICsyMjksNiBAQCBwcml2YXRlOgogICAgIFFXZWJG
cmFtZVByaXZhdGUgKmQ7CiB9OwogCitRX0RFQ0xBUkVfT1BFUkFUT1JTX0ZPUl9GTEFHUyhRV2Vi
RnJhbWU6OlJlcXVlc3RTdGF0ZXMpCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBjZTJlMDEw
Li4zYmYyZTE1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjY5Myw2ICsyNjkzLDE4IEBAIHF1aW50NjQg
UVdlYlBhZ2U6OmJ5dGVzUmVjZWl2ZWQoKSBjb25zdCB7CiB9CiAKIC8qIQorICAgIFxzaW5jZSA0
LjYKKworICAgIFJldHVybnMgbnVtYmVyIG9mIHJlcXVlc3RzIHN1Y2ggYXMgaW1hZ2VzLCBzdHls
ZXNoZWV0cywgaWNvbnMgaW4gYWxsIGZyYW1lcy4KKworICAgIFxhIHN0YXRlIHNwZWNpZmllcyB3
aGF0IHR5cGUgb2YgcmVxdWVzdHMgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudC4KKyovCitp
bnQgUVdlYlBhZ2U6OnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RTdGF0ZXMgc3RhdGUp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1haW5GcmFtZSgpLT5yZXF1ZXN0Q291bnQoc3RhdGUsIHRy
dWUpOworfQorCisvKiEKICAgICBcZm4gdm9pZCBRV2ViUGFnZTo6bG9hZFN0YXJ0ZWQoKQogCiAg
ICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGEgbmV3IGxvYWQgb2YgdGhlIHBhZ2UgaXMg
c3RhcnRlZC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuaAppbmRleCA4OTQzYzQ5Li43NDI0ZTc3IDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0y
MSw2ICsyMSw3IEBACiAjaWZuZGVmIFFXRUJQQUdFX0gKICNkZWZpbmUgUVdFQlBBR0VfSAogCisj
aW5jbHVkZSAicXdlYmZyYW1lLmgiCiAjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAicXdlYmtpdGdsb2JhbC5oIgogCkBAIC0yMjUsNiArMjI2LDggQEAgcHVibGljOgogICAgIHF1
aW50NjQgdG90YWxCeXRlcygpIGNvbnN0OwogICAgIHF1aW50NjQgYnl0ZXNSZWNlaXZlZCgpIGNv
bnN0OwogCisgICAgaW50IHJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RTdGF0ZXMgc3Rh
dGUgPSBRV2ViRnJhbWU6OlJlcXVlc3RzQWxsKSBjb25zdDsKKwogICAgIFFTdHJpbmcgc2VsZWN0
ZWRUZXh0KCkgY29uc3Q7CiAKICAgICBRQWN0aW9uICphY3Rpb24oV2ViQWN0aW9uIGFjdGlvbikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5n
ZUxvZwppbmRleCBkNjEzN2VlLi45ZDg3NWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAwOS0wNC0x
MyAgSmFrdWIgV2llY3pvcmVrICA8ZmF3MjE3QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgUVdlYkZyYW1lOjpyZXF1ZXN0Q291
bnQoKSBtZXRob2QgZm9yIG9idGFpbmluZyB0aGUgbnVtYmVyIG9mIGFzc29jaWF0ZWQgcmVzb3Vy
Y2UgcmVxdWVzdHMuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFX
ZWJGcmFtZTo6cmVxdWVzdENvdW50KToKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmg6CisgICAg
ICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpyZXF1ZXN0Q291bnQp
OgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRRdDo6RnJhbWVMb2FkZXJDbGllbnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
ckNsaWVudFF0OjpkaXNwYXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlk
RmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpk
aXNwYXRjaERpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUu
Y3BwOgorCiAyMDA5LTA0LTA2ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5v
a2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCBjNGJj
ZDE2Li5hMDAxZjI4IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50UXQuY3BwCkBAIC0xNDUsNiArMTQ1LDkgQEAgRnJhbWVMb2FkZXJDbGllbnRRdDo6
RnJhbWVMb2FkZXJDbGllbnRRdCgpCiAgICAgLCBtX2ZpcnN0RGF0YShmYWxzZSkKICAgICAsIG1f
cG9saWN5RnVuY3Rpb24oMCkKICAgICAsIG1fbG9hZFN1Y2NlZWRlZChmYWxzZSkKKyAgICAsIHJl
cXVlc3RDb3VudCgwKQorICAgICwgcmVxdWVzdENvbXBsZXRlZENvdW50KDApCisgICAgLCByZXF1
ZXN0RmFpbGVkQ291bnQoMCkKIHsKICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChzaWdDYWxsUG9s
aWN5RnVuY3Rpb24oaW50KSksIHRoaXMsIFNMT1Qoc2xvdENhbGxQb2xpY3lGdW5jdGlvbihpbnQp
KSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwogfQpAQCAtMzI2LDYgKzMyOSwxMCBAQCB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlkU3RhcnRQcm92aXNpb25hbExvYWQoKQogCiAg
ICAgaWYgKG1fd2ViRnJhbWUpCiAgICAgICAgIGVtaXQgbV93ZWJGcmFtZS0+cHJvdmlzaW9uYWxM
b2FkKCk7CisKKyAgICByZXF1ZXN0Q291bnQgPSAwOworICAgIHJlcXVlc3RDb21wbGV0ZWRDb3Vu
dCA9IDA7CisgICAgcmVxdWVzdEZhaWxlZENvdW50ID0gMDsKIH0KIAogCkBAIC03ODQsNiArNzkx
LDggQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojpkb3dubG9hZChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlLCBjb25zdCBXZWJDb3IKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0
Ojphc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKKyAgICArK3JlcXVlc3RDb3VudDsKKwogICAgIGlmIChk
dW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKQogICAgICAgICBkdW1wQXNzaWduZWRVcmxzW2lkZW50
aWZpZXJdID0gZHJ0RGVzY3JpcHRpb25TdWl0YWJsZUZvclRlc3RSZXN1bHQocmVxdWVzdC51cmwo
KSk7CiB9CkBAIC04MzEsNiArODQwLDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNw
YXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKFdlYkNvcmU6OkRvY3VtZW50TG9hZGUKIAogdm9p
ZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZykKIHsKKyAgICArK3JlcXVlc3RD
b21wbGV0ZWRDb3VudDsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERp
ZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgZXJyb3IpCkBAIC04
NDMsNiArODUzLDggQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZEZhaWxM
b2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBsb2FkZXIKICAgICAgICAgZmwtPnNldEVu
Y29kaW5nKG1fcmVzcG9uc2UudGV4dEVuY29kaW5nTmFtZSgpLCBmYWxzZSk7CiAgICAgICAgIG1f
Zmlyc3REYXRhID0gZmFsc2U7CiAgICAgfQorCisgICAgKytyZXF1ZXN0RmFpbGVkQ291bnQ7CiB9
CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9t
TWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgaW50KQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgKaW5kZXggYzQ5
YmI2Mi4uYTNjYjFmZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5oCkBAIC0yMTUsNiArMjE1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBtX2hhc1NlbnRSZXNwb25zZVRvUGx1Z2luOwogCiAgICAgICAgIGJvb2wgbV9s
b2FkU3VjY2VlZGVkOworCisgICAgICAgIGludCByZXF1ZXN0Q291bnQ7CisgICAgICAgIGludCBy
ZXF1ZXN0Q29tcGxldGVkQ291bnQ7CisgICAgICAgIGludCByZXF1ZXN0RmFpbGVkQ291bnQ7CiAg
ICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdl
YmZyYW1lLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAK
aW5kZXggZDljOTdjOC4uYzk2ZjBkYSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJm
cmFtZS90c3RfcXdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3Rz
dF9xd2ViZnJhbWUuY3BwCkBAIC01NzksNiArNTc5LDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2
b2lkIGhpdFRlc3RDb250ZW50KCk7CiAgICAgdm9pZCBqc0J5dGVBcnJheSgpOwogICAgIHZvaWQg
b3duZXJzaGlwKCk7CisgICAgdm9pZCByZXF1ZXN0Q291bnQoKTsKIHByaXZhdGU6CiAgICAgUVN0
cmluZyAgZXZhbEpTKGNvbnN0IFFTdHJpbmcmcykgewogICAgICAgICAvLyBDb252ZXJ0IGFuIHVu
ZGVmaW5lZCByZXR1cm4gdmFyaWFudCB0byB0aGUgc3RyaW5nICJ1bmRlZmluZWQiCkBAIC0yMzY1
LDUgKzIzNjYsNjYgQEAgdm9pZCB0c3RfUVdlYkZyYW1lOjpvd25lcnNoaXAoKQogICAgIH0KIH0K
IAordm9pZCB0c3RfUVdlYkZyYW1lOjpyZXF1ZXN0Q291bnQoKQoreworICAgIFFTdHJpbmcgaHRt
bCgiPGh0bWw+IgorICAgICAgICAgICAgICAgICAiICAgIDxib2R5PiIKKyAgICAgICAgICAgICAg
ICAgIiAgICAgICAgPGltZyBzcmM9J3FyYzovaW1hZ2UucG5nJy8+IgorICAgICAgICAgICAgICAg
ICAiICAgICAgICA8aW1nIHNyYz0nZG9lc05vdEV4aXN0LnBuZycvPiIKKyAgICAgICAgICAgICAg
ICAgIiAgICA8L2JvZHk+IgorICAgICAgICAgICAgICAgICAiPC9odG1sPiIpOworCisgICAgUVdl
YlBhZ2UgcGFnZTsKKyAgICBRV2ViRnJhbWUqIGZyYW1lID0gcGFnZS5tYWluRnJhbWUoKTsKKwor
ICAgIGZyYW1lLT5zZXRIdG1sKGh0bWwpOworICAgIDo6d2FpdEZvclNpZ25hbCgmcGFnZSwgU0lH
TkFMKGxvYWRGaW5pc2hlZChib29sKSkpOworCisgICAgLy8gbm9uLXJlY3Vyc2l2ZWx5CisgICAg
Ly8gdGhlIG1haW4gcmVzb3VyY2UgKyAyIGltYWdlcyAob25lIG9mIHdoaWNoIGlzIHVucmVhY2hh
YmxlKQorICAgIFFDT01QQVJFKGZyYW1lLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0
c0FsbCwgZmFsc2UpLCAzKTsKKyAgICBRQ09NUEFSRShmcmFtZS0+cmVxdWVzdENvdW50KFFXZWJG
cmFtZTo6UmVxdWVzdHNDb21wbGV0ZWQsIGZhbHNlKSwgMik7CisgICAgUUNPTVBBUkUoZnJhbWUt
PnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzRmFpbGVkLCBmYWxzZSksIDEpOworICAg
IFFDT01QQVJFKGZyYW1lLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c1VuZmluaXNo
ZWQsIGZhbHNlKSwgMCk7CisKKyAgICBRV2ViUGFnZSBwYWdlMjsKKyAgICBRV2ViRnJhbWUqIGZy
YW1lMiA9IHBhZ2UyLm1haW5GcmFtZSgpOworCisgICAgUVN0cmluZyBodG1sMigiPGh0bWw+Igor
ICAgICAgICAgICAgICAgICAgIiAgICA8Ym9keT4iCisgICAgICAgICAgICAgICAgICAiICAgICAg
ICA8aWZyYW1lIHNyYz0nZG9lc05vdEV4aXN0Lmh0bWwnLz4iCisgICAgICAgICAgICAgICAgICAi
ICAgIDwvYm9keT4iCisgICAgICAgICAgICAgICAgICAiPC9odG1sPiIpOworCisgICAgZnJhbWUy
LT5zZXRIdG1sKGh0bWwyKTsKKyAgICA6OndhaXRGb3JTaWduYWwoJnBhZ2UyLCBTSUdOQUwobG9h
ZEZpbmlzaGVkKGJvb2wpKSk7CisKKyAgICAvLyBub24tcmVjdXJzaXZlbHkKKyAgICAvLyBvbmx5
IHRoZSBtYWluIHJlc291cmNlCisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291bnQoUVdl
YkZyYW1lOjpSZXF1ZXN0c0FsbCwgZmFsc2UpLCAxKTsKKyAgICBRQ09NUEFSRShmcmFtZTItPnJl
cXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzQ29tcGxldGVkLCBmYWxzZSksIDEpOworICAg
IFFDT01QQVJFKGZyYW1lMi0+cmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNGYWlsZWQs
IGZhbHNlKSwgMCk7CisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291bnQoUVdlYkZyYW1l
OjpSZXF1ZXN0c1VuZmluaXNoZWQsIGZhbHNlKSwgMCk7CisKKyAgICAvLyByZWN1cnNpdmVseQor
ICAgIC8vIHRoZSBtYWluIHJlc291cmNlICsgMSBmcmFtZQorICAgIFFDT01QQVJFKHBhZ2UyLnJl
cXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzQWxsKSwgMik7CisgICAgUUNPTVBBUkUocGFn
ZTIucmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNDb21wbGV0ZWQpLCAxKTsKKyAgICBR
Q09NUEFSRShwYWdlMi5yZXF1ZXN0Q291bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c0ZhaWxlZCksIDEp
OworICAgIFFDT01QQVJFKHBhZ2UyLnJlcXVlc3RDb3VudChRV2ViRnJhbWU6OlJlcXVlc3RzVW5m
aW5pc2hlZCksIDApOworCisgICAgUUNPTVBBUkUoZnJhbWUyLT5jaGlsZEZyYW1lcygpLmNvdW50
KCksIDEpOworCisgICAgZnJhbWUyLT5jaGlsZEZyYW1lcygpLmF0KDApLT5zZXRIdG1sKGh0bWwp
OworICAgIDo6d2FpdEZvclNpZ25hbCgmcGFnZTIsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkp
KTsKKworICAgIC8vIHJlY3Vyc2l2ZWx5CisgICAgLy8gdGhlIG1haW4gcmVzb3VyY2UgKyAxIGZy
YW1lIChpbmNsdWRpbmcgdHdvIGltYWdlcykKKyAgICBRQ09NUEFSRShmcmFtZTItPnJlcXVlc3RD
b3VudCgpLCA0KTsKKyAgICBRQ09NUEFSRShmcmFtZTItPnJlcXVlc3RDb3VudChRV2ViRnJhbWU6
OlJlcXVlc3RzQ29tcGxldGVkKSwgMyk7CisgICAgUUNPTVBBUkUoZnJhbWUyLT5yZXF1ZXN0Q291
bnQoUVdlYkZyYW1lOjpSZXF1ZXN0c0ZhaWxlZCksIDEpOworICAgIFFDT01QQVJFKGZyYW1lMi0+
cmVxdWVzdENvdW50KFFXZWJGcmFtZTo6UmVxdWVzdHNVbmZpbmlzaGVkKSwgMCk7Cit9CisKIFFU
RVNUX01BSU4odHN0X1FXZWJGcmFtZSkKICNpbmNsdWRlICJ0c3RfcXdlYmZyYW1lLm1vYyIK
</data>
<flag name="review"
          id="14660"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
      

    </bug>

</bugzilla>