<?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>62422</bug_id>
          
          <creation_ts>2011-06-09 19:07:54 -0700</creation_ts>
          <short_desc>TiledBackingStore endlessly creates and destroys tiles due to an off-by-one error.</short_desc>
          <delta_ts>2011-09-01 11:33:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dongseong.hwang</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>leviw</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyul</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>418461</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-09 19:07:54 -0700</bug_when>
    <thetext>If the viewport width equals the contents width, especially in the mobile device, TiledBackingStore endlessly creates and deletes the rightmost column and bottom row of tiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418462</commentid>
    <comment_count>1</comment_count>
      <attachid>96687</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-09 19:11:14 -0700</bug_when>
    <thetext>Created attachment 96687
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418555</commentid>
    <comment_count>2</comment_count>
      <attachid>96687</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-06-10 00:39:05 -0700</bug_when>
    <thetext>Comment on attachment 96687
patch

Golly!
We&apos;ll need this change in Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418619</commentid>
    <comment_count>3</comment_count>
      <attachid>96723</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-10 03:35:17 -0700</bug_when>
    <thetext>Created attachment 96723
patch

I also changed TiledDrawingAreaProxy.
I&apos;m glad to change WebKit2!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418637</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-06-10 04:21:09 -0700</bug_when>
    <thetext>Jocelyn please look at this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418698</commentid>
    <comment_count>5</comment_count>
      <attachid>96723</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2011-06-10 07:18:01 -0700</bug_when>
    <thetext>Comment on attachment 96723
patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        REGRESSION(410d71df): Fix Qt bustage.

Please use SVN revision numbers, I guess you meant r77312.

Please also say why it broke, that bottomRight used to do this - 1 correction itself and that it was replaced everywhere by maxX/Y, which doesn&apos;t anymore.
I wonder, though, how this can be the only thing that broke, I don&apos;t understand.

&gt; Source/WebKit2/ChangeLog:9
&gt; +        REGRESSION(410d71df): Fix Qt bustage.

Same.


Otherwise looks fine, thanks for catching this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418726</commentid>
    <comment_count>6</comment_count>
      <attachid>96723</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-10 09:23:24 -0700</bug_when>
    <thetext>Comment on attachment 96723
patch

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

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:80
&gt;      Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
&gt; -    Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
&gt; +    Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX() - 1, dirtyRect.maxY() - 1));
&gt;      
&gt;      for (unsigned yCoordinate = topLeft.y(); yCoordinate &lt;= bottomRight.y(); ++yCoordinate) {
&gt;          for (unsigned xCoordinate = topLeft.x(); xCoordinate &lt;= bottomRight.x(); ++xCoordinate) {

I think a bette fix would be to change the &lt;= into a &lt; rather than changing the value in bottomRight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418772</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2011-06-10 10:35:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 96723 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96723&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:80
&gt; &gt;      Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
&gt; &gt; -    Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
&gt; &gt; +    Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX() - 1, dirtyRect.maxY() - 1));
&gt; &gt;      
&gt; &gt;      for (unsigned yCoordinate = topLeft.y(); yCoordinate &lt;= bottomRight.y(); ++yCoordinate) {
&gt; &gt;          for (unsigned xCoordinate = topLeft.x(); xCoordinate &lt;= bottomRight.x(); ++xCoordinate) {
&gt; 
&gt; I think a bette fix would be to change the &lt;= into a &lt; rather than changing the value in bottomRight.

I don&apos;t like having to add the -1 everywhere either but the thing is that tileCoordinateForPoint translates the rect&apos;s coordinate by doing a int division by the tile size.

So I might be missing something, but I think this would skip the last row/column of tiles in cases where dirtyRect is not on the edge of a tile and tileCoordinateForPoint(IntPoint(dirtyRect.maxX() - 1, dirtyRect.maxY() - 1)) == tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY())).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419376</commentid>
    <comment_count>8</comment_count>
      <attachid>96904</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-12 18:45:26 -0700</bug_when>
    <thetext>Created attachment 96904
It show why this patch is needed.

To Darin Adler,
&apos;&lt;=&apos; is right on most case. However, if tile rect&apos;s width or height is power of n of cover(or dirty) rect&apos;s width or height, right bottom point is wrong.
This picture explains it.

To Jocelyn Turcotte,
I agree that -1 everywhere is ugly. I will patch about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419463</commentid>
    <comment_count>9</comment_count>
      <attachid>96932</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-13 01:11:50 -0700</bug_when>
    <thetext>Created attachment 96932
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419510</commentid>
    <comment_count>10</comment_count>
      <attachid>96932</attachid>
    <who name="Yael">yael</who>
    <bug_when>2011-06-13 05:38:02 -0700</bug_when>
    <thetext>Comment on attachment 96932
patch

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

