<?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>93673</bug_id>
          
          <creation_ts>2012-08-09 18:08:16 -0700</creation_ts>
          <short_desc>NRWT: Make it possible to run layout tests on Retina MBP</short_desc>
          <delta_ts>2013-03-22 13:38:05 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>arabelo</cc>
    
    <cc>bdakin</cc>
    
    <cc>dpranke</cc>
    
    <cc>leviw</cc>
    
    <cc>pdr</cc>
    
    <cc>silviapf</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tdanderson</cc>
    
    <cc>thakis</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>692059</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-09 18:08:16 -0700</bug_when>
    <thetext>We need a separate baseline on machines with deviceScaleFactor &gt; 1 such as Retina MacBook Pro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692061</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-09 18:11:35 -0700</bug_when>
    <thetext>A big question is how we&apos;re going to support both WK2 and high resolution as the same time.

Say we&apos;re on Retina MBP with Lion and running tests under WK1. Fallback path will probably look like:

mac-lion-highresolution &gt; mac-lion &gt; ... &gt; mac

But what if we were running tests under WK2?

mac-lion-highresolution-wk2 &gt; mac-lion-highresolution &gt; mac-lion &gt; ... &gt; mac?
or mac-lion-wk2-highresolution &gt; mac-lion-wk2 &gt; mac-lion &gt; ... &gt; mac?
or something crazy like mac-lion-wk2-highresolution &gt; mac-highresolution &gt; mac-lion-wk2 &gt; mac-lion &gt; ... &gt; mac?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692063</commentid>
    <comment_count>2</comment_count>
      <attachid>157603</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-09 18:12:51 -0700</bug_when>
    <thetext>Created attachment 157603
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692079</commentid>
    <comment_count>3</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-08-09 18:34:34 -0700</bug_when>
    <thetext>See also bug 93647 (no patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692129</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-09 19:53:48 -0700</bug_when>
    <thetext>What is the canonical name for these sorts of displays? &quot;high resolution&quot; and &quot;high DPI&quot; are not good descriptions because they just mean that screen size is big when measured in device pixels. It&apos;s the scaling factor that&apos;s unique.

Maybe &quot;scaled&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692130</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-09 19:58:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; What is the canonical name for these sorts of displays? &quot;high resolution&quot; and &quot;high DPI&quot; are not good descriptions because they just mean that screen size is big when measured in device pixels. It&apos;s the scaling factor that&apos;s unique.
&gt; 
&gt; Maybe &quot;scaled&quot;?

This may be beside the point, since I&apos;m not sure that a different implementation of the display would have the same characteristics or matter ... maybe we should just call it &quot;retina&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692133</commentid>
    <comment_count>6</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-08-09 19:59:46 -0700</bug_when>
    <thetext>On Windows, we might end up with 1.4 and 1.8 scale factors for metro as opposed to 2x, so just &quot;retina&quot; might not be a good idea. Maybe &quot;scaled-200&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692137</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-09 20:07:04 -0700</bug_when>
    <thetext>As I understand it, Retina is Apple&apos;s trademark and I&apos;d rather not take a risk of using that term.

Also, I really hope we don&apos;t have to support multiple scaling factors on our tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692661</commentid>
    <comment_count>8</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-08-10 10:39:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; See also bug 93647 (no patch)

Can you please clarify the relationship between the two bugs? AFAICT, I still need to fix bug 93647 to ensure that bug 90192 can land (i.e., to check the correctness of high dpi pixel tests in chromium for both the software and hardware paths).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692683</commentid>
    <comment_count>9</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 11:01:38 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #3)
&gt; &gt; See also bug 93647 (no patch)
&gt; 
&gt; Can you please clarify the relationship between the two bugs? AFAICT, I still need to fix bug 93647 to ensure that bug 90192 can land (i.e., to check the correctness of high dpi pixel tests in chromium for both the software and hardware paths).


If my understanding is correct, bug 93647 is about making the tests in fast/hidpi work. Those tests use WTR/DRT to simulate HiDPI mode on ANY device, so the results are expected to always be in 2x whether they are run on a 1x device, a 2x device, or a magical 16x device! 

This bug is about running ALL of the tests on a retina mac, which is a 2x device. There are many tests in other directories that have results checked in that expect a 1x device, so they fail on a 2x machine. See these bugs to get an idea of the kind of tests that require a platform/retina or platform/2x directory:

https://bugs.webkit.org/show_bug.cgi?id=89709
https://bugs.webkit.org/show_bug.cgi?id=89711
https://bugs.webkit.org/show_bug.cgi?id=89713
https://bugs.webkit.org/show_bug.cgi?id=89715</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692689</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-08-10 11:10:48 -0700</bug_when>
    <thetext>Not only that but a lot of pixel tests baselines for Chromium Mac don&apos;t match :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692723</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-10 11:33:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; As I understand it, Retina is Apple&apos;s trademark and I&apos;d rather not take a risk of using that term.

Good point.

&gt; Also, I really hope we don&apos;t have to support multiple scaling factors on our tests.

Yes, that would be nice, but so far I&apos;m not optimistic :)

Do we know what is failling when deviceScaleFactor &gt; 1? Is it anything we could potentially work around or fuzz for in the test? I assume it&apos;s mostly differences due to interpolating things differently, and maybe we could do a fuzzy image compare for that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692735</commentid>
    <comment_count>12</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2012-08-10 11:38:15 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #7)
