<?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>24407</bug_id>
          
          <creation_ts>2009-03-05 15:03:09 -0800</creation_ts>
          <short_desc>Windows wheel scrolls by too little</short_desc>
          <delta_ts>2009-03-06 11:56:42 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Peter Kasting">pkasting</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>112463</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-05 15:03:09 -0800</bug_when>
    <thetext>(As discussed with hyatt on IRC)

On Windows, users can configure the mousewheel to scroll a particular number of lines per wheel tick (default 3).  Safari scrolls 40/3 pixels per line, meaning it scrolls 40 px per wheel tick by default.  This matches what happens on Mac, except that Mac wheel events are accelerated, meaning that repeated wheel events are reported as having higher deltas, and thus result in much larger scrolls.  On Windows, where this acceleration does not occur, Safari feels like it takes forever to scroll down a page.

Other browsers&apos; behavior varies widely.  IE appears to scroll approximately 50 px per line, so ~150 px per wheel tick, or almost 4x Safari&apos;s amount.  However, IE also animates the scroll, which allows larger scrolls without the eye losing its place; a value this large in Safari feels too jerky.  Firefox scrolls based on the actual height of the &quot;current line&quot; as reported by the renderer, leading to bizarre effects like scrolling down and back up not returning users to the same spot, and scroll amounts changing as you travel through a page or across pages.

Google Chrome 1.0 scrolled 40 px per line, about 3x Safari&apos;s current value, which felt like a little too much -- a number of users complained about losing their place while wheel scrolling.  Given a lack of consistency among other products, I&apos;m just going to try a few values.

In the process I think the scrolling code can be simplified.  When scrolling by line, we first consult a member function of the PlatformWheelEvent to decide how many lines to scroll in a wheel tick, and then multiply again later to convert lines to pixels.  It seems simpler to just eliminate the line-scrolling type and make wheel scrolls either be pixel- or page-based, and do all necessary conversion for pixel scrolls in the platform-specific code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112468</commentid>
    <comment_count>1</comment_count>
      <attachid>28333</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-05 15:39:05 -0800</bug_when>
    <thetext>Created attachment 28333
patch v1

After some experimentation, 100 px/wheel tick felt the best of any value I tried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112637</commentid>
    <comment_count>2</comment_count>
      <attachid>28333</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-06 11:40:33 -0800</bug_when>
    <thetext>Comment on attachment 28333
patch v1

LGTM

I wonder if this will impact any layout tests...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112640</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-06 11:56:42 -0800</bug_when>
    <thetext>Fixed in r41495.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28333</attachid>
            <date>2009-03-05 15:39:05 -0800</date>
            <delta_ts>2009-03-06 11:40:33 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>patch3</filename>
            <type>text/plain</type>
            <size>14932</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTQ2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDktMDMtMDUgIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQwNworICAgICAgICBX
