<!--

File: content.html

Abstract: Sample content HTML file for the FancyToolbar

Version: 1.0 beta (works with Safari 3 and Firefox only)

Disclaimer: IMPORTANT:  This Apple software is supplied to you by 
Apple Inc. ("Apple") in consideration of your agreement to the
following terms, and your use, installation, modification or
redistribution of this Apple software constitutes acceptance of these
terms.  If you do not agree with these terms, please do not use,
install, modify or redistribute this Apple software.

In consideration of your agreement to abide by the following terms, and
subject to these terms, Apple grants you a personal, non-exclusive
license, under Apple's copyrights in this original Apple software (the
"Apple Software"), to use, reproduce, modify and redistribute the Apple
Software, with or without modifications, in source and/or binary forms;
provided that if you redistribute the Apple Software in its entirety and
without modifications, you must retain this notice and the following
text and disclaimers in all such redistributions of the Apple Software. 
Neither the name, trademarks, service marks or logos of Apple Inc. 
may be used to endorse or promote products derived from the Apple
Software without specific prior written permission from Apple.  Except
as expressly stated in this notice, no other rights or licenses, express
or implied, are granted by Apple herein, including but not limited to
any patent rights that may be infringed by your derivative works or by
other works in which the Apple Software may be incorporated.

The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.

IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

Copyright (C) 2007 Apple Inc. All Rights Reserved.

-->
<html>
<body contenteditable="true">
Morbi vitae erat. Cras sem lorem, porta ut, aliquam id, porta sed, velit.
Pellentesque scelerisque erat rhoncus nulla. Integer pulvinar, est ut
congue elementum, urna sapien blandit nibh, in lobortis turpis metus eget
dolor. Cras tristique vulputate sapien. Integer tincidunt elit adipiscing orci.
<p>
Nulla facilisi. In in velit. Sed varius turpis sed pede. Aliquam at libero.
Nunc a nibh. Nulla ullamcorper. Proin aliquet quam tempor metus. Mauris
fermentum turpis vel metus. Integer tincidunt tortor eget tellus. Vivamus
vel augue at metus rhoncus aliquet. Vivamus mi tellus, auctor sed, porta eu,
mattis vel, ipsum. Phasellus vulputate vulputate risus. Integer tincidunt,
dolor at dapibus vulputate, quam libero commodo elit, et feugiat odio felis
vitae eros. Vestibulum sapien. Praesent sollicitudin nibh eu dui. Cras
convallis tincidunt pede. Phasellus pellentesque metus in nulla. Praesent
euismod scelerisque diam. Morbi erat turpis, lobortis in, consequat nec,
lacinia sed, enim. Curabitur nisl nisl, consectetuer ac, eleifend a,
condimentum vel, sem.
</body>
</html>
