# Path: validator/decorator.py
# def version_range(guid, version, before=None, app_versions=None):
#     """Returns all values after (and including) `version` for the app `guid`"""
# 
#     if app_versions is None:
#         app_versions = validator.constants.APPROVED_APPLICATIONS
#     app_key = None
# 
#     # Support for shorthand instead of full GUIDs.
#     for app_guid, app_name in APPLICATIONS.items():
#         if app_name == guid:
#             guid = app_guid
#             break
# 
#     for key in app_versions.keys():
#         if app_versions[key]['guid'] == guid:
#             app_key = key
#             break
# 
#     if not app_key or version not in app_versions[app_key]['versions']:
#         raise Exception('Bad GUID or version provided for version range: %s'
#                         % version)
# 
#     all_versions = app_versions[app_key]['versions']
#     version_pos = all_versions.index(version)
#     before_pos = None
#     if before is not None and before in all_versions:
#         before_pos = all_versions.index(before)
# 
#     return all_versions[version_pos:before_pos]


from validator.decorator import version_range
from validator.constants import (FIREFOX_GUID, FENNEC_GUID,
                                 THUNDERBIRD_GUID as TB_GUID, ANDROID_GUID)


# Compatibility app/version ranges:

def _build_definition(maj_version_num, firefox=True, fennec=True,
                      thunderbird=True, android=True):
    definition = {}
    app_version_range = (

# Path: validator/decorator.py
# def version_range(guid, version, before=None, app_versions=None):
#     """Returns all values after (and including) `version` for the app `guid`"""
# 
#     if app_versions is None:
#         app_versions = validator.constants.APPROVED_APPLICATIONS
#     app_key = None
# 
#     # Support for shorthand instead of full GUIDs.
#     for app_guid, app_name in APPLICATIONS.items():
#         if app_name == guid:
#             guid = app_guid
#             break
# 
#     for key in app_versions.keys():
#         if app_versions[key]['guid'] == guid:
#             app_key = key
#             break
# 
#     if not app_key or version not in app_versions[app_key]['versions']:
#         raise Exception('Bad GUID or version provided for version range: %s'
#                         % version)
# 
#     all_versions = app_versions[app_key]['versions']
#     version_pos = all_versions.index(version)
#     before_pos = None
#     if before is not None and before in all_versions:
#         before_pos = all_versions.index(before)
# 
#     return all_versions[version_pos:before_pos]


# Path: validator/compat.py
from validator.decorator import version_range
from validator.constants import (FIREFOX_GUID, FENNEC_GUID,
                                 THUNDERBIRD_GUID as TB_GUID, ANDROID_GUID)



# Compatibility app/version ranges:

def _build_definition(maj_version_num, firefox=True, fennec=True,
                      thunderbird=True, android=True):
    definition = {}
    app_version_range = (

        lambda app: version_range(app, '%d.0a1' % maj_version_num,