<?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>37934</bug_id>
          
          <creation_ts>2010-04-21 10:40:28 -0700</creation_ts>
          <short_desc>[Qt] QtLauncher: make FPS measurement accurate</short_desc>
          <delta_ts>2024-09-25 10:49:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Performance, Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>loulockman8</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>215398</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-21 10:40:28 -0700</bug_when>
    <thetext>currently FPS measurements in Qt-launcher gives bogus results, as it measures paint events which are different than frames. we want a more accurate measurement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215400</commentid>
    <comment_count>1</comment_count>
      <attachid>53969</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-21 10:53:09 -0700</bug_when>
    <thetext>Created attachment 53969
correct fps measurement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215405</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-21 11:01:20 -0700</bug_when>
    <thetext>Attachment 53969 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/QtLauncher/fpsmeasure.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/QtLauncher/fpsmeasure.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/QtLauncher/fpsmeasure.cpp:42:  Missing space after ,  [whitespace/comma] [3]
WebKitTools/QtLauncher/fpsmeasure.h:28:  #ifndef header guard has wrong style, please use: fpsmeasure_h  [build/header_guard] [5]
WebKitTools/QtLauncher/fpsmeasure.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/QtLauncher/fpsmeasure.h:36:  This { should be at the end of the previous line  [whitespace/braces] [4]
WebKitTools/QtLauncher/fpsmeasure.h:40:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 7 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215410</commentid>
    <comment_count>3</comment_count>
      <attachid>53972</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-21 11:07:24 -0700</bug_when>
    <thetext>Created attachment 53972
fix some style issues

one of the style issues cannot be fixed - fixed all the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215416</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-21 11:12:53 -0700</bug_when>
    <thetext>Attachment 53972 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/QtLauncher/fpsmeasure.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215487</commentid>
    <comment_count>5</comment_count>
      <attachid>53988</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-04-21 13:53:16 -0700</bug_when>
    <thetext>Created attachment 53988
Fixed namings and added comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215488</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-21 13:55:21 -0700</bug_when>
    <thetext>Attachment 53988 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/QtLauncher/fpstimer.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/QtLauncher/fpstimer.h:28:  #ifndef header guard has wrong style, please use: fpstimer_h  [build/header_guard] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215670</commentid>
    <comment_count>7</comment_count>
      <attachid>53988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 20:32:02 -0700</bug_when>
    <thetext>Comment on attachment 53988
Fixed namings and added comments

Clearing flags on attachment: 53988

Committed r58047: &lt;http://trac.webkit.org/changeset/58047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215671</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 20:32:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216977</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-26 03:44:32 -0700</bug_when>
    <thetext>Revision r58047 cherry-picked into qtwebkit-2.0 with commit d566cf9e73b32ce286f580de1f19627f38353afb</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53969</attachid>
            <date>2010-04-21 10:53:09 -0700</date>
            <delta_ts>2010-04-21 11:07:24 -0700</delta_ts>
            <desc>correct fps measurement</desc>
            <filename>patch-37934-1.diff</filename>
            <type>text/plain</type>
            <size>8416</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkYWExMjM5Li43NzhhMDMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDQt
MjEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFF0TGF1bmNoZXI6
IG1ha2UgRlBTIG1lYXN1cmVtZW50IGFjY3VyYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzkzNAorCisgICAgICAgIEluc3RlYWQgb2YgY291bnRp
bmcgcGFpbnRzLCB3aGljaCBhcmUgbm90IGludGVyY2hhbmdlYWJsZSB3aXRoIGZyYW1lcyB0aGF0
CisgICAgICAgIHRoZSB1c2VyIHNlZXMsIHdlIG5vdyBzZXQgYW4gYXJiaXRyYXJ5IHRpbWVyIGZv
ciBGUFMgbWVhc3VyZW1lbnRzLiBUaGUgaWRlYSBpcworICAgICAgICB0aGF0IGlmIHRoZSBtYWlu
IHRocmVhZCBpcyBkZWxheWVkIGZvciBhbnkgcmVhc29uLCB0aGF0IHRpbWVyIHdvdWxkIGJlIGRl
bGF5ZWQKKyAgICAgICAgYXMgd2VsbC4KKworICAgICAgICAqIFF0TGF1bmNoZXIvUXRMYXVuY2hl
ci5wcm86CisgICAgICAgICogUXRMYXVuY2hlci9mcHNtZWFzdXJlLmNwcDogQWRkZWQuCisgICAg
ICAgIChGcHNNZWFzdXJlOjpGcHNNZWFzdXJlKToKKyAgICAgICAgKEZwc01lYXN1cmU6Om51bUZy
YW1lcyk6CisgICAgICAgIChGcHNNZWFzdXJlOjpzdGFydCk6CisgICAgICAgIChGcHNNZWFzdXJl
OjpzdG9wKToKKyAgICAgICAgKEZwc01lYXN1cmU6OnRpbWVyRXZlbnQpOgorICAgICAgICAqIFF0
TGF1bmNoZXIvZnBzbWVhc3VyZS5oOiBBZGRlZC4KKyAgICAgICAgKiBRdExhdW5jaGVyL3dlYnZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnNldEZyYW1lUmF0ZU1lYXN1
cmVtZW50RW5hYmxlZCk6CisgICAgICAgIChXZWJWaWV3R3JhcGhpY3NCYXNlZDo6dXBkYXRlRnJh
bWVSYXRlKToKKyAgICAgICAgKFdlYlZpZXdHcmFwaGljc0Jhc2VkOjpwYWludEV2ZW50KToKKyAg
ICAgICAgKiBRdExhdW5jaGVyL3dlYnZpZXcuaDoKKwogMjAxMC0wNC0yMSAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9RdExhdW5jaGVyLnBybyBi
L1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvUXRMYXVuY2hlci5wcm8KaW5kZXggMDg3M2JkYS4uNmE2
ZjEzYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9RdExhdW5jaGVyLnBybwor
KysgYi9XZWJLaXRUb29scy9RdExhdW5jaGVyL1F0TGF1bmNoZXIucHJvCkBAIC04LDYgKzgsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICB1dGlscy5jcHAgXAogICAgIHdlYnBhZ2UuY3BwIFwKICAgICB3
ZWJ2aWV3LmNwcCBcCisgICAgZnBzbWVhc3VyZS5jcHAgXAogCiBIRUFERVJTICs9IFwKICAgICBs
b2NhdGlvbmVkaXQuaCBcCkBAIC0xNyw2ICsxOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHdlYmlu
c3BlY3Rvci5oIFwKICAgICB3ZWJwYWdlLmggXAogICAgIHdlYnZpZXcuaCBcCisgICAgZnBzbWVh
c3VyZS5oIFwKIAogQ09ORklHIC09IGFwcF9idW5kbGUKIENPTkZJRyArPSB1aXRvb2xzCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9RdExhdW5jaGVyL2Zwc21lYXN1cmUuY3BwIGIvV2ViS2l0VG9v
bHMvUXRMYXVuY2hlci9mcHNtZWFzdXJlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5hMWE3NDg0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hl
ci9mcHNtZWFzdXJlLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImZwc21lYXN1cmUuaCIKKyNp
bmNsdWRlIDxRVGltZXJFdmVudD4KKyNpbmNsdWRlIDxRRGF0ZVRpbWU+CisKK0Zwc01lYXN1cmU6
OkZwc01lYXN1cmUoUU9iamVjdCogcGFyZW50KQorICAgICAgICA6IFFPYmplY3QocGFyZW50KQor
eworfQorCitpbnQgRnBzTWVhc3VyZTo6bnVtRnJhbWVzKGludCBzcGFuTWlsbGlzKQoreworICAg
IGNvbnN0IFFUaW1lIG5vdyA9IFFUaW1lOjpjdXJyZW50VGltZSgpOworCisgICAgaW50IGNvdW50
ID0gMDsKKyAgICBmb3IgKGludCBpID0gbV9mcmFtZXMubGVuZ3RoKCkgLSAxOyBpID49IDA7IC0t
aSwrK2NvdW50KSB7CisgICAgICAgIGludCBtc2VjcyA9IG1fZnJhbWVzW2ldLm1zZWNzVG8obm93
KTsKKyAgICAgICAgaWYgKG1zZWNzIDwgMCkKKyAgICAgICAgICAgIG1zZWNzICs9IDI0ICogNjAg
KiA2MCAqIDEwMDA7CisgICAgICAgIGlmIChtc2VjcyA+IHNwYW5NaWxsaXMpCisgICAgICAgICAg
ICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit2b2lkIEZwc01lYXN1cmU6
OnN0YXJ0KCkKK3sKKyAgICBtX3RpbWVyID0gc3RhcnRUaW1lcigxNik7Cit9Cit2b2lkIEZwc01l
YXN1cmU6OnN0b3AoKQoreworICAgIGtpbGxUaW1lcihtX3RpbWVyKTsKKyAgICBtX2ZyYW1lcy5j
bGVhcigpOworfQorCit2b2lkIEZwc01lYXN1cmU6OnRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqIGV2
ZW50KQoreworICAgIGlmIChldmVudC0+dGltZXJJZCgpICE9ICBtX3RpbWVyKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9mcmFtZXMuYXBwZW5kKFFUaW1lOjpjdXJyZW50VGltZSgpKTsKKyAgICBp
ZiAobV9mcmFtZXMubGVuZ3RoKCkgPiAxMDAwMCkKKyAgICAgICAgbV9mcmFtZXMuZXJhc2UobV9m
cmFtZXMuYmVnaW4oKSwgbV9mcmFtZXMuYmVnaW4oKSArIDIwMDApOworfQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHNtZWFzdXJlLmggYi9XZWJLaXRUb29scy9RdExhdW5j
aGVyL2Zwc21lYXN1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmJk
ZmFiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHNtZWFzdXJl
LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgRlBTTUVBU1VSRV9ICisjZGVmaW5lIEZQU01FQVNVUkVf
SAorCisjaW5jbHVkZSA8UU9iamVjdD4KKyNpbmNsdWRlIDxRU2V0PgorI2luY2x1ZGUgPFFEYXRl
VGltZT4KKworY2xhc3MgRnBzTWVhc3VyZSA6IHB1YmxpYyBRT2JqZWN0Cit7CisgICAgUV9PQkpF
Q1QKKworcHVibGljOgorICAgIEZwc01lYXN1cmUoUU9iamVjdCogcGFyZW50ID0gTlVMTCk7Cisg
ICAgaW50IG51bUZyYW1lcyhpbnQgc3Bhbk1pbGxpcyA9IDEwMDApOworCitwdWJsaWMgUV9TTE9U
UzoKKyAgICB2b2lkIHN0YXJ0KCk7CisgICAgdm9pZCBzdG9wKCk7CisKK3Byb3RlY3RlZCBzbG90
czoKKyAgICB2aXJ0dWFsIHZvaWQgdGltZXJFdmVudChRVGltZXJFdmVudCopOworCitwcml2YXRl
OgorICAgIGludCBtX3RpbWVyOworICAgIFFMaXN0PFFUaW1lPiBtX2ZyYW1lczsKK307CisKKyNl
bmRpZiAvLyBGUFNNRUFTVVJFX0gKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F0TGF1bmNoZXIv
d2Vidmlldy5jcHAgYi9XZWJLaXRUb29scy9RdExhdW5jaGVyL3dlYnZpZXcuY3BwCmluZGV4IDhj
OTQ0MzguLjQwZGNmYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvd2Vidmll
dy5jcHAKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2aWV3LmNwcApAQCAtMTA2LDI1
ICsxMDYsMjQgQEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6c2V0RnJhbWVSYXRlTWVhc3Vy
ZW1lbnRFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBtX21lYXN1cmVGcHMgPSBlbmFibGVkOwog
ICAgIGlmIChtX21lYXN1cmVGcHMpIHsKICAgICAgICAgbV9sYXN0Q29uc3VsdFRpbWUgPSBtX3N0
YXJ0VGltZSA9IFFUaW1lOjpjdXJyZW50VGltZSgpOworICAgICAgICBtX2Zwc01lYXN1cmUuc3Rh
cnQoKTsKICAgICAgICAgbV91cGRhdGVUaW1lci0+c3RhcnQoKTsKLSAgICB9IGVsc2UKKyAgICB9
IGVsc2UgeworICAgICAgICBtX2Zwc01lYXN1cmUuc3RvcCgpOwogICAgICAgICBtX3VwZGF0ZVRp
bWVyLT5zdG9wKCk7CisgICAgfQogfQogCiB2b2lkIFdlYlZpZXdHcmFwaGljc0Jhc2VkOjp1cGRh
dGVGcmFtZVJhdGUoKQogewotICAgIFFUaW1lIG5vdyA9IFFUaW1lOjpjdXJyZW50VGltZSgpOwot
CisgICAgY29uc3QgUVRpbWUgbm93ID0gUVRpbWU6OmN1cnJlbnRUaW1lKCk7CiAgICAgaW50IGlu
dGVydmFsID0gbV9sYXN0Q29uc3VsdFRpbWUubXNlY3NUbyhub3cpOwotICAgIGludCB0b3RhbCA9
IG1fc3RhcnRUaW1lLm1zZWNzVG8obm93KTsKLQotICAgIGludCBhdmVyYWdlID0gdG90YWwgPyBt
X251bVBhaW50c1RvdGFsICogMTAwMCAvIHRvdGFsIDogMDsKLSAgICBpbnQgY3VycmVudCA9IGlu
dGVydmFsID8gbV9udW1QYWludHNTaW5jZUxhc3RNZWFzdXJlICogMTAwMCAvIGludGVydmFsIDog
MDsKKyAgICBpbnQgZnJhbWVzID0gbV9mcHNNZWFzdXJlLm51bUZyYW1lcyhpbnRlcnZhbCk7Cisg
ICAgaW50IGN1cnJlbnQgPSBpbnRlcnZhbCA/IGZyYW1lcyAqIDEwMDAgLyBpbnRlcnZhbCA6IDA7
CiAKICAgICBlbWl0IGN1cnJlbnRGUFNVcGRhdGVkKGN1cnJlbnQpOwogCiAgICAgbV9sYXN0Q29u
c3VsdFRpbWUgPSBub3c7Ci0gICAgbV9udW1QYWludHNTaW5jZUxhc3RNZWFzdXJlID0gMDsKIH0K
IAogdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6YW5pbWF0ZWRGbGlwKCkKQEAgLTE1Niw4ICsx
NTUsNiBAQCB2b2lkIFdlYlZpZXdHcmFwaGljc0Jhc2VkOjpwYWludEV2ZW50KFFQYWludEV2ZW50
KiBldmVudCkKICAgICBRR3JhcGhpY3NWaWV3OjpwYWludEV2ZW50KGV2ZW50KTsKICAgICBpZiAo
IW1fbWVhc3VyZUZwcykKICAgICAgICAgcmV0dXJuOwotICAgIG1fbnVtUGFpbnRzU2luY2VMYXN0
TWVhc3VyZSsrOwotICAgIG1fbnVtUGFpbnRzVG90YWwrKzsKIH0KIAogc3RhdGljIFFNZW51KiBj
cmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFnZSwgUVBvaW50IHBvc2l0aW9uKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2aWV3LmggYi9XZWJLaXRUb29scy9RdExh
dW5jaGVyL3dlYnZpZXcuaAppbmRleCBlOGMzMjI2Li5hMTMyNjM0IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9RdExhdW5jaGVyL3dlYnZpZXcuaAorKysgYi9XZWJLaXRUb29scy9RdExhdW5jaGVy
L3dlYnZpZXcuaApAQCAtMzMsNiArMzMsNyBAQAogI2lmbmRlZiB3ZWJ2aWV3X2gKICNkZWZpbmUg
d2Vidmlld19oCiAKKyNpbmNsdWRlICJmcHNtZWFzdXJlLmgiCiAjaW5jbHVkZSAid2VicGFnZS5o
IgogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cWdyYXBoaWNzd2Vidmlldy5oPgpA
QCAtMTE5LDYgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX21lYXN1cmVGcHM7CiAgICAg
cXJlYWwgbV95Um90YXRpb247CiAgICAgYm9vbCBtX3Jlc2l6ZXNUb0NvbnRlbnRzOworICAgIEZw
c01lYXN1cmUgbV9mcHNNZWFzdXJlOwogfTsKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53972</attachid>
            <date>2010-04-21 11:07:24 -0700</date>
            <delta_ts>2010-04-21 13:53:16 -0700</delta_ts>
            <desc>fix some style issues</desc>
            <filename>patch-37934-2.diff</filename>
            <type>text/plain</type>
            <size>8411</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkYWExMjM5Li43NzhhMDMzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDQt
MjEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFF0TGF1bmNoZXI6
IG1ha2UgRlBTIG1lYXN1cmVtZW50IGFjY3VyYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzkzNAorCisgICAgICAgIEluc3RlYWQgb2YgY291bnRp
bmcgcGFpbnRzLCB3aGljaCBhcmUgbm90IGludGVyY2hhbmdlYWJsZSB3aXRoIGZyYW1lcyB0aGF0
CisgICAgICAgIHRoZSB1c2VyIHNlZXMsIHdlIG5vdyBzZXQgYW4gYXJiaXRyYXJ5IHRpbWVyIGZv
ciBGUFMgbWVhc3VyZW1lbnRzLiBUaGUgaWRlYSBpcworICAgICAgICB0aGF0IGlmIHRoZSBtYWlu
IHRocmVhZCBpcyBkZWxheWVkIGZvciBhbnkgcmVhc29uLCB0aGF0IHRpbWVyIHdvdWxkIGJlIGRl
bGF5ZWQKKyAgICAgICAgYXMgd2VsbC4KKworICAgICAgICAqIFF0TGF1bmNoZXIvUXRMYXVuY2hl
ci5wcm86CisgICAgICAgICogUXRMYXVuY2hlci9mcHNtZWFzdXJlLmNwcDogQWRkZWQuCisgICAg
ICAgIChGcHNNZWFzdXJlOjpGcHNNZWFzdXJlKToKKyAgICAgICAgKEZwc01lYXN1cmU6Om51bUZy
YW1lcyk6CisgICAgICAgIChGcHNNZWFzdXJlOjpzdGFydCk6CisgICAgICAgIChGcHNNZWFzdXJl
OjpzdG9wKToKKyAgICAgICAgKEZwc01lYXN1cmU6OnRpbWVyRXZlbnQpOgorICAgICAgICAqIFF0
TGF1bmNoZXIvZnBzbWVhc3VyZS5oOiBBZGRlZC4KKyAgICAgICAgKiBRdExhdW5jaGVyL3dlYnZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnNldEZyYW1lUmF0ZU1lYXN1
cmVtZW50RW5hYmxlZCk6CisgICAgICAgIChXZWJWaWV3R3JhcGhpY3NCYXNlZDo6dXBkYXRlRnJh
bWVSYXRlKToKKyAgICAgICAgKFdlYlZpZXdHcmFwaGljc0Jhc2VkOjpwYWludEV2ZW50KToKKyAg
ICAgICAgKiBRdExhdW5jaGVyL3dlYnZpZXcuaDoKKwogMjAxMC0wNC0yMSAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9RdExhdW5jaGVyLnBybyBi
L1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvUXRMYXVuY2hlci5wcm8KaW5kZXggMDg3M2JkYS4uNmE2
ZjEzYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9RdExhdW5jaGVyLnBybwor
KysgYi9XZWJLaXRUb29scy9RdExhdW5jaGVyL1F0TGF1bmNoZXIucHJvCkBAIC04LDYgKzgsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICB1dGlscy5jcHAgXAogICAgIHdlYnBhZ2UuY3BwIFwKICAgICB3
ZWJ2aWV3LmNwcCBcCisgICAgZnBzbWVhc3VyZS5jcHAgXAogCiBIRUFERVJTICs9IFwKICAgICBs
b2NhdGlvbmVkaXQuaCBcCkBAIC0xNyw2ICsxOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHdlYmlu
c3BlY3Rvci5oIFwKICAgICB3ZWJwYWdlLmggXAogICAgIHdlYnZpZXcuaCBcCisgICAgZnBzbWVh
c3VyZS5oIFwKIAogQ09ORklHIC09IGFwcF9idW5kbGUKIENPTkZJRyArPSB1aXRvb2xzCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9RdExhdW5jaGVyL2Zwc21lYXN1cmUuY3BwIGIvV2ViS2l0VG9v
bHMvUXRMYXVuY2hlci9mcHNtZWFzdXJlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi41MzdkODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hl
ci9mcHNtZWFzdXJlLmNwcApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImZwc21lYXN1cmUuaCIKKwor
I2luY2x1ZGUgPFFEYXRlVGltZT4KKyNpbmNsdWRlIDxRVGltZXJFdmVudD4KKworRnBzTWVhc3Vy
ZTo6RnBzTWVhc3VyZShRT2JqZWN0KiBwYXJlbnQpCisgICAgICAgIDogUU9iamVjdChwYXJlbnQp
Cit7Cit9CisKK2ludCBGcHNNZWFzdXJlOjpudW1GcmFtZXMoaW50IHNwYW5NaWxsaXMpCit7Cisg
ICAgY29uc3QgUVRpbWUgbm93ID0gUVRpbWU6OmN1cnJlbnRUaW1lKCk7CisKKyAgICBpbnQgY291
bnQgPSAwOworICAgIGZvciAoaW50IGkgPSBtX2ZyYW1lcy5sZW5ndGgoKSAtIDE7IGkgPj0gMDsg
LS1pLCArK2NvdW50KSB7CisgICAgICAgIGludCBtc2VjcyA9IG1fZnJhbWVzW2ldLm1zZWNzVG8o
bm93KTsKKyAgICAgICAgaWYgKG1zZWNzIDwgMCkKKyAgICAgICAgICAgIG1zZWNzICs9IDI0ICog
NjAgKiA2MCAqIDEwMDA7CisgICAgICAgIGlmIChtc2VjcyA+IHNwYW5NaWxsaXMpCisgICAgICAg
ICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit2b2lkIEZwc01lYXN1
cmU6OnN0YXJ0KCkKK3sKKyAgICBtX3RpbWVyID0gc3RhcnRUaW1lcigxNik7Cit9Cit2b2lkIEZw
c01lYXN1cmU6OnN0b3AoKQoreworICAgIGtpbGxUaW1lcihtX3RpbWVyKTsKKyAgICBtX2ZyYW1l
cy5jbGVhcigpOworfQorCit2b2lkIEZwc01lYXN1cmU6OnRpbWVyRXZlbnQoUVRpbWVyRXZlbnQq
IGV2ZW50KQoreworICAgIGlmIChldmVudC0+dGltZXJJZCgpICE9ICBtX3RpbWVyKQorICAgICAg
ICByZXR1cm47CisgICAgbV9mcmFtZXMuYXBwZW5kKFFUaW1lOjpjdXJyZW50VGltZSgpKTsKKyAg
ICBpZiAobV9mcmFtZXMubGVuZ3RoKCkgPiAxMDAwMCkKKyAgICAgICAgbV9mcmFtZXMuZXJhc2Uo
bV9mcmFtZXMuYmVnaW4oKSwgbV9mcmFtZXMuYmVnaW4oKSArIDIwMDApOworfQpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHNtZWFzdXJlLmggYi9XZWJLaXRUb29scy9RdExh
dW5jaGVyL2Zwc21lYXN1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
M2QyNmI4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHNtZWFz
dXJlLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgZnBzbWVhc3VyZV9oCisjZGVmaW5lIGZwc21lYXN1
cmVfaAorCisjaW5jbHVkZSA8UU9iamVjdD4KKyNpbmNsdWRlIDxRU2V0PgorI2luY2x1ZGUgPFFU
aW1lPgorCitjbGFzcyBGcHNNZWFzdXJlIDogcHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNU
CisKK3B1YmxpYzoKKyAgICBGcHNNZWFzdXJlKFFPYmplY3QqIHBhcmVudCA9IDApOworICAgIGlu
dCBudW1GcmFtZXMoaW50IHNwYW5NaWxsaXMgPSAxMDAwKTsKKworcHVibGljIFFfU0xPVFM6Cisg
ICAgdm9pZCBzdGFydCgpOworICAgIHZvaWQgc3RvcCgpOworCitwcm90ZWN0ZWQgc2xvdHM6Cisg
ICAgdmlydHVhbCB2b2lkIHRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqKTsKKworcHJpdmF0ZToKKyAg
ICBpbnQgbV90aW1lcjsKKyAgICBRTGlzdDxRVGltZT4gbV9mcmFtZXM7Cit9OworCisjZW5kaWYg
Ly8gRlBTTUVBU1VSRV9ICmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdExhdW5jaGVyL3dlYnZp
ZXcuY3BwIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2aWV3LmNwcAppbmRleCA4Yzk0NDM4
Li40MGRjZmJkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdExhdW5jaGVyL3dlYnZpZXcuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvd2Vidmlldy5jcHAKQEAgLTEwNiwyNSArMTA2
LDI0IEBAIHZvaWQgV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnNldEZyYW1lUmF0ZU1lYXN1cmVtZW50
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgbV9tZWFzdXJlRnBzID0gZW5hYmxlZDsKICAgICBp
ZiAobV9tZWFzdXJlRnBzKSB7CiAgICAgICAgIG1fbGFzdENvbnN1bHRUaW1lID0gbV9zdGFydFRp
bWUgPSBRVGltZTo6Y3VycmVudFRpbWUoKTsKKyAgICAgICAgbV9mcHNNZWFzdXJlLnN0YXJ0KCk7
CiAgICAgICAgIG1fdXBkYXRlVGltZXItPnN0YXJ0KCk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNl
IHsKKyAgICAgICAgbV9mcHNNZWFzdXJlLnN0b3AoKTsKICAgICAgICAgbV91cGRhdGVUaW1lci0+
c3RvcCgpOworICAgIH0KIH0KIAogdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6dXBkYXRlRnJh
bWVSYXRlKCkKIHsKLSAgICBRVGltZSBub3cgPSBRVGltZTo6Y3VycmVudFRpbWUoKTsKLQorICAg
IGNvbnN0IFFUaW1lIG5vdyA9IFFUaW1lOjpjdXJyZW50VGltZSgpOwogICAgIGludCBpbnRlcnZh
bCA9IG1fbGFzdENvbnN1bHRUaW1lLm1zZWNzVG8obm93KTsKLSAgICBpbnQgdG90YWwgPSBtX3N0
YXJ0VGltZS5tc2Vjc1RvKG5vdyk7Ci0KLSAgICBpbnQgYXZlcmFnZSA9IHRvdGFsID8gbV9udW1Q
YWludHNUb3RhbCAqIDEwMDAgLyB0b3RhbCA6IDA7Ci0gICAgaW50IGN1cnJlbnQgPSBpbnRlcnZh
bCA/IG1fbnVtUGFpbnRzU2luY2VMYXN0TWVhc3VyZSAqIDEwMDAgLyBpbnRlcnZhbCA6IDA7Cisg
ICAgaW50IGZyYW1lcyA9IG1fZnBzTWVhc3VyZS5udW1GcmFtZXMoaW50ZXJ2YWwpOworICAgIGlu
dCBjdXJyZW50ID0gaW50ZXJ2YWwgPyBmcmFtZXMgKiAxMDAwIC8gaW50ZXJ2YWwgOiAwOwogCiAg
ICAgZW1pdCBjdXJyZW50RlBTVXBkYXRlZChjdXJyZW50KTsKIAogICAgIG1fbGFzdENvbnN1bHRU
aW1lID0gbm93OwotICAgIG1fbnVtUGFpbnRzU2luY2VMYXN0TWVhc3VyZSA9IDA7CiB9CiAKIHZv
aWQgV2ViVmlld0dyYXBoaWNzQmFzZWQ6OmFuaW1hdGVkRmxpcCgpCkBAIC0xNTYsOCArMTU1LDYg
QEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6cGFpbnRFdmVudChRUGFpbnRFdmVudCogZXZl
bnQpCiAgICAgUUdyYXBoaWNzVmlldzo6cGFpbnRFdmVudChldmVudCk7CiAgICAgaWYgKCFtX21l
YXN1cmVGcHMpCiAgICAgICAgIHJldHVybjsKLSAgICBtX251bVBhaW50c1NpbmNlTGFzdE1lYXN1
cmUrKzsKLSAgICBtX251bVBhaW50c1RvdGFsKys7CiB9CiAKIHN0YXRpYyBRTWVudSogY3JlYXRl
Q29udGV4dE1lbnUoUVdlYlBhZ2UqIHBhZ2UsIFFQb2ludCBwb3NpdGlvbikKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvd2Vidmlldy5oIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hl
ci93ZWJ2aWV3LmgKaW5kZXggZThjMzIyNi4uYTEzMjYzNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvUXRMYXVuY2hlci93ZWJ2aWV3LmgKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2
aWV3LmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpZm5kZWYgd2Vidmlld19oCiAjZGVmaW5lIHdlYnZp
ZXdfaAogCisjaW5jbHVkZSAiZnBzbWVhc3VyZS5oIgogI2luY2x1ZGUgIndlYnBhZ2UuaCIKICNp
bmNsdWRlIDxxd2Vidmlldy5oPgogI2luY2x1ZGUgPHFncmFwaGljc3dlYnZpZXcuaD4KQEAgLTEx
OSw2ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9tZWFzdXJlRnBzOwogICAgIHFyZWFs
IG1feVJvdGF0aW9uOwogICAgIGJvb2wgbV9yZXNpemVzVG9Db250ZW50czsKKyAgICBGcHNNZWFz
dXJlIG1fZnBzTWVhc3VyZTsKIH07CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53988</attachid>
            <date>2010-04-21 13:53:16 -0700</date>
            <delta_ts>2010-04-21 20:32:02 -0700</delta_ts>
            <desc>Fixed namings and added comments</desc>
            <filename>patch-37934-3.diff</filename>
            <type>text/plain</type>
            <size>8590</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkYWExMjM5Li4wM2E1ZGFhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDQt
MjEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFF0TGF1bmNoZXI6
IG1ha2UgRlBTIG1lYXN1cmVtZW50IGFjY3VyYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzkzNAorCisgICAgICAgIEluc3RlYWQgb2YgY291bnRp
bmcgcGFpbnRzLCB3aGljaCBhcmUgbm90IGludGVyY2hhbmdlYWJsZSB3aXRoIGZyYW1lcyB0aGF0
CisgICAgICAgIHRoZSB1c2VyIHNlZXMsIHdlIG5vdyBzZXQgYW4gYXJiaXRyYXJ5IHRpbWVyIGZv
ciBGUFMgbWVhc3VyZW1lbnRzLiBUaGUgaWRlYSBpcworICAgICAgICB0aGF0IGlmIHRoZSBtYWlu
IHRocmVhZCBpcyBkZWxheWVkIGZvciBhbnkgcmVhc29uLCB0aGF0IHRpbWVyIHdvdWxkIGJlIGRl
bGF5ZWQKKyAgICAgICAgYXMgd2VsbC4KKworICAgICAgICAqIFF0TGF1bmNoZXIvUXRMYXVuY2hl
ci5wcm86CisgICAgICAgICogUXRMYXVuY2hlci9mcHN0aW1lci5jcHA6IEFkZGVkLgorICAgICAg
ICAoRnBzVGltZXI6OkZwc1RpbWVyKToKKyAgICAgICAgKEZwc1RpbWVyOjpudW1GcmFtZXMpOgor
ICAgICAgICAoRnBzVGltZXI6OnN0YXJ0KToKKyAgICAgICAgKEZwc1RpbWVyOjpzdG9wKToKKyAg
ICAgICAgKEZwc1RpbWVyOjp0aW1lckV2ZW50KToKKyAgICAgICAgKiBRdExhdW5jaGVyL2Zwc3Rp
bWVyLmg6IEFkZGVkLgorICAgICAgICAqIFF0TGF1bmNoZXIvd2Vidmlldy5jcHA6CisgICAgICAg
IChXZWJWaWV3R3JhcGhpY3NCYXNlZDo6c2V0RnJhbWVSYXRlTWVhc3VyZW1lbnRFbmFibGVkKToK
KyAgICAgICAgKFdlYlZpZXdHcmFwaGljc0Jhc2VkOjp1cGRhdGVGcmFtZVJhdGUpOgorICAgICAg
ICAoV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnBhaW50RXZlbnQpOgorICAgICAgICAqIFF0TGF1bmNo
ZXIvd2Vidmlldy5oOgorCiAyMDEwLTA0LTIxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9RdExhdW5jaGVyL1F0TGF1bmNoZXIucHJvIGIvV2ViS2l0VG9vbHMvUXRM
YXVuY2hlci9RdExhdW5jaGVyLnBybwppbmRleCAwODczYmRhLi5hOTFjZWU5IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9RdExhdW5jaGVyL1F0TGF1bmNoZXIucHJvCisrKyBiL1dlYktpdFRvb2xz
L1F0TGF1bmNoZXIvUXRMYXVuY2hlci5wcm8KQEAgLTgsNiArOCw3IEBAIFNPVVJDRVMgKz0gXAog
ICAgIHV0aWxzLmNwcCBcCiAgICAgd2VicGFnZS5jcHAgXAogICAgIHdlYnZpZXcuY3BwIFwKKyAg
ICBmcHN0aW1lci5jcHAgXAogCiBIRUFERVJTICs9IFwKICAgICBsb2NhdGlvbmVkaXQuaCBcCkBA
IC0xNyw2ICsxOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHdlYmluc3BlY3Rvci5oIFwKICAgICB3
ZWJwYWdlLmggXAogICAgIHdlYnZpZXcuaCBcCisgICAgZnBzdGltZXIuaCBcCiAKIENPTkZJRyAt
PSBhcHBfYnVuZGxlCiBDT05GSUcgKz0gdWl0b29scwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
UXRMYXVuY2hlci9mcHN0aW1lci5jcHAgYi9XZWJLaXRUb29scy9RdExhdW5jaGVyL2Zwc3RpbWVy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjcyY2VmCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHN0aW1lci5jcHAKQEAgLTAsMCAr
MSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJmcHN0aW1lci5oIgorCisjaW5jbHVkZSA8UURhdGVUaW1lPgorI2luY2x1
ZGUgPFFUaW1lckV2ZW50PgorCisvLyBXZSBzYXZlIGEgbWF4aW11bSBvZiAxMDAwMCBmcmFtZXMs
IGFuZCBwdXJnZSAyMDAwIGF0IGEgdGltZQorI2RlZmluZSBNQVhfRlJBTUVTX1NBVkVEIDEwMDAw
CisjZGVmaW5lIEZSQU1FU19UT19QVVJHRV9XSEVOX0ZVTEwgMjAwMAorLy8gNjAgRlBTCisjZGVm
aW5lIEZQU19NRUFTVVJFX0lOVEVSVkFMIDEwMDAgLyA2MAorCitGcHNUaW1lcjo6RnBzVGltZXIo
UU9iamVjdCogcGFyZW50KQorICAgICAgICA6IFFPYmplY3QocGFyZW50KQoreworfQorCitpbnQg
RnBzVGltZXI6Om51bUZyYW1lcyhpbnQgc3Bhbk1pbGxpcykKK3sKKyAgICBjb25zdCBRVGltZSBu
b3cgPSBRVGltZTo6Y3VycmVudFRpbWUoKTsKKworICAgIGludCBjb3VudCA9IDA7CisgICAgZm9y
IChpbnQgaSA9IG1fZnJhbWVzLmxlbmd0aCgpIC0gMTsgaSA+PSAwOyAtLWksICsrY291bnQpIHsK
KyAgICAgICAgaW50IG1zZWNzID0gbV9mcmFtZXNbaV0ubXNlY3NUbyhub3cpOworICAgICAgICBp
ZiAobXNlY3MgPCAwKQorICAgICAgICAgICAgbXNlY3MgKz0gMjQgKiA2MCAqIDYwICogMTAwMDsK
KyAgICAgICAgaWYgKG1zZWNzID4gc3Bhbk1pbGxpcykKKyAgICAgICAgICAgIGJyZWFrOworICAg
IH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK3ZvaWQgRnBzVGltZXI6OnN0YXJ0KCkKK3sKKyAg
ICBtX3RpbWVyID0gc3RhcnRUaW1lcihGUFNfTUVBU1VSRV9JTlRFUlZBTCk7Cit9CisKK3ZvaWQg
RnBzVGltZXI6OnN0b3AoKQoreworICAgIGtpbGxUaW1lcihtX3RpbWVyKTsKKyAgICBtX2ZyYW1l
cy5jbGVhcigpOworfQorCit2b2lkIEZwc1RpbWVyOjp0aW1lckV2ZW50KFFUaW1lckV2ZW50KiBl
dmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnRpbWVySWQoKSAhPSAgbV90aW1lcikKKyAgICAgICAg
cmV0dXJuOworICAgIG1fZnJhbWVzLmFwcGVuZChRVGltZTo6Y3VycmVudFRpbWUoKSk7CisgICAg
aWYgKG1fZnJhbWVzLmxlbmd0aCgpID4gTUFYX0ZSQU1FU19TQVZFRCkKKyAgICAgICAgbV9mcmFt
ZXMuZXJhc2UobV9mcmFtZXMuYmVnaW4oKSwgbV9mcmFtZXMuYmVnaW4oKSArIEZSQU1FU19UT19Q
VVJHRV9XSEVOX0ZVTEwpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9m
cHN0aW1lci5oIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9mcHN0aW1lci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ZDM4ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJL
aXRUb29scy9RdExhdW5jaGVyL2Zwc3RpbWVyLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgZnBzbWVh
c3VyZV9oCisjZGVmaW5lIGZwc21lYXN1cmVfaAorCisjaW5jbHVkZSA8UU9iamVjdD4KKyNpbmNs
dWRlIDxRU2V0PgorI2luY2x1ZGUgPFFUaW1lPgorCitjbGFzcyBGcHNUaW1lciA6IHB1YmxpYyBR
T2JqZWN0IHsKKyAgICBRX09CSkVDVAorCitwdWJsaWM6CisgICAgRnBzVGltZXIoUU9iamVjdCog
cGFyZW50ID0gMCk7CisgICAgaW50IG51bUZyYW1lcyhpbnQgc3Bhbk1pbGxpcyA9IDEwMDApOwor
CitwdWJsaWMgUV9TTE9UUzoKKyAgICB2b2lkIHN0YXJ0KCk7CisgICAgdm9pZCBzdG9wKCk7CisK
K3Byb3RlY3RlZCBzbG90czoKKyAgICB2aXJ0dWFsIHZvaWQgdGltZXJFdmVudChRVGltZXJFdmVu
dCopOworCitwcml2YXRlOgorICAgIGludCBtX3RpbWVyOworICAgIFFMaXN0PFFUaW1lPiBtX2Zy
YW1lczsKK307CisKKyNlbmRpZiAvLyBGUFNNRUFTVVJFX0gKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1F0TGF1bmNoZXIvd2Vidmlldy5jcHAgYi9XZWJLaXRUb29scy9RdExhdW5jaGVyL3dlYnZp
ZXcuY3BwCmluZGV4IDhjOTQ0MzguLmJlZDgxNWUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F0
TGF1bmNoZXIvd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2aWV3
LmNwcApAQCAtMTA2LDI1ICsxMDYsMjQgQEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6c2V0
RnJhbWVSYXRlTWVhc3VyZW1lbnRFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBtX21lYXN1cmVG
cHMgPSBlbmFibGVkOwogICAgIGlmIChtX21lYXN1cmVGcHMpIHsKICAgICAgICAgbV9sYXN0Q29u
c3VsdFRpbWUgPSBtX3N0YXJ0VGltZSA9IFFUaW1lOjpjdXJyZW50VGltZSgpOworICAgICAgICBt
X2Zwc1RpbWVyLnN0YXJ0KCk7CiAgICAgICAgIG1fdXBkYXRlVGltZXItPnN0YXJ0KCk7Ci0gICAg
fSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9mcHNUaW1lci5zdG9wKCk7CiAgICAgICAg
IG1fdXBkYXRlVGltZXItPnN0b3AoKTsKKyAgICB9CiB9CiAKIHZvaWQgV2ViVmlld0dyYXBoaWNz
QmFzZWQ6OnVwZGF0ZUZyYW1lUmF0ZSgpCiB7Ci0gICAgUVRpbWUgbm93ID0gUVRpbWU6OmN1cnJl
bnRUaW1lKCk7Ci0KKyAgICBjb25zdCBRVGltZSBub3cgPSBRVGltZTo6Y3VycmVudFRpbWUoKTsK
ICAgICBpbnQgaW50ZXJ2YWwgPSBtX2xhc3RDb25zdWx0VGltZS5tc2Vjc1RvKG5vdyk7Ci0gICAg
aW50IHRvdGFsID0gbV9zdGFydFRpbWUubXNlY3NUbyhub3cpOwotCi0gICAgaW50IGF2ZXJhZ2Ug
PSB0b3RhbCA/IG1fbnVtUGFpbnRzVG90YWwgKiAxMDAwIC8gdG90YWwgOiAwOwotICAgIGludCBj
dXJyZW50ID0gaW50ZXJ2YWwgPyBtX251bVBhaW50c1NpbmNlTGFzdE1lYXN1cmUgKiAxMDAwIC8g
aW50ZXJ2YWwgOiAwOworICAgIGludCBmcmFtZXMgPSBtX2Zwc1RpbWVyLm51bUZyYW1lcyhpbnRl
cnZhbCk7CisgICAgaW50IGN1cnJlbnQgPSBpbnRlcnZhbCA/IGZyYW1lcyAqIDEwMDAgLyBpbnRl
cnZhbCA6IDA7CiAKICAgICBlbWl0IGN1cnJlbnRGUFNVcGRhdGVkKGN1cnJlbnQpOwogCiAgICAg
bV9sYXN0Q29uc3VsdFRpbWUgPSBub3c7Ci0gICAgbV9udW1QYWludHNTaW5jZUxhc3RNZWFzdXJl
ID0gMDsKIH0KIAogdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6YW5pbWF0ZWRGbGlwKCkKQEAg
LTE1Niw4ICsxNTUsNiBAQCB2b2lkIFdlYlZpZXdHcmFwaGljc0Jhc2VkOjpwYWludEV2ZW50KFFQ
YWludEV2ZW50KiBldmVudCkKICAgICBRR3JhcGhpY3NWaWV3OjpwYWludEV2ZW50KGV2ZW50KTsK
ICAgICBpZiAoIW1fbWVhc3VyZUZwcykKICAgICAgICAgcmV0dXJuOwotICAgIG1fbnVtUGFpbnRz
U2luY2VMYXN0TWVhc3VyZSsrOwotICAgIG1fbnVtUGFpbnRzVG90YWwrKzsKIH0KIAogc3RhdGlj
IFFNZW51KiBjcmVhdGVDb250ZXh0TWVudShRV2ViUGFnZSogcGFnZSwgUVBvaW50IHBvc2l0aW9u
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci93ZWJ2aWV3LmggYi9XZWJLaXRU
b29scy9RdExhdW5jaGVyL3dlYnZpZXcuaAppbmRleCBlOGMzMjI2Li4zMDE2MWJiIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9RdExhdW5jaGVyL3dlYnZpZXcuaAorKysgYi9XZWJLaXRUb29scy9R
dExhdW5jaGVyL3dlYnZpZXcuaApAQCAtMzMsNiArMzMsNyBAQAogI2lmbmRlZiB3ZWJ2aWV3X2gK
ICNkZWZpbmUgd2Vidmlld19oCiAKKyNpbmNsdWRlICJmcHN0aW1lci5oIgogI2luY2x1ZGUgIndl
YnBhZ2UuaCIKICNpbmNsdWRlIDxxd2Vidmlldy5oPgogI2luY2x1ZGUgPHFncmFwaGljc3dlYnZp
ZXcuaD4KQEAgLTExOSw2ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9tZWFzdXJlRnBz
OwogICAgIHFyZWFsIG1feVJvdGF0aW9uOwogICAgIGJvb2wgbV9yZXNpemVzVG9Db250ZW50czsK
KyAgICBGcHNUaW1lciBtX2Zwc1RpbWVyOwogfTsKIAogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>