<reponame>hoamon/www-hoamon-info
#!/usr/bin/python

#Copyright (c) 2013, ho600.com
#All rights reserved.
#
#Redistribution and use in source and binary forms, with or without modification,
#are permitted provided that the following conditions are met:
#
#    Redistributions of source code must retain the above copyright notice,
#    this list of conditions and the following disclaimer.
#
#    Redistributions in binary form must
#    reproduce the above copyright notice, this list of conditions and the
#    following disclaimer in the documentation and/or other materials provided
#    with the distribution.
#
#    Neither the name of the ho600.com nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
#WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
#INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
#OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
#EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

from django.contrib.auth.models import AnonymousUser
from django.http import HttpResponseForbidden
from django.conf import settings

if not hasattr(settings, 'CAN_VIEW_BUG_PAGE_IPS'):
    CAN_VIEW_BUG_PAGE_IPS = ['127.0.0.1']
if not hasattr(settings, 'CAN_VIEW_BUG_PAGE_DUSER'):
    CAN_VIEW_BUG_PAGE_DUSER = ['']


def checkCanViewBugPage(view_function):
    def innerFunction(*args, **kw):
        R = args[0]
        username = R.user.username if type(R.user) != AnonymousUser else '$$AnonymousUser$$'
        if (R.META.get('REMOTE_ADDR', '') in settings.CAN_VIEW_BUG_PAGE_IPS or
            (username in settings.CAN_VIEW_BUG_PAGE_DUSER)):
            return view_function(*args, **kw)
        else:
            return HttpResponseForbidden('You(%s) have no right to view this page'%username, mimetype='text/plain')
    innerFunction.func_name = view_function.func_name
    return innerFunction
    

MEDIA_BUNDLES = [
    ('bugrecord_bundle.js',
        'ho600_lib/jQuery-URL-Parser/purl.js',
        'ho600_lib/ho600_lib.js',
    ),
]

_Test_mediagenerator_speed = [
    ('mediagenerator_example.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
    ),
]



#!/usr/bin/python

#Copyright (c) 2013, ho600.com
#All rights reserved.
#
#Redistribution and use in source and binary forms, with or without modification,
#are permitted provided that the following conditions are met:
#
#    Redistributions of source code must retain the above copyright notice,
#    this list of conditions and the following disclaimer.
#
#    Redistributions in binary form must
#    reproduce the above copyright notice, this list of conditions and the
#    following disclaimer in the documentation and/or other materials provided
#    with the distribution.
#
#    Neither the name of the ho600.com nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
#WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
#INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
#OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
#NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
#EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

from django.contrib.auth.models import AnonymousUser
from django.http import HttpResponseForbidden
from django.conf import settings

if not hasattr(settings, 'CAN_VIEW_BUG_PAGE_IPS'):
    CAN_VIEW_BUG_PAGE_IPS = ['127.0.0.1']
if not hasattr(settings, 'CAN_VIEW_BUG_PAGE_DUSER'):
    CAN_VIEW_BUG_PAGE_DUSER = ['']


def checkCanViewBugPage(view_function):
    def innerFunction(*args, **kw):
        R = args[0]
        username = R.user.username if type(R.user) != AnonymousUser else '$$AnonymousUser$$'
        if (R.META.get('REMOTE_ADDR', '') in settings.CAN_VIEW_BUG_PAGE_IPS or
            (username in settings.CAN_VIEW_BUG_PAGE_DUSER)):
            return view_function(*args, **kw)
        else:
            return HttpResponseForbidden('You(%s) have no right to view this page'%username, mimetype='text/plain')
    innerFunction.func_name = view_function.func_name
    return innerFunction
    

MEDIA_BUNDLES = [
    ('bugrecord_bundle.js',
        'ho600_lib/jQuery-URL-Parser/purl.js',
        'ho600_lib/ho600_lib.js',
    ),
]

_Test_mediagenerator_speed = [
    ('mediagenerator_example.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
        'ho600_lib/s1.css',
        'ho600_lib/s2.css',
        'ho600_lib/s3.css',
    ),
]
#!/usr/bin/python #Copyright (c) 2013, ho600.com #All rights reserved. # #Redistribution and use in source and binary forms, with or without modification, #are permitted provided that the following conditions are met: # #    Redistributions of source code must retain the above copyright notice, #    this list of conditions and the following disclaimer. # #    Redistributions in binary form must #    reproduce the above copyright notice, this list of conditions and the #    following disclaimer in the documentation and/or other materials provided #    with the distribution. # #    Neither the name of the ho600.com nor the names of its contributors #    may be used to endorse or promote products derived from this software #    without specific prior written permission. # #THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED #WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. #IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, #INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, #BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY #OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING #NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, #EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.