<?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>15720</bug_id>
          
          <creation_ts>2007-10-26 23:11:44 -0700</creation_ts>
          <short_desc>[Transforms] Pixel cracks in scaled border-image</short_desc>
          <delta_ts>2013-11-07 16:42:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>40151</dependson>
          <blocked>15670</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>bdakin</cc>
    
    <cc>dkaleta</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>miketaylr</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>59598</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-10-26 23:11:44 -0700</bug_when>
    <thetext>Applying non-power-of-2 scaling to a box with border-image results in gross misalignment of the pieces of the border. In the attached test case, move the slider to see the effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59599</commentid>
    <comment_count>1</comment_count>
      <attachid>16896</attachid>
    <who name="">mitz</who>
    <bug_when>2007-10-26 23:12:18 -0700</bug_when>
    <thetext>Created attachment 16896
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229119</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-05-21 15:06:54 -0700</bug_when>
    <thetext>*** Bug 39500 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229120</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-05-21 15:07:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/7994266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229869</commentid>
    <comment_count>4</comment_count>
      <attachid>56917</attachid>
    <who name="Damian Kaleta">dkaleta</who>
    <bug_when>2010-05-24 13:29:24 -0700</bug_when>
    <thetext>Created attachment 56917
Propose patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229871</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-24 13:31:30 -0700</bug_when>
    <thetext>Attachment 56917 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 4 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>229886</commentid>
    <comment_count>6</comment_count>
      <attachid>56920</attachid>
    <who name="Damian Kaleta">dkaleta</who>
    <bug_when>2010-05-24 13:46:34 -0700</bug_when>
    <thetext>Created attachment 56920
Propose patch

Fixes tab typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229894</commentid>
    <comment_count>7</comment_count>
      <attachid>56920</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-05-24 13:55:53 -0700</bug_when>
    <thetext>Comment on attachment 56920
Propose patch

I don&apos;t like the idea of GraphicsContext having two new implementations of drawTiledImage() that are copies of the existing implementations except that they take FloatRects instead of IntRects. That is a lot of code duplication, which is something we try to avoid. The GraphicsContext::drawImage() functions do a better job of sharing code. I suggest taking a look at them and devising a way to share as much code as possible.

Also, right now we only call roundToDevicePixels() from graphics-centric code…in other words, this would be the first patch where we called into that function directly from the render tree. I wonder if that is a separation that we want to maintain or not. It might be worth considering having drawTiledImage() call roundToDevicePixels() on the FloatRect rather than doing that at the call sites. 

I would be interested to see if Hyatt, Dan, or Darin has an opinion too :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231972</commentid>
    <comment_count>8</comment_count>
      <attachid>57389</attachid>
    <who name="Damian Kaleta">dkaleta</who>
    <bug_when>2010-05-28 15:32:20 -0700</bug_when>
    <thetext>Created attachment 57389
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232921</commentid>
    <comment_count>9</comment_count>
      <attachid>57389</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-06-01 13:01:29 -0700</bug_when>
    <thetext>Comment on attachment 57389
Proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233990</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-03 16:41:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60642 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234010</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-06-03 17:27:42 -0700</bug_when>
    <thetext>Hi.  This changed the rendering of fast/borders/border-image-rotate-transform.html on the chromium bots and I think it may be a regression.  Here&apos;s the expected rendering:

http://trac.webkit.org/export/60645/trunk/LayoutTests/platform/mac/fast/borders/border-image-rotate-transform-expected.png

and here&apos;s what we are getting:

http://build.chromium.org/buildbot/layout_test_results/webkit-rel-mac-webkit-org/results/layout-test-results/fast/borders/border-image-rotate-transform-actual.png

The B B B and R R R borders are at a different offset after the patch.  If this is intended, could you update the platform/mac expected results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234011</commentid>
    <comment_count>12</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-06-03 17:32:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Hi.  This changed the rendering of fast/borders/border-image-rotate-transform.html on the chromium bots and I think it may be a regression.