I am not a reviewer, bellow are some comments.

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:200
&gt; +IntPoint TiledBackingStore::preciseBottomRight(const IntRect&amp; rect)
&gt; +{

No need to make this a member, it should be a static function.

&gt; Source/WebKit2/ChangeLog:11
&gt; +        REGRESSION(r77928): Cause off-by-one error.

The off-by-one error was introduced in r78783 and r78785.

&gt; Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp:337
&gt; +IntPoint TiledDrawingAreaTile::preciseBottomRight(const IntRect&amp; rect)
&gt; +{

Same here. No need to make this a member, it should be a static function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419918</commentid>
    <comment_count>11</comment_count>
      <attachid>96932</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-13 15:05:57 -0700</bug_when>
    <thetext>Comment on attachment 96932
patch

I&apos;m not sure how &quot;precision&quot; has anything to do with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425834</commentid>
    <comment_count>12</comment_count>
      <attachid>98285</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-22 18:28:52 -0700</bug_when>
    <thetext>Created attachment 98285
patch

Changed innerBottomRight static function from preciseBottomRight member method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425838</commentid>
    <comment_count>13</comment_count>
      <attachid>98286</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-22 18:31:15 -0700</bug_when>
    <thetext>Created attachment 98286
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426169</commentid>
    <comment_count>14</comment_count>
      <attachid>98286</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-06-23 07:49:08 -0700</bug_when>
    <thetext>Comment on attachment 98286
patch

Any way to test this using a pixel test or timeout test (you mentioned an infinite loop)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426702</commentid>
    <comment_count>15</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-23 20:16:53 -0700</bug_when>
    <thetext>I think it is difficult to make the test.
The test requires to control tile size, test html content size, and window size.

I have no idea about using Layout test to test this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427740</commentid>
    <comment_count>16</comment_count>
      <attachid>98286</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-06-27 00:47:57 -0700</bug_when>
    <thetext>Comment on attachment 98286
patch

OK, but next time explain the lack of tests (and the reason why) in the changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427747</commentid>
    <comment_count>17</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2011-06-27 00:58:11 -0700</bug_when>
    <thetext>OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427759</commentid>
    <comment_count>18</comment_count>
      <attachid>98286</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-27 01:11:06 -0700</bug_when>
    <thetext>Comment on attachment 98286
patch

Clearing flags on attachment: 98286

Committed r89803: &lt;http://trac.webkit.org/changeset/89803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427760</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-27 01:11:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96687</attachid>
            <date>2011-06-09 19:11:14 -0700</date>
            <delta_ts>2011-06-10 03:35:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-TiledBackingStore-endlessly-creates-and-destroys-til.patch</filename>
            <type>text/plain</type>
            <size>4333</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBlYThjNzQ1YWVhMDU4NTMzZjkxZjUyYWM5MGNjOTZmMGJiZDdmMWQzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IEZyaSwgMTAgSnVuIDIwMTEgMTA6NDA6MjMgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMg
ZHVlIHRvIGFuIG9mZi1ieS1vbmUgZXJyb3IuCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjI0MjIKClJFR1JFU1NJT04oNDEwZDcxZGYpOiBGaXggUXQgYnVzdGFnZS4K
CklmIHRoZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lh
bGx5IGluIHRoZSBtb2JpbGUKZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3Jl
YXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CmNvbHVtbiBhbmQgYm90dG9tIHJvdyBvZiB0
aWxlcy4KSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tp
bmdTdG9yZTo6Y3JlYXRlVGlsZXMoKSBkZWxldGVzCnRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5h
dGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkgY3JlYXRlcyB0aWxlcwppbmZpbml0
ZWx5LgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAyMSArKysrKysrKysrKysrKysrKysrKwogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmNwcCAgICAgICAgfCAgICA2ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwg
MjQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdlZTIwNC4u
ZjIzYzE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA2LTA5ICBIdWFuZyBE
b25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRpbGVkQmFja2luZ1N0b3JlIGVuZGxlc3NseSBj
cmVhdGVzIGFuZCBkZXN0cm95cyB0aWxlcyBkdWUgdG8gYW4gb2ZmLWJ5LW9uZSBlcnJvci4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyNDIyCisKKyAg
ICAgICAgUkVHUkVTU0lPTig0MTBkNzFkZik6IEZpeCBRdCBidXN0YWdlLgorCisgICAgICAgIElm
IHRoZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5
IGluIHRoZSBtb2JpbGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNz
bHkgY3JlYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBhbmQg
Ym90dG9tIHJvdyBvZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0
c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKSBkZWxldGVzCisg
ICAgICAgIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBj
b29yZGluYXRlKSkgY3JlYXRlcyB0aWxlcworICAgICAgICBpbmZpbml0ZWx5LgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
VGlsZWRCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2lu
Z1N0b3JlOjpjcmVhdGVUaWxlcyk6CisKIDIwMTEtMDYtMDkgIEppYW4gTGkgIDxqaWFubGlAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3Bw
CmluZGV4IGFjN2U5YzYuLmE0OTM1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTc0LDcgKzc0LDcgQEAg
dm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52YWxpZGF0ZShjb25zdCBJbnRSZWN0JiBjb250ZW50
c0RpcnR5UmVjdCkKICAgICBJbnRSZWN0IGRpcnR5UmVjdChtYXBGcm9tQ29udGVudHMoY29udGVu
dHNEaXJ0eVJlY3QpKTsKICAgICAKICAgICBUaWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxl
Q29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5sb2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29y
ZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0
eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgpKSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBi
b3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1h
eFgoKSAtIDEsIGRpcnR5UmVjdC5tYXhZKCkgLSAxKSk7CiAgICAgCiAgICAgZm9yICh1bnNpZ25l
ZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55
KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9
IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5h
dGUpIHsKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpwYWludChH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgSW50UmVj
dCBkaXJ0eVJlY3QgPSBtYXBGcm9tQ29udGVudHMocmVjdCk7CiAgICAgCiAgICAgVGlsZTo6Q29v
cmRpbmF0ZSB0b3BMZWZ0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChkaXJ0eVJlY3QubG9jYXRp
b24oKSk7Ci0gICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRl
Rm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgoKSwgZGlydHlSZWN0Lm1heFkoKSkpOwor
ICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50
KEludFBvaW50KGRpcnR5UmVjdC5tYXhYKCkgLSAxLCBkaXJ0eVJlY3QubWF4WSgpIC0gMSkpOwog
CiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0
ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNp
Z25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdo
dC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgVmVjdG9yPFRpbGU6OkNvb3JkaW5hdGU+IHRp
bGVzVG9DcmVhdGU7CiAgICAgdW5zaWduZWQgcmVxdWlyZWRUaWxlQ291bnQgPSAwOwogICAgIFRp
bGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoY292ZXJSZWN0
LmxvY2F0aW9uKCkpOwotICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29v
cmRpbmF0ZUZvclBvaW50KEludFBvaW50KGNvdmVyUmVjdC5tYXhYKCksIGNvdmVyUmVjdC5tYXhZ
KCkpKTsKKyAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVG
b3JQb2ludChJbnRQb2ludChjb3ZlclJlY3QubWF4WCgpIC0gMSwgY292ZXJSZWN0Lm1heFkoKSAt
IDEpKTsKICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55KCk7IHlDb29y
ZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAgICAgICBmb3Ig
KHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRlIDw9IGJvdHRv
bVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgVGlsZTo6Q29vcmRpbmF0
ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUpOwotLSAKMS43LjEK
Cg==
</data>
<flag name="review"
          id="90443"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96723</attachid>
            <date>2011-06-10 03:35:17 -0700</date>
            <delta_ts>2011-06-13 01:11:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-TiledBackingStore-endlessly-creates-and-destroys-til.patch</filename>
            <type>text/plain</type>
            <size>8091</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBjZGMyN2JmYzI2M2YxOGE4YmY2MjQ3ZTM4NDZkMmJmZWVkZmRiNWI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IEZyaSwgMTAgSnVuIDIwMTEgMTk6Mjg6MDEgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMg
ZHVlIHRvIGFuIG9mZi1ieS1vbmUKIGVycm9yLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyNDIyCgpSRUdSRVNTSU9OKDQxMGQ3MWRmKTogRml4IFF0IGJ1c3RhZ2Uu
CgpJZiB0aGUgdmlld3BvcnQgd2lkdGggZXF1YWxzIHRoZSBjb250ZW50cyB3aWR0aCwgZXNwZWNp
YWxseSBpbiB0aGUgbW9iaWxlCmRldmljZSwgVGlsZWRCYWNraW5nU3RvcmUgZW5kbGVzc2x5IGNy
ZWF0ZXMgYW5kIGRlbGV0ZXMgdGhlIHJpZ2h0bW9zdApjb2x1bW4gYW5kIGJvdHRvbSByb3cgb2Yg
dGlsZXMuCkluIHRoZSBkZXRhaWwsIGRyb3BUaWxlc091dHNpZGVSZWN0KCkgaW4gVGlsZWRCYWNr
aW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKZGVsZXRlcyB0aWxlcyBhbmQgc2V0VGlsZShjb29yZGlu
YXRlLCBUaWxlOjpjcmVhdGUodGhpcywgY29vcmRpbmF0ZSkpIGNyZWF0ZXMKdGlsZXMgaW5maW5p
dGVseS4KTW9kaWZpZWQgVGlsZWREcmF3aW5nQXJlYVByb3h5IGFsc28uCi0tLQogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysr
KysrKysrKysrKysrCiAuLi4vcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3Bw
ICAgICAgICB8ICAgIDYgKystLQogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNwcCB8ICAgIDYgKystLQogNCBmaWxl
cyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjN2VlMjA0Li5mMjBjNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDYt
MTAgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGlsZWRCYWNraW5nU3RvcmUg
ZW5kbGVzc2x5IGNyZWF0ZXMgYW5kIGRlc3Ryb3lzIHRpbGVzIGR1ZSB0byBhbiBvZmYtYnktb25l
CisgICAgICAgIGVycm9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjI0MjIKKworICAgICAgICBSRUdSRVNTSU9OKDQxMGQ3MWRmKTogRml4IFF0IGJ1
c3RhZ2UuCisKKyAgICAgICAgSWYgdGhlIHZpZXdwb3J0IHdpZHRoIGVxdWFscyB0aGUgY29udGVu
dHMgd2lkdGgsIGVzcGVjaWFsbHkgaW4gdGhlIG1vYmlsZQorICAgICAgICBkZXZpY2UsIFRpbGVk
QmFja2luZ1N0b3JlIGVuZGxlc3NseSBjcmVhdGVzIGFuZCBkZWxldGVzIHRoZSByaWdodG1vc3QK
KyAgICAgICAgY29sdW1uIGFuZCBib3R0b20gcm93IG9mIHRpbGVzLgorICAgICAgICBJbiB0aGUg
ZGV0YWlsLCBkcm9wVGlsZXNPdXRzaWRlUmVjdCgpIGluIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVh
dGVUaWxlcygpCisgICAgICAgIGRlbGV0ZXMgdGlsZXMgYW5kIHNldFRpbGUoY29vcmRpbmF0ZSwg
VGlsZTo6Y3JlYXRlKHRoaXMsIGNvb3JkaW5hdGUpKSBjcmVhdGVzCisgICAgICAgIHRpbGVzIGlu
ZmluaXRlbHkuCisgICAgICAgIE1vZGlmaWVkIFRpbGVkRHJhd2luZ0FyZWFQcm94eSBhbHNvLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisKIDIwMTEtMDYtMDkgIEppYW4gTGkgIDxq
aWFubGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuY3BwCmluZGV4IGFjN2U5YzYuLmE0OTM1ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTc0LDcg
Kzc0LDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52YWxpZGF0ZShjb25zdCBJbnRSZWN0
JiBjb250ZW50c0RpcnR5UmVjdCkKICAgICBJbnRSZWN0IGRpcnR5UmVjdChtYXBGcm9tQ29udGVu
dHMoY29udGVudHNEaXJ0eVJlY3QpKTsKICAgICAKICAgICBUaWxlOjpDb29yZGluYXRlIHRvcExl
ZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5sb2NhdGlvbigpKTsKLSAgICBU
aWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQ
b2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgpKSk7CisgICAgVGlsZTo6Q29v
cmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGly
dHlSZWN0Lm1heFgoKSAtIDEsIGRpcnR5UmVjdC5tYXhZKCkgLSAxKSk7CiAgICAgCiAgICAgZm9y
ICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0
b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29v
cmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsr
eENvb3JkaW5hdGUpIHsKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3Jl
OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAg
ICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBtYXBGcm9tQ29udGVudHMocmVjdCk7CiAgICAgCiAgICAg
VGlsZTo6Q29vcmRpbmF0ZSB0b3BMZWZ0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChkaXJ0eVJl
Y3QubG9jYXRpb24oKSk7Ci0gICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVD
b29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgoKSwgZGlydHlSZWN0Lm1h
eFkoKSkpOworICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0
ZUZvclBvaW50KEludFBvaW50KGRpcnR5UmVjdC5tYXhYKCkgLSAxLCBkaXJ0eVJlY3QubWF4WSgp
IC0gMSkpOwogCiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5
Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAg
Zm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBi
b3R0b21SaWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgVmVjdG9yPFRpbGU6OkNvb3Jk
aW5hdGU+IHRpbGVzVG9DcmVhdGU7CiAgICAgdW5zaWduZWQgcmVxdWlyZWRUaWxlQ291bnQgPSAw
OwogICAgIFRpbGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQo
Y292ZXJSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQg
PSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KEludFBvaW50KGNvdmVyUmVjdC5tYXhYKCksIGNvdmVy
UmVjdC5tYXhZKCkpKTsKKyAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNv
b3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChjb3ZlclJlY3QubWF4WCgpIC0gMSwgY292ZXJSZWN0
Lm1heFkoKSAtIDEpKTsKICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55
KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAg
ICAgICBmb3IgKHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRl
IDw9IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgVGlsZTo6
Q29vcmRpbmF0ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IGM1YWMzYjEuLmIzNmJjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxMS0wNi0xMCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxlZEJh
Y2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRvIGFu
IG9mZi1ieS1vbmUKKyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04oNDEwZDcxZGYp
OiBGaXggUXQgYnVzdGFnZS4KKworICAgICAgICBJZiB0aGUgdmlld3BvcnQgd2lkdGggZXF1YWxz
IHRoZSBjb250ZW50cyB3aWR0aCwgZXNwZWNpYWxseSBpbiB0aGUgbW9iaWxlCisgICAgICAgIGRl
dmljZSwgVGlsZWRCYWNraW5nU3RvcmUgZW5kbGVzc2x5IGNyZWF0ZXMgYW5kIGRlbGV0ZXMgdGhl
IHJpZ2h0bW9zdAorICAgICAgICBjb2x1bW4gYW5kIGJvdHRvbSByb3cgb2YgdGlsZXMuCisgICAg
ICAgIEluIHRoZSBkZXRhaWwsIGRyb3BUaWxlc091dHNpZGVSZWN0KCkgaW4gVGlsZWRCYWNraW5n
U3RvcmU6OmNyZWF0ZVRpbGVzKCkKKyAgICAgICAgZGVsZXRlcyB0aWxlcyBhbmQgc2V0VGlsZShj
b29yZGluYXRlLCBUaWxlOjpjcmVhdGUodGhpcywgY29vcmRpbmF0ZSkpIGNyZWF0ZXMKKyAgICAg
ICAgdGlsZXMgaW5maW5pdGVseS4KKyAgICAgICAgTW9kaWZpZWQgVGlsZWREcmF3aW5nQXJlYVBy
b3h5IGFsc28uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjppbnZhbGlkYXRlKToK
KyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjpwYWludCk6CisgICAgICAg
IChXZWJLaXQ6OlRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlVGlsZXMpOgorCiAyMDExLTA2
LTA5ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9U
aWxlZERyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVk
RHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggZDUyMWFiNy4uZGQ2OTFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTE3
OSw3ICsxNzksNyBAQCB2b2lkIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6aW52YWxpZGF0ZShjb25z
dCBJbnRSZWN0JiBjb250ZW50c0RpcnR5UmVjdCkKICAgICBJbnRSZWN0IGRpcnR5UmVjdChtYXBG
cm9tQ29udGVudHMoY29udGVudHNEaXJ0eVJlY3QpKTsKIAogICAgIFRpbGVkRHJhd2luZ0FyZWFU
aWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVj
dC5sb2NhdGlvbigpKTsKLSAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0ZSBib3R0
b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgo
KSwgZGlydHlSZWN0Lm1heFkoKSkpOworICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJl
Y3QubWF4WCgpIC0gMSwgZGlydHlSZWN0Lm1heFkoKSAtIDEpKTsKIAogICAgIEludFJlY3QgY292
ZXJSZWN0ID0gY2FsY3VsYXRlQ292ZXJSZWN0KG1fcHJldmlvdXNWaXNpYmxlUmVjdCk7CiAKQEAg
LTI3Nyw3ICsyNzcsNyBAQCBib29sIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6cGFpbnQoY29uc3Qg
SW50UmVjdCYgcmVjdCwgUGxhdGZvcm1EcmF3aW5nQ29udGV4dCBjbwogICAgIEludFJlY3QgZGly
dHlSZWN0ID0gbWFwRnJvbUNvbnRlbnRzKHJlY3QpOwogCiAgICAgVGlsZWREcmF3aW5nQXJlYVRp
bGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoZGlydHlSZWN0
LmxvY2F0aW9uKCkpOwotICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRv
bVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgp
LCBkaXJ0eVJlY3QubWF4WSgpKSk7CisgICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5h
dGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KEludFBvaW50KGRpcnR5UmVj
dC5tYXhYKCkgLSAxLCBkaXJ0eVJlY3QubWF4WSgpIC0gMSkpOwogCiAgICAgZm9yICh1bnNpZ25l
ZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55
KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9
IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5h
dGUpIHsKQEAgLTM3NCw3ICszNzQsNyBAQCB2b2lkIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3Jl
YXRlVGlsZXMoKQogICAgIHVuc2lnbmVkIHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAgICBib29s
IGhhc1Zpc2libGVDaGVja2VycyA9IGZhbHNlOwogICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpD
b29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KHZpc2libGVSZWN0Lmxv
Y2F0aW9uKCkpOwotICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJp
Z2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludCh2aXNpYmxlUmVjdC5tYXhYKCks
IHZpc2libGVSZWN0Lm1heFkoKSkpOworICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludCh2aXNpYmxl
UmVjdC5tYXhYKCkgLSAxLCB2aXNpYmxlUmVjdC5tYXhZKCkgLSAxKSk7CiAgICAgZm9yICh1bnNp
Z25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdo
dC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0
ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3Jk
aW5hdGUpIHsKICAgICAgICAgICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGN1
cnJlbnRDb29yZGluYXRlKHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSk7Ci0tIAoxLjcuMQoK
</data>
<flag name="review"
          id="90494"
          type_id="1"
          status="-"
          setter="jturcotte"
    />
    <flag name="commit-queue"
          id="90495"
          type_id="3"
          status="-"
          setter="jturcotte"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96904</attachid>
            <date>2011-06-12 18:45:26 -0700</date>
            <delta_ts>2011-06-22 18:28:52 -0700</delta_ts>
            <desc>It show why this patch is needed.</desc>
            <filename>tbs.png</filename>
            <type>image/png</type>
            <size>30324</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96932</attachid>
            <date>2011-06-13 01:11:50 -0700</date>
            <delta_ts>2011-06-22 18:31:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-TiledBackingStore-endlessly-creates-and-destroys-til.patch</filename>
            <type>text/plain</type>
            <size>11072</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSAxYmM3NmNiODkzODY0MWZhYzA1MjViNWQwMzQ3YzNjNjY1YTA2OWFjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IE1vbiwgMTMgSnVuIDIwMTEgMTc6MTA6MTYgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMg
ZHVlIHRvIGFuIG9mZi1ieS1vbmUKIGVycm9yLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyNDIyCgpSRUdSRVNTSU9OKHI3NzI4Nik6IFJlbW92ZSBib3R0b21SaWdo
dCgpLgpSRUdSRVNTSU9OKHI3NzMxMik6IENoYW5nZSB0aGUgbG9naWMgdG8gZ2V0IHRoZSBib3R0
b20gcmlnaHQgcG9pbnQuClJFR1JFU1NJT04ocjc3OTI4KTogQ2F1c2Ugb2ZmLWJ5LW9uZSBlcnJv
ci4KCklmIHRoZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3Bl
Y2lhbGx5IGluIHRoZSBtb2JpbGUKZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkg
Y3JlYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CmNvbHVtbiBhbmQgYm90dG9tIHJvdyBv
ZiB0aWxlcy4KSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJh
Y2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQpkZWxldGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3Jk
aW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkgY3JlYXRlcwp0aWxlcyBpbmZp
bml0ZWx5LgpNb2RpZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KLS0tCiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcgKysrKysr
KysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5j
cHAgICAgICAgIHwgICAxMiArKysrKystLQogLi4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nU3RvcmUuaCAgfCAgICAyICsKIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyNyArKysrKysrKysrKysrKysrKysrKwogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAgfCAgIDEyICsr
KysrKy0tCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5Lmgg
ICB8ICAgIDIgKwogNiBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBjNzQ0NThhLi5mOWNhNWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzAgQEAKKzIwMTEtMDYtMTMgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEw
MC5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGlsZWRCYWNraW5nU3RvcmUgZW5kbGVzc2x5IGNyZWF0ZXMgYW5kIGRlc3Ryb3lzIHRpbGVzIGR1
ZSB0byBhbiBvZmYtYnktb25lCisgICAgICAgIGVycm9yLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MjIKKworICAgICAgICBSRUdSRVNTSU9OKHI3
NzI4Nik6IFJlbW92ZSBib3R0b21SaWdodCgpLgorICAgICAgICBSRUdSRVNTSU9OKHI3NzMxMik6
IENoYW5nZSB0aGUgbG9naWMgdG8gZ2V0IHRoZSBib3R0b20gcmlnaHQgcG9pbnQuCisgICAgICAg
IFJFR1JFU1NJT04ocjc3OTI4KTogQ2F1c2Ugb2ZmLWJ5LW9uZSBlcnJvci4KKworICAgICAgICBJ
ZiB0aGUgdmlld3BvcnQgd2lkdGggZXF1YWxzIHRoZSBjb250ZW50cyB3aWR0aCwgZXNwZWNpYWxs
eSBpbiB0aGUgbW9iaWxlCisgICAgICAgIGRldmljZSwgVGlsZWRCYWNraW5nU3RvcmUgZW5kbGVz
c2x5IGNyZWF0ZXMgYW5kIGRlbGV0ZXMgdGhlIHJpZ2h0bW9zdAorICAgICAgICBjb2x1bW4gYW5k
IGJvdHRvbSByb3cgb2YgdGlsZXMuCisgICAgICAgIEluIHRoZSBkZXRhaWwsIGRyb3BUaWxlc091
dHNpZGVSZWN0KCkgaW4gVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKKyAgICAgICAg
ZGVsZXRlcyB0aWxlcyBhbmQgc2V0VGlsZShjb29yZGluYXRlLCBUaWxlOjpjcmVhdGUodGhpcywg
Y29vcmRpbmF0ZSkpIGNyZWF0ZXMKKyAgICAgICAgdGlsZXMgaW5maW5pdGVseS4KKyAgICAgICAg
TW9kaWZpZWQgVGlsZWREcmF3aW5nQXJlYVByb3h5IGFsc28uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
ZEJhY2tpbmdTdG9yZTo6aW52YWxpZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tp
bmdTdG9yZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnBy
ZWNpc2VCb3R0b21SaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6
Y3JlYXRlVGlsZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0
b3JlLmg6CisKIDIwMTEtMDYtMTIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYWM3ZTlj
Ni4uNTllZDk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcApAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGNvbnRlbnRzRGlydHlSZWN0KQog
ICAgIEludFJlY3QgZGlydHlSZWN0KG1hcEZyb21Db250ZW50cyhjb250ZW50c0RpcnR5UmVjdCkp
OwogICAgIAogICAgIFRpbGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVDb29yZGluYXRlRm9y
UG9pbnQoZGlydHlSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9t
UmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KEludFBvaW50KGRpcnR5UmVjdC5tYXhYKCks
IGRpcnR5UmVjdC5tYXhZKCkpKTsKKyAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0g
dGlsZUNvb3JkaW5hdGVGb3JQb2ludChwcmVjaXNlQm90dG9tUmlnaHQoZGlydHlSZWN0KSk7CiAg
ICAgCiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRp
bmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1
bnNpZ25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21S
aWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFRpbGVk
QmFja2luZ1N0b3JlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCiAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBtYXBGcm9tQ29udGVudHMocmVjdCk7
CiAgICAgCiAgICAgVGlsZTo6Q29vcmRpbmF0ZSB0b3BMZWZ0ID0gdGlsZUNvb3JkaW5hdGVGb3JQ
b2ludChkaXJ0eVJlY3QubG9jYXRpb24oKSk7Ci0gICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21S
aWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgoKSwg
ZGlydHlSZWN0Lm1heFkoKSkpOworICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0
aWxlQ29vcmRpbmF0ZUZvclBvaW50KHByZWNpc2VCb3R0b21SaWdodChkaXJ0eVJlY3QpKTsKIAog
ICAgIGZvciAodW5zaWduZWQgeUNvb3JkaW5hdGUgPSB0b3BMZWZ0LnkoKTsgeUNvb3JkaW5hdGUg
PD0gYm90dG9tUmlnaHQueSgpOyArK3lDb29yZGluYXRlKSB7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgeENvb3JkaW5hdGUgPSB0b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQu
eCgpOyArK3hDb29yZGluYXRlKSB7CkBAIC0xOTYsNiArMTk2LDEyIEBAIGRvdWJsZSBUaWxlZEJh
Y2tpbmdTdG9yZTo6dGlsZURpc3RhbmNlKGNvbnN0IEludFJlY3QmIHZpZXdwb3J0LCBjb25zdCBU
aWxlOjpDb29yCiAgICAgcmV0dXJuIGFicyhjZW50ZXJDb29yZGluYXRlLnkoKSAtIHRpbGVDb29y
ZGluYXRlLnkoKSkgKyBob3Jpem9udGFsQmlhcyAqIGFicyhjZW50ZXJDb29yZGluYXRlLngoKSAt
IHRpbGVDb29yZGluYXRlLngoKSk7CiB9CiAKK0ludFBvaW50IFRpbGVkQmFja2luZ1N0b3JlOjpw
cmVjaXNlQm90dG9tUmlnaHQoY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBBY3R1YWxs
eSwgdGhlIHJlY3QgZG9lcyBub3QgY29udGFpbiByZWN0Lm1heFgoKS4gUmVmZXIgdG8gSW50UmVj
dDo6Y29udGFpbi4KKyAgICByZXR1cm4gSW50UG9pbnQocmVjdC5tYXhYKCkgLSAxLCByZWN0Lm1h
eFkoKSAtIDEpOworfQorCiB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcygpCiB7
CiAgICAgaWYgKG1fY29udGVudHNGcm96ZW4pCkBAIC0yMzAsNyArMjM2LDcgQEAgdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogICAgIFZlY3RvcjxUaWxlOjpDb29yZGluYXRl
PiB0aWxlc1RvQ3JlYXRlOwogICAgIHVuc2lnbmVkIHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAg
ICBUaWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNvdmVy
UmVjdC5sb2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGls
ZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChjb3ZlclJlY3QubWF4WCgpLCBjb3ZlclJlY3Qu
bWF4WSgpKSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGlu
YXRlRm9yUG9pbnQocHJlY2lzZUJvdHRvbVJpZ2h0KGNvdmVyUmVjdCkpOwogICAgIGZvciAodW5z
aWduZWQgeUNvb3JkaW5hdGUgPSB0b3BMZWZ0LnkoKTsgeUNvb3JkaW5hdGUgPD0gYm90dG9tUmln
aHQueSgpOyArK3lDb29yZGluYXRlKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgeENvb3JkaW5h
dGUgPSB0b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueCgpOyArK3hDb29y
ZGluYXRlKSB7CiAgICAgICAgICAgICBUaWxlOjpDb29yZGluYXRlIGN1cnJlbnRDb29yZGluYXRl
KHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCAwNmM3ZmUxLi41YTM1NzIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmgKQEAgLTk2LDYgKzk2LDggQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IHRpbGVS
ZWN0Rm9yQ29vcmRpbmF0ZShjb25zdCBUaWxlOjpDb29yZGluYXRlJikgY29uc3Q7CiAgICAgVGls
ZTo6Q29vcmRpbmF0ZSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNvbnN0IEludFBvaW50JikgY29u
c3Q7CiAgICAgZG91YmxlIHRpbGVEaXN0YW5jZShjb25zdCBJbnRSZWN0JiB2aWV3cG9ydCwgY29u
c3QgVGlsZTo6Q29vcmRpbmF0ZSYpOworCisgICAgSW50UG9pbnQgcHJlY2lzZUJvdHRvbVJpZ2h0
KGNvbnN0IEludFJlY3QmKTsKICAgICAKICAgICB2b2lkIHBhaW50Q2hlY2tlclBhdHRlcm4oR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGY5ZTkzM2EuLmViYjZjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAxMS0wNi0xMyAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5l
dD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxl
ZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRv
IGFuIG9mZi1ieS1vbmUKKyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04ocjc3Mjg2
KTogUmVtb3ZlIGJvdHRvbVJpZ2h0KCkuCisgICAgICAgIFJFR1JFU1NJT04ocjc3MzEyKTogQ2hh
bmdlIHRoZSBsb2dpYyB0byBnZXQgdGhlIGJvdHRvbSByaWdodCBwb2ludC4KKyAgICAgICAgUkVH
UkVTU0lPTihyNzc5MjgpOiBDYXVzZSBvZmYtYnktb25lIGVycm9yLgorCisgICAgICAgIElmIHRo
ZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5IGlu
IHRoZSBtb2JpbGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkg
Y3JlYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBhbmQgYm90
dG9tIHJvdyBvZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lk
ZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQorICAgICAgICBkZWxl
dGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBjb29y
ZGluYXRlKSkgY3JlYXRlcworICAgICAgICB0aWxlcyBpbmZpbml0ZWx5LgorICAgICAgICBNb2Rp
ZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9U
aWxlZERyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaWxlZERyYXdpbmdB
cmVhUHJveHk6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZERyYXdpbmdBcmVh
UHJveHk6OnBhaW50KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVRpbGU6OnBy
ZWNpc2VCb3R0b21SaWdodCk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkRHJhd2luZ0FyZWFQcm94
eTo6Y3JlYXRlVGlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJv
eHkuaDoKKwogMjAxMS0wNi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvVGlsZWREcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IGQ1MjFhYjcu
Ljk0YWJmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdp
bmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdp
bmdBcmVhUHJveHkuY3BwCkBAIC0xNzksNyArMTc5LDcgQEAgdm9pZCBUaWxlZERyYXdpbmdBcmVh
UHJveHk6OmludmFsaWRhdGUoY29uc3QgSW50UmVjdCYgY29udGVudHNEaXJ0eVJlY3QpCiAgICAg
SW50UmVjdCBkaXJ0eVJlY3QobWFwRnJvbUNvbnRlbnRzKGNvbnRlbnRzRGlydHlSZWN0KSk7CiAK
ICAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0ZSB0b3BMZWZ0ID0gdGlsZUNvb3Jk
aW5hdGVGb3JQb2ludChkaXJ0eVJlY3QubG9jYXRpb24oKSk7Ci0gICAgVGlsZWREcmF3aW5nQXJl
YVRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KElu
dFBvaW50KGRpcnR5UmVjdC5tYXhYKCksIGRpcnR5UmVjdC5tYXhZKCkpKTsKKyAgICBUaWxlZERy
YXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9y
UG9pbnQocHJlY2lzZUJvdHRvbVJpZ2h0KGRpcnR5UmVjdCkpOwogCiAgICAgSW50UmVjdCBjb3Zl
clJlY3QgPSBjYWxjdWxhdGVDb3ZlclJlY3QobV9wcmV2aW91c1Zpc2libGVSZWN0KTsKIApAQCAt
Mjc3LDcgKzI3Nyw3IEBAIGJvb2wgVGlsZWREcmF3aW5nQXJlYVByb3h5OjpwYWludChjb25zdCBJ
bnRSZWN0JiByZWN0LCBQbGF0Zm9ybURyYXdpbmdDb250ZXh0IGNvCiAgICAgSW50UmVjdCBkaXJ0
eVJlY3QgPSBtYXBGcm9tQ29udGVudHMocmVjdCk7CiAKICAgICBUaWxlZERyYXdpbmdBcmVhVGls
ZTo6Q29vcmRpbmF0ZSB0b3BMZWZ0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChkaXJ0eVJlY3Qu
bG9jYXRpb24oKSk7Ci0gICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgYm90dG9t
UmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KEludFBvaW50KGRpcnR5UmVjdC5tYXhYKCks
IGRpcnR5UmVjdC5tYXhZKCkpKTsKKyAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0
ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQocHJlY2lzZUJvdHRvbVJpZ2h0
KGRpcnR5UmVjdCkpOwogCiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQu
eSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAg
ICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0
ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTMzMyw2ICszMzMsMTIg
QEAgZG91YmxlIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6dGlsZURpc3RhbmNlKGNvbnN0IEludFJl
Y3QmIHZpZXdwb3J0LCBjb25zdCBUaWxlZEQKICAgICByZXR1cm4gYWJzKGNlbnRlckNvb3JkaW5h
dGUueSgpIC0gdGlsZUNvb3JkaW5hdGUueSgpKSArIGhvcml6b250YWxCaWFzICogYWJzKGNlbnRl
ckNvb3JkaW5hdGUueCgpIC0gdGlsZUNvb3JkaW5hdGUueCgpKTsKIH0KIAorSW50UG9pbnQgVGls
ZWREcmF3aW5nQXJlYVRpbGU6OnByZWNpc2VCb3R0b21SaWdodChjb25zdCBJbnRSZWN0JiByZWN0
KQoreworICAgIC8vIEFjdHVhbGx5LCB0aGUgcmVjdCBkb2VzIG5vdCBjb250YWluIHJlY3QubWF4
WCgpLiBSZWZlciB0byBJbnRSZWN0Ojpjb250YWluLgorICAgIHJldHVybiBJbnRQb2ludChyZWN0
Lm1heFgoKSAtIDEsIHJlY3QubWF4WSgpIC0gMSk7Cit9CisKIEludFJlY3QgVGlsZWREcmF3aW5n
QXJlYVByb3h5OjpjYWxjdWxhdGVLZWVwUmVjdChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCkg
Y29uc3QKIHsKICAgICBJbnRSZWN0IHJlc3VsdCA9IHZpc2libGVSZWN0OwpAQCAtMzc0LDcgKzM4
MCw3IEBAIHZvaWQgVGlsZWREcmF3aW5nQXJlYVByb3h5OjpjcmVhdGVUaWxlcygpCiAgICAgdW5z
aWduZWQgcmVxdWlyZWRUaWxlQ291bnQgPSAwOwogICAgIGJvb2wgaGFzVmlzaWJsZUNoZWNrZXJz
ID0gZmFsc2U7CiAgICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9
IHRpbGVDb29yZGluYXRlRm9yUG9pbnQodmlzaWJsZVJlY3QubG9jYXRpb24oKSk7Ci0gICAgVGls
ZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0
ZUZvclBvaW50KEludFBvaW50KHZpc2libGVSZWN0Lm1heFgoKSwgdmlzaWJsZVJlY3QubWF4WSgp
KSk7CisgICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0
aWxlQ29vcmRpbmF0ZUZvclBvaW50KHByZWNpc2VCb3R0b21SaWdodCh2aXNpYmxlUmVjdCkpOwog
ICAgIGZvciAodW5zaWduZWQgeUNvb3JkaW5hdGUgPSB0b3BMZWZ0LnkoKTsgeUNvb3JkaW5hdGUg
PD0gYm90dG9tUmlnaHQueSgpOyArK3lDb29yZGluYXRlKSB7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgeENvb3JkaW5hdGUgPSB0b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQu
eCgpOyArK3hDb29yZGluYXRlKSB7CiAgICAgICAgICAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6
Q29vcmRpbmF0ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5oCmlu
ZGV4IGMxYmU2YWUuLjA5OGNiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9UaWxlZERyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
VGlsZWREcmF3aW5nQXJlYVByb3h5LmgKQEAgLTE1MSw2ICsxNTEsOCBAQCBwcml2YXRlOgogICAg
IFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIHRpbGVDb29yZGluYXRlRm9yUG9pbnQo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBjb25zdDsKICAgICBkb3VibGUgdGlsZURpc3RhbmNl
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZXdwb3J0LCBjb25zdCBUaWxlZERyYXdpbmdBcmVh
VGlsZTo6Q29vcmRpbmF0ZSYpOwogCisgICAgV2ViQ29yZTo6SW50UG9pbnQgcHJlY2lzZUJvdHRv
bVJpZ2h0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKwogcHJpdmF0ZToKICAgICBib29sIG1f
aXNXYWl0aW5nRm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb247CiAgICAgYm9vbCBtX2lzVmlzaWJs
ZTsKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98285</attachid>
            <date>2011-06-22 18:28:52 -0700</date>
            <delta_ts>2011-06-22 18:31:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-TiledBackingStore-endlessly-creates-and-destroys-til.patch</filename>
            <type>text/plain</type>
            <size>9978</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBjNzM0NzQ4ZGI2YjQzMzUwYjQ2N2IyMzM4ZjFmNzJlNWI4OWU1M2JkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IFRodSwgMjMgSnVuIDIwMTEgMTA6MjI6NDEgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMg
ZHVlIHRvIGFuIG9mZi1ieS1vbmUKIGVycm9yLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyNDIyCgpSRUdSRVNTSU9OKHI3NzI4Nik6IFJlbW92ZSBib3R0b21SaWdo
dCgpLgpSRUdSRVNTSU9OKHI3NzMxMik6IENoYW5nZSB0aGUgbG9naWMgdG8gZ2V0IHRoZSBib3R0
b20gcmlnaHQgcG9pbnQuClJFR1JFU1NJT04ocjc3OTI4KTogQ2F1c2Ugb2ZmLWJ5LW9uZSBlcnJv
ciBpbiBUaWxlZEJhY2tpbmdTdG9yZS4KUkVHUkVTU0lPTihyNzg3ODMpOiBDYXVzZSBvZmYtYnkt
b25lIGVycm9yIGluIFRpbGVkRHJhd2luZ0FyZWFQcm94eS4KUkVHUkVTU0lPTihyNzg3ODUpOiBD
YXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkRHJhd2luZ0FyZWFQcm94eS4KCklmIHRoZSB2
aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5IGluIHRo
ZSBtb2JpbGUKZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQg
ZGVsZXRlcyB0aGUgcmlnaHRtb3N0CmNvbHVtbiBhbmQgYm90dG9tIHJvdyBvZiB0aWxlcy4KSW4g
dGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6
Y3JlYXRlVGlsZXMoKQpkZWxldGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6
OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkgY3JlYXRlcwp0aWxlcyBpbmZpbml0ZWx5LgpNb2Rp
ZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjggKysrKysrKysrKysrKysrKysr
KysKIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAgICAgICAgIHwg
ICAxMyArKysrKysrLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAyOCArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAgfCAgIDEyICsrKysrKy0tCiA0IGZpbGVz
IGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGM3NDQ1OGEuLjcxYjE2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wNi0y
MiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxlZEJhY2tpbmdTdG9yZSBl
bmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRvIGFuIG9mZi1ieS1vbmUK
KyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04ocjc3Mjg2KTogUmVtb3ZlIGJvdHRv
bVJpZ2h0KCkuCisgICAgICAgIFJFR1JFU1NJT04ocjc3MzEyKTogQ2hhbmdlIHRoZSBsb2dpYyB0
byBnZXQgdGhlIGJvdHRvbSByaWdodCBwb2ludC4KKyAgICAgICAgUkVHUkVTU0lPTihyNzc5Mjgp
OiBDYXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkQmFja2luZ1N0b3JlLgorICAgICAgICBS
RUdSRVNTSU9OKHI3ODc4Myk6IENhdXNlIG9mZi1ieS1vbmUgZXJyb3IgaW4gVGlsZWREcmF3aW5n
QXJlYVByb3h5LgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4NSk6IENhdXNlIG9mZi1ieS1vbmUg
ZXJyb3IgaW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorCisgICAgICAgIElmIHRoZSB2aWV3cG9y
dCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5IGluIHRoZSBtb2Jp
bGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBh
bmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBhbmQgYm90dG9tIHJvdyBv
ZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBp
biBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQorICAgICAgICBkZWxldGVzIHRpbGVz
IGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkg
Y3JlYXRlcworICAgICAgICB0aWxlcyBpbmZpbml0ZWx5LgorICAgICAgICBNb2RpZmllZCBUaWxl
ZERyYXdpbmdBcmVhUHJveHkgYWxzby4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubmVyQm90dG9tUmlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisKIDIwMTEtMDYtMTIgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYWM3ZTljNi4uZGQ5MDhjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcApA
QCAtMzAsNiArMzAsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBk
ZWZhdWx0VGlsZVdpZHRoID0gNTEyOwogc3RhdGljIGNvbnN0IGludCBkZWZhdWx0VGlsZUhlaWdo
dCA9IDUxMjsKIAorc3RhdGljIEludFBvaW50IGlubmVyQm90dG9tUmlnaHQoY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICAvLyBBY3R1YWxseSwgdGhlIHJlY3QgZG9lcyBub3QgY29udGFpbiBy
ZWN0Lm1heFgoKS4gUmVmZXIgdG8gSW50UmVjdDo6Y29udGFpbi4KKyAgICByZXR1cm4gSW50UG9p
bnQocmVjdC5tYXhYKCkgLSAxLCByZWN0Lm1heFkoKSAtIDEpOworfQorCisKIFRpbGVkQmFja2lu
Z1N0b3JlOjpUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCogY2xpZW50
KQogICAgIDogbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aWxlQnVmZmVyVXBkYXRlVGltZXIo
bmV3IFRpbGVUaW1lcih0aGlzLCAmVGlsZWRCYWNraW5nU3RvcmU6OnRpbGVCdWZmZXJVcGRhdGVU
aW1lckZpcmVkKSkKQEAgLTc0LDcgKzgxLDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52
YWxpZGF0ZShjb25zdCBJbnRSZWN0JiBjb250ZW50c0RpcnR5UmVjdCkKICAgICBJbnRSZWN0IGRp
cnR5UmVjdChtYXBGcm9tQ29udGVudHMoY29udGVudHNEaXJ0eVJlY3QpKTsKICAgICAKICAgICBU
aWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVj
dC5sb2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNv
b3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4
WSgpKSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRl
Rm9yUG9pbnQoaW5uZXJCb3R0b21SaWdodChkaXJ0eVJlY3QpKTsKICAgICAKICAgICBmb3IgKHVu
c2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJp
Z2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIHhDb29yZGlu
YXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29v
cmRpbmF0ZSkgewpAQCAtMTMzLDcgKzE0MCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBJ
bnRSZWN0IGRpcnR5UmVjdCA9IG1hcEZyb21Db250ZW50cyhyZWN0KTsKICAgICAKICAgICBUaWxl
OjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5s
b2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3Jk
aW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgp
KSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9y
UG9pbnQoaW5uZXJCb3R0b21SaWdodChkaXJ0eVJlY3QpKTsKIAogICAgIGZvciAodW5zaWduZWQg
eUNvb3JkaW5hdGUgPSB0b3BMZWZ0LnkoKTsgeUNvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueSgp
OyArK3lDb29yZGluYXRlKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgeENvb3JkaW5hdGUgPSB0
b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueCgpOyArK3hDb29yZGluYXRl
KSB7CkBAIC0yMzAsNyArMjM3LDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGls
ZXMoKQogICAgIFZlY3RvcjxUaWxlOjpDb29yZGluYXRlPiB0aWxlc1RvQ3JlYXRlOwogICAgIHVu
c2lnbmVkIHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAgICBUaWxlOjpDb29yZGluYXRlIHRvcExl
ZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNvdmVyUmVjdC5sb2NhdGlvbigpKTsKLSAgICBU
aWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQ
b2ludChjb3ZlclJlY3QubWF4WCgpLCBjb3ZlclJlY3QubWF4WSgpKSk7CisgICAgVGlsZTo6Q29v
cmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoaW5uZXJCb3R0b21S
aWdodChjb3ZlclJlY3QpKTsKICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVm
dC55KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewog
ICAgICAgICBmb3IgKHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGlu
YXRlIDw9IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgVGls
ZTo6Q29vcmRpbmF0ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGY5ZTkzM2EuLjVkZTg4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MSBAQAorMjAxMS0wNi0yMiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5l
dD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxl
ZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRv
IGFuIG9mZi1ieS1vbmUKKyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04ocjc3Mjg2
KTogUmVtb3ZlIGJvdHRvbVJpZ2h0KCkuCisgICAgICAgIFJFR1JFU1NJT04ocjc3MzEyKTogQ2hh
bmdlIHRoZSBsb2dpYyB0byBnZXQgdGhlIGJvdHRvbSByaWdodCBwb2ludC4KKyAgICAgICAgUkVH
UkVTU0lPTihyNzc5MjgpOiBDYXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkQmFja2luZ1N0
b3JlLgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4Myk6IENhdXNlIG9mZi1ieS1vbmUgZXJyb3Ig
aW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4NSk6IENh
dXNlIG9mZi1ieS1vbmUgZXJyb3IgaW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorCisgICAgICAg
IElmIHRoZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lh
bGx5IGluIHRoZSBtb2JpbGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRs
ZXNzbHkgY3JlYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBh
bmQgYm90dG9tIHJvdyBvZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVz
T3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQorICAgICAg
ICBkZWxldGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlz
LCBjb29yZGluYXRlKSkgY3JlYXRlcworICAgICAgICB0aWxlcyBpbmZpbml0ZWx5LgorICAgICAg
ICBNb2RpZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0Ojppbm5lckJv
dHRvbVJpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjppbnZh
bGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjpwYWludCk6
CisgICAgICAgIChXZWJLaXQ6OlRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlVGlsZXMpOgor
CiAyMDExLTA2LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggZDUyMWFiNy4uN2E2NzMx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogc3RhdGljIGNv
bnN0IGludCBkZWZhdWx0VGlsZVdpZHRoID0gMTAyNDsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVs
dFRpbGVIZWlnaHQgPSAxMDI0OwogCitzdGF0aWMgSW50UG9pbnQgaW5uZXJCb3R0b21SaWdodChj
b25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIC8vIEFjdHVhbGx5LCB0aGUgcmVjdCBkb2VzIG5v
dCBjb250YWluIHJlY3QubWF4WCgpLiBSZWZlciB0byBJbnRSZWN0Ojpjb250YWluLgorICAgIHJl
dHVybiBJbnRQb2ludChyZWN0Lm1heFgoKSAtIDEsIHJlY3QubWF4WSgpIC0gMSk7Cit9CisKIFBh
c3NPd25QdHI8VGlsZWREcmF3aW5nQXJlYVByb3h5PiBUaWxlZERyYXdpbmdBcmVhUHJveHk6OmNy
ZWF0ZShQbGF0Zm9ybVdlYlZpZXcqIHdlYlZpZXcsIFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5
KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGlsZWREcmF3aW5nQXJlYVByb3h5KHdlYlZp
ZXcsIHdlYlBhZ2VQcm94eSkpOwpAQCAtMTc5LDcgKzE4NSw3IEBAIHZvaWQgVGlsZWREcmF3aW5n
QXJlYVByb3h5OjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGNvbnRlbnRzRGlydHlSZWN0KQog
ICAgIEludFJlY3QgZGlydHlSZWN0KG1hcEZyb21Db250ZW50cyhjb250ZW50c0RpcnR5UmVjdCkp
OwogCiAgICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVD
b29yZGluYXRlRm9yUG9pbnQoZGlydHlSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGVkRHJhd2lu
Z0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2lu
dChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgpKSk7CisgICAgVGls
ZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0
ZUZvclBvaW50KGlubmVyQm90dG9tUmlnaHQoZGlydHlSZWN0KSk7CiAKICAgICBJbnRSZWN0IGNv
dmVyUmVjdCA9IGNhbGN1bGF0ZUNvdmVyUmVjdChtX3ByZXZpb3VzVmlzaWJsZVJlY3QpOwogCkBA
IC0yNzcsNyArMjgzLDcgQEAgYm9vbCBUaWxlZERyYXdpbmdBcmVhUHJveHk6OnBhaW50KGNvbnN0
IEludFJlY3QmIHJlY3QsIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQgY28KICAgICBJbnRSZWN0IGRp
cnR5UmVjdCA9IG1hcEZyb21Db250ZW50cyhyZWN0KTsKIAogICAgIFRpbGVkRHJhd2luZ0FyZWFU
aWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVj
dC5sb2NhdGlvbigpKTsKLSAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0ZSBib3R0
b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgo
KSwgZGlydHlSZWN0Lm1heFkoKSkpOworICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChpbm5lckJvdHRvbVJpZ2h0
KGRpcnR5UmVjdCkpOwogCiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQu
eSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAg
ICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0
ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTM3NCw3ICszODAsNyBA
QCB2b2lkIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlVGlsZXMoKQogICAgIHVuc2lnbmVk
IHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAgICBib29sIGhhc1Zpc2libGVDaGVja2VycyA9IGZh
bHNlOwogICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxl
Q29vcmRpbmF0ZUZvclBvaW50KHZpc2libGVSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGVkRHJh
d2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQ
b2ludChJbnRQb2ludCh2aXNpYmxlUmVjdC5tYXhYKCksIHZpc2libGVSZWN0Lm1heFkoKSkpOwor
ICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNv
b3JkaW5hdGVGb3JQb2ludChpbm5lckJvdHRvbVJpZ2h0KHZpc2libGVSZWN0KSk7CiAgICAgZm9y
ICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0
b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29v
cmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsr
eENvb3JkaW5hdGUpIHsKICAgICAgICAgICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGN1cnJlbnRDb29yZGluYXRlKHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSk7Ci0tIAoxLjcu
MQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98286</attachid>
            <date>2011-06-22 18:31:15 -0700</date>
            <delta_ts>2011-06-27 01:11:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-TiledBackingStore-endlessly-creates-and-destroys-til.patch</filename>
            <type>text/plain</type>
            <size>9978</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBjNzM0NzQ4ZGI2YjQzMzUwYjQ2N2IyMzM4ZjFmNzJlNWI4OWU1M2JkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IFRodSwgMjMgSnVuIDIwMTEgMTA6MjI6NDEgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMg
ZHVlIHRvIGFuIG9mZi1ieS1vbmUKIGVycm9yLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyNDIyCgpSRUdSRVNTSU9OKHI3NzI4Nik6IFJlbW92ZSBib3R0b21SaWdo
dCgpLgpSRUdSRVNTSU9OKHI3NzMxMik6IENoYW5nZSB0aGUgbG9naWMgdG8gZ2V0IHRoZSBib3R0
b20gcmlnaHQgcG9pbnQuClJFR1JFU1NJT04ocjc3OTI4KTogQ2F1c2Ugb2ZmLWJ5LW9uZSBlcnJv
ciBpbiBUaWxlZEJhY2tpbmdTdG9yZS4KUkVHUkVTU0lPTihyNzg3ODMpOiBDYXVzZSBvZmYtYnkt
b25lIGVycm9yIGluIFRpbGVkRHJhd2luZ0FyZWFQcm94eS4KUkVHUkVTU0lPTihyNzg3ODUpOiBD
YXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkRHJhd2luZ0FyZWFQcm94eS4KCklmIHRoZSB2
aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5IGluIHRo
ZSBtb2JpbGUKZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQg
ZGVsZXRlcyB0aGUgcmlnaHRtb3N0CmNvbHVtbiBhbmQgYm90dG9tIHJvdyBvZiB0aWxlcy4KSW4g
dGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6
Y3JlYXRlVGlsZXMoKQpkZWxldGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6
OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkgY3JlYXRlcwp0aWxlcyBpbmZpbml0ZWx5LgpNb2Rp
ZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjggKysrKysrKysrKysrKysrKysr
KysKIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAgICAgICAgIHwg
ICAxMyArKysrKysrLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAyOCArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAgfCAgIDEyICsrKysrKy0tCiA0IGZpbGVz
IGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGM3NDQ1OGEuLjcxYjE2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wNi0y
MiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxlZEJhY2tpbmdTdG9yZSBl
bmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRvIGFuIG9mZi1ieS1vbmUK
KyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04ocjc3Mjg2KTogUmVtb3ZlIGJvdHRv
bVJpZ2h0KCkuCisgICAgICAgIFJFR1JFU1NJT04ocjc3MzEyKTogQ2hhbmdlIHRoZSBsb2dpYyB0
byBnZXQgdGhlIGJvdHRvbSByaWdodCBwb2ludC4KKyAgICAgICAgUkVHUkVTU0lPTihyNzc5Mjgp
OiBDYXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkQmFja2luZ1N0b3JlLgorICAgICAgICBS
RUdSRVNTSU9OKHI3ODc4Myk6IENhdXNlIG9mZi1ieS1vbmUgZXJyb3IgaW4gVGlsZWREcmF3aW5n
QXJlYVByb3h5LgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4NSk6IENhdXNlIG9mZi1ieS1vbmUg
ZXJyb3IgaW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorCisgICAgICAgIElmIHRoZSB2aWV3cG9y
dCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lhbGx5IGluIHRoZSBtb2Jp
bGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBh
bmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBhbmQgYm90dG9tIHJvdyBv
ZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVzT3V0c2lkZVJlY3QoKSBp
biBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQorICAgICAgICBkZWxldGVzIHRpbGVz
IGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlzLCBjb29yZGluYXRlKSkg
Y3JlYXRlcworICAgICAgICB0aWxlcyBpbmZpbml0ZWx5LgorICAgICAgICBNb2RpZmllZCBUaWxl
ZERyYXdpbmdBcmVhUHJveHkgYWxzby4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubmVyQm90dG9tUmlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6CisKIDIwMTEtMDYtMTIgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggYWM3ZTljNi4uZGQ5MDhjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcApA
QCAtMzAsNiArMzAsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBk
ZWZhdWx0VGlsZVdpZHRoID0gNTEyOwogc3RhdGljIGNvbnN0IGludCBkZWZhdWx0VGlsZUhlaWdo
dCA9IDUxMjsKIAorc3RhdGljIEludFBvaW50IGlubmVyQm90dG9tUmlnaHQoY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICAvLyBBY3R1YWxseSwgdGhlIHJlY3QgZG9lcyBub3QgY29udGFpbiBy
ZWN0Lm1heFgoKS4gUmVmZXIgdG8gSW50UmVjdDo6Y29udGFpbi4KKyAgICByZXR1cm4gSW50UG9p
bnQocmVjdC5tYXhYKCkgLSAxLCByZWN0Lm1heFkoKSAtIDEpOworfQorCisKIFRpbGVkQmFja2lu
Z1N0b3JlOjpUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCogY2xpZW50
KQogICAgIDogbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aWxlQnVmZmVyVXBkYXRlVGltZXIo
bmV3IFRpbGVUaW1lcih0aGlzLCAmVGlsZWRCYWNraW5nU3RvcmU6OnRpbGVCdWZmZXJVcGRhdGVU
aW1lckZpcmVkKSkKQEAgLTc0LDcgKzgxLDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6aW52
YWxpZGF0ZShjb25zdCBJbnRSZWN0JiBjb250ZW50c0RpcnR5UmVjdCkKICAgICBJbnRSZWN0IGRp
cnR5UmVjdChtYXBGcm9tQ29udGVudHMoY29udGVudHNEaXJ0eVJlY3QpKTsKICAgICAKICAgICBU
aWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVj
dC5sb2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNv
b3JkaW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4
WSgpKSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRl
Rm9yUG9pbnQoaW5uZXJCb3R0b21SaWdodChkaXJ0eVJlY3QpKTsKICAgICAKICAgICBmb3IgKHVu
c2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJp
Z2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIHhDb29yZGlu
YXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29v
cmRpbmF0ZSkgewpAQCAtMTMzLDcgKzE0MCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBJ
bnRSZWN0IGRpcnR5UmVjdCA9IG1hcEZyb21Db250ZW50cyhyZWN0KTsKICAgICAKICAgICBUaWxl
OjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5s
b2NhdGlvbigpKTsKLSAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3Jk
aW5hdGVGb3JQb2ludChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgp
KSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9y
UG9pbnQoaW5uZXJCb3R0b21SaWdodChkaXJ0eVJlY3QpKTsKIAogICAgIGZvciAodW5zaWduZWQg
eUNvb3JkaW5hdGUgPSB0b3BMZWZ0LnkoKTsgeUNvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueSgp
OyArK3lDb29yZGluYXRlKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgeENvb3JkaW5hdGUgPSB0
b3BMZWZ0LngoKTsgeENvb3JkaW5hdGUgPD0gYm90dG9tUmlnaHQueCgpOyArK3hDb29yZGluYXRl
KSB7CkBAIC0yMzAsNyArMjM3LDcgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGls
ZXMoKQogICAgIFZlY3RvcjxUaWxlOjpDb29yZGluYXRlPiB0aWxlc1RvQ3JlYXRlOwogICAgIHVu
c2lnbmVkIHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAgICBUaWxlOjpDb29yZGluYXRlIHRvcExl
ZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNvdmVyUmVjdC5sb2NhdGlvbigpKTsKLSAgICBU
aWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChJbnRQ
b2ludChjb3ZlclJlY3QubWF4WCgpLCBjb3ZlclJlY3QubWF4WSgpKSk7CisgICAgVGlsZTo6Q29v
cmRpbmF0ZSBib3R0b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoaW5uZXJCb3R0b21S
aWdodChjb3ZlclJlY3QpKTsKICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVm
dC55KCk7IHlDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewog
ICAgICAgICBmb3IgKHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGlu
YXRlIDw9IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgVGls
ZTo6Q29vcmRpbmF0ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGY5ZTkzM2EuLjVkZTg4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MSBAQAorMjAxMS0wNi0yMiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5l
dD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaWxl
ZEJhY2tpbmdTdG9yZSBlbmRsZXNzbHkgY3JlYXRlcyBhbmQgZGVzdHJveXMgdGlsZXMgZHVlIHRv
IGFuIG9mZi1ieS1vbmUKKyAgICAgICAgZXJyb3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQyMgorCisgICAgICAgIFJFR1JFU1NJT04ocjc3Mjg2
KTogUmVtb3ZlIGJvdHRvbVJpZ2h0KCkuCisgICAgICAgIFJFR1JFU1NJT04ocjc3MzEyKTogQ2hh
bmdlIHRoZSBsb2dpYyB0byBnZXQgdGhlIGJvdHRvbSByaWdodCBwb2ludC4KKyAgICAgICAgUkVH
UkVTU0lPTihyNzc5MjgpOiBDYXVzZSBvZmYtYnktb25lIGVycm9yIGluIFRpbGVkQmFja2luZ1N0
b3JlLgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4Myk6IENhdXNlIG9mZi1ieS1vbmUgZXJyb3Ig
aW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorICAgICAgICBSRUdSRVNTSU9OKHI3ODc4NSk6IENh
dXNlIG9mZi1ieS1vbmUgZXJyb3IgaW4gVGlsZWREcmF3aW5nQXJlYVByb3h5LgorCisgICAgICAg
IElmIHRoZSB2aWV3cG9ydCB3aWR0aCBlcXVhbHMgdGhlIGNvbnRlbnRzIHdpZHRoLCBlc3BlY2lh
bGx5IGluIHRoZSBtb2JpbGUKKyAgICAgICAgZGV2aWNlLCBUaWxlZEJhY2tpbmdTdG9yZSBlbmRs
ZXNzbHkgY3JlYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmlnaHRtb3N0CisgICAgICAgIGNvbHVtbiBh
bmQgYm90dG9tIHJvdyBvZiB0aWxlcy4KKyAgICAgICAgSW4gdGhlIGRldGFpbCwgZHJvcFRpbGVz
T3V0c2lkZVJlY3QoKSBpbiBUaWxlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQorICAgICAg
ICBkZWxldGVzIHRpbGVzIGFuZCBzZXRUaWxlKGNvb3JkaW5hdGUsIFRpbGU6OmNyZWF0ZSh0aGlz
LCBjb29yZGluYXRlKSkgY3JlYXRlcworICAgICAgICB0aWxlcyBpbmZpbml0ZWx5LgorICAgICAg
ICBNb2RpZmllZCBUaWxlZERyYXdpbmdBcmVhUHJveHkgYWxzby4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0Ojppbm5lckJv
dHRvbVJpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjppbnZh
bGlkYXRlKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWREcmF3aW5nQXJlYVByb3h5OjpwYWludCk6
CisgICAgICAgIChXZWJLaXQ6OlRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlVGlsZXMpOgor
CiAyMDExLTA2LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9UaWxlZERyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggZDUyMWFiNy4uN2E2NzMx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1RpbGVkRHJhd2luZ0FyZWFQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogc3RhdGljIGNv
bnN0IGludCBkZWZhdWx0VGlsZVdpZHRoID0gMTAyNDsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVs
dFRpbGVIZWlnaHQgPSAxMDI0OwogCitzdGF0aWMgSW50UG9pbnQgaW5uZXJCb3R0b21SaWdodChj
b25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIC8vIEFjdHVhbGx5LCB0aGUgcmVjdCBkb2VzIG5v
dCBjb250YWluIHJlY3QubWF4WCgpLiBSZWZlciB0byBJbnRSZWN0Ojpjb250YWluLgorICAgIHJl
dHVybiBJbnRQb2ludChyZWN0Lm1heFgoKSAtIDEsIHJlY3QubWF4WSgpIC0gMSk7Cit9CisKIFBh
c3NPd25QdHI8VGlsZWREcmF3aW5nQXJlYVByb3h5PiBUaWxlZERyYXdpbmdBcmVhUHJveHk6OmNy
ZWF0ZShQbGF0Zm9ybVdlYlZpZXcqIHdlYlZpZXcsIFdlYlBhZ2VQcm94eSogd2ViUGFnZVByb3h5
KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGlsZWREcmF3aW5nQXJlYVByb3h5KHdlYlZp
ZXcsIHdlYlBhZ2VQcm94eSkpOwpAQCAtMTc5LDcgKzE4NSw3IEBAIHZvaWQgVGlsZWREcmF3aW5n
QXJlYVByb3h5OjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGNvbnRlbnRzRGlydHlSZWN0KQog
ICAgIEludFJlY3QgZGlydHlSZWN0KG1hcEZyb21Db250ZW50cyhjb250ZW50c0RpcnR5UmVjdCkp
OwogCiAgICAgVGlsZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgdG9wTGVmdCA9IHRpbGVD
b29yZGluYXRlRm9yUG9pbnQoZGlydHlSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGVkRHJhd2lu
Z0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2lu
dChJbnRQb2ludChkaXJ0eVJlY3QubWF4WCgpLCBkaXJ0eVJlY3QubWF4WSgpKSk7CisgICAgVGls
ZWREcmF3aW5nQXJlYVRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0
ZUZvclBvaW50KGlubmVyQm90dG9tUmlnaHQoZGlydHlSZWN0KSk7CiAKICAgICBJbnRSZWN0IGNv
dmVyUmVjdCA9IGNhbGN1bGF0ZUNvdmVyUmVjdChtX3ByZXZpb3VzVmlzaWJsZVJlY3QpOwogCkBA
IC0yNzcsNyArMjgzLDcgQEAgYm9vbCBUaWxlZERyYXdpbmdBcmVhUHJveHk6OnBhaW50KGNvbnN0
IEludFJlY3QmIHJlY3QsIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQgY28KICAgICBJbnRSZWN0IGRp
cnR5UmVjdCA9IG1hcEZyb21Db250ZW50cyhyZWN0KTsKIAogICAgIFRpbGVkRHJhd2luZ0FyZWFU
aWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVj
dC5sb2NhdGlvbigpKTsKLSAgICBUaWxlZERyYXdpbmdBcmVhVGlsZTo6Q29vcmRpbmF0ZSBib3R0
b21SaWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoSW50UG9pbnQoZGlydHlSZWN0Lm1heFgo
KSwgZGlydHlSZWN0Lm1heFkoKSkpOworICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChpbm5lckJvdHRvbVJpZ2h0
KGRpcnR5UmVjdCkpOwogCiAgICAgZm9yICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQu
eSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAg
ICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0
ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENvb3JkaW5hdGUpIHsKQEAgLTM3NCw3ICszODAsNyBA
QCB2b2lkIFRpbGVkRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRlVGlsZXMoKQogICAgIHVuc2lnbmVk
IHJlcXVpcmVkVGlsZUNvdW50ID0gMDsKICAgICBib29sIGhhc1Zpc2libGVDaGVja2VycyA9IGZh
bHNlOwogICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxl
Q29vcmRpbmF0ZUZvclBvaW50KHZpc2libGVSZWN0LmxvY2F0aW9uKCkpOwotICAgIFRpbGVkRHJh
d2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQ
b2ludChJbnRQb2ludCh2aXNpYmxlUmVjdC5tYXhYKCksIHZpc2libGVSZWN0Lm1heFkoKSkpOwor
ICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNv
b3JkaW5hdGVGb3JQb2ludChpbm5lckJvdHRvbVJpZ2h0KHZpc2libGVSZWN0KSk7CiAgICAgZm9y
ICh1bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0
b21SaWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29v
cmRpbmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsr
eENvb3JkaW5hdGUpIHsKICAgICAgICAgICAgIFRpbGVkRHJhd2luZ0FyZWFUaWxlOjpDb29yZGlu
YXRlIGN1cnJlbnRDb29yZGluYXRlKHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSk7Ci0tIAoxLjcu
MQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>