def METHOD_NAME():
    class Root:
        @cherrypy.expose
        def index(self):
            return 'This is public.'
    class BasicProtected:
        @cherrypy.expose
        def index(self):
            return "Hello %s, you've been authorized." % (
                cherrypy.request.login)
    class BasicProtected2:
        @cherrypy.expose
        def index(self):
            return "Hello %s, you've been authorized." % (
                cherrypy.request.login)
    class BasicProtected2_u:
        @cherrypy.expose
        def index(self):
            return "Hello %s, you've been authorized." % (
                cherrypy.request.login)
    userpassdict = {'xuser': 'xpassword'}
    userhashdict = {'xuser': md5(b'xpassword').hexdigest()}
    userhashdict_u = {'xюзер': md5(ntob('їжа', 'utf-8')).hexdigest()}
    def checkpasshash(realm, user, password):
        p = userhashdict.get(user)
        return p and p == md5(ntob(password)).hexdigest() or False
    def checkpasshash_u(realm, user, password):
        p = userhashdict_u.get(user)
        return p and p == md5(ntob(password, 'utf-8')).hexdigest() or False
    basic_checkpassword_dict = auth_basic.checkpassword_dict(userpassdict)
    conf = {
        '/basic': {
            'tools.auth_basic.on': True,
            'tools.auth_basic.realm': 'wonderland',
            'tools.auth_basic.checkpassword': basic_checkpassword_dict
        },
        '/basic2': {
            'tools.auth_basic.on': True,
            'tools.auth_basic.realm': 'wonderland',
            'tools.auth_basic.checkpassword': checkpasshash,
            'tools.auth_basic.accept_charset': 'ISO-8859-1',
        },
        '/basic2_u': {
            'tools.auth_basic.on': True,
            'tools.auth_basic.realm': 'wonderland',
            'tools.auth_basic.checkpassword': checkpasshash_u,
            'tools.auth_basic.accept_charset': 'UTF-8',
        },
    }
    root = Root()
    root.basic = BasicProtected()
    root.basic2 = BasicProtected2()
    root.basic2_u = BasicProtected2_u()
    cherrypy.tree.mount(root, config=conf)