<?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>147405</bug_id>
          
          <creation_ts>2015-07-29 08:20:04 -0700</creation_ts>
          <short_desc>Checkboxes and radio buttons should scale when zooming or pinching to zoom</short_desc>
          <delta_ts>2023-01-05 10:21:55 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=249878</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1113086</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-29 08:20:04 -0700</bug_when>
    <thetext>When zooming (cmd +/-) or pinching to zoom with the trackpad, checkboxes and radio buttons should scale up in size instead of remaining at a fixed size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113087</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-29 08:20:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/20438171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113103</commentid>
    <comment_count>2</comment_count>
      <attachid>257754</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-29 10:13:02 -0700</bug_when>
    <thetext>Created attachment 257754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113137</commentid>
    <comment_count>3</comment_count>
      <attachid>257754</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-29 12:16:36 -0700</bug_when>
    <thetext>Comment on attachment 257754
Patch

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

&gt; Source/WebCore/platform/mac/ThemeMac.mm:412
&gt; +        imageBuffer.release();

This shouldn&apos;t be necessary. What is going on here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113157</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-29 13:46:13 -0700</bug_when>
    <thetext>Holding off on this until we understand why latter elements of the same size paint to existing IOSurfaces and make us render things incorrectly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113159</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-07-29 13:54:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 257754 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257754&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mac/ThemeMac.mm:412
&gt; &gt; +        imageBuffer.release();
&gt; 
&gt; This shouldn&apos;t be necessary. What is going on here?

&quot;Shouldn&apos;t be necessary&quot; -&gt; &quot;is a leak&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113820</commentid>
    <comment_count>6</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-31 13:26:59 -0700</bug_when>
    <thetext>This will be unblocked when http://trac.webkit.org/changeset/181301 is rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113876</commentid>
    <comment_count>7</comment_count>
      <attachid>257964</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-07-31 15:01:11 -0700</bug_when>
    <thetext>Created attachment 257964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114746</commentid>
    <comment_count>8</comment_count>
      <attachid>257964</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-08-04 13:36:08 -0700</bug_when>
    <thetext>Comment on attachment 257964
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        (WebCore::paintToggleButton): Refactored to use drawCellOrFocusRingWithViewOntoContext.
&gt; +        (WebCore::paintButton): Refactored to use drawCellOrFocusRingWithViewOntoContext.

Onto -&gt; Into or With?

&gt; Source/WebCore/platform/mac/ThemeMac.mm:681
&gt; +        std::unique_ptr&lt;ImageBuffer&gt; imageBuffer = ImageBuffer::createCompatibleBuffer(inflatedRect.size() + 2 * FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth), deviceScaleFactor, ColorSpaceDeviceRGB, context, false);
&gt; +        {
&gt; +            LocalCurrentGraphicsContext localContext(imageBuffer-&gt;context());
&gt; +            if (drawButtonCell)
&gt; +                [cell drawWithFrame:imageBufferDrawRect inView:view];
&gt; +            
&gt; +            if (drawFocusRing)
&gt; +                needsRepaint = drawCellFocusRing(cell.get(), imageBufferDrawRect, view);
&gt; +        }
&gt; +        context-&gt;drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth));

We should ask Tim here, but I wonder if we want ColorSpaceSRGB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114765</commentid>
    <comment_count>9</comment_count>
      <attachid>257964</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-04 14:02:49 -0700</bug_when>
    <thetext>Comment on attachment 257964
Patch

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

&gt;&gt; Source/WebCore/platform/mac/ThemeMac.mm:681
&gt;&gt; +        context-&gt;drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth));
&gt; 
&gt; We should ask Tim here, but I wonder if we want ColorSpaceSRGB.

Couldn&apos;t get to Tim, but I asked Simon and he recommended ColorSpaceSRGB over device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114767</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-04 14:10:08 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 257964 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257964&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/mac/ThemeMac.mm:681
&gt; &gt;&gt; +        context-&gt;drawImageBuffer(imageBuffer.get(), ColorSpaceDeviceRGB, inflatedRect.location() - FloatSize(buttonFocusRectOutlineWidth, buttonFocusRectOutlineWidth));
&gt; &gt; 
&gt; &gt; We should ask Tim here, but I wonder if we want ColorSpaceSRGB.
&gt; 
&gt; Couldn&apos;t get to Tim, but I asked Simon and he recommended ColorSpaceSRGB
&gt; over device.

It is somewhat surprising to start using ColorSpaceSRGB before we switch it everywhere, but it doesn&apos;t matter either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115015</commentid>
    <comment_count>11</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-05 09:03:25 -0700</bug_when>
    <thetext>Committed r187961: &lt;http://trac.webkit.org/changeset/187961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115022</commentid>
    <comment_count>12</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2015-08-05 09:19:39 -0700</bug_when>
    <thetext>Build fix in r187963</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257754</attachid>
            <date>2015-07-29 10:13:02 -0700</date>
            <delta_ts>2015-07-31 15:01:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147405-20150729101138.patch</filename>
            <type>text/plain</type>
            <size>9646</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY2OWFjMmMyOGMxMDZh