&gt; &gt; As I understand it, Retina is Apple&apos;s trademark and I&apos;d rather not take a risk of using that term.
&gt; 
&gt; Good point.
&gt; 
&gt; &gt; Also, I really hope we don&apos;t have to support multiple scaling factors on our tests.
&gt; 
&gt; Yes, that would be nice, but so far I&apos;m not optimistic :)
&gt; 
&gt; Do we know what is failling when deviceScaleFactor &gt; 1? Is it anything we could potentially work around or fuzz for in the test? I assume it&apos;s mostly differences due to interpolating things differently, and maybe we could do a fuzzy image compare for that?

Primarily font aliasing but there are also scrollbar differences (where scrollbars appear now, but they didn&apos;t before). I don&apos;t think we could get away with fuzzy image compare, sadly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692746</commentid>
    <comment_count>13</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-08-10 11:41:21 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #7)
&gt; &gt; As I understand it, Retina is Apple&apos;s trademark and I&apos;d rather not take a risk of using that term.
&gt; 
&gt; Good point.
&gt; 
&gt; &gt; Also, I really hope we don&apos;t have to support multiple scaling factors on our tests.
&gt; 
&gt; Yes, that would be nice, but so far I&apos;m not optimistic :)
&gt; 
&gt; Do we know what is failling when deviceScaleFactor &gt; 1? Is it anything we could potentially work around or fuzz for in the test? I assume it&apos;s mostly differences due to interpolating things differently, and maybe we could do a fuzzy image compare for that?

If you look at the links I pasted into comment 9, you will see a number of things that are failing. I think there is a legitimate need for a platform directory here because not all of the failures represent bugs. For example, there is no way to test media queries that query device-pixel-ratio without having different expectations for 1x and 2x. There are also a lot of legitimate differences with &lt;canvas&gt; when you are on a  1x versus a 2x device, and the only way to test those is again allowing for different expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861342</commentid>
    <comment_count>14</comment_count>
      <attachid>194513</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-22 04:33:26 -0700</bug_when>
    <thetext>Created attachment 194513
patch to make DRT+WKTR windows 1x

Attaching a hacky patch that implements an alternative solution: running the tests at 1x always. I realize we probably want to test 2x in the future, but if we want a quick fix that makes existing test results match on Retina hardware, we could do this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861343</commentid>
    <comment_count>15</comment_count>
      <attachid>194513</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-22 04:34:06 -0700</bug_when>
    <thetext>Comment on attachment 194513
patch to make DRT+WKTR windows 1x

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