It’s a regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234015</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-06-03 18:01:42 -0700</bug_when>
    <thetext>Thanks for looking at it.  Given that it&apos;s a rendering regression I&apos;m inclined to roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234025</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-06-03 18:32:34 -0700</bug_when>
    <thetext>rolled out: http://trac.webkit.org/changeset/60649</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234041</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-03 21:02:11 -0700</bug_when>
    <thetext>Borked the gtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234053</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-03 21:56:22 -0700</bug_when>
    <thetext>(I was mistaken with my Gtk comment.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242720</commentid>
    <comment_count>17</comment_count>
      <attachid>57389</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-24 16:30:14 -0700</bug_when>
    <thetext>Comment on attachment 57389
Proposed patch.

nm.  Should be r-&apos;d since it was rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504990</commentid>
    <comment_count>18</comment_count>
    <who name="Mike Taylor">miketaylr</who>
    <bug_when>2011-11-17 11:05:52 -0800</bug_when>
    <thetext>I believe I&apos;m running into this bug with -webkit-transform:translate(-50%, -50%) on a div with border-image in r100547. Removing the transform gets rid of the &quot;crack&quot; and blurriness. Same in Chrome Canary too.

see http://miketaylr.com/post/338660f5.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948474</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-07 16:42:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/15419921&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16896</attachid>
            <date>2007-10-26 23:12:18 -0700</date>
            <delta_ts>2007-10-26 23:12:18 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>transformed-border-image.html</filename>
            <type>text/html</type>
            <size>893</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogICAgPHN0eWxlPgogICAgICAgIGRpdiB7CiAgICAgICAgICAgIGJvcmRl
ci13aWR0aDogMjFweCAzMHB4IDMwcHggMjFweDsKICAgICAgICAgICAgd2lkdGg6IDc1cHg7CiAg
ICAgICAgICAgIGhlaWdodDogNzVweDsKICAgICAgICB9CgogICAgICAgIGRpdi5yciB7CiAgICAg
ICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlOiB1cmwoaHR0cDovL3RyYWMud2Via2l0Lm9yZy9w
cm9qZWN0cy93ZWJraXQvYnJvd3Nlci90cnVuay9MYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvcmVz
b3VyY2VzL2JvcmRlci1pbWFnZS5wbmc/cmV2PTIzNjYxJmZvcm1hdD1yYXcpIDIxIDMwIDMwIDIx
IHJlcGVhdCByZXBlYXQ7CiAgICAgICAgfQogICAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICAg
IDxzY3JpcHQ+CiAgICAgICAgdmFyIGFuZ2xlID0gMDsKICAgICAgICB2YXIgeCA9IDA7CiAgICAg
ICAgdmFyIHkgPSAwOwogICAgICAgIHZhciBzY2FsZSA9IDE7CgogICAgICAgIGZ1bmN0aW9uIHJl
ZnJlc2goKQogICAgICAgIHsKICAgICAgICAgICAgcS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InRy
YW5zbGF0ZSgiICsgeCArICJweCwgIiArIHkgKyAicHgpIHJvdGF0ZSgiICsgYW5nbGUgKyAiZGVn
KSBzY2FsZSgiICsgc2NhbGUgKyAiKSI7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8cD4K
ICAgICAgICA8aW5wdXQgcHJlY2lzaW9uPSJmbG9hdCIgdHlwZT0icmFuZ2UiIHZhbHVlPSIxIiBt
aW49IjAuMjUiIG1heD0iNCIgb25pbnB1dD0ic2NhbGUgPSB2YWx1ZTsgcmVmcmVzaCgpIj4KICAg
IDwvcD4KICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwOyIgY2xh
c3M9InJyIiBpZD0icSI+PC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56917</attachid>
            <date>2010-05-24 13:29:24 -0700</date>
            <delta_ts>2010-06-24 16:30:56 -0700</delta_ts>
            <desc>Propose patch</desc>
            <filename>textmate stdin 1NMzzL.txt</filename>
            <type>text/plain</type>
            <size>11212</size>
            <attacher name="Damian Kaleta">dkaleta</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDA3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUtMjQgIERhbWlhbiBLYWxldGEgIDxka2FsZXRhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAg
UGl4ZWwgY3JhY2tzIGluIGJvcmRlciBpbWFnZXMgd2hlbiBkcmF3aW5nIHdpdGggYSBzY2FsZSBm
YWN0b3IgPiAxCisJCWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTcy
MAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVkSW1hZ2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOiBBZGRlZCB0d28gbmV3IG1l
dGhvZHMgdG8gc3VwcG9ydCBkcmF3aW5nIHVzaW5nIEZsb2F0UmVjdAorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3hNb2RlbE9iamVjdDo6cGFpbnROaW5lUGllY2VJbWFnZSk6IEVhY2ggZWxlbWVudCBvZiBhIDkt
cGllY2UgaW1hZ2UgaXMgZmlyc3QgYWRqdXN0ZWQgdG8gdGhlIHBpeGVsIAorICAgICAgICBib3Vu
ZGFyaWVzIG9mIGl0cyBwYXJlbnQgYW5kIHRoZW4gdXNlcyB0aGUgbmV3IG1ldGhvZHMgdGhhdCBj
YW4gYWNjZXB0IEZsb2F0UmVjdHMgYXMgYW4gYXJndW1lbnQgdG8gZHJhdyBhbiBpbWFnZS4KKwog
MjAxMC0wNS0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjYwMDY4LgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gNjAwNzMp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0MSw2ICs0NDEsMzcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdU
aWxlZEltYWdlKEltYQogICAgIGlmICh1c2VMb3dRdWFsaXR5U2NhbGUpCiAgICAgICAgIHJlc3Rv
cmUoKTsKIH0KKyAgICAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZShJbWFn
ZSogaW1hZ2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIGNvbnN0IEZsb2F0UG9pbnQmIHNyY1BvaW50LCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSwg
Q29tcG9zaXRlT3BlcmF0b3Igb3AsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlKQoreworICAgIGlm
IChwYWludGluZ0Rpc2FibGVkKCkgfHwgIWltYWdlKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KHVzZUxvd1F1YWxpdHlTY2FsZSkgeworICAgICAgICBzYXZlKCk7CisgICAgICAgIHNldEltYWdl
SW50ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvbkxvdyk7CisgICAgfQorICAgIGltYWdl
LT5kcmF3VGlsZWQodGhpcywgcmVjdCwgc3JjUG9pbnQsIHRpbGVTaXplLCBzdHlsZUNvbG9yU3Bh
Y2UsIG9wKTsKKyAgICBpZiAodXNlTG93UXVhbGl0eVNjYWxlKQorICAgICAgICByZXN0b3JlKCk7
Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZShJbWFnZSogaW1hZ2Us
IENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3QsIGNvbnN0
IEZsb2F0UmVjdCYgc3JjUmVjdCwgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlLCBJbWFnZTo6VGlsZVJ1
bGUgdlJ1bGUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSkK
K3sKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpIHx8ICFpbWFnZSkKKyAgICAgICAgcmV0dXJu
OworICAgIAorICAgIGlmICh1c2VMb3dRdWFsaXR5U2NhbGUpIHsKKyAgICAgICAgc2F2ZSgpOwor
ICAgICAgICBzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25Mb3cpOwor
ICAgIH0KKyAgICBpZiAoaFJ1bGUgPT0gSW1hZ2U6OlN0cmV0Y2hUaWxlICYmIHZSdWxlID09IElt
YWdlOjpTdHJldGNoVGlsZSkKKyAgICAgICAgLy8gSnVzdCBkbyBhIHNjYWxlLgorICAgICAgICBk
cmF3SW1hZ2UoaW1hZ2UsIHN0eWxlQ29sb3JTcGFjZSwgZGVzdCwgc3JjUmVjdCwgb3ApOworICAg
IGVsc2UKKyAgICAgICAgaW1hZ2UtPmRyYXdUaWxlZCh0aGlzLCBkZXN0LCBzcmNSZWN0LCBoUnVs
ZSwgdlJ1bGUsIHN0eWxlQ29sb3JTcGFjZSwgb3ApOworICAgIGlmICh1c2VMb3dRdWFsaXR5U2Nh
bGUpCisgICAgICAgIHJlc3RvcmUoKTsKK30KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmFkZFJv
dW5kZWRSZWN0Q2xpcChjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRTaXplJiB0b3BMZWZ0
LCBjb25zdCBJbnRTaXplJiB0b3BSaWdodCwKICAgICBjb25zdCBJbnRTaXplJiBib3R0b21MZWZ0
LCBjb25zdCBJbnRTaXplJiBib3R0b21SaWdodCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gNjAwNzMpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjks
NiArMjI5LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkcmF3VGlsZWRJ
bWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBJbnRSZWN0JiBk
ZXN0UmVjdCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJbWFnZTo6VGlsZVJ1bGUgaFJ1bGUgPSBJbWFnZTo6U3RyZXRjaFRpbGUsIEltYWdlOjpU
aWxlUnVsZSB2UnVsZSA9IEltYWdlOjpTdHJldGNoVGlsZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIsIGJvb2wgdXNl
TG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOworICAgICAgICB2b2lkIGRyYXdUaWxlZEltYWdlKElt
YWdlKiwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJl
Y3QsIGNvbnN0IEZsb2F0UG9pbnQmIHNyY1BvaW50LCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0
ZVNvdXJjZU92ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOworICAgICAgICB2
b2lkIGRyYXdUaWxlZEltYWdlKEltYWdlKiwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNv
bnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6VGlsZVJ1bGUgaFJ1bGUgPSBJbWFnZTo6U3Ry
ZXRjaFRpbGUsIEltYWdlOjpUaWxlUnVsZSB2UnVsZSA9IEltYWdlOjpTdHJldGNoVGlsZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNv
dXJjZU92ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOwogCiAgICAgICAgIHZv
aWQgc2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uUXVhbGl0eSk7CiAg
ICAgICAgIEludGVycG9sYXRpb25RdWFsaXR5IGltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoKSBj
b25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJ
KHJldmlzaW9uIDYwMDczKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjUsMjAgKzg2NSwxOSBAQCBib29sIFJlbmRlckJv
eE1vZGVsT2JqZWN0OjpwYWludE5pbmVQaWVjCiAgICAgICAgIC8vIFRoZSB0b3AgbGVmdCBjb3Ju
ZXIgcmVjdCBpcyAodHgsIHR5LCBsZWZ0V2lkdGgsIHRvcFdpZHRoKQogICAgICAgICAvLyBUaGUg
cmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhlIGltYWdlIGlzIG9idGFpbmVkIGZyb20gb3VyIHNs
aWNlLCBhbmQgaXMgKDAsIDAsIGxlZnRTbGljZSwgdG9wU2xpY2UpCiAgICAgICAgIGlmIChkcmF3
VG9wKQotICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIGNvbG9y
U3BhY2UsIEludFJlY3QodHgsIHR5LCBsZWZ0V2lkdGgsIHRvcFdpZHRoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludFJlY3QoMCwgMCwgbGVmdFNsaWNlLCB0b3BT
bGljZSksIG9wKTsKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKGltYWdl
LCBjb2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZpY2VQaXhlbHMoRmxvYXRS
ZWN0KHR4LCB0eSwgbGVmdFdpZHRoLCB0b3BXaWR0aCkpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KDAsIDAsIGxlZnRTbGljZSwgdG9wU2xpY2UpLCBv
cCk7CiAKICAgICAgICAgLy8gVGhlIGJvdHRvbSBsZWZ0IGNvcm5lciByZWN0IGlzICh0eCwgdHkg
KyBoIC0gYm90dG9tV2lkdGgsIGxlZnRXaWR0aCwgYm90dG9tV2lkdGgpCiAgICAgICAgIC8vIFRo
ZSByZWN0IHRvIHVzZSBmcm9tIHdpdGhpbiB0aGUgaW1hZ2UgaXMgKDAsIGltYWdlSGVpZ2h0IC0g
Ym90dG9tU2xpY2UsIGxlZnRTbGljZSwgYm90b21TbGljZSkKICAgICAgICAgaWYgKGRyYXdCb3R0
b20pCi0gICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JT
cGFjZSwgSW50UmVjdCh0eCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsIGxlZnRXaWR0aCwgYm90dG9t
V2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdCgw
LCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCBsZWZ0U2xpY2UsIGJvdHRvbVNsaWNlKSwgb3Ap
OworICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIGNvbG9yU3Bh
Y2UsIGdyYXBoaWNzQ29udGV4dC0+cm91bmRUb0RldmljZVBpeGVscyhGbG9hdFJlY3QodHgsIHR5
ICsgaCAtIGJvdHRvbVdpZHRoLCBsZWZ0V2lkdGgsIGJvdHRvbVdpZHRoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3QoMCwgaW1hZ2VIZWlnaHQgLSBi
b3R0b21TbGljZSwgbGVmdFNsaWNlLCBib3R0b21TbGljZSksIG9wKTsKIAogICAgICAgICAvLyBQ
YWludCB0aGUgbGVmdCBlZGdlLgogICAgICAgICAvLyBIYXZlIHRvIHNjYWxlIGFuZCB0aWxlIGlu
dG8gdGhlIGJvcmRlciByZWN0LgotICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdUaWxlZElt
YWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4LCB0eSArIHRvcFdpZHRoLCBsZWZ0V2lk
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaCAtIHRvcFdpZHRo
IC0gYm90dG9tV2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEludFJlY3QoMCwgdG9wU2xpY2UsIGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAt
IGJvdHRvbVNsaWNlKSwKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShp
bWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxzKEZs
b2F0UmVjdCh0eCwgdHkgKyB0b3BXaWR0aCwgbGVmdFdpZHRoLCBoIC0gdG9wV2lkdGggLSBib3R0
b21XaWR0aCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0
UmVjdCgwLCB0b3BTbGljZSwgbGVmdFNsaWNlLCBpbWFnZUhlaWdodCAtIHRvcFNsaWNlIC0gYm90
dG9tU2xpY2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdl
OjpTdHJldGNoVGlsZSwgKEltYWdlOjpUaWxlUnVsZSl2UnVsZSwgb3ApOwogICAgIH0KIApAQCAt
ODg3LDQwICs4ODYsMzcgQEAgYm9vbCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnROaW5lUGll
YwogICAgICAgICAvLyBUaGUgdG9wIHJpZ2h0IGNvcm5lciByZWN0IGlzICh0eCArIHcgLSByaWdo
dFdpZHRoLCB0eSwgcmlnaHRXaWR0aCwgdG9wV2lkdGgpCiAgICAgICAgIC8vIFRoZSByZWN0IHRv
IHVzZSBmcm9tIHdpdGhpbiB0aGUgaW1hZ2UgaXMgb2J0YWluZWQgZnJvbSBvdXIgc2xpY2UsIGFu
ZCBpcyAoaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UsIDAsIHJpZ2h0U2xpY2UsIHRvcFNsaWNlKQog
ICAgICAgICBpZiAoZHJhd1RvcCkKLSAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0lt
YWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4ICsgdyAtIHJpZ2h0V2lkdGgsIHR5LCBy
aWdodFdpZHRoLCB0b3BXaWR0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJbnRSZWN0KGltYWdlV2lkdGggLSByaWdodFNsaWNlLCAwLCByaWdodFNsaWNlLCB0b3BT
bGljZSksIG9wKTsKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKGltYWdl
LCBjb2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZpY2VQaXhlbHMoRmxvYXRS
ZWN0KHR4ICsgdyAtIHJpZ2h0V2lkdGgsIHR5LCByaWdodFdpZHRoLCB0b3BXaWR0aCkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KGltYWdlV2lkdGgg
LSByaWdodFNsaWNlLCAwLCByaWdodFNsaWNlLCB0b3BTbGljZSksIG9wKTsKIAogICAgICAgICAv
LyBUaGUgYm90dG9tIHJpZ2h0IGNvcm5lciByZWN0IGlzICh0eCArIHcgLSByaWdodFdpZHRoLCB0
eSArIGggLSBib3R0b21XaWR0aCwgcmlnaHRXaWR0aCwgYm90dG9tV2lkdGgpCiAgICAgICAgIC8v
IFRoZSByZWN0IHRvIHVzZSBmcm9tIHdpdGhpbiB0aGUgaW1hZ2UgaXMgKGltYWdlV2lkdGggLSBy
aWdodFNsaWNlLCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCByaWdodFNsaWNlLCBib3R0b21T
bGljZSkKICAgICAgICAgaWYgKGRyYXdCb3R0b20pCi0gICAgICAgICAgICBncmFwaGljc0NvbnRl
eHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0eCArIHcgLSByaWdodFdp
ZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwgcmlnaHRXaWR0aCwgYm90dG9tV2lkdGgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChpbWFnZVdpZHRoIC0g
cmlnaHRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgcmlnaHRTbGljZSwgYm90dG9t
U2xpY2UpLCBvcCk7CisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFn
ZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxzKEZsb2F0
UmVjdCh0eCArIHcgLSByaWdodFdpZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwgcmlnaHRXaWR0
aCwgYm90dG9tV2lkdGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZsb2F0UmVjdChpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21T
bGljZSwgcmlnaHRTbGljZSwgYm90dG9tU2xpY2UpLCBvcCk7CiAKICAgICAgICAgLy8gUGFpbnQg
dGhlIHJpZ2h0IGVkZ2UuCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2Uo
aW1hZ2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHggKyB3IC0gcmlnaHRXaWR0aCwgdHkgKyB0b3BX
aWR0aCwgcmlnaHRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoIC0gdG9wV2lkdGggLSBib3R0b21XaWR0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW50UmVjdChpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSwgdG9wU2xpY2Us
IHJpZ2h0U2xpY2UsIGltYWdlSGVpZ2h0IC0gdG9wU2xpY2UgLSBib3R0b21TbGljZSksCisgICAg
ICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIGdy
YXBoaWNzQ29udGV4dC0+cm91bmRUb0RldmljZVBpeGVscyhGbG9hdFJlY3QodHggKyB3IC0gcmln
aHRXaWR0aCwgdHkgKyB0b3BXaWR0aCwgcmlnaHRXaWR0aCwgaCAtIHRvcFdpZHRoIC0gYm90dG9t
V2lkdGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJl
Y3QoaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UsIHRvcFNsaWNlLCByaWdodFNsaWNlLCBpbWFnZUhl
aWdodCAtIHRvcFNsaWNlIC0gYm90dG9tU2xpY2UpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEltYWdlOjpTdHJldGNoVGlsZSwgKEltYWdlOjpUaWxlUnVsZSl2UnVs
ZSwgb3ApOwogICAgIH0KIAogICAgIC8vIFBhaW50IHRoZSB0b3AgZWRnZS4KICAgICBpZiAoZHJh
d1RvcCkKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29s
b3JTcGFjZSwgSW50UmVjdCh0eCArIGxlZnRXaWR0aCwgdHksIHcgLSBsZWZ0V2lkdGggLSByaWdo
dFdpZHRoLCB0b3BXaWR0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSW50UmVjdChsZWZ0U2xpY2UsIDAsIGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVmdFNs
aWNlLCB0b3BTbGljZSksCisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2Uo
aW1hZ2UsIGNvbG9yU3BhY2UsIGdyYXBoaWNzQ29udGV4dC0+cm91bmRUb0RldmljZVBpeGVscyhG
bG9hdFJlY3QodHggKyBsZWZ0V2lkdGgsIHR5LCB3IC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCwg
dG9wV2lkdGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9h
dFJlY3QobGVmdFNsaWNlLCAwLCBpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSAtIGxlZnRTbGljZSwg
dG9wU2xpY2UpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJbWFn
ZTo6VGlsZVJ1bGUpaFJ1bGUsIEltYWdlOjpTdHJldGNoVGlsZSwgb3ApOwogCiAgICAgLy8gUGFp
bnQgdGhlIGJvdHRvbSBlZGdlLgogICAgIGlmIChkcmF3Qm90dG9tKQotICAgICAgICBncmFwaGlj
c0NvbnRleHQtPmRyYXdUaWxlZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4ICsg
bGVmdFdpZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3IC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCwgYm90dG9tV2lkdGgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludFJlY3QobGVmdFNs
aWNlLCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCBpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSAt
IGxlZnRTbGljZSwgYm90dG9tU2xpY2UpLAorICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdU
aWxlZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZp
Y2VQaXhlbHMoRmxvYXRSZWN0KHR4ICsgbGVmdFdpZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwg
dyAtIGxlZnRXaWR0aCAtIHJpZ2h0V2lkdGgsIGJvdHRvbVdpZHRoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KGxlZnRTbGljZSwgaW1hZ2VIZWln
aHQgLSBib3R0b21TbGljZSwgaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0U2xpY2UsIGJv
dHRvbVNsaWNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSW1h
Z2U6OlRpbGVSdWxlKWhSdWxlLCBJbWFnZTo6U3RyZXRjaFRpbGUsIG9wKTsKIAogICAgIC8vIFBh
aW50IHRoZSBtaWRkbGUuCiAgICAgaWYgKGRyYXdNaWRkbGUpCi0gICAgICAgIGdyYXBoaWNzQ29u
dGV4dC0+ZHJhd1RpbGVkSW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHggKyBsZWZ0
V2lkdGgsIHR5ICsgdG9wV2lkdGgsIHcgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggLSB0b3BXaWR0aCAtIGJvdHRvbVdp
ZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRSZWN0KGxl
ZnRTbGljZSwgdG9wU2xpY2UsIGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVmdFNsaWNlLCBp
bWFnZUhlaWdodCAtIHRvcFNsaWNlIC0gYm90dG9tU2xpY2UpLAorICAgICAgICBncmFwaGljc0Nv
bnRleHQtPmRyYXdUaWxlZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQt
PnJvdW5kVG9EZXZpY2VQaXhlbHMoRmxvYXRSZWN0KHR4ICsgbGVmdFdpZHRoLCB0eSArIHRvcFdp
ZHRoLCB3IC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCwgaCAtIHRvcFdpZHRoIC0gYm90dG9tV2lk
dGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3Qo
bGVmdFNsaWNlLCB0b3BTbGljZSwgaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0U2xpY2Us
IGltYWdlSGVpZ2h0IC0gdG9wU2xpY2UgLSBib3R0b21TbGljZSksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKEltYWdlOjpUaWxlUnVsZSloUnVsZSwgKEltYWdlOjpU
aWxlUnVsZSl2UnVsZSwgb3ApOwogCiAgICAgcmV0dXJuIHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56920</attachid>
            <date>2010-05-24 13:46:34 -0700</date>
            <delta_ts>2010-06-24 16:30:53 -0700</delta_ts>
            <desc>Propose patch</desc>
            <filename>textmate stdin eJbO2g.txt</filename>
            <type>text/plain</type>
            <size>11219</size>
            <attacher name="Damian Kaleta">dkaleta</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDA3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDUtMjQgIERhbWlhbiBLYWxldGEgIDxka2FsZXRhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAg
UGl4ZWwgY3JhY2tzIGluIGJvcmRlciBpbWFnZXMgd2hlbiBkcmF3aW5nIHdpdGggYSBzY2FsZSBm
YWN0b3IgPiAxCisgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU3MjAKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdUaWxlZEltYWdlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDogQWRkZWQgdHdv
IG5ldyBtZXRob2RzIHRvIHN1cHBvcnQgZHJhd2luZyB1c2luZyBGbG9hdFJlY3QKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TmluZVBpZWNlSW1hZ2UpOiBFYWNoIGVsZW1lbnQg
b2YgYSA5LXBpZWNlIGltYWdlIGlzIGZpcnN0IGFkanVzdGVkIHRvIHRoZSBwaXhlbCAKKyAgICAg
ICAgYm91bmRhcmllcyBvZiBpdHMgcGFyZW50IGFuZCB0aGVuIHVzZXMgdGhlIG5ldyBtZXRob2Rz
IHRoYXQgY2FuIGFjY2VwdCBGbG9hdFJlY3RzIGFzIGFuIGFyZ3VtZW50IHRvIGRyYXcgYW4gaW1h
Z2UuCisKIDIwMTAtMDUtMjQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MDA2OC4KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9u
IDYwMDczKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiArNDQxLDM3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3VGlsZWRJbWFnZShJbWEKICAgICBpZiAodXNlTG93UXVhbGl0eVNjYWxlKQogICAgICAg
ICByZXN0b3JlKCk7CiB9CisgICAgCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVkSW1h
Z2UoSW1hZ2UqIGltYWdlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgRmxvYXRS
ZWN0JiByZWN0LCBjb25zdCBGbG9hdFBvaW50JiBzcmNQb2ludCwgY29uc3QgSW50U2l6ZSYgdGls
ZVNpemUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSkKK3sK
KyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpIHx8ICFpbWFnZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmICh1c2VMb3dRdWFsaXR5U2NhbGUpIHsKKyAgICAgICAgc2F2ZSgpOworICAgICAgICBz
ZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25Mb3cpOworICAgIH0KKyAg
ICBpbWFnZS0+ZHJhd1RpbGVkKHRoaXMsIHJlY3QsIHNyY1BvaW50LCB0aWxlU2l6ZSwgc3R5bGVD
b2xvclNwYWNlLCBvcCk7CisgICAgaWYgKHVzZUxvd1F1YWxpdHlTY2FsZSkKKyAgICAgICAgcmVz
dG9yZSgpOworfQorCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVkSW1hZ2UoSW1hZ2Uq
IGltYWdlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0
LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIEltYWdlOjpUaWxlUnVsZSBoUnVsZSwgSW1hZ2U6
OlRpbGVSdWxlIHZSdWxlLCBDb21wb3NpdGVPcGVyYXRvciBvcCwgYm9vbCB1c2VMb3dRdWFsaXR5
U2NhbGUpCit7CisgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSB8fCAhaW1hZ2UpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBpZiAodXNlTG93UXVhbGl0eVNjYWxlKSB7CisgICAgICAgIHNh
dmUoKTsKKyAgICAgICAgc2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9u
TG93KTsKKyAgICB9CisgICAgaWYgKGhSdWxlID09IEltYWdlOjpTdHJldGNoVGlsZSAmJiB2UnVs
ZSA9PSBJbWFnZTo6U3RyZXRjaFRpbGUpCisgICAgICAgIC8vIEp1c3QgZG8gYSBzY2FsZS4KKyAg
ICAgICAgZHJhd0ltYWdlKGltYWdlLCBzdHlsZUNvbG9yU3BhY2UsIGRlc3QsIHNyY1JlY3QsIG9w
KTsKKyAgICBlbHNlCisgICAgICAgIGltYWdlLT5kcmF3VGlsZWQodGhpcywgZGVzdCwgc3JjUmVj
dCwgaFJ1bGUsIHZSdWxlLCBzdHlsZUNvbG9yU3BhY2UsIG9wKTsKKyAgICBpZiAodXNlTG93UXVh
bGl0eVNjYWxlKQorICAgICAgICByZXN0b3JlKCk7Cit9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjphZGRSb3VuZGVkUmVjdENsaXAoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgSW50U2l6ZSYg
dG9wTGVmdCwgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHQsCiAgICAgY29uc3QgSW50U2l6ZSYgYm90
dG9tTGVmdCwgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHQpCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDYwMDczKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjI5LDYgKzIyOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZHJh
d1RpbGVkSW1hZ2UoSW1hZ2UqLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgSW50
UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlID0gSW1hZ2U6OlN0cmV0Y2hUaWxlLCBJ
bWFnZTo6VGlsZVJ1bGUgdlJ1bGUgPSBJbWFnZTo6U3RyZXRjaFRpbGUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyLCBi
b29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZhbHNlKTsKKyAgICAgICAgdm9pZCBkcmF3VGlsZWRJ
bWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3Qm
IGRlc3RSZWN0LCBjb25zdCBGbG9hdFBvaW50JiBzcmNQb2ludCwgY29uc3QgSW50U2l6ZSYgdGls
ZVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgPSBD
b21wb3NpdGVTb3VyY2VPdmVyLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZhbHNlKTsKKyAg
ICAgICAgdm9pZCBkcmF3VGlsZWRJbWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNw
YWNlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlID0gSW1h
Z2U6OlN0cmV0Y2hUaWxlLCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUgPSBJbWFnZTo6U3RyZXRjaFRp
bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21w
b3NpdGVTb3VyY2VPdmVyLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZhbHNlKTsKIAogICAg
ICAgICB2b2lkIHNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxp
dHkpOwogICAgICAgICBJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFs
aXR5KCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCShyZXZpc2lvbiA2MDA3MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODY1LDIwICs4NjUsMTkgQEAgYm9vbCBS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnROaW5lUGllYwogICAgICAgICAvLyBUaGUgdG9wIGxl
ZnQgY29ybmVyIHJlY3QgaXMgKHR4LCB0eSwgbGVmdFdpZHRoLCB0b3BXaWR0aCkKICAgICAgICAg
Ly8gVGhlIHJlY3QgdG8gdXNlIGZyb20gd2l0aGluIHRoZSBpbWFnZSBpcyBvYnRhaW5lZCBmcm9t
IG91ciBzbGljZSwgYW5kIGlzICgwLCAwLCBsZWZ0U2xpY2UsIHRvcFNsaWNlKQogICAgICAgICBp
ZiAoZHJhd1RvcCkKLSAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKGltYWdl
LCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4LCB0eSwgbGVmdFdpZHRoLCB0b3BXaWR0aCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRSZWN0KDAsIDAsIGxlZnRTbGlj
ZSwgdG9wU2xpY2UpLCBvcCk7CisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFn
ZShpbWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxz
KEZsb2F0UmVjdCh0eCwgdHksIGxlZnRXaWR0aCwgdG9wV2lkdGgpKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0UmVjdCgwLCAwLCBsZWZ0U2xpY2UsIHRvcFNs
aWNlKSwgb3ApOwogCiAgICAgICAgIC8vIFRoZSBib3R0b20gbGVmdCBjb3JuZXIgcmVjdCBpcyAo
dHgsIHR5ICsgaCAtIGJvdHRvbVdpZHRoLCBsZWZ0V2lkdGgsIGJvdHRvbVdpZHRoKQogICAgICAg
ICAvLyBUaGUgcmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhlIGltYWdlIGlzICgwLCBpbWFnZUhl
aWdodCAtIGJvdHRvbVNsaWNlLCBsZWZ0U2xpY2UsIGJvdG9tU2xpY2UpCiAgICAgICAgIGlmIChk
cmF3Qm90dG9tKQotICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2Us
IGNvbG9yU3BhY2UsIEludFJlY3QodHgsIHR5ICsgaCAtIGJvdHRvbVdpZHRoLCBsZWZ0V2lkdGgs
IGJvdHRvbVdpZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElu
dFJlY3QoMCwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgbGVmdFNsaWNlLCBib3R0b21TbGlj
ZSksIG9wKTsKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKGltYWdlLCBj
b2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZpY2VQaXhlbHMoRmxvYXRSZWN0
KHR4LCB0eSArIGggLSBib3R0b21XaWR0aCwgbGVmdFdpZHRoLCBib3R0b21XaWR0aCkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KDAsIGltYWdlSGVp
Z2h0IC0gYm90dG9tU2xpY2UsIGxlZnRTbGljZSwgYm90dG9tU2xpY2UpLCBvcCk7CiAKICAgICAg
ICAgLy8gUGFpbnQgdGhlIGxlZnQgZWRnZS4KICAgICAgICAgLy8gSGF2ZSB0byBzY2FsZSBhbmQg
dGlsZSBpbnRvIHRoZSBib3JkZXIgcmVjdC4KLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3
VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0eCwgdHkgKyB0b3BXaWR0aCwg
bGVmdFdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggLSB0
b3BXaWR0aCAtIGJvdHRvbVdpZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJbnRSZWN0KDAsIHRvcFNsaWNlLCBsZWZ0U2xpY2UsIGltYWdlSGVpZ2h0IC0gdG9w
U2xpY2UgLSBib3R0b21TbGljZSksCisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVk
SW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIGdyYXBoaWNzQ29udGV4dC0+cm91bmRUb0RldmljZVBp
eGVscyhGbG9hdFJlY3QodHgsIHR5ICsgdG9wV2lkdGgsIGxlZnRXaWR0aCwgaCAtIHRvcFdpZHRo
IC0gYm90dG9tV2lkdGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGbG9hdFJlY3QoMCwgdG9wU2xpY2UsIGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSB0b3BTbGlj
ZSAtIGJvdHRvbVNsaWNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJbWFnZTo6U3RyZXRjaFRpbGUsIChJbWFnZTo6VGlsZVJ1bGUpdlJ1bGUsIG9wKTsKICAgICB9
CiAKQEAgLTg4Nyw0MCArODg2LDM3IEBAIGJvb2wgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50
TmluZVBpZWMKICAgICAgICAgLy8gVGhlIHRvcCByaWdodCBjb3JuZXIgcmVjdCBpcyAodHggKyB3
IC0gcmlnaHRXaWR0aCwgdHksIHJpZ2h0V2lkdGgsIHRvcFdpZHRoKQogICAgICAgICAvLyBUaGUg
cmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhlIGltYWdlIGlzIG9idGFpbmVkIGZyb20gb3VyIHNs
aWNlLCBhbmQgaXMgKGltYWdlV2lkdGggLSByaWdodFNsaWNlLCAwLCByaWdodFNsaWNlLCB0b3BT
bGljZSkKICAgICAgICAgaWYgKGRyYXdUb3ApCi0gICAgICAgICAgICBncmFwaGljc0NvbnRleHQt
PmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0eCArIHcgLSByaWdodFdpZHRo
LCB0eSwgcmlnaHRXaWR0aCwgdG9wV2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW50UmVjdChpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSwgMCwgcmlnaHRTbGlj
ZSwgdG9wU2xpY2UpLCBvcCk7CisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFn
ZShpbWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxz
KEZsb2F0UmVjdCh0eCArIHcgLSByaWdodFdpZHRoLCB0eSwgcmlnaHRXaWR0aCwgdG9wV2lkdGgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0UmVjdChpbWFn
ZVdpZHRoIC0gcmlnaHRTbGljZSwgMCwgcmlnaHRTbGljZSwgdG9wU2xpY2UpLCBvcCk7CiAKICAg
ICAgICAgLy8gVGhlIGJvdHRvbSByaWdodCBjb3JuZXIgcmVjdCBpcyAodHggKyB3IC0gcmlnaHRX
aWR0aCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsIHJpZ2h0V2lkdGgsIGJvdHRvbVdpZHRoKQogICAg
ICAgICAvLyBUaGUgcmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhlIGltYWdlIGlzIChpbWFnZVdp
ZHRoIC0gcmlnaHRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgcmlnaHRTbGljZSwg
Ym90dG9tU2xpY2UpCiAgICAgICAgIGlmIChkcmF3Qm90dG9tKQotICAgICAgICAgICAgZ3JhcGhp
Y3NDb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHggKyB3IC0g
cmlnaHRXaWR0aCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsIHJpZ2h0V2lkdGgsIGJvdHRvbVdpZHRo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludFJlY3QoaW1hZ2VX
aWR0aCAtIHJpZ2h0U2xpY2UsIGltYWdlSGVpZ2h0IC0gYm90dG9tU2xpY2UsIHJpZ2h0U2xpY2Us
IGJvdHRvbVNsaWNlKSwgb3ApOworICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1h
Z2UoaW1hZ2UsIGNvbG9yU3BhY2UsIGdyYXBoaWNzQ29udGV4dC0+cm91bmRUb0RldmljZVBpeGVs
cyhGbG9hdFJlY3QodHggKyB3IC0gcmlnaHRXaWR0aCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsIHJp
Z2h0V2lkdGgsIGJvdHRvbVdpZHRoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGbG9hdFJlY3QoaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UsIGltYWdlSGVpZ2h0IC0g
Ym90dG9tU2xpY2UsIHJpZ2h0U2xpY2UsIGJvdHRvbVNsaWNlKSwgb3ApOwogCiAgICAgICAgIC8v
IFBhaW50IHRoZSByaWdodCBlZGdlLgotICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdUaWxl
ZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4ICsgdyAtIHJpZ2h0V2lkdGgsIHR5
ICsgdG9wV2lkdGgsIHJpZ2h0V2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaCAtIHRvcFdpZHRoIC0gYm90dG9tV2lkdGgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEludFJlY3QoaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UsIHRv
cFNsaWNlLCByaWdodFNsaWNlLCBpbWFnZUhlaWdodCAtIHRvcFNsaWNlIC0gYm90dG9tU2xpY2Up
LAorICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdUaWxlZEltYWdlKGltYWdlLCBjb2xvclNw
YWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZpY2VQaXhlbHMoRmxvYXRSZWN0KHR4ICsg
dyAtIHJpZ2h0V2lkdGgsIHR5ICsgdG9wV2lkdGgsIHJpZ2h0V2lkdGgsIGggLSB0b3BXaWR0aCAt
IGJvdHRvbVdpZHRoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RmxvYXRSZWN0KGltYWdlV2lkdGggLSByaWdodFNsaWNlLCB0b3BTbGljZSwgcmlnaHRTbGljZSwg
aW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRvbVNsaWNlKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6U3RyZXRjaFRpbGUsIChJbWFnZTo6VGlsZVJ1
bGUpdlJ1bGUsIG9wKTsKICAgICB9CiAKICAgICAvLyBQYWludCB0aGUgdG9wIGVkZ2UuCiAgICAg
aWYgKGRyYXdUb3ApCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2UoaW1h
Z2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHggKyBsZWZ0V2lkdGgsIHR5LCB3IC0gbGVmdFdpZHRo
IC0gcmlnaHRXaWR0aCwgdG9wV2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEludFJlY3QobGVmdFNsaWNlLCAwLCBpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSAt
IGxlZnRTbGljZSwgdG9wU2xpY2UpLAorICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdUaWxl
ZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBncmFwaGljc0NvbnRleHQtPnJvdW5kVG9EZXZpY2VQ
aXhlbHMoRmxvYXRSZWN0KHR4ICsgbGVmdFdpZHRoLCB0eSwgdyAtIGxlZnRXaWR0aCAtIHJpZ2h0
V2lkdGgsIHRvcFdpZHRoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRmxvYXRSZWN0KGxlZnRTbGljZSwgMCwgaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0
U2xpY2UsIHRvcFNsaWNlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoSW1hZ2U6OlRpbGVSdWxlKWhSdWxlLCBJbWFnZTo6U3RyZXRjaFRpbGUsIG9wKTsKIAogICAg
IC8vIFBhaW50IHRoZSBib3R0b20gZWRnZS4KICAgICBpZiAoZHJhd0JvdHRvbSkKLSAgICAgICAg
Z3JhcGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVj
dCh0eCArIGxlZnRXaWR0aCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdyAtIGxlZnRXaWR0aCAtIHJpZ2h0V2lkdGgsIGJvdHRv
bVdpZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRSZWN0
KGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgaW1hZ2VXaWR0aCAtIHJpZ2h0
U2xpY2UgLSBsZWZ0U2xpY2UsIGJvdHRvbVNsaWNlKSwKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0
LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3Vu
ZFRvRGV2aWNlUGl4ZWxzKEZsb2F0UmVjdCh0eCArIGxlZnRXaWR0aCwgdHkgKyBoIC0gYm90dG9t
V2lkdGgsIHcgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoLCBib3R0b21XaWR0aCkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0UmVjdChsZWZ0U2xpY2UsIGlt
YWdlSGVpZ2h0IC0gYm90dG9tU2xpY2UsIGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVmdFNs
aWNlLCBib3R0b21TbGljZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKEltYWdlOjpUaWxlUnVsZSloUnVsZSwgSW1hZ2U6OlN0cmV0Y2hUaWxlLCBvcCk7CiAKICAg
ICAvLyBQYWludCB0aGUgbWlkZGxlLgogICAgIGlmIChkcmF3TWlkZGxlKQotICAgICAgICBncmFw
aGljc0NvbnRleHQtPmRyYXdUaWxlZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4
ICsgbGVmdFdpZHRoLCB0eSArIHRvcFdpZHRoLCB3IC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoIC0gdG9wV2lkdGggLSBi
b3R0b21XaWR0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50
UmVjdChsZWZ0U2xpY2UsIHRvcFNsaWNlLCBpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSAtIGxlZnRT
bGljZSwgaW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRvbVNsaWNlKSwKKyAgICAgICAgZ3Jh
cGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3ND
b250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxzKEZsb2F0UmVjdCh0eCArIGxlZnRXaWR0aCwgdHkg
KyB0b3BXaWR0aCwgdyAtIGxlZnRXaWR0aCAtIHJpZ2h0V2lkdGgsIGggLSB0b3BXaWR0aCAtIGJv
dHRvbVdpZHRoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxv
YXRSZWN0KGxlZnRTbGljZSwgdG9wU2xpY2UsIGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVm
dFNsaWNlLCBpbWFnZUhlaWdodCAtIHRvcFNsaWNlIC0gYm90dG9tU2xpY2UpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJbWFnZTo6VGlsZVJ1bGUpaFJ1bGUsIChJ
bWFnZTo6VGlsZVJ1bGUpdlJ1bGUsIG9wKTsKIAogICAgIHJldHVybiB0cnVlOwo=
</data>
<flag name="review"
          id="41415"
          type_id="1"
          status="-"
          setter="bdakin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57389</attachid>
            <date>2010-05-28 15:32:20 -0700</date>
            <delta_ts>2010-06-24 16:30:51 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>textmate stdin O19kuf.txt</filename>
            <type>text/plain</type>
            <size>14069</size>
            <attacher name="Damian Kaleta">dkaleta</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDM2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDUtMjggIERhbWlhbiBLYWxldGEgIDxka2FsZXRhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
aXhlbCBjcmFja3MgaW4gYm9yZGVyIGltYWdlcyB3aGVuIGRyYXdpbmcgd2l0aCBhIHNjYWxlIGZh
Y3RvciA+IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NzIwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6IEFkZGVkIHR3byBuZXcgbWV0aG9k
cyB0byBzdXBwb3J0IGRyYXdpbmcgdXNpbmcgRmxvYXRSZWN0LiAKKyAgICAgICAgSWYgdGhlIGJv
b2xlYW4gZmxhZyByb3VuZFRvUGl4ZWxzIGlzIHRydWUsIHRoZSBwaXhlbHMgYXJlIGFkanVzdGVk
IHdpdGggdGhlIHBpeGVsIGJvdW5kYXJpZXMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0
OjpwYWludE5pbmVQaWVjZUltYWdlKTogCisKIDIwMTAtMDUtMjggIEFkYW0gVHJlYXQgIDxhdHJl
YXRAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDYw
MzYzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjIzLDEyICsyMjMsMTcgQEAKICAgICAgICAgdm9pZCBkcmF3SW1hZ2Uo
SW1hZ2UqLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgSW50UG9pbnQmIGRlc3RQ
b2ludCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3Np
dGVTb3VyY2VPdmVyKTsKICAgICAgICAgdm9pZCBkcmF3SW1hZ2UoSW1hZ2UqLCBDb2xvclNwYWNl
IHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgSW50UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEludFJlY3Qm
IHNyY1JlY3QsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3ZlciwgYm9vbCB1
c2VMb3dRdWFsaXR5U2NhbGUgPSBmYWxzZSk7CiAgICAgICAgIHZvaWQgZHJhd0ltYWdlKEltYWdl
KiwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpLAotICAg
ICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92
ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOworICAgICAgICAgICAgICAgICAg
ICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIsIGJvb2wgdXNlTG93
UXVhbGl0eVNjYWxlID0gZmFsc2UsIGJvb2wgcm91bmRUb1BpeGVscyA9IGZhbHNlKTsKICAgICAg
ICAgdm9pZCBkcmF3VGlsZWRJbWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNl
LCBjb25zdCBJbnRSZWN0JiBkZXN0UmVjdCwgY29uc3QgSW50UG9pbnQmIHNyY1BvaW50LCBjb25z
dCBJbnRTaXplJiB0aWxlU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3Bl
cmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZh
bHNlKTsKICAgICAgICAgdm9pZCBkcmF3VGlsZWRJbWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5
bGVDb2xvclNwYWNlLCBjb25zdCBJbnRSZWN0JiBkZXN0UmVjdCwgY29uc3QgSW50UmVjdCYgc3Jj
UmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6VGlsZVJ1bGUgaFJ1bGUg
PSBJbWFnZTo6U3RyZXRjaFRpbGUsIEltYWdlOjpUaWxlUnVsZSB2UnVsZSA9IEltYWdlOjpTdHJl
dGNoVGlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9
IENvbXBvc2l0ZVNvdXJjZU92ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOwor
ICAgICAgICB2b2lkIGRyYXdUaWxlZEltYWdlKEltYWdlKiwgQ29sb3JTcGFjZSBzdHlsZUNvbG9y
U3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIHNyY1Bv
aW50LCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIsIGJvb2wgdXNlTG93UXVh
bGl0eVNjYWxlID0gZmFsc2UsIGJvb2wgcm91bmRUb1BpeGVscyA9IGZhbHNlKTsKKyAgICAgICAg
dm9pZCBkcmF3VGlsZWRJbWFnZShJbWFnZSosIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBj
b25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlID0gSW1hZ2U6OlN0
cmV0Y2hUaWxlLCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUgPSBJbWFnZTo6U3RyZXRjaFRpbGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVT
b3VyY2VPdmVyLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZhbHNlLCBib29sIHJvdW5kVG9Q
aXhlbHMgPSBmYWxzZSk7CiAKICAgICAgICAgdm9pZCBzZXRJbWFnZUludGVycG9sYXRpb25RdWFs
aXR5KEludGVycG9sYXRpb25RdWFsaXR5KTsKICAgICAgICAgSW50ZXJwb2xhdGlvblF1YWxpdHkg
aW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gNjAzNjMpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4Miw4ICszODIsMTEgQEAKICAgICBmaWxsUmVjdChmb250LnNlbGVjdGlvblJlY3RG
b3JUZXh0KHJ1biwgcG9pbnQsIGgsIGZyb20sIHRvKSwgYmFja2dyb3VuZENvbG9yLCBjb2xvclNw
YWNlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFnZSogaW1hZ2Us
IENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3QsIGNvbnN0
IEZsb2F0UmVjdCYgc3JjLCBDb21wb3NpdGVPcGVyYXRvciBvcCwgYm9vbCB1c2VMb3dRdWFsaXR5
U2NhbGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ltYWdlKEltYWdlKiBpbWFnZSwgQ29s
b3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdCwgY29uc3QgRmxv
YXRSZWN0JiBzcmMsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBib29sIHVzZUxvd1F1YWxpdHlTY2Fs
ZSwgYm9vbCByb3VuZFRvUGl4ZWxzKQogeworICAgIGlmIChyb3VuZFRvUGl4ZWxzKQorICAgICAg
ICByb3VuZFRvRGV2aWNlUGl4ZWxzKGRlc3QpOworICAgIAogICAgIGlmIChwYWludGluZ0Rpc2Fi
bGVkKCkgfHwgIWltYWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTQxMywzMSArNDE2LDUwIEBA
CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZShJbWFnZSogaW1hZ2UsIENv
bG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRQ
b2ludCYgc3JjUG9pbnQsIGNvbnN0IEludFNpemUmIHRpbGVTaXplLCBDb21wb3NpdGVPcGVyYXRv
ciBvcCwgYm9vbCB1c2VMb3dRdWFsaXR5U2NhbGUpCiB7CisgICAgZHJhd1RpbGVkSW1hZ2UoaW1h
Z2UsIHN0eWxlQ29sb3JTcGFjZSwgRmxvYXRSZWN0KHJlY3QpLCBGbG9hdFBvaW50KHNyY1BvaW50
KSwgdGlsZVNpemUsIG9wLCB1c2VMb3dRdWFsaXR5U2NhbGUpOworfQorCit2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RpbGVkSW1hZ2UoSW1hZ2UqIGltYWdlLCBDb2xvclNwYWNlIHN0eWxlQ29s
b3JTcGFjZSwgY29uc3QgSW50UmVjdCYgZGVzdCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgSW1h
Z2U6OlRpbGVSdWxlIGhSdWxlLCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUsIENvbXBvc2l0ZU9wZXJh
dG9yIG9wLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSkKK3sKKyAgICBkcmF3VGlsZWRJbWFnZShp
bWFnZSwgc3R5bGVDb2xvclNwYWNlLCBGbG9hdFJlY3QoZGVzdCksIEZsb2F0UmVjdChzcmNSZWN0
KSwgaFJ1bGUsIHZSdWxlLCBvcCwgdXNlTG93UXVhbGl0eVNjYWxlKTsKK30KKyAgICAKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZShJbWFnZSogaW1hZ2UsIENvbG9yU3BhY2Ug
c3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQm
IHNyY1BvaW50LCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSwgQ29tcG9zaXRlT3BlcmF0b3Igb3As
IGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlLCBib29sIHJvdW5kVG9QaXhlbHMpCit7CisgICAgRmxv
YXRSZWN0IGRzdFJlY3QocmVjdCk7CisgICAgCisgICAgaWYgKHJvdW5kVG9QaXhlbHMpCisgICAg
ICAgIGRzdFJlY3QgPSByb3VuZFRvRGV2aWNlUGl4ZWxzKHJlY3QpOworICAgIAogICAgIGlmIChw
YWludGluZ0Rpc2FibGVkKCkgfHwgIWltYWdlKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKHVz
ZUxvd1F1YWxpdHlTY2FsZSkgewogICAgICAgICBzYXZlKCk7CiAgICAgICAgIHNldEltYWdlSW50
ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvbkxvdyk7CiAgICAgfQotICAgIGltYWdlLT5k
cmF3VGlsZWQodGhpcywgcmVjdCwgc3JjUG9pbnQsIHRpbGVTaXplLCBzdHlsZUNvbG9yU3BhY2Us
IG9wKTsKKyAgICBpbWFnZS0+ZHJhd1RpbGVkKHRoaXMsIGRzdFJlY3QsIHNyY1BvaW50LCB0aWxl
U2l6ZSwgc3R5bGVDb2xvclNwYWNlLCBvcCk7CiAgICAgaWYgKHVzZUxvd1F1YWxpdHlTY2FsZSkK
ICAgICAgICAgcmVzdG9yZSgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVk
SW1hZ2UoSW1hZ2UqIGltYWdlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgSW50
UmVjdCYgZGVzdCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgSW1hZ2U6OlRpbGVSdWxlIGhSdWxl
LCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBib29sIHVzZUxv
d1F1YWxpdHlTY2FsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGlsZWRJbWFnZShJbWFn
ZSogaW1hZ2UsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIGRl
c3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgSW1hZ2U6OlRpbGVSdWxlIGhSdWxlLCBJbWFn
ZTo6VGlsZVJ1bGUgdlJ1bGUsIENvbXBvc2l0ZU9wZXJhdG9yIG9wLCBib29sIHVzZUxvd1F1YWxp
dHlTY2FsZSwgYm9vbCByb3VuZFRvUGl4ZWxzKQogeworICAgIEZsb2F0UmVjdCBkc3RSZWN0KGRl
c3QpOworICAgIAorICAgIGlmIChyb3VuZFRvUGl4ZWxzKQorICAgICAgICBkc3RSZWN0ID0gcm91
bmRUb0RldmljZVBpeGVscyhkZXN0KTsKKyAgICAKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
IHx8ICFpbWFnZSkKICAgICAgICAgcmV0dXJuOwotCiAgICAgaWYgKHVzZUxvd1F1YWxpdHlTY2Fs
ZSkgewogICAgICAgICBzYXZlKCk7CiAgICAgICAgIHNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxp
dHkoSW50ZXJwb2xhdGlvbkxvdyk7CiAgICAgfQogICAgIGlmIChoUnVsZSA9PSBJbWFnZTo6U3Ry
ZXRjaFRpbGUgJiYgdlJ1bGUgPT0gSW1hZ2U6OlN0cmV0Y2hUaWxlKQogICAgICAgICAvLyBKdXN0
IGRvIGEgc2NhbGUuCi0gICAgICAgIGRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNwYWNlLCBk
ZXN0LCBzcmNSZWN0LCBvcCk7CisgICAgICAgIGRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNw
YWNlLCBkc3RSZWN0LCBzcmNSZWN0LCBvcCk7CiAgICAgZWxzZQotICAgICAgICBpbWFnZS0+ZHJh
d1RpbGVkKHRoaXMsIGRlc3QsIHNyY1JlY3QsIGhSdWxlLCB2UnVsZSwgc3R5bGVDb2xvclNwYWNl
LCBvcCk7CisgICAgICAgIGltYWdlLT5kcmF3VGlsZWQodGhpcywgZHN0UmVjdCwgc3JjUmVjdCwg
aFJ1bGUsIHZSdWxlLCBzdHlsZUNvbG9yU3BhY2UsIG9wKTsKICAgICBpZiAodXNlTG93UXVhbGl0
eVNjYWxlKQogICAgICAgICByZXN0b3JlKCk7CiB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiA2MDM2MykKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4LDIx
ICs4ODgsMjAgQEAKICAgICAgICAgLy8gVGhlIHRvcCBsZWZ0IGNvcm5lciByZWN0IGlzICh0eCwg
dHksIGxlZnRXaWR0aCwgdG9wV2lkdGgpCiAgICAgICAgIC8vIFRoZSByZWN0IHRvIHVzZSBmcm9t
IHdpdGhpbiB0aGUgaW1hZ2UgaXMgb2J0YWluZWQgZnJvbSBvdXIgc2xpY2UsIGFuZCBpcyAoMCwg
MCwgbGVmdFNsaWNlLCB0b3BTbGljZSkKICAgICAgICAgaWYgKGRyYXdUb3ApCi0gICAgICAgICAg
ICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0
eCwgdHksIGxlZnRXaWR0aCwgdG9wV2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW50UmVjdCgwLCAwLCBsZWZ0U2xpY2UsIHRvcFNsaWNlKSwgb3ApOworICAg
ICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEZs
b2F0UmVjdCh0eCwgdHksIGxlZnRXaWR0aCwgdG9wV2lkdGgpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KDAsIDAsIGxlZnRTbGljZSwgdG9wU2xpY2Up
LCBvcCwgZmFsc2UsIHRydWUpOwogCiAgICAgICAgIC8vIFRoZSBib3R0b20gbGVmdCBjb3JuZXIg
cmVjdCBpcyAodHgsIHR5ICsgaCAtIGJvdHRvbVdpZHRoLCBsZWZ0V2lkdGgsIGJvdHRvbVdpZHRo
KQogICAgICAgICAvLyBUaGUgcmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhlIGltYWdlIGlzICgw
LCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCBsZWZ0U2xpY2UsIGJvdG9tU2xpY2UpCiAgICAg
ICAgIGlmIChkcmF3Qm90dG9tKQotICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3SW1h
Z2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHgsIHR5ICsgaCAtIGJvdHRvbVdpZHRoLCBs
ZWZ0V2lkdGgsIGJvdHRvbVdpZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEludFJlY3QoMCwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgbGVmdFNsaWNlLCBi
b3R0b21TbGljZSksIG9wKTsKKyAgICAgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdl
KGltYWdlLCBjb2xvclNwYWNlLCBGbG9hdFJlY3QodHgsIHR5ICsgaCAtIGJvdHRvbVdpZHRoLCBs
ZWZ0V2lkdGgsIGJvdHRvbVdpZHRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZsb2F0UmVjdCgwLCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCBsZWZ0U2xpY2Us
IGJvdHRvbVNsaWNlKSwgb3AsIGZhbHNlLCB0cnVlKTsKIAogICAgICAgICAvLyBQYWludCB0aGUg
bGVmdCBlZGdlLgogICAgICAgICAvLyBIYXZlIHRvIHNjYWxlIGFuZCB0aWxlIGludG8gdGhlIGJv
cmRlciByZWN0LgotICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdUaWxlZEltYWdlKGltYWdl
LCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4LCB0eSArIHRvcFdpZHRoLCBsZWZ0V2lkdGgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaCAtIHRvcFdpZHRoIC0gYm90dG9t
V2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludFJlY3Qo
MCwgdG9wU2xpY2UsIGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRvbVNs
aWNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6U3Ry
ZXRjaFRpbGUsIChJbWFnZTo6VGlsZVJ1bGUpdlJ1bGUsIG9wKTsKKyAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgRmxvYXRSZWN0KHR4LCB0
eSArIHRvcFdpZHRoLCBsZWZ0V2lkdGgsIGggLSB0b3BXaWR0aCAtIGJvdHRvbVdpZHRoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3QoMCwgdG9wU2xp
Y2UsIGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRvbVNsaWNlKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6U3RyZXRjaFRpbGUs
IChJbWFnZTo6VGlsZVJ1bGUpdlJ1bGUsIG9wLCBmYWxzZSwgdHJ1ZSk7CiAgICAgfQogCiAgICAg
aWYgKGRyYXdSaWdodCkgewpAQCAtOTEwLDQxICs5MDksMzggQEAKICAgICAgICAgLy8gVGhlIHRv
cCByaWdodCBjb3JuZXIgcmVjdCBpcyAodHggKyB3IC0gcmlnaHRXaWR0aCwgdHksIHJpZ2h0V2lk
dGgsIHRvcFdpZHRoKQogICAgICAgICAvLyBUaGUgcmVjdCB0byB1c2UgZnJvbSB3aXRoaW4gdGhl
IGltYWdlIGlzIG9idGFpbmVkIGZyb20gb3VyIHNsaWNlLCBhbmQgaXMgKGltYWdlV2lkdGggLSBy
aWdodFNsaWNlLCAwLCByaWdodFNsaWNlLCB0b3BTbGljZSkKICAgICAgICAgaWYgKGRyYXdUb3Ap
Ci0gICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFj
ZSwgSW50UmVjdCh0eCArIHcgLSByaWdodFdpZHRoLCB0eSwgcmlnaHRXaWR0aCwgdG9wV2lkdGgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChpbWFnZVdp
ZHRoIC0gcmlnaHRTbGljZSwgMCwgcmlnaHRTbGljZSwgdG9wU2xpY2UpLCBvcCk7CisgICAgICAg
ICAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgRmxvYXRS
ZWN0KHR4ICsgdyAtIHJpZ2h0V2lkdGgsIHR5LCByaWdodFdpZHRoLCB0b3BXaWR0aCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3QoaW1hZ2VXaWR0aCAt
IHJpZ2h0U2xpY2UsIDAsIHJpZ2h0U2xpY2UsIHRvcFNsaWNlKSwgb3AsIGZhbHNlLCB0cnVlKTsK
IAogICAgICAgICAvLyBUaGUgYm90dG9tIHJpZ2h0IGNvcm5lciByZWN0IGlzICh0eCArIHcgLSBy
aWdodFdpZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwgcmlnaHRXaWR0aCwgYm90dG9tV2lkdGgp
CiAgICAgICAgIC8vIFRoZSByZWN0IHRvIHVzZSBmcm9tIHdpdGhpbiB0aGUgaW1hZ2UgaXMgKGlt
YWdlV2lkdGggLSByaWdodFNsaWNlLCBpbWFnZUhlaWdodCAtIGJvdHRvbVNsaWNlLCByaWdodFNs
aWNlLCBib3R0b21TbGljZSkKICAgICAgICAgaWYgKGRyYXdCb3R0b20pCi0gICAgICAgICAgICBn
cmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0eCAr
IHcgLSByaWdodFdpZHRoLCB0eSArIGggLSBib3R0b21XaWR0aCwgcmlnaHRXaWR0aCwgYm90dG9t
V2lkdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChp
bWFnZVdpZHRoIC0gcmlnaHRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgcmlnaHRT
bGljZSwgYm90dG9tU2xpY2UpLCBvcCk7CisgICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPmRy
YXdJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgRmxvYXRSZWN0KHR4ICsgdyAtIHJpZ2h0V2lkdGgs
IHR5ICsgaCAtIGJvdHRvbVdpZHRoLCByaWdodFdpZHRoLCBib3R0b21XaWR0aCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3QoaW1hZ2VXaWR0aCAtIHJp
Z2h0U2xpY2UsIGltYWdlSGVpZ2h0IC0gYm90dG9tU2xpY2UsIHJpZ2h0U2xpY2UsIGJvdHRvbVNs
aWNlKSwgb3AsIGZhbHNlLCB0cnVlKTsKIAogICAgICAgICAvLyBQYWludCB0aGUgcmlnaHQgZWRn
ZS4KLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JT
cGFjZSwgSW50UmVjdCh0eCArIHcgLSByaWdodFdpZHRoLCB0eSArIHRvcFdpZHRoLCByaWdodFdp
ZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggLSB0b3BXaWR0
aCAtIGJvdHRvbVdpZHRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJbnRSZWN0KGltYWdlV2lkdGggLSByaWdodFNsaWNlLCB0b3BTbGljZSwgcmlnaHRTbGljZSwg
aW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRvbVNsaWNlKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbWFnZTo6U3RyZXRjaFRpbGUsIChJbWFnZTo6VGlsZVJ1
bGUpdlJ1bGUsIG9wKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3VGlsZWRJbWFnZShp
bWFnZSwgY29sb3JTcGFjZSwgZ3JhcGhpY3NDb250ZXh0LT5yb3VuZFRvRGV2aWNlUGl4ZWxzKEZs
b2F0UmVjdCh0eCArIHcgLSByaWdodFdpZHRoLCB0eSArIHRvcFdpZHRoLCByaWdodFdpZHRoLCBo
IC0gdG9wV2lkdGggLSBib3R0b21XaWR0aCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZsb2F0UmVjdChpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSwgdG9wU2xpY2Us
IHJpZ2h0U2xpY2UsIGltYWdlSGVpZ2h0IC0gdG9wU2xpY2UgLSBib3R0b21TbGljZSksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2U6OlN0cmV0Y2hUaWxlLCAo
SW1hZ2U6OlRpbGVSdWxlKXZSdWxlLCBvcCwgZmFsc2UsIHRydWUpOwogICAgIH0KIAogICAgIC8v
IFBhaW50IHRoZSB0b3AgZWRnZS4KICAgICBpZiAoZHJhd1RvcCkKLSAgICAgICAgZ3JhcGhpY3ND
b250ZXh0LT5kcmF3VGlsZWRJbWFnZShpbWFnZSwgY29sb3JTcGFjZSwgSW50UmVjdCh0eCArIGxl
ZnRXaWR0aCwgdHksIHcgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoLCB0b3BXaWR0aCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChsZWZ0U2xpY2UsIDAs
IGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVmdFNsaWNlLCB0b3BTbGljZSksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEltYWdlOjpUaWxlUnVsZSloUnVsZSwg
SW1hZ2U6OlN0cmV0Y2hUaWxlLCBvcCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1Rp
bGVkSW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEZsb2F0UmVjdCh0eCArIGxlZnRXaWR0aCwgdHks
IHcgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoLCB0b3BXaWR0aCksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXRSZWN0KGxlZnRTbGljZSwgMCwgaW1hZ2VXaWR0
aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0U2xpY2UsIHRvcFNsaWNlKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoSW1hZ2U6OlRpbGVSdWxlKWhSdWxlLCBJbWFnZTo6U3Ry
ZXRjaFRpbGUsIG9wLCBmYWxzZSwgdHJ1ZSk7CiAKICAgICAvLyBQYWludCB0aGUgYm90dG9tIGVk
Z2UuCiAgICAgaWYgKGRyYXdCb3R0b20pCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1Rp
bGVkSW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEludFJlY3QodHggKyBsZWZ0V2lkdGgsIHR5ICsg
aCAtIGJvdHRvbVdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHcgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoLCBib3R0b21XaWR0aCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChsZWZ0U2xpY2UsIGltYWdlSGVpZ2h0
IC0gYm90dG9tU2xpY2UsIGltYWdlV2lkdGggLSByaWdodFNsaWNlIC0gbGVmdFNsaWNlLCBib3R0
b21TbGljZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEltYWdl
OjpUaWxlUnVsZSloUnVsZSwgSW1hZ2U6OlN0cmV0Y2hUaWxlLCBvcCk7CisgICAgICAgIGdyYXBo
aWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2UoaW1hZ2UsIGNvbG9yU3BhY2UsIEZsb2F0UmVjdCh0
eCArIGxlZnRXaWR0aCwgdHkgKyBoIC0gYm90dG9tV2lkdGgsIHcgLSBsZWZ0V2lkdGggLSByaWdo
dFdpZHRoLCBib3R0b21XaWR0aCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRmxvYXRSZWN0KGxlZnRTbGljZSwgaW1hZ2VIZWlnaHQgLSBib3R0b21TbGljZSwgaW1h
Z2VXaWR0aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0U2xpY2UsIGJvdHRvbVNsaWNlKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSW1hZ2U6OlRpbGVSdWxlKWhSdWxlLCBJ
bWFnZTo6U3RyZXRjaFRpbGUsIG9wLCBmYWxzZSwgdHJ1ZSk7CiAKICAgICAvLyBQYWludCB0aGUg
bWlkZGxlLgogICAgIGlmIChkcmF3TWlkZGxlKQotICAgICAgICBncmFwaGljc0NvbnRleHQtPmRy
YXdUaWxlZEltYWdlKGltYWdlLCBjb2xvclNwYWNlLCBJbnRSZWN0KHR4ICsgbGVmdFdpZHRoLCB0
eSArIHRvcFdpZHRoLCB3IC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoIC0gdG9wV2lkdGggLSBib3R0b21XaWR0aCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UmVjdChsZWZ0U2xpY2Us
IHRvcFNsaWNlLCBpbWFnZVdpZHRoIC0gcmlnaHRTbGljZSAtIGxlZnRTbGljZSwgaW1hZ2VIZWln
aHQgLSB0b3BTbGljZSAtIGJvdHRvbVNsaWNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoSW1hZ2U6OlRpbGVSdWxlKWhSdWxlLCAoSW1hZ2U6OlRpbGVSdWxlKXZS
dWxlLCBvcCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1RpbGVkSW1hZ2UoaW1hZ2Us
IGNvbG9yU3BhY2UsIEZsb2F0UmVjdCh0eCArIGxlZnRXaWR0aCwgdHkgKyB0b3BXaWR0aCwgdyAt
IGxlZnRXaWR0aCAtIHJpZ2h0V2lkdGgsIGggLSB0b3BXaWR0aCAtIGJvdHRvbVdpZHRoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdFJlY3QobGVmdFNsaWNl
LCB0b3BTbGljZSwgaW1hZ2VXaWR0aCAtIHJpZ2h0U2xpY2UgLSBsZWZ0U2xpY2UsIGltYWdlSGVp
Z2h0IC0gdG9wU2xpY2UgLSBib3R0b21TbGljZSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKEltYWdlOjpUaWxlUnVsZSloUnVsZSwgKEltYWdlOjpUaWxlUnVsZSl2
UnVsZSwgb3AsIGZhbHNlLCB0cnVlKTsKIAogICAgIHJldHVybiB0cnVlOwogfQo=
</data>
<flag name="review"
          id="41959"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>