<?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>117988</bug_id>
          
          <creation_ts>2013-06-25 06:07:36 -0700</creation_ts>
          <short_desc>Merge FrameWinCE into FrameWin</short_desc>
          <delta_ts>2013-08-01 10:05:53 -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>Other</rep_platform>
          <op_sys>Other</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>
          <dependson>117984</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>903306</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-06-25 06:07:36 -0700</bug_when>
    <thetext>Merge FrameWinCE into FrameWin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903310</commentid>
    <comment_count>1</comment_count>
      <attachid>205395</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-06-25 06:16:06 -0700</bug_when>
    <thetext>Created attachment 205395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>903312</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-25 06:18:27 -0700</bug_when>
    <thetext>Attachment 205395 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/PlatformWinCE.cmake&apos;, u&apos;Source/WebCore/page/win/FrameGdiWin.cpp&apos;, u&apos;Source/WebCore/page/wince/FrameWinCE.cpp&apos;]&quot; exit_code: 1
Source/WebCore/page/win/FrameGdiWin.cpp:28:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
Source/WebCore/page/win/FrameGdiWin.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebCore/page/win/FrameGdiWin.cpp:37:  g_screenDC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 3 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>912882</commentid>
    <comment_count>3</comment_count>
      <attachid>205395</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-07-30 09:30:27 -0700</bug_when>
    <thetext>Comment on attachment 205395
Patch

Please correct the style warnings.  Otherwise, this looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912889</commentid>
    <comment_count>4</comment_count>
      <attachid>205395</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-07-30 09:34:44 -0700</bug_when>
    <thetext>Comment on attachment 205395
Patch

(In reply to comment #3)
&gt; (From update of attachment 205395 [details])
&gt; Please correct the style warnings.  Otherwise, this looks great!

The sorting of the header isn&apos;t wrong IMHO and the name of the variable is defined at an other place already. So what should I fix exactly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912916</commentid>
    <comment_count>5</comment_count>
      <attachid>205395</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-07-30 10:21:33 -0700</bug_when>
    <thetext>Comment on attachment 205395
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=205395&amp;action=review

&gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:37
&gt;&gt; +extern HDC g_screenDC;
&gt; 
&gt; g_screenDC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]

This should be named something like GlobalScreenDC or SharedScreenDC.  WebKit style is to not use the &quot;g_BlahBlah&quot; naming convention.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912918</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-07-30 10:25:38 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 205395 [details])
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 205395 [details] [details])
&gt; &gt; Please correct the style warnings.  Otherwise, this looks great!
&gt; 
&gt; The sorting of the header isn&apos;t wrong IMHO and the name of the variable is defined at an other place already. So what should I fix exactly?

You currently have:

#include &quot;config.h&quot;
#include &quot;Frame.h&quot;
#include &quot;FrameWin.h&quot;
#include &quot;FrameView.h&quot;

It should probably be something like:

#include &quot;config.h&quot;
#include &quot;FrameWin.h&quot;

#include &quot;FrameView.h&quot;

... or, if Frame.h is what is actually needed to compile (it seems like it should be included by FrameWin.h):

#include &quot;config.h&quot;
#include &quot;Frame.h&quot;

#include &quot;FrameView.h&quot;
#include &quot;FrameWin.h&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913740</commentid>
    <comment_count>7</comment_count>
      <attachid>207925</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-08-01 07:59:19 -0700</bug_when>
    <thetext>Created attachment 207925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913741</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-01 08:00:42 -0700</bug_when>
    <thetext>Attachment 207925 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/PlatformWinCE.cmake&apos;, u&apos;Source/WebCore/page/win/FrameGdiWin.cpp&apos;, u&apos;Source/WebCore/page/wince/FrameWinCE.cpp&apos;]&quot; exit_code: 1
Source/WebCore/page/win/FrameGdiWin.cpp:30:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Source/WebCore/page/win/FrameGdiWin.cpp:37:  g_screenDC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 2 in 3 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>913757</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-08-01 09:05:42 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Attachment 207925 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/PlatformWinCE.cmake&apos;, u&apos;Source/WebCore/page/win/FrameGdiWin.cpp&apos;, u&apos;Source/WebCore/page/wince/FrameWinCE.cpp&apos;]&quot; exit_code: 1
&gt; Source/WebCore/page/win/FrameGdiWin.cpp:30:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; Source/WebCore/page/win/FrameGdiWin.cpp:37:  g_screenDC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
&gt; Total errors found: 2 in 3 files

It doesn&apos;t seem like you resolved the two style issues I mentioned earlier in this bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913758</commentid>
    <comment_count>10</comment_count>
      <attachid>207925</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-08-01 09:07:20 -0700</bug_when>
    <thetext>Comment on attachment 207925
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=207925&amp;action=review

&gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:30
&gt;&gt; +#include &quot;Frame.h&quot;
&gt; 
&gt; Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]

there is no FrameGdiWin.h, so FrameWin.h is the correct header.

&gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:37
&gt;&gt; +extern HDC g_screenDC;
&gt; 
&gt; g_screenDC is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]

g_screenDC is an _extern_ variable and already used across the GDI files. IMHO changing the name is out of scope of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913763</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-08-01 09:26:01 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 207925 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207925&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:30
&gt; &gt;&gt; +#include &quot;Frame.h&quot;
&gt; &gt; 
&gt; &gt; Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; 
&gt; there is no FrameGdiWin.h, so FrameWin.h is the correct header.

Does Frame.h need to be included separately?  It seems like it should be:

#include &quot;config.h&quot;
#include &quot;FrameWin.h&quot;
&lt;space&gt;
... other stuff ...

 &gt; &gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:37
&gt; &gt;&gt; +extern HDC g_screenDC;
&gt; g_screenDC is an _extern_ variable and already used across the GDI files. IMHO changing the name is out of scope of this patch.

Good point! Leave it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913764</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-08-01 09:31:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 207925 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207925&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/page/win/FrameGdiWin.cpp:30
&gt; &gt; &gt;&gt; +#include &quot;Frame.h&quot;
&gt; &gt; &gt; 
&gt; &gt; &gt; Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; &gt; 
&gt; &gt; there is no FrameGdiWin.h, so FrameWin.h is the correct header.
&gt; 
&gt; Does Frame.h need to be included separately?  It seems like it should be:
&gt; 
&gt; #include &quot;config.h&quot;
&gt; #include &quot;FrameWin.h&quot;
&gt; &lt;space&gt;
&gt; ... other stuff ...

Frame.h is required. Please see http://trac.webkit.org/browser/trunk/Source/WebCore/page/win/FrameCGWin.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913766</commentid>
    <comment_count>13</comment_count>
      <attachid>207925</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-08-01 09:42:53 -0700</bug_when>
    <thetext>Comment on attachment 207925
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913774</commentid>
    <comment_count>14</comment_count>
      <attachid>207925</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-01 10:05:49 -0700</bug_when>
    <thetext>Comment on attachment 207925
Patch

Clearing flags on attachment: 207925

Committed r153589: &lt;http://trac.webkit.org/changeset/153589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913775</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-01 10:05:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205395</attachid>
            <date>2013-06-25 06:16:06 -0700</date>
            <delta_ts>2013-08-01 07:59:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117988.patch</filename>
            <type>text/plain</type>
            <size>9489</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlM2Q3YjZiLi4zMGEyOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkg
QEAKIDIwMTMtMDYtMjUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAK
KyAgICAgICAgTWVyZ2UgRnJhbWVXaW5DRSBpbnRvIEZyYW1lV2luCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc5ODgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXVzZSB0aGUgY29kZSBmcm9tIEZyYW1l
V2luLmNwcCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0LgorCisgICAgICAgICogUGxhdGZvcm1X
aW5DRS5jbWFrZToKKyAgICAgICAgKiBwYWdlL3dpbi9GcmFtZUdkaVdpbi5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6aW1hZ2VGcm9tUmVjdCk6CisgICAgICAgICogcGFnZS93aW5jZS9G
cmFtZVdpbkNFLmNwcDogUmVtb3ZlZC4KKworMjAxMy0wNi0yNSAgUGF0cmljayBHYW5zdGVyZXIg
IDxwYXJvZ2FAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZWFycmFuZ2UgdGhlIGNvZGUgb2YgRnJh
bWVXaW4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
Nzk4NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbkNFLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW5DRS5jbWFrZQppbmRleCA5ZDQ3ZDQwLi40YjE5YjVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbkNFLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luQ0UuY21ha2UKQEAgLTIzLDcgKzIzLDggQEAgbGlzdChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBwYWdlL3dpbi9EcmFnQ29udHJvbGxlcldpbi5j
cHAKICAgICBwYWdlL3dpbi9FdmVudEhhbmRsZXJXaW4uY3BwCi0gICAgcGFnZS93aW5jZS9GcmFt
ZVdpbkNFLmNwcAorICAgIHBhZ2Uvd2luL0ZyYW1lR2RpV2luLmNwcAorICAgIHBhZ2Uvd2luL0Zy
YW1lV2luLmNwcAogCiAgICAgcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luY2UuY3BwCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luL0ZyYW1lR2RpV2luLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvd2luL0ZyYW1lR2RpV2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4wZGNkYTc5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS93aW4vRnJhbWVHZGlXaW4uY3BwCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lV2luLmgiCisKKyNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNs
dWRlIDx3aW5kb3dzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZXh0ZXJuIEhEQyBnX3Nj
cmVlbkRDOworCitQYXNzT3duUHRyPEhCSVRNQVA+IGltYWdlRnJvbVJlY3QoRnJhbWUqIGZyYW1l
LCBJbnRSZWN0JiBpcikKK3sKKyAgICBpbnQgdzsKKyAgICBpbnQgaDsKKyAgICBGcmFtZVZpZXcq
IHZpZXcgPSBmcmFtZS0+dmlldygpOworICAgIGlmICh2aWV3LT5wYXJlbnQoKSkgeworICAgICAg
ICBpci5zZXRMb2NhdGlvbih2aWV3LT5wYXJlbnQoKS0+Y29udmVydENoaWxkVG9TZWxmKHZpZXcs
IGlyLmxvY2F0aW9uKCkpKTsKKyAgICAgICAgdyA9IGlyLndpZHRoKCkgKiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKSArIDAuNTsKKyAgICAgICAgaCA9IGlyLmhlaWdodCgpICogZnJhbWUtPnBhZ2Va
b29tRmFjdG9yKCkgKyAwLjU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaXIgPSB2aWV3LT5jb250
ZW50c1RvV2luZG93KGlyKTsKKyAgICAgICAgdyA9IGlyLndpZHRoKCk7CisgICAgICAgIGggPSBp
ci5oZWlnaHQoKTsKKyAgICB9CisKKyAgICBPd25QdHI8SERDPiBibXBEQyA9IGFkb3B0UHRyKENy
ZWF0ZUNvbXBhdGlibGVEQyhnX3NjcmVlbkRDKSk7CisgICAgT3duUHRyPEhCSVRNQVA+IGhCbXAg
PSBhZG9wdFB0cihDcmVhdGVDb21wYXRpYmxlQml0bWFwKGdfc2NyZWVuREMsIHcsIGgpKTsKKyAg
ICBpZiAoIWhCbXApCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgSEdESU9CSiBoYm1w
T2xkID0gU2VsZWN0T2JqZWN0KGJtcERDLmdldCgpLCBoQm1wLmdldCgpKTsKKworICAgIHsKKyAg
ICAgICAgR3JhcGhpY3NDb250ZXh0IGdjKGJtcERDLmdldCgpKTsKKyAgICAgICAgdmlldy0+cGFp
bnQoJmdjLCBpcik7CisgICAgfQorCisgICAgU2VsZWN0T2JqZWN0KGJtcERDLmdldCgpLCBoYm1w
T2xkKTsKKworICAgIHJldHVybiBoQm1wLnJlbGVhc2UoKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS93aW5jZS9GcmFtZVdpbkNF
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luY2UvRnJhbWVXaW5DRS5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhMDA0MjAuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS93aW5jZS9GcmFtZVdpbkNFLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE2MCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIElu
Yy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENP
TVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0KLSNp
bmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgotI2luY2x1ZGUgIkZy
YW1lU2VsZWN0aW9uLmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiSFRNTElGcmFtZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKLSNpbmNsdWRlICJIVE1MVGFibGVDZWxsRWxlbWVudC5oIgotI2luY2x1ZGUg
IktleWJvYXJkRXZlbnQuaCIKLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUg
IlBhZ2UuaCIKLSNpbmNsdWRlICJSZW5kZXJGcmFtZS5oIgotI2luY2x1ZGUgIlJlbmRlckxheWVy
LmgiCi0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgi
Ci0KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0KLXVzaW5nIHN0ZDo6bWluOwotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KLWV4dGVybiBIREMgZ19z
Y3JlZW5EQzsKLQotdm9pZCBjb21wdXRlUGFnZVJlY3RzRm9yRnJhbWUoRnJhbWUqIGZyYW1lLCBj
b25zdCBJbnRSZWN0JiBwcmludFJlY3QsIGZsb2F0IGhlYWRlckhlaWdodCwgZmxvYXQgZm9vdGVy
SGVpZ2h0LCBmbG9hdCB1c2VyU2NhbGVGYWN0b3IsIFZlY3RvcjxJbnRSZWN0PiYgcGFnZXMsIGlu
dCYgb3V0UGFnZUhlaWdodCkKLXsKLSAgICBBU1NFUlQoZnJhbWUpOwotCi0gICAgcGFnZXMuY2xl
YXIoKTsKLSAgICBvdXRQYWdlSGVpZ2h0ID0gMDsKLQotICAgIGlmICghZnJhbWUtPmRvY3VtZW50
KCkgfHwgIWZyYW1lLT52aWV3KCkgfHwgIWZyYW1lLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIFJlbmRlclZpZXcqIHJvb3QgPSBmcmFtZS0+ZG9jdW1l
bnQoKS0+cmVuZGVyVmlldygpOwotCi0gICAgaWYgKHVzZXJTY2FsZUZhY3RvciA8PSAwKSB7Ci0g
ICAgICAgIExPR19FUlJPUigidXNlclNjYWxlRmFjdG9yIGhhcyBiYWQgdmFsdWUgJS4yZiIsIHVz
ZXJTY2FsZUZhY3Rvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBmbG9hdCByYXRp
byA9IChmbG9hdClwcmludFJlY3QuaGVpZ2h0KCkgLyAoZmxvYXQpcHJpbnRSZWN0LndpZHRoKCk7
Ci0KLSAgICBmbG9hdCBwYWdlV2lkdGggID0gKGZsb2F0KSByb290LT5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKS5tYXhYKCk7Ci0gICAgZmxvYXQgcGFnZUhlaWdodCA9IHBhZ2VXaWR0aCAqIHJhdGlvOwot
ICAgIG91dFBhZ2VIZWlnaHQgPSAoaW50KSBwYWdlSGVpZ2h0OyAgIC8vIHRoaXMgaXMgdGhlIGhl
aWdodCBvZiB0aGUgcGFnZSBhZGp1c3RlZCBieSBtYXJnaW5zCi0gICAgcGFnZUhlaWdodCAtPSAo
aGVhZGVySGVpZ2h0ICsgZm9vdGVySGVpZ2h0KTsKLQotICAgIGlmIChwYWdlSGVpZ2h0IDw9IDAp
IHsKLSAgICAgICAgTE9HX0VSUk9SKCJwYWdlSGVpZ2h0IGhhcyBiYWQgdmFsdWUgJS4yZiIsIHBh
Z2VIZWlnaHQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZmxvYXQgY3VyclBhZ2VI
ZWlnaHQgPSBwYWdlSGVpZ2h0IC8gdXNlclNjYWxlRmFjdG9yOwotICAgIGZsb2F0IGRvY0hlaWdo
dCAgICAgID0gcm9vdC0+bGF5ZXIoKS0+c2l6ZSgpLmhlaWdodCgpOwotICAgIGZsb2F0IGN1cnJQ
YWdlV2lkdGggID0gcGFnZVdpZHRoIC8gdXNlclNjYWxlRmFjdG9yOwotCi0KLSAgICAvLyBhbHdh
eXMgcmV0dXJuIGF0IGxlYXN0IG9uZSBwYWdlLCBzaW5jZSBlbXB0eSBmaWxlcyBzaG91bGQgcHJp
bnQgYSBibGFuayBwYWdlCi0gICAgZmxvYXQgcHJpbnRlZFBhZ2VzSGVpZ2h0ID0gMC4wOwotICAg
IGRvIHsKLSAgICAgICAgZmxvYXQgcHJvcG9zZWRCb3R0b20gPSBtaW4oZG9jSGVpZ2h0LCBwcmlu
dGVkUGFnZXNIZWlnaHQgKyBwYWdlSGVpZ2h0KTsKLSAgICAgICAgZnJhbWUtPnZpZXcoKS0+YWRq
dXN0UGFnZUhlaWdodERlcHJlY2F0ZWQoJnByb3Bvc2VkQm90dG9tLCBwcmludGVkUGFnZXNIZWln
aHQsIHByb3Bvc2VkQm90dG9tLCBwcmludGVkUGFnZXNIZWlnaHQpOwotICAgICAgICBjdXJyUGFn
ZUhlaWdodCA9IG1heCgxLjBmLCBwcm9wb3NlZEJvdHRvbSAtIHByaW50ZWRQYWdlc0hlaWdodCk7
Ci0KLSAgICAgICAgcGFnZXMuYXBwZW5kKEludFJlY3QoMCwgcHJpbnRlZFBhZ2VzSGVpZ2h0LCBj
dXJyUGFnZVdpZHRoLCBjdXJyUGFnZUhlaWdodCkpOwotICAgICAgICBwcmludGVkUGFnZXNIZWln
aHQgKz0gY3VyclBhZ2VIZWlnaHQ7Ci0gICAgfSB3aGlsZSAocHJpbnRlZFBhZ2VzSGVpZ2h0IDwg
ZG9jSGVpZ2h0KTsKLX0KLQotSEJJVE1BUCBpbWFnZUZyb21TZWxlY3Rpb24oRnJhbWUqIGZyYW1l
LCBib29sIGZvcmNlQmxhY2tUZXh0KQotewotICAgIGlmICghZnJhbWUtPnZpZXcoKSkKLSAgICAg
ICAgcmV0dXJuIDA7Ci0KLSAgICBmcmFtZS0+dmlldygpLT5zZXRQYWludEJlaGF2aW9yKFBhaW50
QmVoYXZpb3JTZWxlY3Rpb25Pbmx5IHwgKGZvcmNlQmxhY2tUZXh0ID8gUGFpbnRCZWhhdmlvckZv
cmNlQmxhY2tUZXh0IDogMCkpOwotICAgIEZsb2F0UmVjdCBmciA9IGZyYW1lLT5zZWxlY3Rpb24o
KS0+Ym91bmRzKCk7Ci0gICAgSW50UmVjdCBpcigoaW50KWZyLngoKSwgKGludClmci55KCksIChp
bnQpZnIud2lkdGgoKSwgKGludClmci5oZWlnaHQoKSk7Ci0gICAgaWYgKGlyLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBpbnQgdzsKLSAgICBpbnQgaDsKLSAgICBGcmFtZVZp
ZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICh2aWV3LT5wYXJlbnQoKSkgewotICAg
ICAgICBpci5zZXRMb2NhdGlvbih2aWV3LT5wYXJlbnQoKS0+Y29udmVydENoaWxkVG9TZWxmKHZp
ZXcsIGlyLmxvY2F0aW9uKCkpKTsKLSAgICAgICAgdyA9IGlyLndpZHRoKCkgKiBmcmFtZS0+cGFn
ZVpvb21GYWN0b3IoKSArIDAuNTsKLSAgICAgICAgaCA9IGlyLmhlaWdodCgpICogZnJhbWUtPnBh
Z2Vab29tRmFjdG9yKCkgKyAwLjU7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaXIgPSB2aWV3LT5j
b250ZW50c1RvV2luZG93KGlyKTsKLSAgICAgICAgdyA9IGlyLndpZHRoKCk7Ci0gICAgICAgIGgg
PSBpci5oZWlnaHQoKTsKLSAgICB9Ci0KLSAgICBPd25QdHI8SERDPiBibXBEQyA9IGFkb3B0UHRy
KENyZWF0ZUNvbXBhdGlibGVEQyhnX3NjcmVlbkRDKSk7Ci0gICAgSEJJVE1BUCBoQm1wID0gQ3Jl
YXRlQ29tcGF0aWJsZUJpdG1hcChnX3NjcmVlbkRDLCB3LCBoKTsKLSAgICBpZiAoIWhCbXApCi0g
ICAgICAgIHJldHVybiAwOwotCi0gICAgSEdESU9CSiBoYm1wT2xkID0gU2VsZWN0T2JqZWN0KGJt
cERDLmdldCgpLCBoQm1wKTsKLQotICAgIHsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0IGdjKGJt
cERDLmdldCgpKTsKLSAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwot
ICAgICAgICB2aWV3LT5wYWludCgmZ2MsIGlyKTsKLSAgICB9Ci0KLSAgICBTZWxlY3RPYmplY3Qo
Ym1wREMuZ2V0KCksIGhibXBPbGQpOwotCi0gICAgZnJhbWUtPnZpZXcoKS0+c2V0UGFpbnRCZWhh
dmlvcihQYWludEJlaGF2aW9yTm9ybWFsKTsKLQotICAgIHJldHVybiBoQm1wOwotfQotCi1EcmFn
SW1hZ2VSZWYgRnJhbWU6Om5vZGVJbWFnZShOb2RlKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgIHJldHVybiAwOwotfQotCi1EcmFnSW1hZ2VSZWYgRnJhbWU6OmRyYWdJbWFnZUZvclNl
bGVjdGlvbigpCi17Ci0gICAgaWYgKHNlbGVjdGlvbigpLT5pc1JhbmdlKCkpCi0gICAgICAgIHJl
dHVybiBpbWFnZUZyb21TZWxlY3Rpb24odGhpcywgZmFsc2UpOwotCi0gICAgcmV0dXJuIDA7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207925</attachid>
            <date>2013-08-01 07:59:19 -0700</date>
            <delta_ts>2013-08-01 10:05:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117988-20130801165917.patch</filename>
            <type>text/plain</type>
            <size>9802</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ5NzgzMDY2ZjRmN2Uw
