<?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>21120</bug_id>
          
          <creation_ts>2008-09-25 14:42:31 -0700</creation_ts>
          <short_desc>Make visibleContentRect cross-platform.</short_desc>
          <delta_ts>2008-09-25 15:25:46 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>21083</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92805</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 14:42:31 -0700</bug_when>
    <thetext>This bug covers making visibleContentRect cross-platform.  visibleWidth and visibleHeight should just be implemented in terms of visibleContentRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92807</commentid>
    <comment_count>1</comment_count>
      <attachid>23822</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 14:51:04 -0700</bug_when>
    <thetext>Created attachment 23822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92812</commentid>
    <comment_count>2</comment_count>
      <attachid>23822</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-25 15:17:21 -0700</bug_when>
    <thetext>Comment on attachment 23822
Patch

+    int width = GetClientSize(NULL, &amp;width);
+    int height = GetClientSize(NULL, &amp;height);

I don&apos;t think this works.

Otherwise, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92814</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 15:25:46 -0700</bug_when>
    <thetext>Fixed in r36909.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23822</attachid>
            <date>2008-09-25 14:51:04 -0700</date>
            <delta_ts>2008-09-25 15:17:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16898</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2OTA4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDggQEAKKzIwMDgtMDkt
MjUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEyMAorCisgICAgICAgIE1ha2UgdmlzaWJs
ZUNvbnRlbnRSZWN0IGNyb3NzLXBsYXRmb3JtLiAgTm90ZSB0aGlzIGRvZXMgYWRkIG5ldyBob3Jp
em9udGFsL3ZlcnRpY2FsU2Nyb2xsYmFyIGFjY2Vzc29ycworICAgICAgICB0byBhIGJ1bmNoIG9m
IHBsYXRmb3Jtcy4gIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZXZpbCB1bnRpbCB0aGUgc2Nyb2xsYmFy
cyBnZXQgbWFkZSBjcm9zcy1wbGF0Zm9ybSAoYW5kIEkKKyAgICAgICAgZGlkbid0IHdhbnQgdG8g
bWl4IHRoYXQgY2hhbmdlIGluIHdpdGggdGhpcyBwYXRjaCkuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lOjptYXJrQWxsTWF0Y2hlc0ZvclRleHQpOgorICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRl
bnRSZWN0YW5nbGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp3aW5kb3dDbGlwUmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZUNvbnRyb2xUaW50cyk6Cisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3Ojp2aXNpYmxlQ29udGVudFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmll
dzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bFZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnZpc2libGVXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp2aXNpYmxlSGVpZ2h0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxW
aWV3Ojpob3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsVmlld01h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6Omhvcml6b250YWxTY3JvbGxiYXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6dmVydGljYWxTY3JvbGxiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1Njcm9sbFZpZXdRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxWaWV3Ojpob3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbFZpZXc6OnZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2Ny
b2xsVmlld1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpob3Jpem9udGFs
U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnZlcnRpY2FsU2Nyb2xs
YmFyKToKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6aG9yaXpvbnRhbFNjcm9sbGJhcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxWaWV3Ojp2ZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3Jv
bGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OmZyYW1lVmlzaWJsZVJlY3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclZpZXc6OnZpZXdSZWN0KToKKwogMjAwOC0wOS0yNSAgRGF2aWQgU21pdGggIDxjYXRmaXNo
Lm1hbkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyCklu
ZGV4OiBwYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwYWdlL0ZyYW1lLmNwcAkocmV2aXNp
b24gMzY5MDIpCisrKyBwYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYxOCw3ICsx
NjE4LDcgQEAgdW5zaWduZWQgRnJhbWU6Om1hcmtBbGxNYXRjaGVzRm9yVGV4dChjbwogICAgIERv
Y3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwogICAgIGlmIChkb2MgJiYgZC0+bV92aWV3ICYmIGNv
bnRlbnRSZW5kZXJlcigpKSB7CiAgICAgICAgIGRvYy0+dXBkYXRlTGF5b3V0KCk7IC8vIEVuc3Vy
ZSBsYXlvdXQgaXMgdXAgdG8gZGF0ZS4KLSAgICAgICAgSW50UmVjdCB2aXNpYmxlUmVjdChlbmNs
b3NpbmdJbnRSZWN0KGQtPm1fdmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCkpKTsKKyAgICAgICAg
SW50UmVjdCB2aXNpYmxlUmVjdCA9IGQtPm1fdmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCk7CiAg
ICAgICAgIGlmICghdmlzaWJsZVJlY3QuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBHcmFwaGlj
c0NvbnRleHQgY29udGV4dCgoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTApOwogICAgICAgICAg
ICAgY29udGV4dC5zZXRQYWludGluZ0Rpc2FibGVkKHRydWUpOwpJbmRleDogcGFnZS9GcmFtZVZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHBhZ2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMzY5MDYp
CisrKyBwYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxOSw3ICs3MTksNyBA
QCB2b2lkIEZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUoCiAgICAgQVNTRVJUKCFt
X2ZyYW1lLT5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSk7CiAKICAgICBpZiAoZC0+bV9kZWZl
cnJpbmdSZXBhaW50cyAmJiAhaW1tZWRpYXRlKSB7Ci0gICAgICAgIEludFJlY3QgdmlzaWJsZUNv
bnRlbnQgPSBlbmNsb3NpbmdJbnRSZWN0KHZpc2libGVDb250ZW50UmVjdCgpKTsKKyAgICAgICAg
SW50UmVjdCB2aXNpYmxlQ29udGVudCA9IHZpc2libGVDb250ZW50UmVjdCgpOwogICAgICAgICB2
aXNpYmxlQ29udGVudC5pbnRlcnNlY3Qocik7CiAgICAgICAgIGlmICghdmlzaWJsZUNvbnRlbnQu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBkLT5tX3JlcGFpbnRDb3VudCsrOwpAQCAtMTA1Niw3
ICsxMDU2LDcgQEAgSW50UmVjdCBGcmFtZVZpZXc6OndpbmRvd0NsaXBSZWN0KGJvb2wgYwogICAg
IC8vIFNldCBvdXIgY2xpcCByZWN0IHRvIGJlIG91ciBjb250ZW50cy4KICAgICBJbnRSZWN0IGNs
aXBSZWN0OwogICAgIGlmIChjbGlwVG9Db250ZW50cykKLSAgICAgICAgY2xpcFJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KHZpc2libGVDb250ZW50UmVjdCgpKTsKKyAgICAgICAgY2xpcFJlY3QgPSB2
aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICBlbHNlCiAgICAgICAgIGNsaXBSZWN0ID0gSW50UmVj
dChjb250ZW50c1goKSwgY29udGVudHNZKCksIHdpZHRoKCksIGhlaWdodCgpKTsKICAgICBjbGlw
UmVjdCA9IGNvbnRlbnRzVG9XaW5kb3coY2xpcFJlY3QpOwpAQCAtMTEyOSw3ICsxMTI5LDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNvbnRyb2xUaW50cygpCiAjaWYgIVBMQVRGT1JNKE1BQykK
ICAgICAgICAgU2Nyb2xsVmlldzo6cGFpbnQoJmNvbnRleHQsIGZyYW1lR2VvbWV0cnkoKSk7CiAj
ZWxzZQotICAgICAgICBtX2ZyYW1lLT5wYWludCgmY29udGV4dCwgZW5jbG9zaW5nSW50UmVjdCh2
aXNpYmxlQ29udGVudFJlY3QoKSkpOworICAgICAgICBtX2ZyYW1lLT5wYWludCgmY29udGV4dCwg
dmlzaWJsZUNvbnRlbnRSZWN0KCkpOwogI2VuZGlmCiAgICAgfQogfQpJbmRleDogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAJKHJl
dmlzaW9uIDM2OTA2KQorKysgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDYgKzI2LDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
Vmlldy5oIgogCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCisKK3VzaW5nIHN0ZDo6bWF4OworCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgU2Nyb2xsVmlldzo6aW5pdCgpCkBAIC02NSwxMSAr
NjksMjYgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDYW5CbGl0T25TY3JvbGwoYm9vbAogICAgICAg
ICBwbGF0Zm9ybVNldENhbkJsaXRPblNjcm9sbCgpOwogfQogCitJbnRSZWN0IFNjcm9sbFZpZXc6
OnZpc2libGVDb250ZW50UmVjdChib29sIGluY2x1ZGVTY3JvbGxiYXJzKSBjb25zdAoreworICAg
IGlmIChwbGF0Zm9ybVdpZGdldCgpKQorICAgICAgICByZXR1cm4gcGxhdGZvcm1WaXNpYmxlQ29u
dGVudFJlY3QoaW5jbHVkZVNjcm9sbGJhcnMpOworICAgIHJldHVybiBJbnRSZWN0KGNvbnRlbnRz
WCgpLCBjb250ZW50c1koKSwgCisgICAgICAgICAgICAgICAgICAgbWF4KDAsIHdpZHRoKCkgLSAo
dmVydGljYWxTY3JvbGxiYXIoKSAmJiBpbmNsdWRlU2Nyb2xsYmFycyA/IHZlcnRpY2FsU2Nyb2xs
YmFyKCktPndpZHRoKCkgOiAwKSksIAorICAgICAgICAgICAgICAgICAgIG1heCgwLCBoZWlnaHQo
KSAtIChob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgaW5jbHVkZVNjcm9sbGJhcnMgPyBob3Jpem9u
dGFsU2Nyb2xsYmFyKCktPmhlaWdodCgpIDogMCkpKTsKK30KKwogI2lmICFQTEFURk9STShNQUMp
CiB2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKCkKIHsKIH0KICNl
bmRpZgogCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdYKQorSW50UmVjdCBTY3Jv
bGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdChib29sKQoreworfQorI2VuZGlmCisK
IH0KIApJbmRleDogcGxhdGZvcm0vU2Nyb2xsVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3Jt
L1Njcm9sbFZpZXcuaAkocmV2aXNpb24gMzY5MDYpCisrKyBwbGF0Zm9ybS9TY3JvbGxWaWV3LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDYgQEAgY2xhc3Mgd3hTY3JvbGxXaW5FdmVudDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNz
IFBsYXRmb3JtV2hlZWxFdmVudDsKICAgICBjbGFzcyBTY3JvbGxiYXI7CiAKQEAgLTYzLDEzICs2
MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRkQ2hpbGQoV2lkZ2V0
Kik7CiAgICAgICAgIHZvaWQgcmVtb3ZlQ2hpbGQoV2lkZ2V0Kik7CiAKKyAgICAgICAgU2Nyb2xs
YmFyKiBob3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3Q7CisgICAgICAgIFNjcm9sbGJhciogdmVy
dGljYWxTY3JvbGxiYXIoKSBjb25zdDsKKwogICAgICAgICB2b2lkIHNldENhbkJsaXRPblNjcm9s
bChib29sKTsKICAgICAgICAgYm9vbCBjYW5CbGl0T25TY3JvbGwoKSBjb25zdCB7IHJldHVybiBt
X2NhbkJsaXRPblNjcm9sbDsgfQogCi0gICAgICAgIGludCB2aXNpYmxlV2lkdGgoKSBjb25zdDsK
LSAgICAgICAgaW50IHZpc2libGVIZWlnaHQoKSBjb25zdDsKLSAgICAgICAgRmxvYXRSZWN0IHZp
c2libGVDb250ZW50UmVjdCgpIGNvbnN0OwotICAgICAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRl
bnRSZWN0Q29uc2lkZXJpbmdFeHRlcm5hbFNjcm9sbGVycygpIGNvbnN0OworICAgICAgICBpbnQg
dmlzaWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0KCkud2lkdGgo
KTsgfQorICAgICAgICBpbnQgdmlzaWJsZUhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHZpc2libGVD
b250ZW50UmVjdCgpLmhlaWdodCgpOyB9CisgICAgICAgIEludFJlY3QgdmlzaWJsZUNvbnRlbnRS
ZWN0KGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMgPSBmYWxzZSkgY29uc3Q7CiAKICAgICAgICAgaW50
IGNvbnRlbnRzV2lkdGgoKSBjb25zdDsKICAgICAgICAgaW50IGNvbnRlbnRzSGVpZ2h0KCkgY29u
c3Q7CkBAIC0xNTgsNyArMTU5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IHBsYXRmb3JtQWRkQ2hpbGQoV2lkZ2V0Kik7CiAgICAgICAgIHZvaWQgcGxhdGZvcm1SZW1vdmVD
aGlsZChXaWRnZXQqKTsKICAgICAgICAgdm9pZCBwbGF0Zm9ybVNldENhbkJsaXRPblNjcm9sbCgp
OwotCisgICAgICAgIEludFJlY3QgcGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QoYm9vbCBpbmNs
dWRlU2Nyb2xsYmFycykgY29uc3Q7CisgICAgICAgIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgZGVm
aW5lZCBfX09CSkNfXwogICAgIHB1YmxpYzoKICAgICAgICAgTlNWaWV3KiBkb2N1bWVudFZpZXco
KSBjb25zdDsKQEAgLTIyMSw5ICsyMjMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKFFUKQotICAgIHB1YmxpYzoKLSAgICAgICAgU2Nyb2xsYmFyKiBob3Jp
em9udGFsU2Nyb2xsQmFyKCkgY29uc3Q7Ci0gICAgICAgIFNjcm9sbGJhciogdmVydGljYWxTY3Jv
bGxCYXIoKSBjb25zdDsKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGluY3JlbWVudE5hdGl2
ZVdpZGdldENvdW50KCk7CiAgICAgICAgIHZvaWQgZGVjcmVtZW50TmF0aXZlV2lkZ2V0Q291bnQo
KTsKSW5kZXg6IHBsYXRmb3JtL2d0ay9TY3JvbGxWaWV3R3RrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBw
bGF0Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHAJKHJldmlzaW9uIDM2OTA2KQorKysgcGxhdGZv
cm0vZ3RrL1Njcm9sbFZpZXdHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiArMTY0LDE2
IEBAIHZvaWQgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNldEgKICAgICB9CiB9CiAK
K1Njcm9sbGJhciogU2Nyb2xsVmlldzo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fZGF0YS0+bV9oQmFyLmdldCgpOworfQorCitTY3JvbGxiYXIqIFNjcm9sbFZp
ZXc6OnZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kYXRhLT5tX3ZC
YXIuZ2V0KCk7Cit9CisKIHZvaWQgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNjcm9s
bEJhY2tpbmdTdG9yZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSkKIHsKICAgICAvLyBTaW5j
ZSBzY3JvbGxpbmcgaXMgZG91YmxlIGJ1ZmZlcmVkLCB3ZSB3aWxsIGJlIGJsaXR0aW5nIHRoZSBz
Y3JvbGwgdmlldydzIGludGVyc2VjdGlvbgpAQCAtMzI4LDI4ICszMzgsNiBAQCB2b2lkIFNjcm9s
bFZpZXc6OnVwZGF0ZSgpCiAgICAgZ2RrX3dpbmRvd19pbnZhbGlkYXRlX3JlY3QoR1RLX1dJREdF
VChjb250YWluaW5nV2luZG93KCkpLT53aW5kb3csICZyZWN0LCB0cnVlKTsKIH0KIAotaW50IFNj
cm9sbFZpZXc6OnZpc2libGVXaWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHdpZHRoKCkgLSAo
bV9kYXRhLT52QmFyID8gbV9kYXRhLT52QmFyLT53aWR0aCgpIDogMCk7Ci19Ci0KLWludCBTY3Jv
bGxWaWV3Ojp2aXNpYmxlSGVpZ2h0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGVpZ2h0KCkgLSAo
bV9kYXRhLT5oQmFyID8gbV9kYXRhLT5oQmFyLT5oZWlnaHQoKSA6IDApOwotfQotCi0vLyBSZWdp
b24gb2YgdGhlIGNvbnRlbnQgY3VycmVudGx5IHZpc2libGUgaW4gdGhlIHZpZXdwb3J0IGluIHRo
ZSBjb250ZW50IHZpZXcncyBjb29yZGluYXRlIHN5c3RlbS4KLUZsb2F0UmVjdCBTY3JvbGxWaWV3
Ojp2aXNpYmxlQ29udGVudFJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBGbG9hdFJlY3QoY29u
dGVudHNYKCksIGNvbnRlbnRzWSgpLCB2aXNpYmxlV2lkdGgoKSwgdmlzaWJsZUhlaWdodCgpKTsK
LX0KLQotRmxvYXRSZWN0IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50UmVjdENvbnNpZGVyaW5n
RXh0ZXJuYWxTY3JvbGxlcnMoKSBjb25zdAotewotICAgIC8vIGV4dGVybmFsIHNjcm9sbGVycyBu
b3Qgc3VwcG9ydGVkIGZvciBub3cKLSAgICByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0KCk7Ci19
Ci0KIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNQb3MoaW50IG5ld1gsIGludCBuZXdZKQog
ewogICAgIGludCBkeCA9IG5ld1ggLSBjb250ZW50c1goKTsKSW5kZXg6IHBsYXRmb3JtL21hYy9T
Y3JvbGxWaWV3TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFj
Lm1tCShyZXZpc2lvbiAzNjkwNikKKysrIHBsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3MiwxNiBAQCBpbmxpbmUgTlNTY3JvbGxWaWV3PFdlYkNv
cmVGcmFtZVNjcm9sbFZpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE5TU2Nyb2xsVmlldzxXZWJD
b3JlRnJhbWVTY3JvbGxWaWV3PiAqPihwbGF0Zm9ybVdpZGdldCgpKTsKIH0KIAorU2Nyb2xsYmFy
KiBTY3JvbGxWaWV3Ojpob3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
MDsKK30KKworU2Nyb2xsYmFyKiBTY3JvbGxWaWV3Ojp2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1BZGRDaGls
ZChXaWRnZXQqIGNoaWxkKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKQEAg
LTEwMSwzNyArMTExLDE2IEBAIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRDYW5CbGl0T25T
Y3IKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1pbnQgU2Nyb2xsVmlldzo6
dmlzaWJsZVdpZHRoKCkgY29uc3QKLXsKLSAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
Ci0gICAgcmV0dXJuIFtzY3JvbGxWaWV3KCkgZG9jdW1lbnRWaXNpYmxlUmVjdF0uc2l6ZS53aWR0
aDsKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIHJldHVybiAwOwotfQotCi1p
bnQgU2Nyb2xsVmlldzo6dmlzaWJsZUhlaWdodCgpIGNvbnN0Ci17Ci0gICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwotICAgIHJldHVybiBbc2Nyb2xsVmlldygpIGRvY3VtZW50VmlzaWJs
ZVJlY3RdLnNpemUuaGVpZ2h0OwotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0gICAg
cmV0dXJuIDA7Ci19Ci0KLUZsb2F0UmVjdCBTY3JvbGxWaWV3Ojp2aXNpYmxlQ29udGVudFJlY3Qo
KSBjb25zdAorSW50UmVjdCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdChi
b29sIGluY2x1ZGVTY3JvbGxiYXJzKSBjb25zdAogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsgCi0gICAgcmV0dXJuIFtzY3JvbGxWaWV3KCkgZG9jdW1lbnRWaXNpYmxlUmVjdF07
IAorICAgIGlmIChpbmNsdWRlU2Nyb2xsYmFycykgeworICAgICAgICBpZiAoTlNWaWV3KiBkb2N1
bWVudFZpZXcgPSB0aGlzLT5kb2N1bWVudFZpZXcoKSkKKyAgICAgICAgICAgIHJldHVybiBlbmNs
b3NpbmdJbnRSZWN0KFtkb2N1bWVudFZpZXcgdmlzaWJsZVJlY3RdKTsKKyAgICB9CisgICAgcmV0
dXJuIGVuY2xvc2luZ0ludFJlY3QoW3Njcm9sbFZpZXcoKSBkb2N1bWVudFZpc2libGVSZWN0XSk7
IAogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7IAotICAgIHJldHVybiBGbG9hdFJlY3Qo
KTsKLX0KLQotRmxvYXRSZWN0IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50UmVjdENvbnNpZGVy
aW5nRXh0ZXJuYWxTY3JvbGxlcnMoKSBjb25zdAotewotICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKLSAgICBpZiAoTlNWaWV3KiBkb2N1bWVudFZpZXcgPSB0aGlzLT5kb2N1bWVudFZp
ZXcoKSkKLSAgICAgICAgcmV0dXJuIFtkb2N1bWVudFZpZXcgdmlzaWJsZVJlY3RdOwotICAgIEVO
RF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0gICAgcmV0dXJuIEZsb2F0UmVjdCgpOworICAgIHJl
dHVybiBJbnRSZWN0KCk7CiB9CiAKIGludCBTY3JvbGxWaWV3Ojpjb250ZW50c1dpZHRoKCkgY29u
c3QKSW5kZXg6IHBsYXRmb3JtL3F0L1Njcm9sbFZpZXdRdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxh
dGZvcm0vcXQvU2Nyb2xsVmlld1F0LmNwcAkocmV2aXNpb24gMzY5MDYpCisrKyBwbGF0Zm9ybS9x
dC9TY3JvbGxWaWV3UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsMTIgKzE5MiwxMiBAQCBT
Y3JvbGxWaWV3Ojp+U2Nyb2xsVmlldygpCiAgICAgZGVsZXRlIG1fZGF0YTsKIH0KIAotU2Nyb2xs
YmFyKiBTY3JvbGxWaWV3Ojpob3Jpem9udGFsU2Nyb2xsQmFyKCkgY29uc3QKK1Njcm9sbGJhciog
U2Nyb2xsVmlldzo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZGF0YS0+bV9oQmFyLmdldCgpOwogfQogCi1TY3JvbGxiYXIqIFNjcm9sbFZpZXc6OnZlcnRpY2Fs
U2Nyb2xsQmFyKCkgY29uc3QKK1Njcm9sbGJhciogU2Nyb2xsVmlldzo6dmVydGljYWxTY3JvbGxi
YXIoKSBjb25zdAogewogICAgIHJldHVybiBtX2RhdGEtPm1fdkJhci5nZXQoKTsKIH0KQEAgLTIy
OCwyNyArMjI4LDYgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGUoKQogICAgIHVwZGF0ZUNvbnRl
bnRzKEludFJlY3QoMCwgMCwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsKIH0KIAotaW50IFNjcm9sbFZp
ZXc6OnZpc2libGVXaWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHdpZHRoKCkgLSAobV9kYXRh
LT5tX3ZCYXIgPyBtX2RhdGEtPm1fdkJhci0+d2lkdGgoKSA6IDApOwotfQotCi1pbnQgU2Nyb2xs
Vmlldzo6dmlzaWJsZUhlaWdodCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhlaWdodCgpIC0gKG1f
ZGF0YS0+bV9oQmFyID8gbV9kYXRhLT5tX2hCYXItPmhlaWdodCgpIDogMCk7Ci19Ci0KLUZsb2F0
UmVjdCBTY3JvbGxWaWV3Ojp2aXNpYmxlQ29udGVudFJlY3QoKSBjb25zdAotewotICAgIHJldHVy
biBGbG9hdFJlY3QoY29udGVudHNYKCksIGNvbnRlbnRzWSgpLCB2aXNpYmxlV2lkdGgoKSwgdmlz
aWJsZUhlaWdodCgpKTsKLX0KLQotRmxvYXRSZWN0IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50
UmVjdENvbnNpZGVyaW5nRXh0ZXJuYWxTY3JvbGxlcnMoKSBjb25zdAotewotICAgIC8vIGV4dGVy
bmFsIHNjcm9sbGVycyBub3Qgc3VwcG9ydGVkIGZvciBub3cKLSAgICByZXR1cm4gdmlzaWJsZUNv
bnRlbnRSZWN0KCk7Ci19Ci0KIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNQb3MoaW50IG5l
d1gsIGludCBuZXdZKQogewogICAgIGludCBkeCA9IG5ld1ggLSBjb250ZW50c1goKTsKSW5kZXg6
IHBsYXRmb3JtL3dpbi9TY3JvbGxWaWV3V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS93
aW4vU2Nyb2xsVmlld1dpbi5jcHAJKHJldmlzaW9uIDM2OTA2KQorKysgcGxhdGZvcm0vd2luL1Nj
cm9sbFZpZXdXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDE2IEBAIHZvaWQg
U2Nyb2xsVmlldzo6cGxhdGZvcm1SZW1vdmVDaGlsZChXaWQKIHsKIH0KIAorU2Nyb2xsYmFyKiBT
Y3JvbGxWaWV3Ojpob3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9k
YXRhLT5tX2hCYXIuZ2V0KCk7Cit9CisKK1Njcm9sbGJhciogU2Nyb2xsVmlldzo6dmVydGljYWxT
Y3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2RhdGEtPm1fdkJhci5nZXQoKTsKK30K
Kwogdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVDb250ZW50cyhjb25zdCBJbnRSZWN0JiByZWN0LCBi
b29sIG5vdykKIHsKICAgICBpZiAocmVjdC5pc0VtcHR5KCkpCkBAIC0yNzUsMjYgKzI4NSw2IEBA
IHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlKCkKICAgICA6OlVwZGF0ZVdpbmRvdyhjb250YWluaW5n
V2luZG93KCkpOwogfQogCi1pbnQgU2Nyb2xsVmlldzo6dmlzaWJsZVdpZHRoKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbWF4KDAsIHdpZHRoKCkgLSAobV9kYXRhLT5tX3ZCYXIgPyBtX2RhdGEtPm1f
dkJhci0+d2lkdGgoKSA6IDApKTsKLX0KLQotaW50IFNjcm9sbFZpZXc6OnZpc2libGVIZWlnaHQo
KSBjb25zdAotewotICAgIHJldHVybiBtYXgoMCwgaGVpZ2h0KCkgLSAobV9kYXRhLT5tX2hCYXIg
PyBtX2RhdGEtPm1faEJhci0+aGVpZ2h0KCkgOiAwKSk7Ci19Ci0KLUZsb2F0UmVjdCBTY3JvbGxW
aWV3Ojp2aXNpYmxlQ29udGVudFJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBGbG9hdFJlY3Qo
Y29udGVudHNYKCksIGNvbnRlbnRzWSgpLCB2aXNpYmxlV2lkdGgoKSwgdmlzaWJsZUhlaWdodCgp
KTsKLX0KLQotRmxvYXRSZWN0IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50UmVjdENvbnNpZGVy
aW5nRXh0ZXJuYWxTY3JvbGxlcnMoKSBjb25zdAotewotICAgIC8vIGV4dGVybmFsIHNjcm9sbGVy
cyBub3Qgc3VwcG9ydGVkIGZvciBub3cKLSAgICByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0KCk7
Ci19CiAKIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNQb3MoaW50IG5ld1gsIGludCBuZXdZ
KQogewpJbmRleDogcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBw
bGF0Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwCShyZXZpc2lvbiAzNjkwNikKKysrIHBsYXRmb3Jt
L3d4L1Njcm9sbFZpZXdXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OSwzMSArMTU5LDEzIEBA
IHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlKCkKICAgICAgICAgd2luLT5VcGRhdGUoKTsKIH0KIAot
aW50IFNjcm9sbFZpZXc6OnZpc2libGVXaWR0aCgpIGNvbnN0CitJbnRSZWN0IFNjcm9sbFZpZXc6
OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0KGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMpIGNvbnN0
CiB7Ci0gICAgaW50IHdpZHRoID0gMDsKLSAgICB3eFdpbmRvdyogd2luID0gcGxhdGZvcm1XaWRn
ZXQoKTsKLSAgICBpZiAod2luKQotICAgICAgICB3aW4tPkdldENsaWVudFNpemUoJndpZHRoLCBO
VUxMKTsKLSAgICAKLSAgICBBU1NFUlQod2lkdGggPj0gMCk7Ci0gICAgcmV0dXJuIHdpZHRoOwot
fQotCi1pbnQgU2Nyb2xsVmlldzo6dmlzaWJsZUhlaWdodCgpIGNvbnN0Ci17Ci0gICAgaW50IGhl
aWdodCA9IDA7Ci0gICAgd3hXaW5kb3cqIHdpbiA9IHBsYXRmb3JtV2lkZ2V0KCk7Ci0gICAgaWYg
KHdpbikKLSAgICAgICAgd2luLT5HZXRDbGllbnRTaXplKE5VTEwsICZoZWlnaHQpOwotICAgIAot
ICAgIEFTU0VSVChoZWlnaHQgPj0gMCk7Ci0gICAgcmV0dXJuIGhlaWdodDsKLX0KLQotRmxvYXRS
ZWN0IFNjcm9sbFZpZXc6OnZpc2libGVDb250ZW50UmVjdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IEZsb2F0UmVjdChjb250ZW50c1goKSxjb250ZW50c1koKSx2aXNpYmxlV2lkdGgoKSx2aXNpYmxl
SGVpZ2h0KCkpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIHN1cHBvcnQgaW5jbHVkZVNjcm9sbGJh
cnMgb3B0aW9uLgorICAgIGludCB3aWR0aCA9IEdldENsaWVudFNpemUoTlVMTCwgJndpZHRoKTsK
KyAgICBpbnQgaGVpZ2h0ID0gR2V0Q2xpZW50U2l6ZShOVUxMLCAmaGVpZ2h0KTsKKyAgICBBU1NF
UlQod2lkdGggPj0gMCAmJiBoZWlnaHQgPj0gMCk7CisgICAgcmV0dXJuIEludFJlY3QoY29udGVu
dHNYKCksIGNvbnRlbnRzWSgpLCB3aWR0aCwgaGVpZ2h0KTsKIH0KIAogdm9pZCBTY3JvbGxWaWV3
OjpzZXRDb250ZW50c1BvcyhpbnQgbmV3WCwgaW50IG5ld1kpCkBAIC0yODAsNiArMjYyLDE2IEBA
IEZsb2F0UmVjdCBTY3JvbGxWaWV3Ojp2aXNpYmxlQ29udGVudFJlY3QKICAgICByZXR1cm4gdmlz
aWJsZUNvbnRlbnRSZWN0KCk7CiB9CiAKK1Njcm9sbGJhciogU2Nyb2xsVmlldzo6aG9yaXpvbnRh
bFNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK1Njcm9sbGJhciogU2Ny
b2xsVmlldzo6dmVydGljYWxTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQor
CiBib29sIFNjcm9sbFZpZXc6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcihjb25zdCBXaWRnZXQqIGNo
aWxkKSBjb25zdAogewogICAgIHd4V2luZG93KiB3aW4gPSBjaGlsZC0+cGxhdGZvcm1XaWRnZXQo
KTsKSW5kZXg6IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gMzY5MDIpCisrKyByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjbwogICAgIH0gZWxzZSBpZiAoIXBhcmVudExheWVy
ICYmIHJlbmRlcmVyKCktPmNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoc2Nyb2xsVG9BbmNo
b3IpKSB7CiAgICAgICAgIGlmIChmcmFtZVZpZXcpIHsKICAgICAgICAgICAgIGlmIChtX29iamVj
dC0+ZG9jdW1lbnQoKSAmJiBtX29iamVjdC0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkgJiYg
bV9vYmplY3QtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpLT5yZW5kZXJlcigpKSB7Ci0gICAg
ICAgICAgICAgICAgSW50UmVjdCB2aWV3UmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoZnJhbWVWaWV3
LT52aXNpYmxlQ29udGVudFJlY3QoKSk7CisgICAgICAgICAgICAgICAgSW50UmVjdCB2aWV3UmVj
dCA9IGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCk7CiAgICAgICAgICAgICAgICAgSW50
UmVjdCByID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCByZWN0LCBhbGlnblgsIGFsaWduWSk7
CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgeE9mZnNldCA9IHIueCgpOwpAQCAt
ODk2LDcgKzg5Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY28K
ICAgICAgICAgICAgICAgICBuZXdSZWN0LnNldFgocmVjdC54KCkgLSBmcmFtZVZpZXctPmNvbnRl
bnRzWCgpICsgZnJhbWVWaWV3LT54KCkpOwogICAgICAgICAgICAgICAgIG5ld1JlY3Quc2V0WShy
ZWN0LnkoKSAtIGZyYW1lVmlldy0+Y29udGVudHNZKCkgKyBmcmFtZVZpZXctPnkoKSk7CiAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIEludFJlY3Qgdmlld1JlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KGZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0Q29uc2lkZXJpbmdFeHRl
cm5hbFNjcm9sbGVycygpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IHZpZXdSZWN0ID0gZnJh
bWVWaWV3LT52aXNpYmxlQ29udGVudFJlY3QodHJ1ZSk7CiAgICAgICAgICAgICAgICAgSW50UmVj
dCByID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCByZWN0LCBhbGlnblgsIGFsaWduWSk7CiAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyB0aGUgb3V0ZXJt
b3N0IHZpZXcgdGhhdCBSZW5kZXJMYXllciBuZWVkcyB0byBzY3JvbGwsIHRoZW4gd2Ugc2hvdWxk
IHNjcm9sbCB0aGUgdmlldyByZWN1cnNpdmVseQpAQCAtMTczNCw3ICsxNzM0LDcgQEAgc3RhdGlj
IGlubGluZSBJbnRSZWN0IGZyYW1lVmlzaWJsZVJlY3QoUgogICAgIGlmICghZnJhbWVWaWV3KQog
ICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCi0gICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qo
ZnJhbWVWaWV3LT52aXNpYmxlQ29udGVudFJlY3QoKSk7CisgICAgcmV0dXJuIGZyYW1lVmlldy0+
dmlzaWJsZUNvbnRlbnRSZWN0KCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3QoY29u
c3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCkKSW5kZXg6
IHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAJKHJldmlzaW9uIDM2OTAyKQorKysgcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NzgsNyArNDc4LDcgQEAgSW50UmVjdCBSZW5kZXJWaWV3Ojp2aWV3
UmVjdCgpIGNvbnN0CiAgICAgaWYgKHByaW50aW5nKCkpCiAgICAgICAgIHJldHVybiBJbnRSZWN0
KDAsIDAsIG1fd2lkdGgsIG1faGVpZ2h0KTsKICAgICBpZiAobV9mcmFtZVZpZXcpCi0gICAgICAg
IHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KG1fZnJhbWVWaWV3LT52aXNpYmxlQ29udGVudFJlY3Qo
KSk7CisgICAgICAgIHJldHVybiBtX2ZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCk7CiAg
ICAgcmV0dXJuIEludFJlY3QoKTsKIH0KIAo=
</data>
<flag name="review"
          id="10723"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>