&gt; Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm:131
&gt; -    NSRect windowRect = NSOffsetRect(rect, -10000, [(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame].size.height - rect.size.height + 10000);
&gt; +    NSRect windowRect = NSOffsetRect(rect, 0, [(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame].size.height - rect.size.height);

Pretend this part isn&apos;t here, it was just for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861528</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 09:00:11 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=194513) [details]
&gt; patch to make DRT+WKTR windows 1x
&gt; 
&gt; Attaching a hacky patch that implements an alternative solution: running the tests at 1x always. I realize we probably want to test 2x in the future, but if we want a quick fix that makes existing test results match on Retina hardware, we could do this...

Nice! Do all tests pass with this change? Or do some tests still fail? If some of them do fail, then we probably want to do this and what I proposed earlier so that we may check in -expected.txt as needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861690</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 11:09:42 -0700</bug_when>
    <thetext>Nice! It seems like all the tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861691</commentid>
    <comment_count>18</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2013-03-22 11:10:09 -0700</bug_when>
    <thetext>Awesome!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861698</commentid>
    <comment_count>19</comment_count>
      <attachid>194513</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 11:17:52 -0700</bug_when>
    <thetext>Comment on attachment 194513
patch to make DRT+WKTR windows 1x

Tim, could you add a change log to this? r=me with that and reverting the change you mentioned were only for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861716</commentid>
    <comment_count>20</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-03-22 11:43:10 -0700</bug_when>
    <thetext>Hopefully this patch does not break testRunner.setBackingScaleFactor(). That&apos;s a mode that I added a while ago to test 2X from a 1X machine. The tests that use it are in fast/hidpi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861720</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-22 11:47:29 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Hopefully this patch does not break testRunner.setBackingScaleFactor(). That&apos;s a mode that I added a while ago to test 2X from a 1X machine. The tests that use it are in fast/hidpi.

I’ve ran it locally and they seem to pass still (I seem to have some color profile isssues thouh might be Lion vs. ML difference)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861721</commentid>
    <comment_count>22</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-03-22 11:48:37 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; Hopefully this patch does not break testRunner.setBackingScaleFactor(). That&apos;s a mode that I added a while ago to test 2X from a 1X machine. The tests that use it are in fast/hidpi.
&gt; 
&gt; I’ve ran it locally and they seem to pass still (I seem to have some color profile isssues thouh might be Lion vs. ML difference)
 
Cool! (Well, the colorspace issue is not cool, but I&apos;m glad that generally the mode works.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861775</commentid>
    <comment_count>23</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-22 12:52:01 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 194513 [details])
&gt; Tim, could you add a change log to this? r=me with that and reverting the change you mentioned were only for testing.

Will do, shortly. Glad that it helps :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861807</commentid>
    <comment_count>24</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-03-22 13:38:05 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/146650

Tests will now run at 1x on all devices (for the Mac port).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157603</attachid>
            <date>2012-08-09 18:12:51 -0700</date>
            <delta_ts>2012-08-09 18:12:51 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>wip93673</filename>
            <type>text/plain</type>
            <size>10820</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0SGVscGVyLm0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RIZWxwZXIubQkocmV2
aXNpb24gMTI1MTUyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RIZWxw
ZXIubQkod29ya2luZyBjb3B5KQpAQCAtMTg0LDEwICsxODQsMjQgQEAKICAgICBleGl0KDEyOCAr
IHNpZyk7CiB9CiAKK3N0YXRpYyBib29sIGlzSGlnaFJlc29sdXRpb24oKQoreworI2lmIE1BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwNzAKKyAgICByZXR1cm4gW1tOU1NjcmVlbiBt
YWluU2NyZWVuXSBiYWNraW5nU2NhbGVGYWN0b3JdID4gMTsKKyNlbHNlCisgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCit9CisKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiB7CiAg
ICAgTlNBdXRvcmVsZWFzZVBvb2wqIHBvb2wgPSBbW05TQXV0b3JlbGVhc2VQb29sIGFsbG9jXSBp
bml0XTsKIAorICAgIGlmIChhcmdjID4gMSAmJiBzdHJjbXAoYXJndlsxXSwgIi0taXMtaGlnaC1y
ZXNvbHV0aW9uIikgPT0gMCkgeworICAgICAgICBwcmludGYoIiVkXG4iLCBpc0hpZ2hSZXNvbHV0
aW9uKCkpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKICAgICAvLyBIb29rcyB0aGUgd2F5
cyB3ZSBtaWdodCBnZXQgdG9sZCB0byBjbGVhbiB1cC4uLgogICAgIHNpZ25hbChTSUdJTlQsIHNp
bXBsZVNpZ25hbEhhbmRsZXIpOwogICAgIHNpZ25hbChTSUdIVVAsIHNpbXBsZVNpZ25hbEhhbmRs
ZXIpOwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9tYWMucHkJKHJldmlzaW9uIDEyNTE4NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5jcmFzaGxvZ3MgaW1wb3J0IENyYXNoTG9ncwog
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IK
K2Zyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGNvbmZpZyBhcyBwb3J0X2Nv
bmZpZwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5hcHBsZSBpbXBvcnQgQXBwbGVQ
b3J0CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LmxlYWtkZXRlY3RvciBpbXBvcnQg
TGVha0RldGVjdG9yCiAKQEAgLTY1LDYgKzY2LDEzIEBACiAgICAgICAgICAgICAjIHdpdGggTWFs
bG9jU3RhY2tMb2dnaW5nIGVuYWJsZWQuCiAgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVm
YXVsdCgiYmF0Y2hfc2l6ZSIsIDEwMDApCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZGV0
ZXJtaW5lX2Z1bGxfcG9ydF9uYW1lKGNscywgaG9zdCwgb3B0aW9ucywgcG9ydF9uYW1lKToKKyAg
ICAgICAgbmFtZSA9IHN1cGVyKE1hY1BvcnQsIGNscykuZGV0ZXJtaW5lX2Z1bGxfcG9ydF9uYW1l
KGhvc3QsIG9wdGlvbnMsIHBvcnRfbmFtZSkKKyAgICAgICAgaWYgY2xzLmlzX2hpZ2hfcmVzb2x1
dGlvbihob3N0LCBvcHRpb25zKToKKyAgICAgICAgICAgIG5hbWUgKz0gJy1oaWdocmVzb2x1dGlv
bicKKyAgICAgICAgcmV0dXJuIG5hbWUKKwogICAgIGRlZiBkZWZhdWx0X3RpbWVvdXRfbXMoc2Vs
Zik6CiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignZ3VhcmRfbWFsbG9jJyk6CiAgICAgICAg
ICAgICByZXR1cm4gMzUwICogMTAwMApAQCAtMjU1LDEyICsyNjMsNDMgQEAKICAgICAgICAgZXhj
ZXB0IFNjcmlwdEVycm9yLCBlOgogICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdVbmFibGUgdG8g
c2FtcGxlIHByb2Nlc3MuJykKIAotICAgIGRlZiBfcGF0aF90b19oZWxwZXIoc2VsZik6CisgICAg
QGNsYXNzbWV0aG9kCisgICAgZGVmIF9wYXRoX3RvX2hlbHBlcihjbHMsIGZpbGVzeXN0ZW0sIGNv
bmZpZywgb3B0aW9ucyk6CiAgICAgICAgIGJpbmFyeV9uYW1lID0gJ0xheW91dFRlc3RIZWxwZXIn
Ci0gICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGJpbmFyeV9uYW1lKQorICAgICAgICBy
ZXR1cm4gY2xzLl9zdGF0aWNfYnVpbGRfcGF0aChmaWxlc3lzdGVtLCBjb25maWcsIG9wdGlvbnMs
IGJpbmFyeV9uYW1lKQogCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGlzX2hpZ2hfcmVzb2x1
dGlvbihjbHMsIGhvc3QsIG9wdGlvbnMpOgorICAgICAgICBjb25maWcgPSBwb3J0X2NvbmZpZy5D
b25maWcoaG9zdC5leGVjdXRpdmUsIGhvc3QuZmlsZXN5c3RlbSkKKyAgICAgICAgaGVscGVyX3Bh
dGggPSBjbHMuX3BhdGhfdG9faGVscGVyKGhvc3QuZmlsZXN5c3RlbSwgY29uZmlnLCBvcHRpb25z
KQorICAgICAgICBpZiBub3QgaGVscGVyX3BhdGg6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
KworICAgICAgICBpZiBub3QgaG9zdC5maWxlc3lzdGVtLmlzZmlsZShoZWxwZXJfcGF0aCk6Cisg
ICAgICAgICAgICBfbG9nLmVycm9yKCJMYXlvdXRUZXN0SGVscGVyIGRvZXMgbm90IGV4aXN0IGF0
ICVzIiAlIGhlbHBlcl9wYXRoKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAg
X2xvZy5kZWJ1ZygiU3RhcnRpbmcgbGF5b3V0IGhlbHBlciAlcyIgJSBoZWxwZXJfcGF0aCkKKyAg
ICAgICAgaGVscGVyID0gaG9zdC5leGVjdXRpdmUucG9wZW4oW2hlbHBlcl9wYXRoLCAiLS1pcy1o
aWdoLXJlc29sdXRpb24iXSwKKyAgICAgICAgICAgIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgc3Rk
b3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPU5vbmUpCisKKyAgICAgICAgaXNfaGlnaF9yZXNv
bHV0aW9uID0gaGVscGVyLnN0ZG91dC5yZWFkbGluZSgpCisgICAgICAgIGlmIG5vdCBpc19oaWdo
X3Jlc29sdXRpb24uc3RhcnRzd2l0aCgnMCcpIGFuZCBub3QgaXNfaGlnaF9yZXNvbHV0aW9uLnN0
YXJ0c3dpdGgoJzEnKToKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoIkxheW91dFRlc3RIZWxwZXIg
b3V0cHV0IHdhcyBtYWxmb3JtZWQ6ICVzIiAlIGlzX2hpZ2hfcmVzb2x1dGlvbikKKyAgICAgICAg
ICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGhlbHBlci5zdGRp
bi53cml0ZSgieFxuIikKKyAgICAgICAgICAgIGhlbHBlci5zdGRpbi5jbG9zZSgpCisgICAgICAg
ICAgICBoZWxwZXIud2FpdCgpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlcnJvcjoKKyAgICAg
ICAgICAgIF9sb2cuZGVidWcoIklPRXJyb3IgcmFpc2VkIHdoaWxlIHN0b3BwaW5nIGhlbHBlcjog
JXMiICUgc3RyKGVycm9yKSkKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICByZXR1cm4gaXNf
aGlnaF9yZXNvbHV0aW9uLnN0YXJ0c3dpdGgoJzEnKQorCiAgICAgZGVmIHN0YXJ0X2hlbHBlcihz
ZWxmKToKLSAgICAgICAgaGVscGVyX3BhdGggPSBzZWxmLl9wYXRoX3RvX2hlbHBlcigpCisgICAg
ICAgIGhlbHBlcl9wYXRoID0gc2VsZi5fcGF0aF90b19oZWxwZXIoc2VsZi5fZmlsZXN5c3RlbSwg
c2VsZi5fY29uZmlnLCBzZWxmLl9vcHRpb25zKQogICAgICAgICBpZiBoZWxwZXJfcGF0aDoKICAg
ICAgICAgICAgIF9sb2cuZGVidWcoIlN0YXJ0aW5nIGxheW91dCBoZWxwZXIgJXMiICUgaGVscGVy
X3BhdGgpCiAgICAgICAgICAgICAjIE5vdGU6IE5vdCB0aHJlYWQgc2FmZTogaHR0cDovL2J1Z3Mu
cHl0aG9uLm9yZy9pc3N1ZTIzMjAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYXBwbGUucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9hcHBsZS5weQkocmV2aXNpb24gMTI1MTg2KQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcHBsZS5weQkod29ya2luZyBjb3B5
KQpAQCAtNzUsMTQgKzc1LDE0IEBACiAgICAgICAgIHN1cGVyKEFwcGxlUG9ydCwgc2VsZikuX19p
bml0X18oaG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncykKIAogICAgICAgICBhbGxvd2VkX3BvcnRf
bmFtZXMgPSBzZWxmLlZFUlNJT05fRkFMTEJBQ0tfT1JERVIgKyBbc2VsZi5vcGVyYXRpbmdfc3lz
dGVtKCkgKyAiLWZ1dHVyZSJdCi0gICAgICAgIHBvcnRfbmFtZSA9IHBvcnRfbmFtZS5yZXBsYWNl
KCctd2syJywgJycpCisgICAgICAgIHBvcnRfbmFtZSA9IHBvcnRfbmFtZS5yZXBsYWNlKCctd2sy
JywgJycpLnJlcGxhY2UoJy1oaWdocmVzb2x1dGlvbicsICcnKQogICAgICAgICBhc3NlcnQgcG9y
dF9uYW1lIGluIGFsbG93ZWRfcG9ydF9uYW1lcywgIiVzIGlzIG5vdCBpbiAlcyIgJSAocG9ydF9u
YW1lLCBhbGxvd2VkX3BvcnRfbmFtZXMpCiAgICAgICAgIHNlbGYuX3ZlcnNpb24gPSBzZWxmLl9z
dHJpcF9wb3J0X25hbWVfcHJlZml4KHBvcnRfbmFtZSkKIAogICAgICMgRklYTUU6IEEgbW9yZSBz
b3BoaXN0aWNhdGVkIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiBzaG91bGQgbW92ZSB0byBXZWJL
aXRQb3J0IGFuZCByZXBsYWNlIGFsbCBjYWxscyB0byBuYW1lKCkuCiAgICAgIyBUaGlzIGlzIGFs
c28gYSBtaXNsZWFkaW5nIG5hbWUsIHNpbmNlICdtYWMtZnV0dXJlJyBnZXRzIHJlbWFwcGVkIHRv
ICdtYWMnLgogICAgIGRlZiBfcG9ydF9uYW1lX3dpdGhfdmVyc2lvbihzZWxmKToKLSAgICAgICAg
cmV0dXJuIHNlbGYubmFtZSgpLnJlcGxhY2UoJy1mdXR1cmUnLCAnJykucmVwbGFjZSgnLXdrMics
ICcnKQorICAgICAgICByZXR1cm4gc2VsZi5uYW1lKCkucmVwbGFjZSgnLWZ1dHVyZScsICcnKS5y
ZXBsYWNlKCctd2syJywgJycpLnJlcGxhY2UoJy1oaWdocmVzb2x1dGlvbicsICcnKQogCiAgICAg
ZGVmIF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKICAgICAgICAgY29u
ZmlndXJhdGlvbnMgPSBbXQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkocmV2aXNpb24gMTI1MTg2KQorKysgVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0x
MTU4LDE4ICsxMTU4LDMwIEBACiAgICAgICAgIGNvbmZpZ19maWxlX25hbWUgPSBzZWxmLl9hcGFj
aGVfY29uZmlnX2ZpbGVfbmFtZV9mb3JfcGxhdGZvcm0oc3lzLnBsYXRmb3JtKQogICAgICAgICBy
ZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYubGF5b3V0X3Rlc3RzX2RpcigpLCAnaHR0
cCcsICdjb25mJywgY29uZmlnX2ZpbGVfbmFtZSkKIAotICAgIGRlZiBfYnVpbGRfcGF0aChzZWxm
LCAqY29tcHMpOgotICAgICAgICByb290X2RpcmVjdG9yeSA9IHNlbGYuZ2V0X29wdGlvbigncm9v
dCcpCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBfcm9vdF9kaXJlY3RvcnkoZmlsZXN5c3Rl
bSwgY29uZmlnLCBvcHRpb25zKToKKyAgICAgICAgcm9vdF9kaXJlY3RvcnkgPSBnZXRhdHRyKG9w
dGlvbnMsICdyb290JywgTm9uZSkKICAgICAgICAgaWYgbm90IHJvb3RfZGlyZWN0b3J5OgotICAg
ICAgICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5nZXRfb3B0aW9uKCdidWlsZF9kaXJlY3Rv
cnknKQorICAgICAgICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gZ2V0YXR0cihvcHRpb25zLCAnYnVp
bGRfZGlyZWN0b3J5JywgTm9uZSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBnZXRhdHRy
KG9wdGlvbnMsICdjb25maWd1cmF0aW9uJywgTm9uZSkKICAgICAgICAgICAgIGlmIGJ1aWxkX2Rp
cmVjdG9yeToKLSAgICAgICAgICAgICAgICByb290X2RpcmVjdG9yeSA9IHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihidWlsZF9kaXJlY3RvcnksIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicp
KQorICAgICAgICAgICAgICAgIHJvb3RfZGlyZWN0b3J5ID0gZmlsZXN5c3RlbS5qb2luKGJ1aWxk
X2RpcmVjdG9yeSwgY29uZmlndXJhdGlvbikKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICAgICAgcm9vdF9kaXJlY3RvcnkgPSBzZWxmLl9jb25maWcuYnVpbGRfZGlyZWN0b3J5KHNlbGYu
Z2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKQotICAgICAgICAgICAgIyBTZXQgLS1yb290IHNv
IHRoYXQgd2UgY2FuIHBhc3MgdGhpcyB0byBzdWJwcm9jZXNzZXMgYW5kIGF2b2lkIG1ha2luZyB0
aGUKLSAgICAgICAgICAgICMgc2xvdyBjYWxsIHRvIGNvbmZpZy5idWlsZF9kaXJlY3RvcnkoKSBO
IHRpbWVzIGluIGVhY2ggd29ya2VyLgotICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBpcyBsaWtl
IEBtZW1vaXplZCwgYnV0IG1vcmUgYW5ub3lpbmcgYW5kIGZyYWdpbGU7IHRoZXJlIHNob3VsZCBi
ZSBhbm90aGVyCi0gICAgICAgICAgICAjIHdheSB0byBwcm9wYWdhdGUgdmFsdWVzIHdpdGhvdXQg
bXV0YXRpbmcgdGhlIG9wdGlvbnMgbGlzdC4KKyAgICAgICAgICAgICAgICByb290X2RpcmVjdG9y
eSA9IGNvbmZpZy5idWlsZF9kaXJlY3RvcnkoY29uZmlndXJhdGlvbikKKyAgICAgICAgcmV0dXJu
IHJvb3RfZGlyZWN0b3J5CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3N0YXRpY19idWls
ZF9wYXRoKGNscywgZmlsZXN5c3RlbSwgY29uZmlnLCBvcHRpb25zLCAqY29tcHMpOgorICAgICAg
ICByb290X2RpcmVjdG9yeSA9IGNscy5fcm9vdF9kaXJlY3RvcnkoZmlsZXN5c3RlbSwgY29uZmln
LCBvcHRpb25zKQorICAgICAgICByZXR1cm4gZmlsZXN5c3RlbS5qb2luKGZpbGVzeXN0ZW0uYWJz
cGF0aChyb290X2RpcmVjdG9yeSksICpjb21wcykKKworICAgIGRlZiBfYnVpbGRfcGF0aChzZWxm
LCAqY29tcHMpOgorICAgICAgICByb290X2RpcmVjdG9yeSA9IHNlbGYuX3Jvb3RfZGlyZWN0b3J5
KHNlbGYuX2ZpbGVzeXN0ZW0sIHNlbGYuX2NvbmZpZywgc2VsZi5fb3B0aW9ucykKKyAgICAgICAg
IyBTZXQgLS1yb290IHNvIHRoYXQgd2UgY2FuIHBhc3MgdGhpcyB0byBzdWJwcm9jZXNzZXMgYW5k
IGF2b2lkIG1ha2luZyB0aGUKKyAgICAgICAgIyBzbG93IGNhbGwgdG8gY29uZmlnLmJ1aWxkX2Rp
cmVjdG9yeSgpIE4gdGltZXMgaW4gZWFjaCB3b3JrZXIuCisgICAgICAgICMgRklYTUU6IFRoaXMg
aXMgbGlrZSBAbWVtb2l6ZWQsIGJ1dCBtb3JlIGFubm95aW5nIGFuZCBmcmFnaWxlOyB0aGVyZSBz
aG91bGQgYmUgYW5vdGhlcgorICAgICAgICAjIHdheSB0byBwcm9wYWdhdGUgdmFsdWVzIHdpdGhv
dXQgbXV0YXRpbmcgdGhlIG9wdGlvbnMgbGlzdC4KKyAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9u
KCdyb290Jyk6CiAgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgncm9vdCcsIHJv
b3RfZGlyZWN0b3J5KQogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYu
X2ZpbGVzeXN0ZW0uYWJzcGF0aChyb290X2RpcmVjdG9yeSksICpjb21wcykKIApJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVf
bW9jay5weQkocmV2aXNpb24gMTI1MTg2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5CSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSwx
MSBAQAogICAgICAgICAgICAgaW5wdXRfc3RyaW5nID0gIiIKICAgICAgICAgICAgIGlmIGlucHV0
OgogICAgICAgICAgICAgICAgIGlucHV0X3N0cmluZyA9ICIsIGlucHV0PSVzIiAlIGlucHV0Ci0g
ICAgICAgICAgICBsb2coIk1PQ0sgcnVuX2NvbW1hbmQ6ICVzLCBjd2Q9JXMlcyVzIiAlIChhcmdz
LCBjd2QsIGVudl9zdHJpbmcsIGlucHV0X3N0cmluZykpCisKKyAgICAgICAgICAgICMgSWdub3Jl
IGV4ZWN1dGlvbiBvZiB3ZWJraXQtYnVpbGQtZGlyZWN0b3J5IGZyb20gTWFjUG9ydC5kZXRlcm1p
bmVfZnVsbF9wb3J0X25hbWUKKyAgICAgICAgICAgIGlmIGxlbihhcmdzKSA8IDIgb3IgYXJnc1sw
XSAhPSAncGVybCcgb3IgYXJnc1sxXSAhPSAnVG9vbHMvU2NyaXB0cy93ZWJraXQtYnVpbGQtZGly
ZWN0b3J5JzoKKyAgICAgICAgICAgICAgICBsb2coIk1PQ0sgcnVuX2NvbW1hbmQ6ICVzLCBjd2Q9
JXMlcyVzIiAlIChhcmdzLCBjd2QsIGVudl9zdHJpbmcsIGlucHV0X3N0cmluZykpCisKICAgICAg
ICAgb3V0cHV0ID0gIk1PQ0sgb3V0cHV0IG9mIGNoaWxkIHByb2Nlc3MiCiAgICAgICAgIGlmIHNl
bGYuX3Nob3VsZF90aHJvdzoKICAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCJNT0NLIFNj
cmlwdEVycm9yIiwgb3V0cHV0PW91dHB1dCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAxMjUxODYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cmViYXNlbGluZV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjMwLDYgKzIzMCw4IEBA
CiAKICAgICAgICAgIyBGSVhNRTogd29yayBhcm91bmQgdGhlIGNocm9taXVtIHNraWEgZXhwZWN0
YXRpb25zIGZpbGUgdG8gYXZvaWQgZ2V0dGluZyBhIGJ1bmNoIG9mIGNvbmZ1c2luZyB3YXJuaW5n
cy4KICAgICAgICAgbGlvbl9wb3J0ID0gdG9vbC5wb3J0X2ZhY3RvcnkuZ2V0X2Zyb21fYnVpbGRl
cl9uYW1lKCJXZWJraXQgTWFjMTAuNyIpCisgICAgICAgIGxpb25fcG9ydC5pc19oaWdoX3Jlc29s
dXRpb24gPSBsYW1iZGEgaG9zdCwgb3B0aW9uczogRmFsc2UKKwogICAgICAgICB0b29sLmZpbGVz
eXN0ZW0ud3JpdGVfdGV4dF9maWxlKGxpb25fcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgn
c2tpYScsICdza2lhX3Rlc3RfZXhwZWN0YXRpb25zLnR4dCcpLCAnJykKICAgICAgICAgZm9yIHBv
cnRfbmFtZSBpbiB0b29sLnBvcnRfZmFjdG9yeS5hbGxfcG9ydF9uYW1lcygpOgogICAgICAgICAg
ICAgcG9ydCA9IHRvb2wucG9ydF9mYWN0b3J5LmdldChwb3J0X25hbWUpCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvMmQuYmFja2luZ1N0b3JlUGl4ZWxSYXRpby1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Y2FudmFzLzJkLmJhY2tpbmdTdG9yZVBpeGVsUmF0aW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAx
MjUxNTIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvMmQuYmFja2lu
Z1N0b3JlUGl4ZWxSYXRpby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
IEBACi1jb250ZXh0MS53ZWJraXRCYWNraW5nU3RvcmVQaXhlbFJhdGlvIGlzIDEKK2NvbnRleHQx
LndlYmtpdEJhY2tpbmdTdG9yZVBpeGVsUmF0aW8gaXMgMgogY29udGV4dDIud2Via2l0QmFja2lu
Z1N0b3JlUGl4ZWxSYXRpbyBpcyAyCiAKSW5kZXg6IFdlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJl
ZGRhdGEveGNzY2hlbWVzL0FsbCBUb29scy54Y3NjaGVtZQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQu
eGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgVG9vbHMueGNzY2hlbWUJKHJl
dmlzaW9uIDEyNTE1MikKKysrIFdlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEveGNzY2hl
bWVzL0FsbCBUb29scy54Y3NjaGVtZQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDYgKzEzNiwxMiBA
QAogICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6VG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qIj4KICAgICAgICAgIDwvQnVpbGRh
YmxlUmVmZXJlbmNlPgogICAgICAgPC9CdWlsZGFibGVQcm9kdWN0UnVubmFibGU+CisgICAgICA8
Q29tbWFuZExpbmVBcmd1bWVudHM+CisgICAgICAgICA8Q29tbWFuZExpbmVBcmd1bWVudAorICAg
ICAgICAgICAgYXJndW1lbnQgPSAiL1VzZXJzL3JuaXdhL3dlYmtpdC9MYXlvdXRUZXN0cy9lZGl0
aW5nL2V4ZWNDb21tYW5kL2xpc3QtbWFya2VyLXJlbW92ZS1jcmFzaC5odG1sIgorICAgICAgICAg
ICAgaXNFbmFibGVkID0gIllFUyI+CisgICAgICAgICA8L0NvbW1hbmRMaW5lQXJndW1lbnQ+Cisg
ICAgICA8L0NvbW1hbmRMaW5lQXJndW1lbnRzPgogICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPgog
ICAgICAgPC9BZGRpdGlvbmFsT3B0aW9ucz4KICAgIDwvTGF1bmNoQWN0aW9uPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194513</attachid>
            <date>2013-03-22 04:33:26 -0700</date>
            <delta_ts>2013-03-22 11:17:52 -0700</delta_ts>
            <desc>patch to make DRT+WKTR windows 1x</desc>
            <filename>de-hidpi-tests.diff</filename>
            <type>text/plain</type>
            <size>3227</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBjYjE0YTE1
Li44MDczZTY5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
CkBAIC01NTQsNiArNTU0LDcgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldp
bmRvdygpCiAgICAgW1t3aW5kb3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6d2ViVmlld107CiAg
ICAgW3dpbmRvdyBvcmRlckJhY2s6bmlsXTsKICAgICBbd2luZG93IHNldEF1dG9kaXNwbGF5Ok5P
XTsKKyAgICBbd2luZG93IF9zZXRXaW5kb3dSZXNvbHV0aW9uOjEgZGlzcGxheUlmQ2hhbmdlZDpZ
RVNdOwogCiAgICAgW3dpbmRvdyBzdGFydExpc3RlbmluZ0ZvckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDaGFuZ2VzXTsKICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZVdpbmRvdy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlV2luZG93LmgKaW5kZXggYTIyOWQyMC4uM2IxZDc3ZSAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93LmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93LmgKQEAgLTMyLDYgKzMyLDEyIEBA
CiAKIEBjbGFzcyBXZWJWaWV3OwogCitAaW50ZXJmYWNlIE5TV2luZG93IChEZXRhaWxzKQorCist
ICh2b2lkKV9zZXRXaW5kb3dSZXNvbHV0aW9uOihDR0Zsb2F0KXJlc29sdXRpb24gZGlzcGxheUlm
Q2hhbmdlZDooQk9PTClkaXNwbGF5SWZDaGFuZ2VkOworCitAZW5kCisKIEBpbnRlcmZhY2UgRHVt
cFJlbmRlclRyZWVXaW5kb3cgOiBOU1dpbmRvdwogewogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93Lm1tIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93Lm1tCmluZGV4IDE3YTExNGIuLjRhNmZkNmIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZVdpbmRv
dy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVXaW5kb3cu
bW0KQEAgLTEyMCw0ICsxMjAsOSBAQCBzdGF0aWMgQ0ZBcnJheUNhbGxCYWNrcyBOb25SZXRhaW5p
bmdBcnJheUNhbGxiYWNrcyA9IHsKICAgICAgICAgW3NlbGYgc2V0QXV0b2Rpc3BsYXk6WUVTXTsK
IH0KIAorLSAoQ0dGbG9hdCliYWNraW5nU2NhbGVGYWN0b3IKK3sKKyAgICByZXR1cm4gMTsKK30K
KwogQGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1X
ZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3
TWFjLm1tCmluZGV4IGY4NjM2ODQuLjAxY2E0ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KQEAgLTEwMSw2ICsxMDEsMTcgQEAKICAg
ICByZXR1cm4gTlNNYWtlUmVjdChfZmFrZU9yaWdpbi54LCBfZmFrZU9yaWdpbi55LCBjdXJyZW50
RnJhbWUuc2l6ZS53aWR0aCwgY3VycmVudEZyYW1lLnNpemUuaGVpZ2h0KTsKIH0KIAorLSAoQ0dG
bG9hdCliYWNraW5nU2NhbGVGYWN0b3IKK3sKKyAgICByZXR1cm4gMTsKK30KKworQGVuZAorCitA
aW50ZXJmYWNlIE5TV2luZG93IChEZXRhaWxzKQorCistICh2b2lkKV9zZXRXaW5kb3dSZXNvbHV0
aW9uOihDR0Zsb2F0KXJlc29sdXRpb24gZGlzcGxheUlmQ2hhbmdlZDooQk9PTClkaXNwbGF5SWZD
aGFuZ2VkOworCiBAZW5kCiAKIG5hbWVzcGFjZSBXVFIgewpAQCAtMTE3LDcgKzEyOCw3IEBAIFBs
YXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBX
S1BhZ2VHcm91cFJlZiBwYWdlR3JvCiAgICAgbV92aWV3ID0gW1tUZXN0UnVubmVyV0tWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOnJlY3QgY29udGV4dFJlZjpjb250ZXh0UmVmIHBhZ2VHcm91cFJl
ZjpwYWdlR3JvdXBSZWYgdXNlVGlsZWREcmF3aW5nOnVzZVRpbGVkRHJhd2luZ107CiAgICAgW21f
dmlldyBzZXRXaW5kb3dPY2NsdXNpb25EZXRlY3Rpb25FbmFibGVkOk5PXTsKIAotICAgIE5TUmVj
dCB3aW5kb3dSZWN0ID0gTlNPZmZzZXRSZWN0KHJlY3QsIC0xMDAwMCwgWyhOU1NjcmVlbiAqKVtb
TlNTY3JlZW4gc2NyZWVuc10gb2JqZWN0QXRJbmRleDowXSBmcmFtZV0uc2l6ZS5oZWlnaHQgLSBy
ZWN0LnNpemUuaGVpZ2h0ICsgMTAwMDApOworICAgIE5TUmVjdCB3aW5kb3dSZWN0ID0gTlNPZmZz
ZXRSZWN0KHJlY3QsIDAsIFsoTlNTY3JlZW4gKilbW05TU2NyZWVuIHNjcmVlbnNdIG9iamVjdEF0
SW5kZXg6MF0gZnJhbWVdLnNpemUuaGVpZ2h0IC0gcmVjdC5zaXplLmhlaWdodCk7CiAgICAgbV93
aW5kb3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJl
Y3Q6d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5nOk5T
QmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6WUVTXTsKICAgICBtX3dpbmRvdy5wbGF0Zm9ybVdl
YlZpZXcgPSB0aGlzOwogICAgIFttX3dpbmRvdyBzZXRDb2xvclNwYWNlOltbTlNTY3JlZW4gbWFp
blNjcmVlbl0gY29sb3JTcGFjZV1dOwpAQCAtMTI1LDYgKzEzNiw3IEBAIFBsYXRmb3JtV2ViVmll
dzo6UGxhdGZvcm1XZWJWaWV3KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJl
ZiBwYWdlR3JvCiAgICAgW1ttX3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3VidmlldzptX3ZpZXdd
OwogICAgIFttX3dpbmRvdyBvcmRlckJhY2s6bmlsXTsKICAgICBbbV93aW5kb3cgc2V0UmVsZWFz
ZWRXaGVuQ2xvc2VkOk5PXTsKKyAgICBbbV93aW5kb3cgX3NldFdpbmRvd1Jlc29sdXRpb246MSBk
aXNwbGF5SWZDaGFuZ2VkOllFU107CiB9CiAKIHZvaWQgUGxhdGZvcm1XZWJWaWV3OjpyZXNpemVU
byh1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>