diff options
Diffstat (limited to 'share/frontend/im')
74 files changed, 10818 insertions, 0 deletions
diff --git a/share/frontend/im/#ffdead-black_1319995689.jpg b/share/frontend/im/#ffdead-black_1319995689.jpg Binary files differnew file mode 100755 index 0000000..6a39695 --- /dev/null +++ b/share/frontend/im/#ffdead-black_1319995689.jpg diff --git a/share/frontend/im/.htaccess b/share/frontend/im/.htaccess new file mode 100755 index 0000000..b6ae396 --- /dev/null +++ b/share/frontend/im/.htaccess @@ -0,0 +1,7 @@ +RewriteEngine On +RewriteCond %{REQUEST_URI} .*/im/(..)/(.*jpg|.*gif|.*png|.*jpeg)$ [NC] +RewriteRule ^(.*)$ http://i.asdf.us/im/%1/%2 [R=301,L] +Header add Access-Control-Allow-Origin "http://atrium.dump.fm" +Header add Access-Control-Allow-Origin "http://dump.fm" +Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" +Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" diff --git a/share/frontend/im/1327390579392dumpfmfrankhatscolor2tablet_1327477683_1327478593_1327480237.gif b/share/frontend/im/1327390579392dumpfmfrankhatscolor2tablet_1327477683_1327478593_1327480237.gif Binary files differnew file mode 100755 index 0000000..fead3f4 --- /dev/null +++ b/share/frontend/im/1327390579392dumpfmfrankhatscolor2tablet_1327477683_1327478593_1327480237.gif diff --git a/share/frontend/im/HTACCESS b/share/frontend/im/HTACCESS new file mode 100755 index 0000000..220a0e2 --- /dev/null +++ b/share/frontend/im/HTACCESS @@ -0,0 +1,3 @@ +RewriteEngine On +RewriteCond %{REQUEST_URI} .*/im/(..)/(.*jpg|.*gif|.*png|.*jpeg)$ [NC] +RewriteRule ^(.*)$ http://i.asdf.us/im/%1/%2 [R=301,L] diff --git a/share/frontend/im/OLD/01/_1424365694_frankhats.gif b/share/frontend/im/OLD/01/_1424365694_frankhats.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/01/_1424365694_frankhats.gif diff --git a/share/frontend/im/OLD/13/imgrid_1424839118_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/13/imgrid_1424839118_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/13/imgrid_1424839118_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/26/imgrid_1424839138_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/26/imgrid_1424839138_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/26/imgrid_1424839138_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/2a/imgrid_1424839194_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/2a/imgrid_1424839194_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/2a/imgrid_1424839194_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/37/imBreak_1424908970_xx_abridged___.gif b/share/frontend/im/OLD/37/imBreak_1424908970_xx_abridged___.gif Binary files differnew file mode 100644 index 0000000..bcc8038 --- /dev/null +++ b/share/frontend/im/OLD/37/imBreak_1424908970_xx_abridged___.gif diff --git a/share/frontend/im/OLD/3a/imgrid_1424839041_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/3a/imgrid_1424839041_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/3a/imgrid_1424839041_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/61/imgrid_1424839095_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/61/imgrid_1424839095_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/61/imgrid_1424839095_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/61/imgrid_1424839214_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/61/imgrid_1424839214_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/61/imgrid_1424839214_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/71/imgrid_1424839153_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/71/imgrid_1424839153_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/71/imgrid_1424839153_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/8c/_1424361556_dvvidpw.gif b/share/frontend/im/OLD/8c/_1424361556_dvvidpw.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/8c/_1424361556_dvvidpw.gif diff --git a/share/frontend/im/OLD/91/imgrid_1424839066_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/91/imgrid_1424839066_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/91/imgrid_1424839066_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/9f/imgrid_1424839118_pepper.png b/share/frontend/im/OLD/9f/imgrid_1424839118_pepper.png Binary files differnew file mode 100644 index 0000000..0c8ee7d --- /dev/null +++ b/share/frontend/im/OLD/9f/imgrid_1424839118_pepper.png diff --git a/share/frontend/im/OLD/ba/imBreak_1424908974_xx_abridged___.gif b/share/frontend/im/OLD/ba/imBreak_1424908974_xx_abridged___.gif Binary files differnew file mode 100644 index 0000000..f0b981d --- /dev/null +++ b/share/frontend/im/OLD/ba/imBreak_1424908974_xx_abridged___.gif diff --git a/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365488_mmi.gif b/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365488_mmi.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365488_mmi.gif diff --git a/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365545_mmi.gif b/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365545_mmi.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/bb/1423883560371dumpfmdatesdooduok_1424365545_mmi.gif diff --git a/share/frontend/im/OLD/bc/new_1424372778.gif b/share/frontend/im/OLD/bc/new_1424372778.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/bc/new_1424372778.gif diff --git a/share/frontend/im/OLD/bc/new_1424372876.gif b/share/frontend/im/OLD/bc/new_1424372876.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/bc/new_1424372876.gif diff --git a/share/frontend/im/OLD/cf/imgrid_1424839174_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/cf/imgrid_1424839174_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/cf/imgrid_1424839174_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/clearthedirectories b/share/frontend/im/OLD/clearthedirectories new file mode 100755 index 0000000..6d5b2a7 --- /dev/null +++ b/share/frontend/im/OLD/clearthedirectories @@ -0,0 +1,51 @@ +#!/usr/bin/python2.7 + +import sys +import os +import time + +f = open("directories",'r') +lines = f.readlines() +f.close() +newlines = [] +for line in lines: + if "\n" in line: + jerry = line.replace("\n","") + if len(jerry) == 2: + newlines.append(jerry) +dirs = newlines +print dirs +for dir in dirs: + print dir + if len(dir) == 2: + delete = False + os.system("ls "+dir+"/ >> contents") + f = open("contents","r") + thecontents = f.readlines() + f.close() + print thecontents + os.system("rm contents") + tempbool = False + tempbool2 = False + if len(thecontents) != 0: + for x in thecontents: + if ".jpg" in x: + tempbool = True +# if len(thedirs)>40: +# tempbool2 = True + if tempbool == True:# and tempbool2 == True: + print "deleting contents.." + print "moving to directory '"+dir+"'" + if len(thecontents)>0: + x = input("bout to do some deleting 1=yes 0=no") + if x == 1: + print "ok deleting "+dir+"/*" + try: + os.system("rm "+dir+"/*") + except: + continue + else: + sys.exit() + else: + print "nothing there" + continue diff --git a/share/frontend/im/OLD/d8/imgrid_1424839121_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/d8/imgrid_1424839121_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/d8/imgrid_1424839121_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/e6/imBreak_1424908981_xx_abridged___.gif b/share/frontend/im/OLD/e6/imBreak_1424908981_xx_abridged___.gif Binary files differnew file mode 100644 index 0000000..04cc98f --- /dev/null +++ b/share/frontend/im/OLD/e6/imBreak_1424908981_xx_abridged___.gif diff --git a/share/frontend/im/OLD/e9/_1424362273_dvvidpw.gif b/share/frontend/im/OLD/e9/_1424362273_dvvidpw.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/e9/_1424362273_dvvidpw.gif diff --git a/share/frontend/im/OLD/ec/imgrid_1424839230_imgrid_1424839001_ymba2ut_pepper_pepper.png b/share/frontend/im/OLD/ec/imgrid_1424839230_imgrid_1424839001_ymba2ut_pepper_pepper.png Binary files differnew file mode 100644 index 0000000..266d54f --- /dev/null +++ b/share/frontend/im/OLD/ec/imgrid_1424839230_imgrid_1424839001_ymba2ut_pepper_pepper.png diff --git a/share/frontend/im/OLD/f8/_1424370030.gif b/share/frontend/im/OLD/f8/_1424370030.gif Binary files differnew file mode 100644 index 0000000..3c51d74 --- /dev/null +++ b/share/frontend/im/OLD/f8/_1424370030.gif diff --git a/share/frontend/im/THEHTACCESS b/share/frontend/im/THEHTACCESS new file mode 100755 index 0000000..220a0e2 --- /dev/null +++ b/share/frontend/im/THEHTACCESS @@ -0,0 +1,3 @@ +RewriteEngine On +RewriteCond %{REQUEST_URI} .*/im/(..)/(.*jpg|.*gif|.*png|.*jpeg)$ [NC] +RewriteRule ^(.*)$ http://i.asdf.us/im/%1/%2 [R=301,L] diff --git a/share/frontend/im/api.html b/share/frontend/im/api.html new file mode 100755 index 0000000..2ea9d75 --- /dev/null +++ b/share/frontend/im/api.html @@ -0,0 +1,50 @@ +<!doctype html> +<html> +<head> +<title>Photoblaster API</title> +<script type="text/javascript" src="/js/jquery.js"></script> +<script type="text/javascript" src="/js/photoblaster-0.1.js"></script> +<style type="text/css"> +@font-face { + font-family: 'PixelComicSans-Regular'; + src: url('/fonts/pixelcomicsans/PixelComicSans-Regular.eot?#iefix') format('embedded-opentype'), + url('/fonts/pixelcomicsans/PixelComicSans-Regular.woff') format('woff'), + url('/fonts/pixelcomicsans/PixelComicSans-Regular.ttf') format('truetype'), + url('/fonts/pixelcomicsans/PixelComicSans-Regular.svg#svgFontName') format('svg'); + font-weight: normal; + font-style: normal; +} + +body { + font-family: "PixelComicSans-Regular", sans-serif; + background: #ddd; +} +</style> +</head> +<body> +<p>Push this button to test the API: <button id="test">TEST</button></p> +<p id="output"></p> +</body> +<script type="text/javascript"> +$(function(){ +// var url = "http://www.maskworld.com/pix/masks/025-party-face-gesicht-fasching-karneval-carnival-halloween-latex-film-movie-larp-theatre-theater-horror-rubber-gummi-mask-masks-maske-masken.jpg"; + var url = "http://thecoolgadgets.com/wp-content/uploads/2010/03/hamburger_usb_flash_drive.jpg"; + var name = "test"; + function success (data) { + var s = ""; + for (i in data) { + s += i + ": <b>" + data[i] + "</b><br>"; + } + s += "old: <img src='URL'><br>".replace('URL', url); + s += "new: <img src='URL'><br>".replace('URL', data['url']); + $("#output").html(s); + }; + function error (e) { + $("#output").html("There was an error: <b>" + e + "</b>"); + }; + $("#test").click(function() { + $.photoblaster(url, name, success, error); + }); +}); +</script> + diff --git a/share/frontend/im/arrow_pointing_left.png b/share/frontend/im/arrow_pointing_left.png Binary files differnew file mode 100755 index 0000000..ba1fb53 --- /dev/null +++ b/share/frontend/im/arrow_pointing_left.png diff --git a/share/frontend/im/asdf.html b/share/frontend/im/asdf.html new file mode 100755 index 0000000..e8b8687 --- /dev/null +++ b/share/frontend/im/asdf.html @@ -0,0 +1,462 @@ +<!doctype html> +<html> +<head> +<title>PHOTOBLASTER</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta property="og:title" content="PHOTOBLASTER"/> +<meta property="og:type" content="website"/> +<meta property="og:url" content="http://asdf.us/im/"/> +<meta property="og:image" content="http://asdf.us/im/6e/sparklebling1_1310021111_1310071704.gif" /> +<meta property="og:site_name" content="asdf.us"/> +<meta property="og:description" content="Paste a link into the first box, then use the other settings to colorize, distort, add transparency and a background."/> +<meta property="fb:admins" content="100001923956223,1709246"/> +<style type="text/css"> +* + { + padding: 0; + margin: 0; + font-family: sans-serif; + } +body + { + overflow: hidden; + background-color: #e6e0e0; + // background-color: #838388; + color: #555; + } +#controls,#result + { + display: inline-block; + padding: 10px; + width: 430px; + position: absolute; + } +#controls + { + font-size: 14px; + top: 0; left: 0; + z-index: 5; + } +#result + { + background-color: #d6d0d0; +// background-color: #131412; + top: 10px; left: 480px; + display: none; + z-index: 5; + } +#instructions + { + position: absolute; + bottom: 10px; + left: 10px; + line-height: 18px; + z-index: 1; + } +p,form + { +// background-color: #010101; + background-color: #fff; + background-image: url(imcupbg.jpg); + background-position: center center; + padding: 10px; + font-size: 14px; + width: 430px; + display: block; + } +#gallery-link + { + background-color: #fff; + background-image: url(imcupbg.jpg); + background-position: center center; + position: absolute; + top: 10px; + right: 10px; + padding: 10px; + z-index: 10; + } +.error + { + color: red; + font-size: 20px; + } +a + { +// color: #b4d; + color: #a39; + font-weight: bold; + } +label + { + display: inline-block; + width: 190px; + padding-right: 10px; + text-align: right; + } +small + { + color: #777; + } +input[type=text] + { + width: 100px; + } +#img-url,#output-url,#img-background + { + width: 200px; + } +#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate + { + width: 50px; + text-align: right; + } +button + { + padding: 2px 5px; + font-size: 16px; + } +#result img + { + max-width: 400px; + max-height: 400px; + } +#output-cmd + { + font-size: 12px; + white-space: pre; + } +.shim + { + height: 10px; + clear: both; + display: block; + } +#output-url + { + width: 320px; + } +#likebutton + { + display: none; + position: absolute; + bottom: 10px; + right: 10px; + width: 350px; + background-color: #fff; + background-image: url(imcupbg.jpg); + padding: 10px; + color: #ddd; + font-family: trebuchet ms, sans-serif; + } +div#controls, span#userlink { + display: none; +} span#userlink a { + text-transform: capitalize; +} +</style> +<body> +<div id="controls"> +<form id="imform" action="javascript:return false"> + <label id="img-url-label">IMAGE URL</label> + <input type="text" id="img-url" /> + <br/> + <label id="background-url-label">background URL</label> + <input type="text" id="img-background" value="" /> + <br/> + + <label>compose operator</label> + <select id="img-compose"> + <option selected="selected">Over</option> + <option>ATop</option> + <option>Dst_Over</option> + <option>Dst_In</option> + <option>Dst_Out</option> + <option>Multiply</option> + <option>Screen</option> + <option>Divide</option> + <option>Plus</option> + <option>Difference</option> + <option>Exclusion</option> + <option>Lighten</option> + <option>Darken</option> + <option>Overlay</option> + <option>Hard_Light</option> + <option>Soft_Light</option> + <option>Pegtop_Light</option> + <option>Linear_Light</option> + <option>Vivid_Light</option> + <option>Pin_Light</option> + <option>Linear_Dodge</option> + <option>Linear_Burn</option> + <option>Color_Dodge</option> + <option>Color_Burn</option> + </select> +<!-- <br> + <label>tile foreground?</label> + + <input type="checkbox" id="img-tile" value="1" /> + <br/> --> + +<!-- + <label>merge before recolor?</label> + <input type="checkbox" id="img-merge_early" value="1" /> + <br/> + +--> + <span class="shim"></span> + + + <span class="shim"></span> + + <label>make transparent?</label> + <input type="checkbox" id="img-transparent" value="1" checked="true" /> + <br/> + + <label>remove color</label> + <input type="text" id="img-subtract" value="white" /> + <br/> + + <label>transparency fuzz</label> + <input type="text" id="img-fuzz" value="5" />% + <br/> + + <span class="shim"></span> + + <label>resize width</label> + <input type="text" id="img-width" /><small>px</small> + <br/> + + <label>resize height</label> + <input type="text" id="img-height" /><small>px</small> + <br/> + + <span class="shim"></span> + + <label>recolor white</label> + <input type="text" id="img-white" value="white" /> + <a href="colors/index.html" style="font-size: 10px">List of Color Names</a> + <br/> + + <label>recolor black</label> + <input type="text" id="img-black" value="black" /> + <br/> + + <span class="shim"></span> + + <label>hue <small>(0-200)</small></label> + <input type="text" id="img-hue" value="" /> + <br/> +<!-- + <label>saturation <small>(0-200)</small></label> + <input type="text" id="img-saturation" value="" /> + <br/> +--> +<!-- + <label>brightness <small>(0-200)</small></label> + <input type="text" id="img-brightness" value="" /> + <br/> +--> +<!-- + <label>contrast <small>(0-200)</small></label> + <input type="text" id="img-contrast" value="" /> + <br/> +--> + + <span class="shim"></span> + + <label>flip horizontally?</label> + <input type="checkbox" id="img-flop" value="1" /> + <br/> + + <label>flip vertically?</label> + <input type="checkbox" id="img-flip" value="1" /> + <br/> + + <label>rotate <small>(0-360)</small></label> + <input type="text" id="img-rotate" value="" />° + <br/> + + <span class="shim"></span> + + <label>output format</label> + <select id="img-format"> + <option selected="selected">gif</option> + <option>jpg</option> + <option>png</option> + </select> + <!-- <input type="reset" id="reset-button" value="reset-button"></input>--> + + + <span class="shim"></span> + + <label>put your name here >>></label> + <input type="text" id="img-name" value="" /> + <br/> + + <span class="shim"></span> + + <label> </label> + <button id="img-generate">GENERATE</button> + + </form> + + <span class="shim"></span> + <p> + <img src="new.gif" width="32" height="16" /> + Oh now it's on....payback time → <a href="/imbreak/">FOTO FUCKER</a> + <span class="shim"></span> + <img src="new.gif" width="32" height="16" /> + Transform images in 3D → <a href="/imgrid/">Grid Generator</a> + <span class="shim"></span> + Gradients make everything better → <a href="/imgradient/">Gradient Generator</a> + </p> + <span class="shim"></span> + <p> + See what people are making → <a href="/im/gallery/">Image Gallery</a><br/> + <span class="shim"></span> + The best ones go here → <a href="http://photoblaster.tumblr.com/">Photoblaster Tumblr</a> + <span class="shim"></span> + View a random selection → <a href="/im/gallery/?random=1">Random Gallery</a><br/> + <span id="userlink"> + <span class="shim"></span> + Things you've made → <a href="/im/gallery/?random=1">Your Gallery</a><br/> + </span> + </p> +</div> + +<div id="result"> + → <input type="text" id="output-url"/><br/> + <span id="output-cmd"></span><br/> + + <img id="output-img" /> +</div> + +<div id="likebutton"> +<div id="fb-root" style="background-color: transparent;"></div><script src="http://connect.facebook.net/en_US/all.js#appId=236917449658413&xfbml=1"></script><fb:like href="http://asdf.us/im/" send="false" width="347" show_faces="true" colorscheme="light" font="" style="background-color: transparent;"></fb:like> +</div> + +</body> +<script type="text/javascript" src="/js/jquery.js"></script> +<script type="text/javascript"> +var Main = + { + API_HEADER: "#@im", + generating: false, + enter: function (e) + { + if (Main.generating) + return + if (e.keyCode === 13) + Main.go() + }, + go: function () + { + if (Main.generating) + return + Main.generating = true + $("#output-cmd").html('generating...').show() + $("#result").show() + var data = + { + url: $("#img-url").val(), + transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false", + flip: $('#img-flip:checked').val() !== undefined ? "true" : "false", + flop: $('#img-flop:checked').val() !== undefined ? "true" : "false", + rotate: $("#img-rotate").val(), + subtract: $("#img-subtract").val(), + fuzz: $("#img-fuzz").val(), + width: $("#img-width").val(), + height: $("#img-height").val(), + black: $("#img-black").val(), + white: $("#img-white").val(), + //brightness: $("#img-brightness").val(), + //saturation: $("#img-saturation").val(), + hue: $("#img-hue").val(), + contrast: $("#img-contrast").val(), + background: $("#img-background").val(), + // merge_early: $('#img-merge_early:checked').val() !== undefined ? "true" : "false", + compose: $('#img-compose :selected').text(), + // tile: $('#img-tile:checked').val() !== undefined ? "true" : "false", + format: $('#img-format :selected').text(), + name: $("#img-name").val(), + } + if (data.name.length > 0) + document.cookie = "imname="+data.name+";path=/;domain=.asdf.us;max-age=1086400" + $.post("/cgi-bin/im/generate", data, Main.callback) + }, + error: function (s) + { + $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show() + $("#output-url").hide() + $("#output-img").hide() + }, + callback: function (raw) + { + Main.generating = false + lines = raw.split("\n") + if (lines[0] !== Main.API_HEADER) + return Main.error("problem loading API") + if (lines[1].indexOf("ERROR\t") === 0) + return Main.error(lines[1].split("\t")[1]) + + // $("#output-cmd").html(lines[1]+"<br/>"+lines[2]) + // $("#output-cmd").hide() + $("#output-cmd").html("size: "+Main.filesize(lines[4])+"<br/>"+(lines[5].replace(" ", " x ").replace(/'/g,"").replace(',',""))) + $("#output-url").val(lines[3]) + $("#output-img").hide().attr("src", lines[3]).fadeIn(700) + }, + filesize: function (size) + { + if (size < 1024) + return size + " bytes" + if (size < 1024 * 1024) + return Math.floor (size/1024) + " KB" + else + return Math.floor (size/(1024*1024)) + " MB" + }, + cookie: function () + { + if (document.cookie) + { + var cookies = document.cookie.split(";") + for (i in cookies) + { + var cookie = cookies[i].split("=") + if (cookie[0].indexOf("imname") !== -1) + { + if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length) + { + return cookie[1] + } + } + } + } + return "" + }, + preloadSize: function(url,label,tag){ + console.log(url) + var img = new Image() + img.onload = function(){ $(label).html( tag + ": " + img.naturalWidth + " x " + img.naturalHeight ) } + img.src = url + }, + init: function () + { + var name = Main.cookie () + $("#img-name").val(name) + if (name) + { + $("#userlink").show() + $("#userlink a").attr("href", "/im/gallery/?name="+name).html(name+"'s photoblasts") + } + $("#likebutton,#controls").fadeIn(0) + $("#img-generate").bind("click", Main.go) + $("div input[type=text]").bind("keydown", Main.enter) + $("#img-url").change(function(){Main.preloadSize(this.value,"#img-url-label","image")}) + $("#img-background").change(function(){Main.preloadSize(this.value,"#background-url-label","bg")}) + }, + } +document.getElementById('imform').reset(); +Main.init () +</script> +</html> + diff --git a/share/frontend/im/colors.html b/share/frontend/im/colors.html new file mode 100755 index 0000000..0ef22f9 --- /dev/null +++ b/share/frontend/im/colors.html @@ -0,0 +1,5429 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- saved from url=(0124)https://mail.google.com/mail/?ui=2&ik=8c5c6e41c0&view=att&th=131a60939ee4c454&attid=0.1&disp=inline&realattid=f_gr2htzs60&zw --> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head> +<style type="text/css"> +* + { + font-family: sans-serif; + } +</style> +<body> + + + +<div> +<h1><a></a>List of Color Names</h1> +<div> + +<p>a list of named colors for use with PHOTOBLASTER:</p> + +<table> +<tbody> + <tr> + <th align="right">Name</th> + <th align="center">Color</th> + <th align="left">RGB</th> + <th align="left">Hex</th> + + </tr> + + <tr> + <td align="right">snow</td> + <td align="center" style="background-color:rgb(255, 250, 250)">snow</td> + <td align="left">rgb(255, 250, 250)</td> + <td align="left">#FFFAFA</td> + + </tr> + + <tr> + <td align="right">snow1</td> + <td align="center" style="background-color:rgb(255, 250, 250)">snow1</td> + <td align="left">rgb(255, 250, 250)</td> + <td align="left">#FFFAFA</td> + + </tr> + + <tr> + <td align="right">snow2</td> + <td align="center" style="background-color:rgb(238, 233, 233)">snow2</td> + <td align="left">rgb(238, 233, 233)</td> + <td align="left">#EEE9E9</td> + + </tr> + + <tr> + <td align="right">RosyBrown1</td> + <td align="center" style="background-color:rgb(255, 193, 193)">RosyBrown1</td> + <td align="left">rgb(255, 193, 193)</td> + <td align="left">#FFC1C1</td> + + </tr> + + <tr> + <td align="right">RosyBrown2</td> + <td align="center" style="background-color:rgb(238, 180, 180)">RosyBrown2</td> + <td align="left">rgb(238, 180, 180)</td> + <td align="left">#EEB4B4</td> + + </tr> + + <tr> + <td align="right">snow3</td> + <td align="center" style="background-color:rgb(205, 201, 201)">snow3</td> + <td align="left">rgb(205, 201, 201)</td> + <td align="left">#CDC9C9</td> + + </tr> + + <tr> + <td align="right">LightCoral</td> + <td align="center" style="background-color:rgb(240, 128, 128)">LightCoral</td> + <td align="left">rgb(240, 128, 128)</td> + <td align="left">#F08080</td> + + </tr> + + <tr> + <td align="right">IndianRed1</td> + <td align="center" style="background-color:rgb(255, 106, 106)">IndianRed1</td> + <td align="left">rgb(255, 106, 106)</td> + <td align="left">#FF6A6A</td> + + </tr> + + <tr> + <td align="right">RosyBrown3</td> + <td align="center" style="background-color:rgb(205, 155, 155)">RosyBrown3</td> + <td align="left">rgb(205, 155, 155)</td> + <td align="left">#CD9B9B</td> + + </tr> + + <tr> + <td align="right">IndianRed2</td> + <td align="center" style="background-color:rgb(238, 99, 99)">IndianRed2</td> + <td align="left">rgb(238, 99, 99)</td> + <td align="left">#EE6363</td> + + </tr> + + <tr> + <td align="right">RosyBrown</td> + <td align="center" style="background-color:rgb(188, 143, 143)">RosyBrown</td> + <td align="left">rgb(188, 143, 143)</td> + <td align="left">#BC8F8F</td> + + </tr> + + <tr> + <td align="right">brown1</td> + <td align="center" style="background-color:rgb(255, 64, 64)">brown1</td> + <td align="left">rgb(255, 64, 64)</td> + <td align="left">#FF4040</td> + + </tr> + + <tr> + <td align="right">firebrick1</td> + <td align="center" style="background-color:rgb(255, 48, 48)">firebrick1</td> + <td align="left">rgb(255, 48, 48)</td> + <td align="left">#FF3030</td> + + </tr> + + <tr> + <td align="right">brown2</td> + <td align="center" style="background-color:rgb(238, 59, 59)">brown2</td> + <td align="left">rgb(238, 59, 59)</td> + <td align="left">#EE3B3B</td> + + </tr> + + <tr> + <td align="right">IndianRed</td> + <td align="center" style="background-color:rgb(205, 92, 92)">IndianRed</td> + <td align="left">rgb(205, 92, 92)</td> + <td align="left">#CD5C5C</td> + + </tr> + + <tr> + <td align="right">IndianRed3</td> + <td align="center" style="background-color:rgb(205, 85, 85)">IndianRed3</td> + <td align="left">rgb(205, 85, 85)</td> + <td align="left">#CD5555</td> + + </tr> + + <tr> + <td align="right">firebrick2</td> + <td align="center" style="background-color:rgb(238, 44, 44)">firebrick2</td> + <td align="left">rgb(238, 44, 44)</td> + <td align="left">#EE2C2C</td> + + </tr> + + <tr> + <td align="right">snow4</td> + <td align="center" style="background-color:rgb(139, 137, 137)">snow4</td> + <td align="left">rgb(139, 137, 137)</td> + <td align="left">#8B8989</td> + + </tr> + + <tr> + <td align="right">brown3</td> + <td align="center" style="background-color:rgb(205, 51, 51)">brown3</td> + <td align="left">rgb(205, 51, 51)</td> + <td align="left">#CD3333</td> + + </tr> + + <tr> + <td align="right">red</td> + <td align="center" style="background-color:rgb(255, 0, 0)">red</td> + <td align="left">rgb(255, 0, 0)</td> + <td align="left">#FF0000</td> + + </tr> + + <tr> + <td align="right">red1</td> + <td align="center" style="background-color:rgb(255, 0, 0)">red1</td> + <td align="left">rgb(255, 0, 0)</td> + <td align="left">#FF0000</td> + + </tr> + + <tr> + <td align="right">RosyBrown4</td> + <td align="center" style="background-color:rgb(139, 105, 105)">RosyBrown4</td> + <td align="left">rgb(139, 105, 105)</td> + <td align="left">#8B6969</td> + + </tr> + + <tr> + <td align="right">firebrick3</td> + <td align="center" style="background-color:rgb(205, 38, 38)">firebrick3</td> + <td align="left">rgb(205, 38, 38)</td> + <td align="left">#CD2626</td> + + </tr> + + <tr> + <td align="right">red2</td> + <td align="center" style="background-color:rgb(238, 0, 0)">red2</td> + <td align="left">rgb(238, 0, 0)</td> + <td align="left">#EE0000</td> + + </tr> + + <tr> + <td align="right">firebrick</td> + <td align="center" style="background-color:rgb(178, 34, 34)">firebrick</td> + <td align="left">rgb(178, 34, 34)</td> + <td align="left">#B22222</td> + + </tr> + + <tr> + <td align="right">brown</td> + <td align="center" style="background-color:rgb(165, 42, 42)">brown</td> + <td align="left">rgb(165, 42, 42)</td> + <td align="left">#A52A2A</td> + + </tr> + + <tr> + <td align="right">red3</td> + <td align="center" style="background-color:rgb(205, 0, 0)">red3</td> + <td align="left">rgb(205, 0, 0)</td> + <td align="left">#CD0000</td> + + </tr> + + <tr> + <td align="right">IndianRed4</td> + <td align="center" style="background-color:rgb(139, 58, 58)">IndianRed4</td> + <td align="left">rgb(139, 58, 58)</td> + <td align="left">#8B3A3A</td> + + </tr> + + <tr> + <td align="right">brown4</td> + <td align="center" style="background-color:rgb(139, 35, 35)">brown4</td> + <td align="left">rgb(139, 35, 35)</td> + <td align="left">#8B2323</td> + + </tr> + + <tr> + <td align="right">firebrick4</td> + <td align="center" style="background-color:rgb(139, 26, 26)">firebrick4</td> + <td align="left">rgb(139, 26, 26)</td> + <td align="left">#8B1A1A</td> + + </tr> + + <tr> + <td align="right">DarkRed</td> + <td align="center" style="background-color:rgb(139, 0, 0)">DarkRed</td> + <td align="left">rgb(139, 0, 0)</td> + <td align="left">#8B0000</td> + + </tr> + + <tr> + <td align="right">red4</td> + <td align="center" style="background-color:rgb(139, 0, 0)">red4</td> + <td align="left">rgb(139, 0, 0)</td> + <td align="left">#8B0000</td> + + </tr> + + <tr> + <td align="right">maroon</td> + <td align="center" style="background-color:rgb(128, 0, 0)">maroon</td> + <td align="left">rgb(128, 0, 0)</td> + <td align="left">#800000</td> + + </tr> + + <tr> + <td align="right">LightPink1</td> + <td align="center" style="background-color:rgb(255, 174, 185)">LightPink1</td> + <td align="left">rgb(255, 174, 185)</td> + <td align="left">#FFAEB9</td> + + </tr> + + <tr> + <td align="right">LightPink3</td> + <td align="center" style="background-color:rgb(205, 140, 149)">LightPink3</td> + <td align="left">rgb(205, 140, 149)</td> + <td align="left">#CD8C95</td> + + </tr> + + <tr> + <td align="right">LightPink4</td> + <td align="center" style="background-color:rgb(139, 95, 101)">LightPink4</td> + <td align="left">rgb(139, 95, 101)</td> + <td align="left">#8B5F65</td> + + </tr> + + <tr> + <td align="right">LightPink2</td> + <td align="center" style="background-color:rgb(238, 162, 173)">LightPink2</td> + <td align="left">rgb(238, 162, 173)</td> + <td align="left">#EEA2AD</td> + + </tr> + + <tr> + <td align="right">LightPink</td> + <td align="center" style="background-color:rgb(255, 182, 193)">LightPink</td> + <td align="left">rgb(255, 182, 193)</td> + <td align="left">#FFB6C1</td> + + </tr> + + <tr> + <td align="right">pink</td> + <td align="center" style="background-color:rgb(255, 192, 203)">pink</td> + <td align="left">rgb(255, 192, 203)</td> + <td align="left">#FFC0CB</td> + + </tr> + + <tr> + <td align="right">crimson</td> + <td align="center" style="background-color:rgb(220, 20, 60)">crimson</td> + <td align="left">rgb(220, 20, 60)</td> + <td align="left">#DC143C</td> + + </tr> + + <tr> + <td align="right">pink1</td> + <td align="center" style="background-color:rgb(255, 181, 197)">pink1</td> + <td align="left">rgb(255, 181, 197)</td> + <td align="left">#FFB5C5</td> + + </tr> + + <tr> + <td align="right">pink2</td> + <td align="center" style="background-color:rgb(238, 169, 184)">pink2</td> + <td align="left">rgb(238, 169, 184)</td> + <td align="left">#EEA9B8</td> + + </tr> + + <tr> + <td align="right">pink3</td> + <td align="center" style="background-color:rgb(205, 145, 158)">pink3</td> + <td align="left">rgb(205, 145, 158)</td> + <td align="left">#CD919E</td> + + </tr> + + <tr> + <td align="right">pink4</td> + <td align="center" style="background-color:rgb(139, 99, 108)">pink4</td> + <td align="left">rgb(139, 99, 108)</td> + <td align="left">#8B636C</td> + + </tr> + + <tr> + <td align="right">PaleVioletRed4</td> + <td align="center" style="background-color:rgb(139, 71, 93)">PaleVioletRed4</td> + <td align="left">rgb(139, 71, 93)</td> + <td align="left">#8B475D</td> + + </tr> + + <tr> + <td align="right">PaleVioletRed</td> + <td align="center" style="background-color:rgb(219, 112, 147)">PaleVioletRed</td> + <td align="left">rgb(219, 112, 147)</td> + <td align="left">#DB7093</td> + + </tr> + + <tr> + <td align="right">PaleVioletRed2</td> + <td align="center" style="background-color:rgb(238, 121, 159)">PaleVioletRed2</td> + <td align="left">rgb(238, 121, 159)</td> + <td align="left">#EE799F</td> + + </tr> + + <tr> + <td align="right">PaleVioletRed1</td> + <td align="center" style="background-color:rgb(255, 130, 171)">PaleVioletRed1</td> + <td align="left">rgb(255, 130, 171)</td> + <td align="left">#FF82AB</td> + + </tr> + + <tr> + <td align="right">PaleVioletRed3</td> + <td align="center" style="background-color:rgb(205, 104, 137)">PaleVioletRed3</td> + <td align="left">rgb(205, 104, 137)</td> + <td align="left">#CD6889</td> + + </tr> + + <tr> + <td align="right">LavenderBlush</td> + <td align="center" style="background-color:rgb(255, 240, 245)">LavenderBlush</td> + <td align="left">rgb(255, 240, 245)</td> + <td align="left">#FFF0F5</td> + + </tr> + + <tr> + <td align="right">LavenderBlush1</td> + <td align="center" style="background-color:rgb(255, 240, 245)">LavenderBlush1</td> + <td align="left">rgb(255, 240, 245)</td> + <td align="left">#FFF0F5</td> + + </tr> + + <tr> + <td align="right">LavenderBlush3</td> + <td align="center" style="background-color:rgb(205, 193, 197)">LavenderBlush3</td> + <td align="left">rgb(205, 193, 197)</td> + <td align="left">#CDC1C5</td> + + </tr> + + <tr> + <td align="right">LavenderBlush2</td> + <td align="center" style="background-color:rgb(238, 224, 229)">LavenderBlush2</td> + <td align="left">rgb(238, 224, 229)</td> + <td align="left">#EEE0E5</td> + + </tr> + + <tr> + <td align="right">LavenderBlush4</td> + <td align="center" style="background-color:rgb(139, 131, 134)">LavenderBlush4</td> + <td align="left">rgb(139, 131, 134)</td> + <td align="left">#8B8386</td> + + </tr> + + <tr> + <td align="right">maroon</td> + <td align="center" style="background-color:rgb(176, 48, 96)">maroon</td> + <td align="left">rgb(176, 48, 96)</td> + <td align="left">#B03060</td> + + </tr> + + <tr> + <td align="right">HotPink3</td> + <td align="center" style="background-color:rgb(205, 96, 144)">HotPink3</td> + <td align="left">rgb(205, 96, 144)</td> + <td align="left">#CD6090</td> + + </tr> + + <tr> + <td align="right">VioletRed3</td> + <td align="center" style="background-color:rgb(205, 50, 120)">VioletRed3</td> + <td align="left">rgb(205, 50, 120)</td> + <td align="left">#CD3278</td> + + </tr> + + <tr> + <td align="right">VioletRed1</td> + <td align="center" style="background-color:rgb(255, 62, 150)">VioletRed1</td> + <td align="left">rgb(255, 62, 150)</td> + <td align="left">#FF3E96</td> + + </tr> + + <tr> + <td align="right">VioletRed2</td> + <td align="center" style="background-color:rgb(238, 58, 140)">VioletRed2</td> + <td align="left">rgb(238, 58, 140)</td> + <td align="left">#EE3A8C</td> + + </tr> + + <tr> + <td align="right">VioletRed4</td> + <td align="center" style="background-color:rgb(139, 34, 82)">VioletRed4</td> + <td align="left">rgb(139, 34, 82)</td> + <td align="left">#8B2252</td> + + </tr> + + <tr> + <td align="right">HotPink2</td> + <td align="center" style="background-color:rgb(238, 106, 167)">HotPink2</td> + <td align="left">rgb(238, 106, 167)</td> + <td align="left">#EE6AA7</td> + + </tr> + + <tr> + <td align="right">HotPink1</td> + <td align="center" style="background-color:rgb(255, 110, 180)">HotPink1</td> + <td align="left">rgb(255, 110, 180)</td> + <td align="left">#FF6EB4</td> + + </tr> + + <tr> + <td align="right">HotPink4</td> + <td align="center" style="background-color:rgb(139, 58, 98)">HotPink4</td> + <td align="left">rgb(139, 58, 98)</td> + <td align="left">#8B3A62</td> + + </tr> + + <tr> + <td align="right">HotPink</td> + <td align="center" style="background-color:rgb(255, 105, 180)">HotPink</td> + <td align="left">rgb(255, 105, 180)</td> + <td align="left">#FF69B4</td> + + </tr> + + <tr> + <td align="right">DeepPink</td> + <td align="center" style="background-color:rgb(255, 20, 147)">DeepPink</td> + <td align="left">rgb(255, 20, 147)</td> + <td align="left">#FF1493</td> + + </tr> + + <tr> + <td align="right">DeepPink1</td> + <td align="center" style="background-color:rgb(255, 20, 147)">DeepPink1</td> + <td align="left">rgb(255, 20, 147)</td> + <td align="left">#FF1493</td> + + </tr> + + <tr> + <td align="right">DeepPink2</td> + <td align="center" style="background-color:rgb(238, 18, 137)">DeepPink2</td> + <td align="left">rgb(238, 18, 137)</td> + <td align="left">#EE1289</td> + + </tr> + + <tr> + <td align="right">DeepPink3</td> + <td align="center" style="background-color:rgb(205, 16, 118)">DeepPink3</td> + <td align="left">rgb(205, 16, 118)</td> + <td align="left">#CD1076</td> + + </tr> + + <tr> + <td align="right">DeepPink4</td> + <td align="center" style="background-color:rgb(139, 10, 80)">DeepPink4</td> + <td align="left">rgb(139, 10, 80)</td> + <td align="left">#8B0A50</td> + + </tr> + + <tr> + <td align="right">maroon1</td> + <td align="center" style="background-color:rgb(255, 52, 179)">maroon1</td> + <td align="left">rgb(255, 52, 179)</td> + <td align="left">#FF34B3</td> + + </tr> + + <tr> + <td align="right">maroon2</td> + <td align="center" style="background-color:rgb(238, 48, 167)">maroon2</td> + <td align="left">rgb(238, 48, 167)</td> + <td align="left">#EE30A7</td> + + </tr> + + <tr> + <td align="right">maroon3</td> + <td align="center" style="background-color:rgb(205, 41, 144)">maroon3</td> + <td align="left">rgb(205, 41, 144)</td> + <td align="left">#CD2990</td> + + </tr> + + <tr> + <td align="right">maroon4</td> + <td align="center" style="background-color:rgb(139, 28, 98)">maroon4</td> + <td align="left">rgb(139, 28, 98)</td> + <td align="left">#8B1C62</td> + + </tr> + + <tr> + <td align="right">MediumVioletRed</td> + <td align="center" style="background-color:rgb(199, 21, 133)">MediumVioletRed</td> + <td align="left">rgb(199, 21, 133)</td> + <td align="left">#C71585</td> + + </tr> + + <tr> + <td align="right">VioletRed</td> + <td align="center" style="background-color:rgb(208, 32, 144)">VioletRed</td> + <td align="left">rgb(208, 32, 144)</td> + <td align="left">#D02090</td> + + </tr> + + <tr> + <td align="right">orchid2</td> + <td align="center" style="background-color:rgb(238, 122, 233)">orchid2</td> + <td align="left">rgb(238, 122, 233)</td> + <td align="left">#EE7AE9</td> + + </tr> + + <tr> + <td align="right">orchid</td> + <td align="center" style="background-color:rgb(218, 112, 214)">orchid</td> + <td align="left">rgb(218, 112, 214)</td> + <td align="left">#DA70D6</td> + + </tr> + + <tr> + <td align="right">orchid1</td> + <td align="center" style="background-color:rgb(255, 131, 250)">orchid1</td> + <td align="left">rgb(255, 131, 250)</td> + <td align="left">#FF83FA</td> + + </tr> + + <tr> + <td align="right">orchid3</td> + <td align="center" style="background-color:rgb(205, 105, 201)">orchid3</td> + <td align="left">rgb(205, 105, 201)</td> + <td align="left">#CD69C9</td> + + </tr> + + <tr> + <td align="right">orchid4</td> + <td align="center" style="background-color:rgb(139, 71, 137)">orchid4</td> + <td align="left">rgb(139, 71, 137)</td> + <td align="left">#8B4789</td> + + </tr> + + <tr> + <td align="right">thistle1</td> + <td align="center" style="background-color:rgb(255, 225, 255)">thistle1</td> + <td align="left">rgb(255, 225, 255)</td> + <td align="left">#FFE1FF</td> + + </tr> + + <tr> + <td align="right">thistle2</td> + <td align="center" style="background-color:rgb(238, 210, 238)">thistle2</td> + <td align="left">rgb(238, 210, 238)</td> + <td align="left">#EED2EE</td> + + </tr> + + <tr> + <td align="right">plum1</td> + <td align="center" style="background-color:rgb(255, 187, 255)">plum1</td> + <td align="left">rgb(255, 187, 255)</td> + <td align="left">#FFBBFF</td> + + </tr> + + <tr> + <td align="right">plum2</td> + <td align="center" style="background-color:rgb(238, 174, 238)">plum2</td> + <td align="left">rgb(238, 174, 238)</td> + <td align="left">#EEAEEE</td> + + </tr> + + <tr> + <td align="right">thistle</td> + <td align="center" style="background-color:rgb(216, 191, 216)">thistle</td> + <td align="left">rgb(216, 191, 216)</td> + <td align="left">#D8BFD8</td> + + </tr> + + <tr> + <td align="right">thistle3</td> + <td align="center" style="background-color:rgb(205, 181, 205)">thistle3</td> + <td align="left">rgb(205, 181, 205)</td> + <td align="left">#CDB5CD</td> + + </tr> + + <tr> + <td align="right">plum</td> + <td align="center" style="background-color:rgb(221, 160, 221)">plum</td> + <td align="left">rgb(221, 160, 221)</td> + <td align="left">#DDA0DD</td> + + </tr> + + <tr> + <td align="right">violet</td> + <td align="center" style="background-color:rgb(238, 130, 238)">violet</td> + <td align="left">rgb(238, 130, 238)</td> + <td align="left">#EE82EE</td> + + </tr> + + <tr> + <td align="right">plum3</td> + <td align="center" style="background-color:rgb(205, 150, 205)">plum3</td> + <td align="left">rgb(205, 150, 205)</td> + <td align="left">#CD96CD</td> + + </tr> + + <tr> + <td align="right">thistle4</td> + <td align="center" style="background-color:rgb(139, 123, 139)">thistle4</td> + <td align="left">rgb(139, 123, 139)</td> + <td align="left">#8B7B8B</td> + + </tr> + + <tr> + <td align="right">fuchsia</td> + <td align="center" style="background-color:rgb(255, 0, 255)">fuchsia</td> + <td align="left">rgb(255, 0, 255)</td> + <td align="left">#FF00FF</td> + + </tr> + + <tr> + <td align="right">magenta</td> + <td align="center" style="background-color:rgb(255, 0, 255)">magenta</td> + <td align="left">rgb(255, 0, 255)</td> + <td align="left">#FF00FF</td> + + </tr> + + <tr> + <td align="right">magenta1</td> + <td align="center" style="background-color:rgb(255, 0, 255)">magenta1</td> + <td align="left">rgb(255, 0, 255)</td> + <td align="left">#FF00FF</td> + + </tr> + + <tr> + <td align="right">plum4</td> + <td align="center" style="background-color:rgb(139, 102, 139)">plum4</td> + <td align="left">rgb(139, 102, 139)</td> + <td align="left">#8B668B</td> + + </tr> + + <tr> + <td align="right">magenta2</td> + <td align="center" style="background-color:rgb(238, 0, 238)">magenta2</td> + <td align="left">rgb(238, 0, 238)</td> + <td align="left">#EE00EE</td> + + </tr> + + <tr> + <td align="right">magenta3</td> + <td align="center" style="background-color:rgb(205, 0, 205)">magenta3</td> + <td align="left">rgb(205, 0, 205)</td> + <td align="left">#CD00CD</td> + + </tr> + + <tr> + <td align="right">DarkMagenta</td> + <td align="center" style="background-color:rgb(139, 0, 139)">DarkMagenta</td> + <td align="left">rgb(139, 0, 139)</td> + <td align="left">#8B008B</td> + + </tr> + + <tr> + <td align="right">magenta4</td> + <td align="center" style="background-color:rgb(139, 0, 139)">magenta4</td> + <td align="left">rgb(139, 0, 139)</td> + <td align="left">#8B008B</td> + + </tr> + + <tr> + <td align="right">purple</td> + <td align="center" style="background-color:rgb(128, 0, 128)">purple</td> + <td align="left">rgb(128, 0, 128)</td> + <td align="left">#800080</td> + + </tr> + + <tr> + <td align="right">MediumOrchid</td> + <td align="center" style="background-color:rgb(186, 85, 211)">MediumOrchid</td> + <td align="left">rgb(186, 85, 211)</td> + <td align="left">#BA55D3</td> + + </tr> + + <tr> + <td align="right">MediumOrchid1</td> + <td align="center" style="background-color:rgb(224, 102, 255)">MediumOrchid1</td> + <td align="left">rgb(224, 102, 255)</td> + <td align="left">#E066FF</td> + + </tr> + + <tr> + <td align="right">MediumOrchid2</td> + <td align="center" style="background-color:rgb(209, 95, 238)">MediumOrchid2</td> + <td align="left">rgb(209, 95, 238)</td> + <td align="left">#D15FEE</td> + + </tr> + + <tr> + <td align="right">MediumOrchid3</td> + <td align="center" style="background-color:rgb(180, 82, 205)">MediumOrchid3</td> + <td align="left">rgb(180, 82, 205)</td> + <td align="left">#B452CD</td> + + </tr> + + <tr> + <td align="right">MediumOrchid4</td> + <td align="center" style="background-color:rgb(122, 55, 139)">MediumOrchid4</td> + <td align="left">rgb(122, 55, 139)</td> + <td align="left">#7A378B</td> + + </tr> + + <tr> + <td align="right">DarkViolet</td> + <td align="center" style="background-color:rgb(148, 0, 211)">DarkViolet</td> + <td align="left">rgb(148, 0, 211)</td> + <td align="left">#9400D3</td> + + </tr> + + <tr> + <td align="right">DarkOrchid</td> + <td align="center" style="background-color:rgb(153, 50, 204)">DarkOrchid</td> + <td align="left">rgb(153, 50, 204)</td> + <td align="left">#9932CC</td> + + </tr> + + <tr> + <td align="right">DarkOrchid1</td> + <td align="center" style="background-color:rgb(191, 62, 255)">DarkOrchid1</td> + <td align="left">rgb(191, 62, 255)</td> + <td align="left">#BF3EFF</td> + + </tr> + + <tr> + <td align="right">DarkOrchid3</td> + <td align="center" style="background-color:rgb(154, 50, 205)">DarkOrchid3</td> + <td align="left">rgb(154, 50, 205)</td> + <td align="left">#9A32CD</td> + + </tr> + + <tr> + <td align="right">DarkOrchid2</td> + <td align="center" style="background-color:rgb(178, 58, 238)">DarkOrchid2</td> + <td align="left">rgb(178, 58, 238)</td> + <td align="left">#B23AEE</td> + + </tr> + + <tr> + <td align="right">DarkOrchid4</td> + <td align="center" style="background-color:rgb(104, 34, 139)">DarkOrchid4</td> + <td align="left">rgb(104, 34, 139)</td> + <td align="left">#68228B</td> + + </tr> + + <tr> + <td align="right">purple</td> + <td align="center" style="background-color:rgb(160, 32, 240)">purple</td> + <td align="left">rgb(160, 32, 240)</td> + <td align="left">#A020F0</td> + + </tr> + + <tr> + <td align="right">indigo</td> + <td align="center" style="background-color:rgb( 75, 0, 130)">indigo</td> + <td align="left">rgb( 75, 0, 130)</td> + <td align="left">#4B0082</td> + + </tr> + + <tr> + <td align="right">BlueViolet</td> + <td align="center" style="background-color:rgb(138, 43, 226)">BlueViolet</td> + <td align="left">rgb(138, 43, 226)</td> + <td align="left">#8A2BE2</td> + + </tr> + + <tr> + <td align="right">purple2</td> + <td align="center" style="background-color:rgb(145, 44, 238)">purple2</td> + <td align="left">rgb(145, 44, 238)</td> + <td align="left">#912CEE</td> + + </tr> + + <tr> + <td align="right">purple3</td> + <td align="center" style="background-color:rgb(125, 38, 205)">purple3</td> + <td align="left">rgb(125, 38, 205)</td> + <td align="left">#7D26CD</td> + + </tr> + + <tr> + <td align="right">purple4</td> + <td align="center" style="background-color:rgb( 85, 26, 139)">purple4</td> + <td align="left">rgb( 85, 26, 139)</td> + <td align="left">#551A8B</td> + + </tr> + + <tr> + <td align="right">purple1</td> + <td align="center" style="background-color:rgb(155, 48, 255)">purple1</td> + <td align="left">rgb(155, 48, 255)</td> + <td align="left">#9B30FF</td> + + </tr> + + <tr> + <td align="right">MediumPurple</td> + <td align="center" style="background-color:rgb(147, 112, 219)">MediumPurple</td> + <td align="left">rgb(147, 112, 219)</td> + <td align="left">#9370DB</td> + + </tr> + + <tr> + <td align="right">MediumPurple1</td> + <td align="center" style="background-color:rgb(171, 130, 255)">MediumPurple1</td> + <td align="left">rgb(171, 130, 255)</td> + <td align="left">#AB82FF</td> + + </tr> + + <tr> + <td align="right">MediumPurple2</td> + <td align="center" style="background-color:rgb(159, 121, 238)">MediumPurple2</td> + <td align="left">rgb(159, 121, 238)</td> + <td align="left">#9F79EE</td> + + </tr> + + <tr> + <td align="right">MediumPurple3</td> + <td align="center" style="background-color:rgb(137, 104, 205)">MediumPurple3</td> + <td align="left">rgb(137, 104, 205)</td> + <td align="left">#8968CD</td> + + </tr> + + <tr> + <td align="right">MediumPurple4</td> + <td align="center" style="background-color:rgb( 93, 71, 139)">MediumPurple4</td> + <td align="left">rgb( 93, 71, 139)</td> + <td align="left">#5D478B</td> + + </tr> + + <tr> + <td align="right">DarkSlateBlue</td> + <td align="center" style="background-color:rgb( 72, 61, 139)">DarkSlateBlue</td> + <td align="left">rgb( 72, 61, 139)</td> + <td align="left">#483D8B</td> + + </tr> + + <tr> + <td align="right">LightSlateBlue</td> + <td align="center" style="background-color:rgb(132, 112, 255)">LightSlateBlue</td> + <td align="left">rgb(132, 112, 255)</td> + <td align="left">#8470FF</td> + + </tr> + + <tr> + <td align="right">MediumSlateBlue</td> + <td align="center" style="background-color:rgb(123, 104, 238)">MediumSlateBlue</td> + <td align="left">rgb(123, 104, 238)</td> + <td align="left">#7B68EE</td> + + </tr> + + <tr> + <td align="right">SlateBlue</td> + <td align="center" style="background-color:rgb(106, 90, 205)">SlateBlue</td> + <td align="left">rgb(106, 90, 205)</td> + <td align="left">#6A5ACD</td> + + </tr> + + <tr> + <td align="right">SlateBlue1</td> + <td align="center" style="background-color:rgb(131, 111, 255)">SlateBlue1</td> + <td align="left">rgb(131, 111, 255)</td> + <td align="left">#836FFF</td> + + </tr> + + <tr> + <td align="right">SlateBlue2</td> + <td align="center" style="background-color:rgb(122, 103, 238)">SlateBlue2</td> + <td align="left">rgb(122, 103, 238)</td> + <td align="left">#7A67EE</td> + + </tr> + + <tr> + <td align="right">SlateBlue3</td> + <td align="center" style="background-color:rgb(105, 89, 205)">SlateBlue3</td> + <td align="left">rgb(105, 89, 205)</td> + <td align="left">#6959CD</td> + + </tr> + + <tr> + <td align="right">SlateBlue4</td> + <td align="center" style="background-color:rgb( 71, 60, 139)">SlateBlue4</td> + <td align="left">rgb( 71, 60, 139)</td> + <td align="left">#473C8B</td> + + </tr> + + <tr> + <td align="right">GhostWhite</td> + <td align="center" style="background-color:rgb(248, 248, 255)">GhostWhite</td> + <td align="left">rgb(248, 248, 255)</td> + <td align="left">#F8F8FF</td> + + </tr> + + <tr> + <td align="right">lavender</td> + <td align="center" style="background-color:rgb(230, 230, 250)">lavender</td> + <td align="left">rgb(230, 230, 250)</td> + <td align="left">#E6E6FA</td> + + </tr> + + <tr> + <td align="right">blue</td> + <td align="center" style="background-color:rgb( 0, 0, 255)">blue</td> + <td align="left">rgb( 0, 0, 255)</td> + <td align="left">#0000FF</td> + + </tr> + + <tr> + <td align="right">blue1</td> + <td align="center" style="background-color:rgb( 0, 0, 255)">blue1</td> + <td align="left">rgb( 0, 0, 255)</td> + <td align="left">#0000FF</td> + + </tr> + + <tr> + <td align="right">blue2</td> + <td align="center" style="background-color:rgb( 0, 0, 238)">blue2</td> + <td align="left">rgb( 0, 0, 238)</td> + <td align="left">#0000EE</td> + + </tr> + + <tr> + <td align="right">blue3</td> + <td align="center" style="background-color:rgb( 0, 0, 205)">blue3</td> + <td align="left">rgb( 0, 0, 205)</td> + <td align="left">#0000CD</td> + + </tr> + + <tr> + <td align="right">MediumBlue</td> + <td align="center" style="background-color:rgb( 0, 0, 205)">MediumBlue</td> + <td align="left">rgb( 0, 0, 205)</td> + <td align="left">#0000CD</td> + + </tr> + + <tr> + <td align="right">blue4</td> + <td align="center" style="background-color:rgb( 0, 0, 139)">blue4</td> + <td align="left">rgb( 0, 0, 139)</td> + <td align="left">#00008B</td> + + </tr> + + <tr> + <td align="right">DarkBlue</td> + <td align="center" style="background-color:rgb( 0, 0, 139)">DarkBlue</td> + <td align="left">rgb( 0, 0, 139)</td> + <td align="left">#00008B</td> + + </tr> + + <tr> + <td align="right">MidnightBlue</td> + <td align="center" style="background-color:rgb( 25, 25, 112)">MidnightBlue</td> + <td align="left">rgb( 25, 25, 112)</td> + <td align="left">#191970</td> + + </tr> + + <tr> + <td align="right">navy</td> + <td align="center" style="background-color:rgb( 0, 0, 128)">navy</td> + <td align="left">rgb( 0, 0, 128)</td> + <td align="left">#000080</td> + + </tr> + + <tr> + <td align="right">NavyBlue</td> + <td align="center" style="background-color:rgb( 0, 0, 128)">NavyBlue</td> + <td align="left">rgb( 0, 0, 128)</td> + <td align="left">#000080</td> + + </tr> + + <tr> + <td align="right">RoyalBlue</td> + <td align="center" style="background-color:rgb( 65, 105, 225)">RoyalBlue</td> + <td align="left">rgb( 65, 105, 225)</td> + <td align="left">#4169E1</td> + + </tr> + + <tr> + <td align="right">RoyalBlue1</td> + <td align="center" style="background-color:rgb( 72, 118, 255)">RoyalBlue1</td> + <td align="left">rgb( 72, 118, 255)</td> + <td align="left">#4876FF</td> + + </tr> + + <tr> + <td align="right">RoyalBlue2</td> + <td align="center" style="background-color:rgb( 67, 110, 238)">RoyalBlue2</td> + <td align="left">rgb( 67, 110, 238)</td> + <td align="left">#436EEE</td> + + </tr> + + <tr> + <td align="right">RoyalBlue3</td> + <td align="center" style="background-color:rgb( 58, 95, 205)">RoyalBlue3</td> + <td align="left">rgb( 58, 95, 205)</td> + <td align="left">#3A5FCD</td> + + </tr> + + <tr> + <td align="right">RoyalBlue4</td> + <td align="center" style="background-color:rgb( 39, 64, 139)">RoyalBlue4</td> + <td align="left">rgb( 39, 64, 139)</td> + <td align="left">#27408B</td> + + </tr> + + <tr> + <td align="right">CornflowerBlue</td> + <td align="center" style="background-color:rgb(100, 149, 237)">CornflowerBlue</td> + <td align="left">rgb(100, 149, 237)</td> + <td align="left">#6495ED</td> + + </tr> + + <tr> + <td align="right">LightSteelBlue</td> + <td align="center" style="background-color:rgb(176, 196, 222)">LightSteelBlue</td> + <td align="left">rgb(176, 196, 222)</td> + <td align="left">#B0C4DE</td> + + </tr> + + <tr> + <td align="right">LightSteelBlue1</td> + <td align="center" style="background-color:rgb(202, 225, 255)">LightSteelBlue1</td> + <td align="left">rgb(202, 225, 255)</td> + <td align="left">#CAE1FF</td> + + </tr> + + <tr> + <td align="right">LightSteelBlue2</td> + <td align="center" style="background-color:rgb(188, 210, 238)">LightSteelBlue2</td> + <td align="left">rgb(188, 210, 238)</td> + <td align="left">#BCD2EE</td> + + </tr> + + <tr> + <td align="right">LightSteelBlue3</td> + <td align="center" style="background-color:rgb(162, 181, 205)">LightSteelBlue3</td> + <td align="left">rgb(162, 181, 205)</td> + <td align="left">#A2B5CD</td> + + </tr> + + <tr> + <td align="right">LightSteelBlue4</td> + <td align="center" style="background-color:rgb(110, 123, 139)">LightSteelBlue4</td> + <td align="left">rgb(110, 123, 139)</td> + <td align="left">#6E7B8B</td> + + </tr> + + <tr> + <td align="right">SlateGray4</td> + <td align="center" style="background-color:rgb(108, 123, 139)">SlateGray4</td> + <td align="left">rgb(108, 123, 139)</td> + <td align="left">#6C7B8B</td> + + </tr> + + <tr> + <td align="right">SlateGray1</td> + <td align="center" style="background-color:rgb(198, 226, 255)">SlateGray1</td> + <td align="left">rgb(198, 226, 255)</td> + <td align="left">#C6E2FF</td> + + </tr> + + <tr> + <td align="right">SlateGray2</td> + <td align="center" style="background-color:rgb(185, 211, 238)">SlateGray2</td> + <td align="left">rgb(185, 211, 238)</td> + <td align="left">#B9D3EE</td> + + </tr> + + <tr> + <td align="right">SlateGray3</td> + <td align="center" style="background-color:rgb(159, 182, 205)">SlateGray3</td> + <td align="left">rgb(159, 182, 205)</td> + <td align="left">#9FB6CD</td> + + </tr> + + <tr> + <td align="right">LightSlateGray</td> + <td align="center" style="background-color:rgb(119, 136, 153)">LightSlateGray</td> + <td align="left">rgb(119, 136, 153)</td> + <td align="left">#778899</td> + + </tr> + + <tr> + <td align="right">LightSlateGrey</td> + <td align="center" style="background-color:rgb(119, 136, 153)">LightSlateGrey</td> + <td align="left">rgb(119, 136, 153)</td> + <td align="left">#778899</td> + + </tr> + + <tr> + <td align="right">SlateGray</td> + <td align="center" style="background-color:rgb(112, 128, 144)">SlateGray</td> + <td align="left">rgb(112, 128, 144)</td> + <td align="left">#708090</td> + + </tr> + + <tr> + <td align="right">SlateGrey</td> + <td align="center" style="background-color:rgb(112, 128, 144)">SlateGrey</td> + <td align="left">rgb(112, 128, 144)</td> + <td align="left">#708090</td> + + </tr> + + <tr> + <td align="right">DodgerBlue</td> + <td align="center" style="background-color:rgb( 30, 144, 255)">DodgerBlue</td> + <td align="left">rgb( 30, 144, 255)</td> + <td align="left">#1E90FF</td> + + </tr> + + <tr> + <td align="right">DodgerBlue1</td> + <td align="center" style="background-color:rgb( 30, 144, 255)">DodgerBlue1</td> + <td align="left">rgb( 30, 144, 255)</td> + <td align="left">#1E90FF</td> + + </tr> + + <tr> + <td align="right">DodgerBlue2</td> + <td align="center" style="background-color:rgb( 28, 134, 238)">DodgerBlue2</td> + <td align="left">rgb( 28, 134, 238)</td> + <td align="left">#1C86EE</td> + + </tr> + + <tr> + <td align="right">DodgerBlue4</td> + <td align="center" style="background-color:rgb( 16, 78, 139)">DodgerBlue4</td> + <td align="left">rgb( 16, 78, 139)</td> + <td align="left">#104E8B</td> + + </tr> + + <tr> + <td align="right">DodgerBlue3</td> + <td align="center" style="background-color:rgb( 24, 116, 205)">DodgerBlue3</td> + <td align="left">rgb( 24, 116, 205)</td> + <td align="left">#1874CD</td> + + </tr> + + <tr> + <td align="right">AliceBlue</td> + <td align="center" style="background-color:rgb(240, 248, 255)">AliceBlue</td> + <td align="left">rgb(240, 248, 255)</td> + <td align="left">#F0F8FF</td> + + </tr> + + <tr> + <td align="right">SteelBlue4</td> + <td align="center" style="background-color:rgb( 54, 100, 139)">SteelBlue4</td> + <td align="left">rgb( 54, 100, 139)</td> + <td align="left">#36648B</td> + + </tr> + + <tr> + <td align="right">SteelBlue</td> + <td align="center" style="background-color:rgb( 70, 130, 180)">SteelBlue</td> + <td align="left">rgb( 70, 130, 180)</td> + <td align="left">#4682B4</td> + + </tr> + + <tr> + <td align="right">SteelBlue1</td> + <td align="center" style="background-color:rgb( 99, 184, 255)">SteelBlue1</td> + <td align="left">rgb( 99, 184, 255)</td> + <td align="left">#63B8FF</td> + + </tr> + + <tr> + <td align="right">SteelBlue2</td> + <td align="center" style="background-color:rgb( 92, 172, 238)">SteelBlue2</td> + <td align="left">rgb( 92, 172, 238)</td> + <td align="left">#5CACEE</td> + + </tr> + + <tr> + <td align="right">SteelBlue3</td> + <td align="center" style="background-color:rgb( 79, 148, 205)">SteelBlue3</td> + <td align="left">rgb( 79, 148, 205)</td> + <td align="left">#4F94CD</td> + + </tr> + + <tr> + <td align="right">SkyBlue4</td> + <td align="center" style="background-color:rgb( 74, 112, 139)">SkyBlue4</td> + <td align="left">rgb( 74, 112, 139)</td> + <td align="left">#4A708B</td> + + </tr> + + <tr> + <td align="right">SkyBlue1</td> + <td align="center" style="background-color:rgb(135, 206, 255)">SkyBlue1</td> + <td align="left">rgb(135, 206, 255)</td> + <td align="left">#87CEFF</td> + + </tr> + + <tr> + <td align="right">SkyBlue2</td> + <td align="center" style="background-color:rgb(126, 192, 238)">SkyBlue2</td> + <td align="left">rgb(126, 192, 238)</td> + <td align="left">#7EC0EE</td> + + </tr> + + <tr> + <td align="right">SkyBlue3</td> + <td align="center" style="background-color:rgb(108, 166, 205)">SkyBlue3</td> + <td align="left">rgb(108, 166, 205)</td> + <td align="left">#6CA6CD</td> + + </tr> + + <tr> + <td align="right">LightSkyBlue</td> + <td align="center" style="background-color:rgb(135, 206, 250)">LightSkyBlue</td> + <td align="left">rgb(135, 206, 250)</td> + <td align="left">#87CEFA</td> + + </tr> + + <tr> + <td align="right">LightSkyBlue4</td> + <td align="center" style="background-color:rgb( 96, 123, 139)">LightSkyBlue4</td> + <td align="left">rgb( 96, 123, 139)</td> + <td align="left">#607B8B</td> + + </tr> + + <tr> + <td align="right">LightSkyBlue1</td> + <td align="center" style="background-color:rgb(176, 226, 255)">LightSkyBlue1</td> + <td align="left">rgb(176, 226, 255)</td> + <td align="left">#B0E2FF</td> + + </tr> + + <tr> + <td align="right">LightSkyBlue2</td> + <td align="center" style="background-color:rgb(164, 211, 238)">LightSkyBlue2</td> + <td align="left">rgb(164, 211, 238)</td> + <td align="left">#A4D3EE</td> + + </tr> + + <tr> + <td align="right">LightSkyBlue3</td> + <td align="center" style="background-color:rgb(141, 182, 205)">LightSkyBlue3</td> + <td align="left">rgb(141, 182, 205)</td> + <td align="left">#8DB6CD</td> + + </tr> + + <tr> + <td align="right">SkyBlue</td> + <td align="center" style="background-color:rgb(135, 206, 235)">SkyBlue</td> + <td align="left">rgb(135, 206, 235)</td> + <td align="left">#87CEEB</td> + + </tr> + + <tr> + <td align="right">LightBlue3</td> + <td align="center" style="background-color:rgb(154, 192, 205)">LightBlue3</td> + <td align="left">rgb(154, 192, 205)</td> + <td align="left">#9AC0CD</td> + + </tr> + + <tr> + <td align="right">DeepSkyBlue</td> + <td align="center" style="background-color:rgb( 0, 191, 255)">DeepSkyBlue</td> + <td align="left">rgb( 0, 191, 255)</td> + <td align="left">#00BFFF</td> + + </tr> + + <tr> + <td align="right">DeepSkyBlue1</td> + <td align="center" style="background-color:rgb( 0, 191, 255)">DeepSkyBlue1</td> + <td align="left">rgb( 0, 191, 255)</td> + <td align="left">#00BFFF</td> + + </tr> + + <tr> + <td align="right">DeepSkyBlue2</td> + <td align="center" style="background-color:rgb( 0, 178, 238)">DeepSkyBlue2</td> + <td align="left">rgb( 0, 178, 238)</td> + <td align="left">#00B2EE</td> + + </tr> + + <tr> + <td align="right">DeepSkyBlue4</td> + <td align="center" style="background-color:rgb( 0, 104, 139)">DeepSkyBlue4</td> + <td align="left">rgb( 0, 104, 139)</td> + <td align="left">#00688B</td> + + </tr> + + <tr> + <td align="right">DeepSkyBlue3</td> + <td align="center" style="background-color:rgb( 0, 154, 205)">DeepSkyBlue3</td> + <td align="left">rgb( 0, 154, 205)</td> + <td align="left">#009ACD</td> + + </tr> + + <tr> + <td align="right">LightBlue1</td> + <td align="center" style="background-color:rgb(191, 239, 255)">LightBlue1</td> + <td align="left">rgb(191, 239, 255)</td> + <td align="left">#BFEFFF</td> + + </tr> + + <tr> + <td align="right">LightBlue2</td> + <td align="center" style="background-color:rgb(178, 223, 238)">LightBlue2</td> + <td align="left">rgb(178, 223, 238)</td> + <td align="left">#B2DFEE</td> + + </tr> + + <tr> + <td align="right">LightBlue</td> + <td align="center" style="background-color:rgb(173, 216, 230)">LightBlue</td> + <td align="left">rgb(173, 216, 230)</td> + <td align="left">#ADD8E6</td> + + </tr> + + <tr> + <td align="right">LightBlue4</td> + <td align="center" style="background-color:rgb(104, 131, 139)">LightBlue4</td> + <td align="left">rgb(104, 131, 139)</td> + <td align="left">#68838B</td> + + </tr> + + <tr> + <td align="right">PowderBlue</td> + <td align="center" style="background-color:rgb(176, 224, 230)">PowderBlue</td> + <td align="left">rgb(176, 224, 230)</td> + <td align="left">#B0E0E6</td> + + </tr> + + <tr> + <td align="right">CadetBlue1</td> + <td align="center" style="background-color:rgb(152, 245, 255)">CadetBlue1</td> + <td align="left">rgb(152, 245, 255)</td> + <td align="left">#98F5FF</td> + + </tr> + + <tr> + <td align="right">CadetBlue2</td> + <td align="center" style="background-color:rgb(142, 229, 238)">CadetBlue2</td> + <td align="left">rgb(142, 229, 238)</td> + <td align="left">#8EE5EE</td> + + </tr> + + <tr> + <td align="right">CadetBlue3</td> + <td align="center" style="background-color:rgb(122, 197, 205)">CadetBlue3</td> + <td align="left">rgb(122, 197, 205)</td> + <td align="left">#7AC5CD</td> + + </tr> + + <tr> + <td align="right">CadetBlue4</td> + <td align="center" style="background-color:rgb( 83, 134, 139)">CadetBlue4</td> + <td align="left">rgb( 83, 134, 139)</td> + <td align="left">#53868B</td> + + </tr> + + <tr> + <td align="right">turquoise1</td> + <td align="center" style="background-color:rgb( 0, 245, 255)">turquoise1</td> + <td align="left">rgb( 0, 245, 255)</td> + <td align="left">#00F5FF</td> + + </tr> + + <tr> + <td align="right">turquoise2</td> + <td align="center" style="background-color:rgb( 0, 229, 238)">turquoise2</td> + <td align="left">rgb( 0, 229, 238)</td> + <td align="left">#00E5EE</td> + + </tr> + + <tr> + <td align="right">turquoise3</td> + <td align="center" style="background-color:rgb( 0, 197, 205)">turquoise3</td> + <td align="left">rgb( 0, 197, 205)</td> + <td align="left">#00C5CD</td> + + </tr> + + <tr> + <td align="right">turquoise4</td> + <td align="center" style="background-color:rgb( 0, 134, 139)">turquoise4</td> + <td align="left">rgb( 0, 134, 139)</td> + <td align="left">#00868B</td> + + </tr> + + <tr> + <td align="right">cadet blue</td> + <td align="center" style="background-color:rgb( 95, 158, 160)">cadet blue</td> + <td align="left">rgb( 95, 158, 160)</td> + <td align="left">#5F9EA0</td> + + </tr> + + <tr> + <td align="right">CadetBlue</td> + <td align="center" style="background-color:rgb( 95, 158, 160)">CadetBlue</td> + <td align="left">rgb( 95, 158, 160)</td> + <td align="left">#5F9EA0</td> + + </tr> + + <tr> + <td align="right">DarkTurquoise</td> + <td align="center" style="background-color:rgb( 0, 206, 209)">DarkTurquoise</td> + <td align="left">rgb( 0, 206, 209)</td> + <td align="left">#00CED1</td> + + </tr> + + <tr> + <td align="right">azure</td> + <td align="center" style="background-color:rgb(240, 255, 255)">azure</td> + <td align="left">rgb(240, 255, 255)</td> + <td align="left">#F0FFFF</td> + + </tr> + + <tr> + <td align="right">azure1</td> + <td align="center" style="background-color:rgb(240, 255, 255)">azure1</td> + <td align="left">rgb(240, 255, 255)</td> + <td align="left">#F0FFFF</td> + + </tr> + + <tr> + <td align="right">LightCyan</td> + <td align="center" style="background-color:rgb(224, 255, 255)">LightCyan</td> + <td align="left">rgb(224, 255, 255)</td> + <td align="left">#E0FFFF</td> + + </tr> + + <tr> + <td align="right">LightCyan1</td> + <td align="center" style="background-color:rgb(224, 255, 255)">LightCyan1</td> + <td align="left">rgb(224, 255, 255)</td> + <td align="left">#E0FFFF</td> + + </tr> + + <tr> + <td align="right">azure2</td> + <td align="center" style="background-color:rgb(224, 238, 238)">azure2</td> + <td align="left">rgb(224, 238, 238)</td> + <td align="left">#E0EEEE</td> + + </tr> + + <tr> + <td align="right">LightCyan2</td> + <td align="center" style="background-color:rgb(209, 238, 238)">LightCyan2</td> + <td align="left">rgb(209, 238, 238)</td> + <td align="left">#D1EEEE</td> + + </tr> + + <tr> + <td align="right">PaleTurquoise1</td> + <td align="center" style="background-color:rgb(187, 255, 255)">PaleTurquoise1</td> + <td align="left">rgb(187, 255, 255)</td> + <td align="left">#BBFFFF</td> + + </tr> + + <tr> + <td align="right">PaleTurquoise</td> + <td align="center" style="background-color:rgb(175, 238, 238)">PaleTurquoise</td> + <td align="left">rgb(175, 238, 238)</td> + <td align="left">#AFEEEE</td> + + </tr> + + <tr> + <td align="right">PaleTurquoise2</td> + <td align="center" style="background-color:rgb(174, 238, 238)">PaleTurquoise2</td> + <td align="left">rgb(174, 238, 238)</td> + <td align="left">#AEEEEE</td> + + </tr> + + <tr> + <td align="right">DarkSlateGray1</td> + <td align="center" style="background-color:rgb(151, 255, 255)">DarkSlateGray1</td> + <td align="left">rgb(151, 255, 255)</td> + <td align="left">#97FFFF</td> + + </tr> + + <tr> + <td align="right">azure3</td> + <td align="center" style="background-color:rgb(193, 205, 205)">azure3</td> + <td align="left">rgb(193, 205, 205)</td> + <td align="left">#C1CDCD</td> + + </tr> + + <tr> + <td align="right">LightCyan3</td> + <td align="center" style="background-color:rgb(180, 205, 205)">LightCyan3</td> + <td align="left">rgb(180, 205, 205)</td> + <td align="left">#B4CDCD</td> + + </tr> + + <tr> + <td align="right">DarkSlateGray2</td> + <td align="center" style="background-color:rgb(141, 238, 238)">DarkSlateGray2</td> + <td align="left">rgb(141, 238, 238)</td> + <td align="left">#8DEEEE</td> + + </tr> + + <tr> + <td align="right">PaleTurquoise3</td> + <td align="center" style="background-color:rgb(150, 205, 205)">PaleTurquoise3</td> + <td align="left">rgb(150, 205, 205)</td> + <td align="left">#96CDCD</td> + + </tr> + + <tr> + <td align="right">DarkSlateGray3</td> + <td align="center" style="background-color:rgb(121, 205, 205)">DarkSlateGray3</td> + <td align="left">rgb(121, 205, 205)</td> + <td align="left">#79CDCD</td> + + </tr> + + <tr> + <td align="right">azure4</td> + <td align="center" style="background-color:rgb(131, 139, 139)">azure4</td> + <td align="left">rgb(131, 139, 139)</td> + <td align="left">#838B8B</td> + + </tr> + + <tr> + <td align="right">LightCyan4</td> + <td align="center" style="background-color:rgb(122, 139, 139)">LightCyan4</td> + <td align="left">rgb(122, 139, 139)</td> + <td align="left">#7A8B8B</td> + + </tr> + + <tr> + <td align="right">aqua</td> + <td align="center" style="background-color:rgb( 0, 255, 255)">aqua</td> + <td align="left">rgb( 0, 255, 255)</td> + <td align="left">#00FFFF</td> + + </tr> + + <tr> + <td align="right">cyan</td> + <td align="center" style="background-color:rgb( 0, 255, 255)">cyan</td> + <td align="left">rgb( 0, 255, 255)</td> + <td align="left">#00FFFF</td> + + </tr> + + <tr> + <td align="right">cyan1</td> + <td align="center" style="background-color:rgb( 0, 255, 255)">cyan1</td> + <td align="left">rgb( 0, 255, 255)</td> + <td align="left">#00FFFF</td> + + </tr> + + <tr> + <td align="right">PaleTurquoise4</td> + <td align="center" style="background-color:rgb(102, 139, 139)">PaleTurquoise4</td> + <td align="left">rgb(102, 139, 139)</td> + <td align="left">#668B8B</td> + + </tr> + + <tr> + <td align="right">cyan2</td> + <td align="center" style="background-color:rgb( 0, 238, 238)">cyan2</td> + <td align="left">rgb( 0, 238, 238)</td> + <td align="left">#00EEEE</td> + + </tr> + + <tr> + <td align="right">DarkSlateGray4</td> + <td align="center" style="background-color:rgb( 82, 139, 139)">DarkSlateGray4</td> + <td align="left">rgb( 82, 139, 139)</td> + <td align="left">#528B8B</td> + + </tr> + + <tr> + <td align="right">cyan3</td> + <td align="center" style="background-color:rgb( 0, 205, 205)">cyan3</td> + <td align="left">rgb( 0, 205, 205)</td> + <td align="left">#00CDCD</td> + + </tr> + + <tr> + <td align="right">cyan4</td> + <td align="center" style="background-color:rgb( 0, 139, 139)">cyan4</td> + <td align="left">rgb( 0, 139, 139)</td> + <td align="left">#008B8B</td> + + </tr> + + <tr> + <td align="right">DarkCyan</td> + <td align="center" style="background-color:rgb( 0, 139, 139)">DarkCyan</td> + <td align="left">rgb( 0, 139, 139)</td> + <td align="left">#008B8B</td> + + </tr> + + <tr> + <td align="right">teal</td> + <td align="center" style="background-color:rgb( 0, 128, 128)">teal</td> + <td align="left">rgb( 0, 128, 128)</td> + <td align="left">#008080</td> + + </tr> + + <tr> + <td align="right">DarkSlateGray</td> + <td align="center" style="background-color:rgb( 47, 79, 79)">DarkSlateGray</td> + <td align="left">rgb( 47, 79, 79)</td> + <td align="left">#2F4F4F</td> + + </tr> + + <tr> + <td align="right">DarkSlateGrey</td> + <td align="center" style="background-color:rgb( 47, 79, 79)">DarkSlateGrey</td> + <td align="left">rgb( 47, 79, 79)</td> + <td align="left">#2F4F4F</td> + + </tr> + + <tr> + <td align="right">MediumTurquoise</td> + <td align="center" style="background-color:rgb( 72, 209, 204)">MediumTurquoise</td> + <td align="left">rgb( 72, 209, 204)</td> + <td align="left">#48D1CC</td> + + </tr> + + <tr> + <td align="right">LightSeaGreen</td> + <td align="center" style="background-color:rgb( 32, 178, 170)">LightSeaGreen</td> + <td align="left">rgb( 32, 178, 170)</td> + <td align="left">#20B2AA</td> + + </tr> + + <tr> + <td align="right">turquoise</td> + <td align="center" style="background-color:rgb( 64, 224, 208)">turquoise</td> + <td align="left">rgb( 64, 224, 208)</td> + <td align="left">#40E0D0</td> + + </tr> + + <tr> + <td align="right">aquamarine4</td> + <td align="center" style="background-color:rgb( 69, 139, 116)">aquamarine4</td> + <td align="left">rgb( 69, 139, 116)</td> + <td align="left">#458B74</td> + + </tr> + + <tr> + <td align="right">aquamarine</td> + <td align="center" style="background-color:rgb(127, 255, 212)">aquamarine</td> + <td align="left">rgb(127, 255, 212)</td> + <td align="left">#7FFFD4</td> + + </tr> + + <tr> + <td align="right">aquamarine1</td> + <td align="center" style="background-color:rgb(127, 255, 212)">aquamarine1</td> + <td align="left">rgb(127, 255, 212)</td> + <td align="left">#7FFFD4</td> + + </tr> + + <tr> + <td align="right">aquamarine2</td> + <td align="center" style="background-color:rgb(118, 238, 198)">aquamarine2</td> + <td align="left">rgb(118, 238, 198)</td> + <td align="left">#76EEC6</td> + + </tr> + + <tr> + <td align="right">aquamarine3</td> + <td align="center" style="background-color:rgb(102, 205, 170)">aquamarine3</td> + <td align="left">rgb(102, 205, 170)</td> + <td align="left">#66CDAA</td> + + </tr> + + <tr> + <td align="right">MediumAquamarine</td> + <td align="center" style="background-color:rgb(102, 205, 170)">MediumAquamarine</td> + <td align="left">rgb(102, 205, 170)</td> + <td align="left">#66CDAA</td> + + </tr> + + <tr> + <td align="right">MediumSpringGreen</td> + <td align="center" style="background-color:rgb( 0, 250, 154)">MediumSpringGreen</td> + <td align="left">rgb( 0, 250, 154)</td> + <td align="left">#00FA9A</td> + + </tr> + + <tr> + <td align="right">MintCream</td> + <td align="center" style="background-color:rgb(245, 255, 250)">MintCream</td> + <td align="left">rgb(245, 255, 250)</td> + <td align="left">#F5FFFA</td> + + </tr> + + <tr> + <td align="right">SpringGreen</td> + <td align="center" style="background-color:rgb( 0, 255, 127)">SpringGreen</td> + <td align="left">rgb( 0, 255, 127)</td> + <td align="left">#00FF7F</td> + + </tr> + + <tr> + <td align="right">SpringGreen1</td> + <td align="center" style="background-color:rgb( 0, 255, 127)">SpringGreen1</td> + <td align="left">rgb( 0, 255, 127)</td> + <td align="left">#00FF7F</td> + + </tr> + + <tr> + <td align="right">SpringGreen2</td> + <td align="center" style="background-color:rgb( 0, 238, 118)">SpringGreen2</td> + <td align="left">rgb( 0, 238, 118)</td> + <td align="left">#00EE76</td> + + </tr> + + <tr> + <td align="right">SpringGreen3</td> + <td align="center" style="background-color:rgb( 0, 205, 102)">SpringGreen3</td> + <td align="left">rgb( 0, 205, 102)</td> + <td align="left">#00CD66</td> + + </tr> + + <tr> + <td align="right">SpringGreen4</td> + <td align="center" style="background-color:rgb( 0, 139, 69)">SpringGreen4</td> + <td align="left">rgb( 0, 139, 69)</td> + <td align="left">#008B45</td> + + </tr> + + <tr> + <td align="right">MediumSeaGreen</td> + <td align="center" style="background-color:rgb( 60, 179, 113)">MediumSeaGreen</td> + <td align="left">rgb( 60, 179, 113)</td> + <td align="left">#3CB371</td> + + </tr> + + <tr> + <td align="right">SeaGreen</td> + <td align="center" style="background-color:rgb( 46, 139, 87)">SeaGreen</td> + <td align="left">rgb( 46, 139, 87)</td> + <td align="left">#2E8B57</td> + + </tr> + + <tr> + <td align="right">SeaGreen3</td> + <td align="center" style="background-color:rgb( 67, 205, 128)">SeaGreen3</td> + <td align="left">rgb( 67, 205, 128)</td> + <td align="left">#43CD80</td> + + </tr> + + <tr> + <td align="right">SeaGreen1</td> + <td align="center" style="background-color:rgb( 84, 255, 159)">SeaGreen1</td> + <td align="left">rgb( 84, 255, 159)</td> + <td align="left">#54FF9F</td> + + </tr> + + <tr> + <td align="right">SeaGreen4</td> + <td align="center" style="background-color:rgb( 46, 139, 87)">SeaGreen4</td> + <td align="left">rgb( 46, 139, 87)</td> + <td align="left">#2E8B57</td> + + </tr> + + <tr> + <td align="right">SeaGreen2</td> + <td align="center" style="background-color:rgb( 78, 238, 148)">SeaGreen2</td> + <td align="left">rgb( 78, 238, 148)</td> + <td align="left">#4EEE94</td> + + </tr> + + <tr> + <td align="right">MediumForestGreen</td> + <td align="center" style="background-color:rgb( 50, 129, 75)">MediumForestGreen</td> + <td align="left">rgb( 50, 129, 75)</td> + <td align="left">#32814B</td> + + </tr> + + <tr> + <td align="right">honeydew</td> + <td align="center" style="background-color:rgb(240, 255, 240)">honeydew</td> + <td align="left">rgb(240, 255, 240)</td> + <td align="left">#F0FFF0</td> + + </tr> + + <tr> + <td align="right">honeydew1</td> + <td align="center" style="background-color:rgb(240, 255, 240)">honeydew1</td> + <td align="left">rgb(240, 255, 240)</td> + <td align="left">#F0FFF0</td> + + </tr> + + <tr> + <td align="right">honeydew2</td> + <td align="center" style="background-color:rgb(224, 238, 224)">honeydew2</td> + <td align="left">rgb(224, 238, 224)</td> + <td align="left">#E0EEE0</td> + + </tr> + + <tr> + <td align="right">DarkSeaGreen1</td> + <td align="center" style="background-color:rgb(193, 255, 193)">DarkSeaGreen1</td> + <td align="left">rgb(193, 255, 193)</td> + <td align="left">#C1FFC1</td> + + </tr> + + <tr> + <td align="right">DarkSeaGreen2</td> + <td align="center" style="background-color:rgb(180, 238, 180)">DarkSeaGreen2</td> + <td align="left">rgb(180, 238, 180)</td> + <td align="left">#B4EEB4</td> + + </tr> + + <tr> + <td align="right">PaleGreen1</td> + <td align="center" style="background-color:rgb(154, 255, 154)">PaleGreen1</td> + <td align="left">rgb(154, 255, 154)</td> + <td align="left">#9AFF9A</td> + + </tr> + + <tr> + <td align="right">PaleGreen</td> + <td align="center" style="background-color:rgb(152, 251, 152)">PaleGreen</td> + <td align="left">rgb(152, 251, 152)</td> + <td align="left">#98FB98</td> + + </tr> + + <tr> + <td align="right">honeydew3</td> + <td align="center" style="background-color:rgb(193, 205, 193)">honeydew3</td> + <td align="left">rgb(193, 205, 193)</td> + <td align="left">#C1CDC1</td> + + </tr> + + <tr> + <td align="right">LightGreen</td> + <td align="center" style="background-color:rgb(144, 238, 144)">LightGreen</td> + <td align="left">rgb(144, 238, 144)</td> + <td align="left">#90EE90</td> + + </tr> + + <tr> + <td align="right">PaleGreen2</td> + <td align="center" style="background-color:rgb(144, 238, 144)">PaleGreen2</td> + <td align="left">rgb(144, 238, 144)</td> + <td align="left">#90EE90</td> + + </tr> + + <tr> + <td align="right">DarkSeaGreen3</td> + <td align="center" style="background-color:rgb(155, 205, 155)">DarkSeaGreen3</td> + <td align="left">rgb(155, 205, 155)</td> + <td align="left">#9BCD9B</td> + + </tr> + + <tr> + <td align="right">DarkSeaGreen</td> + <td align="center" style="background-color:rgb(143, 188, 143)">DarkSeaGreen</td> + <td align="left">rgb(143, 188, 143)</td> + <td align="left">#8FBC8F</td> + + </tr> + + <tr> + <td align="right">PaleGreen3</td> + <td align="center" style="background-color:rgb(124, 205, 124)">PaleGreen3</td> + <td align="left">rgb(124, 205, 124)</td> + <td align="left">#7CCD7C</td> + + </tr> + + <tr> + <td align="right">honeydew4</td> + <td align="center" style="background-color:rgb(131, 139, 131)">honeydew4</td> + <td align="left">rgb(131, 139, 131)</td> + <td align="left">#838B83</td> + + </tr> + + <tr> + <td align="right">green1</td> + <td align="center" style="background-color:rgb( 0, 255, 0)">green1</td> + <td align="left">rgb( 0, 255, 0)</td> + <td align="left">#00FF00</td> + + </tr> + + <tr> + <td align="right">lime</td> + <td align="center" style="background-color:rgb( 0, 255, 0)">lime</td> + <td align="left">rgb( 0, 255, 0)</td> + <td align="left">#00FF00</td> + + </tr> + + <tr> + <td align="right">LimeGreen</td> + <td align="center" style="background-color:rgb( 50, 205, 50)">LimeGreen</td> + <td align="left">rgb( 50, 205, 50)</td> + <td align="left">#32CD32</td> + + </tr> + + <tr> + <td align="right">DarkSeaGreen4</td> + <td align="center" style="background-color:rgb(105, 139, 105)">DarkSeaGreen4</td> + <td align="left">rgb(105, 139, 105)</td> + <td align="left">#698B69</td> + + </tr> + + <tr> + <td align="right">green2</td> + <td align="center" style="background-color:rgb( 0, 238, 0)">green2</td> + <td align="left">rgb( 0, 238, 0)</td> + <td align="left">#00EE00</td> + + </tr> + + <tr> + <td align="right">PaleGreen4</td> + <td align="center" style="background-color:rgb( 84, 139, 84)">PaleGreen4</td> + <td align="left">rgb( 84, 139, 84)</td> + <td align="left">#548B54</td> + + </tr> + + <tr> + <td align="right">green3</td> + <td align="center" style="background-color:rgb( 0, 205, 0)">green3</td> + <td align="left">rgb( 0, 205, 0)</td> + <td align="left">#00CD00</td> + + </tr> + + <tr> + <td align="right">ForestGreen</td> + <td align="center" style="background-color:rgb( 34, 139, 34)">ForestGreen</td> + <td align="left">rgb( 34, 139, 34)</td> + <td align="left">#228B22</td> + + </tr> + + <tr> + <td align="right">green4</td> + <td align="center" style="background-color:rgb( 0, 139, 0)">green4</td> + <td align="left">rgb( 0, 139, 0)</td> + <td align="left">#008B00</td> + + </tr> + + <tr> + <td align="right">green</td> + <td align="center" style="background-color:rgb( 0, 128, 0)">green</td> + <td align="left">rgb( 0, 128, 0)</td> + <td align="left">#008000</td> + + </tr> + + <tr> + <td align="right">DarkGreen</td> + <td align="center" style="background-color:rgb( 0, 100, 0)">DarkGreen</td> + <td align="left">rgb( 0, 100, 0)</td> + <td align="left">#006400</td> + + </tr> + + <tr> + <td align="right">LawnGreen</td> + <td align="center" style="background-color:rgb(124, 252, 0)">LawnGreen</td> + <td align="left">rgb(124, 252, 0)</td> + <td align="left">#7CFC00</td> + + </tr> + + <tr> + <td align="right">chartreuse</td> + <td align="center" style="background-color:rgb(127, 255, 0)">chartreuse</td> + <td align="left">rgb(127, 255, 0)</td> + <td align="left">#7FFF00</td> + + </tr> + + <tr> + <td align="right">chartreuse1</td> + <td align="center" style="background-color:rgb(127, 255, 0)">chartreuse1</td> + <td align="left">rgb(127, 255, 0)</td> + <td align="left">#7FFF00</td> + + </tr> + + <tr> + <td align="right">chartreuse2</td> + <td align="center" style="background-color:rgb(118, 238, 0)">chartreuse2</td> + <td align="left">rgb(118, 238, 0)</td> + <td align="left">#76EE00</td> + + </tr> + + <tr> + <td align="right">chartreuse3</td> + <td align="center" style="background-color:rgb(102, 205, 0)">chartreuse3</td> + <td align="left">rgb(102, 205, 0)</td> + <td align="left">#66CD00</td> + + </tr> + + <tr> + <td align="right">chartreuse4</td> + <td align="center" style="background-color:rgb( 69, 139, 0)">chartreuse4</td> + <td align="left">rgb( 69, 139, 0)</td> + <td align="left">#458B00</td> + + </tr> + + <tr> + <td align="right">GreenYellow</td> + <td align="center" style="background-color:rgb(173, 255, 47)">GreenYellow</td> + <td align="left">rgb(173, 255, 47)</td> + <td align="left">#ADFF2F</td> + + </tr> + + <tr> + <td align="right">DarkOliveGreen3</td> + <td align="center" style="background-color:rgb(162, 205, 90)">DarkOliveGreen3</td> + <td align="left">rgb(162, 205, 90)</td> + <td align="left">#A2CD5A</td> + + </tr> + + <tr> + <td align="right">DarkOliveGreen1</td> + <td align="center" style="background-color:rgb(202, 255, 112)">DarkOliveGreen1</td> + <td align="left">rgb(202, 255, 112)</td> + <td align="left">#CAFF70</td> + + </tr> + + <tr> + <td align="right">DarkOliveGreen2</td> + <td align="center" style="background-color:rgb(188, 238, 104)">DarkOliveGreen2</td> + <td align="left">rgb(188, 238, 104)</td> + <td align="left">#BCEE68</td> + + </tr> + + <tr> + <td align="right">DarkOliveGreen4</td> + <td align="center" style="background-color:rgb(110, 139, 61)">DarkOliveGreen4</td> + <td align="left">rgb(110, 139, 61)</td> + <td align="left">#6E8B3D</td> + + </tr> + + <tr> + <td align="right">DarkOliveGreen</td> + <td align="center" style="background-color:rgb( 85, 107, 47)">DarkOliveGreen</td> + <td align="left">rgb( 85, 107, 47)</td> + <td align="left">#556B2F</td> + + </tr> + + <tr> + <td align="right">OliveDrab</td> + <td align="center" style="background-color:rgb(107, 142, 35)">OliveDrab</td> + <td align="left">rgb(107, 142, 35)</td> + <td align="left">#6B8E23</td> + + </tr> + + <tr> + <td align="right">OliveDrab1</td> + <td align="center" style="background-color:rgb(192, 255, 62)">OliveDrab1</td> + <td align="left">rgb(192, 255, 62)</td> + <td align="left">#C0FF3E</td> + + </tr> + + <tr> + <td align="right">OliveDrab2</td> + <td align="center" style="background-color:rgb(179, 238, 58)">OliveDrab2</td> + <td align="left">rgb(179, 238, 58)</td> + <td align="left">#B3EE3A</td> + + </tr> + + <tr> + <td align="right">OliveDrab3</td> + <td align="center" style="background-color:rgb(154, 205, 50)">OliveDrab3</td> + <td align="left">rgb(154, 205, 50)</td> + <td align="left">#9ACD32</td> + + </tr> + + <tr> + <td align="right">YellowGreen</td> + <td align="center" style="background-color:rgb(154, 205, 50)">YellowGreen</td> + <td align="left">rgb(154, 205, 50)</td> + <td align="left">#9ACD32</td> + + </tr> + + <tr> + <td align="right">OliveDrab4</td> + <td align="center" style="background-color:rgb(105, 139, 34)">OliveDrab4</td> + <td align="left">rgb(105, 139, 34)</td> + <td align="left">#698B22</td> + + </tr> + + <tr> + <td align="right">ivory</td> + <td align="center" style="background-color:rgb(255, 255, 240)">ivory</td> + <td align="left">rgb(255, 255, 240)</td> + <td align="left">#FFFFF0</td> + + </tr> + + <tr> + <td align="right">ivory1</td> + <td align="center" style="background-color:rgb(255, 255, 240)">ivory1</td> + <td align="left">rgb(255, 255, 240)</td> + <td align="left">#FFFFF0</td> + + </tr> + + <tr> + <td align="right">LightYellow</td> + <td align="center" style="background-color:rgb(255, 255, 224)">LightYellow</td> + <td align="left">rgb(255, 255, 224)</td> + <td align="left">#FFFFE0</td> + + </tr> + + <tr> + <td align="right">LightYellow1</td> + <td align="center" style="background-color:rgb(255, 255, 224)">LightYellow1</td> + <td align="left">rgb(255, 255, 224)</td> + <td align="left">#FFFFE0</td> + + </tr> + + <tr> + <td align="right">beige</td> + <td align="center" style="background-color:rgb(245, 245, 220)">beige</td> + <td align="left">rgb(245, 245, 220)</td> + <td align="left">#F5F5DC</td> + + </tr> + + <tr> + <td align="right">ivory2</td> + <td align="center" style="background-color:rgb(238, 238, 224)">ivory2</td> + <td align="left">rgb(238, 238, 224)</td> + <td align="left">#EEEEE0</td> + + </tr> + + <tr> + <td align="right">LightGoldenrodYellow</td> + <td align="center" style="background-color:rgb(250, 250, 210)">LightGoldenrodYellow</td> + <td align="left">rgb(250, 250, 210)</td> + <td align="left">#FAFAD2</td> + + </tr> + + <tr> + <td align="right">LightYellow2</td> + <td align="center" style="background-color:rgb(238, 238, 209)">LightYellow2</td> + <td align="left">rgb(238, 238, 209)</td> + <td align="left">#EEEED1</td> + + </tr> + + <tr> + <td align="right">ivory3</td> + <td align="center" style="background-color:rgb(205, 205, 193)">ivory3</td> + <td align="left">rgb(205, 205, 193)</td> + <td align="left">#CDCDC1</td> + + </tr> + + <tr> + <td align="right">LightYellow3</td> + <td align="center" style="background-color:rgb(205, 205, 180)">LightYellow3</td> + <td align="left">rgb(205, 205, 180)</td> + <td align="left">#CDCDB4</td> + + </tr> + + <tr> + <td align="right">ivory4</td> + <td align="center" style="background-color:rgb(139, 139, 131)">ivory4</td> + <td align="left">rgb(139, 139, 131)</td> + <td align="left">#8B8B83</td> + + </tr> + + <tr> + <td align="right">LightYellow4</td> + <td align="center" style="background-color:rgb(139, 139, 122)">LightYellow4</td> + <td align="left">rgb(139, 139, 122)</td> + <td align="left">#8B8B7A</td> + + </tr> + + <tr> + <td align="right">yellow</td> + <td align="center" style="background-color:rgb(255, 255, 0)">yellow</td> + <td align="left">rgb(255, 255, 0)</td> + <td align="left">#FFFF00</td> + + </tr> + + <tr> + <td align="right">yellow1</td> + <td align="center" style="background-color:rgb(255, 255, 0)">yellow1</td> + <td align="left">rgb(255, 255, 0)</td> + <td align="left">#FFFF00</td> + + </tr> + + <tr> + <td align="right">yellow2</td> + <td align="center" style="background-color:rgb(238, 238, 0)">yellow2</td> + <td align="left">rgb(238, 238, 0)</td> + <td align="left">#EEEE00</td> + + </tr> + + <tr> + <td align="right">yellow3</td> + <td align="center" style="background-color:rgb(205, 205, 0)">yellow3</td> + <td align="left">rgb(205, 205, 0)</td> + <td align="left">#CDCD00</td> + + </tr> + + <tr> + <td align="right">yellow4</td> + <td align="center" style="background-color:rgb(139, 139, 0)">yellow4</td> + <td align="left">rgb(139, 139, 0)</td> + <td align="left">#8B8B00</td> + + </tr> + + <tr> + <td align="right">olive</td> + <td align="center" style="background-color:rgb(128, 128, 0)">olive</td> + <td align="left">rgb(128, 128, 0)</td> + <td align="left">#808000</td> + + </tr> + + <tr> + <td align="right">DarkKhaki</td> + <td align="center" style="background-color:rgb(189, 183, 107)">DarkKhaki</td> + <td align="left">rgb(189, 183, 107)</td> + <td align="left">#BDB76B</td> + + </tr> + + <tr> + <td align="right">khaki2</td> + <td align="center" style="background-color:rgb(238, 230, 133)">khaki2</td> + <td align="left">rgb(238, 230, 133)</td> + <td align="left">#EEE685</td> + + </tr> + + <tr> + <td align="right">LemonChiffon4</td> + <td align="center" style="background-color:rgb(139, 137, 112)">LemonChiffon4</td> + <td align="left">rgb(139, 137, 112)</td> + <td align="left">#8B8970</td> + + </tr> + + <tr> + <td align="right">khaki1</td> + <td align="center" style="background-color:rgb(255, 246, 143)">khaki1</td> + <td align="left">rgb(255, 246, 143)</td> + <td align="left">#FFF68F</td> + + </tr> + + <tr> + <td align="right">khaki3</td> + <td align="center" style="background-color:rgb(205, 198, 115)">khaki3</td> + <td align="left">rgb(205, 198, 115)</td> + <td align="left">#CDC673</td> + + </tr> + + <tr> + <td align="right">khaki4</td> + <td align="center" style="background-color:rgb(139, 134, 78)">khaki4</td> + <td align="left">rgb(139, 134, 78)</td> + <td align="left">#8B864E</td> + + </tr> + + <tr> + <td align="right">PaleGoldenrod</td> + <td align="center" style="background-color:rgb(238, 232, 170)">PaleGoldenrod</td> + <td align="left">rgb(238, 232, 170)</td> + <td align="left">#EEE8AA</td> + + </tr> + + <tr> + <td align="right">LemonChiffon</td> + <td align="center" style="background-color:rgb(255, 250, 205)">LemonChiffon</td> + <td align="left">rgb(255, 250, 205)</td> + <td align="left">#FFFACD</td> + + </tr> + + <tr> + <td align="right">LemonChiffon1</td> + <td align="center" style="background-color:rgb(255, 250, 205)">LemonChiffon1</td> + <td align="left">rgb(255, 250, 205)</td> + <td align="left">#FFFACD</td> + + </tr> + + <tr> + <td align="right">khaki</td> + <td align="center" style="background-color:rgb(240, 230, 140)">khaki</td> + <td align="left">rgb(240, 230, 140)</td> + <td align="left">#F0E68C</td> + + </tr> + + <tr> + <td align="right">LemonChiffon3</td> + <td align="center" style="background-color:rgb(205, 201, 165)">LemonChiffon3</td> + <td align="left">rgb(205, 201, 165)</td> + <td align="left">#CDC9A5</td> + + </tr> + + <tr> + <td align="right">LemonChiffon2</td> + <td align="center" style="background-color:rgb(238, 233, 191)">LemonChiffon2</td> + <td align="left">rgb(238, 233, 191)</td> + <td align="left">#EEE9BF</td> + + </tr> + + <tr> + <td align="right">MediumGoldenRod</td> + <td align="center" style="background-color:rgb(209, 193, 102)">MediumGoldenRod</td> + <td align="left">rgb(209, 193, 102)</td> + <td align="left">#D1C166</td> + + </tr> + + <tr> + <td align="right">cornsilk4</td> + <td align="center" style="background-color:rgb(139, 136, 120)">cornsilk4</td> + <td align="left">rgb(139, 136, 120)</td> + <td align="left">#8B8878</td> + + </tr> + + <tr> + <td align="right">gold</td> + <td align="center" style="background-color:rgb(255, 215, 0)">gold</td> + <td align="left">rgb(255, 215, 0)</td> + <td align="left">#FFD700</td> + + </tr> + + <tr> + <td align="right">gold1</td> + <td align="center" style="background-color:rgb(255, 215, 0)">gold1</td> + <td align="left">rgb(255, 215, 0)</td> + <td align="left">#FFD700</td> + + </tr> + + <tr> + <td align="right">gold2</td> + <td align="center" style="background-color:rgb(238, 201, 0)">gold2</td> + <td align="left">rgb(238, 201, 0)</td> + <td align="left">#EEC900</td> + + </tr> + + <tr> + <td align="right">gold3</td> + <td align="center" style="background-color:rgb(205, 173, 0)">gold3</td> + <td align="left">rgb(205, 173, 0)</td> + <td align="left">#CDAD00</td> + + </tr> + + <tr> + <td align="right">gold4</td> + <td align="center" style="background-color:rgb(139, 117, 0)">gold4</td> + <td align="left">rgb(139, 117, 0)</td> + <td align="left">#8B7500</td> + + </tr> + + <tr> + <td align="right">LightGoldenrod</td> + <td align="center" style="background-color:rgb(238, 221, 130)">LightGoldenrod</td> + <td align="left">rgb(238, 221, 130)</td> + <td align="left">#EEDD82</td> + + </tr> + + <tr> + <td align="right">LightGoldenrod4</td> + <td align="center" style="background-color:rgb(139, 129, 76)">LightGoldenrod4</td> + <td align="left">rgb(139, 129, 76)</td> + <td align="left">#8B814C</td> + + </tr> + + <tr> + <td align="right">LightGoldenrod1</td> + <td align="center" style="background-color:rgb(255, 236, 139)">LightGoldenrod1</td> + <td align="left">rgb(255, 236, 139)</td> + <td align="left">#FFEC8B</td> + + </tr> + + <tr> + <td align="right">LightGoldenrod3</td> + <td align="center" style="background-color:rgb(205, 190, 112)">LightGoldenrod3</td> + <td align="left">rgb(205, 190, 112)</td> + <td align="left">#CDBE70</td> + + </tr> + + <tr> + <td align="right">LightGoldenrod2</td> + <td align="center" style="background-color:rgb(238, 220, 130)">LightGoldenrod2</td> + <td align="left">rgb(238, 220, 130)</td> + <td align="left">#EEDC82</td> + + </tr> + + <tr> + <td align="right">cornsilk3</td> + <td align="center" style="background-color:rgb(205, 200, 177)">cornsilk3</td> + <td align="left">rgb(205, 200, 177)</td> + <td align="left">#CDC8B1</td> + + </tr> + + <tr> + <td align="right">cornsilk2</td> + <td align="center" style="background-color:rgb(238, 232, 205)">cornsilk2</td> + <td align="left">rgb(238, 232, 205)</td> + <td align="left">#EEE8CD</td> + + </tr> + + <tr> + <td align="right">cornsilk</td> + <td align="center" style="background-color:rgb(255, 248, 220)">cornsilk</td> + <td align="left">rgb(255, 248, 220)</td> + <td align="left">#FFF8DC</td> + + </tr> + + <tr> + <td align="right">cornsilk1</td> + <td align="center" style="background-color:rgb(255, 248, 220)">cornsilk1</td> + <td align="left">rgb(255, 248, 220)</td> + <td align="left">#FFF8DC</td> + + </tr> + + <tr> + <td align="right">goldenrod</td> + <td align="center" style="background-color:rgb(218, 165, 32)">goldenrod</td> + <td align="left">rgb(218, 165, 32)</td> + <td align="left">#DAA520</td> + + </tr> + + <tr> + <td align="right">goldenrod1</td> + <td align="center" style="background-color:rgb(255, 193, 37)">goldenrod1</td> + <td align="left">rgb(255, 193, 37)</td> + <td align="left">#FFC125</td> + + </tr> + + <tr> + <td align="right">goldenrod2</td> + <td align="center" style="background-color:rgb(238, 180, 34)">goldenrod2</td> + <td align="left">rgb(238, 180, 34)</td> + <td align="left">#EEB422</td> + + </tr> + + <tr> + <td align="right">goldenrod3</td> + <td align="center" style="background-color:rgb(205, 155, 29)">goldenrod3</td> + <td align="left">rgb(205, 155, 29)</td> + <td align="left">#CD9B1D</td> + + </tr> + + <tr> + <td align="right">goldenrod4</td> + <td align="center" style="background-color:rgb(139, 105, 20)">goldenrod4</td> + <td align="left">rgb(139, 105, 20)</td> + <td align="left">#8B6914</td> + + </tr> + + <tr> + <td align="right">DarkGoldenrod</td> + <td align="center" style="background-color:rgb(184, 134, 11)">DarkGoldenrod</td> + <td align="left">rgb(184, 134, 11)</td> + <td align="left">#B8860B</td> + + </tr> + + <tr> + <td align="right">DarkGoldenrod1</td> + <td align="center" style="background-color:rgb(255, 185, 15)">DarkGoldenrod1</td> + <td align="left">rgb(255, 185, 15)</td> + <td align="left">#FFB90F</td> + + </tr> + + <tr> + <td align="right">DarkGoldenrod2</td> + <td align="center" style="background-color:rgb(238, 173, 14)">DarkGoldenrod2</td> + <td align="left">rgb(238, 173, 14)</td> + <td align="left">#EEAD0E</td> + + </tr> + + <tr> + <td align="right">DarkGoldenrod3</td> + <td align="center" style="background-color:rgb(205, 149, 12)">DarkGoldenrod3</td> + <td align="left">rgb(205, 149, 12)</td> + <td align="left">#CD950C</td> + + </tr> + + <tr> + <td align="right">DarkGoldenrod4</td> + <td align="center" style="background-color:rgb(139, 101, 8)">DarkGoldenrod4</td> + <td align="left">rgb(139, 101, 8)</td> + <td align="left">#8B6508</td> + + </tr> + + <tr> + <td align="right">FloralWhite</td> + <td align="center" style="background-color:rgb(255, 250, 240)">FloralWhite</td> + <td align="left">rgb(255, 250, 240)</td> + <td align="left">#FFFAF0</td> + + </tr> + + <tr> + <td align="right">wheat2</td> + <td align="center" style="background-color:rgb(238, 216, 174)">wheat2</td> + <td align="left">rgb(238, 216, 174)</td> + <td align="left">#EED8AE</td> + + </tr> + + <tr> + <td align="right">OldLace</td> + <td align="center" style="background-color:rgb(253, 245, 230)">OldLace</td> + <td align="left">rgb(253, 245, 230)</td> + <td align="left">#FDF5E6</td> + + </tr> + + <tr> + <td align="right">wheat</td> + <td align="center" style="background-color:rgb(245, 222, 179)">wheat</td> + <td align="left">rgb(245, 222, 179)</td> + <td align="left">#F5DEB3</td> + + </tr> + + <tr> + <td align="right">wheat1</td> + <td align="center" style="background-color:rgb(255, 231, 186)">wheat1</td> + <td align="left">rgb(255, 231, 186)</td> + <td align="left">#FFE7BA</td> + + </tr> + + <tr> + <td align="right">wheat3</td> + <td align="center" style="background-color:rgb(205, 186, 150)">wheat3</td> + <td align="left">rgb(205, 186, 150)</td> + <td align="left">#CDBA96</td> + + </tr> + + <tr> + <td align="right">orange</td> + <td align="center" style="background-color:rgb(255, 165, 0)">orange</td> + <td align="left">rgb(255, 165, 0)</td> + <td align="left">#FFA500</td> + + </tr> + + <tr> + <td align="right">orange1</td> + <td align="center" style="background-color:rgb(255, 165, 0)">orange1</td> + <td align="left">rgb(255, 165, 0)</td> + <td align="left">#FFA500</td> + + </tr> + + <tr> + <td align="right">orange2</td> + <td align="center" style="background-color:rgb(238, 154, 0)">orange2</td> + <td align="left">rgb(238, 154, 0)</td> + <td align="left">#EE9A00</td> + + </tr> + + <tr> + <td align="right">orange3</td> + <td align="center" style="background-color:rgb(205, 133, 0)">orange3</td> + <td align="left">rgb(205, 133, 0)</td> + <td align="left">#CD8500</td> + + </tr> + + <tr> + <td align="right">orange4</td> + <td align="center" style="background-color:rgb(139, 90, 0)">orange4</td> + <td align="left">rgb(139, 90, 0)</td> + <td align="left">#8B5A00</td> + + </tr> + + <tr> + <td align="right">wheat4</td> + <td align="center" style="background-color:rgb(139, 126, 102)">wheat4</td> + <td align="left">rgb(139, 126, 102)</td> + <td align="left">#8B7E66</td> + + </tr> + + <tr> + <td align="right">moccasin</td> + <td align="center" style="background-color:rgb(255, 228, 181)">moccasin</td> + <td align="left">rgb(255, 228, 181)</td> + <td align="left">#FFE4B5</td> + + </tr> + + <tr> + <td align="right">PapayaWhip</td> + <td align="center" style="background-color:rgb(255, 239, 213)">PapayaWhip</td> + <td align="left">rgb(255, 239, 213)</td> + <td align="left">#FFEFD5</td> + + </tr> + + <tr> + <td align="right">NavajoWhite3</td> + <td align="center" style="background-color:rgb(205, 179, 139)">NavajoWhite3</td> + <td align="left">rgb(205, 179, 139)</td> + <td align="left">#CDB38B</td> + + </tr> + + <tr> + <td align="right">BlanchedAlmond</td> + <td align="center" style="background-color:rgb(255, 235, 205)">BlanchedAlmond</td> + <td align="left">rgb(255, 235, 205)</td> + <td align="left">#FFEBCD</td> + + </tr> + + <tr> + <td align="right">NavajoWhite</td> + <td align="center" style="background-color:rgb(255, 222, 173)">NavajoWhite</td> + <td align="left">rgb(255, 222, 173)</td> + <td align="left">#FFDEAD</td> + + </tr> + + <tr> + <td align="right">NavajoWhite1</td> + <td align="center" style="background-color:rgb(255, 222, 173)">NavajoWhite1</td> + <td align="left">rgb(255, 222, 173)</td> + <td align="left">#FFDEAD</td> + + </tr> + + <tr> + <td align="right">NavajoWhite2</td> + <td align="center" style="background-color:rgb(238, 207, 161)">NavajoWhite2</td> + <td align="left">rgb(238, 207, 161)</td> + <td align="left">#EECFA1</td> + + </tr> + + <tr> + <td align="right">NavajoWhite4</td> + <td align="center" style="background-color:rgb(139, 121, 94)">NavajoWhite4</td> + <td align="left">rgb(139, 121, 94)</td> + <td align="left">#8B795E</td> + + </tr> + + <tr> + <td align="right">AntiqueWhite4</td> + <td align="center" style="background-color:rgb(139, 131, 120)">AntiqueWhite4</td> + <td align="left">rgb(139, 131, 120)</td> + <td align="left">#8B8378</td> + + </tr> + + <tr> + <td align="right">AntiqueWhite</td> + <td align="center" style="background-color:rgb(250, 235, 215)">AntiqueWhite</td> + <td align="left">rgb(250, 235, 215)</td> + <td align="left">#FAEBD7</td> + + </tr> + + <tr> + <td align="right">tan</td> + <td align="center" style="background-color:rgb(210, 180, 140)">tan</td> + <td align="left">rgb(210, 180, 140)</td> + <td align="left">#D2B48C</td> + + </tr> + + <tr> + <td align="right">bisque4</td> + <td align="center" style="background-color:rgb(139, 125, 107)">bisque4</td> + <td align="left">rgb(139, 125, 107)</td> + <td align="left">#8B7D6B</td> + + </tr> + + <tr> + <td align="right">burlywood</td> + <td align="center" style="background-color:rgb(222, 184, 135)">burlywood</td> + <td align="left">rgb(222, 184, 135)</td> + <td align="left">#DEB887</td> + + </tr> + + <tr> + <td align="right">AntiqueWhite2</td> + <td align="center" style="background-color:rgb(238, 223, 204)">AntiqueWhite2</td> + <td align="left">rgb(238, 223, 204)</td> + <td align="left">#EEDFCC</td> + + </tr> + + <tr> + <td align="right">burlywood1</td> + <td align="center" style="background-color:rgb(255, 211, 155)">burlywood1</td> + <td align="left">rgb(255, 211, 155)</td> + <td align="left">#FFD39B</td> + + </tr> + + <tr> + <td align="right">burlywood3</td> + <td align="center" style="background-color:rgb(205, 170, 125)">burlywood3</td> + <td align="left">rgb(205, 170, 125)</td> + <td align="left">#CDAA7D</td> + + </tr> + + <tr> + <td align="right">burlywood2</td> + <td align="center" style="background-color:rgb(238, 197, 145)">burlywood2</td> + <td align="left">rgb(238, 197, 145)</td> + <td align="left">#EEC591</td> + + </tr> + + <tr> + <td align="right">AntiqueWhite1</td> + <td align="center" style="background-color:rgb(255, 239, 219)">AntiqueWhite1</td> + <td align="left">rgb(255, 239, 219)</td> + <td align="left">#FFEFDB</td> + + </tr> + + <tr> + <td align="right">burlywood4</td> + <td align="center" style="background-color:rgb(139, 115, 85)">burlywood4</td> + <td align="left">rgb(139, 115, 85)</td> + <td align="left">#8B7355</td> + + </tr> + + <tr> + <td align="right">AntiqueWhite3</td> + <td align="center" style="background-color:rgb(205, 192, 176)">AntiqueWhite3</td> + <td align="left">rgb(205, 192, 176)</td> + <td align="left">#CDC0B0</td> + + </tr> + + <tr> + <td align="right">DarkOrange</td> + <td align="center" style="background-color:rgb(255, 140, 0)">DarkOrange</td> + <td align="left">rgb(255, 140, 0)</td> + <td align="left">#FF8C00</td> + + </tr> + + <tr> + <td align="right">bisque2</td> + <td align="center" style="background-color:rgb(238, 213, 183)">bisque2</td> + <td align="left">rgb(238, 213, 183)</td> + <td align="left">#EED5B7</td> + + </tr> + + <tr> + <td align="right">bisque</td> + <td align="center" style="background-color:rgb(255, 228, 196)">bisque</td> + <td align="left">rgb(255, 228, 196)</td> + <td align="left">#FFE4C4</td> + + </tr> + + <tr> + <td align="right">bisque1</td> + <td align="center" style="background-color:rgb(255, 228, 196)">bisque1</td> + <td align="left">rgb(255, 228, 196)</td> + <td align="left">#FFE4C4</td> + + </tr> + + <tr> + <td align="right">bisque3</td> + <td align="center" style="background-color:rgb(205, 183, 158)">bisque3</td> + <td align="left">rgb(205, 183, 158)</td> + <td align="left">#CDB79E</td> + + </tr> + + <tr> + <td align="right">DarkOrange1</td> + <td align="center" style="background-color:rgb(255, 127, 0)">DarkOrange1</td> + <td align="left">rgb(255, 127, 0)</td> + <td align="left">#FF7F00</td> + + </tr> + + <tr> + <td align="right">linen</td> + <td align="center" style="background-color:rgb(250, 240, 230)">linen</td> + <td align="left">rgb(250, 240, 230)</td> + <td align="left">#FAF0E6</td> + + </tr> + + <tr> + <td align="right">DarkOrange2</td> + <td align="center" style="background-color:rgb(238, 118, 0)">DarkOrange2</td> + <td align="left">rgb(238, 118, 0)</td> + <td align="left">#EE7600</td> + + </tr> + + <tr> + <td align="right">DarkOrange3</td> + <td align="center" style="background-color:rgb(205, 102, 0)">DarkOrange3</td> + <td align="left">rgb(205, 102, 0)</td> + <td align="left">#CD6600</td> + + </tr> + + <tr> + <td align="right">DarkOrange4</td> + <td align="center" style="background-color:rgb(139, 69, 0)">DarkOrange4</td> + <td align="left">rgb(139, 69, 0)</td> + <td align="left">#8B4500</td> + + </tr> + + <tr> + <td align="right">peru</td> + <td align="center" style="background-color:rgb(205, 133, 63)">peru</td> + <td align="left">rgb(205, 133, 63)</td> + <td align="left">#CD853F</td> + + </tr> + + <tr> + <td align="right">tan1</td> + <td align="center" style="background-color:rgb(255, 165, 79)">tan1</td> + <td align="left">rgb(255, 165, 79)</td> + <td align="left">#FFA54F</td> + + </tr> + + <tr> + <td align="right">tan2</td> + <td align="center" style="background-color:rgb(238, 154, 73)">tan2</td> + <td align="left">rgb(238, 154, 73)</td> + <td align="left">#EE9A49</td> + + </tr> + + <tr> + <td align="right">tan3</td> + <td align="center" style="background-color:rgb(205, 133, 63)">tan3</td> + <td align="left">rgb(205, 133, 63)</td> + <td align="left">#CD853F</td> + + </tr> + + <tr> + <td align="right">tan4</td> + <td align="center" style="background-color:rgb(139, 90, 43)">tan4</td> + <td align="left">rgb(139, 90, 43)</td> + <td align="left">#8B5A2B</td> + + </tr> + + <tr> + <td align="right">PeachPuff</td> + <td align="center" style="background-color:rgb(255, 218, 185)">PeachPuff</td> + <td align="left">rgb(255, 218, 185)</td> + <td align="left">#FFDAB9</td> + + </tr> + + <tr> + <td align="right">PeachPuff1</td> + <td align="center" style="background-color:rgb(255, 218, 185)">PeachPuff1</td> + <td align="left">rgb(255, 218, 185)</td> + <td align="left">#FFDAB9</td> + + </tr> + + <tr> + <td align="right">PeachPuff4</td> + <td align="center" style="background-color:rgb(139, 119, 101)">PeachPuff4</td> + <td align="left">rgb(139, 119, 101)</td> + <td align="left">#8B7765</td> + + </tr> + + <tr> + <td align="right">PeachPuff2</td> + <td align="center" style="background-color:rgb(238, 203, 173)">PeachPuff2</td> + <td align="left">rgb(238, 203, 173)</td> + <td align="left">#EECBAD</td> + + </tr> + + <tr> + <td align="right">PeachPuff3</td> + <td align="center" style="background-color:rgb(205, 175, 149)">PeachPuff3</td> + <td align="left">rgb(205, 175, 149)</td> + <td align="left">#CDAF95</td> + + </tr> + + <tr> + <td align="right">SandyBrown</td> + <td align="center" style="background-color:rgb(244, 164, 96)">SandyBrown</td> + <td align="left">rgb(244, 164, 96)</td> + <td align="left">#F4A460</td> + + </tr> + + <tr> + <td align="right">seashell4</td> + <td align="center" style="background-color:rgb(139, 134, 130)">seashell4</td> + <td align="left">rgb(139, 134, 130)</td> + <td align="left">#8B8682</td> + + </tr> + + <tr> + <td align="right">seashell2</td> + <td align="center" style="background-color:rgb(238, 229, 222)">seashell2</td> + <td align="left">rgb(238, 229, 222)</td> + <td align="left">#EEE5DE</td> + + </tr> + + <tr> + <td align="right">seashell3</td> + <td align="center" style="background-color:rgb(205, 197, 191)">seashell3</td> + <td align="left">rgb(205, 197, 191)</td> + <td align="left">#CDC5BF</td> + + </tr> + + <tr> + <td align="right">chocolate</td> + <td align="center" style="background-color:rgb(210, 105, 30)">chocolate</td> + <td align="left">rgb(210, 105, 30)</td> + <td align="left">#D2691E</td> + + </tr> + + <tr> + <td align="right">chocolate1</td> + <td align="center" style="background-color:rgb(255, 127, 36)">chocolate1</td> + <td align="left">rgb(255, 127, 36)</td> + <td align="left">#FF7F24</td> + + </tr> + + <tr> + <td align="right">chocolate2</td> + <td align="center" style="background-color:rgb(238, 118, 33)">chocolate2</td> + <td align="left">rgb(238, 118, 33)</td> + <td align="left">#EE7621</td> + + </tr> + + <tr> + <td align="right">chocolate3</td> + <td align="center" style="background-color:rgb(205, 102, 29)">chocolate3</td> + <td align="left">rgb(205, 102, 29)</td> + <td align="left">#CD661D</td> + + </tr> + + <tr> + <td align="right">chocolate4</td> + <td align="center" style="background-color:rgb(139, 69, 19)">chocolate4</td> + <td align="left">rgb(139, 69, 19)</td> + <td align="left">#8B4513</td> + + </tr> + + <tr> + <td align="right">SaddleBrown</td> + <td align="center" style="background-color:rgb(139, 69, 19)">SaddleBrown</td> + <td align="left">rgb(139, 69, 19)</td> + <td align="left">#8B4513</td> + + </tr> + + <tr> + <td align="right">seashell</td> + <td align="center" style="background-color:rgb(255, 245, 238)">seashell</td> + <td align="left">rgb(255, 245, 238)</td> + <td align="left">#FFF5EE</td> + + </tr> + + <tr> + <td align="right">seashell1</td> + <td align="center" style="background-color:rgb(255, 245, 238)">seashell1</td> + <td align="left">rgb(255, 245, 238)</td> + <td align="left">#FFF5EE</td> + + </tr> + + <tr> + <td align="right">sienna4</td> + <td align="center" style="background-color:rgb(139, 71, 38)">sienna4</td> + <td align="left">rgb(139, 71, 38)</td> + <td align="left">#8B4726</td> + + </tr> + + <tr> + <td align="right">sienna</td> + <td align="center" style="background-color:rgb(160, 82, 45)">sienna</td> + <td align="left">rgb(160, 82, 45)</td> + <td align="left">#A0522D</td> + + </tr> + + <tr> + <td align="right">sienna1</td> + <td align="center" style="background-color:rgb(255, 130, 71)">sienna1</td> + <td align="left">rgb(255, 130, 71)</td> + <td align="left">#FF8247</td> + + </tr> + + <tr> + <td align="right">sienna2</td> + <td align="center" style="background-color:rgb(238, 121, 66)">sienna2</td> + <td align="left">rgb(238, 121, 66)</td> + <td align="left">#EE7942</td> + + </tr> + + <tr> + <td align="right">sienna3</td> + <td align="center" style="background-color:rgb(205, 104, 57)">sienna3</td> + <td align="left">rgb(205, 104, 57)</td> + <td align="left">#CD6839</td> + + </tr> + + <tr> + <td align="right">LightSalmon3</td> + <td align="center" style="background-color:rgb(205, 129, 98)">LightSalmon3</td> + <td align="left">rgb(205, 129, 98)</td> + <td align="left">#CD8162</td> + + </tr> + + <tr> + <td align="right">LightSalmon</td> + <td align="center" style="background-color:rgb(255, 160, 122)">LightSalmon</td> + <td align="left">rgb(255, 160, 122)</td> + <td align="left">#FFA07A</td> + + </tr> + + <tr> + <td align="right">LightSalmon1</td> + <td align="center" style="background-color:rgb(255, 160, 122)">LightSalmon1</td> + <td align="left">rgb(255, 160, 122)</td> + <td align="left">#FFA07A</td> + + </tr> + + <tr> + <td align="right">LightSalmon4</td> + <td align="center" style="background-color:rgb(139, 87, 66)">LightSalmon4</td> + <td align="left">rgb(139, 87, 66)</td> + <td align="left">#8B5742</td> + + </tr> + + <tr> + <td align="right">LightSalmon2</td> + <td align="center" style="background-color:rgb(238, 149, 114)">LightSalmon2</td> + <td align="left">rgb(238, 149, 114)</td> + <td align="left">#EE9572</td> + + </tr> + + <tr> + <td align="right">coral</td> + <td align="center" style="background-color:rgb(255, 127, 80)">coral</td> + <td align="left">rgb(255, 127, 80)</td> + <td align="left">#FF7F50</td> + + </tr> + + <tr> + <td align="right">OrangeRed</td> + <td align="center" style="background-color:rgb(255, 69, 0)">OrangeRed</td> + <td align="left">rgb(255, 69, 0)</td> + <td align="left">#FF4500</td> + + </tr> + + <tr> + <td align="right">OrangeRed1</td> + <td align="center" style="background-color:rgb(255, 69, 0)">OrangeRed1</td> + <td align="left">rgb(255, 69, 0)</td> + <td align="left">#FF4500</td> + + </tr> + + <tr> + <td align="right">OrangeRed2</td> + <td align="center" style="background-color:rgb(238, 64, 0)">OrangeRed2</td> + <td align="left">rgb(238, 64, 0)</td> + <td align="left">#EE4000</td> + + </tr> + + <tr> + <td align="right">OrangeRed3</td> + <td align="center" style="background-color:rgb(205, 55, 0)">OrangeRed3</td> + <td align="left">rgb(205, 55, 0)</td> + <td align="left">#CD3700</td> + + </tr> + + <tr> + <td align="right">OrangeRed4</td> + <td align="center" style="background-color:rgb(139, 37, 0)">OrangeRed4</td> + <td align="left">rgb(139, 37, 0)</td> + <td align="left">#8B2500</td> + + </tr> + + <tr> + <td align="right">DarkSalmon</td> + <td align="center" style="background-color:rgb(233, 150, 122)">DarkSalmon</td> + <td align="left">rgb(233, 150, 122)</td> + <td align="left">#E9967A</td> + + </tr> + + <tr> + <td align="right">salmon1</td> + <td align="center" style="background-color:rgb(255, 140, 105)">salmon1</td> + <td align="left">rgb(255, 140, 105)</td> + <td align="left">#FF8C69</td> + + </tr> + + <tr> + <td align="right">salmon2</td> + <td align="center" style="background-color:rgb(238, 130, 98)">salmon2</td> + <td align="left">rgb(238, 130, 98)</td> + <td align="left">#EE8262</td> + + </tr> + + <tr> + <td align="right">salmon3</td> + <td align="center" style="background-color:rgb(205, 112, 84)">salmon3</td> + <td align="left">rgb(205, 112, 84)</td> + <td align="left">#CD7054</td> + + </tr> + + <tr> + <td align="right">salmon4</td> + <td align="center" style="background-color:rgb(139, 76, 57)">salmon4</td> + <td align="left">rgb(139, 76, 57)</td> + <td align="left">#8B4C39</td> + + </tr> + + <tr> + <td align="right">coral1</td> + <td align="center" style="background-color:rgb(255, 114, 86)">coral1</td> + <td align="left">rgb(255, 114, 86)</td> + <td align="left">#FF7256</td> + + </tr> + + <tr> + <td align="right">coral2</td> + <td align="center" style="background-color:rgb(238, 106, 80)">coral2</td> + <td align="left">rgb(238, 106, 80)</td> + <td align="left">#EE6A50</td> + + </tr> + + <tr> + <td align="right">coral3</td> + <td align="center" style="background-color:rgb(205, 91, 69)">coral3</td> + <td align="left">rgb(205, 91, 69)</td> + <td align="left">#CD5B45</td> + + </tr> + + <tr> + <td align="right">coral4</td> + <td align="center" style="background-color:rgb(139, 62, 47)">coral4</td> + <td align="left">rgb(139, 62, 47)</td> + <td align="left">#8B3E2F</td> + + </tr> + + <tr> + <td align="right">tomato4</td> + <td align="center" style="background-color:rgb(139, 54, 38)">tomato4</td> + <td align="left">rgb(139, 54, 38)</td> + <td align="left">#8B3626</td> + + </tr> + + <tr> + <td align="right">tomato</td> + <td align="center" style="background-color:rgb(255, 99, 71)">tomato</td> + <td align="left">rgb(255, 99, 71)</td> + <td align="left">#FF6347</td> + + </tr> + + <tr> + <td align="right">tomato1</td> + <td align="center" style="background-color:rgb(255, 99, 71)">tomato1</td> + <td align="left">rgb(255, 99, 71)</td> + <td align="left">#FF6347</td> + + </tr> + + <tr> + <td align="right">tomato2</td> + <td align="center" style="background-color:rgb(238, 92, 66)">tomato2</td> + <td align="left">rgb(238, 92, 66)</td> + <td align="left">#EE5C42</td> + + </tr> + + <tr> + <td align="right">tomato3</td> + <td align="center" style="background-color:rgb(205, 79, 57)">tomato3</td> + <td align="left">rgb(205, 79, 57)</td> + <td align="left">#CD4F39</td> + + </tr> + + <tr> + <td align="right">MistyRose4</td> + <td align="center" style="background-color:rgb(139, 125, 123)">MistyRose4</td> + <td align="left">rgb(139, 125, 123)</td> + <td align="left">#8B7D7B</td> + + </tr> + + <tr> + <td align="right">MistyRose2</td> + <td align="center" style="background-color:rgb(238, 213, 210)">MistyRose2</td> + <td align="left">rgb(238, 213, 210)</td> + <td align="left">#EED5D2</td> + + </tr> + + <tr> + <td align="right">MistyRose</td> + <td align="center" style="background-color:rgb(255, 228, 225)">MistyRose</td> + <td align="left">rgb(255, 228, 225)</td> + <td align="left">#FFE4E1</td> + + </tr> + + <tr> + <td align="right">MistyRose1</td> + <td align="center" style="background-color:rgb(255, 228, 225)">MistyRose1</td> + <td align="left">rgb(255, 228, 225)</td> + <td align="left">#FFE4E1</td> + + </tr> + + <tr> + <td align="right">salmon</td> + <td align="center" style="background-color:rgb(250, 128, 114)">salmon</td> + <td align="left">rgb(250, 128, 114)</td> + <td align="left">#FA8072</td> + + </tr> + + <tr> + <td align="right">MistyRose3</td> + <td align="center" style="background-color:rgb(205, 183, 181)">MistyRose3</td> + <td align="left">rgb(205, 183, 181)</td> + <td align="left">#CDB7B5</td> + + </tr> + + <tr> + <td align="right">white</td> + <td align="center" style="background-color:rgb(255, 255, 255)">white</td> + <td align="left">rgb(255, 255, 255)</td> + <td align="left">#FFFFFF</td> + + </tr> + + <tr> + <td align="right">gray100</td> + <td align="center" style="background-color:rgb(255, 255, 255)">gray100</td> + <td align="left">rgb(255, 255, 255)</td> + <td align="left">#FFFFFF</td> + + </tr> + + <tr> + <td align="right">grey100</td> + <td align="center" style="background-color:rgb(255, 255, 255)">grey100</td> + <td align="left">rgb(255, 255, 255)</td> + <td align="left">#FFFFFF</td> + + </tr> + + <tr> + <td align="right">grey100</td> + <td align="center" style="background-color:rgb(255, 255, 255)">grey100</td> + <td align="left">rgb(255, 255, 255)</td> + <td align="left">#FFFFFF</td> + + </tr> + + <tr> + <td align="right">gray99</td> + <td align="center" style="background-color:rgb(252, 252, 252)">gray99</td> + <td align="left">rgb(252, 252, 252)</td> + <td align="left">#FCFCFC</td> + + </tr> + + <tr> + <td align="right">grey99</td> + <td align="center" style="background-color:rgb(252, 252, 252)">grey99</td> + <td align="left">rgb(252, 252, 252)</td> + <td align="left">#FCFCFC</td> + + </tr> + + <tr> + <td align="right">gray98</td> + <td align="center" style="background-color:rgb(250, 250, 250)">gray98</td> + <td align="left">rgb(250, 250, 250)</td> + <td align="left">#FAFAFA</td> + + </tr> + + <tr> + <td align="right">grey98</td> + <td align="center" style="background-color:rgb(250, 250, 250)">grey98</td> + <td align="left">rgb(250, 250, 250)</td> + <td align="left">#FAFAFA</td> + + </tr> + + <tr> + <td align="right">gray97</td> + <td align="center" style="background-color:rgb(247, 247, 247)">gray97</td> + <td align="left">rgb(247, 247, 247)</td> + <td align="left">#F7F7F7</td> + + </tr> + + <tr> + <td align="right">grey97</td> + <td align="center" style="background-color:rgb(247, 247, 247)">grey97</td> + <td align="left">rgb(247, 247, 247)</td> + <td align="left">#F7F7F7</td> + + </tr> + + <tr> + <td align="right">gray96</td> + <td align="center" style="background-color:rgb(245, 245, 245)">gray96</td> + <td align="left">rgb(245, 245, 245)</td> + <td align="left">#F5F5F5</td> + + </tr> + + <tr> + <td align="right">grey96</td> + <td align="center" style="background-color:rgb(245, 245, 245)">grey96</td> + <td align="left">rgb(245, 245, 245)</td> + <td align="left">#F5F5F5</td> + + </tr> + + <tr> + <td align="right">WhiteSmoke</td> + <td align="center" style="background-color:rgb(245, 245, 245)">WhiteSmoke</td> + <td align="left">rgb(245, 245, 245)</td> + <td align="left">#F5F5F5</td> + + </tr> + + <tr> + <td align="right">gray95</td> + <td align="center" style="background-color:rgb(242, 242, 242)">gray95</td> + <td align="left">rgb(242, 242, 242)</td> + <td align="left">#F2F2F2</td> + + </tr> + + <tr> + <td align="right">grey95</td> + <td align="center" style="background-color:rgb(242, 242, 242)">grey95</td> + <td align="left">rgb(242, 242, 242)</td> + <td align="left">#F2F2F2</td> + + </tr> + + <tr> + <td align="right">gray94</td> + <td align="center" style="background-color:rgb(240, 240, 240)">gray94</td> + <td align="left">rgb(240, 240, 240)</td> + <td align="left">#F0F0F0</td> + + </tr> + + <tr> + <td align="right">grey94</td> + <td align="center" style="background-color:rgb(240, 240, 240)">grey94</td> + <td align="left">rgb(240, 240, 240)</td> + <td align="left">#F0F0F0</td> + + </tr> + + <tr> + <td align="right">gray93</td> + <td align="center" style="background-color:rgb(237, 237, 237)">gray93</td> + <td align="left">rgb(237, 237, 237)</td> + <td align="left">#EDEDED</td> + + </tr> + + <tr> + <td align="right">grey93</td> + <td align="center" style="background-color:rgb(237, 237, 237)">grey93</td> + <td align="left">rgb(237, 237, 237)</td> + <td align="left">#EDEDED</td> + + </tr> + + <tr> + <td align="right">gray92</td> + <td align="center" style="background-color:rgb(235, 235, 235)">gray92</td> + <td align="left">rgb(235, 235, 235)</td> + <td align="left">#EBEBEB</td> + + </tr> + + <tr> + <td align="right">grey92</td> + <td align="center" style="background-color:rgb(235, 235, 235)">grey92</td> + <td align="left">rgb(235, 235, 235)</td> + <td align="left">#EBEBEB</td> + + </tr> + + <tr> + <td align="right">gray91</td> + <td align="center" style="background-color:rgb(232, 232, 232)">gray91</td> + <td align="left">rgb(232, 232, 232)</td> + <td align="left">#E8E8E8</td> + + </tr> + + <tr> + <td align="right">grey91</td> + <td align="center" style="background-color:rgb(232, 232, 232)">grey91</td> + <td align="left">rgb(232, 232, 232)</td> + <td align="left">#E8E8E8</td> + + </tr> + + <tr> + <td align="right">gray90</td> + <td align="center" style="background-color:rgb(229, 229, 229)">gray90</td> + <td align="left">rgb(229, 229, 229)</td> + <td align="left">#E5E5E5</td> + + </tr> + + <tr> + <td align="right">grey90</td> + <td align="center" style="background-color:rgb(229, 229, 229)">grey90</td> + <td align="left">rgb(229, 229, 229)</td> + <td align="left">#E5E5E5</td> + + </tr> + + <tr> + <td align="right">gray89</td> + <td align="center" style="background-color:rgb(227, 227, 227)">gray89</td> + <td align="left">rgb(227, 227, 227)</td> + <td align="left">#E3E3E3</td> + + </tr> + + <tr> + <td align="right">grey89</td> + <td align="center" style="background-color:rgb(227, 227, 227)">grey89</td> + <td align="left">rgb(227, 227, 227)</td> + <td align="left">#E3E3E3</td> + + </tr> + + <tr> + <td align="right">gray88</td> + <td align="center" style="background-color:rgb(224, 224, 224)">gray88</td> + <td align="left">rgb(224, 224, 224)</td> + <td align="left">#E0E0E0</td> + + </tr> + + <tr> + <td align="right">grey88</td> + <td align="center" style="background-color:rgb(224, 224, 224)">grey88</td> + <td align="left">rgb(224, 224, 224)</td> + <td align="left">#E0E0E0</td> + + </tr> + + <tr> + <td align="right">gray87</td> + <td align="center" style="background-color:rgb(222, 222, 222)">gray87</td> + <td align="left">rgb(222, 222, 222)</td> + <td align="left">#DEDEDE</td> + + </tr> + + <tr> + <td align="right">grey87</td> + <td align="center" style="background-color:rgb(222, 222, 222)">grey87</td> + <td align="left">rgb(222, 222, 222)</td> + <td align="left">#DEDEDE</td> + + </tr> + + <tr> + <td align="right">gainsboro</td> + <td align="center" style="background-color:rgb(220, 220, 220)">gainsboro</td> + <td align="left">rgb(220, 220, 220)</td> + <td align="left">#DCDCDC</td> + + </tr> + + <tr> + <td align="right">gray86</td> + <td align="center" style="background-color:rgb(219, 219, 219)">gray86</td> + <td align="left">rgb(219, 219, 219)</td> + <td align="left">#DBDBDB</td> + + </tr> + + <tr> + <td align="right">grey86</td> + <td align="center" style="background-color:rgb(219, 219, 219)">grey86</td> + <td align="left">rgb(219, 219, 219)</td> + <td align="left">#DBDBDB</td> + + </tr> + + <tr> + <td align="right">gray85</td> + <td align="center" style="background-color:rgb(217, 217, 217)">gray85</td> + <td align="left">rgb(217, 217, 217)</td> + <td align="left">#D9D9D9</td> + + </tr> + + <tr> + <td align="right">grey85</td> + <td align="center" style="background-color:rgb(217, 217, 217)">grey85</td> + <td align="left">rgb(217, 217, 217)</td> + <td align="left">#D9D9D9</td> + + </tr> + + <tr> + <td align="right">gray84</td> + <td align="center" style="background-color:rgb(214, 214, 214)">gray84</td> + <td align="left">rgb(214, 214, 214)</td> + <td align="left">#D6D6D6</td> + + </tr> + + <tr> + <td align="right">grey84</td> + <td align="center" style="background-color:rgb(214, 214, 214)">grey84</td> + <td align="left">rgb(214, 214, 214)</td> + <td align="left">#D6D6D6</td> + + </tr> + + <tr> + <td align="right">gray83</td> + <td align="center" style="background-color:rgb(212, 212, 212)">gray83</td> + <td align="left">rgb(212, 212, 212)</td> + <td align="left">#D4D4D4</td> + + </tr> + + <tr> + <td align="right">grey83</td> + <td align="center" style="background-color:rgb(212, 212, 212)">grey83</td> + <td align="left">rgb(212, 212, 212)</td> + <td align="left">#D4D4D4</td> + + </tr> + + <tr> + <td align="right">LightGray</td> + <td align="center" style="background-color:rgb(211, 211, 211)">LightGray</td> + <td align="left">rgb(211, 211, 211)</td> + <td align="left">#D3D3D3</td> + + </tr> + + <tr> + <td align="right">LightGrey</td> + <td align="center" style="background-color:rgb(211, 211, 211)">LightGrey</td> + <td align="left">rgb(211, 211, 211)</td> + <td align="left">#D3D3D3</td> + + </tr> + + <tr> + <td align="right">gray82</td> + <td align="center" style="background-color:rgb(209, 209, 209)">gray82</td> + <td align="left">rgb(209, 209, 209)</td> + <td align="left">#D1D1D1</td> + + </tr> + + <tr> + <td align="right">grey82</td> + <td align="center" style="background-color:rgb(209, 209, 209)">grey82</td> + <td align="left">rgb(209, 209, 209)</td> + <td align="left">#D1D1D1</td> + + </tr> + + <tr> + <td align="right">gray81</td> + <td align="center" style="background-color:rgb(207, 207, 207)">gray81</td> + <td align="left">rgb(207, 207, 207)</td> + <td align="left">#CFCFCF</td> + + </tr> + + <tr> + <td align="right">grey81</td> + <td align="center" style="background-color:rgb(207, 207, 207)">grey81</td> + <td align="left">rgb(207, 207, 207)</td> + <td align="left">#CFCFCF</td> + + </tr> + + <tr> + <td align="right">gray80</td> + <td align="center" style="background-color:rgb(204, 204, 204)">gray80</td> + <td align="left">rgb(204, 204, 204)</td> + <td align="left">#CCCCCC</td> + + </tr> + + <tr> + <td align="right">grey80</td> + <td align="center" style="background-color:rgb(204, 204, 204)">grey80</td> + <td align="left">rgb(204, 204, 204)</td> + <td align="left">#CCCCCC</td> + + </tr> + + <tr> + <td align="right">gray79</td> + <td align="center" style="background-color:rgb(201, 201, 201)">gray79</td> + <td align="left">rgb(201, 201, 201)</td> + <td align="left">#C9C9C9</td> + + </tr> + + <tr> + <td align="right">grey79</td> + <td align="center" style="background-color:rgb(201, 201, 201)">grey79</td> + <td align="left">rgb(201, 201, 201)</td> + <td align="left">#C9C9C9</td> + + </tr> + + <tr> + <td align="right">gray78</td> + <td align="center" style="background-color:rgb(199, 199, 199)">gray78</td> + <td align="left">rgb(199, 199, 199)</td> + <td align="left">#C7C7C7</td> + + </tr> + + <tr> + <td align="right">grey78</td> + <td align="center" style="background-color:rgb(199, 199, 199)">grey78</td> + <td align="left">rgb(199, 199, 199)</td> + <td align="left">#C7C7C7</td> + + </tr> + + <tr> + <td align="right">gray77</td> + <td align="center" style="background-color:rgb(196, 196, 196)">gray77</td> + <td align="left">rgb(196, 196, 196)</td> + <td align="left">#C4C4C4</td> + + </tr> + + <tr> + <td align="right">grey77</td> + <td align="center" style="background-color:rgb(196, 196, 196)">grey77</td> + <td align="left">rgb(196, 196, 196)</td> + <td align="left">#C4C4C4</td> + + </tr> + + <tr> + <td align="right">gray76</td> + <td align="center" style="background-color:rgb(194, 194, 194)">gray76</td> + <td align="left">rgb(194, 194, 194)</td> + <td align="left">#C2C2C2</td> + + </tr> + + <tr> + <td align="right">grey76</td> + <td align="center" style="background-color:rgb(194, 194, 194)">grey76</td> + <td align="left">rgb(194, 194, 194)</td> + <td align="left">#C2C2C2</td> + + </tr> + + <tr> + <td align="right">silver</td> + <td align="center" style="background-color:rgb(192, 192, 192)">silver</td> + <td align="left">rgb(192, 192, 192)</td> + <td align="left">#C0C0C0</td> + + </tr> + + <tr> + <td align="right">gray75</td> + <td align="center" style="background-color:rgb(191, 191, 191)">gray75</td> + <td align="left">rgb(191, 191, 191)</td> + <td align="left">#BFBFBF</td> + + </tr> + + <tr> + <td align="right">grey75</td> + <td align="center" style="background-color:rgb(191, 191, 191)">grey75</td> + <td align="left">rgb(191, 191, 191)</td> + <td align="left">#BFBFBF</td> + + </tr> + + <tr> + <td align="right">gray74</td> + <td align="center" style="background-color:rgb(189, 189, 189)">gray74</td> + <td align="left">rgb(189, 189, 189)</td> + <td align="left">#BDBDBD</td> + + </tr> + + <tr> + <td align="right">grey74</td> + <td align="center" style="background-color:rgb(189, 189, 189)">grey74</td> + <td align="left">rgb(189, 189, 189)</td> + <td align="left">#BDBDBD</td> + + </tr> + + <tr> + <td align="right">gray73</td> + <td align="center" style="background-color:rgb(186, 186, 186)">gray73</td> + <td align="left">rgb(186, 186, 186)</td> + <td align="left">#BABABA</td> + + </tr> + + <tr> + <td align="right">grey73</td> + <td align="center" style="background-color:rgb(186, 186, 186)">grey73</td> + <td align="left">rgb(186, 186, 186)</td> + <td align="left">#BABABA</td> + + </tr> + + <tr> + <td align="right">gray72</td> + <td align="center" style="background-color:rgb(184, 184, 184)">gray72</td> + <td align="left">rgb(184, 184, 184)</td> + <td align="left">#B8B8B8</td> + + </tr> + + <tr> + <td align="right">grey72</td> + <td align="center" style="background-color:rgb(184, 184, 184)">grey72</td> + <td align="left">rgb(184, 184, 184)</td> + <td align="left">#B8B8B8</td> + + </tr> + + <tr> + <td align="right">gray71</td> + <td align="center" style="background-color:rgb(181, 181, 181)">gray71</td> + <td align="left">rgb(181, 181, 181)</td> + <td align="left">#B5B5B5</td> + + </tr> + + <tr> + <td align="right">grey71</td> + <td align="center" style="background-color:rgb(181, 181, 181)">grey71</td> + <td align="left">rgb(181, 181, 181)</td> + <td align="left">#B5B5B5</td> + + </tr> + + <tr> + <td align="right">gray70</td> + <td align="center" style="background-color:rgb(179, 179, 179)">gray70</td> + <td align="left">rgb(179, 179, 179)</td> + <td align="left">#B3B3B3</td> + + </tr> + + <tr> + <td align="right">grey70</td> + <td align="center" style="background-color:rgb(179, 179, 179)">grey70</td> + <td align="left">rgb(179, 179, 179)</td> + <td align="left">#B3B3B3</td> + + </tr> + + <tr> + <td align="right">gray69</td> + <td align="center" style="background-color:rgb(176, 176, 176)">gray69</td> + <td align="left">rgb(176, 176, 176)</td> + <td align="left">#B0B0B0</td> + + </tr> + + <tr> + <td align="right">grey69</td> + <td align="center" style="background-color:rgb(176, 176, 176)">grey69</td> + <td align="left">rgb(176, 176, 176)</td> + <td align="left">#B0B0B0</td> + + </tr> + + <tr> + <td align="right">gray68</td> + <td align="center" style="background-color:rgb(173, 173, 173)">gray68</td> + <td align="left">rgb(173, 173, 173)</td> + <td align="left">#ADADAD</td> + + </tr> + + <tr> + <td align="right">grey68</td> + <td align="center" style="background-color:rgb(173, 173, 173)">grey68</td> + <td align="left">rgb(173, 173, 173)</td> + <td align="left">#ADADAD</td> + + </tr> + + <tr> + <td align="right">gray67</td> + <td align="center" style="background-color:rgb(171, 171, 171)">gray67</td> + <td align="left">rgb(171, 171, 171)</td> + <td align="left">#ABABAB</td> + + </tr> + + <tr> + <td align="right">grey67</td> + <td align="center" style="background-color:rgb(171, 171, 171)">grey67</td> + <td align="left">rgb(171, 171, 171)</td> + <td align="left">#ABABAB</td> + + </tr> + + <tr> + <td align="right">DarkGray</td> + <td align="center" style="background-color:rgb(169, 169, 169)">DarkGray</td> + <td align="left">rgb(169, 169, 169)</td> + <td align="left">#A9A9A9</td> + + </tr> + + <tr> + <td align="right">DarkGrey</td> + <td align="center" style="background-color:rgb(169, 169, 169)">DarkGrey</td> + <td align="left">rgb(169, 169, 169)</td> + <td align="left">#A9A9A9</td> + + </tr> + + <tr> + <td align="right">gray66</td> + <td align="center" style="background-color:rgb(168, 168, 168)">gray66</td> + <td align="left">rgb(168, 168, 168)</td> + <td align="left">#A8A8A8</td> + + </tr> + + <tr> + <td align="right">grey66</td> + <td align="center" style="background-color:rgb(168, 168, 168)">grey66</td> + <td align="left">rgb(168, 168, 168)</td> + <td align="left">#A8A8A8</td> + + </tr> + + <tr> + <td align="right">gray65</td> + <td align="center" style="background-color:rgb(166, 166, 166)">gray65</td> + <td align="left">rgb(166, 166, 166)</td> + <td align="left">#A6A6A6</td> + + </tr> + + <tr> + <td align="right">grey65</td> + <td align="center" style="background-color:rgb(166, 166, 166)">grey65</td> + <td align="left">rgb(166, 166, 166)</td> + <td align="left">#A6A6A6</td> + + </tr> + + <tr> + <td align="right">gray64</td> + <td align="center" style="background-color:rgb(163, 163, 163)">gray64</td> + <td align="left">rgb(163, 163, 163)</td> + <td align="left">#A3A3A3</td> + + </tr> + + <tr> + <td align="right">grey64</td> + <td align="center" style="background-color:rgb(163, 163, 163)">grey64</td> + <td align="left">rgb(163, 163, 163)</td> + <td align="left">#A3A3A3</td> + + </tr> + + <tr> + <td align="right">gray63</td> + <td align="center" style="background-color:rgb(161, 161, 161)">gray63</td> + <td align="left">rgb(161, 161, 161)</td> + <td align="left">#A1A1A1</td> + + </tr> + + <tr> + <td align="right">grey63</td> + <td align="center" style="background-color:rgb(161, 161, 161)">grey63</td> + <td align="left">rgb(161, 161, 161)</td> + <td align="left">#A1A1A1</td> + + </tr> + + <tr> + <td align="right">gray62</td> + <td align="center" style="background-color:rgb(158, 158, 158)">gray62</td> + <td align="left">rgb(158, 158, 158)</td> + <td align="left">#9E9E9E</td> + + </tr> + + <tr> + <td align="right">grey62</td> + <td align="center" style="background-color:rgb(158, 158, 158)">grey62</td> + <td align="left">rgb(158, 158, 158)</td> + <td align="left">#9E9E9E</td> + + </tr> + + <tr> + <td align="right">gray61</td> + <td align="center" style="background-color:rgb(156, 156, 156)">gray61</td> + <td align="left">rgb(156, 156, 156)</td> + <td align="left">#9C9C9C</td> + + </tr> + + <tr> + <td align="right">grey61</td> + <td align="center" style="background-color:rgb(156, 156, 156)">grey61</td> + <td align="left">rgb(156, 156, 156)</td> + <td align="left">#9C9C9C</td> + + </tr> + + <tr> + <td align="right">gray60</td> + <td align="center" style="background-color:rgb(153, 153, 153)">gray60</td> + <td align="left">rgb(153, 153, 153)</td> + <td align="left">#999999</td> + + </tr> + + <tr> + <td align="right">grey60</td> + <td align="center" style="background-color:rgb(153, 153, 153)">grey60</td> + <td align="left">rgb(153, 153, 153)</td> + <td align="left">#999999</td> + + </tr> + + <tr> + <td align="right">gray59</td> + <td align="center" style="background-color:rgb(150, 150, 150)">gray59</td> + <td align="left">rgb(150, 150, 150)</td> + <td align="left">#969696</td> + + </tr> + + <tr> + <td align="right">grey59</td> + <td align="center" style="background-color:rgb(150, 150, 150)">grey59</td> + <td align="left">rgb(150, 150, 150)</td> + <td align="left">#969696</td> + + </tr> + + <tr> + <td align="right">gray58</td> + <td align="center" style="background-color:rgb(148, 148, 148)">gray58</td> + <td align="left">rgb(148, 148, 148)</td> + <td align="left">#949494</td> + + </tr> + + <tr> + <td align="right">grey58</td> + <td align="center" style="background-color:rgb(148, 148, 148)">grey58</td> + <td align="left">rgb(148, 148, 148)</td> + <td align="left">#949494</td> + + </tr> + + <tr> + <td align="right">gray57</td> + <td align="center" style="background-color:rgb(145, 145, 145)">gray57</td> + <td align="left">rgb(145, 145, 145)</td> + <td align="left">#919191</td> + + </tr> + + <tr> + <td align="right">grey57</td> + <td align="center" style="background-color:rgb(145, 145, 145)">grey57</td> + <td align="left">rgb(145, 145, 145)</td> + <td align="left">#919191</td> + + </tr> + + <tr> + <td align="right">gray56</td> + <td align="center" style="background-color:rgb(143, 143, 143)">gray56</td> + <td align="left">rgb(143, 143, 143)</td> + <td align="left">#8F8F8F</td> + + </tr> + + <tr> + <td align="right">grey56</td> + <td align="center" style="background-color:rgb(143, 143, 143)">grey56</td> + <td align="left">rgb(143, 143, 143)</td> + <td align="left">#8F8F8F</td> + + </tr> + + <tr> + <td align="right">gray55</td> + <td align="center" style="background-color:rgb(140, 140, 140)">gray55</td> + <td align="left">rgb(140, 140, 140)</td> + <td align="left">#8C8C8C</td> + + </tr> + + <tr> + <td align="right">grey55</td> + <td align="center" style="background-color:rgb(140, 140, 140)">grey55</td> + <td align="left">rgb(140, 140, 140)</td> + <td align="left">#8C8C8C</td> + + </tr> + + <tr> + <td align="right">gray54</td> + <td align="center" style="background-color:rgb(138, 138, 138)">gray54</td> + <td align="left">rgb(138, 138, 138)</td> + <td align="left">#8A8A8A</td> + + </tr> + + <tr> + <td align="right">grey54</td> + <td align="center" style="background-color:rgb(138, 138, 138)">grey54</td> + <td align="left">rgb(138, 138, 138)</td> + <td align="left">#8A8A8A</td> + + </tr> + + <tr> + <td align="right">gray53</td> + <td align="center" style="background-color:rgb(135, 135, 135)">gray53</td> + <td align="left">rgb(135, 135, 135)</td> + <td align="left">#878787</td> + + </tr> + + <tr> + <td align="right">grey53</td> + <td align="center" style="background-color:rgb(135, 135, 135)">grey53</td> + <td align="left">rgb(135, 135, 135)</td> + <td align="left">#878787</td> + + </tr> + + <tr> + <td align="right">gray52</td> + <td align="center" style="background-color:rgb(133, 133, 133)">gray52</td> + <td align="left">rgb(133, 133, 133)</td> + <td align="left">#858585</td> + + </tr> + + <tr> + <td align="right">grey52</td> + <td align="center" style="background-color:rgb(133, 133, 133)">grey52</td> + <td align="left">rgb(133, 133, 133)</td> + <td align="left">#858585</td> + + </tr> + + <tr> + <td align="right">gray51</td> + <td align="center" style="background-color:rgb(130, 130, 130)">gray51</td> + <td align="left">rgb(130, 130, 130)</td> + <td align="left">#828282</td> + + </tr> + + <tr> + <td align="right">grey51</td> + <td align="center" style="background-color:rgb(130, 130, 130)">grey51</td> + <td align="left">rgb(130, 130, 130)</td> + <td align="left">#828282</td> + + </tr> + + <tr> + <td align="right">fractal</td> + <td align="center" style="background-color:rgb(128, 128, 128)">fractal</td> + <td align="left">rgb(128, 128, 128)</td> + <td align="left">#808080</td> + + </tr> + + <tr> + <td align="right">gray50</td> + <td align="center" style="background-color:rgb(127, 127, 127)">gray50</td> + <td align="left">rgb(127, 127, 127)</td> + <td align="left">#7F7F7F</td> + + </tr> + + <tr> + <td align="right">grey50</td> + <td align="center" style="background-color:rgb(127, 127, 127)">grey50</td> + <td align="left">rgb(127, 127, 127)</td> + <td align="left">#7F7F7F</td> + + </tr> + + <tr> + <td align="right">gray</td> + <td align="center" style="background-color:rgb(126, 126, 126)">gray</td> + <td align="left">rgb(126, 126, 126)</td> + <td align="left">#7E7E7E</td> + + </tr> + + <tr> + <td align="right">gray49</td> + <td align="center" style="background-color:rgb(125, 125, 125)">gray49</td> + <td align="left">rgb(125, 125, 125)</td> + <td align="left">#7D7D7D</td> + + </tr> + + <tr> + <td align="right">grey49</td> + <td align="center" style="background-color:rgb(125, 125, 125)">grey49</td> + <td align="left">rgb(125, 125, 125)</td> + <td align="left">#7D7D7D</td> + + </tr> + + <tr> + <td align="right">gray48</td> + <td align="center" style="background-color:rgb(122, 122, 122)">gray48</td> + <td align="left">rgb(122, 122, 122)</td> + <td align="left">#7A7A7A</td> + + </tr> + + <tr> + <td align="right">grey48</td> + <td align="center" style="background-color:rgb(122, 122, 122)">grey48</td> + <td align="left">rgb(122, 122, 122)</td> + <td align="left">#7A7A7A</td> + + </tr> + + <tr> + <td align="right">gray47</td> + <td align="center" style="background-color:rgb(120, 120, 120)">gray47</td> + <td align="left">rgb(120, 120, 120)</td> + <td align="left">#787878</td> + + </tr> + + <tr> + <td align="right">grey47</td> + <td align="center" style="background-color:rgb(120, 120, 120)">grey47</td> + <td align="left">rgb(120, 120, 120)</td> + <td align="left">#787878</td> + + </tr> + + <tr> + <td align="right">gray46</td> + <td align="center" style="background-color:rgb(117, 117, 117)">gray46</td> + <td align="left">rgb(117, 117, 117)</td> + <td align="left">#757575</td> + + </tr> + + <tr> + <td align="right">grey46</td> + <td align="center" style="background-color:rgb(117, 117, 117)">grey46</td> + <td align="left">rgb(117, 117, 117)</td> + <td align="left">#757575</td> + + </tr> + + <tr> + <td align="right">gray45</td> + <td align="center" style="background-color:rgb(115, 115, 115)">gray45</td> + <td align="left">rgb(115, 115, 115)</td> + <td align="left">#737373</td> + + </tr> + + <tr> + <td align="right">grey45</td> + <td align="center" style="background-color:rgb(115, 115, 115)">grey45</td> + <td align="left">rgb(115, 115, 115)</td> + <td align="left">#737373</td> + + </tr> + + <tr> + <td align="right">gray44</td> + <td align="center" style="background-color:rgb(112, 112, 112)">gray44</td> + <td align="left">rgb(112, 112, 112)</td> + <td align="left">#707070</td> + + </tr> + + <tr> + <td align="right">grey44</td> + <td align="center" style="background-color:rgb(112, 112, 112)">grey44</td> + <td align="left">rgb(112, 112, 112)</td> + <td align="left">#707070</td> + + </tr> + + <tr> + <td align="right">gray43</td> + <td align="center" style="background-color:rgb(110, 110, 110)">gray43</td> + <td align="left">rgb(110, 110, 110)</td> + <td align="left">#6E6E6E</td> + + </tr> + + <tr> + <td align="right">grey43</td> + <td align="center" style="background-color:rgb(110, 110, 110)">grey43</td> + <td align="left">rgb(110, 110, 110)</td> + <td align="left">#6E6E6E</td> + + </tr> + + <tr> + <td align="right">gray42</td> + <td align="center" style="background-color:rgb(107, 107, 107)">gray42</td> + <td align="left">rgb(107, 107, 107)</td> + <td align="left">#6B6B6B</td> + + </tr> + + <tr> + <td align="right">grey42</td> + <td align="center" style="background-color:rgb(107, 107, 107)">grey42</td> + <td align="left">rgb(107, 107, 107)</td> + <td align="left">#6B6B6B</td> + + </tr> + + <tr> + <td align="right">DimGray</td> + <td align="center" style="background-color:rgb(105, 105, 105)">DimGray</td> + <td align="left">rgb(105, 105, 105)</td> + <td align="left">#696969</td> + + </tr> + + <tr> + <td align="right">DimGrey</td> + <td align="center" style="background-color:rgb(105, 105, 105)">DimGrey</td> + <td align="left">rgb(105, 105, 105)</td> + <td align="left">#696969</td> + + </tr> + + <tr> + <td align="right">gray41</td> + <td align="center" style="background-color:rgb(105, 105, 105)">gray41</td> + <td align="left">rgb(105, 105, 105)</td> + <td align="left">#696969</td> + + </tr> + + <tr> + <td align="right">grey41</td> + <td align="center" style="background-color:rgb(105, 105, 105)">grey41</td> + <td align="left">rgb(105, 105, 105)</td> + <td align="left">#696969</td> + + </tr> + + <tr> + <td align="right">gray40</td> + <td align="center" style="background-color:rgb(102, 102, 102)">gray40</td> + <td align="left">rgb(102, 102, 102)</td> + <td align="left">#666666</td> + + </tr> + + <tr> + <td align="right">grey40</td> + <td align="center" style="background-color:rgb(102, 102, 102)">grey40</td> + <td align="left">rgb(102, 102, 102)</td> + <td align="left">#666666</td> + + </tr> + + <tr> + <td align="right">gray39</td> + <td align="center" style="background-color:rgb( 99, 99, 99)">gray39</td> + <td align="left">rgb( 99, 99, 99)</td> + <td align="left">#636363</td> + + </tr> + + <tr> + <td align="right">grey39</td> + <td align="center" style="background-color:rgb( 99, 99, 99)">grey39</td> + <td align="left">rgb( 99, 99, 99)</td> + <td align="left">#636363</td> + + </tr> + + <tr> + <td align="right">gray38</td> + <td align="center" style="background-color:rgb( 97, 97, 97)">gray38</td> + <td align="left">rgb( 97, 97, 97)</td> + <td align="left">#616161</td> + + </tr> + + <tr> + <td align="right">grey38</td> + <td align="center" style="background-color:rgb( 97, 97, 97)">grey38</td> + <td align="left">rgb( 97, 97, 97)</td> + <td align="left">#616161</td> + + </tr> + + <tr> + <td align="right">gray37</td> + <td align="center" style="background-color:rgb( 94, 94, 94)">gray37</td> + <td align="left">rgb( 94, 94, 94)</td> + <td align="left">#5E5E5E</td> + + </tr> + + <tr> + <td align="right">grey37</td> + <td align="center" style="background-color:rgb( 94, 94, 94)">grey37</td> + <td align="left">rgb( 94, 94, 94)</td> + <td align="left">#5E5E5E</td> + + </tr> + + <tr> + <td align="right">gray36</td> + <td align="center" style="background-color:rgb( 92, 92, 92)">gray36</td> + <td align="left">rgb( 92, 92, 92)</td> + <td align="left">#5C5C5C</td> + + </tr> + + <tr> + <td align="right">grey36</td> + <td align="center" style="background-color:rgb( 92, 92, 92)">grey36</td> + <td align="left">rgb( 92, 92, 92)</td> + <td align="left">#5C5C5C</td> + + </tr> + + <tr> + <td align="right">gray35</td> + <td align="center" style="background-color:rgb( 89, 89, 89)">gray35</td> + <td align="left">rgb( 89, 89, 89)</td> + <td align="left">#595959</td> + + </tr> + + <tr> + <td align="right">grey35</td> + <td align="center" style="background-color:rgb( 89, 89, 89)">grey35</td> + <td align="left">rgb( 89, 89, 89)</td> + <td align="left">#595959</td> + + </tr> + + <tr> + <td align="right">gray34</td> + <td align="center" style="background-color:rgb( 87, 87, 87)">gray34</td> + <td align="left">rgb( 87, 87, 87)</td> + <td align="left">#575757</td> + + </tr> + + <tr> + <td align="right">grey34</td> + <td align="center" style="background-color:rgb( 87, 87, 87)">grey34</td> + <td align="left">rgb( 87, 87, 87)</td> + <td align="left">#575757</td> + + </tr> + + <tr> + <td align="right">gray33</td> + <td align="center" style="background-color:rgb( 84, 84, 84)">gray33</td> + <td align="left">rgb( 84, 84, 84)</td> + <td align="left">#545454</td> + + </tr> + + <tr> + <td align="right">grey33</td> + <td align="center" style="background-color:rgb( 84, 84, 84)">grey33</td> + <td align="left">rgb( 84, 84, 84)</td> + <td align="left">#545454</td> + + </tr> + + <tr> + <td align="right">gray32</td> + <td align="center" style="background-color:rgb( 82, 82, 82)">gray32</td> + <td align="left">rgb( 82, 82, 82)</td> + <td align="left">#525252</td> + + </tr> + + <tr> + <td align="right">grey32</td> + <td align="center" style="background-color:rgb( 82, 82, 82)">grey32</td> + <td align="left">rgb( 82, 82, 82)</td> + <td align="left">#525252</td> + + </tr> + + <tr> + <td align="right">gray31</td> + <td align="center" style="background-color:rgb( 79, 79, 79)">gray31</td> + <td align="left">rgb( 79, 79, 79)</td> + <td align="left">#4F4F4F</td> + + </tr> + + <tr> + <td align="right">grey31</td> + <td align="center" style="background-color:rgb( 79, 79, 79)">grey31</td> + <td align="left">rgb( 79, 79, 79)</td> + <td align="left">#4F4F4F</td> + + </tr> + + <tr> + <td align="right">gray30</td> + <td align="center" style="background-color:rgb( 77, 77, 77)">gray30</td> + <td align="left">rgb( 77, 77, 77)</td> + <td align="left">#4D4D4D</td> + + </tr> + + <tr> + <td align="right">grey30</td> + <td align="center" style="background-color:rgb( 77, 77, 77)">grey30</td> + <td align="left">rgb( 77, 77, 77)</td> + <td align="left">#4D4D4D</td> + + </tr> + + <tr> + <td align="right">gray29</td> + <td align="center" style="background-color:rgb( 74, 74, 74)">gray29</td> + <td align="left">rgb( 74, 74, 74)</td> + <td align="left">#4A4A4A</td> + + </tr> + + <tr> + <td align="right">grey29</td> + <td align="center" style="background-color:rgb( 74, 74, 74)">grey29</td> + <td align="left">rgb( 74, 74, 74)</td> + <td align="left">#4A4A4A</td> + + </tr> + + <tr> + <td align="right">gray28</td> + <td align="center" style="background-color:rgb( 71, 71, 71)">gray28</td> + <td align="left">rgb( 71, 71, 71)</td> + <td align="left">#474747</td> + + </tr> + + <tr> + <td align="right">grey28</td> + <td align="center" style="background-color:rgb( 71, 71, 71)">grey28</td> + <td align="left">rgb( 71, 71, 71)</td> + <td align="left">#474747</td> + + </tr> + + <tr> + <td align="right">gray27</td> + <td align="center" style="background-color:rgb( 69, 69, 69)">gray27</td> + <td align="left">rgb( 69, 69, 69)</td> + <td align="left">#454545</td> + + </tr> + + <tr> + <td align="right">grey27</td> + <td align="center" style="background-color:rgb( 69, 69, 69)">grey27</td> + <td align="left">rgb( 69, 69, 69)</td> + <td align="left">#454545</td> + + </tr> + + <tr> + <td align="right">gray26</td> + <td align="center" style="background-color:rgb( 66, 66, 66)">gray26</td> + <td align="left">rgb( 66, 66, 66)</td> + <td align="left">#424242</td> + + </tr> + + <tr> + <td align="right">grey26</td> + <td align="center" style="background-color:rgb( 66, 66, 66)">grey26</td> + <td align="left">rgb( 66, 66, 66)</td> + <td align="left">#424242</td> + + </tr> + + <tr> + <td align="right">gray25</td> + <td align="center" style="background-color:rgb( 64, 64, 64)">gray25</td> + <td align="left">rgb( 64, 64, 64)</td> + <td align="left">#404040</td> + + </tr> + + <tr> + <td align="right">grey25</td> + <td align="center" style="background-color:rgb( 64, 64, 64)">grey25</td> + <td align="left">rgb( 64, 64, 64)</td> + <td align="left">#404040</td> + + </tr> + + <tr> + <td align="right">gray24</td> + <td align="center" style="background-color:rgb( 61, 61, 61)">gray24</td> + <td align="left">rgb( 61, 61, 61)</td> + <td align="left">#3D3D3D</td> + + </tr> + + <tr> + <td align="right">grey24</td> + <td align="center" style="background-color:rgb( 61, 61, 61)">grey24</td> + <td align="left">rgb( 61, 61, 61)</td> + <td align="left">#3D3D3D</td> + + </tr> + + <tr> + <td align="right">gray23</td> + <td align="center" style="background-color:rgb( 59, 59, 59)">gray23</td> + <td align="left">rgb( 59, 59, 59)</td> + <td align="left">#3B3B3B</td> + + </tr> + + <tr> + <td align="right">grey23</td> + <td align="center" style="background-color:rgb( 59, 59, 59)">grey23</td> + <td align="left">rgb( 59, 59, 59)</td> + <td align="left">#3B3B3B</td> + + </tr> + + <tr> + <td align="right">gray22</td> + <td align="center" style="background-color:rgb( 56, 56, 56)">gray22</td> + <td align="left">rgb( 56, 56, 56)</td> + <td align="left">#383838</td> + + </tr> + + <tr> + <td align="right">grey22</td> + <td align="center" style="background-color:rgb( 56, 56, 56)">grey22</td> + <td align="left">rgb( 56, 56, 56)</td> + <td align="left">#383838</td> + + </tr> + + <tr> + <td align="right">gray21</td> + <td align="center" style="background-color:rgb( 54, 54, 54)">gray21</td> + <td align="left">rgb( 54, 54, 54)</td> + <td align="left">#363636</td> + + </tr> + + <tr> + <td align="right">grey21</td> + <td align="center" style="background-color:rgb( 54, 54, 54)">grey21</td> + <td align="left">rgb( 54, 54, 54)</td> + <td align="left">#363636</td> + + </tr> + + <tr> + <td align="right">gray20</td> + <td align="center" style="background-color:rgb( 51, 51, 51)">gray20</td> + <td align="left">rgb( 51, 51, 51)</td> + <td align="left">#333333</td> + + </tr> + + <tr> + <td align="right">grey20</td> + <td align="center" style="background-color:rgb( 51, 51, 51)">grey20</td> + <td align="left">rgb( 51, 51, 51)</td> + <td align="left">#333333</td> + + </tr> + + <tr> + <td align="right">gray19</td> + <td align="center" style="background-color:rgb( 48, 48, 48)">gray19</td> + <td align="left">rgb( 48, 48, 48)</td> + <td align="left">#303030</td> + + </tr> + + <tr> + <td align="right">grey19</td> + <td align="center" style="background-color:rgb( 48, 48, 48)">grey19</td> + <td align="left">rgb( 48, 48, 48)</td> + <td align="left">#303030</td> + + </tr> + + <tr> + <td align="right">gray18</td> + <td align="center" style="background-color:rgb( 46, 46, 46)">gray18</td> + <td align="left">rgb( 46, 46, 46)</td> + <td align="left">#2E2E2E</td> + + </tr> + + <tr> + <td align="right">grey18</td> + <td align="center" style="background-color:rgb( 46, 46, 46)">grey18</td> + <td align="left">rgb( 46, 46, 46)</td> + <td align="left">#2E2E2E</td> + + </tr> + + <tr> + <td align="right">gray17</td> + <td align="center" style="background-color:rgb( 43, 43, 43)">gray17</td> + <td align="left">rgb( 43, 43, 43)</td> + <td align="left">#2B2B2B</td> + + </tr> + + <tr> + <td align="right">grey17</td> + <td align="center" style="background-color:rgb( 43, 43, 43)">grey17</td> + <td align="left">rgb( 43, 43, 43)</td> + <td align="left">#2B2B2B</td> + + </tr> + + <tr> + <td align="right">gray16</td> + <td align="center" style="background-color:rgb( 41, 41, 41)">gray16</td> + <td align="left">rgb( 41, 41, 41)</td> + <td align="left">#292929</td> + + </tr> + + <tr> + <td align="right">grey16</td> + <td align="center" style="background-color:rgb( 41, 41, 41)">grey16</td> + <td align="left">rgb( 41, 41, 41)</td> + <td align="left">#292929</td> + + </tr> + + <tr> + <td align="right">gray15</td> + <td align="center" style="background-color:rgb( 38, 38, 38)">gray15</td> + <td align="left">rgb( 38, 38, 38)</td> + <td align="left">#262626</td> + + </tr> + + <tr> + <td align="right">grey15</td> + <td align="center" style="background-color:rgb( 38, 38, 38)">grey15</td> + <td align="left">rgb( 38, 38, 38)</td> + <td align="left">#262626</td> + + </tr> + + <tr> + <td align="right">gray14</td> + <td align="center" style="background-color:rgb( 36, 36, 36)">gray14</td> + <td align="left">rgb( 36, 36, 36)</td> + <td align="left">#242424</td> + + </tr> + + <tr> + <td align="right">grey14</td> + <td align="center" style="background-color:rgb( 36, 36, 36)">grey14</td> + <td align="left">rgb( 36, 36, 36)</td> + <td align="left">#242424</td> + + </tr> + + <tr> + <td align="right">gray13</td> + <td align="center" style="background-color:rgb( 33, 33, 33)">gray13</td> + <td align="left">rgb( 33, 33, 33)</td> + <td align="left">#212121</td> + + </tr> + + <tr> + <td align="right">grey13</td> + <td align="center" style="background-color:rgb( 33, 33, 33)">grey13</td> + <td align="left">rgb( 33, 33, 33)</td> + <td align="left">#212121</td> + + </tr> + + <tr> + <td align="right">gray12</td> + <td align="center" style="background-color:rgb( 31, 31, 31)">gray12</td> + <td align="left">rgb( 31, 31, 31)</td> + <td align="left">#1F1F1F</td> + + </tr> + + <tr> + <td align="right">grey12</td> + <td align="center" style="background-color:rgb( 31, 31, 31)">grey12</td> + <td align="left">rgb( 31, 31, 31)</td> + <td align="left">#1F1F1F</td> + + </tr> + + <tr> + <td align="right">gray11</td> + <td align="center" style="background-color:rgb( 28, 28, 28)">gray11</td> + <td align="left">rgb( 28, 28, 28)</td> + <td align="left">#1C1C1C</td> + + </tr> + + <tr> + <td align="right">grey11</td> + <td align="center" style="background-color:rgb( 28, 28, 28)">grey11</td> + <td align="left">rgb( 28, 28, 28)</td> + <td align="left">#1C1C1C</td> + + </tr> + + <tr> + <td align="right">gray10</td> + <td align="center" style="background-color:rgb( 26, 26, 26)">gray10</td> + <td align="left">rgb( 26, 26, 26)</td> + <td align="left">#1A1A1A</td> + + </tr> + + <tr> + <td align="right">grey10</td> + <td align="center" style="background-color:rgb( 26, 26, 26)">grey10</td> + <td align="left">rgb( 26, 26, 26)</td> + <td align="left">#1A1A1A</td> + + </tr> + + <tr> + <td align="right">gray9</td> + <td align="center" style="background-color:rgb( 23, 23, 23)">gray9</td> + <td align="left">rgb( 23, 23, 23)</td> + <td align="left">#171717</td> + + </tr> + + <tr> + <td align="right">grey9</td> + <td align="center" style="background-color:rgb( 23, 23, 23)">grey9</td> + <td align="left">rgb( 23, 23, 23)</td> + <td align="left">#171717</td> + + </tr> + + <tr> + <td align="right">gray8</td> + <td align="center" style="background-color:rgb( 20, 20, 20)">gray8</td> + <td align="left">rgb( 20, 20, 20)</td> + <td align="left">#141414</td> + + </tr> + + <tr> + <td align="right">grey8</td> + <td align="center" style="background-color:rgb( 20, 20, 20)">grey8</td> + <td align="left">rgb( 20, 20, 20)</td> + <td align="left">#141414</td> + + </tr> + + <tr> + <td align="right">gray7</td> + <td align="center" style="background-color:rgb( 18, 18, 18)">gray7</td> + <td align="left">rgb( 18, 18, 18)</td> + <td align="left">#121212</td> + + </tr> + + <tr> + <td align="right">grey7</td> + <td align="center" style="background-color:rgb( 18, 18, 18)">grey7</td> + <td align="left">rgb( 18, 18, 18)</td> + <td align="left">#121212</td> + + </tr> + + <tr> + <td align="right">gray6</td> + <td align="center" style="background-color:rgb( 15, 15, 15)">gray6</td> + <td align="left">rgb( 15, 15, 15)</td> + <td align="left">#0F0F0F</td> + + </tr> + + <tr> + <td align="right">grey6</td> + <td align="center" style="background-color:rgb( 15, 15, 15)">grey6</td> + <td align="left">rgb( 15, 15, 15)</td> + <td align="left">#0F0F0F</td> + + </tr> + + <tr> + <td align="right">gray5</td> + <td align="center" style="background-color:rgb( 13, 13, 13)">gray5</td> + <td align="left">rgb( 13, 13, 13)</td> + <td align="left">#0D0D0D</td> + + </tr> + + <tr> + <td align="right">grey5</td> + <td align="center" style="background-color:rgb( 13, 13, 13)">grey5</td> + <td align="left">rgb( 13, 13, 13)</td> + <td align="left">#0D0D0D</td> + + </tr> + + <tr> + <td align="right">gray4</td> + <td align="center" style="background-color:rgb( 10, 10, 10)">gray4</td> + <td align="left">rgb( 10, 10, 10)</td> + <td align="left">#0A0A0A</td> + + </tr> + + <tr> + <td align="right">grey4</td> + <td align="center" style="background-color:rgb( 10, 10, 10)">grey4</td> + <td align="left">rgb( 10, 10, 10)</td> + <td align="left">#0A0A0A</td> + + </tr> + + <tr> + <td align="right">gray3</td> + <td align="center" style="background-color:rgb( 8, 8, 8)">gray3</td> + <td align="left">rgb( 8, 8, 8)</td> + <td align="left">#080808</td> + + </tr> + + <tr> + <td align="right">grey3</td> + <td align="center" style="background-color:rgb( 8, 8, 8)">grey3</td> + <td align="left">rgb( 8, 8, 8)</td> + <td align="left">#080808</td> + + </tr> + + <tr> + <td align="right">gray2</td> + <td align="center" style="background-color:rgb( 5, 5, 5)">gray2</td> + <td align="left">rgb( 5, 5, 5)</td> + <td align="left">#050505</td> + + </tr> + + <tr> + <td align="right">grey2</td> + <td align="center" style="background-color:rgb( 5, 5, 5)">grey2</td> + <td align="left">rgb( 5, 5, 5)</td> + <td align="left">#050505</td> + + </tr> + + <tr> + <td align="right">gray1</td> + <td align="center" style="background-color:rgb( 3, 3, 3)">gray1</td> + <td align="left">rgb( 3, 3, 3)</td> + <td align="left">#030303</td> + + </tr> + + <tr> + <td align="right">grey1</td> + <td align="center" style="background-color:rgb( 3, 3, 3)">grey1</td> + <td align="left">rgb( 3, 3, 3)</td> + <td align="left">#030303</td> + + </tr> + + <tr> + <td align="right">black</td> + <td align="center" style="background-color:rgb( 0, 0, 0)">black</td> + <td align="left">rgb( 0, 0, 0)</td> + <td align="left">#000000</td> + + </tr> + + <tr> + <td align="right">gray0</td> + <td align="center" style="background-color:rgb( 0, 0, 0)">gray0</td> + <td align="left">rgb( 0, 0, 0)</td> + <td align="left">#000000</td> + + </tr> + + <tr> + <td align="right">grey0</td> + <td align="center" style="background-color:rgb( 0, 0, 0)">grey0</td> + <td align="left">rgb( 0, 0, 0)</td> + <td align="left">#000000</td> + + </tr> + + <tr> + <td align="right">opaque</td> + <td align="center" style="background-color:rgb( 0, 0, 0)">opaque</td> + <td align="left">rgb( 0, 0, 0)</td> + <td align="left">#000000</td> + + </tr> + + <tr> + <td align="right">none</td> + <td align="center" style="background-color:white">none</td> + <td align="left">rgba( 0, 0, 0, 0.0)</td> + <td align="left">#00000000</td> + + </tr> + + <tr> + <td align="right">transparent</td> + <td align="center" style="background-color:white">transparent</td> + <td align="left">rgba( 0, 0, 0, 0.0)</td> + <td align="left">#00000000</td> + + </tr> + + </tbody> +</table> + +</div> + +</div> + +</body></html> diff --git a/share/frontend/im/colors/css/jquery.fancybox.css b/share/frontend/im/colors/css/jquery.fancybox.css new file mode 100644 index 0000000..05a191e --- /dev/null +++ b/share/frontend/im/colors/css/jquery.fancybox.css @@ -0,0 +1,274 @@ +/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */ +.fancybox-wrap, +.fancybox-skin, +.fancybox-outer, +.fancybox-inner, +.fancybox-image, +.fancybox-wrap iframe, +.fancybox-wrap object, +.fancybox-nav, +.fancybox-nav span, +.fancybox-tmp +{ + padding: 0; + margin: 0; + border: 0; + outline: none; + vertical-align: top; +} + +.fancybox-wrap { + position: absolute; + top: 0; + left: 0; + z-index: 8020; +} + +.fancybox-skin { + position: relative; + background: #f9f9f9; + color: #444; + text-shadow: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.fancybox-opened { + z-index: 8030; +} + +.fancybox-opened .fancybox-skin { + -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); +} + +.fancybox-outer, .fancybox-inner { + position: relative; +} + +.fancybox-inner { + overflow: hidden; +} + +.fancybox-type-iframe .fancybox-inner { + -webkit-overflow-scrolling: touch; +} + +.fancybox-error { + color: #444; + font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + margin: 0; + padding: 15px; + white-space: nowrap; +} + +.fancybox-image, .fancybox-iframe { + display: block; + width: 100%; + height: 100%; +} + +.fancybox-image { + max-width: 100%; + max-height: 100%; +} + +#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url('../images/fancybox_sprite.png'); +} + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + margin-top: -22px; + margin-left: -22px; + background-position: 0 -108px; + opacity: 0.8; + cursor: pointer; + z-index: 8060; +} + +#fancybox-loading div { + width: 44px; + height: 44px; + background: url('../images/fancybox_loading.gif') center center no-repeat; +} + +.fancybox-close { + position: absolute; + top: -18px; + right: -18px; + width: 36px; + height: 36px; + cursor: pointer; + z-index: 8040; +} + +.fancybox-nav { + position: absolute; + top: 0; + width: 40%; + height: 100%; + cursor: pointer; + text-decoration: none; + background: transparent url('../images/blank.gif'); /* helps IE */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + z-index: 8040; +} + +.fancybox-prev { + left: 0; +} + +.fancybox-next { + right: 0; +} + +.fancybox-nav span { + position: absolute; + top: 50%; + width: 36px; + height: 34px; + margin-top: -18px; + cursor: pointer; + z-index: 8040; + visibility: hidden; +} + +.fancybox-prev span { + left: 10px; + background-position: 0 -36px; +} + +.fancybox-next span { + right: 10px; + background-position: 0 -72px; +} + +.fancybox-nav:hover span { + visibility: visible; +} + +.fancybox-tmp { + position: absolute; + top: -99999px; + left: -99999px; + visibility: hidden; + max-width: 99999px; + max-height: 99999px; + overflow: visible !important; +} + +/* Overlay helper */ + +.fancybox-lock { + overflow: hidden !important; + width: auto; +} + +.fancybox-lock body { + overflow: hidden !important; +} + +.fancybox-lock-test { + overflow-y: hidden !important; +} + +.fancybox-overlay { + position: absolute; + top: 0; + left: 0; + overflow: hidden; + display: none; + z-index: 8010; + background: url('../images/fancybox_overlay.png'); +} + +.fancybox-overlay-fixed { + position: fixed; + bottom: 0; + right: 0; +} + +.fancybox-lock .fancybox-overlay { + overflow: auto; + overflow-y: scroll; +} + +/* Title helper */ + +.fancybox-title { + visibility: hidden; + font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + position: relative; + text-shadow: none; + z-index: 8050; +} + +.fancybox-opened .fancybox-title { + visibility: visible; +} + +.fancybox-title-float-wrap { + position: absolute; + bottom: 0; + right: 50%; + margin-bottom: -35px; + z-index: 8050; + text-align: center; +} + +.fancybox-title-float-wrap .child { + display: inline-block; + margin-right: -100%; + padding: 2px 20px; + background: transparent; /* Fallback for web browsers that doesn't support RGBa */ + background: rgba(0, 0, 0, 0.8); + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + text-shadow: 0 1px 2px #222; + color: #FFF; + font-weight: bold; + line-height: 24px; + white-space: nowrap; +} + +.fancybox-title-outside-wrap { + position: relative; + margin-top: 10px; + color: #fff; +} + +.fancybox-title-inside-wrap { + padding-top: 10px; +} + +.fancybox-title-over-wrap { + position: absolute; + bottom: 0; + left: 0; + color: #fff; + padding: 10px; + background: #000; + background: rgba(0, 0, 0, .8); +} + +/*Retina graphics!*/ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (min--moz-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5){ + + #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url('../images/fancybox_sprite@2x.png'); + background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/ + } + + #fancybox-loading div { + background-image: url('../images/fancybox_loading@2x.gif'); + background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/ + } +}
\ No newline at end of file diff --git a/share/frontend/im/colors/css/style.css b/share/frontend/im/colors/css/style.css new file mode 100644 index 0000000..49d4b48 --- /dev/null +++ b/share/frontend/im/colors/css/style.css @@ -0,0 +1,264 @@ +body { + margin:0; +} +.hide{ + display:none; +} +#colorpicker +{ + position: fixed; + top: 0px; + left: 0px; + height:100%; + width:100%; + overflow-y: scroll; + font-family:helvetica; + font-size:10px; + background-color: gray; + background-color: black; + background-image: url("../images/bg.dither.gif"); +} +#infoswitch, #hexswitch, #backgroundswitch +{ + background-image:url("../images/gradient.jpg"); + cursor:pointer; +} +#bg_menu { + height: 100px; + background-color:silver; +} +.bgOptions{ + font-family: 'Chivo', sans-serif; + font-style: italic; + font-size: 0.6em; + cursor: pointer; +} +#bg1{ +background-color: black; +background-image: url("../images/bg.dither.gif"); +} +#bg1text{ + background: rgb(204,204,204); + background-image: none; +} +#bg2{ +background-color: black; +color: whitesmoke; +} +#bg3{ +background-color: white; +color: black; +} +#bg4{ +background-color: gray; +color: black; +} +#bg5{} +#preview { + height:150px; +} +#transparent,#submitvalue,#addfavlist,#openfavlist { + margin-top:0.5em; + font-size:12px; +} +#submitvalue{ + text-align: center; +} +#namespace { + width:inherit; +} +#container { + margin:0 auto; + width:31%; + padding-top:100px; + padding-right:10px; + padding-left:10px; + text-align:center; + font-size:0; + margin-bottom:14px; +} +#container div +{ + text-align:left; + display: -moz-inline-stack; + display:inline-block; + vertical-align:bottom; + min-height: 30px; + zoom: 1; + word-wrap: break-word; + *display: inline; + cursor:pointer; +} +.colors +{ + font-size: 9px; + margin:2px 2px 0px 0px; +} +#colornames { + color:white; + z-index:12; + position:fixed; + top:50px; + left:2%; + width:400px; + font-size: 49px; + text-shadow: black 1px 2px; + display: block; +} +#infoswitch, #hexswitch, #backgroundswitch { + background-image:url('../images/gradient.jpg'); + cursor:pointer; + font-size: 19px; + text-shadow: none; +} +#infoswitch span{ + display: none; +} +#switches { + + position:fixed; + top: 0px; + right:1.2em; + width: 334px; + font-size:20px; + border-style: groove; + border-width: 4px; + background-color:gray; + padding:2px; + box-shadow: 10px 10px 5px #141414; + z-index: 10; + overflow: visible; + +} +.switches_depressed{ + color: #aaa; +} +#nameholder, #namespace { + font-size: 30px; + width:70%; +} +.defaulttrans{ + color:#141414; + box-shadow:10px 10px 5px #141414; + background-color:#D1D1D1; + border-width:2px; + border-style:outset; + cursor:pointer; +} +.hovertrans{ + background-color:DarkGrey; + color:#383838; + box-shadow:5px 5px 2px #141414; +} +#vasebackground { + position: fixed; + z-index: 2; + height: 120px; + width: 69px; + top: 2px; + right: 30px; + background-color: rgb(171, 171, 171); +} +#vase { + position:fixed; + z-index:3; + height:120px; + width:69px; + top:2px; + right:30px; + background-image:url("../images/vase.png"); +} +#vaseshim { + position:fixed; + z-index:4; + height:120px; + width:69px; + top:2px; + right:30px; + background-image:url("../images/vaseshim.png") +} +label { + display: inline-block; + width: 190px; + padding-right: 10px; + text-align: right; + color: #555; +} +#controls { + display: inline-block; + padding: 10px; + width: 430px; + height:402px; + position: absolute; + background-color: #fff; + background-image: url("../images/imcupbg.jpg"); + background-position: center center; +} +.shim { + height: 10px; + clear: both; + display: block; +} +#controls *{ + padding: 0; + margin: 0; + font-family: sans-serif; + font-size: 14px; +} +#controls a{ + color: #a39; + font-weight: bold; + text-decoration:underline; +} +#controls a:hover{ + cursor:pointer; + text-decoration:underline; +} +#noticeDlg { + display:none; +} +#favpanel{ + width:inherit; + background: lightgray; + margin-top: 15px; + padding-top: 10px; + padding-bottom: 10px; + height: 140px; + overflow-y: auto; +} +#favpanel .paneltitle{ + color:black; + font-size: 16px; + text-align:center; + width:inherit; + display:block; +} +.favcolor label{ + font-size: 12px; + text-align:left; + padding:0; + width:150px; + margin:0; + color:black; +} +.favcolor { + margin-right:3px; + margin-left:10px; + width:inherit; + display: block; +} +.clear { + clear:both; +} +.favmsg { + font-size: 13px; + color:red; + width:inherit; + text-align:center; + display:block; +} +.favcolorbox { + height:11px; + width:18px; + display:inline-block; +} diff --git a/share/frontend/im/colors/iframe.js b/share/frontend/im/colors/iframe.js new file mode 100644 index 0000000..4b7d2ac --- /dev/null +++ b/share/frontend/im/colors/iframe.js @@ -0,0 +1,25 @@ +$("#lnkcolorbox").click(function() { + $.fancybox.open({ + href : 'colors.htm', + width : 700, // set the width + height : 610, + fitToView : true, + autoDimensions:false, + autoSize:false, + type : 'iframe', + closeBtn : false, + padding : 5, + beforeShow : function(){ + $('.fancybox-iframe').contents().find('#submitvalue').click(function(){ + $('.fancybox-iframe').contents().find('form').submit(); + $.fancybox.close(); + }); + }, + beforeClose : function(){ + x = $('.fancybox-iframe').contents().find('#namespace').val(); + }, + afterClose: function(){ + $('#img-hue').val(x); + } + }); +}); diff --git a/share/frontend/im/colors/images/Thumbs.db b/share/frontend/im/colors/images/Thumbs.db Binary files differnew file mode 100644 index 0000000..ec01f6a --- /dev/null +++ b/share/frontend/im/colors/images/Thumbs.db diff --git a/share/frontend/im/colors/images/bg.dither.gif b/share/frontend/im/colors/images/bg.dither.gif Binary files differnew file mode 100644 index 0000000..670df08 --- /dev/null +++ b/share/frontend/im/colors/images/bg.dither.gif diff --git a/share/frontend/im/colors/images/blank.gif b/share/frontend/im/colors/images/blank.gif Binary files differnew file mode 100644 index 0000000..35d42e8 --- /dev/null +++ b/share/frontend/im/colors/images/blank.gif diff --git a/share/frontend/im/colors/images/fancybox_loading.gif b/share/frontend/im/colors/images/fancybox_loading.gif Binary files differnew file mode 100644 index 0000000..a03a40c --- /dev/null +++ b/share/frontend/im/colors/images/fancybox_loading.gif diff --git a/share/frontend/im/colors/images/fancybox_loading@2x.gif b/share/frontend/im/colors/images/fancybox_loading@2x.gif Binary files differnew file mode 100644 index 0000000..9205aeb --- /dev/null +++ b/share/frontend/im/colors/images/fancybox_loading@2x.gif diff --git a/share/frontend/im/colors/images/fancybox_overlay.png b/share/frontend/im/colors/images/fancybox_overlay.png Binary files differnew file mode 100644 index 0000000..a439139 --- /dev/null +++ b/share/frontend/im/colors/images/fancybox_overlay.png diff --git a/share/frontend/im/colors/images/fancybox_sprite.png b/share/frontend/im/colors/images/fancybox_sprite.png Binary files differnew file mode 100644 index 0000000..fd8d5ca --- /dev/null +++ b/share/frontend/im/colors/images/fancybox_sprite.png diff --git a/share/frontend/im/colors/images/fancybox_sprite@2x.png b/share/frontend/im/colors/images/fancybox_sprite@2x.png Binary files differnew file mode 100644 index 0000000..d0e4779 --- /dev/null +++ b/share/frontend/im/colors/images/fancybox_sprite@2x.png diff --git a/share/frontend/im/colors/images/gradient.jpg b/share/frontend/im/colors/images/gradient.jpg Binary files differnew file mode 100644 index 0000000..f3ff9f9 --- /dev/null +++ b/share/frontend/im/colors/images/gradient.jpg diff --git a/share/frontend/im/colors/images/hoverbackground.jpg b/share/frontend/im/colors/images/hoverbackground.jpg Binary files differnew file mode 100644 index 0000000..c1ef116 --- /dev/null +++ b/share/frontend/im/colors/images/hoverbackground.jpg diff --git a/share/frontend/im/colors/images/imcupbg.jpg b/share/frontend/im/colors/images/imcupbg.jpg Binary files differnew file mode 100644 index 0000000..b3cf3f5 --- /dev/null +++ b/share/frontend/im/colors/images/imcupbg.jpg diff --git a/share/frontend/im/colors/images/user_convo.png b/share/frontend/im/colors/images/user_convo.png Binary files differnew file mode 100644 index 0000000..9d3d55e --- /dev/null +++ b/share/frontend/im/colors/images/user_convo.png diff --git a/share/frontend/im/colors/images/vase.png b/share/frontend/im/colors/images/vase.png Binary files differnew file mode 100644 index 0000000..153e72b --- /dev/null +++ b/share/frontend/im/colors/images/vase.png diff --git a/share/frontend/im/colors/images/vaseshim.png b/share/frontend/im/colors/images/vaseshim.png Binary files differnew file mode 100644 index 0000000..7dbd352 --- /dev/null +++ b/share/frontend/im/colors/images/vaseshim.png diff --git a/share/frontend/im/colors/index.html b/share/frontend/im/colors/index.html new file mode 100644 index 0000000..541dc40 --- /dev/null +++ b/share/frontend/im/colors/index.html @@ -0,0 +1,108 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<link rel="stylesheet" type="text/css" href="./css/style.css"> +</head> +<body> + <div id="colorpicker"> + <div id="container"> + <div id="d0" class="colors"></div> + </div> + <div id="colornames">CLICK TO CHOOSE THE COLOR</div> + <div id="switches" title="click to drag"> + <form action="" method="post"> + <span class="subtitle">OPTIONS</span> + <div id="hexswitch" class="theswitches">CLICK TO SWITCH TO RGB VALUES</div> + <input type="hidden" name="opt_hexswitch" id="opt_hexswitch" /> + <br /> + <div id="infoswitch" class="theswitches">CLICK TO TOGGLE PALATE INFO<span id="infospace">(NONE)</span></div> + <input type="hidden" name="opt_infoswitch" id="opt_infoswitch" /> + <br /> + <div id="backgroundswitch" class="theswitches">BACKGROUNDS...</div> + <div id="bg_menu" class="hide"> + <div class="bgOptions" id="bg1"><span id="bg1text">Dithered</span></div> + <div class="bgOptions" id="bg2">Black</div> + <div class="bgOptions" id="bg3">White</div> + <div class="bgOptions" id="bg4">Gray</div> + <div class="bgOptions" id="bg5"> + <label for="chooseyourown">Choose your own (add a Url)</label> + <input type="text" value="" id="bgURI" name="bgURI"> + <input type="hidden" name="opt_bgURI" id="opt_bgURI" /> + </div> + <div class="bgOptions" id="selectors"></div> + </div> + <input type="hidden" name="opt_bgColor" id="opt_bgColor" /> + <br /> + <div id="preview" style="width: 206px; height: 127px; background-color: rgb(171, 171, 171); border-style: none;"></div> + <div class="subtitle">YOU WILL CHOOSE:<br /> + <input type="text" id="namespace" name="namespace" class="subtitle" /> + + <div id="submitvalue" class="defaulttrans">PICK</div> + <br /> + <span id="transparent">to choose transparent: + <span id="transbutton" class="defaulttrans">TRANSPARENT</span><span id="extra" class="smalltitle"></span> + </span> + </br> + <span id="addfavlist" class="defaulttrans">Add to Favorites</span> + <span id="openfavlist" class="defaulttrans">Open Favorties</span> + </div> + <span id="noticeDlg"></span> + <div id="favpanel" style="display:none;"> + <input type="hidden" name="favcolors" id="favcolors" /> + <label class="paneltitle">FAVORITES</label> + <span class="favcolor" style="display:none;"><input name="favcolor" type="radio" id="favnone" onclick="selectfavColor('');"><label> </label><span class="favcolorbox"> </span></span> + </div> + <div class="clear"></div> + </form> + </div> +<!-- <div id="vasebackground"></div>--> +<!-- <div id="vase"></div>--> +<!-- <div id="vaseshim"></div> --> + </div> + <script type="text/javascript" src="./js/jquery-1.10.1.js"></script> + <script type="text/javascript" src="./js/data.js"></script> + <script type="text/javascript" src="./js/colorpicker.js"></script> + <script type="text/javascript" src="./js/jquery.fancybox.js?v=2.1.5"></script> + <script type="text/javascript" src="./js/jquery.remember-state.js"></script> + <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script> + <script type="text/javascript"> + $(document).ready(function(){ + $('#submitvalue').click(function(){ + $("form").rememberState("save"); + }); + $(function() { + $("form").rememberState({ + objName: "color_info", + noticeDialog:$('#noticeDlg').html("<a href=\"#\" id=\"linkrestore\">Restore</a>"), + noticeSelector:'.remember_state' + }).submit(false); + $('#linkrestore').click(); + ColorPicker.loadColorStorage(); + }); + var lastoffset = 0; + $(window).scroll(function(){ + if($(this).scrollTop() == 0) { + $('#switches').css({'top': '118px' }); + } + if (bscroll) + { + if($(this).scrollTop() != 0) { + var fcolors = $('#favcolors').val(); + var clist=fcolors.split(separate); + if (lastoffset < $(this).scrollTop()) { + $('#switches').css({'top': (118 - 19 * (clist.length - 3)) + 'px' }); + } + } + } + lastoffset = $(this).scrollTop(); + }); + $("#switches").draggable() + window.onload = function () { + if ($("#favcolors").val()){ + ColorPicker.openfavourites() + } + } + }) + </script> +</body> +</html> diff --git a/share/frontend/im/colors/js/ancient.js b/share/frontend/im/colors/js/ancient.js new file mode 100644 index 0000000..5bf15c0 --- /dev/null +++ b/share/frontend/im/colors/js/ancient.js @@ -0,0 +1,528 @@ +var old = {};
+var colorsheight;
+var colorswidth;
+var widthratio = 7;
+var numberacross = 10;
+var backgroundstate = 2;
+var infostate = 0;
+var names = true;
+var hexes = false;
+var rgbs = false;
+var favshow = false;
+var selectedname = "";
+var selectedrgb;
+var curfavcolor = "";
+var curfavcolorId = "";
+var separate = ';';
+//---------element objects----------
+var transbutton = $('#transbutton');
+var submitvalue = $('#submitvalue');
+var addfav = $('#addfavlist');
+var openfav = $('#openfavlist');
+var preview = $('#preview');
+var colornames = $('#colornames');
+var namespace = $('#namespace');
+var extra = $('#extra');
+var container = $('#container');
+var switches = $('#switches');
+var transparent = $('#transparent');
+var infospace = $('#infospace');
+var infoswitch = $('#infoswitch');
+var backgroundswitch = $('#backgroundswitch');
+var bg_menu = $('#bg_menu');
+var vasebackground = $('#vasebackground');
+var hexswitch = $('#hexswitch');
+var favpanel = $('#favpanel');
+var orgheight = 0;
+var bscroll = false;
+//----------------------------------
+$(function(){
+ ColorPicker.show();
+});
+
+function selectfavColor(selcolor, id)
+{
+ addfav.html('Remove from Favorites');
+ curfavcolor = selcolor;
+ curfavcolorId = id;
+ var rgbregex = /rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/;
+ var hexregex = /^#(?:[0-9a-f]{3}){1,2}$/i;
+ hexes = false;
+ names = false;
+ rgbs = false;
+ var match = rgbregex.exec(selcolor);
+ if (match != null) {
+ selectedname = rgbtoname[selcolor];
+ selectedrgb = selcolor;
+ hexes = true;
+ hexswitch.html('CLICK TO SWITCH TO HEX VALUES');
+ } else if((match = hexregex.exec(selcolor))!= null) {
+ names = true;
+ selectedrgb = hextorgb[selcolor];
+ selectedname = rgbtoname[selectedrgb];
+ hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
+ } else {
+ selectedname = selcolor;
+ selectedrgb = hextorgb[nametohex[selectedname]];
+ hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
+ rgbs = true;
+ }
+ colornames.html(selcolor);
+ namespace.val(selcolor);
+ preview.css({'background-color':selectedrgb,'border-style':'none'});
+ vasebackground.css('background-color',selectedrgb);
+}
+
+var ColorPicker = {
+ GoldenFuncs: {
+ regolden: function(num) {
+ ratio = (1+Math.sqrt(5))/2;
+ newnum = Math.round(num/ratio);
+ return newnum;
+ },
+ goldenize: function(num) {
+ ratio = (1+Math.sqrt(5))/2;
+ newnum = Math.round(num*ratio);
+ return newnum;
+ },
+ getproperty: function(idandselectr, propertystr) {
+ //turns css property width or height into an integer value
+ grab = $(idandselectr).css(propertystr);
+ grab = grab.slice(0,-2);
+ numval = parseInt(grab);
+ return numval;
+ },
+ makegolden: function(idandselectr, propertystr) {
+ result = ColorPicker.GoldenFuncs.getproperty(idandselectr, propertystr);
+ newval = ColorPicker.GoldenFuncs.goldenize(result) + 60;
+ propval = newval.toString()+'px';
+ if(propertystr == 'height') {
+ $(idandselectr).css('width', propval);
+ }else if(propertystr == 'width') {
+ $(idandselectr).css('height', propval);
+ }
+ }
+ },
+ Events: {
+ addEventListener: function(){
+ //--------event handler of transparent button-------
+ transbutton.click(function() {
+ namespace.val('transparent');
+ preview.css({'background-color':'transparent','border-style':'dashed','border-width':'2px'});
+ colornames.html('transparent');
+ colornames.fadeOut(100);
+ colornames.fadeIn(500);
+ extra.html('<br><br><span style="color:red;background-color:black;border-color:red; border-width:1px; border-style:solid; font-size:14px;">note: the .jpg image format does not support transparency</span>');
+ });
+ transbutton.hover(function(){ transbutton.addClass('hovertrans')},
+ function(){ transbutton.attr('class','defaulttrans')});
+ submitvalue.hover(function(){ submitvalue.addClass('hovertrans')},
+ function(){ submitvalue.attr('class','defaulttrans')});
+ addfav.hover(function(){ addfav.addClass('hovertrans')},
+ function(){ addfav.attr('class','defaulttrans')});
+ $('.bgOptions').click(function(){
+ if (this.id == "bg1")
+ {
+ $('#colorpicker').css({'background-image':'url("./images/bg.dither.gif")','background-color':'gray','background-color':'black'});
+ }else if(this.id == "bg5"){
+ $('#' + this.id).bind('keypress', function(event){
+ var key = event.which || event.keyCode;
+ if(key === 13) {
+ $('#colorpicker').css({'background-image':"url('" + $('#bgURI').val() + "')"});
+ $('#opt_bgURI').val($('#bgURI').val());
+ $('#bgURI').val('');
+ }
+ });
+ }else{
+ $('#colorpicker').css({'background-image':'none','background-color':$('#' + this.id).html().toLowerCase()});
+ }
+ $('#opt_bgColor').val(this.id);
+ });
+ //--------event handler over colorpanel-------
+ var firstwidth;
+ $('.colors').mouseover(function() {
+ extra.html("");
+ if(this.id != 'd0') {
+ $(this).css({'height':ColorPicker.GoldenFuncs.goldenize(colorsheight),
+ 'width':ColorPicker.GoldenFuncs.goldenize(colorswidth)});
+ firstwidth = container.css('width');
+ newwidth = firstwidth+ColorPicker.GoldenFuncs.goldenize(colorswidth)-colorswidth;
+ container.css('width',newwidth);
+ }
+ });
+ $('.colors').mouseout(function() {
+ $(this).css('height',colorsheight)
+ $(this).css('width', colorswidth)
+ container.css('width',firstwidth)
+ });
+ $('.colors').hover(function() {
+ var stringvalue = 'CLICK TO CHOOSE THE COLOR';
+ colornames.fadeOut(100);
+ colornames.fadeIn(500);
+ stringvalue = ColorPicker.showcolorname(this.id);
+ colornames.html(stringvalue);
+ });
+ $('.colors').click(function() {
+ selectednameid = $(this).attr('id')
+ selectedname = divtoname['#'+selectednameid];
+ selectedrgb = $(this).css('background-color');
+ ColorPicker.putitin();
+ });
+ //-------------others handler-------------------------------
+ infoswitch.hover(function(){infospace.show()}, function(){infospace.hide('slow')} );
+ infoswitch.click(function(){ColorPicker.switchcolorinfo()});
+ backgroundswitch.clicked = false;
+ backgroundswitch.click(function(){
+ if (! backgroundswitch.clicked){
+ bg_menu.slideDown("fast", function(){
+ backgroundswitch.clicked = true;
+ backgroundswitch.addClass("switches_depressed");
+ });
+ }else{
+ bg_menu.slideUp("fast", function(){
+ backgroundswitch.clicked = false;
+ backgroundswitch.removeClass("switches_depressed");
+ })
+ }
+ });
+ addfav.click(function(){ColorPicker.addfavourites()});
+ openfav.click(function(){ColorPicker.openfavourites()});
+ hexswitch.click(function(){ColorPicker.hexcolorswitch()});
+ $('.theswitches').hover(function(){ ColorPicker.switchhovercss(this.id, 'over') },
+ function(){ ColorPicker.switchhovercss(this.id, 'out') });
+ //-------handler for window resive----
+ $(window).resize(function()
+ {
+ ColorPicker.setupdimensions();
+ });
+ }
+ },
+ getcolorfromfavorite: function(fvalue){
+ var rgbregex = /rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/;
+ var hexregex = /^#(?:[0-9a-f]{3}){1,2}$/i;
+ var retcolor = '';
+ var match = rgbregex.exec(fvalue);
+ if (match != null) {
+ retcolor = fvalue;
+ } else if((match = hexregex.exec(fvalue))!= null) {
+ retcolor = hextorgb[fvalue];
+ } else {
+ retcolor = hextorgb[nametohex[fvalue]];
+ }
+ return retcolor;
+ },
+ initfavpanel: function(){
+ var fcolors = $('#favcolors').val();
+ var clist=fcolors.split(separate);
+ for(var i=0; i < clist.length; i++) {
+ if (clist[i] != '')
+ {
+ var colname = clist[i];
+ favpanel.append('<span class="favcolor" id="favcol' + i + '" ><input name="favcolor" type="radio" onclick="selectfavColor(\'' + clist[i]
+ + '\',\'favcol' + i +'\');"><label>' + colname + '</label><span class="favcolorbox" style="background-color:' + ColorPicker.getcolorfromfavorite(clist[i]) + '"> </span></span>');
+ }
+ }
+ },
+ existsfavcolor: function(fcolor) {
+ var fcolors = $('#favcolors').val();
+ var clist=fcolors.split(separate);
+ for(var i=0; i < clist.length; i++) {
+ if (clist[i] == fcolor)
+ {
+ return i;
+ }
+ }
+ return -1;
+ },
+ setpaneldimension: function(){
+ var fcolors = $('#favcolors').val();
+ var clist=fcolors.split(separate);
+ },
+ addfavourites: function() {
+ var fcolors = $('#favcolors').val();
+
+ if (curfavcolor != '') {
+ var clist=fcolors.split(separate);
+ var index = ColorPicker.existsfavcolor(curfavcolor);
+ if(index != 0 && index == clist.length - 1)
+ {
+ fcolors = fcolors.replace(separate + curfavcolor, '');
+ }else if(clist.length == 1) {
+ fcolors = fcolors.replace(curfavcolor, '');
+ }else{
+ fcolors = fcolors.replace(curfavcolor+ separate, '');
+ }
+ $('#' + curfavcolorId).remove();
+ addfav.html('Add to Favorites');
+ curfavcolor = "";
+ curfavcolorId = "";
+ $('#favnone').attr('checked','checked');
+ if (fcolors == '')
+ {
+ favpanel.hide();
+ favshow = false;
+ openfav.attr('class','defaulttrans');
+ }
+ }else {
+ if (ColorPicker.existsfavcolor(namespace.val()) == -1)
+ {
+ if (fcolors.length > 0) {
+ fcolors = fcolors + separate + namespace.val();
+ }else {
+ fcolors = namespace.val();
+ }
+ var colname = namespace.val();
+ var clist=fcolors.split(separate);
+ var id = clist.length - 1;
+ $('#favmsg').remove();
+ favpanel.append('<span class="favcolor" id="favcol' + id + '" ><input name="favcolor" type="radio" onclick="selectfavColor(\'' + namespace.val()
+ + '\',\'favcol' + id +'\');"><label>' + colname + '</label><span class="favcolorbox" style="background-color:' + ColorPicker.getcolorfromfavorite(namespace.val()) + '"> </span></span>');
+ }
+ }
+ $('#favcolors').val(fcolors);
+ ColorPicker.setpaneldimension();
+ },
+ openfavourites: function() {
+ if (favshow) {
+ favpanel.hide();
+ openfav.attr('class','defaulttrans');
+ favshow = false;
+ $('#favmsg').remove();
+ bscroll = false;
+ }else {
+ favpanel.show();
+ openfav.addClass('hovertrans');
+ favshow = true;
+ var fcolors = $('#favcolors').val();
+ if(fcolors == '') {
+ favpanel.append('<span class="favmsg" id="favmsg">No favourite colors.</span>');
+ }
+ bscroll = true;
+ ColorPicker.setpaneldimension();
+ }
+ addfav.html('Add to Favorites');
+ curfavcolor = "";
+ curfavcolorId = "";
+ $('.favcolor input[type=radio]').attr('checked',false);
+ },
+ loadColorStorage: function() {
+ var opts = $('#opt_hexswitch').val();
+ names = false;
+ rgbs = false;
+ hexes = false;
+ if(opts == 'names') {
+ selectedname = namespace.val();
+ selectedrgb = hextorgb[nametohex[selectedname]];
+ hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
+ rgbs = true;
+ }else if(opts == 'rgbs') {
+ selectedname = rgbtoname[namespace.val()];
+ selectedrgb = namespace.val();
+ hexes = true;
+ hexswitch.html('CLICK TO SWITCH TO HEX VALUES')
+ }else if(opts == 'hexes') {
+ names = true;
+ selectedrgb = hextorgb[namespace.val()];
+ selectedname = rgbtoname[selectedrgb];
+ hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
+ }
+ colornames.html(selectedname);
+ preview.css({'background-color':selectedrgb,'border-style':'none'});
+ vasebackground.css('background-color',selectedrgb);
+ infostate = parseInt($('#opt_infoswitch').val());
+ ColorPicker.switchcolorinfo();
+ var bgOpt = $('#opt_bgColor').val();
+ if (bgOpt == "bg1")
+ {
+ $('#colorpicker').css({'background-image':'url("./images/bg.dither.gif")','background-color':'gray','background-color':'black'});
+ }else if(bgOpt == "bg5"){
+ $('#colorpicker').css({'background-image':"url('" + $('#opt_bgURI').val() + "')"});
+ }else{
+ $('#colorpicker').css({'background-image':'none','background-color':$('#' + bgOpt).html()});
+ }
+ $('#bgURI').val($('#opt_bgURI').val());
+ ColorPicker.initfavpanel();
+ },
+ switchhovercss: function(sel, uno) {
+ var chng = {};
+ chng['color'] = 'white';
+ chng['text-shadow'] = 'black 1px 2px';
+ chng['background-image'] = "url('./images/hoverbackground.jpg')";
+ if(uno == 'over') {
+ for(var key in chng) {
+ old[key] = $('#'+sel).css(key);
+ }
+ for(var key in chng){
+ $('#'+sel).css(key, chng[key]);
+ }
+ }else if(uno == 'out') {
+ for(var key in old){
+ $('#'+sel).css(key, old[key]);
+ }
+ }
+ },
+ showcolorname: function(divstr) {
+ var rgb = $('#'+divstr).css('background-color');
+ var colorname = divtoname['#'+divstr];
+ var imname = colorname;
+ if (hexes === true) {
+ imname = rgb;
+ }else if(rgbs === true) {
+ imname = colorname;
+ }else if (names === true) {
+ imname = rgbtohex[rgb];
+ }
+ return imname;
+ },
+ hexcolorswitch: function() {
+ if(names == true) {
+ hexes = false;
+ rgbs = false;
+ hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
+ namespace.val(selectedname);
+ names = false;
+ rgbs = true;
+ $('#opt_hexswitch').val('names');
+ }else if(hexes == true) {
+ rgbs = false;
+ names = false;
+ hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
+ namespace.val(rgbtohex[selectedrgb]);
+ hexes = false;
+ names = true;
+ $('#opt_hexswitch').val('hexes');
+ }else if(rgbs == true) {
+ names = false;
+ hexes = false;
+ hexswitch.html('CLICK TO SWITCH TO HEX VALUES')
+ namespace.val(selectedrgb)
+ rgbs = false;
+ hexes = true;
+ $('#opt_hexswitch').val('rgbs');
+ }
+ },
+ putitin: function() {
+ if (rgbs === true) { thecolor = selectedname; }
+ if (hexes === true) { thecolor = selectedrgb; }
+ if (names === true) { thecolor = rgbtohex[selectedrgb]; }
+ namespace.val(thecolor);
+ preview.css({'background-color':selectedrgb,'border-style':'none'});
+ vasebackground.css('background-color',selectedrgb);
+ },
+ getcontainerwidth: function () {
+ basis = $('.colors').css('width');
+ basis = parseInt(basis.slice(0,-2));
+ secondbasis = '2px';
+ secondbasis = parseInt(secondbasis.slice(0,-2));
+ widthval = (secondbasis*(numberacross*2))+(basis*numberacross)+(basis*.44);//(goldenize(basis)-basis)
+ if (widthval < 406){
+ widthval = 406;
+ }
+ widthval = widthval.toString()+'px';
+ return widthval;
+ },
+ shrinkwidth: function(arg, ratio) {
+ for(var i=0; i < ratio; i++) {
+ arg = ColorPicker.GoldenFuncs.regolden(arg);
+ }
+ division = Math.round(arg);
+ return division;
+ },
+ setupfonts: function () {
+ fontratioone = ColorPicker.shrinkwidth(windowWidth, 9);
+ $('.theswitches').css('font-size',fontratioone);
+ fontratiotwo = ColorPicker.shrinkwidth(windowWidth, 8);
+ $('.subtitle').css('font-size',fontratiotwo);
+ colornames.css('font-size', ColorPicker.GoldenFuncs.goldenize(fontratiotwo)+'px');
+ colornames.css('text-shadow', 'black 1px 2px');
+ var transfont = ColorPicker.GoldenFuncs.regolden(fontratioone);
+ $('.smalltitle').css({'width':'100%','font-size':fontratioone});
+ },
+ setupsides: function() {
+ container.css({'position':'relative','z-index':'1'});
+ switches.css('z-index','10');
+ var basis = container.css('width');
+ basis = parseInt(basis.slice(0,-2));
+ remainder = (100-basis)/2;
+ widths = ColorPicker.GoldenFuncs.regolden(basis);
+ widths = widths.toString()+'px';
+ lateralbasis = ColorPicker.GoldenFuncs.regolden(remainder);
+ leftside = toString(lateralbasis)+'%';
+ rightside = toString(100-lateralbasis)+'%';
+ colornames.css('left', leftside);
+ switches.css({'width': widths, 'left': rightside});
+ },
+ previewdimensions: function() {
+ first = switches.css('width');
+ first = parseInt(first.slice(0,-2));
+ width = ColorPicker.GoldenFuncs.regolden(first);
+ height = ColorPicker.GoldenFuncs.regolden(width);
+ width = width.toString()+'px';
+ height = height.toString()+'px';
+ preview.css({'width':width, 'height':height});
+ },
+ setupdimensions: function() {
+ if(window.innerWidth > 933) {
+ windowWidth = window.innerWidth
+ }else{ windowWidth = 933 }
+ colorswidth = ColorPicker.shrinkwidth(windowWidth, widthratio);
+ $('.colors').css('width', colorswidth.toString()+'px');
+ colorsheight = ColorPicker.GoldenFuncs.regolden(colorswidth);
+ propval = colorsheight.toString()+'px';
+ $('.colors').css('height', propval);
+ var containerwidth = ColorPicker.getcontainerwidth();
+ container.css('width',containerwidth);
+
+ ColorPicker.setupfonts();
+ ColorPicker.setupsides();
+ ColorPicker.GoldenFuncs.makegolden('#' + switches.attr('id'),'width');
+ ColorPicker.previewdimensions();
+ transparent.css({'float':'bottom','width':'inherit'});
+ orgheight = switches.height();
+ },
+ switchcolorinfo: function() {
+ if(infostate == 1) {
+ for(var i=0; i < color_values.length; i++) {
+ $('#d' + i).html(divtoname['#d' + i]);
+ }
+ infostate = 2;
+ infospace.html('(NAMES)');
+ $('#opt_infoswitch').val('1');
+ }else if(infostate == 0) {
+ $('.colors').html("");
+ infostate = 1;
+ infospace.html('(NONE)');
+ $('#opt_infoswitch').val('0');
+ }else if(infostate == 2) {
+ for(var i=0; i < color_values.length; i++) {
+ $('#d' + i).html(nametohex[divtoname['#d' + i]]);
+ }
+ infostate = 3;
+ infospace.html('(HEXES)');
+ $('#opt_infoswitch').val('2');
+ }else if(infostate == 3) {
+ for(var i=0; i < color_values.length; i++) {
+ $('#d' + i).html(hextorgb[nametohex[divtoname['#d' + i]]]);
+ }
+ infostate = 0;
+ infospace.html('(RGBS)');
+ $('#opt_infoswitch').val('3');
+ }
+ },
+ show: function() {
+ //-------create color panel--------
+ for (i=1; i < color_values.length ; i++)
+ {
+ $('#d0').attr('style','background-color:' + color_values[0]);
+ var colorbox = $('#d0').clone();
+ colorbox.attr('id','d' + i);
+ colorbox.attr('style','background-color:' + color_values[i]);
+ container.append(colorbox);
+ }
+ //--------initialize------------
+ ColorPicker.setupdimensions();
+ ColorPicker.switchcolorinfo();
+ ColorPicker.hexcolorswitch();
+ ColorPicker.Events.addEventListener();
+ },
+}
diff --git a/share/frontend/im/colors/js/colorpicker.js b/share/frontend/im/colors/js/colorpicker.js new file mode 100644 index 0000000..5d77131 --- /dev/null +++ b/share/frontend/im/colors/js/colorpicker.js @@ -0,0 +1,2 @@ +eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 2o(a,b){V.k("3w 3y 2e"),P=a,1D=b;j c=/2V\\((\\d{1,3}), (\\d{1,3}), (\\d{1,3})\\)/,d=/^#(?:[0-2W-f]{3}){1,2}$/i;u=!1,w=!1,v=!1;j e=c.1R(a);1N!=e?(y=1K[a],o=a,u=!0,C.k("F p Q p 2t 17")):1N!=(e=d.1R(a))?(w=!0,o=14[a],y=1K[o],C.k("F p Q p 1I 1V")):(y=a,o=14[1s[y]],C.k("F p Q p 2p 17"),v=!0),x.k(a),q.h(a),16.g({"l-n":o,"Z-I":"1x"}),1v.g("l-n",o)}j 1G={},1y,U,2C=7,2z=10,3H=2,G=0,w=!0,u=!1,v=!1,1j=!1,y="",o,P="",1D="",M=";",1d=$("#1d"),1p=$("#1p"),V=$("#3Q"),1A=$("#3P"),16=$("#16"),x=$("#x"),q=$("#q"),23=$("#23"),R=$("#R"),15=$("#15"),1e=$("#1e"),11=$("#11"),26=$("#26"),S=$("#S"),24=$("#24"),1v=$("#1v"),C=$("#C"),X=$("#X"),32=0,2h=!1;$(4(){6.1Q()});j 6={r:{T:4(a){O 20=(1+1o.3k(5))/2,36=1o.2u(a/20)},1g:4(a){O 20=(1+1o.3k(5))/2,36=1o.2u(a*20)},3n:4(a,b){O 1Z=$(a).g(b),1Z=1Z.1k(0,-2),3N=19(1Z)},2Y:4(a,b){3l=6.r.3n(a,b),3u=6.r.1g(3l)+3C,1t=3u.L()+"Y","E"==b?$(a).g("m",1t):"m"==b&&$(a).g("E",1t)}},3t:{3d:4(){1d.12(4(){q.h("1e"),16.g({"l-n":"1e","Z-I":"3J","Z-m":"1S"}),x.k("1e"),x.2T(1m),x.2U(2S),23.k(\'<2Z><2Z><A I="n:2G;l-n:1i;Z-n:2G; Z-m:2q; Z-I:3M; 1h-1l:3L;">3K: 3I .3h W 3O 3U 3T 3S 3R</A>\')}),1d.1a(4(){1d.1q("1P")},4(){1d.B("J","1u")}),1p.1a(4(){1p.1q("1P")},4(){1p.B("J","1u")}),V.1a(4(){V.1q("1P")},4(){V.B("J","1u")}),$(".3V").12(4(){"3j"==t.s?$("#1c").g({"l-W":\'1C("./2a/39.3a.38")\',"l-n":"37","l-n":"1i"}):"35"==t.s?$("#"+t.s).3D("3x",4(a){j b=a.3z||a.3G;13===b&&($("#1c").g({"l-W":"1C(\'"+$("#1H").h()+"\')"}),$("#2i").h($("#1H").h()),$("#1H").h(""))}):$("#1c").g({"l-W":"1x","l-n":$("#"+t.s).k().3F()}),$("#3o").h(t.s)});j a;$(".N").3E(4(){23.k(""),"2r"!=t.s&&($(t).g({E:6.r.1g(1y),m:6.r.1g(U)}),a=R.g("m"),2O=a+6.r.1g(U)-U,R.g("m",2O))}),$(".N").3B(4(){$(t).g("E",1y),$(t).g("m",U),R.g("m",a)}),$(".N").1a(4(){j a="F p 3A 40 1I";x.2T(1m),x.2U(2S),a=6.3f(t.s),x.k(a)}),$(".N").12(4(){2R=$(t).B("s"),y=1E["#"+2R],o=$(t).g("l-n"),6.3e()}),26.1a(4(){11.1Q()},4(){11.2l("4g")}),26.12(4(){6.1Y()}),S.1X=!1,S.12(4(){S.1X?24.4f("2P",4(){S.1X=!1,S.4e("2Q")}):24.4h("2P",4(){S.1X=!0,S.1q("2Q")})}),V.12(4(){6.31()}),1A.12(4(){6.2E()}),C.12(4(){6.2v()}),$(".3v").1a(4(){6.2n(t.s,"3i")},4(){6.2n(t.s,"3g")}),$(2w).4j(4(){6.2x()})}},2k:4(a){j b=/2V\\((\\d{1,3}), (\\d{1,3}), (\\d{1,3})\\)/,c=/^#(?:[0-2W-f]{3}){1,2}$/i,d="",e=b.1R(a);O d=1N!=e?a:1N!=(e=c.1R(a))?14[a]:14[1s[a]]},3b:4(){H(j a=$("#1b").h(),b=a.1r(M),c=0;c<b.K;c++)D(""!=b[c]){j d=b[c];X.22(\'<A J="1n" s="1T\'+c+\'" ><2f 30="1n" 2g="2d" 2N="2o(\\\'\'+b[c]+"\',\'1T"+c+"\');\\"><1U>"+d+\'</1U><A J="33" I="l-n:\'+6.2k(b[c])+\'">&2F;</A></A>\')}},29:4(a){H(j b=$("#1b").h(),c=b.1r(M),d=0;d<c.K;d++)D(c[d]==a)O d;O-1},2c:4(){j a=$("#1b").h();a.1r(M)},31:4(){j a=$("#1b").h();D(""!=P){j b=a.1r(M),c=6.29(P);a=0!=c&&c==b.K-1?a.28(M+P,""):1==b.K?a.28(P,""):a.28(P+M,""),$("#"+1D).2m(),V.k("3m 3p 2e"),P="",1D="",$("#3W").B("2b","2b"),""==a&&(X.2l(),1j=!1,1A.B("J","1u"))}1f D(-1==6.29(q.h())){a=a.K>0?a+M+q.h():q.h();j d=q.h(),b=a.1r(M),e=b.K-1;$("#27").2m(),X.22(\'<A J="1n" s="1T\'+e+\'" ><2f 30="1n" 2g="2d" 2N="2o(\\\'\'+q.h()+"\',\'1T"+e+"\');\\"><1U>"+d+\'</1U><A J="33" I="l-n:\'+6.2k(q.h())+\'">&2F;</A></A>\')}$("#1b").h(a),6.2c()},2E:4(){D(1j)X.2l(),1A.B("J","1u"),1j=!1,$("#27").2m(),2h=!1;1f{X.1Q(),1A.1q("1P"),1j=!0;j a=$("#1b").h();""==a&&X.22(\'<A J="27" s="27">3X 3Y N.</A>\'),2h=!0,6.2c()}V.k("3m 3p 2e"),P="",1D="",$(".1n 2f[2g=2d]").B("2b",!1)},49:4(){j a=$("#1J").h();w=!1,v=!1,u=!1,"w"==a?(y=q.h(),o=14[1s[y]],C.k("F p Q p 2p 17"),v=!0):"v"==a?(y=1K[q.h()],o=q.h(),u=!0,C.k("F p Q p 2t 17")):"u"==a&&(w=!0,o=14[q.h()],y=1K[o],C.k("F p Q p 1I 1V")),x.k(y),16.g({"l-n":o,"Z-I":"1x"}),1v.g("l-n",o),G=19($("#1B").h()),6.1Y();j b=$("#3o").h();"3j"==b?$("#1c").g({"l-W":\'1C("./2a/39.3a.38")\',"l-n":"37","l-n":"1i"}):"35"==b?$("#1c").g({"l-W":"1C(\'"+$("#2i").h()+"\')"}):$("#1c").g({"l-W":"1x","l-n":$("#"+b).k()}),$("#1H").h($("#2i").h()),6.3b()},2n:4(a,b){j c={};D(c.n="46",c["3q-3r"]="1i 2q 1S",c["l-W"]="1C(\'./2a/47.3h\')","3i"==b){H(j d 2j c)1G[d]=$("#"+a).g(d);H(j d 2j c)$("#"+a).g(d,c[d])}1f D("3g"==b)H(j d 2j 1G)$("#"+a).g(d,1G[d])},3f:4(a){j b=$("#"+a).g("l-n"),c=1E["#"+a],d=c;O u===!0?d=b:v===!0?d=c:w===!0&&(d=2y[b]),d},2v:4(){1==w?(u=!1,v=!1,C.k("F p Q p 2p 17"),q.h(y),w=!1,v=!0,$("#1J").h("w")):1==u?(v=!1,w=!1,C.k("F p Q p 1I 1V"),q.h(2y[o]),u=!1,w=!0,$("#1J").h("u")):1==v&&(w=!1,u=!1,C.k("F p Q p 2t 17"),q.h(o),v=!1,u=!0,$("#1J").h("v"))},3e:4(){v===!0&&(1F=y),u===!0&&(1F=o),w===!0&&(1F=2y[o]),q.h(1F),16.g({"l-n":o,"Z-I":"1x"}),1v.g("l-n",o)},2B:4(){O 1w=$(".N").g("m"),1w=19(1w.1k(0,-2)),1L="1S",1L=19(1L.1k(0,-2)),1z=1L*2*2z+1w*2z+.44*1w,3c>1z&&(1z=3c),1z=1z.L()+"Y"},1O:4(a,b){H(j c=0;b>c;c++)a=6.r.T(a);O 48=1o.2u(a)},2D:4(){21=6.1O(1M,9),$(".3v").g("1h-1l",21),2s=6.1O(1M,8),$(".4b").g("1h-1l",2s),x.g("1h-1l",6.r.1g(2s)+"Y"),x.g("3q-3r","1i 2q 1S"),6.r.T(21),$(".4a").g({m:"1m%","1h-1l":21})},2M:4(){R.g({45:"43","z-3s":"1"}),15.g("z-3s","10");j a=R.g("m");a=19(a.1k(0,-2)),2H=(1m-a)/2,25=6.r.T(a),25=25.L()+"Y",2A=6.r.T(2H),34=L(2A)+"%",2L=L(1m-2A)+"%",x.g("2K",34),15.g({m:25,2K:2L})},2X:4(){1W=15.g("m"),1W=19(1W.1k(0,-2)),m=6.r.T(1W),E=6.r.T(m),m=m.L()+"Y",E=E.L()+"Y",16.g({m:m,E:E})},2x:4(){1M=2w.2I>2J?2w.2I:2J,U=6.1O(1M,2C),$(".N").g("m",U.L()+"Y"),1y=6.r.T(U),1t=1y.L()+"Y",$(".N").g("E",1t);j a=6.2B();R.g("m",a),6.2D(),6.2M(),6.r.2Y("#"+15.B("s"),"m"),6.2X(),1e.g({"3Z":"4d",m:"42"}),32=15.E()},1Y:4(){D(1==G){H(j a=0;a<18.K;a++)$("#d"+a).k(1E["#d"+a]);G=2,11.k("(1V)"),$("#1B").h("1")}1f D(0==G)$(".N").k(""),G=1,11.k("(41)"),$("#1B").h("0");1f D(2==G){H(j a=0;a<18.K;a++)$("#d"+a).k(1s[1E["#d"+a]]);G=3,11.k("(4c)"),$("#1B").h("2")}1f D(3==G){H(j a=0;a<18.K;a++)$("#d"+a).k(14[1s[1E["#d"+a]]]);G=0,11.k("(4k)"),$("#1B").h("3")}},1Q:4(){H(i=1;i<18.K;i++){$("#2r").B("I","l-n:"+18[0]);j a=$("#2r").4i();a.B("s","d"+i),a.B("I","l-n:"+18[i]),R.22(a)}6.2x(),6.1Y(),6.2v(),6.3t.3d()}};',62,269,'||||function||ColorPicker||||||||||css|val||var|html|background|width|color|selectedrgb|TO|namespace|GoldenFuncs|id|this|hexes|rgbs|names|colornames|selectedname||span|attr|hexswitch|if|height|CLICK|infostate|for|style|class|length|toString|separate|colors|return|curfavcolor|SWITCH|container|backgroundswitch|regolden|colorswidth|addfav|image|favpanel|px|border||infospace|click||hextorgb|switches|preview|VALUES|color_values|parseInt|hover|favcolors|colorpicker|transbutton|transparent|else|goldenize|font|black|favshow|slice|size|100|favcolor|Math|submitvalue|addClass|split|nametohex|propval|defaulttrans|vasebackground|basis|none|colorsheight|widthval|openfav|opt_infoswitch|url|curfavcolorId|divtoname|thecolor|old|bgURI|COLOR|opt_hexswitch|rgbtoname|secondbasis|windowWidth|null|shrinkwidth|hovertrans|show|exec|2px|favcol|label|NAMES|first|clicked|switchcolorinfo|grab|ratio|fontratioone|append|extra|bg_menu|widths|infoswitch|favmsg|replace|existsfavcolor|images|checked|setpaneldimension|radio|Favorites|input|type|bscroll|opt_bgURI|in|getcolorfromfavorite|hide|remove|switchhovercss|selectfavColor|RGB|1px|d0|fontratiotwo|HEX|round|hexcolorswitch|window|setupdimensions|rgbtohex|numberacross|lateralbasis|getcontainerwidth|widthratio|setupfonts|openfavourites|nbsp|red|remainder|innerWidth|933|left|rightside|setupsides|onclick|newwidth|fast|switches_depressed|selectednameid|500|fadeOut|fadeIn|rgb|9a|previewdimensions|makegolden|br|name|addfavourites|orgheight|favcolorbox|leftside|bg5|newnum|gray|gif|bg|dither|initfavpanel|406|addEventListener|putitin|showcolorname|out|jpg|over|bg1|sqrt|result|Add|getproperty|opt_bgColor|to|text|shadow|index|Events|newval|theswitches|Remove|keypress|from|which|CHOOSE|mouseout|60|bind|mouseover|toLowerCase|keyCode|backgroundstate|the|dashed|note|14px|solid|numval|format|openfavlist|addfavlist|transparency|support|not|does|bgOptions|favnone|No|favourite|float|THE|NONE|inherit|relative||position|white|hoverbackground|division|loadColorStorage|smalltitle|subtitle|HEXES|bottom|removeClass|slideUp|slow|slideDown|clone|resize|RGBS'.split('|'),0,{})) + diff --git a/share/frontend/im/colors/js/data.js b/share/frontend/im/colors/js/data.js new file mode 100644 index 0000000..1728951 --- /dev/null +++ b/share/frontend/im/colors/js/data.js @@ -0,0 +1,6 @@ +var nametohex = {'grey21': '#363636', 'yellow': '#FFFF00', 'grey61': '#9C9C9C', 'HotPink3': '#CD6090', 'grey63': '#A1A1A1', 'grey62': '#9E9E9E', 'grey65': '#A6A6A6', 'AliceBlue': '#F0F8FF', 'grey67': '#ABABAB', 'grey66': '#A8A8A8', 'LightCyan1': '#E0FFFF', 'grey68': '#ADADAD', 'LightCyan3': '#B4CDCD', 'LightCyan2': '#D1EEEE', 'LightCyan4': '#7A8B8B', 'gray32': '#525252', 'gray33': '#545454', 'DarkTurquoise': '#00CED1', 'gray31': '#4F4F4F', 'gray36': '#5C5C5C', 'gray37': '#5E5E5E', 'gray34': '#575757', 'gray35': '#595959', 'aquamarine4': '#458B74', 'gray38': '#616161', 'gray39': '#636363', 'aquamarine1': '#7FFFD4', 'aquamarine3': '#66CDAA', 'aquamarine2': '#76EEC6', 'CadetBlue4': '#53868B', 'CadetBlue3': '#7AC5CD', 'CadetBlue2': '#8EE5EE', 'CadetBlue1': '#98F5FF', 'crimson': '#DC143C', 'VioletRed1': '#FF3E96', 'VioletRed2': '#EE3A8C', 'VioletRed3': '#CD3278', 'VioletRed4': '#8B2252', 'brown': '#A52A2A', 'DarkGoldenrod': '#B8860B', 'gray8': '#141414', 'SlateGrey': '#708090', 'NavajoWhite2': '#EECFA1', 'gray2': '#050505', 'cyan': '#00FFFF', 'gray0': '#000000', 'gray1': '#030303', 'fractal': '#808080', 'gray7': '#121212', 'gray4': '#0A0A0A', 'gray5': '#0D0D0D', 'grey60': '#999999', 'DarkBlue': '#00008B', 'gray98': '#FAFAFA', 'DarkKhaki': '#BDB76B', 'gray99': '#FCFCFC', 'teal': '#008080', 'grey11': '#1C1C1C', 'coral4': '#8B3E2F', 'grey12': '#1F1F1F', 'grey64': '#A3A3A3', 'PaleGreen1': '#9AFF9A', 'PaleGreen3': '#7CCD7C', 'PaleGreen2': '#90EE90', 'PaleGreen4': '#548B54', 'grey14': '#242424', 'lavender': '#E6E6FA', 'grey15': '#262626', 'chartreuse3': '#66CD00', 'chartreuse2': '#76EE00', 'chartreuse1': '#7FFF00', 'chartreuse4': '#458B00', 'RosyBrown': '#BC8F8F', 'blue': '#0000FF', 'NavajoWhite': '#FFDEAD', 'opaque': '#000000', 'maroon4': '#8B1C62', 'maroon3': '#CD2990', 'maroon2': '#EE30A7', 'maroon1': '#FF34B3', 'gold3': '#CDAD00', 'gold2': '#EEC900', 'gold1': '#FFD700', 'gold4': '#8B7500', 'LightSlateGrey': '#778899', 'gray30': '#4D4D4D', 'DarkGreen': '#006400', 'SkyBlue': '#87CEEB', 'GhostWhite': '#F8F8FF', 'LavenderBlush': '#FFF0F5', 'SeaGreen': '#2E8B57', 'BlanchedAlmond': '#FFEBCD', 'gray60': '#999999', 'DarkOliveGreen': '#556B2F', 'firebrick2': '#EE2C2C', 'firebrick1': '#FF3030', 'firebrick4': '#8B1A1A', 'sienna': '#A0522D', 'blue1': '#0000FF', 'lime': '#00FF00', 'gray55': '#8C8C8C', 'blue2': '#0000EE', 'DarkViolet': '#9400D3', 'blue4': '#00008B', 'peru': '#CD853F', 'DarkMagenta': '#8B008B', 'LightBlue2': '#B2DFEE', 'red2': '#EE0000', 'red1': '#FF0000', 'LightBlue1': '#BFEFFF', 'LightBlue4': '#68838B', 'red4': '#8B0000', 'MediumSpringGreen': '#00FA9A', 'chocolate': '#D2691E', 'ForestGreen': '#228B22', 'DarkRed': '#8B0000', 'olive': '#808000', 'HotPink2': '#EE6AA7', 'HotPink1': '#FF6EB4', 'HotPink4': '#8B3A62', 'grey18': '#2E2E2E', 'grey19': '#303030', 'none': '#000000', 'PeachPuff': '#FFDAB9', 'MediumGoldenRod': '#D1C166', 'moccasin': '#FFE4B5', 'grey10': '#1A1A1A', 'chocolate1': '#FF7F24', 'chocolate2': '#EE7621', 'chocolate3': '#CD661D', 'chocolate4': '#8B4513', 'wheat2': '#EED8AE', 'grey16': '#292929', 'grey17': '#2B2B2B', 'gray69': '#B0B0B0', 'gray68': '#ADADAD', 'gray65': '#A6A6A6', 'gray64': '#A3A3A3', 'gray67': '#ABABAB', 'gray66': '#A8A8A8', 'gray61': '#9C9C9C', 'coral': '#FF7F50', 'gray63': '#A1A1A1', 'gray62': '#9E9E9E', 'LightGoldenrod': '#EEDD82', 'turquoise4': '#00868B', 'seashell2': '#EEE5DE', 'seashell3': '#CDC5BF', 'magenta': '#FF00FF', 'seashell1': '#FFF5EE', 'tan': '#D2B48C', 'seashell4': '#8B8682', 'pink': '#FFC0CB', 'LightSlateBlue': '#8470FF', 'SteelBlue1': '#63B8FF', 'SteelBlue3': '#4F94CD', 'SteelBlue2': '#5CACEE', 'SteelBlue4': '#36648B', 'grey89': '#E3E3E3', 'grey88': '#E0E0E0', 'grey87': '#DEDEDE', 'grey86': '#DBDBDB', 'grey85': '#D9D9D9', 'grey84': '#D6D6D6', 'grey83': '#D4D4D4', 'grey82': '#D1D1D1', 'grey81': '#CFCFCF', 'grey80': '#CCCCCC', 'ivory2': '#EEEEE0', 'khaki4': '#8B864E', 'khaki1': '#FFF68F', 'khaki2': '#EEE685', 'khaki3': '#CDC673', 'salmon1': '#FF8C69', 'salmon3': '#CD7054', 'salmon2': '#EE8262', 'salmon4': '#8B4C39', 'LightPink': '#FFB6C1', 'gray9': '#171717', 'green': '#008000', 'brown2': '#EE3B3B', 'brown3': '#CD3333', 'brown1': '#FF4040', 'brown4': '#8B2323', 'cadet blue': '#5F9EA0', 'orange4': '#8B5A00', 'orange1': '#FFA500', 'orange3': '#CD8500', 'orange2': '#EE9A00', 'gray3': '#080808', 'gray6': '#0F0F0F', 'yellow4': '#8B8B00', 'yellow3': '#CDCD00', 'yellow2': '#EEEE00', 'yellow1': '#FFFF00', 'PapayaWhip': '#FFEFD5', 'bisque2': '#EED5B7', 'OliveDrab4': '#698B22', 'bisque3': '#CDB79E', 'OliveDrab1': '#C0FF3E', 'OliveDrab2': '#B3EE3A', 'OliveDrab3': '#9ACD32', 'SkyBlue4': '#4A708B', 'SkyBlue1': '#87CEFF', 'SkyBlue3': '#6CA6CD', 'SkyBlue2': '#7EC0EE', 'grey58': '#949494', 'grey59': '#969696', 'grey54': '#8A8A8A', 'grey55': '#8C8C8C', 'grey56': '#8F8F8F', 'grey57': '#919191', 'grey50': '#7F7F7F', 'silver': '#C0C0C0', 'grey52': '#858585', 'grey53': '#878787', 'cyan2': '#00EEEE', 'cyan3': '#00CDCD', 'gray23': '#3B3B3B', 'RosyBrown4': '#8B6969', 'gray25': '#404040', 'CornflowerBlue': '#6495ED', 'cyan4': '#008B8B', 'gray26': '#424242', 'gray29': '#4A4A4A', 'LimeGreen': '#32CD32', 'MistyRose': '#FFE4E1', 'navy': '#000080', 'gray94': '#F0F0F0', 'gray95': '#F2F2F2', 'gray96': '#F5F5F5', 'gray97': '#F7F7F7', 'gray90': '#E5E5E5', 'gray91': '#E8E8E8', 'gray92': '#EBEBEB', 'gray93': '#EDEDED', 'MediumPurple': '#9370DB', 'MidnightBlue': '#191970', 'cornsilk': '#FFF8DC', 'red': '#FF0000', 'grey69': '#B0B0B0', 'DarkOrchid4': '#68228B', 'blue3': '#0000CD', 'LightSteelBlue': '#B0C4DE', 'DarkOrchid1': '#BF3EFF', 'DarkOrchid2': '#B23AEE', 'DarkOrchid3': '#9A32CD', 'grey72': '#B8B8B8', 'FloralWhite': '#FFFAF0', 'grey70': '#B3B3B3', 'DarkSeaGreen': '#8FBC8F', 'grey71': '#B5B5B5', 'gray17': '#2B2B2B', 'grey77': '#C4C4C4', 'tomato4': '#8B3626', 'tomato1': '#FF6347', 'tomato3': '#CD4F39', 'tomato2': '#EE5C42', 'DarkSlateGray1': '#97FFFF', 'DarkSlateGray2': '#8DEEEE', 'DarkSlateGray3': '#79CDCD', 'DarkSlateGray4': '#528B8B', 'SteelBlue': '#4682B4', 'MediumSlateBlue': '#7B68EE', 'OrangeRed': '#FF4500', 'grey79': '#C9C9C9', 'MediumVioletRed': '#C71585', 'burlywood': '#DEB887', 'white': '#FFFFFF', 'tomato': '#FF6347', 'DodgerBlue': '#1E90FF', 'RoyalBlue4': '#27408B', 'RoyalBlue1': '#4876FF', 'RoyalBlue3': '#3A5FCD', 'RoyalBlue2': '#436EEE', 'MistyRose1': '#FFE4E1', 'MistyRose3': '#CDB7B5', 'MistyRose2': '#EED5D2', 'MistyRose4': '#8B7D7B', 'LightGray': '#D3D3D3', 'LightYellow': '#FFFFE0', 'DarkOrange': '#FF8C00', 'DarkGray': '#A9A9A9', 'SlateGray': '#708090', 'turquoise3': '#00C5CD', 'turquoise2': '#00E5EE', 'turquoise1': '#00F5FF', 'burlywood2': '#EEC591', 'burlywood4': '#8B7355', 'DarkSlateGray': '#2F4F4F', 'linen': '#FAF0E6', 'grey47': '#787878', 'snow': '#FFFAFA', 'grey46': '#757575', 'gray58': '#949494', 'gray59': '#969696', 'IndianRed4': '#8B3A3A', 'purple4': '#551A8B', 'gray52': '#858585', 'gray53': '#878787', 'purple1': '#9B30FF', 'IndianRed1': '#FF6A6A', 'purple3': '#7D26CD', 'purple2': '#912CEE', 'thistle3': '#CDB5CD', 'thistle2': '#EED2EE', 'SpringGreen2': '#00EE76', 'SpringGreen3': '#00CD66', 'SpringGreen4': '#008B45', 'thistle4': '#8B7B8B', 'LightPink2': '#EEA2AD', 'LightPink3': '#CD8C95', 'LightPink1': '#FFAEB9', 'LightPink4': '#8B5F65', 'MediumPurple1': '#AB82FF', 'MediumPurple2': '#9F79EE', 'MediumPurple3': '#8968CD', 'MediumPurple4': '#5D478B', 'MediumTurquoise': '#48D1CC', 'DimGray': '#696969', 'gray14': '#242424', 'grey100': '#FFFFFF', 'OrangeRed3': '#CD3700', 'OrangeRed2': '#EE4000', 'OrangeRed1': '#FF4500', 'LightSeaGreen': '#20B2AA', 'gold': '#FFD700', 'OrangeRed4': '#8B2500', 'NavajoWhite4': '#8B795E', 'NavajoWhite1': '#FFDEAD', 'LawnGreen': '#7CFC00', 'NavajoWhite3': '#CDB38B', 'LightGoldenrod4': '#8B814C', 'LightGoldenrod1': '#FFEC8B', 'LightGoldenrod3': '#CDBE70', 'LightGoldenrod2': '#EEDC82', 'gray21': '#363636', 'PaleGreen': '#98FB98', 'green4': '#008B00', 'green1': '#00FF00', 'green3': '#00CD00', 'green2': '#00EE00', 'MediumOrchid': '#BA55D3', 'black': '#000000', 'gray20': '#333333', 'orchid4': '#8B4789', 'DodgerBlue1': '#1E90FF', 'DodgerBlue2': '#1C86EE', 'DodgerBlue3': '#1874CD', 'DodgerBlue4': '#104E8B', 'orchid1': '#FF83FA', 'orchid2': '#EE7AE9', 'orchid3': '#CD69C9', 'DarkSeaGreen4': '#698B69', 'DarkSeaGreen3': '#9BCD9B', 'DarkSeaGreen2': '#B4EEB4', 'DarkSeaGreen1': '#C1FFC1', 'gray100': '#FFFFFF', 'BlueViolet': '#8A2BE2', 'bisque4': '#8B7D6B', 'MediumOrchid4': '#7A378B', 'MintCream': '#F5FFFA', 'MediumOrchid1': '#E066FF', 'bisque1': '#FFE4C4', 'MediumOrchid3': '#B452CD', 'MediumOrchid2': '#D15FEE', 'gray': '#7E7E7E', 'DeepSkyBlue': '#00BFFF', 'LightGrey': '#D3D3D3', 'grey78': '#C7C7C7', 'gray22': '#383838', 'plum4': '#8B668B', 'plum3': '#CD96CD', 'plum2': '#EEAEEE', 'plum1': '#FFBBFF', 'DarkSlateGrey': '#2F4F4F', 'DarkOrchid': '#9932CC', 'OliveDrab': '#6B8E23', 'gray83': '#D4D4D4', 'grey49': '#7D7D7D', 'grey48': '#7A7A7A', 'thistle': '#D8BFD8', 'violet': '#EE82EE', 'grey43': '#6E6E6E', 'grey42': '#6B6B6B', 'LightSalmon4': '#8B5742', 'grey40': '#666666', 'LightSalmon2': '#EE9572', 'LightSalmon3': '#CD8162', 'grey45': '#737373', 'LightSalmon1': '#FFA07A', 'honeydew': '#F0FFF0', 'gray18': '#2E2E2E', 'gray19': '#303030', 'LightCyan': '#E0FFFF', 'gray15': '#262626', 'gray16': '#292929', 'gray82': '#D1D1D1', 'gray10': '#1A1A1A', 'gray11': '#1C1C1C', 'gray12': '#1F1F1F', 'gray13': '#212121', 'grey93': '#EDEDED', 'PaleGoldenrod': '#EEE8AA', 'gainsboro': '#DCDCDC', 'AntiqueWhite3': '#CDC0B0', 'AntiqueWhite2': '#EEDFCC', 'AntiqueWhite1': '#FFEFDB', 'gray27': '#454545', 'SlateBlue': '#6A5ACD', 'AntiqueWhite4': '#8B8378', 'DimGrey': '#696969', 'VioletRed': '#D02090', 'WhiteSmoke': '#F5F5F5', 'grey38': '#616161', 'grey39': '#636363', 'grey36': '#5C5C5C', 'grey37': '#5E5E5E', 'grey34': '#575757', 'grey35': '#595959', 'aqua': '#00FFFF', 'grey33': '#545454', 'grey30': '#4D4D4D', 'grey31': '#4F4F4F', 'NavyBlue': '#000080', 'sienna4': '#8B4726', 'gray81': '#CFCFCF', 'gray80': '#CCCCCC', 'sienna1': '#FF8247', 'gray86': '#DBDBDB', 'sienna3': '#CD6839', 'sienna2': '#EE7942', 'gray89': '#E3E3E3', 'gray88': '#E0E0E0', 'SlateBlue4': '#473C8B', 'gray87': '#DEDEDE', 'LightSteelBlue1': '#CAE1FF', 'magenta3': '#CD00CD', 'IndianRed': '#CD5C5C', 'SlateBlue2': '#7A67EE', 'SlateBlue1': '#836FFF', 'LightBlue': '#ADD8E6', 'PeachPuff4': '#8B7765', 'seashell': '#FFF5EE', 'SaddleBrown': '#8B4513', 'PeachPuff1': '#FFDAB9', 'PeachPuff2': '#EECBAD', 'PeachPuff3': '#CDAF95', 'aquamarine': '#7FFFD4', 'LemonChiffon2': '#EEE9BF', 'LemonChiffon1': '#FFFACD', 'tan4': '#8B5A2B', 'tan3': '#CD853F', 'tan2': '#EE9A49', 'tan1': '#FFA54F', 'LemonChiffon4': '#8B8970', 'orange': '#FFA500', 'OldLace': '#FDF5E6', 'PowderBlue': '#B0E0E6', 'RosyBrown3': '#CD9B9B', 'RoyalBlue': '#4169E1', 'LightSkyBlue4': '#607B8B', 'LightSkyBlue1': '#B0E2FF', 'LightSkyBlue2': '#A4D3EE', 'LightSkyBlue3': '#8DB6CD', 'LightYellow1': '#FFFFE0', 'LightYellow2': '#EEEED1', 'LightYellow3': '#CDCDB4', 'LightYellow4': '#8B8B7A', 'goldenrod4': '#8B6914', 'goldenrod1': '#FFC125', 'goldenrod2': '#EEB422', 'goldenrod3': '#CD9B1D', 'grey32': '#525252', 'LemonChiffon': '#FFFACD', 'burlywood1': '#FFD39B', 'YellowGreen': '#9ACD32', 'LightCoral': '#F08080', 'burlywood3': '#CDAA7D', 'ivory3': '#CDCDC1', 'firebrick3': '#CD2626', 'ivory1': '#FFFFF0', 'grey8': '#141414', 'ivory4': '#8B8B83', 'grey9': '#171717', 'DarkSalmon': '#E9967A', 'SlateGray1': '#C6E2FF', 'SlateGray2': '#B9D3EE', 'SlateGray3': '#9FB6CD', 'SlateGray4': '#6C7B8B', 'RosyBrown2': '#EEB4B4', 'RosyBrown1': '#FFC1C1', 'gray85': '#D9D9D9', 'gray84': '#D6D6D6', 'LightGreen': '#90EE90', 'LavenderBlush1': '#FFF0F5', 'grey73': '#BABABA', 'LavenderBlush3': '#CDC1C5', 'LavenderBlush2': '#EEE0E5', 'grey76': '#C2C2C2', 'LavenderBlush4': '#8B8386', 'grey74': '#BDBDBD', 'grey75': '#BFBFBF', 'pink1': '#FFB5C5', 'pink3': '#CD919E', 'pink2': '#EEA9B8', 'pink4': '#8B636C', 'gray47': '#787878', 'gray46': '#757575', 'gray45': '#737373', 'gray44': '#707070', 'gray43': '#6E6E6E', 'gray42': '#6B6B6B', 'gray41': '#696969', 'gray40': '#666666', 'gray49': '#7D7D7D', 'gray48': '#7A7A7A', 'MediumAquamarine': '#66CDAA', 'MediumForestGreen': '#32814B', 'azure1': '#F0FFFF', 'azure3': '#C1CDCD', 'azure2': '#E0EEEE', 'indigo': '#4B0082', 'azure4': '#838B8B', 'firebrick': '#B22222', 'DarkGrey': '#A9A9A9', 'magenta4': '#8B008B', 'SlateBlue3': '#6959CD', 'magenta2': '#EE00EE', 'magenta1': '#FF00FF', 'grey51': '#828282', 'chartreuse': '#7FFF00', 'grey41': '#696969', 'DarkOliveGreen4': '#6E8B3D', 'turquoise': '#40E0D0', 'DarkOliveGreen1': '#CAFF70', 'DarkOliveGreen3': '#A2CD5A', 'DarkOliveGreen2': '#BCEE68', 'grey6': '#0F0F0F', 'grey7': '#121212', 'grey4': '#0A0A0A', 'grey5': '#0D0D0D', 'grey2': '#050505', 'grey3': '#080808', 'grey0': '#000000', 'grey1': '#030303', 'gray50': '#7F7F7F', 'cyan1': '#00FFFF', 'gray51': '#828282', 'gray24': '#3D3D3D', 'HotPink': '#FF69B4', 'DarkGoldenrod4': '#8B6508', 'gray54': '#8A8A8A', 'DarkGoldenrod1': '#FFB90F', 'DarkGoldenrod2': '#EEAD0E', 'DarkGoldenrod3': '#CD950C', 'IndianRed2': '#EE6363', 'DeepPink': '#FF1493', 'gray28': '#474747', 'IndianRed3': '#CD5555', 'DarkCyan': '#008B8B', 'GreenYellow': '#ADFF2F', 'LightSalmon': '#FFA07A', 'DarkOrange4': '#8B4500', 'DarkOrange1': '#FF7F00', 'transparent': '#000000', 'DarkOrange3': '#CD6600', 'orchid': '#DA70D6', 'purple': '#800080', 'wheat4': '#8B7E66', 'wheat1': '#FFE7BA', 'wheat3': '#CDBA96', 'SpringGreen1': '#00FF7F', 'coral3': '#CD5B45', 'coral2': '#EE6A50', 'coral1': '#FF7256', 'thistle1': '#FFE1FF', 'PaleTurquoise': '#AFEEEE', 'bisque': '#FFE4C4', 'DeepPink3': '#CD1076', 'DeepPink2': '#EE1289', 'DeepPink1': '#FF1493', 'khaki': '#F0E68C', 'wheat': '#F5DEB3', 'MediumSeaGreen': '#3CB371', 'DeepPink4': '#8B0A50', 'salmon': '#FA8072', 'grey44': '#707070', 'DarkSlateBlue': '#483D8B', 'PaleVioletRed4': '#8B475D', 'PaleVioletRed1': '#FF82AB', 'PaleVioletRed2': '#EE799F', 'PaleVioletRed3': '#CD6889', 'AntiqueWhite': '#FAEBD7', 'PaleTurquoise4': '#668B8B', 'PaleTurquoise3': '#96CDCD', 'PaleTurquoise2': '#AEEEEE', 'PaleTurquoise1': '#BBFFFF', 'gray56': '#8F8F8F', 'plum': '#DDA0DD', 'beige': '#F5F5DC', 'SpringGreen': '#00FF7F', 'azure': '#F0FFFF', 'honeydew1': '#F0FFF0', 'honeydew2': '#E0EEE0', 'honeydew3': '#C1CDC1', 'honeydew4': '#838B83', 'gray57': '#919191', 'snow4': '#8B8989', 'snow2': '#EEE9E9', 'snow3': '#CDC9C9', 'snow1': '#FFFAFA', 'SandyBrown': '#F4A460', 'grey13': '#212121', 'SeaGreen4': '#2E8B57', 'SeaGreen3': '#43CD80', 'SeaGreen2': '#4EEE94', 'SeaGreen1': '#54FF9F', 'grey29': '#4A4A4A', 'grey28': '#474747', 'grey25': '#404040', 'grey24': '#3D3D3D', 'grey27': '#454545', 'grey26': '#424242', 'fuchsia': '#FF00FF', 'grey20': '#333333', 'grey23': '#3B3B3B', 'grey22': '#383838', 'gray78': '#C7C7C7', 'gray79': '#C9C9C9', 'gray76': '#C2C2C2', 'gray77': '#C4C4C4', 'gray74': '#BDBDBD', 'gray75': '#BFBFBF', 'gray72': '#B8B8B8', 'gray73': '#BABABA', 'gray70': '#B3B3B3', 'gray71': '#B5B5B5', 'ivory': '#FFFFF0', 'LemonChiffon3': '#CDC9A5', 'DeepSkyBlue4': '#00688B', 'DeepSkyBlue3': '#009ACD', 'DeepSkyBlue2': '#00B2EE', 'DeepSkyBlue1': '#00BFFF', 'cornsilk4': '#8B8878', 'cornsilk2': '#EEE8CD', 'cornsilk3': '#CDC8B1', 'CadetBlue': '#5F9EA0', 'cornsilk1': '#FFF8DC', 'grey90': '#E5E5E5', 'grey91': '#E8E8E8', 'grey92': '#EBEBEB', 'goldenrod': '#DAA520', 'grey94': '#F0F0F0', 'grey95': '#F2F2F2', 'grey96': '#F5F5F5', 'grey97': '#F7F7F7', 'grey98': '#FAFAFA', 'grey99': '#FCFCFC', 'red3': '#CD0000', 'LightSteelBlue2': '#BCD2EE', 'LightSteelBlue3': '#A2B5CD', 'LightSteelBlue4': '#6E7B8B', 'LightBlue3': '#9AC0CD', 'maroon': '#800000', 'LightSkyBlue': '#87CEFA', 'LightGoldenrodYellow': '#FAFAD2', 'MediumBlue': '#0000CD', 'LightSlateGray': '#778899', 'DarkOrange2': '#EE7600', 'PaleVioletRed': '#DB7093'};
+var divtoname = {'#d322': 'khaki4', '#d600': 'gray34', '#d118': 'MediumPurple1', '#d119': 'MediumPurple2', '#d114': 'purple3', '#d115': 'purple4', '#d116': 'purple1', '#d117': 'MediumPurple', '#d110': 'purple', '#d111': 'indigo', '#d112': 'BlueViolet', '#d113': 'purple2', '#d529': 'grey67', '#d231': 'DarkSlateGray', '#d339': 'LightGoldenrod3', '#d233': 'MediumTurquoise', '#d232': 'DarkSlateGrey', '#d235': 'turquoise', '#d234': 'LightSeaGreen', '#d237': 'aquamarine', '#d236': 'aquamarine4', '#d239': 'aquamarine2', '#d238': 'aquamarine1', '#d332': 'gold1', '#d333': 'gold2', '#d334': 'gold3', '#d335': 'gold4', '#d336': 'LightGoldenrod', '#d337': 'LightGoldenrod4', '#d424': 'LightSalmon3', '#d425': 'LightSalmon', '#d426': 'LightSalmon1', '#d427': 'LightSalmon4', '#d420': 'sienna', '#d421': 'sienna1', '#d422': 'sienna2', '#d423': 'sienna3', '#d587': 'grey41', '#d586': 'gray41', '#d585': 'DimGrey', '#d584': 'DimGray', '#d428': 'LightSalmon2', '#d429': 'coral', '#d581': 'grey43', '#d580': 'gray43', '#d89': 'thistle4', '#d88': 'plum3', '#d349': 'goldenrod4', '#d348': 'goldenrod3', '#d81': 'thistle2', '#d80': 'thistle1', '#d83': 'plum2', '#d82': 'plum1', '#d85': 'thistle3', '#d84': 'thistle', '#d87': 'violet', '#d86': 'plum', '#d601': 'grey34', '#d67': 'DeepPink3', '#d66': 'DeepPink2', '#d65': 'DeepPink1', '#d64': 'DeepPink', '#d63': 'HotPink', '#d62': 'HotPink4', '#d61': 'HotPink1', '#d60': 'HotPink2', '#d69': 'maroon1', '#d68': 'DeepPink4', '#d510': 'grey76', '#d511': 'silver', '#d512': 'gray75', '#d513': 'grey75', '#d514': 'gray74', '#d515': 'grey74', '#d516': 'gray73', '#d517': 'grey73', '#d518': 'gray72', '#d519': 'grey72', '#d150': 'LightSteelBlue2', '#d151': 'LightSteelBlue3', '#d152': 'LightSteelBlue4', '#d153': 'SlateGray4', '#d154': 'SlateGray1', '#d155': 'SlateGray2', '#d156': 'SlateGray3', '#d157': 'LightSlateGray', '#d158': 'LightSlateGrey', '#d159': 'SlateGray', '#d565': 'gray50', '#d564': 'fractal', '#d567': 'gray', '#d566': 'grey50', '#d561': 'grey52', '#d560': 'gray52', '#d563': 'grey51', '#d562': 'gray51', '#d604': 'gray32', '#d605': 'grey32', '#d606': 'gray31', '#d607': 'grey31', '#d569': 'grey49', '#d568': 'gray49', '#d602': 'gray33', '#d603': 'grey33', '#d125': 'SlateBlue', '#d124': 'MediumSlateBlue', '#d127': 'SlateBlue2', '#d126': 'SlateBlue1', '#d121': 'MediumPurple4', '#d120': 'MediumPurple3', '#d123': 'LightSlateBlue', '#d122': 'DarkSlateBlue', '#d359': 'wheat1', '#d129': 'SlateBlue4', '#d128': 'SlateBlue3', '#d301': 'LightYellow', '#d300': 'ivory1', '#d303': 'beige', '#d302': 'LightYellow1', '#d305': 'LightGoldenrodYellow', '#d304': 'ivory2', '#d307': 'ivory3', '#d306': 'LightYellow2', '#d309': 'ivory4', '#d308': 'LightYellow3', '#d462': 'grey98', '#d351': 'DarkGoldenrod1', '#d464': 'grey97', '#d465': 'gray96', '#d466': 'grey96', '#d467': 'WhiteSmoke', '#d463': 'gray97', '#d268': 'PaleGreen3', '#d269': 'honeydew4', '#d266': 'DarkSeaGreen3', '#d267': 'DarkSeaGreen', '#d264': 'LightGreen', '#d265': 'PaleGreen2', '#d262': 'PaleGreen', '#d263': 'honeydew3', '#d260': 'DarkSeaGreen2', '#d261': 'PaleGreen1', '#d598': 'gray35', '#d29': 'firebrick4', '#d28': 'brown4', '#d23': 'red2', '#d22': 'firebrick3', '#d21': 'RosyBrown4', '#d20': 'red1', '#d27': 'IndianRed4', '#d26': 'red3', '#d25': 'brown', '#d24': 'firebrick', '#d599': 'grey35', '#d338': 'LightGoldenrod1', '#d419': 'sienna4', '#d418': 'seashell1', '#d230': 'teal', '#d415': 'chocolate4', '#d414': 'chocolate3', '#d417': 'seashell', '#d416': 'SaddleBrown', '#d411': 'chocolate', '#d410': 'seashell3', '#d413': 'chocolate2', '#d412': 'chocolate1', '#d398': 'tan1', '#d399': 'tan2', '#d392': 'DarkOrange1', '#d393': 'linen', '#d390': 'bisque1', '#d391': 'bisque3', '#d396': 'DarkOrange4', '#d397': 'peru', '#d394': 'DarkOrange2', '#d395': 'DarkOrange3', '#d194': 'CadetBlue2', '#d195': 'CadetBlue3', '#d196': 'CadetBlue4', '#d197': 'turquoise1', '#d190': 'LightBlue', '#d191': 'LightBlue4', '#d192': 'PowderBlue', '#d193': 'CadetBlue1', '#d198': 'turquoise2', '#d199': 'turquoise3', '#d330': 'cornsilk4', '#d331': 'gold', '#d640': 'gray14', '#d641': 'grey14', '#d642': 'gray13', '#d643': 'grey13', '#d644': 'gray12', '#d645': 'grey12', '#d646': 'gray11', '#d647': 'grey11', '#d648': 'gray10', '#d649': 'grey10', '#d668': 'black', '#d486': 'gainsboro', '#d487': 'gray86', '#d484': 'gray87', '#d485': 'grey87', '#d482': 'gray88', '#d483': 'grey88', '#d480': 'gray89', '#d481': 'grey89', '#d521': 'grey71', '#d520': 'gray71', '#d523': 'grey70', '#d522': 'gray70', '#d525': 'grey69', '#d524': 'gray69', '#d488': 'grey86', '#d489': 'gray85', '#d430': 'OrangeRed', '#d660': 'gray4', '#d169': 'SteelBlue1', '#d168': 'SteelBlue', '#d661': 'grey4', '#d161': 'DodgerBlue', '#d160': 'SlateGrey', '#d163': 'DodgerBlue2', '#d162': 'DodgerBlue1', '#d165': 'DodgerBlue3', '#d164': 'DodgerBlue4', '#d167': 'SteelBlue4', '#d166': 'AliceBlue', '#d635': 'grey17', '#d634': 'gray17', '#d637': 'grey16', '#d636': 'gray16', '#d631': 'grey19', '#d630': 'gray19', '#d633': 'grey18', '#d632': 'gray18', '#d639': 'grey15', '#d638': 'gray15', '#d368': 'PapayaWhip', '#d222': 'cyan', '#d223': 'cyan1', '#d220': 'LightCyan4', '#d221': 'aqua', '#d226': 'DarkSlateGray4', '#d227': 'cyan3', '#d224': 'PaleTurquoise4', '#d225': 'cyan2', '#d228': 'cyan4', '#d229': 'DarkCyan', '#d590': 'gray39', '#d538': 'gray63', '#d539': 'grey63', '#d591': 'grey39', '#d451': 'MistyRose', '#d450': 'MistyRose2', '#d453': 'salmon', '#d452': 'MistyRose1', '#d455': 'white', '#d454': 'MistyRose3', '#d457': 'grey100', '#d456': 'gray100', '#d459': 'gray99', '#d458': 'grey100', '#d592': 'gray38', '#d593': 'grey38', '#d594': 'gray37', '#d595': 'grey37', '#d596': 'gray36', '#d597': 'grey36', '#d297': 'YellowGreen', '#d296': 'OliveDrab3', '#d295': 'OliveDrab2', '#d294': 'OliveDrab1', '#d293': 'OliveDrab', '#d292': 'DarkOliveGreen', '#d291': 'DarkOliveGreen4', '#d290': 'DarkOliveGreen2', '#d356': 'wheat2', '#d357': 'OldLace', '#d354': 'DarkGoldenrod4', '#d355': 'FloralWhite', '#d352': 'DarkGoldenrod2', '#d353': 'DarkGoldenrod3', '#d299': 'ivory', '#d298': 'OliveDrab4', '#d468': 'gray95', '#d534': 'gray65', '#d535': 'grey65', '#d52': 'LavenderBlush2', '#d53': 'LavenderBlush4', '#d50': 'LavenderBlush1', '#d51': 'LavenderBlush3', '#d56': 'VioletRed3', '#d57': 'VioletRed1', '#d54': 'maroon', '#d55': 'HotPink3', '#d58': 'VioletRed2', '#d59': 'VioletRed4', '#d469': 'grey95', '#d558': 'gray53', '#d559': 'grey53', '#d576': 'gray45', '#d577': 'grey45', '#d574': 'gray46', '#d575': 'grey46', '#d572': 'gray47', '#d573': 'grey47', '#d570': 'gray48', '#d571': 'grey48', '#d671': 'opaque', '#d670': 'grey0', '#d673': 'transparent', '#d672': 'none', '#d578': 'gray44', '#d579': 'grey44', '#d589': 'grey40', '#d588': 'gray40', '#d4': 'RosyBrown2', '#d5': 'snow3', '#d6': 'LightCoral', '#d7': 'IndianRed1', '#d0': 'snow', '#d1': 'snow1', '#d2': 'snow2', '#d3': 'RosyBrown1', '#d8': 'RosyBrown3', '#d9': 'IndianRed2', '#d136': 'MediumBlue', '#d137': 'blue4', '#d134': 'blue2', '#d135': 'blue3', '#d132': 'blue', '#d133': 'blue1', '#d130': 'GhostWhite', '#d131': 'lavender', '#d583': 'grey42', '#d138': 'DarkBlue', '#d139': 'MidnightBlue', '#d312': 'yellow1', '#d313': 'yellow2', '#d310': 'LightYellow4', '#d311': 'yellow', '#d316': 'olive', '#d317': 'DarkKhaki', '#d314': 'yellow3', '#d315': 'yellow4', '#d318': 'khaki2', '#d319': 'LemonChiffon4', '#d259': 'DarkSeaGreen1', '#d258': 'honeydew2', '#d253': 'SeaGreen4', '#d252': 'SeaGreen1', '#d251': 'SeaGreen3', '#d250': 'SeaGreen', '#d257': 'honeydew1', '#d256': 'honeydew', '#d255': 'MediumForestGreen', '#d254': 'SeaGreen2', '#d345': 'goldenrod', '#d344': 'cornsilk1', '#d612': 'gray28', '#d347': 'goldenrod2', '#d461': 'gray98', '#d346': 'goldenrod1', '#d479': 'grey90', '#d341': 'cornsilk3', '#d478': 'gray90', '#d340': 'LightGoldenrod2', '#d343': 'cornsilk', '#d342': 'cornsilk2', '#d528': 'gray67', '#d408': 'seashell4', '#d409': 'seashell2', '#d406': 'PeachPuff3', '#d407': 'SandyBrown', '#d404': 'PeachPuff4', '#d405': 'PeachPuff2', '#d402': 'PeachPuff', '#d403': 'PeachPuff1', '#d400': 'tan3', '#d401': 'tan4', '#d552': 'gray56', '#d460': 'grey99', '#d16': 'firebrick2', '#d17': 'snow4', '#d14': 'IndianRed', '#d15': 'IndianRed3', '#d12': 'firebrick1', '#d13': 'brown2', '#d10': 'RosyBrown', '#d11': 'brown1', '#d532': 'gray66', '#d533': 'grey66', '#d530': 'DarkGray', '#d531': 'DarkGrey', '#d536': 'gray64', '#d537': 'grey64', '#d18': 'brown3', '#d19': 'red', '#d329': 'MediumGoldenRod', '#d328': 'LemonChiffon2', '#d178': 'LightSkyBlue1', '#d179': 'LightSkyBlue2', '#d172': 'SkyBlue4', '#d173': 'SkyBlue1', '#d170': 'SteelBlue2', '#d171': 'SteelBlue3', '#d176': 'LightSkyBlue', '#d177': 'LightSkyBlue4', '#d174': 'SkyBlue2', '#d175': 'SkyBlue3', '#d626': 'gray21', '#d627': 'grey21', '#d624': 'gray22', '#d625': 'grey22', '#d622': 'gray23', '#d623': 'grey23', '#d620': 'gray24', '#d621': 'grey24', '#d628': 'gray20', '#d629': 'grey20', '#d219': 'azure4', '#d218': 'DarkSlateGray3', '#d217': 'PaleTurquoise3', '#d216': 'DarkSlateGray2', '#d215': 'LightCyan3', '#d214': 'azure3', '#d213': 'DarkSlateGray1', '#d212': 'PaleTurquoise2', '#d211': 'PaleTurquoise', '#d210': 'PaleTurquoise1', '#d669': 'gray0', '#d582': 'gray42', '#d442': 'coral3', '#d443': 'coral4', '#d440': 'coral1', '#d441': 'coral2', '#d446': 'tomato1', '#d447': 'tomato2', '#d444': 'tomato4', '#d445': 'tomato', '#d448': 'tomato3', '#d449': 'MistyRose4', '#d280': 'DarkGreen', '#d281': 'LawnGreen', '#d282': 'chartreuse', '#d283': 'chartreuse1', '#d284': 'chartreuse2', '#d285': 'chartreuse3', '#d286': 'chartreuse4', '#d287': 'GreenYellow', '#d288': 'DarkOliveGreen3', '#d289': 'DarkOliveGreen1', '#d361': 'orange', '#d360': 'wheat3', '#d367': 'moccasin', '#d366': 'wheat4', '#d365': 'orange4', '#d364': 'orange3', '#d49': 'LavenderBlush', '#d48': 'PaleVioletRed3', '#d45': 'PaleVioletRed', '#d44': 'PaleVioletRed4', '#d47': 'PaleVioletRed1', '#d46': 'PaleVioletRed2', '#d41': 'pink2', '#d40': 'pink1', '#d43': 'pink4', '#d42': 'pink3', '#d358': 'wheat', '#d527': 'grey68', '#d526': 'gray68', '#d614': 'gray27', '#d543': 'grey61', '#d542': 'gray61', '#d541': 'grey62', '#d540': 'gray62', '#d547': 'grey59', '#d546': 'gray59', '#d545': 'grey60', '#d544': 'gray60', '#d662': 'gray3', '#d663': 'grey3', '#d549': 'grey58', '#d548': 'gray58', '#d666': 'gray1', '#d667': 'grey1', '#d664': 'gray2', '#d665': 'grey2', '#d103': 'MediumOrchid4', '#d102': 'MediumOrchid3', '#d101': 'MediumOrchid2', '#d100': 'MediumOrchid1', '#d107': 'DarkOrchid3', '#d106': 'DarkOrchid1', '#d105': 'DarkOrchid', '#d104': 'DarkViolet', '#d109': 'DarkOrchid4', '#d108': 'DarkOrchid2', '#d244': 'SpringGreen', '#d245': 'SpringGreen1', '#d246': 'SpringGreen2', '#d247': 'SpringGreen3', '#d240': 'aquamarine3', '#d241': 'MediumAquamarine', '#d242': 'MediumSpringGreen', '#d243': 'MintCream', '#d327': 'LemonChiffon3', '#d326': 'khaki', '#d325': 'LemonChiffon1', '#d324': 'LemonChiffon', '#d248': 'SpringGreen4', '#d249': 'MediumSeaGreen', '#d321': 'khaki3', '#d320': 'khaki1', '#d350': 'DarkGoldenrod', '#d439': 'salmon4', '#d438': 'salmon3', '#d98': 'purple', '#d99': 'MediumOrchid', '#d96': 'DarkMagenta', '#d97': 'magenta4', '#d94': 'magenta2', '#d95': 'magenta3', '#d92': 'magenta1', '#d93': 'plum4', '#d90': 'fuchsia', '#d91': 'magenta', '#d433': 'OrangeRed3', '#d432': 'OrangeRed2', '#d431': 'OrangeRed1', '#d74': 'VioletRed', '#d75': 'orchid2', '#d76': 'orchid', '#d77': 'orchid1', '#d70': 'maroon2', '#d71': 'maroon3', '#d72': 'maroon4', '#d73': 'MediumVioletRed', '#d437': 'salmon2', '#d78': 'orchid3', '#d79': 'orchid4', '#d436': 'salmon1', '#d435': 'DarkSalmon', '#d434': 'OrangeRed4', '#d507': 'gray77', '#d506': 'grey78', '#d505': 'gray78', '#d504': 'grey79', '#d503': 'gray79', '#d502': 'grey80', '#d501': 'gray80', '#d500': 'grey81', '#d509': 'gray76', '#d508': 'grey77', '#d473': 'grey93', '#d369': 'NavajoWhite3', '#d147': 'CornflowerBlue', '#d146': 'RoyalBlue4', '#d145': 'RoyalBlue3', '#d144': 'RoyalBlue2', '#d143': 'RoyalBlue1', '#d142': 'RoyalBlue', '#d141': 'NavyBlue', '#d140': 'navy', '#d149': 'LightSteelBlue1', '#d148': 'LightSteelBlue', '#d472': 'gray93', '#d613': 'grey28', '#d363': 'orange2', '#d611': 'grey29', '#d610': 'gray29', '#d617': 'grey26', '#d616': 'gray26', '#d615': 'grey27', '#d362': 'orange1', '#d619': 'grey25', '#d618': 'gray25', '#d208': 'azure2', '#d209': 'LightCyan2', '#d200': 'turquoise4', '#d201': 'cadet blue', '#d202': 'CadetBlue', '#d203': 'DarkTurquoise', '#d204': 'azure', '#d205': 'azure1', '#d206': 'LightCyan', '#d207': 'LightCyan1', '#d608': 'gray30', '#d609': 'grey30', '#d374': 'NavajoWhite4', '#d375': 'AntiqueWhite4', '#d376': 'AntiqueWhite', '#d377': 'tan', '#d370': 'BlanchedAlmond', '#d371': 'NavajoWhite', '#d372': 'NavajoWhite1', '#d373': 'NavajoWhite2', '#d477': 'grey91', '#d476': 'gray91', '#d475': 'grey92', '#d474': 'gray92', '#d378': 'bisque4', '#d379': 'burlywood', '#d471': 'grey94', '#d470': 'gray94', '#d279': 'green', '#d278': 'green4', '#d275': 'PaleGreen4', '#d274': 'green2', '#d277': 'ForestGreen', '#d276': 'green3', '#d271': 'lime', '#d270': 'green1', '#d273': 'DarkSeaGreen4', '#d272': 'LimeGreen', '#d38': 'pink', '#d39': 'crimson', '#d30': 'DarkRed', '#d31': 'red4', '#d32': 'maroon', '#d33': 'LightPink1', '#d34': 'LightPink3', '#d35': 'LightPink4', '#d36': 'LightPink2', '#d37': 'LightPink', '#d658': 'gray5', '#d389': 'bisque', '#d388': 'bisque2', '#d381': 'burlywood1', '#d380': 'AntiqueWhite2', '#d383': 'burlywood2', '#d382': 'burlywood3', '#d385': 'burlywood4', '#d384': 'AntiqueWhite1', '#d387': 'DarkOrange', '#d386': 'AntiqueWhite3', '#d189': 'LightBlue2', '#d188': 'LightBlue1', '#d183': 'DeepSkyBlue', '#d182': 'LightBlue3', '#d181': 'SkyBlue', '#d180': 'LightSkyBlue3', '#d187': 'DeepSkyBlue3', '#d186': 'DeepSkyBlue4', '#d185': 'DeepSkyBlue2', '#d184': 'DeepSkyBlue1', '#d657': 'grey6', '#d656': 'gray6', '#d655': 'grey7', '#d654': 'gray7', '#d653': 'grey8', '#d652': 'gray8', '#d651': 'grey9', '#d650': 'gray9', '#d550': 'gray57', '#d659': 'grey5', '#d551': 'grey57', '#d495': 'LightGray', '#d494': 'grey83', '#d497': 'gray82', '#d496': 'LightGrey', '#d491': 'gray84', '#d490': 'grey85', '#d493': 'gray83', '#d492': 'grey84', '#d554': 'gray55', '#d555': 'grey55', '#d556': 'gray54', '#d557': 'grey54', '#d499': 'gray81', '#d498': 'grey82', '#d323': 'PaleGoldenrod', '#d553': 'grey56'};
+var rgbtohex = {'rgb(255, 235, 205)': '#FFEBCD', 'rgb(205, 155, 155)': '#CD9B9B', 'rgb(0, 0, 128)': '#000080', 'rgb(179, 238, 58)': '#B3EE3A', 'rgb(205, 51, 51)': '#CD3333', 'rgb(118, 238, 198)': '#76EEC6', 'rgb(214, 214, 214)': '#D6D6D6', 'rgb(189, 189, 189)': '#BDBDBD', 'rgb(139, 131, 120)': '#8B8378', 'rgb(0, 238, 238)': '#00EEEE', 'rgb(137, 104, 205)': '#8968CD', 'rgb(85, 107, 47)': '#556B2F', 'rgb(107, 107, 107)': '#6B6B6B', 'rgb(205, 205, 180)': '#CDCDB4', 'rgb(218, 112, 214)': '#DA70D6', 'rgb(34, 139, 34)': '#228B22', 'rgb(245, 222, 179)': '#F5DEB3', 'rgb(139, 90, 43)': '#8B5A2B', 'rgb(255, 246, 143)': '#FFF68F', 'rgb(205, 91, 69)': '#CD5B45', 'rgb(255, 187, 255)': '#FFBBFF', 'rgb(162, 181, 205)': '#A2B5CD', 'rgb(238, 118, 0)': '#EE7600', 'rgb(238, 154, 73)': '#EE9A49', 'rgb(194, 194, 194)': '#C2C2C2', 'rgb(184, 134, 11)': '#B8860B', 'rgb(93, 71, 139)': '#5D478B', 'rgb(255, 182, 193)': '#FFB6C1', 'rgb(139, 69, 0)': '#8B4500', 'rgb(105, 89, 205)': '#6959CD', 'rgb(238, 173, 14)': '#EEAD0E', 'rgb(151, 255, 255)': '#97FFFF', 'rgb(205, 150, 205)': '#CD96CD', 'rgb(255, 69, 0)': '#FF4500', 'rgb(0, 134, 139)': '#00868B', 'rgb(0, 238, 0)': '#00EE00', 'rgb(255, 106, 106)': '#FF6A6A', 'rgb(186, 186, 186)': '#BABABA', 'rgb(143, 188, 143)': '#8FBC8F', 'rgb(139, 99, 108)': '#8B636C', 'rgb(224, 102, 255)': '#E066FF', 'rgb(100, 149, 237)': '#6495ED', 'rgb(0, 139, 69)': '#008B45', 'rgb(178, 223, 238)': '#B2DFEE', 'rgb(205, 192, 176)': '#CDC0B0', 'rgb(0, 206, 209)': '#00CED1', 'rgb(104, 131, 139)': '#68838B', 'rgb(155, 205, 155)': '#9BCD9B', 'rgb(139, 76, 57)': '#8B4C39', 'rgb(205, 149, 12)': '#CD950C', 'rgb(67, 205, 128)': '#43CD80', 'rgb(54, 54, 54)': '#363636', 'rgb(0, 205, 205)': '#00CDCD', 'rgb(99, 184, 255)': '#63B8FF', 'rgb(238, 233, 233)': '#EEE9E9', 'rgb(205, 201, 201)': '#CDC9C9', 'rgb(156, 156, 156)': '#9C9C9C', 'rgb(139, 125, 123)': '#8B7D7B', 'rgb(148, 148, 148)': '#949494', 'rgb(102, 205, 170)': '#66CDAA', 'rgb(139, 54, 38)': '#8B3626', 'rgb(255, 181, 197)': '#FFB5C5', 'rgb(173, 216, 230)': '#ADD8E6', 'rgb(46, 46, 46)': '#2E2E2E', 'rgb(164, 211, 238)': '#A4D3EE', 'rgb(232, 232, 232)': '#E8E8E8', 'rgb(105, 105, 105)': '#696969', 'rgb(205, 193, 197)': '#CDC1C5', 'rgb(20, 20, 20)': '#141414', 'rgb(139, 139, 131)': '#8B8B83', 'rgb(255, 114, 86)': '#FF7256', 'rgb(0, 104, 139)': '#00688B', 'rgb(205, 41, 144)': '#CD2990', 'rgb(127, 127, 127)': '#7F7F7F', 'rgb(255, 239, 213)': '#FFEFD5', 'rgb(238, 238, 209)': '#EEEED1', 'rgb(242, 242, 242)': '#F2F2F2', 'rgb(240, 230, 140)': '#F0E68C', 'rgb(238, 207, 161)': '#EECFA1', 'rgb(25, 25, 112)': '#191970', 'rgb(205, 79, 57)': '#CD4F39', 'rgb(84, 84, 84)': '#545454', 'rgb(110, 139, 61)': '#6E8B3D', 'rgb(255, 215, 0)': '#FFD700', 'rgb(143, 143, 143)': '#8F8F8F', 'rgb(238, 59, 59)': '#EE3B3B', 'rgb(166, 166, 166)': '#A6A6A6', 'rgb(255, 160, 122)': '#FFA07A', 'rgb(51, 51, 51)': '#333333', 'rgb(224, 238, 224)': '#E0EEE0', 'rgb(139, 121, 94)': '#8B795E', 'rgb(110, 123, 139)': '#6E7B8B', 'rgb(26, 26, 26)': '#1A1A1A', 'rgb(238, 99, 99)': '#EE6363', 'rgb(178, 58, 238)': '#B23AEE', 'rgb(238, 197, 145)': '#EEC591', 'rgb(171, 171, 171)': '#ABABAB', 'rgb(237, 237, 237)': '#EDEDED', 'rgb(238, 0, 0)': '#EE0000', 'rgb(139, 71, 38)': '#8B4726', 'rgb(82, 139, 139)': '#528B8B', 'rgb(139, 105, 105)': '#8B6969', 'rgb(160, 32, 240)': '#A020F0', 'rgb(78, 238, 148)': '#4EEE94', 'rgb(205, 85, 85)': '#CD5555', 'rgb(205, 181, 205)': '#CDB5CD', 'rgb(184, 184, 184)': '#B8B8B8', 'rgb(255, 222, 173)': '#FFDEAD', 'rgb(8, 8, 8)': '#080808', 'rgb(255, 248, 220)': '#FFF8DC', 'rgb(175, 238, 238)': '#AFEEEE', 'rgb(255, 130, 71)': '#FF8247', 'rgb(13, 13, 13)': '#0D0D0D', 'rgb(0, 139, 139)': '#008B8B', 'rgb(187, 255, 255)': '#BBFFFF', 'rgb(147, 112, 219)': '#9370DB', 'rgb(0, 128, 0)': '#008000', 'rgb(238, 64, 0)': '#EE4000', 'rgb(238, 18, 137)': '#EE1289', 'rgb(54, 100, 139)': '#36648B', 'rgb(176, 176, 176)': '#B0B0B0', 'rgb(0, 0, 238)': '#0000EE', 'rgb(238, 154, 0)': '#EE9A00', 'rgb(188, 143, 143)': '#BC8F8F', 'rgb(240, 255, 255)': '#F0FFFF', 'rgb(191, 62, 255)': '#BF3EFF', 'rgb(171, 130, 255)': '#AB82FF', 'rgb(205, 173, 0)': '#CDAD00', 'rgb(255, 48, 48)': '#FF3030', 'rgb(122, 197, 205)': '#7AC5CD', 'rgb(139, 87, 66)': '#8B5742', 'rgb(204, 204, 204)': '#CCCCCC', 'rgb(205, 129, 98)': '#CD8162', 'rgb(224, 224, 224)': '#E0E0E0', 'rgb(218, 165, 32)': '#DAA520', 'rgb(205, 145, 158)': '#CD919E', 'rgb(139, 62, 47)': '#8B3E2F', 'rgb(238, 122, 233)': '#EE7AE9', 'rgb(152, 251, 152)': '#98FB98', 'rgb(240, 128, 128)': '#F08080', 'rgb(162, 205, 90)': '#A2CD5A', 'rgb(79, 79, 79)': '#4F4F4F', 'rgb(169, 169, 169)': '#A9A9A9', 'rgb(255, 127, 0)': '#FF7F00', 'rgb(139, 28, 98)': '#8B1C62', 'rgb(253, 245, 230)': '#FDF5E6', 'rgb(141, 238, 238)': '#8DEEEE', 'rgb(238, 213, 210)': '#EED5D2', 'rgb(208, 32, 144)': '#D02090', 'rgb(0, 205, 0)': '#00CD00', 'rgb(139, 71, 137)': '#8B4789', 'rgb(205, 201, 165)': '#CDC9A5', 'rgb(0, 229, 238)': '#00E5EE', 'rgb(205, 140, 149)': '#CD8C95', 'rgb(124, 205, 124)': '#7CCD7C', 'rgb(220, 220, 220)': '#DCDCDC', 'rgb(238, 229, 222)': '#EEE5DE', 'rgb(87, 87, 87)': '#575757', 'rgb(70, 130, 180)': '#4682B4', 'rgb(205, 104, 137)': '#CD6889', 'rgb(15, 15, 15)': '#0F0F0F', 'rgb(38, 38, 38)': '#262626', 'rgb(238, 180, 34)': '#EEB422', 'rgb(205, 200, 177)': '#CDC8B1', 'rgb(238, 210, 238)': '#EED2EE', 'rgb(150, 150, 150)': '#969696', 'rgb(0, 255, 127)': '#00FF7F', 'rgb(139, 126, 102)': '#8B7E66', 'rgb(205, 175, 149)': '#CDAF95', 'rgb(152, 245, 255)': '#98F5FF', 'rgb(0, 250, 154)': '#00FA9A', 'rgb(120, 120, 120)': '#787878', 'rgb(238, 118, 33)': '#EE7621', 'rgb(128, 128, 0)': '#808000', 'rgb(139, 137, 112)': '#8B8970', 'rgb(107, 142, 35)': '#6B8E23', 'rgb(219, 219, 219)': '#DBDBDB', 'rgb(205, 205, 0)': '#CDCD00', 'rgb(180, 205, 205)': '#B4CDCD', 'rgb(115, 115, 115)': '#737373', 'rgb(131, 139, 139)': '#838B8B', 'rgb(0, 178, 238)': '#00B2EE', 'rgb(94, 94, 94)': '#5E5E5E', 'rgb(135, 135, 135)': '#878787', 'rgb(145, 145, 145)': '#919191', 'rgb(205, 0, 0)': '#CD0000', 'rgb(16, 78, 139)': '#104E8B', 'rgb(133, 133, 133)': '#858585', 'rgb(205, 38, 38)': '#CD2626', 'rgb(255, 193, 193)': '#FFC1C1', 'rgb(205, 183, 181)': '#CDB7B5', 'rgb(122, 55, 139)': '#7A378B', 'rgb(154, 192, 205)': '#9AC0CD', 'rgb(191, 239, 255)': '#BFEFFF', 'rgb(219, 112, 147)': '#DB7093', 'rgb(121, 205, 205)': '#79CDCD', 'rgb(238, 232, 170)': '#EEE8AA', 'rgb(102, 205, 0)': '#66CD00', 'rgb(255, 185, 15)': '#FFB90F', 'rgb(176, 196, 222)': '#B0C4DE', 'rgb(255, 236, 139)': '#FFEC8B', 'rgb(205, 105, 201)': '#CD69C9', 'rgb(250, 250, 250)': '#FAFAFA', 'rgb(245, 245, 220)': '#F5F5DC', 'rgb(238, 106, 80)': '#EE6A50', 'rgb(64, 64, 64)': '#404040', 'rgb(238, 220, 130)': '#EEDC82', 'white': '#000000', 'rgb(125, 38, 205)': '#7D26CD', 'rgb(205, 133, 63)': '#CD853F', 'rgb(139, 102, 139)': '#8B668B', 'rgb(71, 71, 71)': '#474747', 'rgb(118, 238, 0)': '#76EE00', 'rgb(192, 255, 62)': '#C0FF3E', 'rgb(0, 0, 139)': '#00008B', 'rgb(248, 248, 255)': '#F8F8FF', 'rgb(3, 3, 3)': '#030303', 'rgb(176, 226, 255)': '#B0E2FF', 'rgb(139, 105, 20)': '#8B6914', 'rgb(255, 105, 180)': '#FF69B4', 'rgb(124, 252, 0)': '#7CFC00', 'rgb(238, 238, 224)': '#EEEEE0', 'rgb(139, 69, 19)': '#8B4513', 'rgb(139, 0, 139)': '#8B008B', 'rgb(31, 31, 31)': '#1F1F1F', 'rgb(159, 182, 205)': '#9FB6CD', 'rgb(181, 181, 181)': '#B5B5B5', 'rgb(0, 245, 255)': '#00F5FF', 'rgb(105, 139, 105)': '#698B69', 'rgb(159, 121, 238)': '#9F79EE', 'rgb(205, 198, 115)': '#CDC673', 'rgb(77, 77, 77)': '#4D4D4D', 'rgb(139, 90, 0)': '#8B5A00', 'rgb(122, 122, 122)': '#7A7A7A', 'rgb(224, 238, 238)': '#E0EEEE', 'rgb(50, 129, 75)': '#32814B', 'rgb(202, 225, 255)': '#CAE1FF', 'rgb(255, 110, 180)': '#FF6EB4', 'rgb(238, 48, 167)': '#EE30A7', 'rgb(220, 20, 60)': '#DC143C', 'rgb(127, 255, 212)': '#7FFFD4', 'rgb(205, 179, 139)': '#CDB38B', 'rgb(28, 28, 28)': '#1C1C1C', 'rgb(229, 229, 229)': '#E5E5E5', 'rgb(47, 79, 79)': '#2F4F4F', 'rgb(59, 59, 59)': '#3B3B3B', 'rgb(69, 139, 116)': '#458B74', 'rgb(255, 211, 155)': '#FFD39B', 'rgb(139, 119, 101)': '#8B7765', 'rgb(238, 230, 133)': '#EEE685', 'rgb(10, 10, 10)': '#0A0A0A', 'rgb(144, 238, 144)': '#90EE90', 'rgb(99, 99, 99)': '#636363', 'rgb(188, 238, 104)': '#BCEE68', 'rgb(255, 231, 186)': '#FFE7BA', 'rgb(154, 50, 205)': '#9A32CD', 'rgb(46, 139, 87)': '#2E8B57', 'rgb(145, 44, 238)': '#912CEE', 'rgb(255, 240, 245)': '#FFF0F5', 'rgb(67, 110, 238)': '#436EEE', 'rgb(238, 180, 180)': '#EEB4B4', 'rgb(108, 166, 205)': '#6CA6CD', 'rgb(173, 173, 173)': '#ADADAD', 'rgb(176, 48, 96)': '#B03060', 'rgb(23, 23, 23)': '#171717', 'rgb(138, 138, 138)': '#8A8A8A', 'rgb(139, 137, 137)': '#8B8989', 'rgb(209, 193, 102)': '#D1C166', 'rgb(139, 123, 139)': '#8B7B8B', 'rgb(154, 255, 154)': '#9AFF9A', 'rgb(130, 130, 130)': '#828282', 'rgb(255, 99, 71)': '#FF6347', 'rgb(205, 183, 158)': '#CDB79E', 'rgb(205, 102, 29)': '#CD661D', 'rgb(128, 0, 0)': '#800000', 'rgb(0, 0, 255)': '#0000FF', 'rgb(255, 52, 179)': '#FF34B3', 'rgb(250, 235, 215)': '#FAEBD7', 'rgb(163, 163, 163)': '#A3A3A3', 'rgb(56, 56, 56)': '#383838', 'rgb(85, 26, 139)': '#551A8B', 'rgb(139, 58, 58)': '#8B3A3A', 'rgb(168, 168, 168)': '#A8A8A8', 'rgb(255, 225, 255)': '#FFE1FF', 'rgb(125, 125, 125)': '#7D7D7D', 'rgb(131, 111, 255)': '#836FFF', 'rgb(95, 158, 160)': '#5F9EA0', 'rgb(165, 42, 42)': '#A52A2A', 'rgb(245, 255, 250)': '#F5FFFA', 'rgb(255, 218, 185)': '#FFDAB9', 'rgb(255, 228, 225)': '#FFE4E1', 'rgb(216, 191, 216)': '#D8BFD8', 'rgb(139, 101, 8)': '#8B6508', 'rgb(205, 104, 57)': '#CD6839', 'rgb(255, 131, 250)': '#FF83FA', 'rgb(82, 82, 82)': '#525252', 'rgb(117, 117, 117)': '#757575', 'rgb(255, 165, 0)': '#FFA500', 'rgb(255, 64, 64)': '#FF4040', 'rgb(255, 165, 79)': '#FFA54F', 'rgb(205, 55, 0)': '#CD3700', 'rgb(188, 210, 238)': '#BCD2EE', 'rgb(238, 121, 159)': '#EE799F', 'rgb(5, 5, 5)': '#050505', 'rgb(217, 217, 217)': '#D9D9D9', 'rgb(205, 186, 150)': '#CDBA96', 'rgb(139, 131, 134)': '#8B8386', 'rgb(185, 211, 238)': '#B9D3EE', 'rgb(235, 235, 235)': '#EBEBEB', 'rgb(230, 230, 250)': '#E6E6FA', 'rgb(41, 41, 41)': '#292929', 'rgb(205, 92, 92)': '#CD5C5C', 'rgb(131, 139, 131)': '#838B83', 'rgb(123, 104, 238)': '#7B68EE', 'rgb(128, 0, 128)': '#800080', 'rgb(139, 26, 26)': '#8B1A1A', 'rgb(141, 182, 205)': '#8DB6CD', 'rgb(212, 212, 212)': '#D4D4D4', 'rgb(238, 162, 173)': '#EEA2AD', 'rgb(255, 255, 0)': '#FFFF00', 'rgb(192, 192, 192)': '#C0C0C0', 'rgb(139, 71, 93)': '#8B475D', 'rgb(0, 100, 0)': '#006400', 'rgb(139, 37, 0)': '#8B2500', 'rgb(198, 226, 255)': '#C6E2FF', 'rgb(24, 116, 205)': '#1874CD', 'rgb(178, 34, 34)': '#B22222', 'rgb(28, 134, 238)': '#1C86EE', 'rgb(255, 0, 255)': '#FF00FF', 'rgb(33, 33, 33)': '#212121', 'rgb(209, 238, 238)': '#D1EEEE', 'rgb(255, 127, 80)': '#FF7F50', 'rgb(0, 154, 205)': '#009ACD', 'rgb(255, 255, 224)': '#FFFFE0', 'rgb(75, 0, 130)': '#4B0082', 'rgb(160, 82, 45)': '#A0522D', 'rgb(138, 43, 226)': '#8A2BE2', 'rgb(238, 224, 229)': '#EEE0E5', 'rgb(106, 90, 205)': '#6A5ACD', 'rgb(227, 227, 227)': '#E3E3E3', 'rgb(255, 250, 250)': '#FFFAFA', 'rgb(255, 174, 185)': '#FFAEB9', 'rgb(205, 0, 205)': '#CD00CD', 'rgb(126, 126, 126)': '#7E7E7E', 'rgb(139, 10, 80)': '#8B0A50', 'rgb(186, 85, 211)': '#BA55D3', 'rgb(205, 133, 0)': '#CD8500', 'rgb(211, 211, 211)': '#D3D3D3', 'rgb(69, 69, 69)': '#454545', 'rgb(222, 222, 222)': '#DEDEDE', 'rgb(221, 160, 221)': '#DDA0DD', 'rgb(255, 255, 240)': '#FFFFF0', 'rgb(112, 112, 112)': '#707070', 'rgb(209, 95, 238)': '#D15FEE', 'rgb(0, 255, 0)': '#00FF00', 'rgb(238, 233, 191)': '#EEE9BF', 'rgb(92, 92, 92)': '#5C5C5C', 'rgb(205, 112, 84)': '#CD7054', 'rgb(255, 228, 196)': '#FFE4C4', 'rgb(255, 192, 203)': '#FFC0CB', 'rgb(238, 130, 238)': '#EE82EE', 'rgb(122, 103, 238)': '#7A67EE', 'rgb(238, 121, 66)': '#EE7942', 'rgb(102, 139, 139)': '#668B8B', 'rgb(250, 240, 230)': '#FAF0E6', 'rgb(247, 247, 247)': '#F7F7F7', 'rgb(32, 178, 170)': '#20B2AA', 'rgb(97, 97, 97)': '#616161', 'rgb(150, 205, 205)': '#96CDCD', 'rgb(158, 158, 158)': '#9E9E9E', 'rgb(238, 58, 140)': '#EE3A8C', 'rgb(255, 228, 181)': '#FFE4B5', 'rgb(0, 197, 205)': '#00C5CD', 'rgb(205, 96, 144)': '#CD6090', 'rgb(205, 16, 118)': '#CD1076', 'rgb(240, 240, 240)': '#F0F0F0', 'rgb(176, 224, 230)': '#B0E0E6', 'rgb(199, 21, 133)': '#C71585', 'rgb(238, 203, 173)': '#EECBAD', 'rgb(173, 255, 47)': '#ADFF2F', 'rgb(238, 174, 238)': '#EEAEEE', 'rgb(191, 191, 191)': '#BFBFBF', 'rgb(222, 184, 135)': '#DEB887', 'rgb(18, 18, 18)': '#121212', 'rgb(83, 134, 139)': '#53868B', 'rgb(139, 134, 130)': '#8B8682', 'rgb(142, 229, 238)': '#8EE5EE', 'rgb(0, 139, 0)': '#008B00', 'rgb(240, 255, 240)': '#F0FFF0', 'rgb(104, 34, 139)': '#68228B', 'rgb(193, 255, 193)': '#C1FFC1', 'rgb(0, 0, 0)': '#000000', 'rgb(139, 58, 98)': '#8B3A62', 'rgb(89, 89, 89)': '#595959', 'rgb(72, 118, 255)': '#4876FF', 'rgb(108, 123, 139)': '#6C7B8B', 'rgb(255, 20, 147)': '#FF1493', 'rgb(255, 250, 240)': '#FFFAF0', 'rgb(132, 112, 255)': '#8470FF', 'rgb(255, 62, 150)': '#FF3E96', 'rgb(139, 125, 107)': '#8B7D6B', 'rgb(64, 224, 208)': '#40E0D0', 'rgb(148, 0, 211)': '#9400D3', 'rgb(238, 106, 167)': '#EE6AA7', 'rgb(238, 44, 44)': '#EE2C2C', 'rgb(72, 209, 204)': '#48D1CC', 'rgb(205, 155, 29)': '#CD9B1D', 'rgb(139, 0, 0)': '#8B0000', 'rgb(238, 92, 66)': '#EE5C42', 'rgb(238, 216, 174)': '#EED8AE', 'rgb(65, 105, 225)': '#4169E1', 'rgb(0, 205, 102)': '#00CD66', 'rgb(96, 123, 139)': '#607B8B', 'rgb(210, 180, 140)': '#D2B48C', 'rgb(135, 206, 255)': '#87CEFF', 'rgb(252, 252, 252)': '#FCFCFC', 'rgb(61, 61, 61)': '#3D3D3D', 'rgb(205, 102, 0)': '#CD6600', 'rgb(58, 95, 205)': '#3A5FCD', 'rgb(30, 144, 255)': '#1E90FF', 'rgb(245, 245, 245)': '#F5F5F5', 'rgb(255, 130, 171)': '#FF82AB', 'rgb(60, 179, 113)': '#3CB371', 'rgb(139, 139, 122)': '#8B8B7A', 'rgb(139, 136, 120)': '#8B8878', 'rgb(139, 34, 82)': '#8B2252', 'rgb(238, 223, 204)': '#EEDFCC', 'rgb(238, 213, 183)': '#EED5B7', 'rgb(250, 250, 210)': '#FAFAD2', 'rgb(255, 250, 205)': '#FFFACD', 'rgb(39, 64, 139)': '#27408B', 'rgb(84, 139, 84)': '#548B54', 'rgb(238, 221, 130)': '#EEDD82', 'rgb(139, 95, 101)': '#8B5F65', 'rgb(210, 105, 30)': '#D2691E', 'rgb(139, 139, 0)': '#8B8B00', 'rgb(238, 149, 114)': '#EE9572', 'rgb(0, 255, 255)': '#00FFFF', 'rgb(71, 60, 139)': '#473C8B', 'rgb(207, 207, 207)': '#CFCFCF', 'rgb(153, 50, 204)': '#9932CC', 'rgb(36, 36, 36)': '#242424', 'rgb(153, 153, 153)': '#999999', 'rgb(250, 128, 114)': '#FA8072', 'rgb(174, 238, 238)': '#AEEEEE', 'rgb(139, 117, 0)': '#8B7500', 'rgb(139, 35, 35)': '#8B2323', 'rgb(92, 172, 238)': '#5CACEE', 'rgb(48, 48, 48)': '#303030', 'rgb(139, 129, 76)': '#8B814C', 'rgb(72, 61, 139)': '#483D8B', 'rgb(238, 169, 184)': '#EEA9B8', 'rgb(69, 139, 0)': '#458B00', 'rgb(0, 128, 128)': '#008080', 'rgb(255, 255, 255)': '#FFFFFF', 'rgb(244, 164, 96)': '#F4A460', 'rgb(154, 205, 50)': '#9ACD32', 'rgb(126, 192, 238)': '#7EC0EE', 'rgb(209, 209, 209)': '#D1D1D1', 'rgb(74, 112, 139)': '#4A708B', 'rgb(112, 128, 144)': '#708090', 'rgb(105, 139, 34)': '#698B22', 'rgb(110, 110, 110)': '#6E6E6E', 'rgb(179, 179, 179)': '#B3B3B3', 'rgb(205, 50, 120)': '#CD3278', 'rgb(119, 136, 153)': '#778899', 'rgb(139, 115, 85)': '#8B7355', 'rgb(255, 193, 37)': '#FFC125', 'rgb(224, 255, 255)': '#E0FFFF', 'rgb(66, 66, 66)': '#424242', 'rgb(193, 205, 193)': '#C1CDC1', 'rgb(0, 191, 255)': '#00BFFF', 'rgb(205, 205, 193)': '#CDCDC1', 'rgb(238, 238, 0)': '#EEEE00', 'rgb(255, 140, 105)': '#FF8C69', 'rgb(135, 206, 235)': '#87CEEB', 'rgb(238, 201, 0)': '#EEC900', 'rgb(238, 232, 205)': '#EEE8CD', 'rgb(0, 0, 205)': '#0000CD', 'rgb(238, 130, 98)': '#EE8262', 'rgb(155, 48, 255)': '#9B30FF', 'rgb(43, 43, 43)': '#2B2B2B', 'rgb(240, 248, 255)': '#F0F8FF', 'rgb(238, 0, 238)': '#EE00EE', 'rgb(128, 128, 128)': '#808080', 'rgb(193, 205, 205)': '#C1CDCD', 'rgb(50, 205, 50)': '#32CD32', 'rgb(201, 201, 201)': '#C9C9C9', 'rgb(255, 239, 219)': '#FFEFDB', 'rgb(196, 196, 196)': '#C4C4C4', 'rgb(135, 206, 250)': '#87CEFA', 'rgb(139, 134, 78)': '#8B864E', 'rgb(79, 148, 205)': '#4F94CD', 'rgb(74, 74, 74)': '#4A4A4A', 'rgb(255, 0, 0)': '#FF0000', 'rgb(233, 150, 122)': '#E9967A', 'rgb(205, 190, 112)': '#CDBE70', 'rgb(84, 255, 159)': '#54FF9F', 'rgb(205, 170, 125)': '#CDAA7D', 'rgb(127, 255, 0)': '#7FFF00', 'rgb(102, 102, 102)': '#666666', 'rgb(180, 238, 180)': '#B4EEB4', 'rgb(122, 139, 139)': '#7A8B8B', 'rgb(255, 140, 0)': '#FF8C00', 'rgb(205, 197, 191)': '#CDC5BF', 'rgb(140, 140, 140)': '#8C8C8C', 'rgb(199, 199, 199)': '#C7C7C7', 'rgb(202, 255, 112)': '#CAFF70', 'rgb(255, 245, 238)': '#FFF5EE', 'rgb(189, 183, 107)': '#BDB76B', 'rgb(0, 238, 118)': '#00EE76', 'rgb(180, 82, 205)': '#B452CD', 'rgb(255, 127, 36)': '#FF7F24', 'rgb(161, 161, 161)': '#A1A1A1'};
+var rgbtoname = {'rgb(255, 235, 205)': 'BlanchedAlmond', 'rgb(205, 155, 155)': 'RosyBrown3', 'rgb(0, 0, 128)': 'NavyBlue', 'rgb(179, 238, 58)': 'OliveDrab2', 'rgb(205, 51, 51)': 'brown3', 'rgb(118, 238, 198)': 'aquamarine2', 'rgb(214, 214, 214)': 'grey84', 'rgb(189, 189, 189)': 'grey74', 'rgb(139, 131, 120)': 'AntiqueWhite4', 'rgb(0, 238, 238)': 'cyan2', 'rgb(137, 104, 205)': 'MediumPurple3', 'rgb(85, 107, 47)': 'DarkOliveGreen', 'rgb(107, 107, 107)': 'grey42', 'rgb(205, 205, 180)': 'LightYellow3', 'rgb(218, 112, 214)': 'orchid', 'rgb(34, 139, 34)': 'ForestGreen', 'rgb(245, 222, 179)': 'wheat', 'rgb(139, 90, 43)': 'tan4', 'rgb(255, 246, 143)': 'khaki1', 'rgb(205, 91, 69)': 'coral3', 'rgb(255, 187, 255)': 'plum1', 'rgb(162, 181, 205)': 'LightSteelBlue3', 'rgb(238, 118, 0)': 'DarkOrange2', 'rgb(238, 154, 73)': 'tan2', 'rgb(194, 194, 194)': 'grey76', 'rgb(184, 134, 11)': 'DarkGoldenrod', 'rgb(93, 71, 139)': 'MediumPurple4', 'rgb(255, 182, 193)': 'LightPink', 'rgb(139, 69, 0)': 'DarkOrange4', 'rgb(105, 89, 205)': 'SlateBlue3', 'rgb(238, 173, 14)': 'DarkGoldenrod2', 'rgb(151, 255, 255)': 'DarkSlateGray1', 'rgb(205, 150, 205)': 'plum3', 'rgb(255, 69, 0)': 'OrangeRed1', 'rgb(0, 134, 139)': 'turquoise4', 'rgb(0, 238, 0)': 'green2', 'rgb(255, 106, 106)': 'IndianRed1', 'rgb(186, 186, 186)': 'grey73', 'rgb(143, 188, 143)': 'DarkSeaGreen', 'rgb(139, 99, 108)': 'pink4', 'rgb(224, 102, 255)': 'MediumOrchid1', 'rgb(100, 149, 237)': 'CornflowerBlue', 'rgb(0, 139, 69)': 'SpringGreen4', 'rgb(178, 223, 238)': 'LightBlue2', 'rgb(205, 192, 176)': 'AntiqueWhite3', 'rgb(0, 206, 209)': 'DarkTurquoise', 'rgb(104, 131, 139)': 'LightBlue4', 'rgb(155, 205, 155)': 'DarkSeaGreen3', 'rgb(139, 76, 57)': 'salmon4', 'rgb(205, 149, 12)': 'DarkGoldenrod3', 'rgb(67, 205, 128)': 'SeaGreen3', 'rgb(54, 54, 54)': 'grey21', 'rgb(0, 205, 205)': 'cyan3', 'rgb(99, 184, 255)': 'SteelBlue1', 'rgb(238, 233, 233)': 'snow2', 'rgb(205, 201, 201)': 'snow3', 'rgb(156, 156, 156)': 'grey61', 'rgb(139, 125, 123)': 'MistyRose4', 'rgb(148, 148, 148)': 'grey58', 'rgb(102, 205, 170)': 'MediumAquamarine', 'rgb(139, 54, 38)': 'tomato4', 'rgb(255, 181, 197)': 'pink1', 'rgb(173, 216, 230)': 'LightBlue', 'rgb(46, 46, 46)': 'grey18', 'rgb(164, 211, 238)': 'LightSkyBlue2', 'rgb(232, 232, 232)': 'grey91', 'rgb(105, 105, 105)': 'grey41', 'rgb(205, 193, 197)': 'LavenderBlush3', 'rgb(20, 20, 20)': 'grey8', 'rgb(139, 139, 131)': 'ivory4', 'rgb(255, 114, 86)': 'coral1', 'rgb(0, 104, 139)': 'DeepSkyBlue4', 'rgb(205, 41, 144)': 'maroon3', 'rgb(127, 127, 127)': 'grey50', 'rgb(255, 239, 213)': 'PapayaWhip', 'rgb(238, 238, 209)': 'LightYellow2', 'rgb(242, 242, 242)': 'grey95', 'rgb(240, 230, 140)': 'khaki', 'rgb(238, 207, 161)': 'NavajoWhite2', 'rgb(25, 25, 112)': 'MidnightBlue', 'rgb(205, 79, 57)': 'tomato3', 'rgb(84, 84, 84)': 'grey33', 'rgb(110, 139, 61)': 'DarkOliveGreen4', 'rgb(255, 215, 0)': 'gold1', 'rgb(143, 143, 143)': 'grey56', 'rgb(238, 59, 59)': 'brown2', 'rgb(166, 166, 166)': 'grey65', 'rgb(255, 160, 122)': 'LightSalmon1', 'rgb(51, 51, 51)': 'grey20', 'rgb(224, 238, 224)': 'honeydew2', 'rgb(139, 121, 94)': 'NavajoWhite4', 'rgb(110, 123, 139)': 'LightSteelBlue4', 'rgb(26, 26, 26)': 'grey10', 'rgb(238, 99, 99)': 'IndianRed2', 'rgb(178, 58, 238)': 'DarkOrchid2', 'rgb(238, 197, 145)': 'burlywood2', 'rgb(171, 171, 171)': 'grey67', 'rgb(237, 237, 237)': 'grey93', 'rgb(238, 0, 0)': 'red2', 'rgb(139, 71, 38)': 'sienna4', 'rgb(82, 139, 139)': 'DarkSlateGray4', 'rgb(139, 105, 105)': 'RosyBrown4', 'rgb(160, 32, 240)': 'purple', 'rgb(78, 238, 148)': 'SeaGreen2', 'rgb(205, 85, 85)': 'IndianRed3', 'rgb(205, 181, 205)': 'thistle3', 'rgb(184, 184, 184)': 'grey72', 'rgb(255, 222, 173)': 'NavajoWhite1', 'rgb(8, 8, 8)': 'grey3', 'rgb(255, 248, 220)': 'cornsilk1', 'rgb(175, 238, 238)': 'PaleTurquoise', 'rgb(255, 130, 71)': 'sienna1', 'rgb(13, 13, 13)': 'grey5', 'rgb(0, 139, 139)': 'DarkCyan', 'rgb(187, 255, 255)': 'PaleTurquoise1', 'rgb(147, 112, 219)': 'MediumPurple', 'rgb(0, 128, 0)': 'green', 'rgb(238, 64, 0)': 'OrangeRed2', 'rgb(238, 18, 137)': 'DeepPink2', 'rgb(54, 100, 139)': 'SteelBlue4', 'rgb(176, 176, 176)': 'grey69', 'rgb(0, 0, 238)': 'blue2', 'rgb(238, 154, 0)': 'orange2', 'rgb(188, 143, 143)': 'RosyBrown', 'rgb(240, 255, 255)': 'azure1', 'rgb(191, 62, 255)': 'DarkOrchid1', 'rgb(171, 130, 255)': 'MediumPurple1', 'rgb(205, 173, 0)': 'gold3', 'rgb(255, 48, 48)': 'firebrick1', 'rgb(122, 197, 205)': 'CadetBlue3', 'rgb(139, 87, 66)': 'LightSalmon4', 'rgb(204, 204, 204)': 'grey80', 'rgb(205, 129, 98)': 'LightSalmon3', 'rgb(224, 224, 224)': 'grey88', 'rgb(218, 165, 32)': 'goldenrod', 'rgb(205, 145, 158)': 'pink3', 'rgb(139, 62, 47)': 'coral4', 'rgb(238, 122, 233)': 'orchid2', 'rgb(152, 251, 152)': 'PaleGreen', 'rgb(240, 128, 128)': 'LightCoral', 'rgb(162, 205, 90)': 'DarkOliveGreen3', 'rgb(79, 79, 79)': 'grey31', 'rgb(169, 169, 169)': 'DarkGrey', 'rgb(255, 127, 0)': 'DarkOrange1', 'rgb(139, 28, 98)': 'maroon4', 'rgb(253, 245, 230)': 'OldLace', 'rgb(141, 238, 238)': 'DarkSlateGray2', 'rgb(238, 213, 210)': 'MistyRose2', 'rgb(208, 32, 144)': 'VioletRed', 'rgb(0, 205, 0)': 'green3', 'rgb(139, 71, 137)': 'orchid4', 'rgb(205, 201, 165)': 'LemonChiffon3', 'rgb(0, 229, 238)': 'turquoise2', 'rgb(205, 140, 149)': 'LightPink3', 'rgb(124, 205, 124)': 'PaleGreen3', 'rgb(220, 220, 220)': 'gainsboro', 'rgb(238, 229, 222)': 'seashell2', 'rgb(87, 87, 87)': 'grey34', 'rgb(70, 130, 180)': 'SteelBlue', 'rgb(205, 104, 137)': 'PaleVioletRed3', 'rgb(15, 15, 15)': 'grey6', 'rgb(38, 38, 38)': 'grey15', 'rgb(238, 180, 34)': 'goldenrod2', 'rgb(205, 200, 177)': 'cornsilk3', 'rgb(238, 210, 238)': 'thistle2', 'rgb(150, 150, 150)': 'grey59', 'rgb(0, 255, 127)': 'SpringGreen1', 'rgb(139, 126, 102)': 'wheat4', 'rgb(205, 175, 149)': 'PeachPuff3', 'rgb(152, 245, 255)': 'CadetBlue1', 'rgb(0, 250, 154)': 'MediumSpringGreen', 'rgb(120, 120, 120)': 'grey47', 'rgb(238, 118, 33)': 'chocolate2', 'rgb(128, 128, 0)': 'olive', 'rgb(139, 137, 112)': 'LemonChiffon4', 'rgb(107, 142, 35)': 'OliveDrab', 'rgb(219, 219, 219)': 'grey86', 'rgb(205, 205, 0)': 'yellow3', 'rgb(180, 205, 205)': 'LightCyan3', 'rgb(115, 115, 115)': 'grey45', 'rgb(131, 139, 139)': 'azure4', 'rgb(0, 178, 238)': 'DeepSkyBlue2', 'rgb(94, 94, 94)': 'grey37', 'rgb(135, 135, 135)': 'grey53', 'rgb(145, 145, 145)': 'grey57', 'rgb(205, 0, 0)': 'red3', 'rgb(16, 78, 139)': 'DodgerBlue4', 'rgb(133, 133, 133)': 'grey52', 'rgb(205, 38, 38)': 'firebrick3', 'rgb(255, 193, 193)': 'RosyBrown1', 'rgb(205, 183, 181)': 'MistyRose3', 'rgb(122, 55, 139)': 'MediumOrchid4', 'rgb(154, 192, 205)': 'LightBlue3', 'rgb(191, 239, 255)': 'LightBlue1', 'rgb(219, 112, 147)': 'PaleVioletRed', 'rgb(121, 205, 205)': 'DarkSlateGray3', 'rgb(238, 232, 170)': 'PaleGoldenrod', 'rgb(102, 205, 0)': 'chartreuse3', 'rgb(255, 185, 15)': 'DarkGoldenrod1', 'rgb(176, 196, 222)': 'LightSteelBlue', 'rgb(255, 236, 139)': 'LightGoldenrod1', 'rgb(205, 105, 201)': 'orchid3', 'rgb(250, 250, 250)': 'grey98', 'rgb(245, 245, 220)': 'beige', 'rgb(238, 106, 80)': 'coral2', 'rgb(64, 64, 64)': 'grey25', 'rgb(238, 220, 130)': 'LightGoldenrod2', 'white': 'none', 'rgb(125, 38, 205)': 'purple3', 'rgb(205, 133, 63)': 'tan3', 'rgb(139, 102, 139)': 'plum4', 'rgb(71, 71, 71)': 'grey28', 'rgb(118, 238, 0)': 'chartreuse2', 'rgb(192, 255, 62)': 'OliveDrab1', 'rgb(0, 0, 139)': 'DarkBlue', 'rgb(248, 248, 255)': 'GhostWhite', 'rgb(3, 3, 3)': 'grey1', 'rgb(176, 226, 255)': 'LightSkyBlue1', 'rgb(139, 105, 20)': 'goldenrod4', 'rgb(255, 105, 180)': 'HotPink', 'rgb(124, 252, 0)': 'LawnGreen', 'rgb(238, 238, 224)': 'ivory2', 'rgb(139, 69, 19)': 'SaddleBrown', 'rgb(139, 0, 139)': 'magenta4', 'rgb(31, 31, 31)': 'grey12', 'rgb(159, 182, 205)': 'SlateGray3', 'rgb(181, 181, 181)': 'grey71', 'rgb(0, 245, 255)': 'turquoise1', 'rgb(105, 139, 105)': 'DarkSeaGreen4', 'rgb(159, 121, 238)': 'MediumPurple2', 'rgb(205, 198, 115)': 'khaki3', 'rgb(77, 77, 77)': 'grey30', 'rgb(139, 90, 0)': 'orange4', 'rgb(122, 122, 122)': 'grey48', 'rgb(224, 238, 238)': 'azure2', 'rgb(50, 129, 75)': 'MediumForestGreen', 'rgb(202, 225, 255)': 'LightSteelBlue1', 'rgb(255, 110, 180)': 'HotPink1', 'rgb(238, 48, 167)': 'maroon2', 'rgb(220, 20, 60)': 'crimson', 'rgb(127, 255, 212)': 'aquamarine1', 'rgb(205, 179, 139)': 'NavajoWhite3', 'rgb(28, 28, 28)': 'grey11', 'rgb(229, 229, 229)': 'grey90', 'rgb(47, 79, 79)': 'DarkSlateGrey', 'rgb(59, 59, 59)': 'grey23', 'rgb(69, 139, 116)': 'aquamarine4', 'rgb(255, 211, 155)': 'burlywood1', 'rgb(139, 119, 101)': 'PeachPuff4', 'rgb(238, 230, 133)': 'khaki2', 'rgb(10, 10, 10)': 'grey4', 'rgb(144, 238, 144)': 'PaleGreen2', 'rgb(99, 99, 99)': 'grey39', 'rgb(188, 238, 104)': 'DarkOliveGreen2', 'rgb(255, 231, 186)': 'wheat1', 'rgb(154, 50, 205)': 'DarkOrchid3', 'rgb(46, 139, 87)': 'SeaGreen4', 'rgb(145, 44, 238)': 'purple2', 'rgb(255, 240, 245)': 'LavenderBlush1', 'rgb(67, 110, 238)': 'RoyalBlue2', 'rgb(238, 180, 180)': 'RosyBrown2', 'rgb(108, 166, 205)': 'SkyBlue3', 'rgb(173, 173, 173)': 'grey68', 'rgb(176, 48, 96)': 'maroon', 'rgb(23, 23, 23)': 'grey9', 'rgb(138, 138, 138)': 'grey54', 'rgb(139, 137, 137)': 'snow4', 'rgb(209, 193, 102)': 'MediumGoldenRod', 'rgb(139, 123, 139)': 'thistle4', 'rgb(154, 255, 154)': 'PaleGreen1', 'rgb(130, 130, 130)': 'grey51', 'rgb(255, 99, 71)': 'tomato1', 'rgb(205, 183, 158)': 'bisque3', 'rgb(205, 102, 29)': 'chocolate3', 'rgb(128, 0, 0)': 'maroon', 'rgb(0, 0, 255)': 'blue1', 'rgb(255, 52, 179)': 'maroon1', 'rgb(250, 235, 215)': 'AntiqueWhite', 'rgb(163, 163, 163)': 'grey64', 'rgb(56, 56, 56)': 'grey22', 'rgb(85, 26, 139)': 'purple4', 'rgb(139, 58, 58)': 'IndianRed4', 'rgb(168, 168, 168)': 'grey66', 'rgb(255, 225, 255)': 'thistle1', 'rgb(125, 125, 125)': 'grey49', 'rgb(131, 111, 255)': 'SlateBlue1', 'rgb(95, 158, 160)': 'CadetBlue', 'rgb(165, 42, 42)': 'brown', 'rgb(245, 255, 250)': 'MintCream', 'rgb(255, 218, 185)': 'PeachPuff1', 'rgb(255, 228, 225)': 'MistyRose1', 'rgb(216, 191, 216)': 'thistle', 'rgb(139, 101, 8)': 'DarkGoldenrod4', 'rgb(205, 104, 57)': 'sienna3', 'rgb(255, 131, 250)': 'orchid1', 'rgb(82, 82, 82)': 'grey32', 'rgb(117, 117, 117)': 'grey46', 'rgb(255, 165, 0)': 'orange1', 'rgb(255, 64, 64)': 'brown1', 'rgb(255, 165, 79)': 'tan1', 'rgb(205, 55, 0)': 'OrangeRed3', 'rgb(188, 210, 238)': 'LightSteelBlue2', 'rgb(238, 121, 159)': 'PaleVioletRed2', 'rgb(5, 5, 5)': 'grey2', 'rgb(217, 217, 217)': 'grey85', 'rgb(205, 186, 150)': 'wheat3', 'rgb(139, 131, 134)': 'LavenderBlush4', 'rgb(185, 211, 238)': 'SlateGray2', 'rgb(235, 235, 235)': 'grey92', 'rgb(230, 230, 250)': 'lavender', 'rgb(41, 41, 41)': 'grey16', 'rgb(205, 92, 92)': 'IndianRed', 'rgb(131, 139, 131)': 'honeydew4', 'rgb(123, 104, 238)': 'MediumSlateBlue', 'rgb(128, 0, 128)': 'purple', 'rgb(139, 26, 26)': 'firebrick4', 'rgb(141, 182, 205)': 'LightSkyBlue3', 'rgb(212, 212, 212)': 'grey83', 'rgb(238, 162, 173)': 'LightPink2', 'rgb(255, 255, 0)': 'yellow1', 'rgb(192, 192, 192)': 'silver', 'rgb(139, 71, 93)': 'PaleVioletRed4', 'rgb(0, 100, 0)': 'DarkGreen', 'rgb(139, 37, 0)': 'OrangeRed4', 'rgb(198, 226, 255)': 'SlateGray1', 'rgb(24, 116, 205)': 'DodgerBlue3', 'rgb(178, 34, 34)': 'firebrick', 'rgb(28, 134, 238)': 'DodgerBlue2', 'rgb(255, 0, 255)': 'magenta1', 'rgb(33, 33, 33)': 'grey13', 'rgb(209, 238, 238)': 'LightCyan2', 'rgb(255, 127, 80)': 'coral', 'rgb(0, 154, 205)': 'DeepSkyBlue3', 'rgb(255, 255, 224)': 'LightYellow1', 'rgb(75, 0, 130)': 'indigo', 'rgb(160, 82, 45)': 'sienna', 'rgb(138, 43, 226)': 'BlueViolet', 'rgb(238, 224, 229)': 'LavenderBlush2', 'rgb(106, 90, 205)': 'SlateBlue', 'rgb(227, 227, 227)': 'grey89', 'rgb(255, 250, 250)': 'snow1', 'rgb(255, 174, 185)': 'LightPink1', 'rgb(205, 0, 205)': 'magenta3', 'rgb(126, 126, 126)': 'gray', 'rgb(139, 10, 80)': 'DeepPink4', 'rgb(186, 85, 211)': 'MediumOrchid', 'rgb(205, 133, 0)': 'orange3', 'rgb(211, 211, 211)': 'LightGrey', 'rgb(69, 69, 69)': 'grey27', 'rgb(222, 222, 222)': 'grey87', 'rgb(221, 160, 221)': 'plum', 'rgb(255, 255, 240)': 'ivory1', 'rgb(112, 112, 112)': 'grey44', 'rgb(209, 95, 238)': 'MediumOrchid2', 'rgb(0, 255, 0)': 'lime', 'rgb(238, 233, 191)': 'LemonChiffon2', 'rgb(92, 92, 92)': 'grey36', 'rgb(205, 112, 84)': 'salmon3', 'rgb(255, 228, 196)': 'bisque1', 'rgb(255, 192, 203)': 'pink', 'rgb(238, 130, 238)': 'violet', 'rgb(122, 103, 238)': 'SlateBlue2', 'rgb(238, 121, 66)': 'sienna2', 'rgb(102, 139, 139)': 'PaleTurquoise4', 'rgb(250, 240, 230)': 'linen', 'rgb(247, 247, 247)': 'grey97', 'rgb(32, 178, 170)': 'LightSeaGreen', 'rgb(97, 97, 97)': 'grey38', 'rgb(150, 205, 205)': 'PaleTurquoise3', 'rgb(158, 158, 158)': 'grey62', 'rgb(238, 58, 140)': 'VioletRed2', 'rgb(255, 228, 181)': 'moccasin', 'rgb(0, 197, 205)': 'turquoise3', 'rgb(205, 96, 144)': 'HotPink3', 'rgb(205, 16, 118)': 'DeepPink3', 'rgb(240, 240, 240)': 'grey94', 'rgb(176, 224, 230)': 'PowderBlue', 'rgb(199, 21, 133)': 'MediumVioletRed', 'rgb(238, 203, 173)': 'PeachPuff2', 'rgb(173, 255, 47)': 'GreenYellow', 'rgb(238, 174, 238)': 'plum2', 'rgb(191, 191, 191)': 'grey75', 'rgb(222, 184, 135)': 'burlywood', 'rgb(18, 18, 18)': 'grey7', 'rgb(83, 134, 139)': 'CadetBlue4', 'rgb(139, 134, 130)': 'seashell4', 'rgb(142, 229, 238)': 'CadetBlue2', 'rgb(0, 139, 0)': 'green4', 'rgb(240, 255, 240)': 'honeydew1', 'rgb(104, 34, 139)': 'DarkOrchid4', 'rgb(193, 255, 193)': 'DarkSeaGreen1', 'rgb(0, 0, 0)': 'opaque', 'rgb(139, 58, 98)': 'HotPink4', 'rgb(89, 89, 89)': 'grey35', 'rgb(72, 118, 255)': 'RoyalBlue1', 'rgb(108, 123, 139)': 'SlateGray4', 'rgb(255, 20, 147)': 'DeepPink1', 'rgb(255, 250, 240)': 'FloralWhite', 'rgb(132, 112, 255)': 'LightSlateBlue', 'rgb(255, 62, 150)': 'VioletRed1', 'rgb(139, 125, 107)': 'bisque4', 'rgb(64, 224, 208)': 'turquoise', 'rgb(148, 0, 211)': 'DarkViolet', 'rgb(238, 106, 167)': 'HotPink2', 'rgb(238, 44, 44)': 'firebrick2', 'rgb(72, 209, 204)': 'MediumTurquoise', 'rgb(205, 155, 29)': 'goldenrod3', 'rgb(139, 0, 0)': 'red4', 'rgb(238, 92, 66)': 'tomato2', 'rgb(238, 216, 174)': 'wheat2', 'rgb(65, 105, 225)': 'RoyalBlue', 'rgb(0, 205, 102)': 'SpringGreen3', 'rgb(96, 123, 139)': 'LightSkyBlue4', 'rgb(210, 180, 140)': 'tan', 'rgb(135, 206, 255)': 'SkyBlue1', 'rgb(252, 252, 252)': 'grey99', 'rgb(61, 61, 61)': 'grey24', 'rgb(205, 102, 0)': 'DarkOrange3', 'rgb(58, 95, 205)': 'RoyalBlue3', 'rgb(30, 144, 255)': 'DodgerBlue1', 'rgb(245, 245, 245)': 'WhiteSmoke', 'rgb(255, 130, 171)': 'PaleVioletRed1', 'rgb(60, 179, 113)': 'MediumSeaGreen', 'rgb(139, 139, 122)': 'LightYellow4', 'rgb(139, 136, 120)': 'cornsilk4', 'rgb(139, 34, 82)': 'VioletRed4', 'rgb(238, 223, 204)': 'AntiqueWhite2', 'rgb(238, 213, 183)': 'bisque2', 'rgb(250, 250, 210)': 'LightGoldenrodYellow', 'rgb(255, 250, 205)': 'LemonChiffon1', 'rgb(39, 64, 139)': 'RoyalBlue4', 'rgb(84, 139, 84)': 'PaleGreen4', 'rgb(238, 221, 130)': 'LightGoldenrod', 'rgb(139, 95, 101)': 'LightPink4', 'rgb(210, 105, 30)': 'chocolate', 'rgb(139, 139, 0)': 'yellow4', 'rgb(238, 149, 114)': 'LightSalmon2', 'rgb(0, 255, 255)': 'cyan1', 'rgb(71, 60, 139)': 'SlateBlue4', 'rgb(207, 207, 207)': 'grey81', 'rgb(153, 50, 204)': 'DarkOrchid', 'rgb(36, 36, 36)': 'grey14', 'rgb(153, 153, 153)': 'grey60', 'rgb(250, 128, 114)': 'salmon', 'rgb(174, 238, 238)': 'PaleTurquoise2', 'rgb(139, 117, 0)': 'gold4', 'rgb(139, 35, 35)': 'brown4', 'rgb(92, 172, 238)': 'SteelBlue2', 'rgb(48, 48, 48)': 'grey19', 'rgb(139, 129, 76)': 'LightGoldenrod4', 'rgb(72, 61, 139)': 'DarkSlateBlue', 'rgb(238, 169, 184)': 'pink2', 'rgb(69, 139, 0)': 'chartreuse4', 'rgb(0, 128, 128)': 'teal', 'rgb(255, 255, 255)': 'grey100', 'rgb(244, 164, 96)': 'SandyBrown', 'rgb(154, 205, 50)': 'YellowGreen', 'rgb(126, 192, 238)': 'SkyBlue2', 'rgb(209, 209, 209)': 'grey82', 'rgb(74, 112, 139)': 'SkyBlue4', 'rgb(112, 128, 144)': 'SlateGrey', 'rgb(105, 139, 34)': 'OliveDrab4', 'rgb(110, 110, 110)': 'grey43', 'rgb(179, 179, 179)': 'grey70', 'rgb(205, 50, 120)': 'VioletRed3', 'rgb(119, 136, 153)': 'LightSlateGrey', 'rgb(139, 115, 85)': 'burlywood4', 'rgb(255, 193, 37)': 'goldenrod1', 'rgb(224, 255, 255)': 'LightCyan1', 'rgb(66, 66, 66)': 'grey26', 'rgb(193, 205, 193)': 'honeydew3', 'rgb(0, 191, 255)': 'DeepSkyBlue1', 'rgb(205, 205, 193)': 'ivory3', 'rgb(238, 238, 0)': 'yellow2', 'rgb(255, 140, 105)': 'salmon1', 'rgb(135, 206, 235)': 'SkyBlue', 'rgb(238, 201, 0)': 'gold2', 'rgb(238, 232, 205)': 'cornsilk2', 'rgb(0, 0, 205)': 'MediumBlue', 'rgb(238, 130, 98)': 'salmon2', 'rgb(155, 48, 255)': 'purple1', 'rgb(43, 43, 43)': 'grey17', 'rgb(240, 248, 255)': 'AliceBlue', 'rgb(238, 0, 238)': 'magenta2', 'rgb(128, 128, 128)': 'fractal', 'rgb(193, 205, 205)': 'azure3', 'rgb(50, 205, 50)': 'LimeGreen', 'rgb(201, 201, 201)': 'grey79', 'rgb(255, 239, 219)': 'AntiqueWhite1', 'rgb(196, 196, 196)': 'grey77', 'rgb(135, 206, 250)': 'LightSkyBlue', 'rgb(139, 134, 78)': 'khaki4', 'rgb(79, 148, 205)': 'SteelBlue3', 'rgb(74, 74, 74)': 'grey29', 'rgb(255, 0, 0)': 'red1', 'rgb(233, 150, 122)': 'DarkSalmon', 'rgb(205, 190, 112)': 'LightGoldenrod3', 'rgb(84, 255, 159)': 'SeaGreen1', 'rgb(205, 170, 125)': 'burlywood3', 'rgb(127, 255, 0)': 'chartreuse1', 'rgb(102, 102, 102)': 'grey40', 'rgb(180, 238, 180)': 'DarkSeaGreen2', 'rgb(122, 139, 139)': 'LightCyan4', 'rgb(255, 140, 0)': 'DarkOrange', 'rgb(205, 197, 191)': 'seashell3', 'rgb(140, 140, 140)': 'grey55', 'rgb(199, 199, 199)': 'grey78', 'rgb(202, 255, 112)': 'DarkOliveGreen1', 'rgb(255, 245, 238)': 'seashell1', 'rgb(189, 183, 107)': 'DarkKhaki', 'rgb(0, 238, 118)': 'SpringGreen2', 'rgb(180, 82, 205)': 'MediumOrchid3', 'rgb(255, 127, 36)': 'chocolate1', 'rgb(161, 161, 161)': 'grey63'};
+var hextorgb = {'#EE1289': 'rgb(238, 18, 137)', '#EE8262': 'rgb(238, 130, 98)', '#C4C4C4': 'rgb(196, 196, 196)', '#556B2F': 'rgb(85, 107, 47)', '#FF8C00': 'rgb(255, 140, 0)', '#8B7B8B': 'rgb(139, 123, 139)', '#0000EE': 'rgb(0, 0, 238)', '#EED5D2': 'rgb(238, 213, 210)', '#BA55D3': 'rgb(186, 85, 211)', '#FFF5EE': 'rgb(255, 245, 238)', '#912CEE': 'rgb(145, 44, 238)', '#2F4F4F': 'rgb(47, 79, 79)', '#32814B': 'rgb(50, 129, 75)', '#D15FEE': 'rgb(209, 95, 238)', '#F0FFF0': 'rgb(240, 255, 240)', '#B23AEE': 'rgb(178, 58, 238)', '#8B7765': 'rgb(139, 119, 101)', '#3D3D3D': 'rgb(61, 61, 61)', '#54FF9F': 'rgb(84, 255, 159)', '#636363': 'rgb(99, 99, 99)', '#8B8386': 'rgb(139, 131, 134)', '#FF4040': 'rgb(255, 64, 64)', '#EEA9B8': 'rgb(238, 169, 184)', '#C2C2C2': 'rgb(194, 194, 194)', '#800080': 'rgb(128, 0, 128)', '#545454': 'rgb(84, 84, 84)', '#EE3A8C': 'rgb(238, 58, 140)', '#8A8A8A': 'rgb(138, 138, 138)', '#FF00FF': 'rgb(255, 0, 255)', '#436EEE': 'rgb(67, 110, 238)', '#8B864E': 'rgb(139, 134, 78)', '#0A0A0A': 'rgb(10, 10, 10)', '#808000': 'rgb(128, 128, 0)', '#E3E3E3': 'rgb(227, 227, 227)', '#1874CD': 'rgb(24, 116, 205)', '#BCD2EE': 'rgb(188, 210, 238)', '#A9A9A9': 'rgb(169, 169, 169)', '#F4A460': 'rgb(244, 164, 96)', '#FF3030': 'rgb(255, 48, 48)', '#FFEBCD': 'rgb(255, 235, 205)', '#B0C4DE': 'rgb(176, 196, 222)', '#00CDCD': 'rgb(0, 205, 205)', '#C0FF3E': 'rgb(192, 255, 62)', '#FFD700': 'rgb(255, 215, 0)', '#242424': 'rgb(36, 36, 36)', '#8B2252': 'rgb(139, 34, 82)', '#4EEE94': 'rgb(78, 238, 148)', '#CD3278': 'rgb(205, 50, 120)', '#00E5EE': 'rgb(0, 229, 238)', '#CD853F': 'rgb(205, 133, 63)', '#ADD8E6': 'rgb(173, 216, 230)', '#C7C7C7': 'rgb(199, 199, 199)', '#CD2990': 'rgb(205, 41, 144)', '#EEE5DE': 'rgb(238, 229, 222)', '#66CD00': 'rgb(102, 205, 0)', '#878787': 'rgb(135, 135, 135)', '#FFA54F': 'rgb(255, 165, 79)', '#A2B5CD': 'rgb(162, 181, 205)', '#BC8F8F': 'rgb(188, 143, 143)', '#C9C9C9': 'rgb(201, 201, 201)', '#D1C166': 'rgb(209, 193, 102)', '#8B2323': 'rgb(139, 35, 35)', '#B3EE3A': 'rgb(179, 238, 58)', '#EEEED1': 'rgb(238, 238, 209)', '#AEEEEE': 'rgb(174, 238, 238)', '#BDBDBD': 'rgb(189, 189, 189)', '#FF7F00': 'rgb(255, 127, 0)', '#FFC0CB': 'rgb(255, 192, 203)', '#EE3B3B': 'rgb(238, 59, 59)', '#CDC8B1': 'rgb(205, 200, 177)', '#CDB38B': 'rgb(205, 179, 139)', '#CDBA96': 'rgb(205, 186, 150)', '#B4EEB4': 'rgb(180, 238, 180)', '#40E0D0': 'rgb(64, 224, 208)', '#8B795E': 'rgb(139, 121, 94)', '#27408B': 'rgb(39, 64, 139)', '#424242': 'rgb(66, 66, 66)', '#CDB7B5': 'rgb(205, 183, 181)', '#CAE1FF': 'rgb(202, 225, 255)', '#F0FFFF': 'rgb(240, 255, 255)', '#2E8B57': 'rgb(46, 139, 87)', '#87CEEB': 'rgb(135, 206, 235)', '#CD00CD': 'rgb(205, 0, 205)', '#CDAA7D': 'rgb(205, 170, 125)', '#836FFF': 'rgb(131, 111, 255)', '#ABABAB': 'rgb(171, 171, 171)', '#EEB4B4': 'rgb(238, 180, 180)', '#8B7355': 'rgb(139, 115, 85)', '#F0E68C': 'rgb(240, 230, 140)', '#CDCDB4': 'rgb(205, 205, 180)', '#4D4D4D': 'rgb(77, 77, 77)', '#B8B8B8': 'rgb(184, 184, 184)', '#B4CDCD': 'rgb(180, 205, 205)', '#008B8B': 'rgb(0, 139, 139)', '#828282': 'rgb(130, 130, 130)', '#00EEEE': 'rgb(0, 238, 238)', '#708090': 'rgb(112, 128, 144)', '#9AFF9A': 'rgb(154, 255, 154)', '#FFA07A': 'rgb(255, 160, 122)', '#EBEBEB': 'rgb(235, 235, 235)', '#FFB5C5': 'rgb(255, 181, 197)', '#00688B': 'rgb(0, 104, 139)', '#DBDBDB': 'rgb(219, 219, 219)', '#191970': 'rgb(25, 25, 112)', '#FF83FA': 'rgb(255, 131, 250)', '#A1A1A1': 'rgb(161, 161, 161)', '#838B8B': 'rgb(131, 139, 139)', '#FFA500': 'rgb(255, 165, 0)', '#00FF7F': 'rgb(0, 255, 127)', '#EEAD0E': 'rgb(238, 173, 14)', '#B03060': 'rgb(176, 48, 96)', '#96CDCD': 'rgb(150, 205, 205)', '#CD3333': 'rgb(205, 51, 51)', '#CDBE70': 'rgb(205, 190, 112)', '#7CCD7C': 'rgb(124, 205, 124)', '#97FFFF': 'rgb(151, 255, 255)', '#DAA520': 'rgb(218, 165, 32)', '#8B3A3A': 'rgb(139, 58, 58)', '#6B6B6B': 'rgb(107, 107, 107)', '#FFFAF0': 'rgb(255, 250, 240)', '#757575': 'rgb(117, 117, 117)', '#BFBFBF': 'rgb(191, 191, 191)', '#00EE76': 'rgb(0, 238, 118)', '#FFFAFA': 'rgb(255, 250, 250)', '#6E8B3D': 'rgb(110, 139, 61)', '#EEE685': 'rgb(238, 230, 133)', '#FF3E96': 'rgb(255, 62, 150)', '#EE0000': 'rgb(238, 0, 0)', '#FDF5E6': 'rgb(253, 245, 230)', '#E066FF': 'rgb(224, 102, 255)', '#8DB6CD': 'rgb(141, 182, 205)', '#FF7256': 'rgb(255, 114, 86)', '#7CFC00': 'rgb(124, 252, 0)', '#838B83': 'rgb(131, 139, 131)', '#BF3EFF': 'rgb(191, 62, 255)', '#8B6914': 'rgb(139, 105, 20)', '#00CD66': 'rgb(0, 205, 102)', '#525252': 'rgb(82, 82, 82)', '#A4D3EE': 'rgb(164, 211, 238)', '#00868B': 'rgb(0, 134, 139)', '#8DEEEE': 'rgb(141, 238, 238)', '#787878': 'rgb(120, 120, 120)', '#8B1C62': 'rgb(139, 28, 98)', '#616161': 'rgb(97, 97, 97)', '#4876FF': 'rgb(72, 118, 255)', '#9F79EE': 'rgb(159, 121, 238)', '#212121': 'rgb(33, 33, 33)', '#C1CDC1': 'rgb(193, 205, 193)', '#CD69C9': 'rgb(205, 105, 201)', '#E0EEEE': 'rgb(224, 238, 238)', '#8B7E66': 'rgb(139, 126, 102)', '#8A2BE2': 'rgb(138, 43, 226)', '#CDCD00': 'rgb(205, 205, 0)', '#EE5C42': 'rgb(238, 92, 66)', '#6E6E6E': 'rgb(110, 110, 110)', '#EEAEEE': 'rgb(238, 174, 238)', '#DC143C': 'rgb(220, 20, 60)', '#CD919E': 'rgb(205, 145, 158)', '#528B8B': 'rgb(82, 139, 139)', '#AFEEEE': 'rgb(175, 238, 238)', '#CD6889': 'rgb(205, 104, 137)', '#E6E6FA': 'rgb(230, 230, 250)', '#EE00EE': 'rgb(238, 0, 238)', '#999999': 'rgb(153, 153, 153)', '#F0F8FF': 'rgb(240, 248, 255)', '#595959': 'rgb(89, 89, 89)', '#FF7F50': 'rgb(255, 127, 80)', '#A6A6A6': 'rgb(166, 166, 166)', '#DEDEDE': 'rgb(222, 222, 222)', '#262626': 'rgb(38, 38, 38)', '#6CA6CD': 'rgb(108, 166, 205)', '#8B8B83': 'rgb(139, 139, 131)', '#474747': 'rgb(71, 71, 71)', '#F7F7F7': 'rgb(247, 247, 247)', '#548B54': 'rgb(84, 139, 84)', '#48D1CC': 'rgb(72, 209, 204)', '#C1CDCD': 'rgb(193, 205, 205)', '#E0EEE0': 'rgb(224, 238, 224)', '#FFB90F': 'rgb(255, 185, 15)', '#FFD39B': 'rgb(255, 211, 155)', '#8B5A2B': 'rgb(139, 90, 43)', '#EEE9BF': 'rgb(238, 233, 191)', '#BCEE68': 'rgb(188, 238, 104)', '#8470FF': 'rgb(132, 112, 255)', '#8B0A50': 'rgb(139, 10, 80)', '#FFF68F': 'rgb(255, 246, 143)', '#EEA2AD': 'rgb(238, 162, 173)', '#CD5B45': 'rgb(205, 91, 69)', '#7FFF00': 'rgb(127, 255, 0)', '#8B8378': 'rgb(139, 131, 120)', '#9BCD9B': 'rgb(155, 205, 155)', '#454545': 'rgb(69, 69, 69)', '#D1D1D1': 'rgb(209, 209, 209)', '#EEE8AA': 'rgb(238, 232, 170)', '#668B8B': 'rgb(102, 139, 139)', '#EE30A7': 'rgb(238, 48, 167)', '#FFC125': 'rgb(255, 193, 37)', '#8B475D': 'rgb(139, 71, 93)', '#D8BFD8': 'rgb(216, 191, 216)', '#404040': 'rgb(64, 64, 64)', '#EEEE00': 'rgb(238, 238, 0)', '#CDB5CD': 'rgb(205, 181, 205)', '#00C5CD': 'rgb(0, 197, 205)', '#00CED1': 'rgb(0, 206, 209)', '#CFCFCF': 'rgb(207, 207, 207)', '#008B00': 'rgb(0, 139, 0)', '#7A7A7A': 'rgb(122, 122, 122)', '#B8860B': 'rgb(184, 134, 11)', '#1C86EE': 'rgb(28, 134, 238)', '#8B5742': 'rgb(139, 87, 66)', '#1A1A1A': 'rgb(26, 26, 26)', '#8B008B': 'rgb(139, 0, 139)', '#0F0F0F': 'rgb(15, 15, 15)', '#CD3700': 'rgb(205, 55, 0)', '#7F7F7F': 'rgb(127, 127, 127)', '#FF6EB4': 'rgb(255, 110, 180)', '#6959CD': 'rgb(105, 89, 205)', '#90EE90': 'rgb(144, 238, 144)', '#8B4789': 'rgb(139, 71, 137)', '#EE7AE9': 'rgb(238, 122, 233)', '#8968CD': 'rgb(137, 104, 205)', '#080808': 'rgb(8, 8, 8)', '#CDC9C9': 'rgb(205, 201, 201)', '#BDB76B': 'rgb(189, 183, 107)', '#9370DB': 'rgb(147, 112, 219)', '#EEDC82': 'rgb(238, 220, 130)', '#3CB371': 'rgb(60, 179, 113)', '#F5FFFA': 'rgb(245, 255, 250)', '#303030': 'rgb(48, 48, 48)', '#B9D3EE': 'rgb(185, 211, 238)', '#575757': 'rgb(87, 87, 87)', '#F5F5DC': 'rgb(245, 245, 220)', '#BABABA': 'rgb(186, 186, 186)', '#0000CD': 'rgb(0, 0, 205)', '#FF8247': 'rgb(255, 130, 71)', '#F2F2F2': 'rgb(242, 242, 242)', '#EED5B7': 'rgb(238, 213, 183)', '#FFEC8B': 'rgb(255, 236, 139)', '#EE7600': 'rgb(238, 118, 0)', '#8B636C': 'rgb(139, 99, 108)', '#8B814C': 'rgb(139, 129, 76)', '#FFE4B5': 'rgb(255, 228, 181)', '#4F94CD': 'rgb(79, 148, 205)', '#CDAD00': 'rgb(205, 173, 0)', '#CD5555': 'rgb(205, 85, 85)', '#8B7500': 'rgb(139, 117, 0)', '#473C8B': 'rgb(71, 60, 139)', '#B0E0E6': 'rgb(176, 224, 230)', '#FFFF00': 'rgb(255, 255, 0)', '#CD96CD': 'rgb(205, 150, 205)', '#006400': 'rgb(0, 100, 0)', '#FAFAFA': 'rgb(250, 250, 250)', '#53868B': 'rgb(83, 134, 139)', '#8B4513': 'rgb(139, 69, 19)', '#98FB98': 'rgb(152, 251, 152)', '#63B8FF': 'rgb(99, 184, 255)', '#FFAEB9': 'rgb(255, 174, 185)', '#EE6A50': 'rgb(238, 106, 80)', '#87CEFF': 'rgb(135, 206, 255)', '#87CEFA': 'rgb(135, 206, 250)', '#ADFF2F': 'rgb(173, 255, 47)', '#008B45': 'rgb(0, 139, 69)', '#EE4000': 'rgb(238, 64, 0)', '#8B6969': 'rgb(139, 105, 105)', '#00008B': 'rgb(0, 0, 139)', '#DB7093': 'rgb(219, 112, 147)', '#7EC0EE': 'rgb(126, 192, 238)', '#3B3B3B': 'rgb(59, 59, 59)', '#8C8C8C': 'rgb(140, 140, 140)', '#5F9EA0': 'rgb(95, 158, 160)', '#EE799F': 'rgb(238, 121, 159)', '#CD6090': 'rgb(205, 96, 144)', '#8B8682': 'rgb(139, 134, 130)', '#458B74': 'rgb(69, 139, 116)', '#EECFA1': 'rgb(238, 207, 161)', '#76EE00': 'rgb(118, 238, 0)', '#000080': 'rgb(0, 0, 128)', '#228B22': 'rgb(34, 139, 34)', '#8B8B00': 'rgb(139, 139, 0)', '#B5B5B5': 'rgb(181, 181, 181)', '#CD950C': 'rgb(205, 149, 12)', '#EE82EE': 'rgb(238, 130, 238)', '#EDEDED': 'rgb(237, 237, 237)', '#F5DEB3': 'rgb(245, 222, 179)', '#3A5FCD': 'rgb(58, 95, 205)', '#00FA9A': 'rgb(0, 250, 154)', '#F0F0F0': 'rgb(240, 240, 240)', '#D1EEEE': 'rgb(209, 238, 238)', '#2E2E2E': 'rgb(46, 46, 46)', '#EEC591': 'rgb(238, 197, 145)', '#8B3E2F': 'rgb(139, 62, 47)', '#CD8162': 'rgb(205, 129, 98)', '#9AC0CD': 'rgb(154, 192, 205)', '#8B8989': 'rgb(139, 137, 137)', '#EED8AE': 'rgb(238, 216, 174)', '#551A8B': 'rgb(85, 26, 139)', '#919191': 'rgb(145, 145, 145)', '#949494': 'rgb(148, 148, 148)', '#778899': 'rgb(119, 136, 153)', '#FFFACD': 'rgb(255, 250, 205)', '#458B00': 'rgb(69, 139, 0)', '#008000': 'rgb(0, 128, 0)', '#FFFFF0': 'rgb(255, 255, 240)', '#E0E0E0': 'rgb(224, 224, 224)', '#EEB422': 'rgb(238, 180, 34)', '#A020F0': 'rgb(160, 32, 240)', '#5CACEE': 'rgb(92, 172, 238)', '#CD4F39': 'rgb(205, 79, 57)', '#CDC0B0': 'rgb(205, 192, 176)', '#6E7B8B': 'rgb(110, 123, 139)', '#9E9E9E': 'rgb(158, 158, 158)', '#CDC673': 'rgb(205, 198, 115)', '#104E8B': 'rgb(16, 78, 139)', '#E0FFFF': 'rgb(224, 255, 255)', '#FFFFFF': 'rgb(255, 255, 255)', '#6C7B8B': 'rgb(108, 123, 139)', '#FFC1C1': 'rgb(255, 193, 193)', '#D6D6D6': 'rgb(214, 214, 214)', '#8B4726': 'rgb(139, 71, 38)', '#CD9B1D': 'rgb(205, 155, 29)', '#FF6347': 'rgb(255, 99, 71)', '#FF34B3': 'rgb(255, 52, 179)', '#7D7D7D': 'rgb(125, 125, 125)', '#121212': 'rgb(18, 18, 18)', '#B0E2FF': 'rgb(176, 226, 255)', '#8B3A62': 'rgb(139, 58, 98)', '#CD5C5C': 'rgb(205, 92, 92)', '#4A4A4A': 'rgb(74, 74, 74)', '#B0B0B0': 'rgb(176, 176, 176)', '#D9D9D9': 'rgb(217, 217, 217)', '#A2CD5A': 'rgb(162, 205, 90)', '#8B0000': 'rgb(139, 0, 0)', '#FF6A6A': 'rgb(255, 106, 106)', '#CD6600': 'rgb(205, 102, 0)', '#FFEFDB': 'rgb(255, 239, 219)', '#E9967A': 'rgb(233, 150, 122)', '#EEE9E9': 'rgb(238, 233, 233)', '#D4D4D4': 'rgb(212, 212, 212)', '#383838': 'rgb(56, 56, 56)', '#7A67EE': 'rgb(122, 103, 238)', '#4169E1': 'rgb(65, 105, 225)', '#5E5E5E': 'rgb(94, 94, 94)', '#00F5FF': 'rgb(0, 245, 255)', '#FFEFD5': 'rgb(255, 239, 213)', '#CDAF95': 'rgb(205, 175, 149)', '#CCCCCC': 'rgb(204, 204, 204)', '#00BFFF': 'rgb(0, 191, 255)', '#CDB79E': 'rgb(205, 183, 158)', '#969696': 'rgb(150, 150, 150)', '#4F4F4F': 'rgb(79, 79, 79)', '#1E90FF': 'rgb(30, 144, 255)', '#FCFCFC': 'rgb(252, 252, 252)', '#EE2C2C': 'rgb(238, 44, 44)', '#8B6508': 'rgb(139, 101, 8)', '#696969': 'rgb(105, 105, 105)', '#FF7F24': 'rgb(255, 127, 36)', '#8FBC8F': 'rgb(143, 188, 143)', '#66CDAA': 'rgb(102, 205, 170)', '#6495ED': 'rgb(100, 149, 237)', '#0D0D0D': 'rgb(13, 13, 13)', '#EEE0E5': 'rgb(238, 224, 229)', '#666666': 'rgb(102, 102, 102)', '#B2DFEE': 'rgb(178, 223, 238)', '#B22222': 'rgb(178, 34, 34)', '#4B0082': 'rgb(75, 0, 130)', '#FF82AB': 'rgb(255, 130, 171)', '#AB82FF': 'rgb(171, 130, 255)', '#79CDCD': 'rgb(121, 205, 205)', '#FFE4C4': 'rgb(255, 228, 196)', '#DEB887': 'rgb(222, 184, 135)', '#5D478B': 'rgb(93, 71, 139)', '#8B3626': 'rgb(139, 54, 38)', '#FFFFE0': 'rgb(255, 255, 224)', '#FFE4E1': 'rgb(255, 228, 225)', '#171717': 'rgb(23, 23, 23)', '#EEDFCC': 'rgb(238, 223, 204)', '#9400D3': 'rgb(148, 0, 211)', '#BFEFFF': 'rgb(191, 239, 255)', '#8B7D6B': 'rgb(139, 125, 107)', '#FF8C69': 'rgb(255, 140, 105)', '#C6E2FF': 'rgb(198, 226, 255)', '#1C1C1C': 'rgb(28, 28, 28)', '#FF4500': 'rgb(255, 69, 0)', '#FFE7BA': 'rgb(255, 231, 186)', '#808080': 'rgb(128, 128, 128)', '#EE9572': 'rgb(238, 149, 114)', '#CD8500': 'rgb(205, 133, 0)', '#8B5A00': 'rgb(139, 90, 0)', '#9932CC': 'rgb(153, 50, 204)', '#EECBAD': 'rgb(238, 203, 173)', '#CD8C95': 'rgb(205, 140, 149)', '#292929': 'rgb(41, 41, 41)', '#CD1076': 'rgb(205, 16, 118)', '#7A378B': 'rgb(122, 55, 139)', '#FF0000': 'rgb(255, 0, 0)', '#698B22': 'rgb(105, 139, 34)', '#ADADAD': 'rgb(173, 173, 173)', '#EEE8CD': 'rgb(238, 232, 205)', '#DDA0DD': 'rgb(221, 160, 221)', '#7D26CD': 'rgb(125, 38, 205)', '#DA70D6': 'rgb(218, 112, 214)', '#DCDCDC': 'rgb(220, 220, 220)', '#68228B': 'rgb(104, 34, 139)', '#7B68EE': 'rgb(123, 104, 238)', '#000000': 'white', '#6B8E23': 'rgb(107, 142, 35)', '#FF69B4': 'rgb(255, 105, 180)', '#800000': 'rgb(128, 0, 0)', '#8B668B': 'rgb(139, 102, 139)', '#363636': 'rgb(54, 54, 54)', '#8B4500': 'rgb(139, 69, 0)', '#D3D3D3': 'rgb(211, 211, 211)', '#607B8B': 'rgb(96, 123, 139)', '#F08080': 'rgb(240, 128, 128)', '#CD9B9B': 'rgb(205, 155, 155)', '#76EEC6': 'rgb(118, 238, 198)', '#FAEBD7': 'rgb(250, 235, 215)', '#68838B': 'rgb(104, 131, 139)', '#7FFFD4': 'rgb(127, 255, 212)', '#C0C0C0': 'rgb(192, 192, 192)', '#EEDD82': 'rgb(238, 221, 130)', '#EE9A49': 'rgb(238, 154, 73)', '#4A708B': 'rgb(74, 112, 139)', '#008080': 'rgb(0, 128, 128)', '#7AC5CD': 'rgb(122, 197, 205)', '#98F5FF': 'rgb(152, 245, 255)', '#8B2500': 'rgb(139, 37, 0)', '#8F8F8F': 'rgb(143, 143, 143)', '#FFF0F5': 'rgb(255, 240, 245)', '#8B8970': 'rgb(139, 137, 112)', '#8B8878': 'rgb(139, 136, 120)', '#6A5ACD': 'rgb(106, 90, 205)', '#4682B4': 'rgb(70, 130, 180)', '#EEEEE0': 'rgb(238, 238, 224)', '#B3B3B3': 'rgb(179, 179, 179)', '#00FF00': 'rgb(0, 255, 0)', '#FFDEAD': 'rgb(255, 222, 173)', '#CD2626': 'rgb(205, 38, 38)', '#8B4C39': 'rgb(139, 76, 57)', '#9B30FF': 'rgb(155, 48, 255)', '#E5E5E5': 'rgb(229, 229, 229)', '#36648B': 'rgb(54, 100, 139)', '#9C9C9C': 'rgb(156, 156, 156)', '#F8F8FF': 'rgb(248, 248, 255)', '#333333': 'rgb(51, 51, 51)', '#5C5C5C': 'rgb(92, 92, 92)', '#737373': 'rgb(115, 115, 115)', '#EEC900': 'rgb(238, 201, 0)', '#FFE1FF': 'rgb(255, 225, 255)', '#C1FFC1': 'rgb(193, 255, 193)', '#CDC5BF': 'rgb(205, 197, 191)', '#A0522D': 'rgb(160, 82, 45)', '#8B5F65': 'rgb(139, 95, 101)', '#CDC1C5': 'rgb(205, 193, 197)', '#EE7621': 'rgb(238, 118, 33)', '#FFBBFF': 'rgb(255, 187, 255)', '#CD6839': 'rgb(205, 104, 57)', '#698B69': 'rgb(105, 139, 105)', '#050505': 'rgb(5, 5, 5)', '#CD661D': 'rgb(205, 102, 29)', '#FAFAD2': 'rgb(250, 250, 210)', '#CDCDC1': 'rgb(205, 205, 193)', '#FFF8DC': 'rgb(255, 248, 220)', '#A8A8A8': 'rgb(168, 168, 168)', '#B452CD': 'rgb(180, 82, 205)', '#D2B48C': 'rgb(210, 180, 140)', '#8EE5EE': 'rgb(142, 229, 238)', '#483D8B': 'rgb(72, 61, 139)', '#BBFFFF': 'rgb(187, 255, 255)', '#0000FF': 'rgb(0, 0, 255)', '#EE6AA7': 'rgb(238, 106, 167)', '#EE7942': 'rgb(238, 121, 66)', '#00CD00': 'rgb(0, 205, 0)', '#141414': 'rgb(20, 20, 20)', '#9ACD32': 'rgb(154, 205, 50)', '#C71585': 'rgb(199, 21, 133)', '#EE9A00': 'rgb(238, 154, 0)', '#CAFF70': 'rgb(202, 255, 112)', '#F5F5F5': 'rgb(245, 245, 245)', '#32CD32': 'rgb(50, 205, 50)', '#00EE00': 'rgb(0, 238, 0)', '#FFB6C1': 'rgb(255, 182, 193)', '#8B1A1A': 'rgb(139, 26, 26)', '#00B2EE': 'rgb(0, 178, 238)', '#20B2AA': 'rgb(32, 178, 170)', '#707070': 'rgb(112, 112, 112)', '#009ACD': 'rgb(0, 154, 205)', '#A52A2A': 'rgb(165, 42, 42)', '#EE6363': 'rgb(238, 99, 99)', '#FAF0E6': 'rgb(250, 240, 230)', '#8B7D7B': 'rgb(139, 125, 123)', '#9A32CD': 'rgb(154, 50, 205)', '#1F1F1F': 'rgb(31, 31, 31)', '#E8E8E8': 'rgb(232, 232, 232)', '#7E7E7E': 'rgb(126, 126, 126)', '#7A8B8B': 'rgb(122, 139, 139)', '#CD7054': 'rgb(205, 112, 84)', '#9FB6CD': 'rgb(159, 182, 205)', '#CDC9A5': 'rgb(205, 201, 165)', '#D02090': 'rgb(208, 32, 144)', '#00FFFF': 'rgb(0, 255, 255)', '#2B2B2B': 'rgb(43, 43, 43)', '#858585': 'rgb(133, 133, 133)', '#A3A3A3': 'rgb(163, 163, 163)', '#CD0000': 'rgb(205, 0, 0)', '#43CD80': 'rgb(67, 205, 128)', '#FA8072': 'rgb(250, 128, 114)', '#FFDAB9': 'rgb(255, 218, 185)', '#D2691E': 'rgb(210, 105, 30)', '#FF1493': 'rgb(255, 20, 147)', '#EED2EE': 'rgb(238, 210, 238)', '#030303': 'rgb(3, 3, 3)', '#8B8B7A': 'rgb(139, 139, 122)'};
+var color_values = ['#FFFAFA','#FFFAFA','#EEE9E9','#FFC1C1','#EEB4B4','#CDC9C9','#F08080','#FF6A6A','#CD9B9B','#EE6363','#BC8F8F','#FF4040','#FF3030','#EE3B3B','#CD5C5C','#CD5555','#EE2C2C','#8B8989','#CD3333','#FF0000','#FF0000','#8B6969','#CD2626','#EE0000','#B22222','#A52A2A','#CD0000','#8B3A3A','#8B2323','#8B1A1A','#8B0000','#8B0000','#800000','#FFAEB9','#CD8C95','#8B5F65','#EEA2AD','#FFB6C1','#FFC0CB','#DC143C','#FFB5C5','#EEA9B8','#CD919E','#8B636C','#8B475D','#DB7093','#EE799F','#FF82AB','#CD6889','#FFF0F5','#FFF0F5','#CDC1C5','#EEE0E5','#8B8386','#B03060','#CD6090','#CD3278','#FF3E96','#EE3A8C','#8B2252','#EE6AA7','#FF6EB4','#8B3A62','#FF69B4','#FF1493','#FF1493','#EE1289','#CD1076','#8B0A50','#FF34B3','#EE30A7','#CD2990','#8B1C62','#C71585','#D02090','#EE7AE9','#DA70D6','#FF83FA','#CD69C9','#8B4789','#FFE1FF','#EED2EE','#FFBBFF','#EEAEEE','#D8BFD8','#CDB5CD','#DDA0DD','#EE82EE','#CD96CD','#8B7B8B','#FF00FF','#FF00FF','#FF00FF','#8B668B','#EE00EE','#CD00CD','#8B008B','#8B008B','#800080','#BA55D3','#E066FF','#D15FEE','#B452CD','#7A378B','#9400D3','#9932CC','#BF3EFF','#9A32CD','#B23AEE','#68228B','#A020F0','#4B0082','#8A2BE2','#912CEE','#7D26CD','#551A8B','#9B30FF','#9370DB','#AB82FF','#9F79EE','#8968CD','#5D478B','#483D8B','#8470FF','#7B68EE','#6A5ACD','#836FFF','#7A67EE','#6959CD','#473C8B','#F8F8FF','#E6E6FA','#0000FF','#0000FF','#0000EE','#0000CD','#0000CD','#00008B','#00008B','#191970','#000080','#000080','#4169E1','#4876FF','#436EEE','#3A5FCD','#27408B','#6495ED','#B0C4DE','#CAE1FF','#BCD2EE','#A2B5CD','#6E7B8B','#6C7B8B','#C6E2FF','#B9D3EE','#9FB6CD','#778899','#778899','#708090','#708090','#1E90FF','#1E90FF','#1C86EE','#104E8B','#1874CD','#F0F8FF','#36648B','#4682B4','#63B8FF','#5CACEE','#4F94CD','#4A708B','#87CEFF','#7EC0EE','#6CA6CD','#87CEFA','#607B8B','#B0E2FF','#A4D3EE','#8DB6CD','#87CEEB','#9AC0CD','#00BFFF','#00BFFF','#00B2EE','#00688B','#009ACD','#BFEFFF','#B2DFEE','#ADD8E6','#68838B','#B0E0E6','#98F5FF','#8EE5EE','#7AC5CD','#53868B','#00F5FF','#00E5EE','#00C5CD','#00868B','#5F9EA0','#5F9EA0','#00CED1','#F0FFFF','#F0FFFF','#E0FFFF','#E0FFFF','#E0EEEE','#D1EEEE','#BBFFFF','#AFEEEE','#AEEEEE','#97FFFF','#C1CDCD','#B4CDCD','#8DEEEE','#96CDCD','#79CDCD','#838B8B','#7A8B8B','#00FFFF','#00FFFF','#00FFFF','#668B8B','#00EEEE','#528B8B','#00CDCD','#008B8B','#008B8B','#008080','#2F4F4F','#2F4F4F','#48D1CC','#20B2AA','#40E0D0','#458B74','#7FFFD4','#7FFFD4','#76EEC6','#66CDAA','#66CDAA','#00FA9A','#F5FFFA','#00FF7F','#00FF7F','#00EE76','#00CD66','#008B45','#3CB371','#2E8B57','#43CD80','#54FF9F','#2E8B57','#4EEE94','#32814B','#F0FFF0','#F0FFF0','#E0EEE0','#C1FFC1','#B4EEB4','#9AFF9A','#98FB98','#C1CDC1','#90EE90','#90EE90','#9BCD9B','#8FBC8F','#7CCD7C','#838B83','#00FF00','#00FF00','#32CD32','#698B69','#00EE00','#548B54','#00CD00','#228B22','#008B00','#008000','#006400','#7CFC00','#7FFF00','#7FFF00','#76EE00','#66CD00','#458B00','#ADFF2F','#A2CD5A','#CAFF70','#BCEE68','#6E8B3D','#556B2F','#6B8E23','#C0FF3E','#B3EE3A','#9ACD32','#9ACD32','#698B22','#FFFFF0','#FFFFF0','#FFFFE0','#FFFFE0','#F5F5DC','#EEEEE0','#FAFAD2','#EEEED1','#CDCDC1','#CDCDB4','#8B8B83','#8B8B7A','#FFFF00','#FFFF00','#EEEE00','#CDCD00','#8B8B00','#808000','#BDB76B','#EEE685','#8B8970','#FFF68F','#CDC673','#8B864E','#EEE8AA','#FFFACD','#FFFACD','#F0E68C','#CDC9A5','#EEE9BF','#D1C166','#8B8878','#FFD700','#FFD700','#EEC900','#CDAD00','#8B7500','#EEDD82','#8B814C','#FFEC8B','#CDBE70','#EEDC82','#CDC8B1','#EEE8CD','#FFF8DC','#FFF8DC','#DAA520','#FFC125','#EEB422','#CD9B1D','#8B6914','#B8860B','#FFB90F','#EEAD0E','#CD950C','#8B6508','#FFFAF0','#EED8AE','#FDF5E6','#F5DEB3','#FFE7BA','#CDBA96','#FFA500','#FFA500','#EE9A00','#CD8500','#8B5A00','#8B7E66','#FFE4B5','#FFEFD5','#CDB38B','#FFEBCD','#FFDEAD','#FFDEAD','#EECFA1','#8B795E','#8B8378','#FAEBD7','#D2B48C','#8B7D6B','#DEB887','#EEDFCC','#FFD39B','#CDAA7D','#EEC591','#FFEFDB','#8B7355','#CDC0B0','#FF8C00','#EED5B7','#FFE4C4','#FFE4C4','#CDB79E','#FF7F00','#FAF0E6','#EE7600','#CD6600','#8B4500','#CD853F','#FFA54F','#EE9A49','#CD853F','#8B5A2B','#FFDAB9','#FFDAB9','#8B7765','#EECBAD','#CDAF95','#F4A460','#8B8682','#EEE5DE','#CDC5BF','#D2691E','#FF7F24','#EE7621','#CD661D','#8B4513','#8B4513','#FFF5EE','#FFF5EE','#8B4726','#A0522D','#FF8247','#EE7942','#CD6839','#CD8162','#FFA07A','#FFA07A','#8B5742','#EE9572','#FF7F50','#FF4500','#FF4500','#EE4000','#CD3700','#8B2500','#E9967A','#FF8C69','#EE8262','#CD7054','#8B4C39','#FF7256','#EE6A50','#CD5B45','#8B3E2F','#8B3626','#FF6347','#FF6347','#EE5C42','#CD4F39','#8B7D7B','#EED5D2','#FFE4E1','#FFE4E1','#FA8072','#CDB7B5','#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF','#FCFCFC','#FCFCFC','#FAFAFA','#FAFAFA','#F7F7F7','#F7F7F7','#F5F5F5','#F5F5F5','#F5F5F5','#F2F2F2','#F2F2F2','#F0F0F0','#F0F0F0','#EDEDED','#EDEDED','#EBEBEB','#EBEBEB','#E8E8E8','#E8E8E8','#E5E5E5','#E5E5E5','#E3E3E3','#E3E3E3','#E0E0E0','#E0E0E0','#DEDEDE','#DEDEDE','#DCDCDC','#DBDBDB','#DBDBDB','#D9D9D9','#D9D9D9','#D6D6D6','#D6D6D6','#D4D4D4','#D4D4D4','#D3D3D3','#D3D3D3','#D1D1D1','#D1D1D1','#CFCFCF','#CFCFCF','#CCCCCC','#CCCCCC','#C9C9C9','#C9C9C9','#C7C7C7','#C7C7C7','#C4C4C4','#C4C4C4','#C2C2C2','#C2C2C2','#C0C0C0','#BFBFBF','#BFBFBF','#BDBDBD','#BDBDBD','#BABABA','#BABABA','#B8B8B8','#B8B8B8','#B5B5B5','#B5B5B5','#B3B3B3','#B3B3B3','#B0B0B0','#B0B0B0','#ADADAD','#ADADAD','#ABABAB','#ABABAB','#A9A9A9','#A9A9A9','#A8A8A8','#A8A8A8','#A6A6A6','#A6A6A6','#A3A3A3','#A3A3A3','#A1A1A1','#A1A1A1','#9E9E9E','#9E9E9E','#9C9C9C','#9C9C9C','#999999','#999999','#969696','#969696','#949494','#949494','#919191','#919191','#8F8F8F','#8F8F8F','#8C8C8C','#8C8C8C','#8A8A8A','#8A8A8A','#878787','#878787','#858585','#858585','#828282','#828282','#808080','#7F7F7F','#7F7F7F','#7E7E7E','#7D7D7D','#7D7D7D','#7A7A7A','#7A7A7A','#787878','#787878','#757575','#757575','#737373','#737373','#707070','#707070','#6E6E6E','#6E6E6E','#6B6B6B','#6B6B6B','#696969','#696969','#696969','#696969','#666666','#666666','#636363','#636363','#616161','#616161','#5E5E5E','#5E5E5E','#5C5C5C','#5C5C5C','#595959','#595959','#575757','#575757','#545454','#545454','#525252','#525252','#4F4F4F','#4F4F4F','#4D4D4D','#4D4D4D','#4A4A4A','#4A4A4A','#474747','#474747','#454545','#454545','#424242','#424242','#404040','#404040','#3D3D3D','#3D3D3D','#3B3B3B','#3B3B3B','#383838','#383838','#363636','#363636','#333333','#333333','#303030','#303030','#2E2E2E','#2E2E2E','#2B2B2B','#2B2B2B','#292929','#292929','#262626','#262626','#242424','#242424','#212121','#212121','#1F1F1F','#1F1F1F','#1C1C1C','#1C1C1C','#1A1A1A','#1A1A1A','#171717','#171717','#141414','#141414','#121212','#121212','#0F0F0F','#0F0F0F','#0D0D0D','#0D0D0D','#0A0A0A','#0A0A0A','#080808','#080808','#050505','#050505','#030303','#030303','#000000','#000000','#000000','#000000','#000000','#000000'];
diff --git a/share/frontend/im/colors/js/jquery-1.10.1.js b/share/frontend/im/colors/js/jquery-1.10.1.js new file mode 100644 index 0000000..e407e76 --- /dev/null +++ b/share/frontend/im/colors/js/jquery-1.10.1.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-1.10.1.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.1",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.parentWindow;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.frameElement&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ct(function(e){return e.innerHTML="<a href='#'></a>",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="<input>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null) +}),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window); diff --git a/share/frontend/im/colors/js/jquery-1.10.1.min.map b/share/frontend/im/colors/js/jquery-1.10.1.min.map new file mode 100644 index 0000000..095d031 --- /dev/null +++ b/share/frontend/im/colors/js/jquery-1.10.1.min.map @@ -0,0 +1 @@ +{"version":3,"file":"jquery-1.10.1.min.js","sources":["jquery-1.10.1.js"],"names":["window","undefined","readyList","rootjQuery","core_strundefined","location","document","docElem","documentElement","_jQuery","jQuery","_$","$","class2type","core_deletedIds","core_version","core_concat","concat","core_push","push","core_slice","slice","core_indexOf","indexOf","core_toString","toString","core_hasOwn","hasOwnProperty","core_trim","trim","selector","context","fn","init","core_pnum","source","core_rnotwhite","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","completed","event","addEventListener","type","readyState","detach","ready","removeEventListener","detachEvent","prototype","jquery","constructor","match","elem","this","charAt","length","exec","find","merge","parseHTML","nodeType","ownerDocument","test","isPlainObject","isFunction","attr","getElementById","parentNode","id","makeArray","toArray","call","get","num","pushStack","elems","ret","prevObject","each","callback","args","promise","done","apply","arguments","first","eq","last","i","len","j","map","end","sort","splice","extend","src","copyIsArray","copy","name","options","clone","target","deep","isArray","expando","Math","random","replace","noConflict","isReady","readyWait","holdReady","hold","wait","body","setTimeout","resolveWith","trigger","off","obj","Array","isWindow","isNumeric","isNaN","parseFloat","isFinite","String","key","e","support","ownLast","isEmptyObject","error","msg","Error","data","keepScripts","parsed","scripts","createElement","buildFragment","remove","childNodes","parseJSON","JSON","parse","Function","parseXML","xml","tmp","DOMParser","parseFromString","ActiveXObject","async","loadXML","getElementsByTagName","noop","globalEval","execScript","camelCase","string","nodeName","toLowerCase","value","isArraylike","text","arr","results","Object","inArray","max","second","l","grep","inv","retVal","arg","guid","proxy","access","chainable","emptyGet","raw","bulk","now","Date","getTime","swap","old","style","Deferred","attachEvent","top","frameElement","doScroll","doScrollCheck","split","cachedruns","Expr","getText","isXML","compile","outermostContext","sortInput","setDocument","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","hasDuplicate","sortOrder","strundefined","MAX_NEGATIVE","hasOwn","pop","push_native","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","RegExp","rcomma","rcombinators","rsibling","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rnative","rinputs","rheader","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","fromCharCode","els","Sizzle","seed","m","groups","nid","newContext","newSelector","getElementsByClassName","qsa","tokenize","getAttribute","setAttribute","toSelector","join","querySelectorAll","qsaError","removeAttribute","select","isNative","keys","cache","cacheLength","shift","markFunction","assert","div","removeChild","addHandle","attrs","handler","current","setHandle","attrHandle","boolHandler","val","getAttributeNode","specified","interpolationHandler","valueHandler","defaultValue","siblingCheck","a","b","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","node","doc","parent","parentWindow","innerHTML","firstChild","className","input","appendChild","createComment","getById","getElementsByName","filter","attrId","tag","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","sortDetached","div1","compare","aup","ap","bp","unshift","expr","elements","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","dirkey","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","group","contexts","token","filters","unique","isXMLDoc","optionsCache","createOptions","object","flag","Callbacks","firing","memory","fired","firingLength","firingIndex","firingStart","list","stack","once","fire","stopOnFalse","self","disable","add","index","lock","locked","fireWith","func","tuples","state","always","deferred","fail","then","fns","newDefer","tuple","action","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","progressContexts","resolveContexts","fragment","opt","eventName","isSupported","cssText","getSetAttribute","leadingWhitespace","tbody","htmlSerialize","hrefNormalized","opacity","cssFloat","checkOn","optSelected","enctype","html5Clone","cloneNode","outerHTML","inlineBlockNeedsLayout","shrinkWrapBlocks","pixelPosition","deleteExpando","noCloneEvent","reliableMarginRight","boxSizingReliable","noCloneChecked","optDisabled","radioValue","createDocumentFragment","appendChecked","checkClone","click","change","focusin","backgroundClip","clearCloneStyle","container","marginDiv","tds","divReset","offsetHeight","display","reliableHiddenOffsets","zoom","boxSizing","offsetWidth","getComputedStyle","width","marginRight","rbrace","rmultiDash","internalData","pvt","acceptData","thisCache","internalKey","isNode","toJSON","internalRemoveData","isEmptyDataObject","cleanData","noData","applet","embed","hasData","removeData","_data","_removeData","dataAttr","queue","dequeue","startLength","hooks","_queueHooks","next","stop","setter","delay","time","fx","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","rclass","rreturn","rfocusable","rclickable","ruseDefault","getSetInput","removeAttr","prop","removeProp","propFix","addClass","classes","clazz","proceed","removeClass","toggleClass","stateVal","isBool","classNames","hasClass","valHooks","set","option","one","optionSet","nType","attrHooks","propName","attrNames","for","class","notxml","propHooks","tabindex","parseInt","getter","setAttributeNode","createAttribute","coords","contenteditable","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","global","types","events","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","namespace_re","noBubble","defaultView","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","originalEvent","fixHook","fixHooks","mouseHooks","keyHooks","props","srcElement","metaKey","original","which","charCode","keyCode","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","orig","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","origFn","triggerHandler","isSimple","rparentsprev","rneedsContext","guaranteedUnique","children","contents","prev","targets","winnow","is","closest","pos","prevAll","addBack","sibling","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","contentDocument","contentWindow","reverse","n","r","qualifier","createSafeFragment","nodeNames","safeFrag","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","manipulation_rcheckableType","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","domManip","manipulationTarget","prepend","insertBefore","before","after","keepData","getAll","setGlobalEval","dataAndEvents","deepDataAndEvents","html","replaceWith","allowIntersection","hasScripts","iNoClone","disableScript","restoreScript","_evalUrl","content","refElements","cloneCopyEvent","dest","oldData","curData","fixCloneNodeIssues","defaultChecked","defaultSelected","appendTo","prependTo","insertAfter","replaceAll","insert","found","fixDefaultChecked","destElements","srcElements","inPage","selection","wrap","safe","nodes","url","ajax","dataType","throws","wrapAll","wrapInner","unwrap","iframe","getStyles","curCSS","ralpha","ropacity","rposition","rdisplayswap","rmargin","rnumsplit","rnumnonpx","rrelNum","elemdisplay","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssExpand","cssPrefixes","vendorPropName","capName","origName","isHidden","el","css","showHide","show","hidden","css_defaultDisplay","styles","hide","toggle","cssHooks","computed","cssNumber","columnCount","fillOpacity","lineHeight","orphans","widows","zIndex","cssProps","float","extra","_computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","setPositiveNumber","subtract","augmentWidthOrHeight","isBorderBox","getWidthOrHeight","valueIsBorderBox","actualDisplay","write","close","$1","visible","margin","padding","border","prefix","suffix","expand","expanded","parts","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","traditional","s","encodeURIComponent","ajaxSettings","buildParams","v","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","ajaxLocParts","ajaxLocation","ajax_nonce","ajax_rquery","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","_load","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","params","response","responseText","complete","status","active","lastModified","etag","isLocal","processData","contentType","accepts","*","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","cacheURL","responseHeadersString","timeoutTimer","fireGlobals","transport","responseHeaders","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","mimeType","code","abort","statusText","finalText","success","method","crossDomain","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","modified","ajaxHandleResponses","ajaxConvert","rejectWith","getJSON","getScript","firstDataType","ct","finalDataType","conv2","conv","dataFilter","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","xhrCallbacks","xhrSupported","xhrId","xhrOnUnloadAbort","createStandardXHR","XMLHttpRequest","createActiveXHR","xhr","cors","username","open","xhrFields","firefoxAccessException","unload","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","tween","createTween","unit","scale","maxIterations","createFxNow","animation","collection","Animation","properties","stopped","tick","currentTime","startTime","duration","percent","tweens","run","opts","specialEasing","originalProperties","Tween","easing","gotoEnd","propFilter","timer","anim","tweener","prefilter","oldfire","dataShow","unqueued","overflow","overflowX","overflowY","eased","step","cssFn","speed","animate","genFx","fadeTo","to","optall","doAnimation","finish","stopQueue","timers","includeWidth","height","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","interval","setInterval","clearInterval","slow","fast","animated","offset","setOffset","win","box","getBoundingClientRect","getWindow","pageYOffset","pageXOffset","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","curTop","curLeft","using","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","module","exports","define","amd"],"mappings":"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"}
\ No newline at end of file diff --git a/share/frontend/im/colors/js/jquery.fancybox.js b/share/frontend/im/colors/js/jquery.fancybox.js new file mode 100644 index 0000000..e8e1987 --- /dev/null +++ b/share/frontend/im/colors/js/jquery.fancybox.js @@ -0,0 +1,2020 @@ +/*! + * fancyBox - jQuery Plugin + * version: 2.1.5 (Fri, 14 Jun 2013) + * @requires jQuery v1.6 or later + * + * Examples at http://fancyapps.com/fancybox/ + * License: www.fancyapps.com/fancybox/#license + * + * Copyright 2012 Janis Skarnelis - janis@fancyapps.com + * + */ + +(function (window, document, $, undefined) { + "use strict"; + + var H = $("html"), + W = $(window), + D = $(document), + F = $.fancybox = function () { + F.open.apply( this, arguments ); + }, + IE = navigator.userAgent.match(/msie/i), + didUpdate = null, + isTouch = document.createTouch !== undefined, + + isQuery = function(obj) { + return obj && obj.hasOwnProperty && obj instanceof $; + }, + isString = function(str) { + return str && $.type(str) === "string"; + }, + isPercentage = function(str) { + return isString(str) && str.indexOf('%') > 0; + }, + isScrollable = function(el) { + return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight))); + }, + getScalar = function(orig, dim) { + var value = parseInt(orig, 10) || 0; + + if (dim && isPercentage(orig)) { + value = F.getViewport()[ dim ] / 100 * value; + } + + return Math.ceil(value); + }, + getValue = function(value, dim) { + return getScalar(value, dim) + 'px'; + }; + + $.extend(F, { + // The current version of fancyBox + version: '2.1.5', + + defaults: { + padding : 15, + margin : 20, + + width : 800, + height : 600, + minWidth : 100, + minHeight : 100, + maxWidth : 9999, + maxHeight : 9999, + pixelRatio: 1, // Set to 2 for retina display support + + autoSize : true, + autoHeight : false, + autoWidth : false, + + autoResize : true, + autoCenter : !isTouch, + fitToView : true, + aspectRatio : false, + topRatio : 0.5, + leftRatio : 0.5, + + scrolling : 'auto', // 'auto', 'yes' or 'no' + wrapCSS : '', + + arrows : true, + closeBtn : true, + closeClick : false, + nextClick : false, + mouseWheel : true, + autoPlay : false, + playSpeed : 3000, + preload : 3, + modal : false, + loop : true, + + ajax : { + dataType : 'html', + headers : { 'X-fancyBox': true } + }, + iframe : { + scrolling : 'auto', + preload : true + }, + swf : { + wmode: 'transparent', + allowfullscreen : 'true', + allowscriptaccess : 'always' + }, + + keys : { + next : { + 13 : 'left', // enter + 34 : 'up', // page down + 39 : 'left', // right arrow + 40 : 'up' // down arrow + }, + prev : { + 8 : 'right', // backspace + 33 : 'down', // page up + 37 : 'right', // left arrow + 38 : 'down' // up arrow + }, + close : [27], // escape key + play : [32], // space - start/stop slideshow + toggle : [70] // letter "f" - toggle fullscreen + }, + + direction : { + next : 'left', + prev : 'right' + }, + + scrollOutside : true, + + // Override some properties + index : 0, + type : null, + href : null, + content : null, + title : null, + + // HTML templates + tpl: { + wrap : '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>', + image : '<img class="fancybox-image" src="{href}" alt="" />', + iframe : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>', + error : '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>', + closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>', + next : '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>', + prev : '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>' + }, + + // Properties for each animation type + // Opening fancyBox + openEffect : 'fade', // 'elastic', 'fade' or 'none' + openSpeed : 250, + openEasing : 'swing', + openOpacity : true, + openMethod : 'zoomIn', + + // Closing fancyBox + closeEffect : 'fade', // 'elastic', 'fade' or 'none' + closeSpeed : 250, + closeEasing : 'swing', + closeOpacity : true, + closeMethod : 'zoomOut', + + // Changing next gallery item + nextEffect : 'elastic', // 'elastic', 'fade' or 'none' + nextSpeed : 250, + nextEasing : 'swing', + nextMethod : 'changeIn', + + // Changing previous gallery item + prevEffect : 'elastic', // 'elastic', 'fade' or 'none' + prevSpeed : 250, + prevEasing : 'swing', + prevMethod : 'changeOut', + + // Enable default helpers + helpers : { + overlay : true, + title : true + }, + + // Callbacks + onCancel : $.noop, // If canceling + beforeLoad : $.noop, // Before loading + afterLoad : $.noop, // After loading + beforeShow : $.noop, // Before changing in current item + afterShow : $.noop, // After opening + beforeChange : $.noop, // Before changing gallery item + beforeClose : $.noop, // Before closing + afterClose : $.noop // After closing + }, + + //Current state + group : {}, // Selected group + opts : {}, // Group options + previous : null, // Previous element + coming : null, // Element being loaded + current : null, // Currently loaded element + isActive : false, // Is activated + isOpen : false, // Is currently open + isOpened : false, // Have been fully opened at least once + + wrap : null, + skin : null, + outer : null, + inner : null, + + player : { + timer : null, + isActive : false + }, + + // Loaders + ajaxLoad : null, + imgPreload : null, + + // Some collections + transitions : {}, + helpers : {}, + + /* + * Static methods + */ + + open: function (group, opts) { + if (!group) { + return; + } + + if (!$.isPlainObject(opts)) { + opts = {}; + } + + // Close if already active + if (false === F.close(true)) { + return; + } + + // Normalize group + if (!$.isArray(group)) { + group = isQuery(group) ? $(group).get() : [group]; + } + + // Recheck if the type of each element is `object` and set content type (image, ajax, etc) + $.each(group, function(i, element) { + var obj = {}, + href, + title, + content, + type, + rez, + hrefParts, + selector; + + if ($.type(element) === "object") { + // Check if is DOM element + if (element.nodeType) { + element = $(element); + } + + if (isQuery(element)) { + obj = { + href : element.data('fancybox-href') || element.attr('href'), + title : element.data('fancybox-title') || element.attr('title'), + isDom : true, + element : element + }; + + if ($.metadata) { + $.extend(true, obj, element.metadata()); + } + + } else { + obj = element; + } + } + + href = opts.href || obj.href || (isString(element) ? element : null); + title = opts.title !== undefined ? opts.title : obj.title || ''; + + content = opts.content || obj.content; + type = content ? 'html' : (opts.type || obj.type); + + if (!type && obj.isDom) { + type = element.data('fancybox-type'); + + if (!type) { + rez = element.prop('class').match(/fancybox\.(\w+)/); + type = rez ? rez[1] : null; + } + } + + if (isString(href)) { + // Try to guess the content type + if (!type) { + if (F.isImage(href)) { + type = 'image'; + + } else if (F.isSWF(href)) { + type = 'swf'; + + } else if (href.charAt(0) === '#') { + type = 'inline'; + + } else if (isString(element)) { + type = 'html'; + content = element; + } + } + + // Split url into two pieces with source url and content selector, e.g, + // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id" + if (type === 'ajax') { + hrefParts = href.split(/\s+/, 2); + href = hrefParts.shift(); + selector = hrefParts.shift(); + } + } + + if (!content) { + if (type === 'inline') { + if (href) { + content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7 + + } else if (obj.isDom) { + content = element; + } + + } else if (type === 'html') { + content = href; + + } else if (!type && !href && obj.isDom) { + type = 'inline'; + content = element; + } + } + + $.extend(obj, { + href : href, + type : type, + content : content, + title : title, + selector : selector + }); + + group[ i ] = obj; + }); + + // Extend the defaults + F.opts = $.extend(true, {}, F.defaults, opts); + + // All options are merged recursive except keys + if (opts.keys !== undefined) { + F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false; + } + + F.group = group; + + return F._start(F.opts.index); + }, + + // Cancel image loading or abort ajax request + cancel: function () { + var coming = F.coming; + + if (!coming || false === F.trigger('onCancel')) { + return; + } + + F.hideLoading(); + + if (F.ajaxLoad) { + F.ajaxLoad.abort(); + } + + F.ajaxLoad = null; + + if (F.imgPreload) { + F.imgPreload.onload = F.imgPreload.onerror = null; + } + + if (coming.wrap) { + coming.wrap.stop(true, true).trigger('onReset').remove(); + } + + F.coming = null; + + // If the first item has been canceled, then clear everything + if (!F.current) { + F._afterZoomOut( coming ); + } + }, + + // Start closing animation if is open; remove immediately if opening/closing + close: function (event) { + F.cancel(); + + if (false === F.trigger('beforeClose')) { + return; + } + + F.unbindEvents(); + + if (!F.isActive) { + return; + } + + if (!F.isOpen || event === true) { + $('.fancybox-wrap').stop(true).trigger('onReset').remove(); + + F._afterZoomOut(); + + } else { + F.isOpen = F.isOpened = false; + F.isClosing = true; + + $('.fancybox-item, .fancybox-nav').remove(); + + F.wrap.stop(true, true).removeClass('fancybox-opened'); + + F.transitions[ F.current.closeMethod ](); + } + }, + + // Manage slideshow: + // $.fancybox.play(); - toggle slideshow + // $.fancybox.play( true ); - start + // $.fancybox.play( false ); - stop + play: function ( action ) { + var clear = function () { + clearTimeout(F.player.timer); + }, + set = function () { + clear(); + + if (F.current && F.player.isActive) { + F.player.timer = setTimeout(F.next, F.current.playSpeed); + } + }, + stop = function () { + clear(); + + D.unbind('.player'); + + F.player.isActive = false; + + F.trigger('onPlayEnd'); + }, + start = function () { + if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) { + F.player.isActive = true; + + D.bind({ + 'onCancel.player beforeClose.player' : stop, + 'onUpdate.player' : set, + 'beforeLoad.player' : clear + }); + + set(); + + F.trigger('onPlayStart'); + } + }; + + if (action === true || (!F.player.isActive && action !== false)) { + start(); + } else { + stop(); + } + }, + + // Navigate to next gallery item + next: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.next; + } + + F.jumpto(current.index + 1, direction, 'next'); + } + }, + + // Navigate to previous gallery item + prev: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.prev; + } + + F.jumpto(current.index - 1, direction, 'prev'); + } + }, + + // Navigate to gallery item by index + jumpto: function ( index, direction, router ) { + var current = F.current; + + if (!current) { + return; + } + + index = getScalar(index); + + F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ]; + F.router = router || 'jumpto'; + + if (current.loop) { + if (index < 0) { + index = current.group.length + (index % current.group.length); + } + + index = index % current.group.length; + } + + if (current.group[ index ] !== undefined) { + F.cancel(); + + F._start(index); + } + }, + + // Center inside viewport and toggle position type to fixed or absolute if needed + reposition: function (e, onlyAbsolute) { + var current = F.current, + wrap = current ? current.wrap : null, + pos; + + if (wrap) { + pos = F._getPosition(onlyAbsolute); + + if (e && e.type === 'scroll') { + delete pos.position; + + wrap.stop(true, true).animate(pos, 200); + + } else { + wrap.css(pos); + + current.pos = $.extend({}, current.dim, pos); + } + } + }, + + update: function (e) { + var type = (e && e.type), + anyway = !type || type === 'orientationchange'; + + if (anyway) { + clearTimeout(didUpdate); + + didUpdate = null; + } + + if (!F.isOpen || didUpdate) { + return; + } + + didUpdate = setTimeout(function() { + var current = F.current; + + if (!current || F.isClosing) { + return; + } + + F.wrap.removeClass('fancybox-tmp'); + + if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) { + F._setDimension(); + } + + if (!(type === 'scroll' && current.canShrink)) { + F.reposition(e); + } + + F.trigger('onUpdate'); + + didUpdate = null; + + }, (anyway && !isTouch ? 0 : 300)); + }, + + // Shrink content to fit inside viewport or restore if resized + toggle: function ( action ) { + if (F.isOpen) { + F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView; + + // Help browser to restore document dimensions + if (isTouch) { + F.wrap.removeAttr('style').addClass('fancybox-tmp'); + + F.trigger('onUpdate'); + } + + F.update(); + } + }, + + hideLoading: function () { + D.unbind('.loading'); + + $('#fancybox-loading').remove(); + }, + + showLoading: function () { + var el, viewport; + + F.hideLoading(); + + el = $('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body'); + + // If user will press the escape-button, the request will be canceled + D.bind('keydown.loading', function(e) { + if ((e.which || e.keyCode) === 27) { + e.preventDefault(); + + F.cancel(); + } + }); + + if (!F.defaults.fixed) { + viewport = F.getViewport(); + + el.css({ + position : 'absolute', + top : (viewport.h * 0.5) + viewport.y, + left : (viewport.w * 0.5) + viewport.x + }); + } + }, + + getViewport: function () { + var locked = (F.current && F.current.locked) || false, + rez = { + x: W.scrollLeft(), + y: W.scrollTop() + }; + + if (locked) { + rez.w = locked[0].clientWidth; + rez.h = locked[0].clientHeight; + + } else { + // See http://bugs.jquery.com/ticket/6724 + rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width(); + rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height(); + } + + return rez; + }, + + // Unbind the keyboard / clicking actions + unbindEvents: function () { + if (F.wrap && isQuery(F.wrap)) { + F.wrap.unbind('.fb'); + } + + D.unbind('.fb'); + W.unbind('.fb'); + }, + + bindEvents: function () { + var current = F.current, + keys; + + if (!current) { + return; + } + + // Changing document height on iOS devices triggers a 'resize' event, + // that can change document height... repeating infinitely + W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update); + + keys = current.keys; + + if (keys) { + D.bind('keydown.fb', function (e) { + var code = e.which || e.keyCode, + target = e.target || e.srcElement; + + // Skip esc key if loading, because showLoading will cancel preloading + if (code === 27 && F.coming) { + return false; + } + + // Ignore key combinations and key events within form elements + if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) { + $.each(keys, function(i, val) { + if (current.group.length > 1 && val[ code ] !== undefined) { + F[ i ]( val[ code ] ); + + e.preventDefault(); + return false; + } + + if ($.inArray(code, val) > -1) { + F[ i ] (); + + e.preventDefault(); + return false; + } + }); + } + }); + } + + if ($.fn.mousewheel && current.mouseWheel) { + F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) { + var target = e.target || null, + parent = $(target), + canScroll = false; + + while (parent.length) { + if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) { + break; + } + + canScroll = isScrollable( parent[0] ); + parent = $(parent).parent(); + } + + if (delta !== 0 && !canScroll) { + if (F.group.length > 1 && !current.canShrink) { + if (deltaY > 0 || deltaX > 0) { + F.prev( deltaY > 0 ? 'down' : 'left' ); + + } else if (deltaY < 0 || deltaX < 0) { + F.next( deltaY < 0 ? 'up' : 'right' ); + } + + e.preventDefault(); + } + } + }); + } + }, + + trigger: function (event, o) { + var ret, obj = o || F.coming || F.current; + + if (!obj) { + return; + } + + if ($.isFunction( obj[event] )) { + ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1)); + } + + if (ret === false) { + return false; + } + + if (obj.helpers) { + $.each(obj.helpers, function (helper, opts) { + if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) { + F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj); + } + }); + } + + D.trigger(event); + }, + + isImage: function (str) { + return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i); + }, + + isSWF: function (str) { + return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i); + }, + + _start: function (index) { + var coming = {}, + obj, + href, + type, + margin, + padding; + + index = getScalar( index ); + obj = F.group[ index ] || null; + + if (!obj) { + return false; + } + + coming = $.extend(true, {}, F.opts, obj); + + // Convert margin and padding properties to array - top, right, bottom, left + margin = coming.margin; + padding = coming.padding; + + if ($.type(margin) === 'number') { + coming.margin = [margin, margin, margin, margin]; + } + + if ($.type(padding) === 'number') { + coming.padding = [padding, padding, padding, padding]; + } + + // 'modal' propery is just a shortcut + if (coming.modal) { + $.extend(true, coming, { + closeBtn : false, + closeClick : false, + nextClick : false, + arrows : false, + mouseWheel : false, + keys : null, + helpers: { + overlay : { + closeClick : false + } + } + }); + } + + // 'autoSize' property is a shortcut, too + if (coming.autoSize) { + coming.autoWidth = coming.autoHeight = true; + } + + if (coming.width === 'auto') { + coming.autoWidth = true; + } + + if (coming.height === 'auto') { + coming.autoHeight = true; + } + + /* + * Add reference to the group, so it`s possible to access from callbacks, example: + * afterLoad : function() { + * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); + * } + */ + + coming.group = F.group; + coming.index = index; + + // Give a chance for callback or helpers to update coming item (type, title, etc) + F.coming = coming; + + if (false === F.trigger('beforeLoad')) { + F.coming = null; + + return; + } + + type = coming.type; + href = coming.href; + + if (!type) { + F.coming = null; + + //If we can not determine content type then drop silently or display next/prev item if looping through gallery + if (F.current && F.router && F.router !== 'jumpto') { + F.current.index = index; + + return F[ F.router ]( F.direction ); + } + + return false; + } + + F.isActive = true; + + if (type === 'image' || type === 'swf') { + coming.autoHeight = coming.autoWidth = false; + coming.scrolling = 'visible'; + } + + if (type === 'image') { + coming.aspectRatio = true; + } + + if (type === 'iframe' && isTouch) { + coming.scrolling = 'scroll'; + } + + // Build the neccessary markup + coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' ); + + $.extend(coming, { + skin : $('.fancybox-skin', coming.wrap), + outer : $('.fancybox-outer', coming.wrap), + inner : $('.fancybox-inner', coming.wrap) + }); + + $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { + coming.skin.css('padding' + v, getValue(coming.padding[ i ])); + }); + + F.trigger('onReady'); + + // Check before try to load; 'inline' and 'html' types need content, others - href + if (type === 'inline' || type === 'html') { + if (!coming.content || !coming.content.length) { + return F._error( 'content' ); + } + + } else if (!href) { + return F._error( 'href' ); + } + + if (type === 'image') { + F._loadImage(); + + } else if (type === 'ajax') { + F._loadAjax(); + + } else if (type === 'iframe') { + F._loadIframe(); + + } else { + F._afterLoad(); + } + }, + + _error: function ( type ) { + $.extend(F.coming, { + type : 'html', + autoWidth : true, + autoHeight : true, + minWidth : 0, + minHeight : 0, + scrolling : 'no', + hasError : type, + content : F.coming.tpl.error + }); + + F._afterLoad(); + }, + + _loadImage: function () { + // Reset preload image so it is later possible to check "complete" property + var img = F.imgPreload = new Image(); + + img.onload = function () { + this.onload = this.onerror = null; + + F.coming.width = this.width / F.opts.pixelRatio; + F.coming.height = this.height / F.opts.pixelRatio; + + F._afterLoad(); + }; + + img.onerror = function () { + this.onload = this.onerror = null; + + F._error( 'image' ); + }; + + img.src = F.coming.href; + + if (img.complete !== true) { + F.showLoading(); + } + }, + + _loadAjax: function () { + var coming = F.coming; + + F.showLoading(); + + F.ajaxLoad = $.ajax($.extend({}, coming.ajax, { + url: coming.href, + error: function (jqXHR, textStatus) { + if (F.coming && textStatus !== 'abort') { + F._error( 'ajax', jqXHR ); + + } else { + F.hideLoading(); + } + }, + success: function (data, textStatus) { + if (textStatus === 'success') { + coming.content = data; + + F._afterLoad(); + } + } + })); + }, + + _loadIframe: function() { + var coming = F.coming, + iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())) + .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling) + .attr('src', coming.href); + + // This helps IE + $(coming.wrap).bind('onReset', function () { + try { + $(this).find('iframe').hide().attr('src', '//about:blank').end().empty(); + } catch (e) {} + }); + + if (coming.iframe.preload) { + F.showLoading(); + + iframe.one('load', function() { + $(this).data('ready', 1); + + // iOS will lose scrolling if we resize + if (!isTouch) { + $(this).bind('load.fb', F.update); + } + + // Without this trick: + // - iframe won't scroll on iOS devices + // - IE7 sometimes displays empty iframe + $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show(); + + F._afterLoad(); + }); + } + + coming.content = iframe.appendTo( coming.inner ); + + if (!coming.iframe.preload) { + F._afterLoad(); + } + }, + + _preloadImages: function() { + var group = F.group, + current = F.current, + len = group.length, + cnt = current.preload ? Math.min(current.preload, len - 1) : 0, + item, + i; + + for (i = 1; i <= cnt; i += 1) { + item = group[ (current.index + i ) % len ]; + + if (item.type === 'image' && item.href) { + new Image().src = item.href; + } + } + }, + + _afterLoad: function () { + var coming = F.coming, + previous = F.current, + placeholder = 'fancybox-placeholder', + current, + content, + type, + scrolling, + href, + embed; + + F.hideLoading(); + + if (!coming || F.isActive === false) { + return; + } + + if (false === F.trigger('afterLoad', coming, previous)) { + coming.wrap.stop(true).trigger('onReset').remove(); + + F.coming = null; + + return; + } + + if (previous) { + F.trigger('beforeChange', previous); + + previous.wrap.stop(true).removeClass('fancybox-opened') + .find('.fancybox-item, .fancybox-nav') + .remove(); + } + + F.unbindEvents(); + + current = coming; + content = coming.content; + type = coming.type; + scrolling = coming.scrolling; + + $.extend(F, { + wrap : current.wrap, + skin : current.skin, + outer : current.outer, + inner : current.inner, + current : current, + previous : previous + }); + + href = current.href; + + switch (type) { + case 'inline': + case 'ajax': + case 'html': + if (current.selector) { + content = $('<div>').html(content).find(current.selector); + + } else if (isQuery(content)) { + if (!content.data(placeholder)) { + content.data(placeholder, $('<div class="' + placeholder + '"></div>').insertAfter( content ).hide() ); + } + + content = content.show().detach(); + + current.wrap.bind('onReset', function () { + if ($(this).find(content).length) { + content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false); + } + }); + } + break; + + case 'image': + content = current.tpl.image.replace('{href}', href); + break; + + case 'swf': + content = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + href + '"></param>'; + embed = ''; + + $.each(current.swf, function(name, val) { + content += '<param name="' + name + '" value="' + val + '"></param>'; + embed += ' ' + name + '="' + val + '"'; + }); + + content += '<embed src="' + href + '" type="application/x-shockwave-flash" width="100%" height="100%"' + embed + '></embed></object>'; + break; + } + + if (!(isQuery(content) && content.parent().is(current.inner))) { + current.inner.append( content ); + } + + // Give a chance for helpers or callbacks to update elements + F.trigger('beforeShow'); + + // Set scrolling before calculating dimensions + current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling)); + + // Set initial dimensions and start position + F._setDimension(); + + F.reposition(); + + F.isOpen = false; + F.coming = null; + + F.bindEvents(); + + if (!F.isOpened) { + $('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove(); + + } else if (previous.prevMethod) { + F.transitions[ previous.prevMethod ](); + } + + F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ](); + + F._preloadImages(); + }, + + _setDimension: function () { + var viewport = F.getViewport(), + steps = 0, + canShrink = false, + canExpand = false, + wrap = F.wrap, + skin = F.skin, + inner = F.inner, + current = F.current, + width = current.width, + height = current.height, + minWidth = current.minWidth, + minHeight = current.minHeight, + maxWidth = current.maxWidth, + maxHeight = current.maxHeight, + scrolling = current.scrolling, + scrollOut = current.scrollOutside ? current.scrollbarWidth : 0, + margin = current.margin, + wMargin = getScalar(margin[1] + margin[3]), + hMargin = getScalar(margin[0] + margin[2]), + wPadding, + hPadding, + wSpace, + hSpace, + origWidth, + origHeight, + origMaxWidth, + origMaxHeight, + ratio, + width_, + height_, + maxWidth_, + maxHeight_, + iframe, + body; + + // Reset dimensions so we could re-check actual size + wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp'); + + wPadding = getScalar(skin.outerWidth(true) - skin.width()); + hPadding = getScalar(skin.outerHeight(true) - skin.height()); + + // Any space between content and viewport (margin, padding, border, title) + wSpace = wMargin + wPadding; + hSpace = hMargin + hPadding; + + origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width; + origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height; + + if (current.type === 'iframe') { + iframe = current.content; + + if (current.autoHeight && iframe.data('ready') === 1) { + try { + if (iframe[0].contentWindow.document.location) { + inner.width( origWidth ).height(9999); + + body = iframe.contents().find('body'); + + if (scrollOut) { + body.css('overflow-x', 'hidden'); + } + + origHeight = body.outerHeight(true); + } + + } catch (e) {} + } + + } else if (current.autoWidth || current.autoHeight) { + inner.addClass( 'fancybox-tmp' ); + + // Set width or height in case we need to calculate only one dimension + if (!current.autoWidth) { + inner.width( origWidth ); + } + + if (!current.autoHeight) { + inner.height( origHeight ); + } + + if (current.autoWidth) { + origWidth = inner.width(); + } + + if (current.autoHeight) { + origHeight = inner.height(); + } + + inner.removeClass( 'fancybox-tmp' ); + } + + width = getScalar( origWidth ); + height = getScalar( origHeight ); + + ratio = origWidth / origHeight; + + // Calculations for the content + minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth); + maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth); + + minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight); + maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight); + + // These will be used to determine if wrap can fit in the viewport + origMaxWidth = maxWidth; + origMaxHeight = maxHeight; + + if (current.fitToView) { + maxWidth = Math.min(viewport.w - wSpace, maxWidth); + maxHeight = Math.min(viewport.h - hSpace, maxHeight); + } + + maxWidth_ = viewport.w - wMargin; + maxHeight_ = viewport.h - hMargin; + + if (current.aspectRatio) { + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + if (height > maxHeight) { + height = maxHeight; + width = getScalar(height * ratio); + } + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (height < minHeight) { + height = minHeight; + width = getScalar(height * ratio); + } + + } else { + width = Math.max(minWidth, Math.min(width, maxWidth)); + + if (current.autoHeight && current.type !== 'iframe') { + inner.width( width ); + + height = inner.height(); + } + + height = Math.max(minHeight, Math.min(height, maxHeight)); + } + + // Try to fit inside viewport (including the title) + if (current.fitToView) { + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + // Real wrap dimensions + width_ = wrap.width(); + height_ = wrap.height(); + + if (current.aspectRatio) { + while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) { + if (steps++ > 19) { + break; + } + + height = Math.max(minHeight, Math.min(maxHeight, height - 10)); + width = getScalar(height * ratio); + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + } + + } else { + width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_))); + height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_))); + } + } + + if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) { + width += scrollOut; + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + + canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight; + canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight)); + + $.extend(current, { + dim : { + width : getValue( width_ ), + height : getValue( height_ ) + }, + origWidth : origWidth, + origHeight : origHeight, + canShrink : canShrink, + canExpand : canExpand, + wPadding : wPadding, + hPadding : hPadding, + wrapSpace : height_ - skin.outerHeight(true), + skinSpace : skin.height() - height + }); + + if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) { + inner.height('auto'); + } + }, + + _getPosition: function (onlyAbsolute) { + var current = F.current, + viewport = F.getViewport(), + margin = current.margin, + width = F.wrap.width() + margin[1] + margin[3], + height = F.wrap.height() + margin[0] + margin[2], + rez = { + position: 'absolute', + top : margin[0], + left : margin[3] + }; + + if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) { + rez.position = 'fixed'; + + } else if (!current.locked) { + rez.top += viewport.y; + rez.left += viewport.x; + } + + rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))); + rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio))); + + return rez; + }, + + _afterZoomIn: function () { + var current = F.current; + + if (!current) { + return; + } + + F.isOpen = F.isOpened = true; + + F.wrap.css('overflow', 'visible').addClass('fancybox-opened'); + + F.update(); + + // Assign a click event + if ( current.closeClick || (current.nextClick && F.group.length > 1) ) { + F.inner.css('cursor', 'pointer').bind('click.fb', function(e) { + if (!$(e.target).is('a') && !$(e.target).parent().is('a')) { + e.preventDefault(); + + F[ current.closeClick ? 'close' : 'next' ](); + } + }); + } + + // Create a close button + if (current.closeBtn) { + $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) { + e.preventDefault(); + + F.close(); + }); + } + + // Create navigation arrows + if (current.arrows && F.group.length > 1) { + if (current.loop || current.index > 0) { + $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev); + } + + if (current.loop || current.index < F.group.length - 1) { + $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next); + } + } + + F.trigger('afterShow'); + + // Stop the slideshow if this is the last item + if (!current.loop && current.index === current.group.length - 1) { + F.play( false ); + + } else if (F.opts.autoPlay && !F.player.isActive) { + F.opts.autoPlay = false; + + F.play(); + } + }, + + _afterZoomOut: function ( obj ) { + obj = obj || F.current; + + $('.fancybox-wrap').trigger('onReset').remove(); + + $.extend(F, { + group : {}, + opts : {}, + router : false, + current : null, + isActive : false, + isOpened : false, + isOpen : false, + isClosing : false, + wrap : null, + skin : null, + outer : null, + inner : null + }); + + F.trigger('afterClose', obj); + } + }); + + /* + * Default transitions + */ + + F.transitions = { + getOrigPosition: function () { + var current = F.current, + element = current.element, + orig = current.orig, + pos = {}, + width = 50, + height = 50, + hPadding = current.hPadding, + wPadding = current.wPadding, + viewport = F.getViewport(); + + if (!orig && current.isDom && element.is(':visible')) { + orig = element.find('img:first'); + + if (!orig.length) { + orig = element; + } + } + + if (isQuery(orig)) { + pos = orig.offset(); + + if (orig.is('img')) { + width = orig.outerWidth(); + height = orig.outerHeight(); + } + + } else { + pos.top = viewport.y + (viewport.h - height) * current.topRatio; + pos.left = viewport.x + (viewport.w - width) * current.leftRatio; + } + + if (F.wrap.css('position') === 'fixed' || current.locked) { + pos.top -= viewport.y; + pos.left -= viewport.x; + } + + pos = { + top : getValue(pos.top - hPadding * current.topRatio), + left : getValue(pos.left - wPadding * current.leftRatio), + width : getValue(width + wPadding), + height : getValue(height + hPadding) + }; + + return pos; + }, + + step: function (now, fx) { + var ratio, + padding, + value, + prop = fx.prop, + current = F.current, + wrapSpace = current.wrapSpace, + skinSpace = current.skinSpace; + + if (prop === 'width' || prop === 'height') { + ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start); + + if (F.isClosing) { + ratio = 1 - ratio; + } + + padding = prop === 'width' ? current.wPadding : current.hPadding; + value = now - padding; + + F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) ); + F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) ); + } + }, + + zoomIn: function () { + var current = F.current, + startPos = current.pos, + effect = current.openEffect, + elastic = effect === 'elastic', + endPos = $.extend({opacity : 1}, startPos); + + // Remove "position" property that breaks older IE + delete endPos.position; + + if (elastic) { + startPos = this.getOrigPosition(); + + if (current.openOpacity) { + startPos.opacity = 0.1; + } + + } else if (effect === 'fade') { + startPos.opacity = 0.1; + } + + F.wrap.css(startPos).animate(endPos, { + duration : effect === 'none' ? 0 : current.openSpeed, + easing : current.openEasing, + step : elastic ? this.step : null, + complete : F._afterZoomIn + }); + }, + + zoomOut: function () { + var current = F.current, + effect = current.closeEffect, + elastic = effect === 'elastic', + endPos = {opacity : 0.1}; + + if (elastic) { + endPos = this.getOrigPosition(); + + if (current.closeOpacity) { + endPos.opacity = 0.1; + } + } + + F.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : current.closeSpeed, + easing : current.closeEasing, + step : elastic ? this.step : null, + complete : F._afterZoomOut + }); + }, + + changeIn: function () { + var current = F.current, + effect = current.nextEffect, + startPos = current.pos, + endPos = { opacity : 1 }, + direction = F.direction, + distance = 200, + field; + + startPos.opacity = 0.1; + + if (effect === 'elastic') { + field = direction === 'down' || direction === 'up' ? 'top' : 'left'; + + if (direction === 'down' || direction === 'right') { + startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance); + endPos[ field ] = '+=' + distance + 'px'; + + } else { + startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance); + endPos[ field ] = '-=' + distance + 'px'; + } + } + + // Workaround for http://bugs.jquery.com/ticket/12273 + if (effect === 'none') { + F._afterZoomIn(); + + } else { + F.wrap.css(startPos).animate(endPos, { + duration : current.nextSpeed, + easing : current.nextEasing, + complete : F._afterZoomIn + }); + } + }, + + changeOut: function () { + var previous = F.previous, + effect = previous.prevEffect, + endPos = { opacity : 0.1 }, + direction = F.direction, + distance = 200; + + if (effect === 'elastic') { + endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px'; + } + + previous.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : previous.prevSpeed, + easing : previous.prevEasing, + complete : function () { + $(this).trigger('onReset').remove(); + } + }); + } + }; + + /* + * Overlay helper + */ + + F.helpers.overlay = { + defaults : { + closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay + speedOut : 200, // duration of fadeOut animation + showEarly : true, // indicates if should be opened immediately or wait until the content is ready + css : {}, // custom CSS properties + locked : !isTouch, // if true, the content will be locked into overlay + fixed : true // if false, the overlay CSS position property will not be set to "fixed" + }, + + overlay : null, // current handle + fixed : false, // indicates if the overlay has position "fixed" + el : $('html'), // element that contains "the lock" + + // Public methods + create : function(opts) { + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.close(); + } + + this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( F.coming ? F.coming.parent : opts.parent ); + this.fixed = false; + + if (opts.fixed && F.defaults.fixed) { + this.overlay.addClass('fancybox-overlay-fixed'); + + this.fixed = true; + } + }, + + open : function(opts) { + var that = this; + + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.overlay.unbind('.overlay').width('auto').height('auto'); + + } else { + this.create(opts); + } + + if (!this.fixed) { + W.bind('resize.overlay', $.proxy( this.update, this) ); + + this.update(); + } + + if (opts.closeClick) { + this.overlay.bind('click.overlay', function(e) { + if ($(e.target).hasClass('fancybox-overlay')) { + if (F.isActive) { + F.close(); + } else { + that.close(); + } + + return false; + } + }); + } + + this.overlay.css( opts.css ).show(); + }, + + close : function() { + var scrollV, scrollH; + + W.unbind('resize.overlay'); + + if (this.el.hasClass('fancybox-lock')) { + $('.fancybox-margin').removeClass('fancybox-margin'); + + scrollV = W.scrollTop(); + scrollH = W.scrollLeft(); + + this.el.removeClass('fancybox-lock'); + + W.scrollTop( scrollV ).scrollLeft( scrollH ); + } + + $('.fancybox-overlay').remove().hide(); + + $.extend(this, { + overlay : null, + fixed : false + }); + }, + + // Private, callbacks + + update : function () { + var width = '100%', offsetWidth; + + // Reset width/height so it will not mess + this.overlay.width(width).height('100%'); + + // jQuery does not return reliable result for IE + if (IE) { + offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); + + if (D.width() > offsetWidth) { + width = D.width(); + } + + } else if (D.width() > W.width()) { + width = D.width(); + } + + this.overlay.width(width).height(D.height()); + }, + + // This is where we can manipulate DOM, because later it would cause iframes to reload + onReady : function (opts, obj) { + var overlay = this.overlay; + + $('.fancybox-overlay').stop(true, true); + + if (!overlay) { + this.create(opts); + } + + if (opts.locked && this.fixed && obj.fixed) { + if (!overlay) { + this.margin = D.height() > W.height() ? $('html').css('margin-right').replace("px", "") : false; + } + + obj.locked = this.overlay.append( obj.wrap ); + obj.fixed = false; + } + + if (opts.showEarly === true) { + this.beforeShow.apply(this, arguments); + } + }, + + beforeShow : function(opts, obj) { + var scrollV, scrollH; + + if (obj.locked) { + if (this.margin !== false) { + $('*').filter(function(){ + return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") ); + }).addClass('fancybox-margin'); + + this.el.addClass('fancybox-margin'); + } + + scrollV = W.scrollTop(); + scrollH = W.scrollLeft(); + + this.el.addClass('fancybox-lock'); + + W.scrollTop( scrollV ).scrollLeft( scrollH ); + } + + this.open(opts); + }, + + onUpdate : function() { + if (!this.fixed) { + this.update(); + } + }, + + afterClose: function (opts) { + // Remove overlay if exists and fancyBox is not opening + // (e.g., it is not being open using afterClose callback) + //if (this.overlay && !F.isActive) { + if (this.overlay && !F.coming) { + this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this )); + } + } + }; + + /* + * Title helper + */ + + F.helpers.title = { + defaults : { + type : 'float', // 'float', 'inside', 'outside' or 'over', + position : 'bottom' // 'top' or 'bottom' + }, + + beforeShow: function (opts) { + var current = F.current, + text = current.title, + type = opts.type, + title, + target; + + if ($.isFunction(text)) { + text = text.call(current.element, current); + } + + if (!isString(text) || $.trim(text) === '') { + return; + } + + title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap">' + text + '</div>'); + + switch (type) { + case 'inside': + target = F.skin; + break; + + case 'outside': + target = F.wrap; + break; + + case 'over': + target = F.inner; + break; + + default: // 'float' + target = F.skin; + + title.appendTo('body'); + + if (IE) { + title.width( title.width() ); + } + + title.wrapInner('<span class="child"></span>'); + + //Increase bottom margin so this title will also fit into viewport + F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) ); + break; + } + + title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target); + } + }; + + // jQuery plugin initialization + $.fn.fancybox = function (options) { + var index, + that = $(this), + selector = this.selector || '', + run = function(e) { + var what = $(this).blur(), idx = index, relType, relVal; + + if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) { + relType = options.groupAttr || 'data-fancybox-group'; + relVal = what.attr(relType); + + if (!relVal) { + relType = 'rel'; + relVal = what.get(0)[ relType ]; + } + + if (relVal && relVal !== '' && relVal !== 'nofollow') { + what = selector.length ? $(selector) : that; + what = what.filter('[' + relType + '="' + relVal + '"]'); + idx = what.index(this); + } + + options.index = idx; + + // Stop an event from bubbling if everything is fine + if (F.open(what, options) !== false) { + e.preventDefault(); + } + } + }; + + options = options || {}; + index = options.index || 0; + + if (!selector || options.live === false) { + that.unbind('click.fb-start').bind('click.fb-start', run); + + } else { + D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run); + } + + this.filter('[data-fancybox-start=1]').trigger('click'); + + return this; + }; + + // Tests that need a body at doc ready + D.ready(function() { + var w1, w2; + + if ( $.scrollbarWidth === undefined ) { + // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth + $.scrollbarWidth = function() { + var parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'), + child = parent.children(), + width = child.innerWidth() - child.height( 99 ).innerWidth(); + + parent.remove(); + + return width; + }; + } + + if ( $.support.fixedPosition === undefined ) { + $.support.fixedPosition = (function() { + var elem = $('<div style="position:fixed;top:20px;"></div>').appendTo('body'), + fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 ); + + elem.remove(); + + return fixed; + }()); + } + + $.extend(F.defaults, { + scrollbarWidth : $.scrollbarWidth(), + fixed : $.support.fixedPosition, + parent : $('body') + }); + + //Get real width of page scroll-bar + w1 = $(window).width(); + + H.addClass('fancybox-lock-test'); + + w2 = $(window).width(); + + H.removeClass('fancybox-lock-test'); + + $("<style type='text/css'>.fancybox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head"); + }); + +}(window, document, jQuery));
\ No newline at end of file diff --git a/share/frontend/im/colors/js/jquery.mousewheel-3.0.6.pack.js b/share/frontend/im/colors/js/jquery.mousewheel-3.0.6.pack.js new file mode 100644 index 0000000..e39a83a --- /dev/null +++ b/share/frontend/im/colors/js/jquery.mousewheel-3.0.6.pack.js @@ -0,0 +1,13 @@ +/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) + * Licensed under the MIT License (LICENSE.txt). + * + * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. + * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. + * Thanks to: Seamus Leahy for adding deltaX and deltaY + * + * Version: 3.0.6 + * + * Requires: 1.2.2+ + */ +(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]= +d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
\ No newline at end of file diff --git a/share/frontend/im/colors/js/jquery.remember-state.js b/share/frontend/im/colors/js/jquery.remember-state.js new file mode 100644 index 0000000..d695fbd --- /dev/null +++ b/share/frontend/im/colors/js/jquery.remember-state.js @@ -0,0 +1,193 @@ +(function($) { + /* jQuery form remember state plugin + Name: rememberState + Version: 1.3.2 + Description: When called on a form element, localStorage is used to + remember the values that have been input up to the point of either + saving or unloading. (closing window, navigating away, etc.) If + localStorage isn't available, nothing is bound or stored. + The plugin looks for an element with a class of remember_state to show + a note indicating there is stored data that can be repopulated by clicking + on the anchor within the remember_state container. If the element doesn't + exist, it is created and prepended to the form. + Usage: $("form").rememberState("my_object_name"); + Notes: To trigger the deletion of a form's localStorage object from + outside the plugin, trigger the reset_state event on the form element + by using $("form").trigger("reset_state"); + */ + if (!window.localStorage || !window.JSON) { + if (console && console.log) { + !window.localStorage && console.log("ERROR: you browser does not support" + + " localStorage (use this polyfill https://gist.github.com/350433)"); + !window.JSON&& console.log("ERROR: you browser does not support" + + " JSON (use this polyfill http://bestiejs.github.com/json3/)"); + } + return $.fn.rememberState = function() { return this; }; + } + + var remember_state = { + name: "rememberState", + clearOnSubmit: true, + noticeDialog: (function() { + return $("<p />", {"class": "remember_state"}) + .html('Do you want to <a href="#">restore your previously entered info</a>?'); + })(), + ignore: null, + noticeSelector: ".remember_state", + use_ids: false, + objName: false, + clickNotice: function(e) { + var data = JSON.parse(localStorage.getItem(e.data.instance.objName)), + $f = $(this).closest("form"), + $e; + for (var i in data) { + $e = $f.find("[name=\"" + data[i].name + "\"]"); + if ($e.is(":radio, :checkbox")) { + $e.filter("[value=" + data[i].value + "]").prop("checked", true); + } + else if ($e.is("select")) { + $e.find("[value=" + data[i].value + "]").prop("selected", true); + } + else { + $e.val(data[i].value); + } + $e.change(); + } + e.data.instance.noticeDialog.remove(); + e.preventDefault(); + }, + chooseStorageProp: function() { + if (this.$el.length > 1) { + if (console && console.warn) { + console.warn("WARNING: Cannot process more than one form with the same" + + " object. Attempting to use form IDs instead."); + } + this.objName = this.$el.attr("id"); + } + }, + errorNoID: function() { + if (console && console.log) { + console.log("ERROR: No form ID or object name. Add an ID or pass" + + " in an object name"); + } + }, + saveState: function(e) { + var instance = e.data.instance; + var values = instance.$el.serializeArray(); + // jQuery doesn't currently support datetime-local inputs despite a + // comment by dmethvin stating the contrary: + // http://bugs.jquery.com/ticket/5667 + // Manually storing input type until jQuery is patched + instance.$el.find("input[type='datetime-local']").each(function() { + var $i = $(this); + values.push({ name: $i.attr("name"), value: $i.val() }); + }); + values = instance.removeIgnored(values); + values.length && internals.setObject(instance.objName, values); + }, + save: function() { + var instance = this; + if (!this.saveState) { + instance = this.data(remember_state.name); + } + instance.saveState({ data: { instance: instance } }); + }, + removeIgnored: function(values) { + var ignore = this.ignore; + if (!ignore) { return values; } + $.each(values, function(i, input) { + if ($.inArray(input.name, ignore) !== -1) { + values[i] = false; + } + }); + values = $.grep(values, function(val) { return val; }); + return values; + }, + bindNoticeDialog: function() { + if (!this.noticeDialog.length || !this.noticeDialog.jquery) { + return; + } + this.noticeDialog.find("a").bind("click." + this.name, { + instance: this + }, this.clickNotice); + }, + setName: function() { + this.objName = this.objName || this.$el.attr("id"); + if (!this.objName) { this.errorNoID(); } + }, + bindResetEvents: function() { + if (this.clearOnSubmit) { + this.$el.bind("submit." + this.name, function() { + this.$el.trigger("reset_state"); + $(window).unbind("unload." + this.name); + }); + } + + this.$el.bind("reset_state." + this.name, function() { + localStorage.removeItem(this.objName); + }); + this.$el.find(":reset").bind("click." + this.name, function() { + $(this).closest("form").trigger("reset_state"); + }); + }, + createNoticeDialog: function() { + if (localStorage[this.objName]) { + if (this.noticeDialog.length && this.noticeDialog.jquery) { + this.noticeDialog.prependTo(this.$el); + } + else { + this.$el.find(this.noticeSelector).show(); + } + } + }, + destroy: function(destroy_local_storage) { + var namespace = "." + this.name; + this.$el.unbind(namespace).find(":reset").unbind(namespace); + $(window).unbind(namespace); + destroy_local_storage && localStorage.removeItem(this.objName); + }, + init: function() { + this.bindNoticeDialog(); + this.setName(); + + if (!this.objName) { return; } + + this.bindResetEvents(); + this.createNoticeDialog(); + + $(window).bind("unload." + this.name, { instance: this }, this.saveState); + } + }; + + var internals = { + setObject: function(key, value) { localStorage[key] = JSON.stringify(value); }, + getObject: function(key) { return JSON.parse(localStorage[key]); }, + createPlugin: function(plugin) { + $.fn[plugin.name] = function(opts) { + var $els = this, + method = $.isPlainObject(opts) || !opts ? "" : opts, + args = arguments; + if (method && plugin[method]) { + $els.each(function(i) { + plugin[method].apply($els.eq(i).data(plugin.name), Array.prototype.slice.call(args, 1)); + }); + } + else if (!method) { + $els.each(function(i) { + var plugin_instance = $.extend(true, { + $el: $els.eq(i) + }, plugin, opts); + $els.eq(i).data(plugin.name, plugin_instance); + plugin_instance.init(); + }); + } + else { + $.error('Method ' + method + ' does not exist on jQuery.' + plugin.name); + } + return $els; + }; + } + }; + + internals.createPlugin(remember_state); +})(jQuery); diff --git a/share/frontend/im/colors/js/jquery.remember-state.pack.js b/share/frontend/im/colors/js/jquery.remember-state.pack.js new file mode 100644 index 0000000..3aec315 --- /dev/null +++ b/share/frontend/im/colors/js/jquery.remember-state.pack.js @@ -0,0 +1 @@ +eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(2($){4(!k.h||!k.n){4(8&&8.s){!k.h&&8.s("B: C L D E M"+" h (F 0 N 1q://1r.O.P/1s)");!k.n&&8.s("B: C L D E M"+" n (F 0 N 1t://1u.O.P/1v/)")}9 $.Q.R=2(){9 0}}6 f={3:"R",S:w,j:(2(){9 $("<p />",{"1w":"T"}).1x(\'1y C 1z U <a 1A="#">1B 1C 1D 1E 1F</a>?\')})(),V:1G,W:".T",1H:G,7:G,X:2(e){6 a=n.Y(h.1I(e.l.o.7)),$f=$(0).Z("t"),$e;1J(6 i 10 a){$e=$f.m("[3=\\""+a[i].3+"\\"]");4($e.11(":1K, :1L")){$e.1M("[q="+a[i].q+"]").12("1N",w)}u 4($e.11("1O")){$e.m("[q="+a[i].q+"]").12("1P",w)}u{$e.13(a[i].q)}$e.1Q()}e.l.o.j.1R();e.1S()},1T:2(){4(0.$5.x>1){4(8&&8.14){8.14("1U: 1V 1W 1X 1Y 1Z t 20 21 22"+" H. 23 U F t 24 25.")}0.7=0.$5.I("15")}},16:2(){4(8&&8.s){8.s("B: 26 t 17 18 H 3. 27 19 17 18 28"+" 10 19 H 3")}},y:2(e){6 b=e.l.o;6 c=b.$5.29();b.$5.m("2a[2b=\'2c-2d\']").z(2(){6 a=$(0);c.2e({3:a.I("3"),q:a.13()})});c=b.1a(c);c.x&&g.1b(b.7,c)},2f:2(){6 a=0;4(!0.y){a=0.l(f.3)}a.y({l:{o:a}})},1a:2(b){6 c=0.V;4(!c){9 b}$.z(b,2(i,a){4($.2g(a.3,c)!==-1){b[i]=G}});b=$.2h(b,2(a){9 a});9 b},1c:2(){4(!0.j.x||!0.j.1d){9}0.j.m("a").v("1e."+0.3,{o:0},0.X)},1f:2(){0.7=0.7||0.$5.I("15");4(!0.7){0.16()}},1g:2(){4(0.S){0.$5.v("2i."+0.3,2(){0.$5.1h("J");$(k).A("1i."+0.3)})}0.$5.v("J."+0.3,2(){h.1j(0.7)});0.$5.m(":1k").v("1e."+0.3,2(){$(0).Z("t").1h("J")})},1l:2(){4(h[0.7]){4(0.j.x&&0.j.1d){0.j.2j(0.$5)}u{0.$5.m(0.W).2k()}}},2l:2(a){6 b="."+0.3;0.$5.A(b).m(":1k").A(b);$(k).A(b);a&&h.1j(0.7)},1m:2(){0.1c();0.1f();4(!0.7){9}0.1g();0.1l();$(k).v("1i."+0.3,{o:0},0.y)}};6 g={1b:2(a,b){h[a]=n.2m(b)},2n:2(a){9 n.Y(h[a])},1n:2(d){$.Q[d.3]=2(b){6 c=0,r=$.2o(b)||!b?"":b,1o=2p;4(r&&d[r]){c.z(2(i){d[r].2q(c.K(i).l(d.3),2r.2s.2t.2u(1o,1))})}u 4(!r){c.z(2(i){6 a=$.2v(w,{$5:c.K(i)},d,b);c.K(i).l(d.3,a);a.1m()})}u{$.2w(\'2x \'+r+\' D E 2y 2z 1p.\'+d.3)}9 c}}};g.1n(f)})(1p);',62,160,'this||function|name|if|el|var|objName|console|return||||||||localStorage||noticeDialog|window|data|find|JSON|instance||value|method|log|form|else|bind|true|length|saveState|each|unbind|ERROR|you|does|not|use|false|object|attr|reset_state|eq|browser|support|polyfill|github|com|fn|rememberState|clearOnSubmit|remember_state|to|ignore|noticeSelector|clickNotice|parse|closest|in|is|prop|val|warn|id|errorNoID|ID|or|an|removeIgnored|setObject|bindNoticeDialog|jquery|click|setName|bindResetEvents|trigger|unload|removeItem|reset|createNoticeDialog|init|createPlugin|args|jQuery|https|gist|350433|http|bestiejs|json3|class|html|Do|want|href|restore|your|previously|entered|info|null|use_ids|getItem|for|radio|checkbox|filter|checked|select|selected|change|remove|preventDefault|chooseStorageProp|WARNING|Cannot|process|more|than|one|with|the|same|Attempting|IDs|instead|No|Add|pass|serializeArray|input|type|datetime|local|push|save|inArray|grep|submit|prependTo|show|destroy|stringify|getObject|isPlainObject|arguments|apply|Array|prototype|slice|call|extend|error|Method|exist|on'.split('|'),0,{})) diff --git a/share/frontend/im/colors_iframe.js b/share/frontend/im/colors_iframe.js new file mode 100644 index 0000000..43fd5f2 --- /dev/null +++ b/share/frontend/im/colors_iframe.js @@ -0,0 +1,45 @@ + + + + +function launch_iframe(input_target){ + $.fancybox.open({ + href : '/im/colors/index.html', + width : 1100, // set the width + height : 710, + fitToView : true, + autoDimensions:false, + autoSize:false, + type : 'iframe', + closeBtn : false, + padding : 5, + beforeShow : function(){ + $('.fancybox-iframe').contents().find('#submitvalue').click(function(){ + $('.fancybox-iframe').contents().find('form').submit(); + $.fancybox.close(); + }); + }, + beforeClose : function(){ + x = $('.fancybox-iframe').contents().find('#namespace').val(); + }, + afterClose: function(){ + $(input_target).val(x); + } + }); +} +$(document).ready(function(){ + if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { + return; + } + var element_list = [".img-white", ".img-black", ".img-subtract"] + element_list.forEach( + function(l){ + console.log("a"+l) + $("a"+l).click(function(event){ + event.preventDefault(); + launch_iframe("input"+l) + }); + } + ) + +}) diff --git a/share/frontend/im/df.html b/share/frontend/im/df.html new file mode 100755 index 0000000..9dcb486 --- /dev/null +++ b/share/frontend/im/df.html @@ -0,0 +1,10 @@ +<img src="df.png" width="388" height="171"> +<h1>We are totally running low on disk space!!!!!!!!!1</h1> +<h2 style="font-weight: normal;white-space:pre">I have a plan to host everything on S3 but I have to find a block of time to move it over. +There is a lot competing for my attention right now so this isn't gonna happen right away. +If U use Photoblaster a lot please restrain yourself like ration your use. +Not saying don't use it but like just be mindful k? +I love what U make bb U blow my mind every day like whoa. +</h2> +<div style="font-size: 150px; width: 100%; text-align: right">love jules</div> + diff --git a/share/frontend/im/df.png b/share/frontend/im/df.png Binary files differnew file mode 100755 index 0000000..c0fda7f --- /dev/null +++ b/share/frontend/im/df.png diff --git a/share/frontend/im/gallery/.htaccess b/share/frontend/im/gallery/.htaccess new file mode 100755 index 0000000..2617f79 --- /dev/null +++ b/share/frontend/im/gallery/.htaccess @@ -0,0 +1,2 @@ +DirectoryIndex /cgi-bin/im/gallery + diff --git a/share/frontend/im/gallery/pep/.htaccess b/share/frontend/im/gallery/pep/.htaccess new file mode 100755 index 0000000..74017fd --- /dev/null +++ b/share/frontend/im/gallery/pep/.htaccess @@ -0,0 +1,2 @@ +DirectoryIndex /cgi-bin/im/peppergallery + diff --git a/share/frontend/im/gallery_style.css b/share/frontend/im/gallery_style.css new file mode 100755 index 0000000..2d78a0e --- /dev/null +++ b/share/frontend/im/gallery_style.css @@ -0,0 +1,51 @@ +/**** Isotope Filtering ****/ + +.isotope-item { + z-index: 2; +} + +.isotope-hidden.isotope-item { + pointer-events: none; + z-index: 1; +} + +/**** Isotope CSS3 transitions ****/ + +.isotope, +.isotope .isotope-item { + -webkit-transition-duration: 0.3s; + -moz-transition-duration: 0.3s; + -ms-transition-duration: 0.3s; + -o-transition-duration: 0.3s; + transition-duration: 0.3s; +} + + +.isotope { + -webkit-transition-property: height, width; + -moz-transition-property: height, width; + -ms-transition-property: height, width; + -o-transition-property: height, width; + transition-property: height, width; +} + +.isotope .isotope-item { + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform, opacity; + -ms-transition-property: -ms-transform, opacity; + -o-transition-property: -o-transform, opacity; + transition-property: transform, opacity; +} + +/**** disabling Isotope CSS3 transitions ****/ + +.isotope.no-transition, +.isotope.no-transition .isotope-item, +.isotope .isotope-item.no-transition { + -webkit-transition-duration: 0s; + -moz-transition-duration: 0s; + -ms-transition-duration: 0s; + -o-transition-duration: 0s; + transition-duration: 0s; +} + diff --git a/share/frontend/im/gradient.html b/share/frontend/im/gradient.html new file mode 100755 index 0000000..6b451bb --- /dev/null +++ b/share/frontend/im/gradient.html @@ -0,0 +1,402 @@ +<!doctype html> +<html> +<head> +<title>PHOTOBLASTER</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta property="og:title" content="PHOTOBLASTER"/> +<meta property="og:type" content="website"/> +<meta property="og:url" content="http://asdf.us/im/"/> +<meta property="og:image" content="http://asdf.us/im/6e/sparklebling1_1310021111_1310071704.gif" /> +<meta property="og:site_name" content="asdf.us"/> +<meta property="og:description" content=""/> +<meta property="fb:admins" content="100001923956223,1709246"/> +<style type="text/css"> +* + { + padding: 0; + margin: 0; + font-family: serif; + font-size: 16px; +background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.01, #480925), + color-stop(0.51, #7E8585) +); +background-image: -moz-linear-gradient( + center bottom, + #480925 1%, + #7E8585 51% +); + + + } +body + { +// overflow: hidden; +background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.01, #480925), + color-stop(0.51, #7E8585) +); +background-image: -moz-linear-gradient( + center bottom, + #480925 1%, + #7E8585 51% +); + + +// background-color: red; + } +#controls,#result + { + display: inline-block; + padding: 10px; + width: 430px; + position: absolute; + } +#controls + { + font-size: 14px; + top: 0; left: 0; + max-height: 450px; + z-index: 5; + } +#result + { + background-color: #d6d0d0; + top: 10px; left: 480px; + display: none; + z-index: 5; + } +#instructions + { + position: absolute; + bottom: 10px; + left: 10px; + line-height: 18px; + z-index: 1; + } +p + { +// background-color: #fff; + padding: 10px; + font-size: 14px; + width: 430px; + display: block; + } +#gallery-link + { + background-color: #fff; + position: absolute; + top: 10px; + right: 10px; + padding: 10px; + z-index: 10; + } +.error + { + color: red; + font-size: 20px; + } +a + { + color: #b4d; + font-weight: bold; + } +label + { + display: inline-block; + width: 190px; + padding-right: 10px; + text-align: right; + } +input[type=text] + { + width: 100px; + } +#img-url,#output-url,#img-background + { + width: 200px; + } +#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate + { + width: 50px; + text-align: right; + } +button + { + padding: 2px 5px; + font-size: 16px; + } +#result img + { + max-width: 400px; + max-height: 400px; + } +#output-cmd + { + font-size: 12px; + white-space: pre; + } +.shim + { + height: 10px; + clear: both; + display: block; + } +#output-url + { + width: 320px; + } +#likebutton + { + position: absolute; + bottom: 10px; + right: 10px; + width: 350px; + background-color: #fff; + padding: 10px; + color: #ddd; + font-family: trebuchet ms, sans-serif; + } +</style> +<body> +<div id="controls"> +<p> + <label>IMAGE URL</label> + <input type="text" id="img-url" /> + <br/> + + + <label>define a width</label> + <input type="text" id="img-width" /><small>px</small> + <br/> + + <label>define a height</label> + <input type="text" id="img-height" /><small>px</small> + <br/> + + <span class="shim"></span> + + <label>first color</label> + <input type="text" id="first-color" value="" /> + <br/> + + <label>second color</label> + <input type="text" id="second-color" value="" /> + <br/> + + <span class="shim"></span> + + + <label>brightness <small>(0-200)</small></label> + <input type="text" id="img-brightness" value="" /> + <br/> + +<!-- + <label>contrast <small>(0-200)</small></label> + <input type="text" id="img-contrast" value="" /> + <br/> +--> + + <span class="shim"></span> + + <label>flip horizontally?</label> + <input type="checkbox" id="img-flop" value="1" /> + <br/> + + <label>flip vertically?</label> + <input type="checkbox" id="img-flip" value="1" /> + <br/> + + <label>rotate <small>(0-360)</small></label> + <input type="text" id="img-rotate" value="" />° + <br/> + + <label>gradient type</label> + <select id="gradient-type"> + <option selected="selected">Over</option> + <option>ATop</option> + <option>Dst_Over</option> + <option>Dst_In</option> + <option>Dst_Out</option> + <option>Multiply</option> + <option>Screen</option> + <option>Divide</option> + <option>Plus</option> + <option>Difference</option> + <option>Exclusion</option> + <option>Lighten</option> + <option>Darken</option> + <option>Overlay</option> + <option>Hard_Light</option> + <option>Soft_Light</option> + <option>Pegtop_Light</option> + <option>Linear_Light</option> + <option>Vivid_Light</option> + <option>Pin_Light</option> + <option>Linear_Dodge</option> + <option>Linear_Burn</option> + <option>Color_Dodge</option> + <option>Color_Burn</option> + </select> + + <label>output format</label> + <select id="img-format"> + <option selected="selected">gif</option> + <option>jpg</option> + <option>png</option> + </select> +--> + + <span class="shim"></span> + + <label>your name</label> + <input type="text" id="img-name" /> + <br/> + + <span class="shim"></span> + + <label> </label> + <button id="img-generate">GENERATE</button> +</p> + + <span class="shim"></span> + <p> + See what people are making → <a href="/im/gallery/">Image Gallery</a><br/> + <span class="shim"></span> + Some really cool photoblasts → <a href="http://photoblaster.tumblr.com/">Photoblaster Tumblr</a> + </p> +<br> + <p> + <span class="shim"></span> + Go back to the editor → <a href"/im/">Photoblaster Editor</a></br> +</div> + + +<div id="result"> + → <input type="text" id="output-url"/><br/> + <span id="output-cmd"></span><br/> + + <img id="output-img" /> +</div> + +<div id="instructions"> + <p> + Define a width and height, and choose colors for the gradient. You can also choose the gradient style. + <span class="shim"></span> + Specify colors using hex codes, or consult the list of <a href="colors.html" target="_blank">Color Names</a>. + </p> +</div> + +<div id="likebutton"> +<div id="fb-root" style="background-color: transparent;"></div><script src="http://connect.facebook.net/en_US/all.js#appId=236917449658413&xfbml=1"></script><fb:like href="http://asdf.us/im/" send="false" width="347" show_faces="true" colorscheme="light" font="" style="background-color: transparent;"></fb:like> +</div> + +</body> +<script type="text/javascript" src="/js/jquery.js"></script> +<script type="text/javascript"> +var Main = + { + API_HEADER: "#@im", + enter: function (e) + { + if (e.keyCode === 13) + Main.go() + }, + go: function () + { + $("#output-cmd").html('generating...').show() + $("#result").show() + var data = + { + url: $("#img-url").val(), + transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false", + flip: $('#img-flip:checked').val() !== undefined ? "true" : "false", + flop: $('#img-flop:checked').val() !== undefined ? "true" : "false", + rotate: $("#img-rotate").val(), + subtract: $("#img-subtract").val(), + fuzz: $("#img-fuzz").val(), + width: $("#img-width").val(), + height: $("#img-height").val(), + black: $("#img-black").val(), + white: $("#img-white").val(), + brightness: $("#img-brightness").val(), + saturation: $("#img-saturation").val(), + hue: $("#img-hue").val(), + contrast: $("#img-contrast").val(), + background: $("#img-background").val(), + // merge_early: $('#img-merge_early:checked').val() !== undefined ? "true" : "false", + compose: $('#img-compose :selected').text(), + // tile: $('#img-tile:checked').val() !== undefined ? "true" : "false", + format: $('#img-format :selected').text(), + name: $("#img-name").val(), + } + if (data.name.length > 0) + document.cookie = "imname="+data.name+";path=/;domain=.asdf.us;max-age=1086400" + $.post("/cgi-bin/im/generate", data, Main.callback) + }, + error: function (s) + { + $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show() + $("#output-url").hide() + $("#output-img").hide() + }, + callback: function (raw) + { + lines = raw.split("\n") + if (lines[0] !== Main.API_HEADER) + return Main.error("problem loading API") + if (lines[1].indexOf("ERROR\t") === 0) + return Main.error(lines[1].split("\t")[1]) + + // $("#output-cmd").html(lines[1]+"<br/>"+lines[2]) + // $("#output-cmd").hide() + $("#output-cmd").html("size: "+Main.filesize(lines[4])+"<br/>"+(lines[5].replace(" ", " x ").replace(/'/g,"").replace(',',""))) + $("#output-url").val(lines[3]) + $("#output-img").hide().attr("src", lines[3]).fadeIn(700) + }, + filesize: function (size) + { + if (size < 1024) + return size + " bytes" + if (size < 1024 * 1024) + return Math.floor (size/1024) + " KB" + else + return Math.floor (size/(1024*1024)) + " MB" + }, + cookie: function () + { + if (document.cookie) + { + var cookies = document.cookie.split(";") + for (i in cookies) + { + var cookie = cookies[i].split("=") + if (cookie[0].indexOf("imname") !== -1) + { + if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length) + { + return cookie[1] + } + } + } + } + return "" + }, + init: function () + { + var name = Main.cookie () + $("#img-name").val(name) + $("#img-generate").bind("click", Main.go) + $("div input[type=text]").bind("keydown", Main.enter) + }, + } +Main.init () +</script> +</html> + diff --git a/share/frontend/im/imcupbg.jpg b/share/frontend/im/imcupbg.jpg Binary files differnew file mode 100755 index 0000000..b3cf3f5 --- /dev/null +++ b/share/frontend/im/imcupbg.jpg diff --git a/share/frontend/im/index.html b/share/frontend/im/index.html new file mode 100755 index 0000000..9a14e27 --- /dev/null +++ b/share/frontend/im/index.html @@ -0,0 +1,569 @@ +<!doctype html> +<html> +<head> +<title>PHOTOBLASTER</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta property="og:title" content="PHOTOBLASTER"/> +<meta property="og:type" content="website"/> +<meta property="og:url" content="http://asdf.us/im/"/> +<meta property="og:image" content="http://asdf.us/im/6e/sparklebling1_1310021111_1310071704.gif" /> +<meta property="og:site_name" content="asdf.us"/> +<meta property="og:description" content="Paste a link into the first box, then use the other settings to colorize, distort, add transparency and a background."/> +<meta property="fb:admins" content="100001923956223,1709246"/> +<!--FOR THE COLORS IFRAME--> +<link rel="stylesheet" type="text/css" href="/im/colors/css/jquery.fancybox.css?v=2.1.5" media="screen" /> + +<style type="text/css"> +* + { + padding: 0; + margin: 0; + font-family: sans-serif; + } +body + { + background-color: #efedee; + // background-color: #838388; + color: #555; + } +#down_for_maintenance{ + position: absolute; + background: url("http://asdf.us/impattern/patterns/38.png"); + z-index:2000; + height: 100%; + width: 100%; + top: 0; + left:0; + display: none; +} +#down_for_maintenance > span{ + background: white; +} +#controls,#result + { + display: inline-block; + margin: 10px; + width: 430px; + float: left; + } +#controls + { + font-size: 14px; + top: 0; left: 0; + z-index: 5; + } +#result + { + background-color: #d6d0d0; +// background-color: #131412; + margin-left: 20px; + padding: 10px; + display: none; + z-index: 5; + } +#sendtoinput + { + font-size: 10px; + } +#instructions + { + position: absolute; + bottom: 10px; + left: 10px; + line-height: 18px; + z-index: 1; + } +p,form + { +// background-color: #010101; + background-color: #fff; +// background-image: url(imcupbg.jpg); + background-position: center center; + padding: 10px; + font-size: 14px; + width: 430px; + display: block; + } +#gallery-link + { + background-color: #fff; +// background-image: url(imcupbg.jpg); + background-position: center center; + position: absolute; + top: 10px; + right: 10px; + padding: 10px; + z-index: 10; + } +.error + { + color: red; + font-size: 20px; + } +a + { +// color: #b4d; + color: #a39; + font-weight: bold; + } +label + { + display: inline-block; + width: 190px; + padding-right: 10px; + text-align: right; + } +small + { + color: #777; + } +input[type=text] + { + width: 100px; + } +#img-url,#output-url,#img-background + { + width: 200px; + } +#bgswitcheroo, #colorswitcheroo + { + width: 19px; + height:38px; + display: inline-block; + position: absolute; + background-image: url(http://i.asdf.us/im/7e/user_convo_1353562627_1355449919.png); + //background-image: url( http://i.asdf.us/im/7b/user_convo_1353562627.png); + background-repeat:no-repeat; + background-position: 3px 10px; + cursor: pointer; + } +#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate + { + width: 50px; + text-align: right; + } +button + { + padding: 2px 5px; + font-size: 16px; + } +#result img + { + max-width: 400px; + max-height: 400px; + } +#output-cmd + { + font-size: 12px; + white-space: pre; + } +.shim + { + height: 10px; + clear: both; + display: block; + } +#output-url + { + width: 320px; + } +#likebutton + { + display: none; + position: absolute; + bottom: 10px; + right: 10px; + width: 350px; + background-color: #fff; +// background-image: url(imcupbg.jpg); + padding: 10px; + color: #ddd; + font-family: trebuchet ms, sans-serif; + } +div#controls, span#userlink { + display: none; +} span#userlink a { + text-transform: capitalize; +} +</style> + +</head> +<body> +<div id="down_for_maintenance"> + <span>SORRY, this photoblaster page is down for maintenance. Will be back in an hour or so...</span> +</div> +<div id="controls"> +<form id="imform" action="javascript:return false"> + <label id="img-url-label">IMAGE URL</label> + <input type="text" id="img-url" /><div id="bgswitcheroo"></div> + <!--<br/>--> + <label id="background-url-label">background URL</label> + <input type="text" id="img-background" value="" /> + <br/> + + <label>compose operator</label> + <select id="img-compose"> + <option selected="selected">Over</option> + <option>ATop</option> + <option>Dst_Over</option> + <option>Dst_In</option> + <option>Dst_Out</option> + <option>Multiply</option> + <option>Screen</option> + <option>Divide</option> + <option>Plus</option> + <option>Difference</option> + <option>Exclusion</option> + <option>Lighten</option> + <option>Darken</option> + <option>Overlay</option> + <option>Hard_Light</option> + <option>Soft_Light</option> + <option>Pegtop_Light</option> + <option>Linear_Light</option> + <option>Vivid_Light</option> + <option>Pin_Light</option> + <option>Linear_Dodge</option> + <option>Linear_Burn</option> + <option>Color_Dodge</option> + <option>Color_Burn</option> + </select> + <br/> + + <label>gravity</label> + <select id="img-gravity"> + <option selected="selected">Center</option> + <option>East</option> + <option>NorthEast</option> + <option>North</option> + <option>NorthWest</option> + <option>West</option> + <option>SouthWest</option> + <option>South</option> + <option>SouthEast</option> + </select> +<!-- <br> + <label>tile foreground?</label> + + <input type="checkbox" id="img-tile" value="1" /> + <br/> --> + +<!-- + <label>merge before recolor?</label> + <input type="checkbox" id="img-merge_early" value="1" /> + <br/> + +--> + <span class="shim"></span> + + + <span class="shim"></span> + + <label>make semi-transparent?</label> + <input type="checkbox" id="img-transparent" value="1" checked="true" /> + <br/> + + <label>remove color</label> + <input type="text" id="img-subtract" value="white" class="img-subtract"/> +<a href="colors/" class="img-subtract pick-color">pick color</a> + <br/> + + <label>transparency fuzz</label> + <input type="text" id="img-fuzz" value="5" />% + <br/> + + <span class="shim"></span> + + <label>resize width</label> + <input type="text" id="img-width" /><small>px</small> + <br/> + + <label>resize height</label> + <input type="text" id="img-height" /><small>px</small> + <br/> + + <label>nearest neighbor?</label> + <input type="checkbox" id="img-nearest" value="1" /> + <br/> + + <span class="shim"></span> + + <label>recolor white</label> + <input type="text" id="img-white" class="img-white" value="white" /> +<a href="colors/" class="img-white pick-color">pick color</a> + <div id="colorswitcheroo"></div> + <br/> + + <label>recolor black</label> + <input type="text" id="img-black" class="img-black" value="black" /> +<a href="colors/" class="img-black pick-color">pick color</a> + <br /> +<!-- <label><a href="colors/index.html" target="_blank" style="font-size: 10px">--> +<!-- List of Color Names</a></label>--> + + <span class="shim"></span> + + <label>hue <small>(0-200)</small></label> + <input type="text" id="img-hue" value="" /> + <br/> +<!-- + <label>saturation <small>(0-200)</small></label> + <input type="text" id="img-saturation" value="" /> + <br/> +--> +<!-- + <label>brightness <small>(0-200)</small></label> + <input type="text" id="img-brightness" value="" /> + <br/> +--> +<!-- + <label>contrast <small>(0-200)</small></label> + <input type="text" id="img-contrast" value="" /> + <br/> +--> + + <span class="shim"></span> + + <label>flip horizontally?</label> + <input type="checkbox" id="img-flop" value="1" /> + <br/> + + <label>flip vertically?</label> + <input type="checkbox" id="img-flip" value="1" /> + <br/> + + <label>rotate <small>(0-360)</small></label> + <input type="text" id="img-rotate" value="" />° + <br/> + + <span class="shim"></span> + + <label>output format</label> + <select id="img-format"> + <option selected="selected">gif</option> + <option>jpg</option> + <option>png</option> + </select> +<!-- + <span id="gif-options"> + <label>dispose</label> + <select id="dispose"> + <option value="none" selected>None</option> + <option value="previous">Previous</option> + <option value="background">Background</option> + </select> + </span> +--> + + <!-- <input type="reset" id="reset-button" value="reset-button"></input>--> + + <span class="shim"></span> + + <label>put your name here >>></label> + <input type="text" id="img-name" value="" /> + <br/> + + <span class="shim"></span> + + <label> </label> + <button id="img-generate">GENERATE</button> + + </form> + + <span class="shim"></span> + <p> + <img src="new.gif" width="32" height="16" /> + Mess around with heightmaps and textures <a href="/imlandscape">Landscape</a> + <span class="shim"></span> + <img src="new.gif" width="32" height="16" /> + Overlay patterns onto your gifs <a href="/impattern">pattern</a> + <span class="shim"></span> + Write your own effects → <a href="/shader/">Shaderblaster</a> & <a href="/dither/">Dither</a> + <span class="shim"></span> + Oh now it's on....payback time → <a href="/imbreak/">FOTO FUCKER</a> + <span class="shim"></span> + <!--<img src="new.gif" width="32" height="16" />--> + Transform images in 3D → <a href="/imgrid/">Grid Generator</a> + <span class="shim"></span> + Gradients make everything better → <a href="/imgradient/">Gradient Generator</a> + </p> + <span class="shim"></span> + <p> + See what people are making → <a href="/im/gallery/">Image Gallery</a><br/> + <span class="shim"></span> + The best ones go here → <a href="http://photoblaster.tumblr.com/">Photoblaster Tumblr</a> + <span class="shim"></span> + View a random selection → <a href="/im/gallery/?random=1">Random Gallery</a><br/> + <span id="userlink"> + <span class="shim"></span> + Things you've made → <a href="/im/gallery/?random=1">Your Gallery</a><br/> + </span> + </p> +</div> + +<div id="result"> + → <input type="text" id="output-url"/><br/> + <span id="output-cmd"></span><br/> + + <img id="output-img" /> + <br/><span id="sendtoinput"></span> +</div> + +<!-- +<div id="likebutton"> +<div id="fb-root" style="background-color: transparent;"></div><script src="http://connect.facebook.net/en_US/all.js#appId=236917449658413&xfbml=1"></script><fb:like href="http://asdf.us/im/" send="false" width="347" show_faces="true" colorscheme="light" font="" style="background-color: transparent;"></fb:like> +</div> +--> + +<script type="text/javascript" src="/js/jquery.js"></script> +<script type="text/javascript"> +var Main = + { + API_HEADER: "#@im", + generating: false, + enter: function (e) + { + if (Main.generating) + return + if (e.keyCode === 13) + Main.go() + }, + go: function () + { + if (Main.generating) + return + Main.generating = true + $("#output-cmd").html('generating...').show() + $("#result").show() + var data = + { + url: $("#img-url").val(), + transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false", + flip: $('#img-flip:checked').val() !== undefined ? "true" : "false", + flop: $('#img-flop:checked').val() !== undefined ? "true" : "false", + nearest: $('#img-nearest:checked').val() !== undefined ? "true" : "false", + rotate: $("#img-rotate").val(), + subtract: $("#img-subtract").val(), + fuzz: $("#img-fuzz").val(), + width: $("#img-width").val(), + height: $("#img-height").val(), + black: $("#img-black").val(), + white: $("#img-white").val(), + //brightness: $("#img-brightness").val(), + //saturation: $("#img-saturation").val(), + hue: $("#img-hue").val(), + contrast: $("#img-contrast").val(), + background: $("#img-background").val(), + // merge_early: $('#img-merge_early:checked').val() !== undefined ? "true" : "false", + compose: $('#img-compose :selected').text(), + gravity: $('#img-gravity :selected').text(), + // tile: $('#img-tile:checked').val() !== undefined ? "true" : "false", + format: $('#img-format :selected').text(), + dispose: $('#dispose').val(), + username: $("#img-name").val(), + } + if (data.rotate.match(/-/)){ data.rotate=360-parseInt(data.rotate.replace("-","")); }; + $("#img-rotate").val(""); + if (data.username.length > 0) + document.cookie = "imname="+data.username+";path=/;domain=.asdf.us;max-age=1086400" + $.post("/im/api/generate", data, Main.callback) + }, + error: function (s) + { + $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show() + $("#output-url").hide() + $("#output-img").hide() + }, + callback: function (raw) + { + data = JSON.parse(raw) + console.log(data) + Main.generating = false + $("#output-cmd").html("size: "+Main.filesize(data.size)+"<br/>" + + data.width + " x " + data.height); + + $("#output-url").val(data.url); + $("#output-img").hide().attr("src", data.url).fadeIn(700) + $("#sendtoinput").html(" send to input <img src=\"arrow_pointing_left.png\"/> ").css({"border": "1px solid gray", "cursor" : "pointer"}).click(function(){ + $("#img-url").val(data.url); + }); + + }, + filesize: function (size) + { + if (size < 1024) + return size + " bytes" + if (size < 1024 * 1024) + return Math.floor (size/1024) + " KB" + else + return Math.floor (size/(1024*1024)) + " MB" + }, + cookie: function () + { + if (document.cookie) + { + var cookies = document.cookie.split(";") + for (i in cookies) + { + var cookie = cookies[i].split("=") + if (cookie[0].indexOf("imname") !== -1) + { + if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length) + { + return cookie[1] + } + } + } + } + return "" + }, + preloadSize: function(url,label,tag){ + console.log(url) + var img = new Image() + img.onload = function(){ $(label).html( tag + ": " + img.naturalWidth + " x " + img.naturalHeight ) } + img.src = url + }, + init: function () + { + var name = Main.cookie () + $("#img-name").val(name) + if (name) + { + $("#userlink").show() + $("#userlink a").attr("href", "/im/gallery/?name="+name).html(name+"'s photoblasts") + } + $("#likebutton,#controls").fadeIn(0) + $("#img-generate").bind("click", Main.go) + $("div input[type=text]").bind("keydown", Main.enter) + $("#img-url").change(function(){Main.preloadSize(this.value,"#img-url-label","image")}) + $("#img-background").change(function(){Main.preloadSize(this.value,"#background-url-label","bg")}) + $("#bgswitcheroo").click(function() { + a = $("#img-url").val(); + b = $("#img-background").val(); + $("#img-url").val(b); + $("#img-background").val(a); + }); + $("#colorswitcheroo").click(function() { + a = $("#img-white").val(); + b = $("#img-black").val(); + $("#img-white").val(b); + $("#img-black").val(a); + }); + $("#img-format").change(function(){ + $("#gif-options").css( "visibility", $("#img-format").val() === "gif" ? "visible" : "hidden") + }) + + }, + } +document.getElementById('imform').reset(); +Main.init () +</script> +<script type="text/javascript" src="http://asdf.us/js/pbembed.js"></script> +<!--for the colors iframe--> +<script type="text/javascript" src="jquery-ui-1.8.16.custom.min.js"></script> +<script type="text/javascript" src="/im/colors/js/jquery.remember-state.js"></script> +<script type="text/javascript" src="/im/colors/js/jquery.fancybox.js?v=2.1.5"></script> +<script type="text/javascript" src="colors_iframe.js"></script> +</body> +</html> + diff --git a/share/frontend/im/new.gif b/share/frontend/im/new.gif Binary files differnew file mode 100755 index 0000000..37c39d2 --- /dev/null +++ b/share/frontend/im/new.gif diff --git a/share/frontend/im/newimagemaker.html b/share/frontend/im/newimagemaker.html new file mode 100755 index 0000000..50db4df --- /dev/null +++ b/share/frontend/im/newimagemaker.html @@ -0,0 +1,289 @@ +<!doctype html> +<html> +<head> +<title>IM PORTAL</title> +<style type="text/css"> +* + { + padding: 0; + margin: 0; + font-family: sans-serif; + } +body + { + background-color: #e6e0e0; + } +#controls,#result + { + display: inline-block; + padding: 10px; + width: 430px; + position: absolute; + } +#controls + { + font-size: 14px; + top: 10px; left: 10px; + max-height: 450px; + background-color: #fff; + z-index: 5; + } +#result + { + background-color: #d6d0d0; + top: 10px; left: 480px; + display: none; + z-index: 5; + } +#instructions + { + position: absolute; + bottom: 10px; + left: 10px; + line-height: 18px; + z-index: 1; + } +#instructions p + { + background-color: #fff; + padding: 10px; + font-size: 14px; + width: 430px; + } +#gallery-link + { + background-color: #fff; + position: absolute; + top: 10px; + right: 10px; + padding: 10px; + z-index: 10; + } +.error + { + color: red; + font-size: 20px; + } +a + { + color: #b4d; + font-weight: bold; + } +label + { + display: inline-block; + width: 190px; + padding-right: 10px; + text-align: right; + } +input[type=text] + { + width: 100px; + } +#img-url,#output-url + { + width: 200px; + } +#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate + { + width: 50px; + text-align: right; + } +button + { + padding: 2px 5px; + font-size: 16px; + } +#result img + { + max-width: 400px; + max-height: 400px; + } +#output-cmd + { + font-size: 12px; + white-space: pre; + } +.shim + { + height: 10px; + clear: both; + } +#output-url + { + width: 320px; + } +</style> +<body> +<section id="controls"> + <label>IMAGE URL</label> + <input type="text" id="img-url" /> + <br/> + + <div class="shim"></div> + + <label>make transparent?</label> + <input type="checkbox" id="img-transparent" value="1" checked="true" /> + <br/> + + <label>remove color</label> + <input type="text" id="img-subtract" value="white" /> + <br/> + + <label>transparency fuzz</label> + <input type="text" id="img-fuzz" value="5" />% + <br/> + + <div class="shim"></div> + + <label>resize width</label> + <input type="text" id="img-width" /><small>px</small> + <br/> + + <label>resize height</label> + <input type="text" id="img-height" /><small>px</small> + <br/> + + <div class="shim"></div> + + <label>recolor white</label> + <input type="text" id="img-white" value="white" /> + <br/> + + <label>recolor black</label> + <input type="text" id="img-black" value="black" /> + <br/> + + <div class="shim"></div> + + <label>hue <small>(0-200)</small></label> + <input type="text" id="img-hue" value="" /> + <br/> + + <label>saturation <small>(0-200)</small></label> + <input type="text" id="img-saturation" value="" /> + <br/> + + <label>brightness <small>(0-200)</small></label> + <input type="text" id="img-brightness" value="" /> + <br/> + +<!-- + <label>contrast <small>(0-200)</small></label> + <input type="text" id="img-contrast" value="" /> + <br/> +--> + + <div class="shim"></div> + + <label>flip horizontally?</label> + <input type="checkbox" id="img-flop" value="1" /> + <br/> + + <label>flip vertically?</label> + <input type="checkbox" id="img-flip" value="1" /> + <br/> + + <label>rotate <small>(0-360)</small></label> + <input type="text" id="img-rotate" value="" />° + <br/> + + <div class="shim"></div> + +<!-- + <label>output format</label> + <select id="img-format"> + <option selected="selected">gif</option> + <option>jpg</option> + <option>png</option> + </select> + <div class="shim"></div> +--> + + <label> </label> + <button id="img-generate">GENERATE</button> + +</section> + +<section id="result"> + → <input type="text" id="output-url"/><br/> + <span id="output-cmd"></span><br/> + + <img id="output-img" /> +</section> + +<section id="instructions"> + <p> + This page provides a basic interface to the command-line image utility <a href="http://www.imagemagick.org/Usage/">IMAGEMAGICK.</a> + Paste a link into the first box, then use the other settings to colorize, distort, and add transparency. + </p> + <div class="shim"></div> + <p> + See what people have made → <a href="/im/gallery/">Image Gallery</a> + </p> +</section> + +</body> +<script type="text/javascript" src="/js/jquery.js"></script> +<script type="text/javascript"> +var Main = + { + API_HEADER: "#@im", + enter: function (e) + { + if (e.keyCode === 13) + Main.go() + }, + go: function () + { + $("#output-cmd").html('generating...').show() + $("#result").show() + var data = + { + url: $("#img-url").val(), + transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false", + flip: $('#img-flip:checked').val() !== undefined ? "true" : "false", + flop: $('#img-flop:checked').val() !== undefined ? "true" : "false", + rotate: $("#img-rotate").val(), + subtract: $("#img-subtract").val(), + fuzz: $("#img-fuzz").val(), + width: $("#img-width").val(), + height: $("#img-height").val(), + black: $("#img-black").val(), + white: $("#img-white").val(), + brightness: $("#img-brightness").val(), + saturation: $("#img-saturation").val(), + hue: $("#img-hue").val(), + contrast: $("#img-contrast").val(), + } + $.post("/cgi-bin/im/pepperimagemaker", data, Main.callback) + }, + error: function (s) + { + $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show() + $("#output-url").hide() + $("#output-img").hide() + }, + callback: function (raw) + { + lines = raw.split("\n") + if (lines[0] !== Main.API_HEADER) + return Main.error("problem loading API") + if (lines[1].indexOf("ERROR\t") === 0) + return Main.error(lines[1].split("\t")[1]) + + // $("#output-cmd").html(lines[1]+"<br/>"+lines[2]) + $("#output-cmd").hide() + $("#output-url").val(lines[3]) + $("#output-img").hide().attr("src", lines[3]).fadeIn(700) + }, + init: function () + { + $("#img-generate").bind("click", Main.go) + $("section input[type=text]").bind("keydown", Main.enter) + }, + } +Main.init() +</script> +</html> + diff --git a/share/frontend/im/shader/index.html b/share/frontend/im/shader/index.html new file mode 100644 index 0000000..2c7370f --- /dev/null +++ b/share/frontend/im/shader/index.html @@ -0,0 +1,2 @@ +<meta http-equiv="refresh" content="0; url=/shader/"> + diff --git a/share/frontend/im/thing1.gif b/share/frontend/im/thing1.gif Binary files differnew file mode 100644 index 0000000..5acdf58 --- /dev/null +++ b/share/frontend/im/thing1.gif diff --git a/share/frontend/im/thing2.png b/share/frontend/im/thing2.png Binary files differnew file mode 100644 index 0000000..6104d00 --- /dev/null +++ b/share/frontend/im/thing2.png |