ZjE1MGEwOGFiNjAwZDg0YjQ4YzEzMjRlMi4uNWRhMjVlOGY2NzllNDM5ODQxZWM4OGQ1YmIwOTIz
NWFhMGRmZGMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA4LTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIE1lcmdlIEZyYW1l
V2luQ0UgaW50byBGcmFtZVdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE3OTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmV1c2UgdGhlIGNvZGUgZnJvbSBGcmFtZVdpbi5jcHAgaW5zdGVhZCBvZiBk
dXBsaWNhdGluZyBpdC4KKworICAgICAgICAqIFBsYXRmb3JtV2luQ0UuY21ha2U6CisgICAgICAg
ICogcGFnZS93aW4vRnJhbWVHZGlXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Omlt
YWdlRnJvbVJlY3QpOgorICAgICAgICAqIHBhZ2Uvd2luY2UvRnJhbWVXaW5DRS5jcHA6IFJlbW92
ZWQuCisKIDIwMTMtMDgtMDEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZWR1Y2UgQ1NTUHJvcGVydHkncyBTdHlsZVByb3BlcnR5TWV0YWRhdGEgbWVtb3J5
IGZvb3RwcmludCBieSBoYWxmIHdoZW4gdXNlZCBpbnNpZGUgYSBJbW11dGFibGVTdHlsZVByb3Bl
cnR5U2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW5DRS5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luQ0UuY21ha2UKaW5kZXggNTBjYWFjZmIyZjQzZjIy
NTVlNzBiMjE0NGI2ZGZkNWJhMjE2ODc0OS4uZGVmN2JlZmZkNmJlZmUyNWU3YmIwNGY0ZjdiOGI5
MWQ4YTFjNjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XaW5DRS5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbkNFLmNtYWtlCkBAIC0yMyw3ICsyMyw4
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGFnZS93aW4vRHJhZ0NvbnRy
b2xsZXJXaW4uY3BwCiAgICAgcGFnZS93aW4vRXZlbnRIYW5kbGVyV2luLmNwcAotICAgIHBhZ2Uv
d2luY2UvRnJhbWVXaW5DRS5jcHAKKyAgICBwYWdlL3dpbi9GcmFtZUdkaVdpbi5jcHAKKyAgICBw
YWdlL3dpbi9GcmFtZVdpbi5jcHAKIAogICAgIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbmNlLmNw
cAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3dpbi9GcmFtZUdkaVdpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3dpbi9GcmFtZUdkaVdpbi5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZh
OTA0MTUwODczOTUxMTAwYmI5N2I1ODdjOGQyNGQ0OTE1OWI0YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luL0ZyYW1lR2RpV2luLmNwcApAQCAtMCwwICsxLDcxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRnJhbWVXaW4uaCIKKworI2lu
Y2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCisjaW5jbHVkZSA8d2luZG93cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2V4dGVybiBIREMgZ19zY3JlZW5EQzsKKworUGFzc093blB0cjxIQklUTUFQPiBpbWFnZUZy
b21SZWN0KEZyYW1lKiBmcmFtZSwgSW50UmVjdCYgaXIpCit7CisgICAgaW50IHc7CisgICAgaW50
IGg7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKKyAgICBpZiAodmlldy0+
cGFyZW50KCkpIHsKKyAgICAgICAgaXIuc2V0TG9jYXRpb24odmlldy0+cGFyZW50KCktPmNvbnZl
cnRDaGlsZFRvU2VsZih2aWV3LCBpci5sb2NhdGlvbigpKSk7CisgICAgICAgIHcgPSBpci53aWR0
aCgpICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKyAwLjU7CisgICAgICAgIGggPSBpci5oZWln
aHQoKSAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICsgMC41OworICAgIH0gZWxzZSB7CisgICAg
ICAgIGlyID0gdmlldy0+Y29udGVudHNUb1dpbmRvdyhpcik7CisgICAgICAgIHcgPSBpci53aWR0
aCgpOworICAgICAgICBoID0gaXIuaGVpZ2h0KCk7CisgICAgfQorCisgICAgT3duUHRyPEhEQz4g
Ym1wREMgPSBhZG9wdFB0cihDcmVhdGVDb21wYXRpYmxlREMoZ19zY3JlZW5EQykpOworICAgIE93
blB0cjxIQklUTUFQPiBoQm1wID0gYWRvcHRQdHIoQ3JlYXRlQ29tcGF0aWJsZUJpdG1hcChnX3Nj
cmVlbkRDLCB3LCBoKSk7CisgICAgaWYgKCFoQm1wKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KworICAgIEhHRElPQkogaGJtcE9sZCA9IFNlbGVjdE9iamVjdChibXBEQy5nZXQoKSwgaEJtcC5n
ZXQoKSk7CisKKyAgICB7CisgICAgICAgIEdyYXBoaWNzQ29udGV4dCBnYyhibXBEQy5nZXQoKSk7
CisgICAgICAgIHZpZXctPnBhaW50KCZnYywgaXIpOworICAgIH0KKworICAgIFNlbGVjdE9iamVj
dChibXBEQy5nZXQoKSwgaGJtcE9sZCk7CisKKyAgICByZXR1cm4gaEJtcC5yZWxlYXNlKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvd2luY2UvRnJhbWVXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3dpbmNlL0ZyYW1l
V2luQ0UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTAwNDIwOWZhYmI0ZjNk
NGE5ZjA1ODY3MTM5M2ZhZDYyYzc1OWY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvd2luY2UvRnJhbWVXaW5DRS5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChD
KSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJGcmFtZS5oIgotCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKLSNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgIkZy
YW1lVmlldy5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxJ
RnJhbWVFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFRh
YmxlQ2VsbEVsZW1lbnQuaCIKLSNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUmVuZGVyRnJh
bWUuaCIKLSNpbmNsdWRlICJSZW5kZXJMYXllci5oIgotI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIK
LSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgotCi0jaW5jbHVkZSA8d2luZG93cy5oPgotCi11
c2luZyBzdGQ6Om1pbjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwotCi1leHRlcm4gSERDIGdfc2NyZWVuREM7Ci0KLXZvaWQgY29tcHV0ZVBhZ2VS
ZWN0c0ZvckZyYW1lKEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UmVjdCYgcHJpbnRSZWN0LCBmbG9h
dCBoZWFkZXJIZWlnaHQsIGZsb2F0IGZvb3RlckhlaWdodCwgZmxvYXQgdXNlclNjYWxlRmFjdG9y
LCBWZWN0b3I8SW50UmVjdD4mIHBhZ2VzLCBpbnQmIG91dFBhZ2VIZWlnaHQpCi17Ci0gICAgQVNT
RVJUKGZyYW1lKTsKLQotICAgIHBhZ2VzLmNsZWFyKCk7Ci0gICAgb3V0UGFnZUhlaWdodCA9IDA7
Ci0KLSAgICBpZiAoIWZyYW1lLT5kb2N1bWVudCgpIHx8ICFmcmFtZS0+dmlldygpIHx8ICFmcmFt
ZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBSZW5k
ZXJWaWV3KiByb290ID0gZnJhbWUtPmRvY3VtZW50KCktPnJlbmRlclZpZXcoKTsKLQotICAgIGlm
ICh1c2VyU2NhbGVGYWN0b3IgPD0gMCkgewotICAgICAgICBMT0dfRVJST1IoInVzZXJTY2FsZUZh
Y3RvciBoYXMgYmFkIHZhbHVlICUuMmYiLCB1c2VyU2NhbGVGYWN0b3IpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgZmxvYXQgcmF0aW8gPSAoZmxvYXQpcHJpbnRSZWN0LmhlaWdodCgp
IC8gKGZsb2F0KXByaW50UmVjdC53aWR0aCgpOwotCi0gICAgZmxvYXQgcGFnZVdpZHRoICA9IChm
bG9hdCkgcm9vdC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WCgpOwotICAgIGZsb2F0IHBhZ2VI
ZWlnaHQgPSBwYWdlV2lkdGggKiByYXRpbzsKLSAgICBvdXRQYWdlSGVpZ2h0ID0gKGludCkgcGFn
ZUhlaWdodDsgICAvLyB0aGlzIGlzIHRoZSBoZWlnaHQgb2YgdGhlIHBhZ2UgYWRqdXN0ZWQgYnkg
bWFyZ2lucwotICAgIHBhZ2VIZWlnaHQgLT0gKGhlYWRlckhlaWdodCArIGZvb3RlckhlaWdodCk7
Ci0KLSAgICBpZiAocGFnZUhlaWdodCA8PSAwKSB7Ci0gICAgICAgIExPR19FUlJPUigicGFnZUhl
aWdodCBoYXMgYmFkIHZhbHVlICUuMmYiLCBwYWdlSGVpZ2h0KTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGZsb2F0IGN1cnJQYWdlSGVpZ2h0ID0gcGFnZUhlaWdodCAvIHVzZXJTY2Fs
ZUZhY3RvcjsKLSAgICBmbG9hdCBkb2NIZWlnaHQgICAgICA9IHJvb3QtPmxheWVyKCktPnNpemUo
KS5oZWlnaHQoKTsKLSAgICBmbG9hdCBjdXJyUGFnZVdpZHRoICA9IHBhZ2VXaWR0aCAvIHVzZXJT
Y2FsZUZhY3RvcjsKLQotCi0gICAgLy8gYWx3YXlzIHJldHVybiBhdCBsZWFzdCBvbmUgcGFnZSwg
c2luY2UgZW1wdHkgZmlsZXMgc2hvdWxkIHByaW50IGEgYmxhbmsgcGFnZQotICAgIGZsb2F0IHBy
aW50ZWRQYWdlc0hlaWdodCA9IDAuMDsKLSAgICBkbyB7Ci0gICAgICAgIGZsb2F0IHByb3Bvc2Vk
Qm90dG9tID0gbWluKGRvY0hlaWdodCwgcHJpbnRlZFBhZ2VzSGVpZ2h0ICsgcGFnZUhlaWdodCk7
Ci0gICAgICAgIGZyYW1lLT52aWV3KCktPmFkanVzdFBhZ2VIZWlnaHREZXByZWNhdGVkKCZwcm9w
b3NlZEJvdHRvbSwgcHJpbnRlZFBhZ2VzSGVpZ2h0LCBwcm9wb3NlZEJvdHRvbSwgcHJpbnRlZFBh
Z2VzSGVpZ2h0KTsKLSAgICAgICAgY3VyclBhZ2VIZWlnaHQgPSBtYXgoMS4wZiwgcHJvcG9zZWRC
b3R0b20gLSBwcmludGVkUGFnZXNIZWlnaHQpOwotCi0gICAgICAgIHBhZ2VzLmFwcGVuZChJbnRS
ZWN0KDAsIHByaW50ZWRQYWdlc0hlaWdodCwgY3VyclBhZ2VXaWR0aCwgY3VyclBhZ2VIZWlnaHQp
KTsKLSAgICAgICAgcHJpbnRlZFBhZ2VzSGVpZ2h0ICs9IGN1cnJQYWdlSGVpZ2h0OwotICAgIH0g
d2hpbGUgKHByaW50ZWRQYWdlc0hlaWdodCA8IGRvY0hlaWdodCk7Ci19Ci0KLUhCSVRNQVAgaW1h
Z2VGcm9tU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSwgYm9vbCBmb3JjZUJsYWNrVGV4dCkKLXsKLSAg
ICBpZiAoIWZyYW1lLT52aWV3KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgZnJhbWUtPnZp
ZXcoKS0+c2V0UGFpbnRCZWhhdmlvcihQYWludEJlaGF2aW9yU2VsZWN0aW9uT25seSB8IChmb3Jj
ZUJsYWNrVGV4dCA/IFBhaW50QmVoYXZpb3JGb3JjZUJsYWNrVGV4dCA6IDApKTsKLSAgICBGbG9h
dFJlY3QgZnIgPSBmcmFtZS0+c2VsZWN0aW9uKCktPmJvdW5kcygpOwotICAgIEludFJlY3QgaXIo
KGludClmci54KCksIChpbnQpZnIueSgpLCAoaW50KWZyLndpZHRoKCksIChpbnQpZnIuaGVpZ2h0
KCkpOwotICAgIGlmIChpci5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaW50
IHc7Ci0gICAgaW50IGg7Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKLSAg
ICBpZiAodmlldy0+cGFyZW50KCkpIHsKLSAgICAgICAgaXIuc2V0TG9jYXRpb24odmlldy0+cGFy
ZW50KCktPmNvbnZlcnRDaGlsZFRvU2VsZih2aWV3LCBpci5sb2NhdGlvbigpKSk7Ci0gICAgICAg
IHcgPSBpci53aWR0aCgpICogZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCkgKyAwLjU7Ci0gICAgICAg
IGggPSBpci5oZWlnaHQoKSAqIGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpICsgMC41OwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGlyID0gdmlldy0+Y29udGVudHNUb1dpbmRvdyhpcik7Ci0gICAgICAg
IHcgPSBpci53aWR0aCgpOwotICAgICAgICBoID0gaXIuaGVpZ2h0KCk7Ci0gICAgfQotCi0gICAg
T3duUHRyPEhEQz4gYm1wREMgPSBhZG9wdFB0cihDcmVhdGVDb21wYXRpYmxlREMoZ19zY3JlZW5E
QykpOwotICAgIEhCSVRNQVAgaEJtcCA9IENyZWF0ZUNvbXBhdGlibGVCaXRtYXAoZ19zY3JlZW5E
QywgdywgaCk7Ci0gICAgaWYgKCFoQm1wKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIEhHRElP
QkogaGJtcE9sZCA9IFNlbGVjdE9iamVjdChibXBEQy5nZXQoKSwgaEJtcCk7Ci0KLSAgICB7Ci0g
ICAgICAgIEdyYXBoaWNzQ29udGV4dCBnYyhibXBEQy5nZXQoKSk7Ci0gICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKLSAgICAgICAgdmlldy0+cGFpbnQoJmdjLCBpcik7
Ci0gICAgfQotCi0gICAgU2VsZWN0T2JqZWN0KGJtcERDLmdldCgpLCBoYm1wT2xkKTsKLQotICAg
IGZyYW1lLT52aWV3KCktPnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvck5vcm1hbCk7Ci0K
LSAgICByZXR1cm4gaEJtcDsKLX0KLQotRHJhZ0ltYWdlUmVmIEZyYW1lOjpub2RlSW1hZ2UoTm9k
ZSopCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotRHJhZ0lt
YWdlUmVmIEZyYW1lOjpkcmFnSW1hZ2VGb3JTZWxlY3Rpb24oKQotewotICAgIGlmIChzZWxlY3Rp
b24oKS0+aXNSYW5nZSgpKQotICAgICAgICByZXR1cm4gaW1hZ2VGcm9tU2VsZWN0aW9uKHRoaXMs
IGZhbHNlKTsKLQotICAgIHJldHVybiAwOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>