Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

missed some filename changes

  • Loading branch information...
commit c1e84d3041da817c13e5cbe06a01c5826bf7f3cd 1 parent e31f116
Scott Jehl authored
View
6 example/output/grunticon.loader.txt
@@ -0,0 +1,6 @@
+<!-- Unicode CSS Loader: place this in the head of your page -->
+<script>
+/* grunticon Stylesheet Loader | https://github.com/filamentgroup/grunticon | (c) 2012 Scott Jehl, Filament Group, Inc. | MIT license. */
+window.grunticon=function(a,b){if(!a||a.length!==3)return;var c=window,d=!!c.document.createElementNS&&!!c.document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e=function(b){var e=c.document.createElement("link"),f=c.document.getElementsByTagName("script")[0];e.rel="stylesheet",e.href=a[b&&d?0:b?1:2],f.parentNode.insertBefore(e,f)},f=new c.Image;f.onerror=function(){e(!1)},f.onload=function(){e(f.width===1&&f.height===1)},f.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="};
@jefflembeck Owner

Yep, it's actually much easier to see over here: https://github.com/filamentgroup/grunticon/blob/master/tasks/grunticon/static/grunticon.loader.js#L8

This loader has two tests in it, one for svg support and one for datauri support. That 1x1px gif is to check for datauri support.

If it fails, it falls back to the non-encoded png CSS file.

@jiv-e
jiv-e added a note

I had already deleted my comment and moved it down to tasks/grunticon/static/grunticon.loader.js on this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+grunticon( [ "/example/output/icons.data.svg.css", "/example/output/icons.data.png.css", "/example/output/icons.fallback.css" ] );</script>
+<noscript><link href="/example/output/icons.fallback.css" rel="stylesheet"></noscript>
View
6 example/output/icons.data.png.css
@@ -12,6 +12,8 @@
.icon-wee-gradients { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABhNJREFUSImtl12MVVcVx39r7/Nx752PgkUQbbEFS2sxFpHYBAx1atIajKk11SE1MfjxYpWUYGxiiY3xRRNNTBo11QcTal8qNNEISZU0hKbxg6q1LWgLRRNiC4LADAznnHvO3nv5cM+ZOTODFLAr+efuc5N7fmutvfba6woggJkjqXWlprVCS9rStEU1yNbrCIj27du3xnsvAM3npcxaq83n2NjYC4CrVQG+5dQ8cASku3c/9cWNG+/93uS5o+evIloAnKuG9+x5ats992z6eetrzyCD03ABUiDdtWvXB++6+/anj568M5nj3BWa4aZ37Ct37dz7sc2bN78IFEDJTOqBVsRr1qy563SxIynC1W7vjJ268LNk3brxjcArzKQ90Io6qh+stbYXZAF5MP8XFEDNApxzI51OJymKomCmYKdT2YCN9954FYq3AOxUcM4ZVY0ZFG4Dnrao/VCpkPu3ABwEVTWqOhc6K9UAEkIQdxURa7sO63XpIQyOYdMXGui0zYrYqZAHe/nAFlRbD1UQ8F5UdW5T+h/gIBSXkeoGqiha96bQcBXyMmD6fctgf9vpNrW7Oi/iN0v1NFSV4AUNiveKDvYVEeFCXmGzzKpqCsS12kfqIsV1CXADDUEJHoJTvIPrRm/j+gUfZvHIcsqgXDe6nGwoXvv4E0+M3b9p0x4GTaQBKxAuP2IdgLWG+gpcpdyxYhtTvJs/5ylHzzgOX3C8f7TihrR3bW/5+s8c+tfJsS999tNf//3+/bMujvnFdbE9bqCqBDeA+kq5933f5dmzozz9nxIflWBBU8thVV6e6HNiokr/lNmlT/5yz2Nf2/qVr+7cseMNBn1bzVxwEcw85d5QBCF3QlYKWR8+sepb7D41wp6zJVXHUHUtZTei7FqqjqXsxFRDwnNZxX0HznZ/+thPftTpdFIgAewcsKEIdra8HcCdJa8MeSXcsuhOTrnFPDvhcJGlSiOq1FKm0QDYsfieJaQxoRtxEsujr15I/vC3Iw/V4GgWuCmueVJDHoSsjvhDyz7OzuMlLhaqxFDFhjK1lF1LvzeI3HcE1xNcKrhEePyNTFZev3TtunXrhoG4AasxRptzPE/OkFeGojL4kLJk+G0cyxVvDN4aXGRxsaVKa3UMLrFUSURIItVI8NZyeMLpli1bVgJ2urgmJyf/3e8Fnwczq3WpKqgQvBK8smLkRl4+M4U30hL4yOCSgSpEfSSVWqMIqABGOHC2jD+wcuWKXq/3QtScqw0bNjx56LVD206/6/zCVyYPz4DrluQrj+87FkSLWdQZITEZYiymkQzUsz2Gwkg43M/OxiIKMt1LRxMJZVEEQBqwL8uy2vrlrZ/8xiMPf3t8+aduUh10mKCDoaEoCsmKQrKpKVmz6IaFS+xpnDFUdZq9tXg1TOVa/LMojkeOYBVl8CLFo6uvif3eX//lKLRGH2AoTdOhEEKvbnXtQZD6bk2ttd3fHnhxy3dej5YcClB1DSGNKHsG0kiDNSpIsF6C6RPSihDnTuPc6/71C6c+snb1A0eOHDkz67703ockSZyIlCLSF5FcRHKgEJE+0DfGuEXXLjz/hbvvuPVXxytMZALWBpBgQa0zwQQT4lLVegm28GpL5eH3DAf/+j+e+fEPvv+8974QZm6QqKXGIVqOWaADdKMoGt77x5ce+Gu8+NZHj10wLgUXR2hiVAUEUePRyKGmVD46nOg3b47PrFy66EFr7fk8z6eaye5SA720wDHQSZJkSFWHdh84+ODJobe/95EjU0bjCLXNr0TFg60cn182FO5fmkzcfsuND507d26y3+9PAfncl88dMZt140xU10MnSZKeqvZ+8Zv99y27edX6v/dl5OBkJc9PlKwajbltJNHFtjq3sDj92tjqVT80xmTW2izLsgzoXwwyd912rBn+E6CbpmlXVTvj4+PvHP/c5rVLli1fFXW6HeO8O3Hi2Ksv/e65g9u3bz8kIoW1tsiyrAD6QHUlA3Q75VGd9rTb7SYhhLSZKFXViEgAgohUIlIWRdFnMNSXDO7lN/9fdAl424Go1+tFqmpVVQCMMS7LsmaYb+Rr6X8BKHVGRZ7fccUAAAAASUVORK5CYII=); background-repeat: no-repeat; }
+.icon-wee-grunticon { background-image: url(data:image/png;base64,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); background-repeat: no-repeat; }
+
.icon-wee-Home_Media { background-image: url(data:image/png;base64,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); background-repeat: no-repeat; }
.icon-wee-Image_Exchange { background-image: url(data:image/png;base64,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); background-repeat: no-repeat; }
@@ -30,6 +32,4 @@
.icon-wee-plus { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAfZJREFUSIntlbFrFFEQxr/Z7Msud0tM4WU5F9JECwlBTuQQW0EhlsHKP8DOIljY2AlaSer8I2IImMomKLFIAsbCNMceuYsiXKK7O/Mswt3t3nF72TXuWfhVbwdmfvvmm/ce8F8FibImaK1t3/fXp6fV9V5wCubPzq9nnue9PW8dMwfYKznWypvDF6VubH6mhqvO/VUAfw8MAKxZPh9/6H2rqUu45hBnqZELDACB9F2KJHv+H4D760gXBNaTAgNAOBGwBgLue8yS+VReUKsFQKaZHgBrrW2ttTcmZx4ADXqslLJFZGFM7qlhGI0hsO/763bZWmHNIw8IEWHr62YYB++199D2WrWIwp00KnPYEZG7hmHsJsxptVvba/uvbn06+jjmx/PpZX3t++KVpYdEtDnkMevkxF6kdGz6h8ChAEHGQTk3OLYeBJtLl2+grGZSC+y29+F3monY7WodZVUakXEmx3J6vITHzWbznlJqlXn0cBmGYR8H32qP3j2e7cbuVOt4fvPpFwnkIA3Mwg13zn1CRCeJHbuuuwFgIy1ZRBb4h+zEp9oyS5BADiqVynJablz5nkX8K3d1oc8ix9/jSd3VRbY6DuZJgQvz+KzVMY8L2vGpjqSz9eB11A3MWo7JIo0sRbKPIwARWSSi6kD4PRGd5KlXqH4DFj3WEVivzH4AAAAASUVORK5CYII=); background-repeat: no-repeat; }
-.icon-wee-star { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABJ1JREFUWIXtmFtsFVUUhv+951ygrdBiLyqUA0VAUiQqMYhiQEOMGiIvSEQJUSPEC4oJiZcE5BINjWCi4gOK0fDgi76ohKgJeEGJDxoNgrZcWkgpvdHSc3p6rrP3+n2wJ2loD8zpGSAx/Ml6mdn7X1/WXjOzMsA1XZM/IumQVH77ar8NrU0eEcnu9NvXV4nIg27ik17rnmgWkeqrzZNX1vT9Ys7dRbf3KWutu81Pb9+OnuRiZvbOhO2Bcn/WlNblJCv98vcNVGxsIwY+rIQAEIDRhoiIWeeXvy+gInI/0/tmwe0GRAGioDI/OrStj4vI9X7k8AWUjG9AbHdVDjIXjG6fTNqX/MhRNKiILOTAd/VwO3AhqEr+EIB0PEGy/KqDUuIbEPuo+kLIXNiet6eQbtFVLQqU5AImDtwKtw0gRgyd3O/QdK0SkXFXHJRkiYhMF0luRd+umnzVzIX07IiQ3CQiEZKB0eTM+00WkbBSaiLJiQBqSdYDqVtAM5WSGI9MV4Cx3eUq8ZOnSkn5mh6nbHGcwWoqHeyGGtOiVPAfQDcBaAPQprU+6wnUWvsmkJoOZutAU4FMu8PMyVJm/q7Qpi0A0w2aLsDGPdYhj5wJUMEaIFADhiJphOqjauzUFJxqQgXaocItSoWPaq23jwhq3P5Wdea5WmZPAzZaHMxoFaiCLVvohm549UvllCzPXR529NZED/PEw3Ng+68s4KBYcncqEHnvc+WMfXLo9RF7lCb2uz3+yFyY81cELicpvS/pTNn2meOUrrnwXt6HyZq+X23j8nnadvk+BI8kjn9gQE/auscJlqwd6f5FIawbPWgbV9yjzFnfB+yh4oQl/U7tpo8dJ7w+35pLVsua2H7btHKRSrc6/uINqmpZVE96ZZfjhF+/2DJPx2pN/zem8ZnFOnV8VC/rfGLVir7g5JffV05486XWeu4/a+Jf2cbVD6nksWBRdINizareYOSFHUqFGrysL+hBsSa+Vw4/ugTZrtHR5XzKFwyEZr7ToHXoLa97CjtKpc+pYDWY7i4Ybqj02BlBIHCioD2FLKabncXk8Lmz0NDxxjDJ2wrJ7bmiJMfYTHc1Mn0osGOGK9UBmMRlA52K1OkApPj3P5MdgDLTCtlTyNFHJHa0PN+AXFCIhcr0BkRk4mUAlXrdf3zcJXswdKOnPmXsWCmAKb6D0rh3INGeP7kuA+rWntd3fnpA3/ttC2qWpi869Uf/rARws9f8nntUIzvTJDsxrEdVAIis7Nd1j7WowLg3tNZ7AUBEXuT01ets07uTVef3wz4SOnHWId25APZ4y+9BInKdzcYrkIkj9ycEAqB2WUIt+vqYM2PNs06o/PYcJABorXfqcNXswJytW/SCL5o5YZ4M3ctkB2DSs73k9ywRmWM6D51x982nu28+s39sSZt0TzPJYXPjSCJZQZtpMP0nm7OHnpecj0n3Nvv6L1VElrpNuwayv73mmoH2k2LMepIFj34icpN1Mx+Ynr9OmYNP0/QcOUWyzkdQs9GkOttp3c0ky4r3k2k2m9pjk11tJBf5gPifSFaKSJVvhoMSkVl+e17T/07/Aj3Cp7p9tcvlAAAAAElFTkSuQmCC); background-repeat: no-repeat; }
-
-.icon-wee-grunticon { background-image: url(data:image/png;base64,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); background-repeat: no-repeat; }
+.icon-wee-star { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABJ1JREFUWIXtmFtsFVUUhv+951ygrdBiLyqUA0VAUiQqMYhiQEOMGiIvSEQJUSPEC4oJiZcE5BINjWCi4gOK0fDgi76ohKgJeEGJDxoNgrZcWkgpvdHSc3p6rrP3+n2wJ2loD8zpGSAx/Ml6mdn7X1/WXjOzMsA1XZM/IumQVH77ar8NrU0eEcnu9NvXV4nIg27ik17rnmgWkeqrzZNX1vT9Ys7dRbf3KWutu81Pb9+OnuRiZvbOhO2Bcn/WlNblJCv98vcNVGxsIwY+rIQAEIDRhoiIWeeXvy+gInI/0/tmwe0GRAGioDI/OrStj4vI9X7k8AWUjG9AbHdVDjIXjG6fTNqX/MhRNKiILOTAd/VwO3AhqEr+EIB0PEGy/KqDUuIbEPuo+kLIXNiet6eQbtFVLQqU5AImDtwKtw0gRgyd3O/QdK0SkXFXHJRkiYhMF0luRd+umnzVzIX07IiQ3CQiEZKB0eTM+00WkbBSaiLJiQBqSdYDqVtAM5WSGI9MV4Cx3eUq8ZOnSkn5mh6nbHGcwWoqHeyGGtOiVPAfQDcBaAPQprU+6wnUWvsmkJoOZutAU4FMu8PMyVJm/q7Qpi0A0w2aLsDGPdYhj5wJUMEaIFADhiJphOqjauzUFJxqQgXaocItSoWPaq23jwhq3P5Wdea5WmZPAzZaHMxoFaiCLVvohm549UvllCzPXR529NZED/PEw3Ng+68s4KBYcncqEHnvc+WMfXLo9RF7lCb2uz3+yFyY81cELicpvS/pTNn2meOUrrnwXt6HyZq+X23j8nnadvk+BI8kjn9gQE/auscJlqwd6f5FIawbPWgbV9yjzFnfB+yh4oQl/U7tpo8dJ7w+35pLVsua2H7btHKRSrc6/uINqmpZVE96ZZfjhF+/2DJPx2pN/zem8ZnFOnV8VC/rfGLVir7g5JffV05486XWeu4/a+Jf2cbVD6nksWBRdINizareYOSFHUqFGrysL+hBsSa+Vw4/ugTZrtHR5XzKFwyEZr7ToHXoLa97CjtKpc+pYDWY7i4Ybqj02BlBIHCioD2FLKabncXk8Lmz0NDxxjDJ2wrJ7bmiJMfYTHc1Mn0osGOGK9UBmMRlA52K1OkApPj3P5MdgDLTCtlTyNFHJHa0PN+AXFCIhcr0BkRk4mUAlXrdf3zcJXswdKOnPmXsWCmAKb6D0rh3INGeP7kuA+rWntd3fnpA3/ttC2qWpi869Uf/rARws9f8nntUIzvTJDsxrEdVAIis7Nd1j7WowLg3tNZ7AUBEXuT01ets07uTVef3wz4SOnHWId25APZ4y+9BInKdzcYrkIkj9ycEAqB2WUIt+vqYM2PNs06o/PYcJABorXfqcNXswJytW/SCL5o5YZ4M3ctkB2DSs73k9ywRmWM6D51x982nu28+s39sSZt0TzPJYXPjSCJZQZtpMP0nm7OHnpecj0n3Nvv6L1VElrpNuwayv73mmoH2k2LMepIFj34icpN1Mx+Ynr9OmYNP0/QcOUWyzkdQs9GkOttp3c0ky4r3k2k2m9pjk11tJBf5gPifSFaKSJVvhoMSkVl+e17T/07/Aj3Cp7p9tcvlAAAAAElFTkSuQmCC); background-repeat: no-repeat; }
View
6 example/output/icons.data.svg.css
@@ -12,6 +12,8 @@
.icon-wee-gradients { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE1LjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIzMHB4IiBoZWlnaHQ9IjMwcHgiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAgMzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJDQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgb3BhY2l0eT0iMC40IiB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0VBQUFBaENBWUFBQUJYNU1KdkFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBCkdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFnOUpSRUZVZU5yc21OdE9BakVRaHR1bEs0Z1EKNCtIQ3FEZSsvM05KTkI0SWNoS1czVG8xZnpkRExiV1ZGYmhna3ovTFVqcjlaanJiVGhIaUFDNFphc3p6WERZMVVGRVVPZ2tDZzB2MgptMjFnTlBUOTJRY2pOM2llZVNRU1lleGdsVWRya1ZHZXpobSt6NWxVSWdnSEtNMlkwQkxQRlRsY2d5Z25DaGFnVGVxU3pxQTJBNG1GCnNBQUwwZ3lha2o1Sks3VDlpSVNGeUFGd1NickN2UStRVmtTT2FBYXh4TUJEMGp2czIzWk5qbGNtR3NxVEN3YWlSN29tM1pOdUFkSkYKV3hZWmlSVzhIcEdlNFVTRmFVbUtoQUY0SU4wZ0dpZVJVMUpob0RraTBBWFluRTFKZ2Q5cEg0VE5pUjVBRE1BZDZaelVTWVNZSWFmTQo4NWowQ3RtSVNqTUxvYmZESm1jZkFCZE9Yc1JNUndmUFk5am9NUnZacGxkVXNvaTBRSHlDam0wWVRZRVFtQUxqekNsczVHNkNxOEJLCm1qbEFYREp5bldpeGRVWTVyN2tNTFZhK3lQZ1VzeSs1cTY3MDVWUW1kbk1GNFhjRkVieU9FRWVJZlVGb3A4SmF1MVJDNTZDaHdIYk8KcGRuOVZ3anRkQ3FaWXFvcnpiWnJ1M1ZiVmE0ekt1QkJ5VXF5QlNRUzk0NFo5ZzU3WDhCbXlVRlVZQnUyWmRrWWhZbjQ0MWIraHByQwoySmpBYm1rTFhoZENPd0FUZEg1Qys4Y1dSYzBqNlFVZ2MxN1ExT1dkQTFIQUE5TjVnTFpSQStYZEFEYW5IS0tPaEtGQm5Xa2hKcWlBCk5EbzFWZWdPRVluVnBzUjBJeUV3TGFPR1MvNDZKK3k1dzNjQzI4bmhoeDhKUTIrSGpjcS9Id01QNzBDOHI3OEd2Z1FZQU4yYUdRVUgKZkxCOEFBQUFBRWxGVGtTdVFtQ0MiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgLTQgLTQpIj4NCgk8L2ltYWdlPg0KCTxnPg0KCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEyLjUwMDUiIHkxPSIyMS4zMTI1IiB4Mj0iMTIuNTAwNSIgeTI9IjIuMzEzIj4NCgkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMzOUI1NEEiLz4NCgkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEOUUwMjEiLz4NCgkJPC9saW5lYXJHcmFkaWVudD4NCgkJPHBhdGggZmlsbD0idXJsKCNTVkdJRF8xXykiIGQ9Ik0yMiwxOS4zMTJjMCwxLjEtMC45LDItMiwySDVjLTEuMSwwLTItMC45LTItMnYtMTVjMC0xLjEsMC45LTIsMi0yaDE1YzEuMSwwLDIsMC45LDIsMlYxOS4zMTJ6Ii8+DQoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjIsMTkuMzEyYzAsMS4xLTAuOSwyLTIsMkg1Yy0xLjEsMC0yLTAuOS0yLTJ2LTE1YzAtMS4xLDAuOS0yLDItMg0KCQkJaDE1YzEuMSwwLDIsMC45LDIsMlYxOS4zMTJ6Ii8+DQoJPC9nPg0KPC9nPg0KPGcgb3BhY2l0eT0iMC44Ij4NCgkNCgkJPGltYWdlIG92ZXJmbG93PSJ2aXNpYmxlIiBvcGFjaXR5PSIwLjQiIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCMEFBQUFjQ0FZQUFBQ2R6N1NxQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEKR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXJaSlJFRlVlTnFzbHc5VDJrQVF4VU11Q1FXbApTcTFEYWNkYTIrLy9uZG95OXA5WXJGQUJReEwzNHR2NlhBNElNMlhtVFV6ZzdyZHZiMjl6dW1pUFQ1cW1MZWRjVUdWWk5wN0g3UUdLCjVkYXJoU3ZmNjIraUpnRzRYVUJNNnFERVA4WlY1UmlPQUxiQzNRNWdUS0MycUdQMFFwUlJJQXAvbkZ6Z0liQnJBUFN3QTlGTDBiR28KRHgzaDJTRUNTREdmSDF1cFFtQzNCWmpDU1U5MElocUlocUszb2plNGY0MEFlZ0FuNU5SRHl4RFliWEdvd0ZPQTNvcys0SHFHQUJSOApCTWNweG50Q2dXdE5FMmkxQnFXaTBaUXk4RUwwQ2RkejBUdTRQVVVXanJFRUdhYnp3SHRScm5CMjYyalJ0VXBUVEhCaWdCL2hjZ2gzCnJ3RFRkZTBpNEFxd0phVGdTdDB5Tk1aOUd4TU5BRkhnR1o3MThmMkJxV0pOYlFIWUhlVC9YckZiRjFqTERod01zWVlYZ0Evd3ZFdVEKeEd5WENJQzU2QzgwUjZyVjdTTVVxVzFoZ2c3Y2FQR2NJNEErZ0pscEN0eVpTZ0M4dzZub1ZqUVRMUkJNbmVLRWlwZTdqMjZYTGpscgowMTZNYVV4bHhoeWlDSFgvWnJSLzYwOGM2QTB0YW5rc2JuV2hNZHk5VXBQMmYyUDlVc2JSLy90VTFCQlkrcnorVFo3blZieGhjSUUxCllBVW5JVkNCN2JGQThjenRsbEZBRW9pVUIydlo2d1NwU1ZjRTRDcFFRRk5VNzVLNjA5TStwZXExVGI1SEc5OFdoQTNRUTY1RjMwVmYKUlNQUkQ5RU5nbjYrWmVvLzFzRVo0QmtCWTBybkNpN21jUFlid0JHZ2w2SXJiQmwxKzlRYzlOM0hMMkp6UW9nQ3FWeGd3Z2ttVitCbgpjamxCeXV1YThFVVU2cjJiS2xGQlMrbzJmNURPbjNEMUJSb2hnR3VrZk1tcGZRWkZpamNWRmNOdTRXQU1ONWVVVWdXTzhidUZkYm4yClBpV3czUWJhd0dmazhBclFiNlJmV0Z0dGZUbTlUemVmSEFKZ1hrTjFla1BnTVRUQmQzZnNVQnZDempQU0RzZWE1aWxwUnJDYzltVmsKZ1Z0UGd3Yk1YU3Fub2xMZDQ3dUMzZTE5QkZWd0FLN09DM01PMmdscmZNSm51SDhYbWdBcUJqWDkxK0pCZ0FFQTk3dVFZNklnMU04QQpBQUFBU1VWT1JLNUNZSUk9IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDYgNykiPg0KCTwvaW1hZ2U+DQoJPGc+DQoJCTxyYWRpYWxHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGN4PSIyMC42MDk0IiBjeT0iMTkuOTIxOSIgcj0iNy40MjE5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQoJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDBGRkZGIi8+DQoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojMjlBQkUyIi8+DQoJCTwvcmFkaWFsR3JhZGllbnQ+DQoJCTxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8yXykiIGN4PSIyMC42MDkiIGN5PSIxOS45MjIiIHI9IjcuNDIyIi8+DQoJCTxjaXJjbGUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGN4PSIyMC42MDkiIGN5PSIxOS45MjIiIHI9IjcuNDIyIi8+DQoJPC9nPg0KPC9nPg0KPC9zdmc+DQo=); background-repeat: no-repeat; }
+.icon-wee-grunticon { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjNDczRTEyIiBkPSJNNjguNzQ1LDY3LjIxN3YwLjA2M2wxMS40MDEsMy4wNTZsMC4wMDItMC4wMDF2MTEuNDgxYy0wLjAwMiwyLjQwOCwxLjk1Myw0LjM2Myw0LjM1OSw0LjM2MQoJYzIuNDA2LDAsNC4zODUtMS45NTMsNC4zODUtNC4zNjFWNjMuNjMxbC0xNi4yMjktNC4zNTRMNjguNzQ1LDY3LjIxN3oiLz4KPHBhdGggZmlsbD0iIzY4NTkzOCIgZD0iTTk2LjA1NywyOS42MmwtMTIuOTM2LTguNjAxTDk2Ljc4OC0wLjI0Nkw3OS42ODYsMTcuNjY5bC0xLjc4OS00LjA3MmwtMi4wMTcsOC4wM2wtMTkuMDk3LDE5Ljc2SDE5LjM3NgoJYzAtNS4yMzMtNC40MDktOS43NTUtOS42NzctOS43NTVDNC4zNCwzMS42MzIsMCwzNS45OTMsMCw0MS4zNTR2MTYuMTA1aDYuOTA2YzAsMCwwLTEzLjc5MywwLTE1Ljk0NwoJYzAtMi4xNTQsMC41MjItNS40OTcsMy41ODktNS40OTdjMy4xMTUsMCwzLjU3LDIuODk4LDMuNTg3LDUuMzcybDAsMGwtMC4wMDQsNC4zODRWNjQuOTJsLTMuNjEyLDUuNjU1Vjk0Ljk3CgljMCwyLjQwOSwxLjk3Niw0LjM2Miw0LjM4NCw0LjM2MmMyLjQwNiwwLDQuMzYxLTEuOTUzLDQuMzYxLTQuMzYyVjczLjg0OGw0LjgyMy03LjU4OGgzNC41NDJ2MjguNzEKCWMwLDIuNDA5LDEuOTU1LDQuMzYyLDQuMzYxLDQuMzYyYzIuNDA4LDAsNC4zODUtMS45NTMsNC4zODUtNC4zNjJWNjYuODg1bDE1LjE5NS0zMC43NjhsMTAuNDk0LDEuOTk4CgljMS44MzgsMC4zNDIsMy43OTMtMC40OTksNC43NjgtMi4yMzdDOTkuMDMyLDMzLjY4Niw5OC4yMzYsMzAuODY5LDk2LjA1NywyOS42MnoiLz4KPHBhdGggZmlsbD0iI0U1MjM1RiIgZD0iTTgzLjEyMSwyMS4wMTlMOTYuNzg4LTAuMjQ2TDc5LjY4NiwxNy42NjkiLz4KPC9zdmc+Cg==); background-repeat: no-repeat; }
+
.icon-wee-Home_Media { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgY29udGVudFNjcmlwdFR5cGU9InRleHQvZWNtYXNjcmlwdCIgem9vbUFuZFBhbj0ibWFnbmlmeSIgYmFzZVByb2ZpbGU9InRpbnkiIGNvbnRlbnRTdHlsZVR5cGU9InRleHQvY3NzIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSI0NHB4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgNDQgNDQiIGhlaWdodD0iNDRweCIgeD0iMHB4IiB5PSIwcHgiPg0KICAgIDxnPg0KICAgICAgICA8cmVjdCB3aWR0aD0iNDMuOTk5IiBmaWxsPSJub25lIiBoZWlnaHQ9IjQ0Ii8+DQogICAgPC9nPg0KICAgIDxnPg0KICAgICAgICA8cGF0aCBkPSJNIDM5LjI2OSAxOS43MDcgQyAzOC44NDcgMTkuMDgyIDM4LjQ2NCAxOC40NDggMzcuOTQwMDAyIDE3LjkwNSBDIDM2LjA5MzAwMiAxNi44ODUgMzQuMzc2MDAzIDE1LjQ1MSAzMi42NDQgMTQuMjUyMDAxIEMgMjguNjU0MDAxIDExLjQ4ODAwMSAyNC42NjMwMDIgOC43MjQwMDEgMjAuNjcyIDUuOTYxMDAwNCBDIDE2LjMyNDAwMSA4Ljk1NzAwMSAxMS45OTAwMDEgMTEuOTc0MDAxIDcuNjQ5MDAxIDE0Ljk3OSBDIDYuMjg3MDAxIDE1LjkyMyA0Ljc5NDAwMSAxNi43ODEgMy41MjYwMDEgMTcuODQ2IEMgMi41MzMwMDEgMTguNjc5IDEuODY4MDAxIDIwLjAxOTAwMSAxLjE1MTAwMSAyMS4wOTEgTCA0LjU0OTAwMDcgMjEuMDkxIEwgNC41NDkwMDA3IDM2LjI2NSBDIDEzLjMyOSAzNi4yNjUgMjIuMTExIDM2LjI2NyAzMC44OSAzNi4yNjkgQyAzMi44NTkgMzYuMjY5IDM0LjgyNiAzNi4yNjkgMzYuNzkxIDM2LjI2OSBMIDM2Ljc5MSAyMS4wOTIgTCA0MC4yIDIxLjA5MiBMIDM5LjI2OSAxOS43MDcgIiBmaWxsLW9wYWNpdHk9IjAuMiIvPg0KICAgICAgICA8cGF0aCBkPSJNIDM4LjUyOSAyMC4yMDMgQyAzOC4wMjkgMTkuNDYgMzcuNjQyOTk4IDE4Ljc5NDk5OCAzNi45MDYgMTguMjg5IEwgMzYuOTA0IDE4LjI4OSBDIDMxLjQ5NyAxNC41MzU5OTkgMjYuMDgzIDEwLjc4OSAyMC42NzEgNy4wNDI5OTkzIEMgMTYuNzQ2IDkuNzU3OTk5IDEyLjgyNDk5OSAxMi40Nzg5OTkgOC45MDE5OTkgMTUuMTk1IEMgNy42MTg5OTk1IDE2LjA4NCA2LjMzNTk5OTUgMTYuOTcyIDUuMDUxOTk5NiAxNy44NjIgQyA0LjYxMzk5OTQgMTguMTY2IDQuMDQyIDE4LjQ2NiAzLjY5OTk5OTYgMTguODg3IEMgMy4zNzE5OTk1IDE5LjI5MyAzLjEwMzk5OTYgMTkuNzcxIDIuODE0OTk5NiAyMC4yMDMgTCA1LjQ0IDIwLjIwMyBMIDUuNDQgMzUuMzc3IEMgMTQuMjk5IDM1LjM3NyAyMy4xNTkgMzUuMzc3IDMyLjAxNyAzNS4zNzcgQyAzMy4zMTE5OTYgMzUuMzc3IDM0LjYwODk5NyAzNS4zNzcgMzUuOTAxOTk3IDM1LjM3NyBMIDM1LjkwMTk5NyAyMC4yMDMgTCAzOC41MjkgMjAuMjAzICIgZmlsbC1vcGFjaXR5PSIwLjQiLz4NCiAgICA8L2c+DQogICAgPGc+DQogICAgICAgIDxwYXRoIGZpbGw9IiM2MzYzNjMiIGQ9Ik0gMzUuOSAxNy43NiBDIDM1LjkgMTcuNDgyIDM1LjkgMTcuMjA0IDM1LjkgMTYuOTI1MDAxIEwgMzQuNjk4IDE2LjkyNTAwMSBMIDIwLjYxIDcuMTI2IEwgNy4zNiAxNi45MjUgTCA1LjQ0IDE2LjkyNSBMIDUuNDQgMzQuNDg4IEMgMTQuMjk5OTk5IDM0LjQ4OCAyMy4xNTkgMzQuNDg4IDMyLjAxOSAzNC40ODggQyAzMy4zMTQgMzQuNDg4IDM0LjYwOSAzNC40ODggMzUuOTAzIDM0LjQ4OCBMIDM1LjkwMyAxOC41ODcgQyAzNi4wNjUgMTguNDIzIDM2LjIyOCAxOC4yNiAzNi4zOTEgMTguMDk4IEwgMzUuOSAxNy43NiAiLz4NCiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxODguNjk0MyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAtMTY4IC04NTApIiB5MT0iLTg4My42ODU1IiB4Mj0iMTg4LjY5NDMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTg1OC4xMTU3IiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzFfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjZThlOGU4IiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNjOWNjZDkiIG9mZnNldD0iMSIvPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8cG9seWxpbmUgZmlsbD0idXJsKCNTVkdJRF8xXykiIHBvaW50cz0iMzUuMTQ1LDE4LjIxMiAzNS4wOTksMTguMTgxIDM1LjA5OSwxNy43MjkgMzQuNDQ3LDE3LjcyOSAyMC42MjYsOC4xMTYgNy42MjYsMTcuNzI5ICAgIDYuMjQ0LDE3LjcyOSA2LjI0NCwzMy42ODYgMzUuMDk5LDMzLjY4NiAzNS4wOTksMTguMjU1IDM1LjE0NSwxOC4yMTIgICIvPg0KICAgICAgICA8cmVjdCB4PSIyNC4zMDciIHdpZHRoPSI3LjUxNCIgZmlsbD0iIzc3Nzc3NyIgeT0iMjIuNzI5IiBoZWlnaHQ9IjcuNTE0Ii8+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTk4LjkyOTciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTE2OCAtODUwKSIgeTE9Ii04NzYuNDg0OSIgeDI9IjE5My4xOTUzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9Ii04NzYuNDg0OSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF8yXyIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2U4ZThlOCIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjYzljY2Q5IiBvZmZzZXQ9IjEiLz4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgPHBvbHlsaW5lIGZpbGw9InVybCgjU1ZHSURfMl8pIiBwb2ludHM9IjI1LjE5NiwyMy42MTkgMzAuOTMxLDIzLjYxOSAzMC45MzEsMjkuMzUyIDI1LjE5NiwyOS4zNTIgMjUuMTk2LDIzLjYxOSAgIi8+DQogICAgICAgIDxwb2x5bGluZSBmaWxsPSIjNzc3Nzc3IiBwb2ludHM9IjMxLjI4OCwyNi4wMzkgMjguNDY4LDI2LjAzOSAyOC40NjgsMjMuMjczIDI3LjY2LDIzLjI3MyAyNy42NiwyNi4wMzkgMjQuODM4LDI2LjAzOSAgICAyNC44MzgsMjYuODQ0IDI3LjY2LDI2Ljg0NCAyNy42NiwyOS40NzMgMjguNDY4LDI5LjQ3MyAyOC40NjgsMjYuODQ0IDMxLjI4OCwyNi44NDQgMzEuMjg4LDI2LjAzOSAgIi8+DQogICAgICAgIDxyZWN0IHg9IjExLjIyNCIgd2lkdGg9IjguMDA5IiBmaWxsPSIjNTEzNTExIiB5PSIyMi4wMTciIGhlaWdodD0iMTEuNjY3Ii8+DQogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTgzLjIyODUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTE2OCAtODUwKSIgeTE9Ii04ODIuNzkzIiB4Mj0iMTgzLjIyODUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTg3Mi45MDgyIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzNfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjZDE2YjA3IiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM5YjUxMGUiIG9mZnNldD0iMSIvPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8cG9seWxpbmUgZmlsbD0idXJsKCNTVkdJRF8zXykiIHBvaW50cz0iMTIuMTE1LDIyLjkwOCAxOC4zNDIsMjIuOTA4IDE4LjM0MiwzMi43OTMgMTIuMTE1LDMyLjc5MyAxMi4xMTUsMjIuOTA4ICAiLz4NCiAgICAgICAgPGc+DQogICAgICAgICAgICA8cGF0aCBmaWxsPSIjNTEzNTExIiBkPSJNIDEyLjkxNSAyMy43ODEgTCAxNC40OSAyMy43ODEgTCAxNC40OSAyNi41MTkwMDEgTCAxNC40NzMgMjYuNTE5MDAxIEMgMTQuNTkyIDI2LjYzOCAxNC43MTIgMjYuNzU5IDE0LjgzMiAyNi44NzYwMDEgTCAxNC44NDggMjYuODc2MDAxIEMgMTQuODQ4IDI1LjcyNCAxNC44NDggMjQuNTcxMDAxIDE0Ljg0OCAyMy40MjEwMDEgTCAxMi41NzMgMjMuNDIxMDAxIEMgMTIuNyAyMy41MzEgMTIuODE2IDIzLjY1MiAxMi45MTUgMjMuNzgxIE0gMTQuNjcgMjYuNTIxIEwgMTQuNjcgMjYuNjk5IEwgMTQuNjcgMjYuNTIxIHogIiBmaWxsLW9wYWNpdHk9IjAuNSIvPg0KICAgICAgICAgICAgPHBhdGggZmlsbD0iI2Y0YTQ0ZCIgZD0iTSAxNC40NzMgMjYuNTIxIEwgMTIuODk4IDI2LjUyMSBMIDEyLjg5OCAyMy43ODMgTCAxMi45MTUgMjMuNzgzIEMgMTIuODE2IDIzLjY1MiAxMi42OTkgMjMuNTMzIDEyLjU3MyAyMy40MjgwMDEgTCAxMi41MzkgMjMuNDI4MDAxIEwgMTIuNTM5IDI2Ljg4MSBMIDE0LjgzMDk5OSAyNi44ODEgQyAxNC43MTIgMjYuNzYgMTQuNTkzIDI2LjYzOSAxNC40NzMgMjYuNTIxICIgZmlsbC1vcGFjaXR5PSIwLjUiLz4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiM1MTM1MTEiIGQ9Ik0gMTUuOTMzIDIzLjc4MSBMIDE3LjUwNyAyMy43ODEgTCAxNy41MDcgMjYuNTE5MDAxIEwgMTcuNDkgMjYuNTE5MDAxIEMgMTcuNjA5IDI2LjYzOCAxNy43MjkgMjYuNzU5IDE3Ljg0ODk5OSAyNi44NzYwMDEgTCAxNy44NjUgMjYuODc2MDAxIEMgMTcuODY1IDI1LjcyNCAxNy44NjUgMjQuNTcxMDAxIDE3Ljg2NSAyMy40MjEwMDEgTCAxNS41ODkgMjMuNDIxMDAxIEMgMTUuNzE2IDIzLjUzMSAxNS44MzMgMjMuNjUyIDE1LjkzMyAyMy43ODEgTSAxNy42ODYgMjYuNTIxIEwgMTcuNjg2IDI2LjY5OSBMIDE3LjY4NiAyNi41MjEgeiAiIGZpbGwtb3BhY2l0eT0iMC41Ii8+DQogICAgICAgICAgICA8cGF0aCBmaWxsPSIjZjRhNDRkIiBkPSJNIDE3LjQ5IDI2LjUyMSBMIDE1LjkxNCAyNi41MjEgTCAxNS45MTQgMjMuNzgzIEwgMTUuOTMzIDIzLjc4MyBDIDE1LjgzNCAyMy42NTIgMTUuNzE2IDIzLjUzMyAxNS41ODk5OTkgMjMuNDI4MDAxIEwgMTUuNTU2OTk5IDIzLjQyODAwMSBMIDE1LjU1Njk5OSAyNi44ODEgTCAxNy44NDg5OTkgMjYuODgxIEMgMTcuNzI5IDI2Ljc2IDE3LjYwOSAyNi42MzkgMTcuNDkgMjYuNTIxICIgZmlsbC1vcGFjaXR5PSIwLjUiLz4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiM1MTM1MTEiIGQ9Ik0gMTIuOTE1IDI5LjI2NCBMIDE0LjQ5IDI5LjI2NCBMIDE0LjQ5IDMyLjAgTCAxNC40NzMgMzIuMCBDIDE0LjU5MiAzMi4xMjEgMTQuNzEyIDMyLjI0IDE0LjgzMiAzMi4zNTkgTCAxNC44NDggMzIuMzU5IEMgMTQuODQ4IDMxLjIwNyAxNC44NDggMzAuMDU2MDAyIDE0Ljg0OCAyOC45MDQwMDEgTCAxMi41NzMgMjguOTA0MDAxIEMgMTIuNyAyOS4wMTIgMTIuODE2IDI5LjEzNSAxMi45MTUgMjkuMjY0IE0gMTQuNjcgMzIuMCBMIDE0LjY3IDMyLjE4MiBMIDE0LjY3IDMyLjAgeiAiIGZpbGwtb3BhY2l0eT0iMC41Ii8+DQogICAgICAgICAgICA8cGF0aCBmaWxsPSIjZjRhNDRkIiBkPSJNIDE0LjQ3MyAzMi4wIEwgMTIuODk4IDMyLjAgTCAxMi44OTggMjkuMjY0IEwgMTIuOTE1IDI5LjI2NCBDIDEyLjgxNiAyOS4xMzUgMTIuNjk5IDI5LjAxMiAxMi41NzMgMjguOTA1IEwgMTIuNTM5IDI4LjkwNSBMIDEyLjUzOSAzMi4zNjQwMDIgTCAxNC44MzA5OTkgMzIuMzY0MDAyIEMgMTQuNzEyIDMyLjI0IDE0LjU5MyAzMi4xMjEgMTQuNDczIDMyLjAgIiBmaWxsLW9wYWNpdHk9IjAuNSIvPg0KICAgICAgICAgICAgPHBhdGggZmlsbD0iIzUxMzUxMSIgZD0iTSAxNS45MzMgMjkuMjY0IEwgMTcuNTA3IDI5LjI2NCBMIDE3LjUwNyAzMi4wIEwgMTcuNDkgMzIuMCBDIDE3LjYwOSAzMi4xMjEgMTcuNzI5IDMyLjI0IDE3Ljg0ODk5OSAzMi4zNTkgTCAxNy44NjUgMzIuMzU5IEMgMTcuODY1IDMxLjIwNyAxNy44NjUgMzAuMDU2MDAyIDE3Ljg2NSAyOC45MDQwMDEgTCAxNS41ODkgMjguOTA0MDAxIEMgMTUuNzE2IDI5LjAxMiAxNS44MzMgMjkuMTM1IDE1LjkzMyAyOS4yNjQgTSAxNy42ODYgMzIuMCBMIDE3LjY4NiAzMi4xODIgTCAxNy42ODYgMzIuMCB6ICIgZmlsbC1vcGFjaXR5PSIwLjUiLz4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNmNGE0NGQiIGQ9Ik0gMTcuNDkgMzIuMCBMIDE1LjkxNCAzMi4wIEwgMTUuOTE0IDI5LjI2NCBMIDE1LjkzMyAyOS4yNjQgQyAxNS44MzQgMjkuMTM1IDE1LjcxNiAyOS4wMTIgMTUuNTg5OTk5IDI4LjkwNSBMIDE1LjU1Njk5OSAyOC45MDUgTCAxNS41NTY5OTkgMzIuMzY0MDAyIEwgMTcuODQ4OTk5IDMyLjM2NDAwMiBDIDE3LjcyOSAzMi4yNCAxNy42MDkgMzIuMTIxIDE3LjQ5IDMyLjAgIiBmaWxsLW9wYWNpdHk9IjAuNSIvPg0KICAgICAgICA8L2c+DQogICAgICAgIDxwb2x5bGluZSBmaWxsPSIjZjlmOWY5IiBmaWxsLW9wYWNpdHk9IjAuNCIgcG9pbnRzPSI2Ljc3MywxOC44NjggNi43NzMsMzMuMDY0IDM0LjY1MiwxOC42IDIwLjg5Niw4LjM4NSA2Ljg2NiwxNy43MjkgICAgNi43NzMsMTguODY4ICAiLz4NCiAgICAgICAgPHBhdGggZmlsbD0iIzk5MDcxOSIgZD0iTSAzOC41MjkgMTkuMzE1IEMgMzguMDI5IDE4LjU3MyAzNy42NDI5OTggMTcuOTA2IDM2LjkwNCAxNy40MDEwMDEgTCAzNi45MDMgMTcuNDAxMDAxIEMgMzEuNDk2IDEzLjY0OTAwMSAyNi4wODMgOS45MDIgMjAuNjcgNi4xNTUwMDA3IEMgMTYuNzQzIDguODY3MDAxIDEyLjgyMzk5OSAxMS41OSA4LjkwMSAxNC4zMDcwMDEgQyA3LjYxOCAxNS4xOTYwMDEgNi4zMzQgMTYuMDg0MDAyIDUuMDUxIDE2Ljk3NCBDIDQuNjEyIDE3LjI3ODAwMiA0LjA0MjAwMDMgMTcuNTc4MDAxIDMuNjk5MDAwMSAxNy45OTkgQyAzLjM3MSAxOC40MDIgMy4xMDQgMTguODgxIDIuODE1IDE5LjMxMyBMIDYuOTEgMTkuMzEzIEMgMTEuNTE0IDE2LjE2MTk5OSAxNi4wODQgMTIuOTU5OTk5IDIwLjY3IDkuNzgzOTk5IEMgMjUuMjU0IDEyLjk1OSAyOS43OTYwMDEgMTYuMjEwOTk5IDM0LjQyOSAxOS4zMTMgTCAzNC41NyAxOS4zMTMgTCAzNC41NyAxOS4zMTUgTCAzOC41MjkgMTkuMzE1ICIvPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE4OC42NzE5IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC0xNjggLTg1MCkiIHkxPSItODU3LjEzMDkiIHgyPSIxODguNjcxOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSItODY4LjUxMTIiIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBpZD0iU1ZHSURfNF8iIHhsaW5rOnNob3c9Im90aGVyIj4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNmZjAwMDAiIG9mZnNldD0iMCIvPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2E4MDAwMCIgb2Zmc2V0PSIxIi8+DQogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfNF8pIiBkPSJNIDYuNjYyIDE4LjUxMSBDIDguMTE5IDE3LjUwMSAxMS43NDEgMTQuOTkzIDIwLjY3MiA4LjgwNjk5OSBDIDI1LjM0MjAwMSAxMi4wNDE5OTkgMzAuMDE3MDAyIDE1LjI2OCAzNC42ODMgMTguNTExIEwgMzcuMDI0IDE4LjUxMSBDIDM2Ljk3OSAxOC40MzggMzYuOTEzIDE4LjM3OCAzNi44NDIgMTguMzMgTCAzNi44NDIgMTguMzMgQyAzMS40NyAxNC41NzM5OTkgMjYuMDYyIDEwLjg2NCAyMC42NzQgNy4xMyBDIDE3LjEzMSA5LjU4NCAxMy41ODc5OTkgMTIuMDM3MDAxIDEwLjA0NCAxNC40OTEgQyA5LjA4OSAxNS4xNTMgOC4xMzQgMTUuODE1MDAxIDcuMTc3OTk5NSAxNi40NzcgQyA2LjUxMzk5OTUgMTYuOTM2OTk4IDUuODQ4OTk5NSAxNy4zOTc5OTkgNS4xODQ5OTk1IDE3Ljg1Njk5OCBDIDQuOTI1OTk5NiAxOC4wMzQ5OTggNC41MDI5OTkzIDE4LjIzNTk5OCA0LjMxODk5OTMgMTguNTA4OTk5IEwgNi42NjIgMTguNTExIE0gNC43MDggMTguMjI5IEMgNC42NzggMTguMjQxIDQuNjQ5IDE4LjI1MyA0LjYyMDAwMDQgMTguMjY2IEwgNC42MjAwMDA0IDE4LjI2NiBDIDQuNjM5IDE4LjI1NyA0LjY2MSAxOC4yNDggNC43MDggMTguMjI5ICIvPg0KICAgIDwvZz4NCiAgICA8Zz4NCiAgICAgICAgPGNpcmNsZSByPSI3LjczOSIgZmlsbC1vcGFjaXR5PSIwLjQiIGN4PSIzMy40MjgiIGN5PSIzMS4xNzYiLz4NCiAgICAgICAgPHBhdGggZD0iTSAyNS4yMjEgMzEuMTc2IEMgMjUuMjIzMDAxIDI2LjY0MzAwMiAyOC44OTUgMjIuOTY3MDAxIDMzLjQyOCAyMi45NjYgTCAzMy40MjggMjIuOTY2IEwgMzMuNDI4IDIzLjQzOCBMIDMzLjQyOCAyMy45MDcgQyAyOS40MTMwMDIgMjMuOTA3IDI2LjE1NzAwMSAyNy4xNjEgMjYuMTU3MDAxIDMxLjE3OCBMIDI2LjE1NzAwMSAzMS4xNzggQyAyNi4xNTcwMDEgMzUuMTkzIDI5LjQxMzAwMiAzOC40NDg5OTcgMzMuNDI4IDM4LjQ0ODk5NyBMIDMzLjQyOCAzOC40NDg5OTcgQyAzNy40NDQgMzguNDQ5OTk3IDQwLjY5OSAzNS4xOTI5OTcgNDAuNjk5IDMxLjE3Nzk5OCBMIDQwLjY5OSAzMS4xNzc5OTggQyA0MC42OTkgMjcuMTU5OTk4IDM3LjQ0MyAyMy45MDY5OTggMzMuNDI4IDIzLjkwNjk5OCBMIDMzLjQyOCAyMy45MDY5OTggTCAzMy40MjggMjMuNDM3OTk4IEwgMzMuNDI4IDIyLjk2Nzk5OSBDIDM3Ljk2MTAwMiAyMi45NyA0MS42MzQwMDMgMjYuNjQyOTk4IDQxLjYzNyAzMS4xNzU5OTkgTCA0MS42MzcgMzEuMTc1OTk5IEMgNDEuNjM0MDAzIDM1LjcwOSAzNy45NjEwMDIgMzkuMzg0IDMzLjQyOCAzOS4zODUgTCAzMy40MjggMzkuMzg1IEMgMjguODk1IDM5LjM4MiAyNS4yMjMgMzUuNzA4IDI1LjIyMSAzMS4xNzYgTCAyNS4yMjEgMzEuMTc2IHogIiBmaWxsLW9wYWNpdHk9IjAuMiIvPg0KICAgICAgICA8cmFkaWFsR3JhZGllbnQgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAtMzQ4LjAwMzkgLTg1MS4wMTE3KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHhsaW5rOnR5cGU9InNpbXBsZSIgcj0iNy4zNDc3IiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGN4PSIzODEuNDMxNiIgaWQ9IlNWR0lEXzVfIiBjeT0iLTg4MS43MTg4IiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA4MmUyIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNTQyN2MiIG9mZnNldD0iMSIvPg0KICAgICAgICA8L3JhZGlhbEdyYWRpZW50Pg0KICAgICAgICA8Y2lyY2xlIGZpbGw9InVybCgjU1ZHSURfNV8pIiByPSI3LjM0OCIgY3g9IjMzLjQyOCIgY3k9IjMwLjcwNyIvPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjM4MS40ODU0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC0zNDguMDAzOSAtODUxLjAxMTcpIiB5MT0iLTg4MS42NTYzIiB4Mj0iMzgxLjQ4NTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTg3NC42MDU1IiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzZfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTQ4N2ZjIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNjMmYxZmYiIG9mZnNldD0iMSIvPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIgZD0iTSA0MC41MzEgMzAuNjU2IEMgNDAuNTMxIDI2Ljc2MSAzNy4zNzM5OTcgMjMuNjA1IDMzLjQ4IDIzLjYwNSBDIDI5LjU4NSAyMy42MDUgMjYuNDI4OTk5IDI2Ljc2MSAyNi40Mjg5OTkgMzAuNjU2IEwgNDAuNTMxIDMwLjY1NiB6ICIvPg0KICAgICAgICA8cmFkaWFsR3JhZGllbnQgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAtNzM2LjAwOTggLTE2NTYuMDIzNCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4bGluazp0eXBlPSJzaW1wbGUiIHI9IjMuODMxOCIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBjeD0iNzcwLjgzMiIgaWQ9IlNWR0lEXzdfIiBjeT0iLTE2ODYuOTE0MSIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwODJlMiIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjU0MjdjIiBvZmZzZXQ9IjEiLz4NCiAgICAgICAgPC9yYWRpYWxHcmFkaWVudD4NCiAgICAgICAgPHBvbHlnb24gZmlsbD0idXJsKCNTVkdJRF83XykiIHBvaW50cz0iMzAuOTQxLDI3LjE0NSAzMC45NDEsMzQuNjg2IDM4LjcyNSwzMC4wMDUgICIvPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjM4Mi40OTYxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC0zNDguMDAzOSAtODUxLjAxMTcpIiB5MT0iLTg3OC44NjYyIiB4Mj0iMzgyLjQ5NjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTg4NC44MzAxIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzhfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjZmZmMmZjIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNiZGQwZTAiIG9mZnNldD0iMSIvPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8cG9seWdvbiBmaWxsPSJ1cmwoI1NWR0lEXzhfKSIgcG9pbnRzPSIzMS40MTUsMjcuODY2IDMxLjQxNSwzMy44MyAzNy41NywzMC4xMyAgIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=); background-repeat: no-repeat; }
.icon-wee-Image_Exchange { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgY29udGVudFNjcmlwdFR5cGU9InRleHQvZWNtYXNjcmlwdCIgem9vbUFuZFBhbj0ibWFnbmlmeSIgYmFzZVByb2ZpbGU9InRpbnkiIGNvbnRlbnRTdHlsZVR5cGU9InRleHQvY3NzIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSI0NHB4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgNDQgNDQiIGhlaWdodD0iNDRweCIgeD0iMHB4IiB5PSIwcHgiPg0KICAgIDxnPg0KICAgICAgICA8Zz4NCiAgICAgICAgICAgIDxwYXRoIGQ9Ik0gNS4wMjcgOC44OTYgQyA1LjAyNyAxNy43OTYgNS4wMjcgMjYuNjk1IDUuMDI3IDM1LjU5OCBDIDUuMDI3IDM1LjcyMSA1LjAyNyAzNS44NDM5OTggNS4wMjcgMzUuOTY3IEMgMTMuNzQ3OTk5IDM1Ljk2NyAyMi40NjkgMzUuOTY3IDMxLjE5MjAwMSAzNS45NjcgQyAzMi44MzQgMzUuOTY3IDM0LjQ3NTAwMiAzNS45NjcgMzYuMTE4IDM1Ljk2NyBMIDM2LjExOCAzNS45NjYgTCAzOS4xNjcgMzUuOTY2IEMgMzkuMTY3IDI2Ljk1OCAzOS4xNjggMTcuOTUxIDM5LjE2OSA4Ljk0Mjk5OSBDIDM5LjE2OSA4LjkyNjk5OSAzOS4xNjkgOC45MTE5OTkgMzkuMTY5IDguODk1OTk5IEwgNS4wMjcgOC44OTU5OTkgIiBmaWxsLW9wYWNpdHk9IjAuMiIgc3Ryb2tlLW9wYWNpdHk9IjAuMiIvPg0KICAgICAgICAgICAgPHBhdGggZD0iTSA2LjAyOCA4Ljg5NyBDIDYuMDI4IDE3LjU4NyA2LjAyOCAyNi4yNzcgNi4wMjggMzQuOTY4IEMgMTQuNzI3IDM0Ljk2OCAyMy40MjUgMzQuOTY4IDMyLjEyMyAzNC45NjggQyAzNC4xMzkgMzQuOTY4IDM2LjE1MiAzNC45NjggMzguMTY4IDM0Ljk2NiBDIDM4LjE2OCAyNi4yNzggMzguMTY4IDE3LjU4NyAzOC4xNjggOC44OTY5OTkgTCA2LjAyOCA4Ljg5Njk5OSAiIGZpbGwtb3BhY2l0eT0iMC40IiBzdHJva2Utb3BhY2l0eT0iMC40Ii8+DQogICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9Ijc4LjA5NzciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTU2IC0xMDIpIiB5MT0iLTExMC44OTciIHgyPSI3OC4wOTc3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9Ii0xMzUuOTY3OCIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF8xXyIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNlY2VjZWMiIG9mZnNldD0iMCIvPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNkY2RjZGMiIG9mZnNldD0iMSIvPg0KICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfMV8pIiBkPSJNIDYuMDI4IDguODk3IEMgNi4wMjggMTcuMjU0MDAyIDYuMDI4IDI1LjYxMSA2LjAyOCAzMy45NjggQyAxNC43MjcgMzMuOTY4IDIzLjQyNSAzMy45NjggMzIuMTIzIDMzLjk2OCBDIDM0LjEzOSAzMy45NjggMzYuMTUyIDMzLjk2OCAzOC4xNjggMzMuOTY2IEMgMzguMTY4IDI1LjYxIDM4LjE2OCAxNy4yNTQgMzguMTY4IDguODk2OTk5IEwgNi4wMjggOC44OTY5OTkgIi8+DQogICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjI4MC4wOTk2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC0yNTguMDAyIC05ODEuMDAzOSkiIHkxPSItMTAxMi45MjA5IiB4Mj0iMjgwLjA5OTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTk5MS45NTIxIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzJfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZmZmZmZiIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZmZmZmZiIgb2Zmc2V0PSIwLjM1NzEiLz4NCiAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMGFhYmZmIiBvZmZzZXQ9IjEiLz4NCiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgICAgICA8cmVjdCB4PSI4LjA3OCIgd2lkdGg9IjI4LjAzOCIgZmlsbD0idXJsKCNTVkdJRF8yXykiIHk9IjEwLjk0OCIgaGVpZ2h0PSIyMC45NjkiLz4NCiAgICAgICAgICAgIDxnPg0KICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjc3LjUyMDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTI1OC4wMDIgLTk4MS4wMDM5KSIgeTE9Ii05OTEuOTQ3MyIgeDI9IjI3Ny41MjA1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9Ii0xMDEyLjkxNzciIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBpZD0iU1ZHSURfM18iIHhsaW5rOnNob3c9Im90aGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwMzJiZiIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDMyYmYiIG9mZnNldD0iMC4wNzE0Ii8+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM3ZGUwZmYiIG9mZnNldD0iMC45MjMxIi8+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM3ZGUwZmYiIG9mZnNldD0iMSIvPg0KICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgICAgICAgICAgPHJlY3QgeD0iOC4wNzgiIHdpZHRoPSIyMi44ODEiIGZpbGw9InVybCgjU1ZHSURfM18pIiB5PSIyNS44MjMiIGhlaWdodD0iNi4wOTQiLz4NCiAgICAgICAgICAgICAgICA8cG9seWdvbiBmaWxsPSIjNDUzZTYwIiBwb2ludHM9IjM1LjU4OCwyNi40MSAzNS4wNjMsMjMuNzE0IDI3LjM4NywxOC41NTggMjYuNTA2LDE4LjkxIDI1LjY4NiwxOS4wODUgMjMuMzEzLDE3LjM1NyAgICAgIDIyLjI4OCwxOC4zODMgMTguMzYyLDE1LjY4NyAxNy4zMDgsMTcuNzk2IDE1LjAyMiwxNy40NDUgOC4wNzgsMjEuMTgyIDguMDc4LDI2LjY4NiAxMy43OTIsMjYuNDEgICAgIi8+DQogICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyODQuNTM3MSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAtMjU4LjAwMiAtOTgxLjAwMzkpIiB5MT0iLTk5Ni42OTA5IiB4Mj0iMjg0LjUzNzEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTEwMDYuOTQ1MyIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF80XyIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjZmZmZmZmIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzgyZDRmZiIgb2Zmc2V0PSIxIi8+DQogICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzRfKSIgZD0iTSAxOC41NjcgMTcuMDY1IEMgMTguNTY3IDE3LjA2NSAxOS4wMDU5OTkgMTguNjc1MDAxIDE5LjAwNTk5OSAxOC45MSBDIDE5LjAwNTk5OSAxOS4xNDUgMTcuNzE3OTk5IDE5LjQzNyAxNy43MTc5OTkgMTkuNDM3IEwgMTguMDY4OTk4IDIwLjAyMyBMIDE4LjA2ODk5OCAyMC40OTEwMDEgTCAxOC4wNjg5OTggMjEuMTM2MDAyIEwgMTkuNjUxIDIzLjA3MTAwMSBDIDE5LjY1MSAyMy4wNzEwMDEgMjIuMjMgMjYuNTI2MDAxIDI2Ljg1Nzk5OCAyNS43NjQwMDIgQyAzMS40ODY5OTggMjUuMDAyMDAzIDM1LjM1Mzk5NiAyNS45NDIwMDEgMzUuMzUzOTk2IDI1Ljk0MjAwMSBMIDM1LjM1Mzk5NiAyNS4yMTMwMDEgTCAzNS4wNjA5OTcgMjMuNzE0IEwgMjcuODk1IDE4LjkgQyAyNy41OTIwMDEgMTguNzc5OTk5IDI3LjM2NCAxOC42ODIgMjcuMjQ0IDE4LjYxNiBMIDI3LjAyMiAxOC43MDM5OTkgQyAyNy4wMTQgMTkuMDQxOTk4IDI3LjE1MSAxOS43MyAyNy4xNTEgMTkuNzMgTCAyNi41MDU5OTkgMTkuNzMgTCAyNS42ODU5OTkgMTkuMDg1IEwgMjUuMzM1IDE5LjA4NSBMIDIzLjU3NyAxNy41NjE5OTggTCAyMy4xMDcgMTcuNTYxOTk4IEwgMjIuMjg4IDE4LjM4MTk5OCBMIDIxLjkzOSAxOC4xNDM5OTcgTCAyMy4yMjkgMTkuNDMyOTk3IEMgMjMuMjI5IDE5LjQzMjk5NyAyMi41NjMgMTguNzY3OTk2IDIxLjkzOSAxOC4xNDI5OTggTCAyMC40NDYgMTcuMTE3OTk4IEwgMjAuNDQ2IDE3LjExNzk5OCBMIDIwLjQ0NSAxNy4xMTc5OTggTCAxOS42NDA5OTkgMTYuNTY2OTk4IEwgMTkuMzU3OTk4IDE2LjU2Njk5OCBMIDE4LjczNDk5OSAxNS45NDM5OTcgTCAxOC4zNTk5OTkgMTUuNjg2OTk3IEwgMTguMjY1IDE1Ljg3Nzk5NyBMIDE4LjgyODk5OSAxNi44MDA5OTcgTCAxOC41NjcgMTcuMDY1IHogIiBmaWxsLW9wYWNpdHk9IjAuOSIgc3Ryb2tlLW9wYWNpdHk9IjAuOSIvPg0KICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjc0LjQyNTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTI1OC4wMDIgLTk4MS4wMDM5KSIgeTE9Ii0xMDA2LjAwMzkiIHgyPSIyNzQuNDI1OCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSItMTAwOC4yOTk2IiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzVfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNhM2M2MDAiIG9mZnNldD0iMCIvPg0KICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMGE0ZDBhIiBvZmZzZXQ9IjEiLz4NCiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfNV8pIiBkPSJNIDI0LjU3MiAyNi40MSBDIDIyLjc3MSAyNS41MzI5OTkgMTEuNzYxMDAxIDI1LjE0IDguMDc4MDAxIDI1LjAzNiBMIDguMDc4MDAxIDI3LjI4OTk5OSBDIDEyLjc0NSAyNy4zMDkgMjYuNTg1IDI3LjM4OSAyNC41NzIgMjYuNDEgeiAiLz4NCiAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjI4My44OTA2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC0yNTguMDAyIC05ODEuMDAzOSkiIHkxPSItMTAwNi4wNjY0IiB4Mj0iMjgzLjg5MDYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTEwMTUuNzkxNCIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF82XyIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjYThjNjAwIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzBhNGQwYSIgb2Zmc2V0PSIxIi8+DQogICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIgZD0iTSAyNi4yMTQgMjYuNDEgQyAyNi4yMTQgMjYuNDEgMzAuMDIyMDAxIDI2LjQxIDMxLjAyIDI3LjExMjk5OSBDIDMxLjg1NiAyNy43MDMgMTkuOTkzIDMwLjc3Njk5OSAxNS42NjEgMzEuOTE3IEwgMzYuMTE5IDMxLjkxNyBMIDM2LjExOSAyNi45ODIgQyAzNS4zOSAyNi4xNjMgMzQuNDE4IDI1LjA2MiAzNC40MTggMjUuMDYyIEwgMjYuMjE0IDI2LjQxIHogIi8+DQogICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8Zz4NCiAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjY4LjY5MTQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgLTU2IC0xMDIpIiB5MT0iLTExOS40NDQ4IiB4Mj0iNjguNjkxNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHkyPSItMTI3LjgyMzIiIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBpZD0iU1ZHSURfN18iIHhsaW5rOnNob3c9Im90aGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzIyYzYwMCIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwYTRkMGEiIG9mZnNldD0iMSIvPg0KICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+DQogICAgICAgICAgICAgICAgPHBhdGggZmlsbD0idXJsKCNTVkdJRF83XykiIGQ9Ik0gMTYuNTA0IDIyLjYyNCBMIDE2LjIwNSAyNC4yMTggTCAxNS42NzIgMjIuMDg5IEwgMTUuMzQ2IDIzLjgyNzAwMiBMIDE0LjU3NiAyMC43NTAwMDIgTCAxNC4wNTcgMjMuNTE0MDAyIEwgMTMuMzY2IDIwLjc1MDAwMiBMIDEzLjE0IDIxLjk1NTAwMiBMIDEyLjQzODAwMSAxOS4xNDUwMDIgTCAxMS45NzgwMDEgMjEuNTk1MDAzIEwgMTAuOTQwMDAxIDE3LjQ0NTAwNCBMIDkuNzgyMDAxIDIzLjYxMjAwMyBMIDkuMDQ2MDAwNSAyMC42NjkwMDMgTCA4LjA3OCAyNS44MjQwMDMgQyAxMS4xNTMgMjUuODI0MDAzIDE0LjIyOSAyNS44MjQwMDMgMTcuMzA0IDI1LjgyNDAwMyBMIDE2LjUwNCAyMi42MjQgIi8+DQogICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI4OC4yNDQxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIC01NiAtMTAyKSIgeTE9Ii0xMjIuMTU3MiIgeDI9Ijg4LjI0NDEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iLTEzMS41MDQ5IiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmFjdHVhdGU9Im9uTG9hZCIgaWQ9IlNWR0lEXzhfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyMmM2MDAiIG9mZnNldD0iMCIvPg0KICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMGE3NzBhIiBvZmZzZXQ9IjEiLz4NCiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfOF8pIiBkPSJNIDM1LjEwNyAyMC4xNTcgTCAzNC4xMjUgMjQuMDg4OTk5IEwgMzMuODA5IDIyLjQwNCBMIDMyLjg0MiAyNi4yNzEgTCAzMi4xMTQ5OTggMjIuNDA0IEwgMzEuMDM3OTk4IDI2LjcxMyBMIDMwLjU3OTk5OCAyNC4yNzUgTCAyOS44MzQ5OTcgMjcuMjU3IEwgMjkuNDE1OTk3IDI1LjAyNSBMIDI4LjI5Njk5NyAyOS41MDQgQyAzMC45MDI5OTYgMjkuNTA0IDMzLjUxIDI5LjUwNCAzNi4xMTU5OTcgMjkuNTA0IEMgMzYuMTE1OTk3IDI4LjExOSAzNi4zMTU5OTggMjYuNTk1IDM2LjA1OTk5OCAyNS4yMzMgQyAzNS43NDMgMjMuNTQxIDM1LjQyNSAyMS44NDkgMzUuMTA3IDIwLjE1NyAiLz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDxnPg0KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMC4zIiBzdHJva2Utb3BhY2l0eT0iMC4zIiBwb2ludHM9IjYuMDI4LDguODk3IDYuMDI4LDEwLjk0OCA2LjAyOCwyMS4xODIgNi4wMjgsMjUuMDM3ICAgICAgNi4wMjgsMjUuODI0IDYuMDI4LDI2LjY4NiA2LjAyOCwyNy4yOSA2LjAyOCwzMS45MTcgNi4wMjgsMzMuOTY4IDYuMTA4LDMzLjk2OCAzNy44NzIsOC44OTcgICAgIi8+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICAgICAgPGc+DQogICAgICAgICAgICA8cGF0aCBkPSJNIDM4Ljg5MSAyNS45NyBDIDM4LjY1OSAyNS44OTMgMzguNDA5IDI2LjAyOCAzOC4zMTA5OTcgMjYuMjkyIEMgMzUuOTU4OTk2IDMyLjU4NiAzMS44NjM5OTcgMzQuNzk0IDI3LjI2MTk5NyAzNC44MTggQyAyMi45Mzk5OTcgMzQuODI0IDE4LjIxNDk5NiAzMi43NzMwMDMgMTQuNDQ4OTk3NSAzMC4wODYgTCAxNi41ODI5OTggMjUuMzMxMDAxIEMgMTYuNjY5OTk4IDI1LjEzNzAwMSAxNi42NTQ5OTkgMjQuOTA4IDE2LjU0Njk5OSAyNC43MzAwMDEgQyAxNi40Mzk5OTkgMjQuNTU2MDAyIDE2LjI1NSAyNC40NjQgMTYuMDcxOTk5IDI0LjUwMTAwMSBMIDMuNzEgMjYuODgzIEMgMy41NTcwMDAyIDI2LjkxMTk5OSAzLjQyNyAyNy4wMjYgMy4zNTYgMjcuMTg1OTk5IEMgMy4yODQgMjcuMzQ4IDMuMjg0IDI3LjUzNjk5OSAzLjM1MiAyNy42OTk5OTkgTCA4Ljc5NiA0MC42NTYgQyA4Ljg3NyA0MC44NDU5OTcgOS4wNDIgNDAuOTcwOTk3IDkuMjI0OTk5IDQwLjk3MyBDIDkuNDA3OTk5IDQwLjk3NyA5LjU3NyA0MC44NjIgOS42NjI5OTkgNDAuNjc0IEwgMTEuNjM5OTk5IDM2LjM5Mjk5OCBDIDE2LjYwMiAzOS43MjUgMjEuMjg1IDQxLjMzMDk5NyAyNS4zNjkgNDEuMzMxOTk3IEMgMjUuMzkyIDQxLjMzMTk5NyAyNS40MTQgNDEuMzMxOTk3IDI1LjQzNyA0MS4zMzE5OTcgQyAzMi43MzIwMDIgNDEuMzMxOTk3IDM4LjA3NSAzNS45ODk5OTggMzkuMjQyIDI2LjYwNDk5NiBDIDM5LjI3NSAyNi4zMiAzOS4xMjQgMjYuMDQ3IDM4Ljg5MSAyNS45NyB6ICIgZmlsbC1vcGFjaXR5PSIwLjIiIHN0cm9rZS1vcGFjaXR5PSIwLjIiLz4NCiAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMzguNzU5IDI2LjUyMSBDIDM2LjkxMiA0MS4wIDI1LjM1MiA0NS4xODkgMTEuNDUgMzUuNjA0IEwgOS4yMzUgNDAuNDA2IEwgMy43OTEgMjcuNDQ5IEwgMTYuMTUyIDI1LjA2Nzk5OSBMIDEzLjgwNjAwMSAzMC4yOTQ5OTggQyAyMS42OTUgMzYuMTAyIDM0LjAyIDM5LjM0NCAzOC43NTkgMjYuNTIxIHogIiBmaWxsLW9wYWNpdHk9IjAuNSIgc3Ryb2tlLW9wYWNpdHk9IjAuNSIvPg0KICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMTE2Ni4yNzkzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC0wLjk5MDcgLTAuMTM1OCAtMC4xMzU4IDAuOTkwNyAtOTc5LjU4NDQgLTEyNTkuNTg4OSkiIHkxPSIxMTM3LjAwMzkiIHgyPSItMTE2OC4zMjMxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9IjExNTEuOTExNSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF85XyIgeGxpbms6c2hvdz0ib3RoZXIiPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMmFiY2MiIG9mZnNldD0iMCIvPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDQ1YmYiIG9mZnNldD0iMSIvPg0KICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfOV8pIiBkPSJNIDM4LjkyOCAyNS4zNTIgQyAzNy4wOCAzOS44MyAyNS41MiA0NC4wMjEgMTEuNjE5IDM0LjQzOCBMIDkuNDA1MDAxIDM5LjIzNSBMIDMuOTU3IDI2LjI4MSBMIDE2LjMxOSAyMy44OTggTCAxMy45NzQgMjkuMTI2MDAxIEMgMjEuODY1IDM0LjkzMiAzNC4xODggMzguMTcyIDM4LjkyOCAyNS4zNTIgeiAiLz4NCiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjMxLjU0MzkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAtMjEyLjAwMjQgLTg0OS4wMDI5KSIgeTE9Ijg3NS4wMjczIiB4Mj0iMjMxLjU0MzkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iODg2LjM2ODQiIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBpZD0iU1ZHSURfMTBfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMzZDlmZiIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwYThlYiIgb2Zmc2V0PSIxIi8+DQogICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICAgICAgPHBhdGggZmlsbD0idXJsKCNTVkdJRF8xMF8pIiBkPSJNIDM0LjAzMyAzMy4xOTkgQyAzMi4wMTMgMzQuNTExIDI5Ljc0NiAzNS4wOTUgMjcuNDI4MDAxIDM1LjA4IEMgMjIuNjIzMDAxIDM1LjA3MDAwNCAxNy41NjYwMDIgMzIuNzczMDAzIDEzLjU4NDAwMiAyOS44NTEwMDIgTCAxMy4wMDgwMDEgMjkuNDI5IEwgMTQuOTg2MDAxIDI1LjAyMyBMIDUuMDQ5MDAwNyAyNi45MzUwMDEgTCA1LjI0MDAwMDcgMjcuMzkyMDAyIEMgOS43NDYgMzEuMTQ2IDI1LjE0NiA0Mi42ODYgMzQuMDMzIDMzLjE5OSB6ICIvPg0KICAgICAgICAgICAgPHBhdGggZD0iTSA0MC40NDcgMTkuMDU0IEwgMzUuMDAxIDYuMDk4IEMgMzQuOTIgNS45MDcgMzQuNzU0IDUuNzg1IDM0LjU3IDUuNzggQyAzNC4zOSA1Ljc3NSAzNC4yMTcgNS44OTEwMDAzIDM0LjEzMiA2LjA3OSBMIDMyLjE1NyAxMC4zNjAwMDEgQyAyNy4xOTMgNy4wMjcwMDA0IDIyLjUxMTAwMiA1LjQyMDAwMDYgMTguNDI3MDAyIDUuNDE4MDAwNyBDIDExLjA5NSA1LjM4NCA1LjcyNCAxMC43MzQgNC41NTUgMjAuMTUxIEMgNC41MTkgMjAuNDMzOTk4IDQuNjY5OTk5NiAyMC43MDUgNC45MDQ5OTk3IDIwLjc4NSBDIDUuMTM5IDIwLjg2MSA1LjM5IDIwLjcyMyA1LjQ4Njk5OTUgMjAuNDYyIEMgNy44MzI5OTkgMTQuMTYyIDExLjkyNzk5OTUgMTEuOTU2IDE2LjUzNSAxMS45MzIgQyAyMC44NTMgMTEuOTI4IDI1LjU3OCAxMy45ODAwMDA1IDI5LjM0OCAxNi42NjQgTCAyNy4yMTIgMjEuNDE3IEMgMjcuMTI1IDIxLjYxMiAyNy4xNDMgMjEuODQ0IDI3LjI0OSAyMi4wMTggQyAyNy4zNDEgMjIuMTY4OTk5IDI3LjQ4OCAyMi4yNTcgMjcuNjQ2IDIyLjI1OCBDIDI3LjY3MSAyMi4yNTggMjcuNyAyMi4yNTQgMjcuNzIzOTk5IDIyLjI1IEwgNDAuMDg3OTk3IDE5Ljg2OSBDIDQwLjI0MDk5NyAxOS44NCA0MC4zNzI5OTcgMTkuNzI3OTk5IDQwLjQ0MTk5OCAxOS41Njc5OTkgQyA0MC41MTQgMTkuNDA1IDQwLjUxNiAxOS4yMTcgNDAuNDQ3IDE5LjA1NCB6ICIgZmlsbC1vcGFjaXR5PSIwLjIiIHN0cm9rZS1vcGFjaXR5PSIwLjIiLz4NCiAgICAgICAgICAgIDxwYXRoIGQ9Ik0gNS4wMzggMjAuMjM1IEMgNi44ODUgNS43NTYwMDA1IDE4LjQ0NiAxLjU2NTAwMDUgMzIuMzQ4IDExLjE1MDAwMSBMIDM0LjU2MSA2LjM1MDAwMDQgTCA0MC4wMDggMTkuMzA2IEwgMjcuNjQ3IDIxLjY4NSBMIDI5Ljk5NDk5OSAxNi40NTkgQyAyMi4xMDEgMTAuNjU1IDkuNzc1IDcuNDEzIDUuMDM4IDIwLjIzNSB6ICIgZmlsbC1vcGFjaXR5PSIwLjUiIHN0cm9rZS1vcGFjaXR5PSIwLjUiLz4NCiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iODQ2Ljk1MjEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC45OTA3IDAuMTM1OCAwLjEzNTggLTAuOTkwNyAtNjk2LjgyODcgLTk2OS4wOTE4KSIgeTE9Ii04ODEuNjE1MiIgeDI9Ijg0NC45MDg2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeTI9Ii04NjYuNzEwNCIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazphY3R1YXRlPSJvbkxvYWQiIGlkPSJTVkdJRF8xMV8iIHhsaW5rOnNob3c9Im90aGVyIj4NCiAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzJiZDQxIiBvZmZzZXQ9IjAiLz4NCiAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzliZjNkIiBvZmZzZXQ9IjAuMDUzNyIvPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NWM1MmQiIG9mZnNldD0iMC4yODgzIi8+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzY5YzkyMiIgb2Zmc2V0PSIwLjUyNDUiLz4NCiAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNzVjYzFiIiBvZmZzZXQ9IjAuNzYxNCIvPg0KICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM3OWNkMTkiIG9mZnNldD0iMSIvPg0KICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICAgICAgICAgIDxwYXRoIGZpbGw9InVybCgjU1ZHSURfMTFfKSIgZD0iTSA1LjAzOCAxOS4yMzEgQyA2Ljg4NSA0Ljc1MzAwMSAxOC40NDYgMC41NjMwMDE2MyAzMi4zNDggMTAuMTQ3MDAxIEwgMzQuNTYxIDUuMzQ4MDAxNSBMIDQwLjAwOCAxOC4zMDIwMDIgTCAyNy42NDcgMjAuNjgyMDAzIEwgMjkuOTk0OTk5IDE1LjQ1ODAwMyBDIDIyLjEwMSA5LjY1MSA5Ljc3NSA2LjQwOSA1LjAzOCAxOS4yMzEgeiAiLz4NCiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjM2LjE5NDMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAtMjEyLjAwMjQgLTg0OS4wMDI5KSIgeTE9Ijg2NS41NDY5IiB4Mj0iMjM2LjE5NDMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB5Mj0iODU0LjMzODciIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIiBpZD0iU1ZHSURfMTJfIiB4bGluazpzaG93PSJvdGhlciI+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMyZWQ0MSIgb2Zmc2V0PSIwIi8+DQogICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2M5ZmY4ZiIgb2Zmc2V0PSIxIi8+DQogICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICAgICAgPHBhdGggZmlsbD0idXJsKCNTVkdJRF8xMl8pIiBkPSJNIDMyLjYyNyAxMS4zMzYgTCAzMS45NzQ5OTggMTAuODg0MDAxIEMgMjYuOTg3IDcuNDQ0MDAwNyAyMi4zNDg5OTkgNS44NDEwMDA2IDE4LjQyOTk5OCA1Ljg0MjAwMSBDIDE0Ljc2IDUuODcgMTEuNzI4IDcuMjQ1IDkuNTEyIDkuODY5IEMgMTMuMTQgNy44MDQwMDA0IDIxLjc5IDYuMDUxMDAwNiAzOC44NzIgMTcuNTM1IEwgMzQuNTI5MDAzIDcuMjE1IEwgMzIuNjI3IDExLjMzNiB6ICIvPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+DQo=); background-repeat: no-repeat; }
@@ -30,6 +32,4 @@
.icon-wee-plus { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIzMHB4IiBoZWlnaHQ9IjMwcHgiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAgMzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCQoJCTxpbWFnZSBvdmVyZmxvdz0idmlzaWJsZSIgb3BhY2l0eT0iMC4zMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiIHdpZHRoPSIzMyIgaGVpZ2h0PSIzMyIgeGxpbms6aHJlZj0iNjdBOEIzMUIucG5nIiAgdHJhbnNmb3JtPSJtYXRyaXgoMC45Njk3IDAgMCAwLjk2OTcgNC44ODI4MTJlLTA0IDApIj4KCTwvaW1hZ2U+Cgk8Zz4KCQkKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNS43Njg2IiB5MT0iMjcuMjMxNCIgeDI9IjE1Ljc2ODYiIHkyPSIzLjIzMDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAzMSkiPgoJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojOENDNjNGIi8+CgkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDkyNDUiLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJCTxwb2x5Z29uIGZpbGw9InVybCgjU1ZHSURfMV8pIiBwb2ludHM9IjI3Ljc3LDEzLjM3IDE4LjE3LDEzLjM3IDE4LjE3LDMuNzY5IDEzLjM3LDMuNzY5IDEzLjM3LDEzLjM3IDMuNzY5LDEzLjM3IDMuNzY5LDE4LjE3IAoJCQkxMy4zNywxOC4xNyAxMy4zNywyNy43NyAxOC4xNywyNy43NyAxOC4xNywxOC4xNyAyNy43NywxOC4xNyAJCSIvPgoJCTxwb2x5Z29uIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludHM9IjI3Ljc3LDEzLjM3IDE4LjE3LDEzLjM3IDE4LjE3LDMuNzY5IDEzLjM3LDMuNzY5IAoJCQkxMy4zNywxMy4zNyAzLjc2OSwxMy4zNyAzLjc2OSwxOC4xNyAxMy4zNywxOC4xNyAxMy4zNywyNy43NyAxOC4xNywyNy43NyAxOC4xNywxOC4xNyAyNy43NywxOC4xNyAJCSIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=); background-repeat: no-repeat; }
-.icon-wee-star { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4wIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSI0MnB4IiBoZWlnaHQ9IjQycHgiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNDIgNDIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCQ0KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyMC44OTA2IiB5MT0iNzg2Ljk4NDQiIHgyPSIyMC44OTA2IiB5Mj0iNzUyLjk4NTQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIC03NDkpIj4NCgkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4NCgkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQ0VFMjEiLz4NCgkJPC9saW5lYXJHcmFkaWVudD4NCgkJPHBvbHlnb24gZmlsbD0idXJsKCNTVkdJRF8xXykiIHBvaW50cz0iMjAuODksMy45ODUgMjYuNDE0LDE1LjE3OCAzOC43NjYsMTYuOTcyIDI5LjgyNywyNS42ODQgMzEuOTM4LDM3Ljk4NCAyMC44OSwzMi4xNzcgDQoJCQk5Ljg0MiwzNy45ODQgMTEuOTUyLDI1LjY4NCAzLjAxNSwxNi45NzIgMTUuMzY2LDE1LjE3OCAJCSIvPg0KCQk8cG9seWdvbiBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMC43MzYxIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50cz0iMjAuODksMy45ODUgMjYuNDE0LDE1LjE3OCANCgkJCTM4Ljc2NiwxNi45NzIgMjkuODI3LDI1LjY4NCAzMS45MzgsMzcuOTg0IDIwLjg5LDMyLjE3NyA5Ljg0MiwzNy45ODQgMTEuOTUyLDI1LjY4NCAzLjAxNSwxNi45NzIgMTUuMzY2LDE1LjE3OCAJCSIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K); background-repeat: no-repeat; }
-
-.icon-wee-grunticon { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjNDczRTEyIiBkPSJNNjguNzQ1LDY3LjIxN3YwLjA2M2wxMS40MDEsMy4wNTZsMC4wMDItMC4wMDF2MTEuNDgxYy0wLjAwMiwyLjQwOCwxLjk1Myw0LjM2Myw0LjM1OSw0LjM2MQoJYzIuNDA2LDAsNC4zODUtMS45NTMsNC4zODUtNC4zNjFWNjMuNjMxbC0xNi4yMjktNC4zNTRMNjguNzQ1LDY3LjIxN3oiLz4KPHBhdGggZmlsbD0iIzY4NTkzOCIgZD0iTTk2LjA1NywyOS42MmwtMTIuOTM2LTguNjAxTDk2Ljc4OC0wLjI0Nkw3OS42ODYsMTcuNjY5bC0xLjc4OS00LjA3MmwtMi4wMTcsOC4wM2wtMTkuMDk3LDE5Ljc2SDE5LjM3NgoJYzAtNS4yMzMtNC40MDktOS43NTUtOS42NzctOS43NTVDNC4zNCwzMS42MzIsMCwzNS45OTMsMCw0MS4zNTR2MTYuMTA1aDYuOTA2YzAsMCwwLTEzLjc5MywwLTE1Ljk0NwoJYzAtMi4xNTQsMC41MjItNS40OTcsMy41ODktNS40OTdjMy4xMTUsMCwzLjU3LDIuODk4LDMuNTg3LDUuMzcybDAsMGwtMC4wMDQsNC4zODRWNjQuOTJsLTMuNjEyLDUuNjU1Vjk0Ljk3CgljMCwyLjQwOSwxLjk3Niw0LjM2Miw0LjM4NCw0LjM2MmMyLjQwNiwwLDQuMzYxLTEuOTUzLDQuMzYxLTQuMzYyVjczLjg0OGw0LjgyMy03LjU4OGgzNC41NDJ2MjguNzEKCWMwLDIuNDA5LDEuOTU1LDQuMzYyLDQuMzYxLDQuMzYyYzIuNDA4LDAsNC4zODUtMS45NTMsNC4zODUtNC4zNjJWNjYuODg1bDE1LjE5NS0zMC43NjhsMTAuNDk0LDEuOTk4CgljMS44MzgsMC4zNDIsMy43OTMtMC40OTksNC43NjgtMi4yMzdDOTkuMDMyLDMzLjY4Niw5OC4yMzYsMzAuODY5LDk2LjA1NywyOS42MnoiLz4KPHBhdGggZmlsbD0iI0U1MjM1RiIgZD0iTTgzLjEyMSwyMS4wMTlMOTYuNzg4LTAuMjQ2TDc5LjY4NiwxNy42NjkiLz4KPC9zdmc+Cg==); background-repeat: no-repeat; }
+.icon-wee-star { background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9EVEQvc3ZnMTAuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4wIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSI0MnB4IiBoZWlnaHQ9IjQycHgiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNDIgNDIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCQ0KCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyMC44OTA2IiB5MT0iNzg2Ljk4NDQiIHgyPSIyMC44OTA2IiB5Mj0iNzUyLjk4NTQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIC03NDkpIj4NCgkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4NCgkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQ0VFMjEiLz4NCgkJPC9saW5lYXJHcmFkaWVudD4NCgkJPHBvbHlnb24gZmlsbD0idXJsKCNTVkdJRF8xXykiIHBvaW50cz0iMjAuODksMy45ODUgMjYuNDE0LDE1LjE3OCAzOC43NjYsMTYuOTcyIDI5LjgyNywyNS42ODQgMzEuOTM4LDM3Ljk4NCAyMC44OSwzMi4xNzcgDQoJCQk5Ljg0MiwzNy45ODQgMTEuOTUyLDI1LjY4NCAzLjAxNSwxNi45NzIgMTUuMzY2LDE1LjE3OCAJCSIvPg0KCQk8cG9seWdvbiBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMC43MzYxIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50cz0iMjAuODksMy45ODUgMjYuNDE0LDE1LjE3OCANCgkJCTM4Ljc2NiwxNi45NzIgMjkuODI3LDI1LjY4NCAzMS45MzgsMzcuOTg0IDIwLjg5LDMyLjE3NyA5Ljg0MiwzNy45ODQgMTEuOTUyLDI1LjY4NCAzLjAxNSwxNi45NzIgMTUuMzY2LDE1LjE3OCAJCSIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K); background-repeat: no-repeat; }
View
6 example/output/icons.fallback.css
@@ -12,6 +12,8 @@
.icon-wee-gradients { background-image: url(png/gradients.png); background-repeat: no-repeat; }
+.icon-wee-grunticon { background-image: url(png/grunticon.png); background-repeat: no-repeat; }
+
.icon-wee-Home_Media { background-image: url(png/Home_Media.png); background-repeat: no-repeat; }
.icon-wee-Image_Exchange { background-image: url(png/Image_Exchange.png); background-repeat: no-repeat; }
@@ -30,6 +32,4 @@
.icon-wee-plus { background-image: url(png/plus.png); background-repeat: no-repeat; }
-.icon-wee-star { background-image: url(png/star.png); background-repeat: no-repeat; }
-
-.icon-wee-grunticon { background-image: url(png/grunticon.png); background-repeat: no-repeat; }
+.icon-wee-star { background-image: url(png/star.png); background-repeat: no-repeat; }
View
BIN  example/output/png/grunticon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2  example/output/preview.html
@@ -17,6 +17,7 @@
<pre><code>.icon-wee-gear:</code></pre><div class="icon-wee-gear" style="width: 30px; height: 30px"></div><hr/>
<pre><code>.icon-wee-gradients-flat-opacity:</code></pre><div class="icon-wee-gradients-flat-opacity" style="width: 84.501px; height: 42px"></div><hr/>
<pre><code>.icon-wee-gradients:</code></pre><div class="icon-wee-gradients" style="width: 30px; height: 30px"></div><hr/>
+ <pre><code>.icon-wee-grunticon:</code></pre><div class="icon-wee-grunticon" style="width: 100px; height: 100px"></div><hr/>
<pre><code>.icon-wee-Home_Media:</code></pre><div class="icon-wee-Home_Media" style="width: 44px; height: 44px"></div><hr/>
<pre><code>.icon-wee-Image_Exchange:</code></pre><div class="icon-wee-Image_Exchange" style="width: 44px; height: 44px"></div><hr/>
<pre><code>.icon-wee-Internet:</code></pre><div class="icon-wee-Internet" style="width: 44px; height: 44px"></div><hr/>
@@ -27,6 +28,5 @@
<pre><code>.icon-wee-map:</code></pre><div class="icon-wee-map" style="width: 24px; height: 34px"></div><hr/>
<pre><code>.icon-wee-plus:</code></pre><div class="icon-wee-plus" style="width: 30px; height: 30px"></div><hr/>
<pre><code>.icon-wee-star:</code></pre><div class="icon-wee-star" style="width: 42px; height: 42px"></div><hr/>
- <pre><code>.icon-wee-grunticon:</code></pre><div class="icon-wee-grunticon" style="width: 100px; height: 100px"></div><hr/>
</body>
</html>
View
15 example/source/grunticon.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
+<path fill="#473E12" d="M68.745,67.217v0.063l11.401,3.056l0.002-0.001v11.481c-0.002,2.408,1.953,4.363,4.359,4.361
+ c2.406,0,4.385-1.953,4.385-4.361V63.631l-16.229-4.354L68.745,67.217z"/>
+<path fill="#685938" d="M96.057,29.62l-12.936-8.601L96.788-0.246L79.686,17.669l-1.789-4.072l-2.017,8.03l-19.097,19.76H19.376
+ c0-5.233-4.409-9.755-9.677-9.755C4.34,31.632,0,35.993,0,41.354v16.105h6.906c0,0,0-13.793,0-15.947
+ c0-2.154,0.522-5.497,3.589-5.497c3.115,0,3.57,2.898,3.587,5.372l0,0l-0.004,4.384V64.92l-3.612,5.655V94.97
+ c0,2.409,1.976,4.362,4.384,4.362c2.406,0,4.361-1.953,4.361-4.362V73.848l4.823-7.588h34.542v28.71
+ c0,2.409,1.955,4.362,4.361,4.362c2.408,0,4.385-1.953,4.385-4.362V66.885l15.195-30.768l10.494,1.998
+ c1.838,0.342,3.793-0.499,4.768-2.237C99.032,33.686,98.236,30.869,96.057,29.62z"/>
+<path fill="#E5235F" d="M83.121,21.019L96.788-0.246L79.686,17.669"/>
+</svg>
View
101 tasks/grunticon.js
@@ -0,0 +1,101 @@
+/*
+ * grunticon
+ * https://github.com/filamentgroup/grunticon
+ *
+ * Copyright (c) 2012 Scott Jehl, Filament Group, Inc
+ * Licensed under the MIT license.
+ */
+
+module.exports = function(grunt ) {
+
+ grunt.registerTask( 'grunticon', 'A mystical CSS icon solution.', function() {
+
+ // just a quick starting message
+ grunt.log.write( "Look, it's a grunticon!\n" );
+
+ // get the config
+ var config = grunt.config.get( "grunticon" );
+
+ // fail if config or no src or dest config
+ if( !config || config.src === undefined || config.dest === undefined ){
+ grunt.fatal( "Oops! Please provide grunticon configuration for src and dest in your grunt.js file" );
+ return;
+ }
+
+ // make sure src and dest have / at the end
+ if( !config.src.match( /\/$/ ) ){
+ config.src += "/";
+ }
+ if( !config.dest.match( /\/$/ ) ){
+ config.dest += "/";
+ }
+
+ var asyncCSS = grunt.task.getFile( "grunticon/static/grunticon.loader.js" );
+ var asyncCSSBanner = grunt.task.getFile( "grunticon/static/grunticon.loader.banner.js" );
+ var previewHTMLsrc = grunt.task.getFile( "grunticon/static/preview.html" );
+
+ // CSS filenames with optional mixin from config
+ var datasvgcss = grunt.config.datasvgcss || "icons.data.svg.css";
+ var datapngcss = grunt.config.datapngcss || "icons.data.png.css";
+ var urlpngcss = grunt.config.urlpngcss || "icons.fallback.css";
+
+ //filename for generated output preview HTML file
+ var previewhtml = config.previewhtml || "preview.html";
+
+ //filename for generated loader HTML snippet file
+ var loadersnippet = config.loadersnippet || "grunticon.loader.txt";
+
+ // css references base path for the loader
+ var cssbasepath = config.cssbasepath || "/";
+
+ // folder name (within the output folder) for generated png files
+ var pngfolder = config.pngfolder || "png/";
+ // make sure pngfolder has / at the end
+ if( !pngfolder.match( /\/$/ ) ){
+ pngfolder += "/";
+ }
+
+ // css class prefix
+ var cssprefix = config.cssprefix || "icon";
+
+ // create the output directory
+ grunt.file.mkdir( config.dest );
+
+ // create the output icons directory
+ grunt.file.mkdir( config.dest + pngfolder );
+
+ // minify the source of the grunticon loader and write that to the output
+ grunt.log.write( "\ngrunticon now minifying the stylesheet loader source." );
+ var asyncsrc = grunt.file.read( asyncCSS );
+ var banner = grunt.file.read( asyncCSSBanner );
+ var min = banner + "\n" + grunt.helper('uglify', asyncsrc );
+ var loaderCodeDest = config.dest + loadersnippet;
+ grunt.file.write( loaderCodeDest, min );
+ grunt.log.write( "\ngrunticon loader file created." );
+
+ // take it to phantomjs to do the rest
+ grunt.log.write( "\ngrunticon now spawning phantomjs..." );
+
+ grunt.utils.spawn({
+ cmd: 'phantomjs',
+ args: [
+ grunt.task.getFile('grunticon/phantom.js'),
+ config.src,
+ config.dest,
+ loaderCodeDest,
+ previewHTMLsrc,
+ datasvgcss,
+ datapngcss,
+ urlpngcss,
+ previewhtml,
+ pngfolder,
+ cssprefix,
+ cssbasepath
+ ],
+ fallback: ''
+ }, function(err, result, code) {
+ // TODO boost this up a bit.
+ grunt.log.write("\nSomething went wrong with phantomjs...");
+ });
+ });
+};
View
159 tasks/grunticon/phantom.js
@@ -0,0 +1,159 @@
+/*
+ * grunticon
+ * https://github.com/filamentgroup/grunticon
+ *
+ * Copyright (c) 2012 Scott Jehl, Filament Group, Inc
+ * Licensed under the MIT license.
+ */
+
+/*global phantom:true*/
+/*global window:true*/
+/*global btoa:true*/
+
+/*
+phantom args sent from grunticon.js:
+ [0] - input directory path
+ [1] - output directory path
+ [2] - asyncCSS output file path
+ [3] - preview.html static file path
+ [4] - CSS filename for datasvg css
+ [5] - CSS filename for datapng css
+ [6] - CSS filename for urlpng css
+ [7] - filename for preview HTML file
+ [8] - png folder name
+ [9] - css classname prefix
+ [10] - css basepath prefix
+*/
+
+var fs = require( "fs" );
+var inputdir = phantom.args[0];
+var outputdir = phantom.args[1];
+var pngout = phantom.args[8];
+var cssprefix = phantom.args[9];
+var files = fs.list( inputdir );
+var currfile = 0;
+var pngcssrules = [];
+var pngdatacssrules = [];
+var datacssrules = [];
+var htmlpreviewbody = [];
+var fallbackcss = phantom.args[6];
+var pngdatacss = phantom.args[5];
+var datacss = phantom.args[4];
+var cssbasepath = phantom.args[10];
+
+
+// increment the current file index and process it
+function nextFile(){
+ currfile++;
+ processFile();
+}
+
+// files have all been processed. write the css and html files and return
+function finishUp(){
+
+ // make the preview HTML file and asyncCSS loader file
+ var asyncCSS = fs.read( phantom.args[2] );
+
+ // copy above for a slightly different output in the preview html file (different paths)
+ var asyncCSSpreview = asyncCSS;
+
+ // open up the static html document
+ var htmldoc = fs.read( phantom.args[3]);
+
+ // noscript for the snippet file
+ var noscript = '<noscript><link href="' + cssbasepath + outputdir + fallbackcss + '" rel="stylesheet"></noscript>';
+
+ // noscript for the preview file
+ var noscriptpreview = '<noscript><link href="' + fallbackcss + '" rel="stylesheet"></noscript>';
+
+ // add custom function call to asyncCSS
+ asyncCSS += '\ngrunticon( [ "' + cssbasepath + outputdir + datacss +'", "' + cssbasepath + outputdir + pngdatacss +'", "' + cssbasepath + outputdir + fallbackcss +'" ] );';
+ asyncCSSpreview += '\ngrunticon( [ "'+ datacss +'", "'+ pngdatacss +'", "'+ fallbackcss +'" ] );';
+
+ // add async loader to the top
+ htmldoc = htmldoc.replace( /<script>/, "<script>\n\t" + asyncCSSpreview );
+
+ //add noscript
+ htmldoc = htmldoc.replace( /<\/script>/, "</script>\n\t" + noscriptpreview );
+
+ // add icons to the body
+ htmldoc = htmldoc.replace( /<\/body>/, htmlpreviewbody.join( "\n\t" ) + "\n</body>" );
+
+ // write the preview html file
+ fs.write( outputdir + phantom.args[7], htmldoc );
+
+ // write CSS files
+ fs.write( outputdir + fallbackcss, pngcssrules.join( "\n\n" ) );
+ fs.write( outputdir + pngdatacss, pngdatacssrules.join( "\n\n" ) );
+ fs.write( outputdir + datacss, datacssrules.join( "\n\n" ) );
+
+ // overwrite the snippet HTML
+ fs.write( phantom.args[2], "<!-- Unicode CSS Loader: place this in the head of your page -->\n<script>\n" + asyncCSS + "</script>\n" + noscript );
+}
+
+// process an svg file from the source directory
+function processFile(){
+ var theFile = files[ currfile ];
+
+ if( theFile ){
+ // only parse svg files
+ if( theFile.match( /\.svg$/i ) ){
+ (function(){
+ var page = require( "webpage" ).create();
+ var svgdata = fs.read( inputdir + theFile ) || "";
+ var svgdatauri = "data:image/svg+xml;base64,";
+ var pngdatauri = "data:image/png;base64,";
+
+ // kill the ".svg" at the end of the filename
+ var filenamenoext = theFile.replace( /\.svg$/i, "" );
+
+ // get svg element's dimensions so we can set the viewport dims later
+ var frag = window.document.createElement( "div" );
+ frag.innerHTML = svgdata;
+ var svgelem = frag.querySelector( "svg" );
+ var width = svgelem.getAttribute( "width" );
+ var height = svgelem.getAttribute( "height" );
+
+ // get base64 of svg file
+ svgdatauri += btoa(svgdata);
+
+ // add rules to svg data css file
+ datacssrules.push( "." + cssprefix + filenamenoext + " { background-image: url(" + svgdatauri + "); background-repeat: no-repeat; }" );
@staabm
staabm added a note

@scottjehl wouldn't it make sense to use the shortcut css property "background" instead, to save a few bytes?

filenamenoext + " { background: url(" + svgdatauri + ") no-repeat; }"

could prepare a PR if you like it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+ // add rules to png url css file
+ pngcssrules.push( "." + cssprefix + filenamenoext + " { background-image: url(" + pngout + filenamenoext + ".png" + "); background-repeat: no-repeat; }" );
@staabm
staabm added a note

same as above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+ // add markup to the preview html file
+ htmlpreviewbody.push( '<pre><code>.' + cssprefix + filenamenoext + ':</code></pre><div class="' + cssprefix + filenamenoext + '" style="width: '+ width +'; height: '+ height +'"></div><hr/>' );
+
+ // set page viewport size to svg dimensions
+ page.viewportSize = { width: parseFloat(width), height: parseFloat(height) };
+
+ // open svg file in webkit to make a png
+ page.open( inputdir + theFile, function( status ){
+
+ // create png file
+ page.render( outputdir + pngout + filenamenoext + ".png" );
+
+ // create png data URI
+ pngdatacssrules.push( "." + cssprefix + filenamenoext + " { background-image: url(" + pngdatauri + page.renderBase64( "png" ) + "); background-repeat: no-repeat; }" );
@staabm
staabm added a note

another one here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+ // process the next svg
+ nextFile();
+ } );
+ }());
+ }
+ else {
+ // process the next svg
+ nextFile();
+ }
+ }
+ else {
+ // fin
+ finishUp();
+ phantom.exit();
+ }
+}
+
+// go ahead with the first file
+processFile();
View
1  tasks/grunticon/static/grunticon.loader.banner.js
@@ -0,0 +1 @@
+/* grunticon Stylesheet Loader | https://github.com/filamentgroup/grunticon | (c) 2012 Scott Jehl, Filament Group, Inc. | MIT license. */
View
32 tasks/grunticon/static/grunticon.loader.js
@@ -0,0 +1,32 @@
+window.grunticon = function( css, foo ){
+ // expects a css array with 3 items representing CSS paths to datasvg, datapng, urlpng
+ if( !css || css.length !== 3 ){
+ return;
+ }
+
+ // Thanks Modernizr & Erik Dahlstrom
+ var w = window,
+ svg = !!w.document.createElementNS && !!w.document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect,
+
+ loadCSS = function( data ){
+ var link = w.document.createElement( "link" ),
+ ref = w.document.getElementsByTagName( "script" )[ 0 ];
+ link.rel = "stylesheet";
+ link.href = css[ data && svg ? 0 : data ? 1 : 2 ];
+ ref.parentNode.insertBefore( link, ref );
+ },
+
+ // Thanks Modernizr
+ img = new w.Image();
+
+ img.onerror = function(){
+ loadCSS( false );
+ };
+
+ img.onload = function(){
+ loadCSS( img.width === 1 && img.height === 1 );
+ };
+
+ img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
@jiv-e
jiv-e added a note

Can somebody explain the purpose of the encoded 1 x 1px gif as an img.src value?

@jiv-e
jiv-e added a note

Ok... I found this: Modernizr/Modernizr#14
--> http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/

It's a CSS data uri test. If the 1 x 1px gif is loaded correctly loadCSS will have 'true' as an argument. Variable svg is svg support test. On line 15 you can see how these variables determine which CSS file to load. CSS array is the parameter of the grunticon function so css[0], css[1] and css[2] are references to the generated CSS files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+};
+// Call grunticon() here to load CSS:
View
10 tasks/grunticon/static/preview.html
@@ -0,0 +1,10 @@
+<!doctype HTML>
+<html>
+ <head>
+ <title>Icons Preview!</title>
+ <script>
+ </script>
+ </head>
+ <body>
+ </body>
+</html>
@staabm

@scottjehl wouldn't it make sense to use the shortcut css property "background" instead, to save a few bytes?

filenamenoext + " { background: url(" + svgdatauri + ") no-repeat; }"

could prepare a PR if you like it.

@staabm

another one here

@jefflembeck

Yep, it's actually much easier to see over here: https://github.com/filamentgroup/grunticon/blob/master/tasks/grunticon/static/grunticon.loader.js#L8

This loader has two tests in it, one for svg support and one for datauri support. That 1x1px gif is to check for datauri support.

If it fails, it falls back to the non-encoded png CSS file.

@jiv-e

Can somebody explain the purpose of the encoded 1 x 1px gif as an img.src value?

@jiv-e

Ok... I found this: Modernizr/Modernizr#14
--> http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/

It's a CSS data uri test. If the 1 x 1px gif is loaded correctly loadCSS will have 'true' as an argument. Variable svg is svg support test. On line 15 you can see how these variables determine which CSS file to load. CSS array is the parameter of the grunticon function so css[0], css[1] and css[2] are references to the generated CSS files.

@jiv-e

I had already deleted my comment and moved it down to tasks/grunticon/static/grunticon.loader.js on this page.

Please sign in to comment.
Something went wrong with that request. Please try again.