YTlhMDgxYjhjZmJlOGZkNWRkMGNmMWQ3YS4uMzAxMjQ3ZTZlMTZjNGYwMzczYjhjZTQyMjRmZDJk
NmE5YTRkYzhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA3LTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENoZWNrYm94ZXMg
YW5kIHJhZGlvIGJ1dHRvbnMgc2hvdWxkIHNjYWxlIHdoZW4gem9vbWluZyBvciBwaW5jaGluZyB0
byB6b29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDc0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZWZhY3RvcnMgcGFpbnRCdXR0b24gYW5kIHBhaW50VG9nZ2xlQnV0dG9uIHRvIHVzZSBhIHRlbXBv
cmFyeSBidWZmZXIgd2hlbiByZW5kZXJpbmcKKyAgICAgICAgaWYgdGhlIGNvbnRyb2xzIGFyZSB6
b29tZWQuIFRoaXMgYWZmZWN0cyBjaGVja2JveGVzLCByYWRpbyBidXR0b25zLCBhbmQgbm9ybWFs
IChwdXNoKQorICAgICAgICBidXR0b25zLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1l
TWFjLm1tOiAKKyAgICAgICAgKFdlYkNvcmU6OmJ1dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCk6
IE1vdmVkIHRoaXMgZnVuY3Rpb24gdXAuCisgICAgICAgIChXZWJDb3JlOjpkcmF3QnV0dG9uQ2Vs
bE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dCk6IERyYXdzIGEgZ2l2ZW4gYnV0dG9uIGNl
bGwgYW5kLworICAgICAgICAgICAgb3IgaXRzIGZvY3VzIHJpbmcgb250byB0aGUgZ2l2ZW4gY29u
dGV4dCwgb3B0aW9uYWxseSB1c2luZyBhbiBvZmZzY3JlZW4gYnVmZmVyLgorICAgICAgICAoV2Vi
Q29yZTo6cGFpbnRUb2dnbGVCdXR0b24pOiBSZWZhY3RvcmVkIHRvIHVzZSBkcmF3QnV0dG9uQ2Vs
bE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dAorICAgICAgICAoV2ViQ29yZTo6cGFpbnRC
dXR0b24pOiBSZWZhY3RvcmVkIHRvIHVzZSBkcmF3QnV0dG9uQ2VsbE9yRm9jdXNSaW5nV2l0aFZp
ZXdPbnRvQ29udGV4dAorICAgICAgICAoV2ViQ29yZTo6VGhlbWVNYWM6OnBhaW50KToKKwogMjAx
NS0wNy0yOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBD
bGVhbiB1cCB1c2VzQXN5bmNDYWxsYmFja3MgaGFuZGxpbmcgaW4gUmVzb3VyY2VIYW5kbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5tbQppbmRleCBmNDlkMWU2NDUxYTA0M2Q4
M2JlOWY3ZGY5MTNlMWZlN2QzMDgxMWU2Li42OTE2OTE0YmYwODllZTlkYjU1NGVmMDVkNTVmZTlk
NjkzZjZmNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLm1tCkBAIC0z
ODcsNyArMzg3LDQxIEBAIHN0YXRpYyBib29sIGRyYXdDZWxsRm9jdXNSaW5nKE5TQ2VsbCAqY2Vs
bCwgTlNSZWN0IGNlbGxGcmFtZSwgTlNWaWV3ICpjb250cm9sVmllCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRvZ2dsZUJ1dHRvbihDb250cm9sUGFydCBidXR0b25U
eXBlLCBDb250cm9sU3RhdGVzKiBjb250cm9sU3RhdGVzLCBHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYgem9vbWVkUmVjdCwgZmxvYXQgem9vbUZhY3RvciwgU2Nyb2xs
Vmlldyogc2Nyb2xsVmlldykKK3N0YXRpYyBmbG9hdCBidXR0b25Gb2N1c1JlY3RPdXRsaW5lV2lk
dGgoKQoreworICAgIHJldHVybiAzLjBmOworfQorICAgIAorc3RhdGljIGJvb2wgZHJhd0J1dHRv
bkNlbGxPckZvY3VzUmluZ1dpdGhWaWV3T250b0NvbnRleHQoUmV0YWluUHRyPE5TQnV0dG9uQ2Vs
bD4gYnV0dG9uQ2VsbCwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3Qm
IGluZmxhdGVkUmVjdCwgTlNWaWV3KiB2aWV3LCBib29sIGRyYXdCdXR0b25DZWxsLCBib29sIGRy
YXdGb2N1c1JpbmcsIGJvb2wgdXNlSW1hZ2VCdWZmZXIsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
KQoreworICAgIEFTU0VSVChkcmF3QnV0dG9uQ2VsbCB8fCBkcmF3Rm9jdXNSaW5nKTsKKyAgICBi
b29sIG5lZWRzUmVwYWludCA9IGZhbHNlOworICAgIGNvbnN0IGZsb2F0IGZvY3VzVGhpY2tuZXNz
ID0gYnV0dG9uRm9jdXNSZWN0T3V0bGluZVdpZHRoKCk7CisgICAgTlNSZWN0IGRyYXdDZWxsUmVj
dCA9IHVzZUltYWdlQnVmZmVyID8gQ0dSZWN0TWFrZShmb2N1c1RoaWNrbmVzcywgZm9jdXNUaGlj
a25lc3MsIGluZmxhdGVkUmVjdC53aWR0aCgpLCBpbmZsYXRlZFJlY3QuaGVpZ2h0KCkpIDogTlNS
ZWN0KGluZmxhdGVkUmVjdCk7CisgICAgaWYgKHVzZUltYWdlQnVmZmVyKSB7CisgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3Jl
YXRlQ29tcGF0aWJsZUJ1ZmZlcihpbmZsYXRlZFJlY3Quc2l6ZSgpICsgMiAqIEZsb2F0U2l6ZShm
b2N1c1RoaWNrbmVzcywgZm9jdXNUaGlja25lc3MpLCBkZXZpY2VTY2FsZUZhY3RvciwgQ29sb3JT
cGFjZURldmljZVJHQiwgY29udGV4dCwgZmFsc2UpOworICAgICAgICB7CisgICAgICAgICAgICBM
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KGltYWdlQnVmZmVyLT5jb250
ZXh0KCkpOworICAgICAgICAgICAgaWYgKGRyYXdCdXR0b25DZWxsKQorICAgICAgICAgICAgICAg
IFtidXR0b25DZWxsIGRyYXdXaXRoRnJhbWU6ZHJhd0NlbGxSZWN0IGluVmlldzp2aWV3XTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGRyYXdGb2N1c1JpbmcpCisgICAgICAgICAgICAg
ICAgbmVlZHNSZXBhaW50ID0gZHJhd0NlbGxGb2N1c1JpbmcoYnV0dG9uQ2VsbC5nZXQoKSwgZHJh
d0NlbGxSZWN0LCB2aWV3KTsKKyAgICAgICAgfQorICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2VC
dWZmZXIoaW1hZ2VCdWZmZXIuZ2V0KCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIGluZmxhdGVkUmVj
dC5sb2NhdGlvbigpIC0gRmxvYXRTaXplKGZvY3VzVGhpY2tuZXNzLCBmb2N1c1RoaWNrbmVzcykp
OworICAgICAgICBpbWFnZUJ1ZmZlci5yZWxlYXNlKCk7CisgICAgICAgIHJldHVybiBuZWVkc1Jl
cGFpbnQ7CisgICAgfQorICAgIGlmIChkcmF3QnV0dG9uQ2VsbCkKKyAgICAgICAgW2J1dHRvbkNl
bGwgZHJhd1dpdGhGcmFtZTpkcmF3Q2VsbFJlY3QgaW5WaWV3OnZpZXddOworICAgIAorICAgIGlm
IChkcmF3Rm9jdXNSaW5nKQorICAgICAgICBuZWVkc1JlcGFpbnQgPSBkcmF3Q2VsbEZvY3VzUmlu
ZyhidXR0b25DZWxsLmdldCgpLCBkcmF3Q2VsbFJlY3QsIHZpZXcpOworICAgIAorICAgIHJldHVy
biBuZWVkc1JlcGFpbnQ7Cit9CisKK3N0YXRpYyB2b2lkIHBhaW50VG9nZ2xlQnV0dG9uKENvbnRy
b2xQYXJ0IGJ1dHRvblR5cGUsIENvbnRyb2xTdGF0ZXMqIGNvbnRyb2xTdGF0ZXMsIEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCB6b29t
RmFjdG9yLCBTY3JvbGxWaWV3KiBzY3JvbGxWaWV3LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rvciwg
ZmxvYXQgcGFnZVNjYWxlRmFjdG9yKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UwogCkBAIC00MzYsOCArNDcwLDkgQEAgc3RhdGljIHZvaWQgcGFpbnRUb2dnbGVCdXR0b24oQ29u
dHJvbFBhcnQgYnV0dG9uVHlwZSwgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXQKICNlbmRpZgog
ICAgIE5TVmlldyAqdmlldyA9IFRoZW1lTWFjOjplbnN1cmVkVmlldyhzY3JvbGxWaWV3LCBjb250
cm9sU3RhdGVzLCB1c2VVbnBhcmVudGVkVmlldyk7CiAKLSAgICBib29sIGlzQW5pbWF0aW5nID0g
ZmFsc2U7CiAgICAgYm9vbCBuZWVkc1JlcGFpbnQgPSBmYWxzZTsKKyAgICBib29sIHVzZUltYWdl
QnVmZmVyID0gcGFnZVNjYWxlRmFjdG9yICE9IDEuMGYgfHwgem9vbUZhY3RvciAhPSAxLjBmOwor
ICAgIGJvb2wgaXNDZWxsRm9jdXNlZCA9IGNvbnRyb2xTdGF0ZXMtPnN0YXRlcygpICYgQ29udHJv
bFN0YXRlczo6Rm9jdXNTdGF0ZTsKIAogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMDAwCiAgICAgaWYgKFt0b2dnbGVCdXR0b25DZWxsIF9zdGF0ZUFuaW1hdGlvblJ1
bm5pbmddKSB7CkBAIC00NDYsMTUgKzQ4MSwxMyBAQCBzdGF0aWMgdm9pZCBwYWludFRvZ2dsZUJ1
dHRvbihDb250cm9sUGFydCBidXR0b25UeXBlLCBDb250cm9sU3RhdGVzKiBjb250cm9sU3RhdAog
ICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUoMCwgLWluZmxhdGVkUmVjdC5oZWlnaHQoKSk7CiAK
ICAgICAgICAgW3RvZ2dsZUJ1dHRvbkNlbGwgX3JlbmRlckN1cnJlbnRBbmltYXRpb25GcmFtZUlu
Q29udGV4dDpjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSBhdExvY2F0aW9uOk5TTWFrZVBvaW50
KDAsIDApXTsKLSAgICAgICAgaXNBbmltYXRpbmcgPSBbdG9nZ2xlQnV0dG9uQ2VsbCBfc3RhdGVB
bmltYXRpb25SdW5uaW5nXTsKKyAgICAgICAgaWYgKCFbdG9nZ2xlQnV0dG9uQ2VsbCBfc3RhdGVB
bmltYXRpb25SdW5uaW5nXSAmJiBpc0NlbGxGb2N1c2VkKQorICAgICAgICAgICAgbmVlZHNSZXBh
aW50ID0gZHJhd0J1dHRvbkNlbGxPckZvY3VzUmluZ1dpdGhWaWV3T250b0NvbnRleHQodG9nZ2xl
QnV0dG9uQ2VsbCwgY29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCBmYWxzZSwgdHJ1ZSwgdXNl
SW1hZ2VCdWZmZXIsIGRldmljZVNjYWxlRmFjdG9yKTsKICAgICB9IGVsc2UKLSAgICAgICAgW3Rv
Z2dsZUJ1dHRvbkNlbGwgZHJhd1dpdGhGcmFtZTpOU1JlY3QoaW5mbGF0ZWRSZWN0KSBpblZpZXc6
dmlld107CisgICAgICAgIG5lZWRzUmVwYWludCA9IGRyYXdCdXR0b25DZWxsT3JGb2N1c1JpbmdX
aXRoVmlld09udG9Db250ZXh0KHRvZ2dsZUJ1dHRvbkNlbGwsIGNvbnRleHQsIGluZmxhdGVkUmVj
dCwgdmlldywgdHJ1ZSwgaXNDZWxsRm9jdXNlZCwgdXNlSW1hZ2VCdWZmZXIsIGRldmljZVNjYWxl
RmFjdG9yKTsKICNlbHNlCi0gICAgW3RvZ2dsZUJ1dHRvbkNlbGwgZHJhd1dpdGhGcmFtZTpOU1Jl
Y3QoaW5mbGF0ZWRSZWN0KSBpblZpZXc6dmlld107CisgICAgbmVlZHNSZXBhaW50ID0gZHJhd0J1
dHRvbkNlbGxPckZvY3VzUmluZ1dpdGhWaWV3T250b0NvbnRleHQodG9nZ2xlQnV0dG9uQ2VsbCwg
Y29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCB0cnVlLCBpc0NlbGxGb2N1c2VkLCB1c2VJbWFn
ZUJ1ZmZlciwgZGV2aWNlU2NhbGVGYWN0b3IpOwogI2VuZGlmCi0KLSAgICBpZiAoIWlzQW5pbWF0
aW5nICYmIChjb250cm9sU3RhdGVzLT5zdGF0ZXMoKSAmIENvbnRyb2xTdGF0ZXM6OkZvY3VzU3Rh
dGUpKQotICAgICAgICBuZWVkc1JlcGFpbnQgPSBkcmF3Q2VsbEZvY3VzUmluZyh0b2dnbGVCdXR0
b25DZWxsLmdldCgpLCBpbmZsYXRlZFJlY3QsIHZpZXcpOwogICAgIFt0b2dnbGVCdXR0b25DZWxs
IHNldENvbnRyb2xWaWV3Om5pbF07CiAKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTAwMApAQCAtNTMwLDExICs1NjMsNiBAQCBzdGF0aWMgTlNCdXR0b25DZWxsICpi
dXR0b24oQ29udHJvbFBhcnQgcGFydCwgY29uc3QgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRl
cwogICAgIHNldFVwQnV0dG9uQ2VsbChjZWxsLCBwYXJ0LCBjb250cm9sU3RhdGVzLCB6b29tZWRT
aXplLCB6b29tRmFjdG9yKTsKICAgICByZXR1cm4gY2VsbDsKIH0KLQotc3RhdGljIGZsb2F0IGJ1
dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCgpCi17Ci0gICAgcmV0dXJuIDMuMGY7Ci19CiAgICAg
CiBzdGF0aWMgdm9pZCBwYWludEJ1dHRvbihDb250cm9sUGFydCBwYXJ0LCBDb250cm9sU3RhdGVz
KiBjb250cm9sU3RhdGVzLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVj
dCYgem9vbWVkUmVjdCwgZmxvYXQgem9vbUZhY3RvciwgU2Nyb2xsVmlldyogc2Nyb2xsVmlldywg
ZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcikKIHsKQEAgLTU2
OSwyMSArNTk3LDE0IEBAIHN0YXRpYyB2b2lkIHBhaW50QnV0dG9uKENvbnRyb2xQYXJ0IHBhcnQs
IENvbnRyb2xTdGF0ZXMqIGNvbnRyb2xTdGF0ZXMsIEdyYXBoaWNzCiAgICAgICAgIH0KICAgICB9
CiAgICAgCi0gICAgYm9vbCBzaG91bGRVc2VJbWFnZUJ1ZmZlciA9IHBhZ2VTY2FsZUZhY3RvciAh
PSAxLjBmIHx8IHpvb21GYWN0b3IgIT0gMS4wZjsKLSAgICBmbG9hdCBmb2N1c1RoaWNrbmVzcyA9
IGJ1dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCgpOwotICAgIAotICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBkcmF3QnV0
dG9uQ29udGV4dCA9IGNvbnRleHQ7Ci0gICAgaWYgKHNob3VsZFVzZUltYWdlQnVmZmVyKSB7Ci0g
ICAgICAgIGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZUNvbXBhdGlibGVCdWZmZXIo
aW5mbGF0ZWRSZWN0LnNpemUoKSArIDIgKiBGbG9hdFNpemUoZm9jdXNUaGlja25lc3MsIGZvY3Vz
VGhpY2tuZXNzKSwgZGV2aWNlU2NhbGVGYWN0b3IsIENvbG9yU3BhY2VEZXZpY2VSR0IsIGNvbnRl
eHQsIGZhbHNlKTsKLSAgICAgICAgZHJhd0J1dHRvbkNvbnRleHQgPSBpbWFnZUJ1ZmZlci0+Y29u
dGV4dCgpOwotICAgIH0KLSAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250
ZXh0KGRyYXdCdXR0b25Db250ZXh0KTsKKyAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQg
bG9jYWxDb250ZXh0KGNvbnRleHQpOwogICAgIAogICAgIE5TVmlldyAqdmlldyA9IFRoZW1lTWFj
OjplbnN1cmVkVmlldyhzY3JvbGxWaWV3LCBjb250cm9sU3RhdGVzKTsKICAgICBOU1dpbmRvdyAq
d2luZG93ID0gW3ZpZXcgd2luZG93XTsKICAgICBOU0J1dHRvbkNlbGwgKnByZXZpb3VzRGVmYXVs
dEJ1dHRvbkNlbGwgPSBbd2luZG93IGRlZmF1bHRCdXR0b25DZWxsXTsKIAorICAgIGJvb2wgdXNl
SW1hZ2VCdWZmZXIgPSBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZiB8fCB6b29tRmFjdG9yICE9IDEu
MGY7CisgICAgYm9vbCBuZWVkc1JlcGFpbnQgPSBkcmF3QnV0dG9uQ2VsbE9yRm9jdXNSaW5nV2l0
aFZpZXdPbnRvQ29udGV4dChidXR0b25DZWxsLCBjb250ZXh0LCBpbmZsYXRlZFJlY3QsIHZpZXcs
IHRydWUsIHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZvY3VzU3RhdGUsIHVzZUltYWdlQnVmZmVy
LCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgaWYgKHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkRl
ZmF1bHRTdGF0ZSkgewogICAgICAgICBbd2luZG93IHNldERlZmF1bHRCdXR0b25DZWxsOmJ1dHRv
bkNlbGxdOwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEwMDAKQEAg
LTU5MSwyNCArNjEyLDggQEAgc3RhdGljIHZvaWQgcGFpbnRCdXR0b24oQ29udHJvbFBhcnQgcGFy
dCwgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywgR3JhcGhpY3MKICNlbmRpZgogICAgIH0g
ZWxzZSBpZiAoW3ByZXZpb3VzRGVmYXVsdEJ1dHRvbkNlbGwgaXNFcXVhbDpidXR0b25DZWxsXSkK
ICAgICAgICAgW3dpbmRvdyBzZXREZWZhdWx0QnV0dG9uQ2VsbDpuaWxdOwotCi0gICAgRmxvYXRS
ZWN0IGRyYXdGcm9tSW1hZ2VCdWZmZXJSZWN0KGZvY3VzVGhpY2tuZXNzLCBmb2N1c1RoaWNrbmVz
cywgaW5mbGF0ZWRSZWN0LndpZHRoKCksIGluZmxhdGVkUmVjdC5oZWlnaHQoKSk7Ci0gICAgaWYg
KHNob3VsZFVzZUltYWdlQnVmZmVyKSB7Ci0gICAgICAgIFtidXR0b25DZWxsIGRyYXdXaXRoRnJh
bWU6TlNSZWN0KGRyYXdGcm9tSW1hZ2VCdWZmZXJSZWN0KSBpblZpZXc6dmlld107Ci0gICAgICAg
IGlmICghKHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZvY3VzU3RhdGUpKQotICAgICAgICAgICAg
Y29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGltYWdlQnVmZmVyLmdldCgpLCBDb2xvclNwYWNlRGV2
aWNlUkdCLCBpbmZsYXRlZFJlY3QubG9jYXRpb24oKSAtIEZsb2F0U2l6ZShmb2N1c1RoaWNrbmVz
cywgZm9jdXNUaGlja25lc3MpKTsKLSAgICB9IGVsc2UKLSAgICAgICAgW2J1dHRvbkNlbGwgZHJh
d1dpdGhGcmFtZTpOU1JlY3QoaW5mbGF0ZWRSZWN0KSBpblZpZXc6dmlld107CiAgICAgCi0gICAg
aWYgKHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZvY3VzU3RhdGUpIHsKLSAgICAgICAgaWYgKHNo
b3VsZFVzZUltYWdlQnVmZmVyKSB7Ci0gICAgICAgICAgICBkcmF3Q2VsbEZvY3VzUmluZyhidXR0
b25DZWxsLCBOU1JlY3QoZHJhd0Zyb21JbWFnZUJ1ZmZlclJlY3QpLCB2aWV3KTsKLSAgICAgICAg
ICAgIGNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbWFnZUJ1ZmZlci5nZXQoKSwgQ29sb3JTcGFj
ZURldmljZVJHQiwgaW5mbGF0ZWRSZWN0LmxvY2F0aW9uKCkgLSBGbG9hdFNpemUoZm9jdXNUaGlj
a25lc3MsIGZvY3VzVGhpY2tuZXNzKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZHJh
d0NlbGxGb2N1c1JpbmcoYnV0dG9uQ2VsbCwgTlNSZWN0KGluZmxhdGVkUmVjdCksIHZpZXcpOwot
ICAgIH0KLSAgICAKLSAgICBjb250cm9sU3RhdGVzLT5zZXROZWVkc1JlcGFpbnQoZmFsc2UpOwor
ICAgIGNvbnRyb2xTdGF0ZXMtPnNldE5lZWRzUmVwYWludChuZWVkc1JlcGFpbnQpOwogCiAgICAg
W2J1dHRvbkNlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsKIApAQCAtODU0LDEwICs4NTksMTAgQEAg
dm9pZCBUaGVtZU1hYzo6cGFpbnQoQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyogc3Rh
dGVzLCBHcmFwaGljc0NvbnRleHQqIGMKIHsKICAgICBzd2l0Y2ggKHBhcnQpIHsKICAgICAgICAg
Y2FzZSBDaGVja2JveFBhcnQ6Ci0gICAgICAgICAgICBwYWludFRvZ2dsZUJ1dHRvbihwYXJ0LCBz
dGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHpvb21GYWN0b3IsIHNjcm9sbFZpZXcpOworICAg
ICAgICAgICAgcGFpbnRUb2dnbGVCdXR0b24ocGFydCwgc3RhdGVzLCBjb250ZXh0LCB6b29tZWRS
ZWN0LCB6b29tRmFjdG9yLCBzY3JvbGxWaWV3LCBkZXZpY2VTY2FsZUZhY3RvciwgcGFnZVNjYWxl
RmFjdG9yKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJhZGlvUGFydDoKLSAg
ICAgICAgICAgIHBhaW50VG9nZ2xlQnV0dG9uKHBhcnQsIHN0YXRlcywgY29udGV4dCwgem9vbWVk
UmVjdCwgem9vbUZhY3Rvciwgc2Nyb2xsVmlldyk7CisgICAgICAgICAgICBwYWludFRvZ2dsZUJ1
dHRvbihwYXJ0LCBzdGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHpvb21GYWN0b3IsIHNjcm9s
bFZpZXcsIGRldmljZVNjYWxlRmFjdG9yLCBwYWdlU2NhbGVGYWN0b3IpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgRGVmYXVs
dEJ1dHRvblBhcnQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257964</attachid>
            <date>2015-07-31 15:01:11 -0700</date>
            <delta_ts>2015-08-04 13:36:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147405-20150731150109.patch</filename>
            <type>text/plain</type>
            <size>10823</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYyNDNmZTNhYWU3YjY0
N2ZlN2Q0ZDU2ODFlMmMyYTBhYjZlY2U3NS4uNDU0YmNlODQyM2Q0NzU0YzdjZmI4YzFhM2M1YjQy
YWFmZWY4YjVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTMxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENoZWNrYm94ZXMg
YW5kIHJhZGlvIGJ1dHRvbnMgc2hvdWxkIHNjYWxlIHdoZW4gem9vbWluZyBvciBwaW5jaGluZyB0
byB6b29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDc0MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZWZhY3RvcnMgcGFpbnRCdXR0b24gYW5kIHBhaW50VG9nZ2xlQnV0dG9uIHRvIHVzZSBhIHRlbXBv
cmFyeSBidWZmZXIgd2hlbiByZW5kZXJpbmcKKyAgICAgICAgaWYgdGhlIGNvbnRyb2xzIGFyZSB6
b29tZWQuIFRoaXMgYWZmZWN0cyBjaGVja2JveGVzLCByYWRpbyBidXR0b25zLCBhbmQgbm9ybWFs
IChwdXNoKQorICAgICAgICBidXR0b25zLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1l
TWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1RoZW1lTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6cGFpbnRUb2dnbGVCdXR0b24pOiBSZWZhY3RvcmVkIHRvIHVzZSBkcmF3Q2VsbE9yRm9j
dXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50QnV0dG9u
KTogUmVmYWN0b3JlZCB0byB1c2UgZHJhd0NlbGxPckZvY3VzUmluZ1dpdGhWaWV3T250b0NvbnRl
eHQuCisgICAgICAgIChXZWJDb3JlOjpUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmluZ1dpdGhW
aWV3T250b0NvbnRleHQpOiBEcmF3cyBhIGdpdmVuIGJ1dHRvbiBjZWxsCisgICAgICAgICAgICBh
bmQvb3IgaXRzIGZvY3VzIHJpbmcgb250byB0aGUgZ2l2ZW4gY29udGV4dCwgb3B0aW9uYWxseSB1
c2luZyBhbiBvZmZzY3JlZW4gYnVmZmVyLgorICAgICAgICAgICAgVGhpcyBpcyBhIHN0YXRpYyBm
dW5jdGlvbiBpbiBUaGVtZU1hYyBzbyBpdCBjYW4gYmUgYWNjZXNzZWQgbGF0ZXIgb24gYnkKKyAg
ICAgICAgICAgIFJlbmRlclRoZW1lTWFjIHdoZW4gcGFpbnRpbmcgc2VhcmNoIGZpZWxkcyB0aGF0
IHNjYWxlIHdpdGggem9vbS4KKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lTWFjOjpwYWludCk6Cisg
ICAgICAgIChXZWJDb3JlOjpidXR0b25Gb2N1c1JlY3RPdXRsaW5lV2lkdGgpOiBEZWxldGVkLiBN
YWRlIHRoaXMgdmFsdWUgaW50byBhIGNvbnN0IGZsb2F0LgorCiAyMDE1LTA3LTMxICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1hZ2VCdWZmZXJEYXRhQ0cgc2hv
dWxkIG5vdCBhZGQgSU9TdXJmYWNlcyB0byB0aGUgcG9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvVGhlbWVNYWMuaAppbmRleCBjN2RkNWQwY2IxMjUwNDk5ZjljMzUwMzc3MTBlM2U1MDFmMWIx
YWM4Li41MzFhNjQ5YTQwMTAzZjFiMGVhNDMxYjE2MDU5ZmVhZDQ2NzFlODdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvVGhlbWVNYWMuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgLy8gRklYTUU6IE9uY2UgUmVuZGVyVGhlbWVNYWMgaXMgY29udmVydGVkIG92ZXIgdG8gdXNl
IFRoZW1lIHRoZW4gdGhpcyBjYW4gYmUgaW50ZXJuYWwgdG8gVGhlbWVNYWMuCiAgICAgc3RhdGlj
IE5TVmlldyogZW5zdXJlZFZpZXcoU2Nyb2xsVmlldyosIGNvbnN0IENvbnRyb2xTdGF0ZXMqLCBi
b29sIHVzZVVucGFyZW50ZWRWaWV3ID0gZmFsc2UpOwogICAgIHN0YXRpYyB2b2lkIHNldEZvY3Vz
UmluZ0NsaXBSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOworICAgIHN0YXRpYyBib29sIGRyYXdDZWxs
T3JGb2N1c1JpbmdXaXRoVmlld09udG9Db250ZXh0KFJldGFpblB0cjxOU0NlbGw+LCBHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmLCBOU1ZpZXcqLCBib29sIC8qIGRyYXdCdXR0b25D
ZWxsICovLCBib29sIC8qIGRyYXdGb2N1c1JpbmcgKi8sIGJvb2wgLyogdXNlSW1hZ2VCdWZmZXIg
Ki8sIGZsb2F0IC8qIGRldmljZVNjYWxlRmFjdG9yICovKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaGVtZU1hYy5tbQppbmRleCAwNDFh
OTIxNDk2OTJhMDY5ZmJhNzJjMjJhZGVlYWFjNjA0N2M4NjExLi5mYThkY2Y2OTcwZTcxZjJlY2Rm
OTkxMmM5Njg2ZTQ5MDFiZmIzMDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RoZW1l
TWFjLm1tCkBAIC0zNzYsNyArMzc2LDcgQEAgc3RhdGljIGJvb2wgZHJhd0NlbGxGb2N1c1Jpbmco
TlNDZWxsICpjZWxsLCBOU1JlY3QgY2VsbEZyYW1lLCBOU1ZpZXcgKmNvbnRyb2xWaWUKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lkIHBhaW50VG9nZ2xlQnV0dG9uKENvbnRyb2xQ
YXJ0IGJ1dHRvblR5cGUsIENvbnRyb2xTdGF0ZXMqIGNvbnRyb2xTdGF0ZXMsIEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCB6b29tRmFj
dG9yLCBTY3JvbGxWaWV3KiBzY3JvbGxWaWV3KQorc3RhdGljIHZvaWQgcGFpbnRUb2dnbGVCdXR0
b24oQ29udHJvbFBhcnQgYnV0dG9uVHlwZSwgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywg
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHpvb21lZFJlY3QsIGZs
b2F0IHpvb21GYWN0b3IsIFNjcm9sbFZpZXcqIHNjcm9sbFZpZXcsIGZsb2F0IGRldmljZVNjYWxl
RmFjdG9yLCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TCiAKQEAgLTQyNSw4ICs0MjUsOSBAQCBzdGF0aWMgdm9pZCBwYWludFRvZ2dsZUJ1
dHRvbihDb250cm9sUGFydCBidXR0b25UeXBlLCBDb250cm9sU3RhdGVzKiBjb250cm9sU3RhdAog
I2VuZGlmCiAgICAgTlNWaWV3ICp2aWV3ID0gVGhlbWVNYWM6OmVuc3VyZWRWaWV3KHNjcm9sbFZp
ZXcsIGNvbnRyb2xTdGF0ZXMsIHVzZVVucGFyZW50ZWRWaWV3KTsKIAotICAgIGJvb2wgaXNBbmlt
YXRpbmcgPSBmYWxzZTsKICAgICBib29sIG5lZWRzUmVwYWludCA9IGZhbHNlOworICAgIGJvb2wg
dXNlSW1hZ2VCdWZmZXIgPSBwYWdlU2NhbGVGYWN0b3IgIT0gMS4wZiB8fCB6b29tRmFjdG9yICE9
IDEuMGY7CisgICAgYm9vbCBpc0NlbGxGb2N1c2VkID0gY29udHJvbFN0YXRlcy0+c3RhdGVzKCkg
JiBDb250cm9sU3RhdGVzOjpGb2N1c1N0YXRlOwogCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBpZiAoW3RvZ2dsZUJ1dHRvbkNlbGwgX3N0YXRlQW5p
bWF0aW9uUnVubmluZ10pIHsKQEAgLTQzNSwxNSArNDM2LDEzIEBAIHN0YXRpYyB2b2lkIHBhaW50
VG9nZ2xlQnV0dG9uKENvbnRyb2xQYXJ0IGJ1dHRvblR5cGUsIENvbnRyb2xTdGF0ZXMqIGNvbnRy
b2xTdGF0CiAgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgwLCAtaW5mbGF0ZWRSZWN0LmhlaWdo
dCgpKTsKIAogICAgICAgICBbdG9nZ2xlQnV0dG9uQ2VsbCBfcmVuZGVyQ3VycmVudEFuaW1hdGlv
bkZyYW1lSW5Db250ZXh0OmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpIGF0TG9jYXRpb246TlNN
YWtlUG9pbnQoMCwgMCldOwotICAgICAgICBpc0FuaW1hdGluZyA9IFt0b2dnbGVCdXR0b25DZWxs
IF9zdGF0ZUFuaW1hdGlvblJ1bm5pbmddOworICAgICAgICBpZiAoIVt0b2dnbGVCdXR0b25DZWxs
IF9zdGF0ZUFuaW1hdGlvblJ1bm5pbmddICYmIGlzQ2VsbEZvY3VzZWQpCisgICAgICAgICAgICBu
ZWVkc1JlcGFpbnQgPSBUaGVtZU1hYzo6ZHJhd0NlbGxPckZvY3VzUmluZ1dpdGhWaWV3T250b0Nv
bnRleHQodG9nZ2xlQnV0dG9uQ2VsbCwgY29udGV4dCwgaW5mbGF0ZWRSZWN0LCB2aWV3LCBmYWxz
ZSwgdHJ1ZSwgdXNlSW1hZ2VCdWZmZXIsIGRldmljZVNjYWxlRmFjdG9yKTsKICAgICB9IGVsc2UK
LSAgICAgICAgW3RvZ2dsZUJ1dHRvbkNlbGwgZHJhd1dpdGhGcmFtZTpOU1JlY3QoaW5mbGF0ZWRS
ZWN0KSBpblZpZXc6dmlld107CisgICAgICAgIG5lZWRzUmVwYWludCA9IFRoZW1lTWFjOjpkcmF3
Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dCh0b2dnbGVCdXR0b25DZWxsLCBjb250
ZXh0LCBpbmZsYXRlZFJlY3QsIHZpZXcsIHRydWUsIGlzQ2VsbEZvY3VzZWQsIHVzZUltYWdlQnVm
ZmVyLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAjZWxzZQotICAgIFt0b2dnbGVCdXR0b25DZWxsIGRy
YXdXaXRoRnJhbWU6TlNSZWN0KGluZmxhdGVkUmVjdCkgaW5WaWV3OnZpZXddOworICAgIG5lZWRz
UmVwYWludCA9IFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4
dCh0b2dnbGVCdXR0b25DZWxsLCBjb250ZXh0LCBpbmZsYXRlZFJlY3QsIHZpZXcsIHRydWUsIGlz
Q2VsbEZvY3VzZWQsIHVzZUltYWdlQnVmZmVyLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAjZW5kaWYK
LQotICAgIGlmICghaXNBbmltYXRpbmcgJiYgKGNvbnRyb2xTdGF0ZXMtPnN0YXRlcygpICYgQ29u
dHJvbFN0YXRlczo6Rm9jdXNTdGF0ZSkpCi0gICAgICAgIG5lZWRzUmVwYWludCA9IGRyYXdDZWxs
Rm9jdXNSaW5nKHRvZ2dsZUJ1dHRvbkNlbGwuZ2V0KCksIGluZmxhdGVkUmVjdCwgdmlldyk7CiAg
ICAgW3RvZ2dsZUJ1dHRvbkNlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsKIAogI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCkBAIC01MTksMTEgKzUxOCw2IEBAIHN0
YXRpYyBOU0J1dHRvbkNlbGwgKmJ1dHRvbihDb250cm9sUGFydCBwYXJ0LCBjb25zdCBDb250cm9s
U3RhdGVzKiBjb250cm9sU3RhdGVzCiAgICAgc2V0VXBCdXR0b25DZWxsKGNlbGwsIHBhcnQsIGNv
bnRyb2xTdGF0ZXMsIHpvb21lZFNpemUsIHpvb21GYWN0b3IpOwogICAgIHJldHVybiBjZWxsOwog
fQotCi1zdGF0aWMgZmxvYXQgYnV0dG9uRm9jdXNSZWN0T3V0bGluZVdpZHRoKCkKLXsKLSAgICBy
ZXR1cm4gMy4wZjsKLX0KICAgICAKIHN0YXRpYyB2b2lkIHBhaW50QnV0dG9uKENvbnRyb2xQYXJ0
IHBhcnQsIENvbnRyb2xTdGF0ZXMqIGNvbnRyb2xTdGF0ZXMsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiB6b29tZWRSZWN0LCBmbG9hdCB6b29tRmFjdG9yLCBTY3Jv
bGxWaWV3KiBzY3JvbGxWaWV3LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgZmxvYXQgcGFnZVNj
YWxlRmFjdG9yKQogewpAQCAtNTU4LDIxICs1NTIsMTQgQEAgc3RhdGljIHZvaWQgcGFpbnRCdXR0
b24oQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywgR3JhcGhp
Y3MKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBib29sIHNob3VsZFVzZUltYWdlQnVmZmVy
ID0gcGFnZVNjYWxlRmFjdG9yICE9IDEuMGYgfHwgem9vbUZhY3RvciAhPSAxLjBmOwotICAgIGZs
b2F0IGZvY3VzVGhpY2tuZXNzID0gYnV0dG9uRm9jdXNSZWN0T3V0bGluZVdpZHRoKCk7Ci0gICAg
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBpbWFnZUJ1ZmZlcjsKLSAgICBHcmFw
aGljc0NvbnRleHQqIGRyYXdCdXR0b25Db250ZXh0ID0gY29udGV4dDsKLSAgICBpZiAoc2hvdWxk
VXNlSW1hZ2VCdWZmZXIpIHsKLSAgICAgICAgaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3Jl
YXRlQ29tcGF0aWJsZUJ1ZmZlcihpbmZsYXRlZFJlY3Quc2l6ZSgpICsgMiAqIEZsb2F0U2l6ZShm
b2N1c1RoaWNrbmVzcywgZm9jdXNUaGlja25lc3MpLCBkZXZpY2VTY2FsZUZhY3RvciwgQ29sb3JT
cGFjZURldmljZVJHQiwgY29udGV4dCwgZmFsc2UpOwotICAgICAgICBkcmF3QnV0dG9uQ29udGV4
dCA9IGltYWdlQnVmZmVyLT5jb250ZXh0KCk7Ci0gICAgfQotICAgIExvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dCBsb2NhbENvbnRleHQoZHJhd0J1dHRvbkNvbnRleHQpOworICAgIExvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQoY29udGV4dCk7CiAgICAgCiAgICAgTlNW
aWV3ICp2aWV3ID0gVGhlbWVNYWM6OmVuc3VyZWRWaWV3KHNjcm9sbFZpZXcsIGNvbnRyb2xTdGF0
ZXMpOwogICAgIE5TV2luZG93ICp3aW5kb3cgPSBbdmlldyB3aW5kb3ddOwogICAgIE5TQnV0dG9u
Q2VsbCAqcHJldmlvdXNEZWZhdWx0QnV0dG9uQ2VsbCA9IFt3aW5kb3cgZGVmYXVsdEJ1dHRvbkNl
bGxdOwogCisgICAgYm9vbCB1c2VJbWFnZUJ1ZmZlciA9IHBhZ2VTY2FsZUZhY3RvciAhPSAxLjBm
IHx8IHpvb21GYWN0b3IgIT0gMS4wZjsKKyAgICBib29sIG5lZWRzUmVwYWludCA9IFRoZW1lTWFj
OjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dChidXR0b25DZWxsLCBjb250
ZXh0LCBpbmZsYXRlZFJlY3QsIHZpZXcsIHRydWUsIHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZv
Y3VzU3RhdGUsIHVzZUltYWdlQnVmZmVyLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgaWYgKHN0
YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkRlZmF1bHRTdGF0ZSkgewogICAgICAgICBbd2luZG93IHNl
dERlZmF1bHRCdXR0b25DZWxsOmJ1dHRvbkNlbGxdOwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCAxMDEwMDAKQEAgLTU4MCwyNCArNTY3LDggQEAgc3RhdGljIHZvaWQgcGFp
bnRCdXR0b24oQ29udHJvbFBhcnQgcGFydCwgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywg
R3JhcGhpY3MKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoW3ByZXZpb3VzRGVmYXVsdEJ1dHRvbkNl
bGwgaXNFcXVhbDpidXR0b25DZWxsXSkKICAgICAgICAgW3dpbmRvdyBzZXREZWZhdWx0QnV0dG9u
Q2VsbDpuaWxdOwotCi0gICAgRmxvYXRSZWN0IGRyYXdGcm9tSW1hZ2VCdWZmZXJSZWN0KGZvY3Vz
VGhpY2tuZXNzLCBmb2N1c1RoaWNrbmVzcywgaW5mbGF0ZWRSZWN0LndpZHRoKCksIGluZmxhdGVk
UmVjdC5oZWlnaHQoKSk7Ci0gICAgaWYgKHNob3VsZFVzZUltYWdlQnVmZmVyKSB7Ci0gICAgICAg
IFtidXR0b25DZWxsIGRyYXdXaXRoRnJhbWU6TlNSZWN0KGRyYXdGcm9tSW1hZ2VCdWZmZXJSZWN0
KSBpblZpZXc6dmlld107Ci0gICAgICAgIGlmICghKHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZv
Y3VzU3RhdGUpKQotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGltYWdlQnVm
ZmVyLmdldCgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBpbmZsYXRlZFJlY3QubG9jYXRpb24oKSAt
IEZsb2F0U2l6ZShmb2N1c1RoaWNrbmVzcywgZm9jdXNUaGlja25lc3MpKTsKLSAgICB9IGVsc2UK
LSAgICAgICAgW2J1dHRvbkNlbGwgZHJhd1dpdGhGcmFtZTpOU1JlY3QoaW5mbGF0ZWRSZWN0KSBp
blZpZXc6dmlld107Ci0gICAgCi0gICAgaWYgKHN0YXRlcyAmIENvbnRyb2xTdGF0ZXM6OkZvY3Vz
U3RhdGUpIHsKLSAgICAgICAgaWYgKHNob3VsZFVzZUltYWdlQnVmZmVyKSB7Ci0gICAgICAgICAg
ICBkcmF3Q2VsbEZvY3VzUmluZyhidXR0b25DZWxsLCBOU1JlY3QoZHJhd0Zyb21JbWFnZUJ1ZmZl
clJlY3QpLCB2aWV3KTsKLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbWFn
ZUJ1ZmZlci5nZXQoKSwgQ29sb3JTcGFjZURldmljZVJHQiwgaW5mbGF0ZWRSZWN0LmxvY2F0aW9u
KCkgLSBGbG9hdFNpemUoZm9jdXNUaGlja25lc3MsIGZvY3VzVGhpY2tuZXNzKSk7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgZHJhd0NlbGxGb2N1c1JpbmcoYnV0dG9uQ2VsbCwgTlNSZWN0
KGluZmxhdGVkUmVjdCksIHZpZXcpOwotICAgIH0KICAgICAKLSAgICBjb250cm9sU3RhdGVzLT5z
ZXROZWVkc1JlcGFpbnQoZmFsc2UpOworICAgIGNvbnRyb2xTdGF0ZXMtPnNldE5lZWRzUmVwYWlu
dChuZWVkc1JlcGFpbnQpOwogCiAgICAgW2J1dHRvbkNlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsK
IApAQCAtNjkwLDYgKzY2MSwzNSBAQCB2b2lkIFRoZW1lTWFjOjpzZXRGb2N1c1JpbmdDbGlwUmVj
dChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgZm9jdXNSaW5nQ2xpcFJlY3QgPSByZWN0Owog
fQogCitjb25zdCBmbG9hdCBidXR0b25Gb2N1c1JlY3RPdXRsaW5lV2lkdGggPSAzLjBmOworCiti
b29sIFRoZW1lTWFjOjpkcmF3Q2VsbE9yRm9jdXNSaW5nV2l0aFZpZXdPbnRvQ29udGV4dChSZXRh
aW5QdHI8TlNDZWxsPiBjZWxsLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0
UmVjdCYgaW5mbGF0ZWRSZWN0LCBOU1ZpZXcqIHZpZXcsIGJvb2wgZHJhd0J1dHRvbkNlbGwsIGJv
b2wgZHJhd0ZvY3VzUmluZywgYm9vbCB1c2VJbWFnZUJ1ZmZlciwgZmxvYXQgZGV2aWNlU2NhbGVG
YWN0b3IpCit7CisgICAgQVNTRVJUKGRyYXdCdXR0b25DZWxsIHx8IGRyYXdGb2N1c1JpbmcpOwor
ICAgIGJvb2wgbmVlZHNSZXBhaW50ID0gZmFsc2U7CisgICAgaWYgKHVzZUltYWdlQnVmZmVyKSB7
CisgICAgICAgIE5TUmVjdCBpbWFnZUJ1ZmZlckRyYXdSZWN0ID0gQ0dSZWN0TWFrZShidXR0b25G
b2N1c1JlY3RPdXRsaW5lV2lkdGgsIGJ1dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCwgaW5mbGF0
ZWRSZWN0LndpZHRoKCksIGluZmxhdGVkUmVjdC5oZWlnaHQoKSk7CisgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29t
cGF0aWJsZUJ1ZmZlcihpbmZsYXRlZFJlY3Quc2l6ZSgpICsgMiAqIEZsb2F0U2l6ZShidXR0b25G
b2N1c1JlY3RPdXRsaW5lV2lkdGgsIGJ1dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCksIGRldmlj
ZVNjYWxlRmFjdG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBjb250ZXh0LCBmYWxzZSk7CisgICAg
ICAgIHsKKyAgICAgICAgICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRl
eHQoaW1hZ2VCdWZmZXItPmNvbnRleHQoKSk7CisgICAgICAgICAgICBpZiAoZHJhd0J1dHRvbkNl
bGwpCisgICAgICAgICAgICAgICAgW2NlbGwgZHJhd1dpdGhGcmFtZTppbWFnZUJ1ZmZlckRyYXdS
ZWN0IGluVmlldzp2aWV3XTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGRyYXdGb2N1
c1JpbmcpCisgICAgICAgICAgICAgICAgbmVlZHNSZXBhaW50ID0gZHJhd0NlbGxGb2N1c1Jpbmco
Y2VsbC5nZXQoKSwgaW1hZ2VCdWZmZXJEcmF3UmVjdCwgdmlldyk7CisgICAgICAgIH0KKyAgICAg
ICAgY29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGltYWdlQnVmZmVyLmdldCgpLCBDb2xvclNwYWNl
RGV2aWNlUkdCLCBpbmZsYXRlZFJlY3QubG9jYXRpb24oKSAtIEZsb2F0U2l6ZShidXR0b25Gb2N1
c1JlY3RPdXRsaW5lV2lkdGgsIGJ1dHRvbkZvY3VzUmVjdE91dGxpbmVXaWR0aCkpOworICAgICAg
ICByZXR1cm4gbmVlZHNSZXBhaW50OworICAgIH0KKyAgICBpZiAoZHJhd0J1dHRvbkNlbGwpCisg
ICAgICAgIFtjZWxsIGRyYXdXaXRoRnJhbWU6TlNSZWN0KGluZmxhdGVkUmVjdCkgaW5WaWV3OnZp
ZXddOworICAgIAorICAgIGlmIChkcmF3Rm9jdXNSaW5nKQorICAgICAgICBuZWVkc1JlcGFpbnQg
PSBkcmF3Q2VsbEZvY3VzUmluZyhjZWxsLmdldCgpLCBOU1JlY3QoaW5mbGF0ZWRSZWN0KSwgdmll
dyk7CisgICAgCisgICAgcmV0dXJuIG5lZWRzUmVwYWludDsKK30KKwogLy8gVGhlbWUgb3ZlcnJp
ZGVzCiAKIGludCBUaGVtZU1hYzo6YmFzZWxpbmVQb3NpdGlvbkFkanVzdG1lbnQoQ29udHJvbFBh
cnQgcGFydCkgY29uc3QKQEAgLTg0MywxMCArODQzLDEwIEBAIHZvaWQgVGhlbWVNYWM6OnBhaW50
KENvbnRyb2xQYXJ0IHBhcnQsIENvbnRyb2xTdGF0ZXMqIHN0YXRlcywgR3JhcGhpY3NDb250ZXh0
KiBjCiB7CiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgICAgIGNhc2UgQ2hlY2tib3hQYXJ0Ogot
ICAgICAgICAgICAgcGFpbnRUb2dnbGVCdXR0b24ocGFydCwgc3RhdGVzLCBjb250ZXh0LCB6b29t
ZWRSZWN0LCB6b29tRmFjdG9yLCBzY3JvbGxWaWV3KTsKKyAgICAgICAgICAgIHBhaW50VG9nZ2xl
QnV0dG9uKHBhcnQsIHN0YXRlcywgY29udGV4dCwgem9vbWVkUmVjdCwgem9vbUZhY3Rvciwgc2Ny
b2xsVmlldywgZGV2aWNlU2NhbGVGYWN0b3IsIHBhZ2VTY2FsZUZhY3Rvcik7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBSYWRpb1BhcnQ6Ci0gICAgICAgICAgICBwYWludFRvZ2ds
ZUJ1dHRvbihwYXJ0LCBzdGF0ZXMsIGNvbnRleHQsIHpvb21lZFJlY3QsIHpvb21GYWN0b3IsIHNj
cm9sbFZpZXcpOworICAgICAgICAgICAgcGFpbnRUb2dnbGVCdXR0b24ocGFydCwgc3RhdGVzLCBj
b250ZXh0LCB6b29tZWRSZWN0LCB6b29tRmFjdG9yLCBzY3JvbGxWaWV3LCBkZXZpY2VTY2FsZUZh
Y3RvciwgcGFnZVNjYWxlRmFjdG9yKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFB1c2hCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0Ogo=
</data>
<flag name="review"
          id="283147"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>