aW5kb3dzIHNjcm9sbCBhbW91bnQgd2FzIHRvbyBzbWFsbCwgYW5kIHdoZWVsIHNjcm9sbCBkaXN0
YW5jZQorICAgICAgICBjb252ZXJzaW9uIGNvZGUgd2FzIG92ZXJseSBjb21wbGV4LgorCisgICAg
ICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsQW5k
QWNjZXB0RXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OndoZWVsRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9XaGVlbEV2ZW50R3Rr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVl
bEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2hlZWxFdmVudE1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9XaGVlbEV2ZW50V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omhvcml6b250YWxTY3Jv
bGxDaGFycyk6CisgICAgICAgIChXZWJDb3JlOjp2ZXJ0aWNhbFNjcm9sbExpbmVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS93eC9Nb3VzZVdoZWVsRXZlbnRXeC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudCk6CisKIDIwMDktMDMt
MDUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHJldmlzaW9u
IDQxNDU3KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTExMyw4ICsxMTMsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2Nyb2xsQW5kQWNjZXB0RXZl
bnQoCiAgICAgICAgIHJldHVybjsKICAgICB9IAogICAgIGZsb2F0IHBpeGVsc1RvU2Nyb2xsID0g
ZGVsdGEgPiAwID8gZGVsdGEgOiAtZGVsdGE7Ci0gICAgaWYgKGUuZ3JhbnVsYXJpdHkoKSA9PSBT
Y3JvbGxCeUxpbmVXaGVlbEV2ZW50KQotICAgICAgICBwaXhlbHNUb1Njcm9sbCAqPSBjTW91c2VX
aGVlbFBpeGVsc1BlckxpbmVTdGVwOwogICAgIGlmIChlbmNsb3NpbmdCb3gtPnNjcm9sbChkZWx0
YSA8IDAgPyBuZWdhdGl2ZURpcmVjdGlvbiA6IHBvc2l0aXZlRGlyZWN0aW9uLCBTY3JvbGxCeVBp
eGVsLCBwaXhlbHNUb1Njcm9sbCkpCiAgICAgICAgIGUuYWNjZXB0KCk7CiB9CkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgJKHJldmlzaW9uIDQxNDU3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTksMjMg
KzU5LDEzIEBAIGNsYXNzIHd4UG9pbnQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIC8v
IFdoZWVsIGV2ZW50cyBjb21lIGluIHRocmVlIGZsYXZvcnM6Ci0gICAgLy8gVGhlIFNjcm9sbEJ5
UGl4ZWxXaGVlbEV2ZW50IGlzIGEgZmluZS1ncmFpbmVkIGV2ZW50IHRoYXQgc3BlY2lmaWVzIHRo
ZSBwcmVjaXNlIG51bWJlciBvZiBwaXhlbHMgdG8gc2Nyb2xsLiAgSXQgaXMgc2VudCBieSBNYWNC
b29rIHRvdWNocGFkcyBvbiBPUyBYLgotICAgIC8vIEZvciBTY3JvbGxCeVBpeGVsV2hlZWxFdmVu
dHMsIHRoZSBkZWx0YSB2YWx1ZXMgY29udGFpbiB0aGUgcHJlY2lzZSBudW1iZXIgb2YgcGl4ZWxz
IHRvIHNjcm9sbC4KLSAgICAvLyBUaGUgU2Nyb2xsQnlMaW5lV2hlZWxFdmVudCAodGhlIG5vcm1h
bCB3aGVlbCBldmVudCkgc2VuZHMgYSBkZWx0YSB0aGF0IGNhbiBiZSBjb3JyZWN0ZWQgYnkgYSBs
aW5lIG11bHRpcGxpZXIgdG8gZGV0ZXJtaW5lIGhvdyBtYW55IGxpbmVzIHRvIHNjcm9sbC4KLSAg
ICAvLyAgICAgIElmIHRoZSBwbGF0Zm9ybSBoYXMgY29uZmlndXJhYmxlIGxpbmUgc2Vuc2l0aXZp
dHkgKFdpbmRvd3MpLCB0aGVuIHRoZSBudW1iZXIgb2YgbGluZXMgdG8gc2Nyb2xsIGlzIHVzZWQg
aW4gb3JkZXIgdG8gYmVoYXZlIGxpa2UgdGhlIHBsYXRmb3JtLgotICAgIC8vICAgICAgSWYgdGhl
IHBsYXRmb3JtIGRvZXMgbm90IGhhdmUgY29uZmlndXJhYmxlIGxpbmUgc2Vuc2l0aXZpdHksIHRo
ZW4gV2ViQ29yZSdzIGRlZmF1bHQgYmVoYXZpb3IgaXMgdXNlZCAod2hpY2ggc2Nyb2xscyAzICog
dGhlIHdoZWVsIGxpbmUgZGVsdGEpLgotICAgIC8vIEZvciBTY3JvbGxCeUxpbmVXaGVlbEV2ZW50
cywgdGhlIGRlbHRhIHZhbHVlcyByZXByZXNlbnQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBzY3Jv
bGwuCi0gICAgLy8gVGhlIFNjcm9sbEJ5UGFnZVdoZWVsRXZlbnQgaW5kaWNhdGVzIHRoYXQgdGhl
IHdoZWVsIGV2ZW50IHNob3VsZCBzY3JvbGwgYW4gZW50aXJlIHBhZ2UgaW5zdGVhZC4gIEluIHRo
aXMgY2FzZSBXZWJDb3JlJ3MgYnVpbHQgaW4gcGFnaW5nIGJlaGF2aW9yIGlzIHVzZWQgdG8gcGFn
ZQorICAgIC8vIFdoZWVsIGV2ZW50cyBjb21lIGluIHR3byBmbGF2b3JzOgorICAgIC8vIFRoZSBT
Y3JvbGxCeVBpeGVsV2hlZWxFdmVudCBpcyBhIGZpbmUtZ3JhaW5lZCBldmVudCB0aGF0IHNwZWNp
ZmllcyB0aGUgcHJlY2lzZSBudW1iZXIgb2YgcGl4ZWxzIHRvIHNjcm9sbC4gIEl0IGlzIHNlbnQg
ZGlyZWN0bHkgYnkgTWFjQm9vayB0b3VjaHBhZHMgb24gT1MgWCwKKyAgICAvLyBhbmQgc3ludGhl
c2l6ZWQgaW4gb3RoZXIgY2FzZXMgd2hlcmUgcGxhdGZvcm1zIGdlbmVyYXRlIGxpbmUtYnktbGlu
ZSBzY3JvbGxpbmcgZXZlbnRzLgorICAgIC8vIFRoZSBTY3JvbGxCeVBhZ2VXaGVlbEV2ZW50IGlu
ZGljYXRlcyB0aGF0IHRoZSB3aGVlbCBldmVudCBzaG91bGQgc2Nyb2xsIGFuIGVudGlyZSBwYWdl
LiAgSW4gdGhpcyBjYXNlIFdlYkNvcmUncyBidWlsdCBpbiBwYWdpbmcgYmVoYXZpb3IgaXMgdXNl
ZCB0byBwYWdlCiAgICAgLy8gdXAgYW5kIGRvd24gKHlvdSBnZXQgdGhlIHNhbWUgYmVoYXZpb3Ig
YXMgaWYgdGhlIHVzZXIgd2FzIGNsaWNraW5nIGluIGEgc2Nyb2xsYmFyIHRyYWNrIHRvIHBhZ2Ug
dXAgb3IgcGFnZSBkb3duKS4gIFBhZ2Ugc2Nyb2xsaW5nIG9ubHkgd29ya3MgaW4gdGhlIHZlcnRp
Y2FsIGRpcmVjdGlvbi4KLSAgICBlbnVtIFBsYXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5IHsg
U2Nyb2xsQnlMaW5lV2hlZWxFdmVudCwgU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCwgU2Nyb2xsQnlQ
aXhlbFdoZWVsRXZlbnQgfTsKKyAgICBlbnVtIFBsYXRmb3JtV2hlZWxFdmVudEdyYW51bGFyaXR5
IHsgU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCwgU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQgfTsKICAg
ICAKLSAgICAvLyBXZWJDb3JlIHVzZXMgYSBsaW5lIG11bHRpcGxlIG9mIH4zICg0MHB4IHBlciBs
aW5lIHN0ZXApIHdoZW4gZG9pbmcgYXJyb3dpbmcgd2l0aCBhIHNjcm9sbGJhciBvciBsaW5lIHN0
ZXBwaW5nIHZpYSB0aGUgYXJyb3cga2V5cy4gIFRoZSBkZWx0YSBmb3Igd2hlZWxpbmcgaXMgZXhw
cmVzc2VkCi0gICAgLy8gYXMgYSAjIG9mIGFjdHVhbCBsaW5lcyAoNDAgLyAzID0gMSB3aGVlbCBs
aW5lKS4gIFdlIHVzZSB0aGUgaG9yaXpvbnRhbExpbmVNdWx0aXBsaWVyIGFuZCB2ZXJ0aWNhbExp
bmVNdWx0aXBsaWVyIG1ldGhvZHMgdG8gaW5jb3Jwb3JhdGUgdGhlIGxpbmUgbXVsdGlwbGllciBp
bnRvIHRoZSBkZWx0YXMuICBPbgotICAgIC8vIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBzdXBwb3J0
IHdoZWVsIHNlbnNpdGl2aXR5LCB3ZSB1c2UgdGhpcyBoYXJkY29kZWQgY29uc3RhbnQgdmFsdWUg
b2YgMyB0byBlbnN1cmUgdGhhdCB3aGVlbGluZyBieSBkZWZhdWx0IG1hdGNoZXMgdGhlIFdlYkNv
cmUgbXVsdGlwbGllciB5b3UKLSAgICAvLyBnZXQgd2hlbiBkb2luZyBvdGhlciBraW5kcyBvZiBs
aW5lIHN0ZXBwaW5nLgotICAgIGNvbnN0IGludCBjTGluZU11bHRpcGxpZXIgPSAzOwotCiAgICAg
Y2xhc3MgUGxhdGZvcm1XaGVlbEV2ZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGNvbnN0IElu
dFBvaW50JiBwb3MoKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9IC8vIFBsYXRmb3JtV2lu
ZG93IGNvb3JkaW5hdGVzLgpAQCAtMTE3LDE0ICsxMDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAjZW5kaWYKIAogICAgIHByb3RlY3RlZDoKLSNpZiAhUExBVEZPUk0oV0lOKQotICAgICAgICBp
bnQgaG9yaXpvbnRhbExpbmVNdWx0aXBsaWVyKCkgY29uc3QgeyByZXR1cm4gY0xpbmVNdWx0aXBs
aWVyOyB9Ci0gICAgICAgIGludCB2ZXJ0aWNhbExpbmVNdWx0aXBsaWVyKCkgY29uc3QgeyByZXR1
cm4gY0xpbmVNdWx0aXBsaWVyOyB9Ci0jZWxzZQotICAgICAgICBpbnQgaG9yaXpvbnRhbExpbmVN
dWx0aXBsaWVyKCkgY29uc3Q7Ci0gICAgICAgIGludCB2ZXJ0aWNhbExpbmVNdWx0aXBsaWVyKCkg
Y29uc3Q7Ci0jZW5kaWYKLQogICAgICAgICBJbnRQb2ludCBtX3Bvc2l0aW9uOwogICAgICAgICBJ
bnRQb2ludCBtX2dsb2JhbFBvc2l0aW9uOwogICAgICAgICBmbG9hdCBtX2RlbHRhWDsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAkocmV2aXNpb24gNDE0NTcpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTMsMTAgKzYxMyw3IEBAIHZv
aWQgU2Nyb2xsVmlldzo6d2hlZWxFdmVudChQbGF0Zm9ybVdoZWUKICAgICAgICAgZS5hY2NlcHQo
KTsKICAgICAgICAgZmxvYXQgZGVsdGFYID0gZS5kZWx0YVgoKTsKICAgICAgICAgZmxvYXQgZGVs
dGFZID0gZS5kZWx0YVkoKTsKLSAgICAgICAgaWYgKGUuZ3JhbnVsYXJpdHkoKSA9PSBTY3JvbGxC
eUxpbmVXaGVlbEV2ZW50KSB7Ci0gICAgICAgICAgICBkZWx0YVggKj0gY01vdXNlV2hlZWxQaXhl
bHNQZXJMaW5lU3RlcDsKLSAgICAgICAgICAgIGRlbHRhWSAqPSBjTW91c2VXaGVlbFBpeGVsc1Bl
ckxpbmVTdGVwOwotICAgICAgICB9IGVsc2UgaWYgKGUuZ3JhbnVsYXJpdHkoKSA9PSBTY3JvbGxC
eVBhZ2VXaGVlbEV2ZW50KSB7CisgICAgICAgIGlmIChlLmdyYW51bGFyaXR5KCkgPT0gU2Nyb2xs
QnlQYWdlV2hlZWxFdmVudCkgewogICAgICAgICAgICAgQVNTRVJUKGRlbHRhWCA9PSAwKTsKICAg
ICAgICAgICAgIGJvb2wgbmVnYXRpdmUgPSBkZWx0YVkgPCAwOwogICAgICAgICAgICAgZGVsdGFZ
ID0gbWF4KDAsIHZpc2libGVIZWlnaHQoKSAtIGNBbW91bnRUb0tlZXBXaGVuUGFnaW5nKTsKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXIuaAkocmV2aXNpb24gNDE0NTcpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw3IEBAIGNsYXNzIFNjcm9s
bGJhclRoZW1lOwogY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogCiAvLyBUaGVzZSBtYXRjaCB0
aGUgbnVtYmVycyB3ZSB1c2Ugb3ZlciBpbiBXZWJLaXQgKFdlYkZyYW1lVmlldy5tKS4KLWNvbnN0
IGludCBjU2Nyb2xsYmFyUGl4ZWxzUGVyTGluZVN0ZXAgPSAgNDA7Ci1jb25zdCBmbG9hdCBjTW91
c2VXaGVlbFBpeGVsc1BlckxpbmVTdGVwID0gNDAuMGYgLyAzLjBmOworY29uc3QgaW50IGNTY3Jv
bGxiYXJQaXhlbHNQZXJMaW5lU3RlcCA9IDQwOwogY29uc3QgaW50IGNBbW91bnRUb0tlZXBXaGVu
UGFnaW5nID0gNDA7CiAKIGNsYXNzIFNjcm9sbGJhciA6IHB1YmxpYyBXaWRnZXQsIHB1YmxpYyBS
ZWZDb3VudGVkPFNjcm9sbGJhcj4gewpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2hlZWxF
dmVudEd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2hlZWxFdmVu
dEd0ay5jcHAJKHJldmlzaW9uIDQxNDU3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2hlZWxF
dmVudEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgorI2luY2x1ZGUgIlNj
cm9sbGJhci5oIgogCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgogCkBAIC02MSw3ICs2Miw3IEBAIFBs
YXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KEcKIAogICAgIG1fcG9zaXRpb24g
PSBJbnRQb2ludCgoaW50KWV2ZW50LT54LCAoaW50KWV2ZW50LT55KTsKICAgICBtX2dsb2JhbFBv
c2l0aW9uID0gSW50UG9pbnQoKGludClldmVudC0+eF9yb290LCAoaW50KWV2ZW50LT55X3Jvb3Qp
OwotICAgIG1fZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeUxpbmVXaGVlbEV2ZW50OworICAgIG1fZ3Jh
bnVsYXJpdHkgPSBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudDsKICAgICBtX2lzQWNjZXB0ZWQgPSBm
YWxzZTsKICAgICBtX3NoaWZ0S2V5ID0gZXZlbnQtPnN0YXRlICYgR0RLX1NISUZUX01BU0s7CiAg
ICAgbV9jdHJsS2V5ID0gZXZlbnQtPnN0YXRlICYgR0RLX0NPTlRST0xfTUFTSzsKQEAgLTc0LDgg
Kzc1LDggQEAgUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoRwogI2VuZGlm
CiAKICAgICAvLyBGSVhNRTogcmV0cmlldmUgdGhlIHVzZXIgc2V0dGluZyBmb3IgdGhlIG51bWJl
ciBvZiBsaW5lcyB0byBzY3JvbGwgb24gZWFjaCB3aGVlbCBldmVudAotICAgIG1fZGVsdGFYICo9
IGhvcml6b250YWxMaW5lTXVsdGlwbGllcigpOwotICAgIG1fZGVsdGFZICo9IHZlcnRpY2FsTGlu
ZU11bHRpcGxpZXIoKTsKKyAgICBtX2RlbHRhWCAqPSAoZmxvYXQpY1Njcm9sbGJhclBpeGVsc1Bl
ckxpbmVTdGVwOworICAgIG1fZGVsdGFZICo9IChmbG9hdCljU2Nyb2xsYmFyUGl4ZWxzUGVyTGlu
ZVN0ZXA7CiB9CiAKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1doZWVsRXZlbnRNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2hlZWxFdmVudE1hYy5tbQko
cmV2aXNpb24gNDE0NTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9XaGVlbEV2ZW50TWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW1wb3J0ICJQbGF0Zm9ybVdoZWVs
RXZlbnQuaCIKIAogI2ltcG9ydCAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW1wb3J0ICJTY3Jv
bGxiYXIuaCIKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzQsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBQbGF0Zm9y
bVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChOU0V2ZW50KiBldmVudCkKICAgICA6IG1f
cG9zaXRpb24ocG9pbnRGb3JFdmVudChldmVudCkpCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGds
b2JhbFBvaW50Rm9yRXZlbnQoZXZlbnQpKQorICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBp
eGVsV2hlZWxFdmVudCkKICAgICAsIG1faXNBY2NlcHRlZChmYWxzZSkKICAgICAsIG1fc2hpZnRL
ZXkoW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNTaGlmdEtleU1hc2spCiAgICAgLCBtX2N0cmxL
ZXkoW2V2ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb250cm9sS2V5TWFzaykKQEAgLTQyLDEwICs0
NCw5IEBAIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50KE4KIHsKICAgICBC
T09MIGNvbnRpbnVvdXM7CiAgICAgd2tHZXRXaGVlbEV2ZW50RGVsdGFzKGV2ZW50LCAmbV9kZWx0
YVgsICZtX2RlbHRhWSwgJmNvbnRpbnVvdXMpOwotICAgIG1fZ3JhbnVsYXJpdHkgPSBjb250aW51
b3VzID8gU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQgOiBTY3JvbGxCeUxpbmVXaGVlbEV2ZW50Owot
ICAgIGlmIChtX2dyYW51bGFyaXR5ID09IFNjcm9sbEJ5TGluZVdoZWVsRXZlbnQpIHsKLSAgICAg
ICAgbV9kZWx0YVggKj0gaG9yaXpvbnRhbExpbmVNdWx0aXBsaWVyKCk7Ci0gICAgICAgIG1fZGVs
dGFZICo9IHZlcnRpY2FsTGluZU11bHRpcGxpZXIoKTsKKyAgICBpZiAoIWNvbnRpbnVvdXMpIHsK
KyAgICAgICAgbV9kZWx0YVggKj0gKGZsb2F0KWNTY3JvbGxiYXJQaXhlbHNQZXJMaW5lU3RlcDsK
KyAgICAgICAgbV9kZWx0YVkgKj0gKGZsb2F0KWNTY3JvbGxiYXJQaXhlbHNQZXJMaW5lU3RlcDsK
ICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvV2hlZWxFdmVudFF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L1doZWVsRXZlbnRRdC5jcHAJKHJldmlz
aW9uIDQxNDU3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9XaGVlbEV2ZW50UXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNywxMSArMzcsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3Jt
V2hlZWxFdmVudChRCiAjZWxzZQogICAgIDogbV9wb3NpdGlvbihlLT5wb3MoKSkKICAgICAsIG1f
Z2xvYmFsUG9zaXRpb24oZS0+Z2xvYmFsUG9zKCkpCi0jaWZkZWYgUVRfTUFDX1VTRV9DT0NPQQog
ICAgICwgbV9ncmFudWxhcml0eShTY3JvbGxCeVBpeGVsV2hlZWxFdmVudCkKLSNlbHNlCi0gICAg
LCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5TGluZVdoZWVsRXZlbnQpCi0jZW5kaWYKICAgICAsIG1f
aXNBY2NlcHRlZChmYWxzZSkKICAgICAsIG1fc2hpZnRLZXkoZS0+bW9kaWZpZXJzKCkgJiBRdDo6
U2hpZnRNb2RpZmllcikKICAgICAsIG1fY3RybEtleShlLT5tb2RpZmllcnMoKSAmIFF0OjpDb250
cm9sTW9kaWZpZXIpCkBAIC01NiwxNCArNTIsMTEgQEAgUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0
Zm9ybVdoZWVsRXZlbnQoUQogICAgICAgICBtX2RlbHRhWSA9IChlLT5kZWx0YSgpIC8gMTIwKTsK
ICAgICB9CiAKLSAgICBtX2RlbHRhWCAqPSBRQXBwbGljYXRpb246OndoZWVsU2Nyb2xsTGluZXMo
KTsKICAgICAvLyB1c2UgdGhlIHNhbWUgc2luZ2xlIHNjcm9sbCBzdGVwIGFzIFFUZXh0RWRpdCAo
aW4KICAgICAvLyBRVGV4dEVkaXRQcml2YXRlOjppbml0IFtoLHZdYmFyLT5zZXRTaW5nbGVTdGVw
ICkKLSAgICAvLyBhbmQgZGl2aWRlIGJ5IHRoZSBkZWZhdWx0IFdlYktpdCBzY3JvbGwgc3RlcCB0
bwotICAgIC8vIGdldCB0aGUgUXQgbW91c2Ugd2hlZWwgc2Nyb2xsIGJlaGF2aW9yCiAgICAgc3Rh
dGljIGNvbnN0IGZsb2F0IGNEZWZhdWx0UXRTY3JvbGxTdGVwID0gMjAuZjsKLSAgICBtX2RlbHRh
WSAqPSBRQXBwbGljYXRpb246OndoZWVsU2Nyb2xsTGluZXMoKSAqCi0gICAgICAgICAgICAgICAg
KGNEZWZhdWx0UXRTY3JvbGxTdGVwIC8gY01vdXNlV2hlZWxQaXhlbHNQZXJMaW5lU3RlcCk7Cisg
ICAgbV9kZWx0YVggKj0gUUFwcGxpY2F0aW9uOjp3aGVlbFNjcm9sbExpbmVzKCkgKiBjRGVmYXVs
dFF0U2Nyb2xsU3RlcDsKKyAgICBtX2RlbHRhWSAqPSBRQXBwbGljYXRpb246OndoZWVsU2Nyb2xs
TGluZXMoKSAqIGNEZWZhdWx0UXRTY3JvbGxTdGVwOwogfQogI2VuZGlmIC8vIFFUX05PX1dIRUVM
RVZFTlQKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAJKHJldmlz
aW9uIDQxNDU3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ2LDIyICs0NiwyMiBAQCBzdGF0aWMgSW50UG9pbnQgZ2xvYmFsUG9z
aXRpb25Gb3JFdmVudChICiAgICAgcmV0dXJuIHBvaW50OwogfQogCi1pbnQgUGxhdGZvcm1XaGVl
bEV2ZW50Ojpob3Jpem9udGFsTGluZU11bHRpcGxpZXIoKSBjb25zdAorc3RhdGljIGludCBob3Jp
em9udGFsU2Nyb2xsQ2hhcnMoKQogewogICAgIHN0YXRpYyBVTE9ORyBzY3JvbGxDaGFyczsKICAg
ICBpZiAoIXNjcm9sbENoYXJzICYmICFTeXN0ZW1QYXJhbWV0ZXJzSW5mbyhTUElfR0VUV0hFRUxT
Q1JPTExDSEFSUywgMCwgJnNjcm9sbENoYXJzLCAwKSkKLSAgICAgICAgc2Nyb2xsQ2hhcnMgPSBj
TGluZU11bHRpcGxpZXI7CisgICAgICAgIHNjcm9sbENoYXJzID0gMTsKICAgICByZXR1cm4gc2Ny
b2xsQ2hhcnM7CiB9CiAKLWludCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OnZlcnRpY2FsTGluZU11bHRp
cGxpZXIoKSBjb25zdAorc3RhdGljIGludCB2ZXJ0aWNhbFNjcm9sbExpbmVzKCkKIHsKICAgICBz
dGF0aWMgVUxPTkcgc2Nyb2xsTGluZXM7CiAgICAgaWYgKCFzY3JvbGxMaW5lcyAmJiAhU3lzdGVt
UGFyYW1ldGVyc0luZm8oU1BJX0dFVFdIRUVMU0NST0xMTElORVMsIDAsICZzY3JvbGxMaW5lcywg
MCkpCi0gICAgICAgIHNjcm9sbExpbmVzID0gY0xpbmVNdWx0aXBsaWVyOworICAgICAgICBzY3Jv
bGxMaW5lcyA9IDM7CiAgICAgcmV0dXJuIHNjcm9sbExpbmVzOwogfQotICAgICAgICAKKwogUGxh
dGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoSFdORCBoV25kLCBXUEFSQU0gd1Bh
cmFtLCBMUEFSQU0gbFBhcmFtLCBib29sIGlzSG9yaXpvbnRhbCkKICAgICA6IG1fcG9zaXRpb24o
cG9zaXRpb25Gb3JFdmVudChoV25kLCBsUGFyYW0pKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihn
bG9iYWxQb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJhbSkpCkBAIC03MSwyMyArNzEsMjkgQEAg
UGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoSAogICAgICwgbV9hbHRLZXko
R2V0S2V5U3RhdGUoVktfTUVOVSkgJiBISUdIX0JJVF9NQVNLX1NIT1JUKQogICAgICwgbV9tZXRh
S2V5KG1fYWx0S2V5KSAvLyBGSVhNRTogV2UnbGwgaGF2ZSB0byB0ZXN0IG90aGVyIGJyb3dzZXJz
CiB7Ci0gICAgc3RhdGljIFVMT05HIHNjcm9sbExpbmVzLCBzY3JvbGxDaGFyczsKKyAgICAvLyBI
b3cgbWFueSBwaXhlbHMgc2hvdWxkIHdlIHNjcm9sbCBwZXIgbGluZT8gIEdlY2tvIHVzZXMgdGhl
IGhlaWdodCBvZiB0aGUKKyAgICAvLyBjdXJyZW50IGxpbmUsIHdoaWNoIG1lYW5zIHNjcm9sbCBk
aXN0YW5jZSBjaGFuZ2VzIGFzIHlvdSBnbyB0aHJvdWdoIHRoZQorICAgIC8vIHBhZ2Ugb3IgZ28g
dG8gZGlmZmVyZW50IHBhZ2VzLiAgSUUgNyBpcyB+NTAgcHgvbGluZSwgYWx0aG91Z2ggdGhlIHZh
bHVlCisgICAgLy8gc2VlbXMgdG8gdmFyeSBzbGlnaHRseSBieSBwYWdlIGFuZCB6b29tIGxldmVs
LiAgU2luY2UgSUUgNyBoYXMgYQorICAgIC8vIHNtb290aGluZyBhbGdvcml0aG0gb24gc2Nyb2xs
aW5nLCBpdCBjYW4gZ2V0IGF3YXkgd2l0aCBzbGlnaHRseSBsYXJnZXIKKyAgICAvLyBzY3JvbGwg
dmFsdWVzIHdpdGhvdXQgZmVlbGluZyBqZXJreS4gIEhlcmUgd2UgdXNlIDEwMCBweCBwZXIgdGhy
ZWUgbGluZXMKKyAgICAvLyAodGhlIGRlZmF1bHQgc2Nyb2xsIGFtb3VudCBvbiBXaW5kb3dzIGlz
IHRocmVlIGxpbmVzIHBlciB3aGVlbCB0aWNrKS4KKyAgICBzdGF0aWMgY29uc3QgZmxvYXQgY1Nj
cm9sbGJhclBpeGVsc1BlckxpbmUgPSAxMDAuMGYgLyAzLjBmOwogICAgIGZsb2F0IGRlbHRhID0g
R0VUX1dIRUVMX0RFTFRBX1dQQVJBTSh3UGFyYW0pIC8gKGZsb2F0KVdIRUVMX0RFTFRBOwogICAg
IGlmIChpc0hvcml6b250YWwpIHsKICAgICAgICAgLy8gV2luZG93cyBzZW5kcyBhIHBvc2l0aXZl
IGRlbHRhIGZvciBzY3JvbGxpbmcgcmlnaHQsIHdoaWxlIEFwcEtpdAogICAgICAgICAvLyBzZW5k
cyBhIG5lZ2F0aXZlIGRlbHRhLiBFdmVudEhhbmRsZXIgZXhwZWN0cyB0aGUgQXBwS2l0IHZhbHVl
cywKICAgICAgICAgLy8gc28gd2UgaGF2ZSB0byBuZWdhdGUgb3VyIGhvcml6b250YWwgZGVsdGEg
dG8gbWF0Y2guCi0gICAgICAgIG1fZGVsdGFYID0gLWRlbHRhICogaG9yaXpvbnRhbExpbmVNdWx0
aXBsaWVyKCk7CisgICAgICAgIG1fZGVsdGFYID0gLWRlbHRhICogKGZsb2F0KWhvcml6b250YWxT
Y3JvbGxDaGFycygpICogY1Njcm9sbGJhclBpeGVsc1BlckxpbmU7CiAgICAgICAgIG1fZGVsdGFZ
ID0gMDsKLSAgICAgICAgbV9ncmFudWxhcml0eSA9IFNjcm9sbEJ5TGluZVdoZWVsRXZlbnQ7Cisg
ICAgICAgIG1fZ3JhbnVsYXJpdHkgPSBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudDsKICAgICB9IGVs
c2UgewogICAgICAgICBtX2RlbHRhWCA9IDA7CiAgICAgICAgIG1fZGVsdGFZID0gZGVsdGE7Ci0g
ICAgICAgIGludCB2ZXJ0aWNhbE11bHRpcGxpZXIgPSB2ZXJ0aWNhbExpbmVNdWx0aXBsaWVyKCk7
Ci0gICAgICAgIC8vIEEgbXVsdGlwbGllciBvZiAtMSBpcyB1c2VkIHRvIG1lYW4gdGhhdCB2ZXJ0
aWNhbCB3aGVlbCBzY3JvbGxpbmcgc2hvdWxkIGJlIGRvbmUgYnkgcGFnZS4KLSAgICAgICAgbV9n
cmFudWxhcml0eSA9ICh2ZXJ0aWNhbE11bHRpcGxpZXIgPT0gLTEpID8gU2Nyb2xsQnlQYWdlV2hl
ZWxFdmVudCA6IFNjcm9sbEJ5TGluZVdoZWVsRXZlbnQ7Ci0gICAgICAgIGlmIChtX2dyYW51bGFy
aXR5ID09IFNjcm9sbEJ5TGluZVdoZWVsRXZlbnQpCi0gICAgICAgICAgICBtX2RlbHRhWSAqPSB2
ZXJ0aWNhbE11bHRpcGxpZXI7CisgICAgICAgIGludCB2ZXJ0aWNhbE11bHRpcGxpZXIgPSB2ZXJ0
aWNhbFNjcm9sbExpbmVzKCk7CisgICAgICAgIG1fZ3JhbnVsYXJpdHkgPSAodmVydGljYWxNdWx0
aXBsaWVyID09IFdIRUVMX1BBR0VTQ1JPTEwpID8gU2Nyb2xsQnlQYWdlV2hlZWxFdmVudCA6IFNj
cm9sbEJ5UGl4ZWxXaGVlbEV2ZW50OworICAgICAgICBpZiAobV9ncmFudWxhcml0eSA9PSBTY3Jv
bGxCeVBpeGVsV2hlZWxFdmVudCkKKyAgICAgICAgICAgIG1fZGVsdGFZICo9IChmbG9hdCl2ZXJ0
aWNhbE11bHRpcGxpZXIgKiBjU2Nyb2xsYmFyUGl4ZWxzUGVyTGluZTsKICAgICB9CiB9CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCShyZXZpc2lvbiA0
MTQ1NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vd3gvTW91c2VXaGVlbEV2ZW50V3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVdoZWVsRXZlbnQuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXIuaCIKIAogI2lu
Y2x1ZGUgPHd4L2RlZnMuaD4KICNpbmNsdWRlIDx3eC9ldmVudC5oPgpAQCAtMzQsNyArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxF
dmVudChjb25zdCB3eE1vdXNlRXZlbnQmIGV2ZW50LCBjb25zdCB3eFBvaW50JiBnbG9iYWxQb2lu
dCkKICAgICA6IG1fcG9zaXRpb24oZXZlbnQuR2V0UG9zaXRpb24oKSkKICAgICAsIG1fZ2xvYmFs
UG9zaXRpb24oZ2xvYmFsUG9pbnQpCi0gICAgLCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5TGluZVdo
ZWVsRXZlbnQpCisgICAgLCBtX2dyYW51bGFyaXR5KFNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50KQog
ICAgICwgbV9zaGlmdEtleShldmVudC5TaGlmdERvd24oKSkKICAgICAsIG1fY3RybEtleShldmVu
dC5Db250cm9sRG93bigpKQogICAgICwgbV9hbHRLZXkoZXZlbnQuQWx0RG93bigpKQpAQCAtNDQs
NyArNDUsNyBAQCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudChjCiAgICAg
LCBtX2lzQWNjZXB0ZWQoZmFsc2UpCiB7CiAgICAgLy8gRklYTUU6IHJldHJpZXZlIHRoZSB1c2Vy
IHNldHRpbmcgZm9yIHRoZSBudW1iZXIgb2YgbGluZXMgdG8gc2Nyb2xsIG9uIGVhY2ggd2hlZWwg
ZXZlbnQKLSAgICBtX2RlbHRhWSAqPSBob3Jpem9udGFsTGluZU11bHRpcGxpZXIoKTsKKyAgICBt
X2RlbHRhWSAqPSAoZmxvYXQpY1Njcm9sbGJhclBpeGVsc1BlckxpbmVTdGVwOwogfQogCiB9Cg==
</data>
<flag name="review"
          id="13873"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>