gitextract_cd4nlga1/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ ├── feature_request.md │ └── question.md ├── .gitignore ├── 3rd_party/ │ ├── babel/ │ │ ├── .babelrc │ │ ├── babel.py │ │ ├── package.json │ │ └── test.jsx │ ├── common/ │ │ └── site-packages/ │ │ ├── mako/ │ │ │ ├── __init__.py │ │ │ ├── _ast_util.py │ │ │ ├── ast.py │ │ │ ├── cache.py │ │ │ ├── cmd.py │ │ │ ├── codegen.py │ │ │ ├── compat.py │ │ │ ├── exceptions.py │ │ │ ├── ext/ │ │ │ │ ├── __init__.py │ │ │ │ ├── autohandler.py │ │ │ │ ├── babelplugin.py │ │ │ │ ├── beaker_cache.py │ │ │ │ ├── extract.py │ │ │ │ ├── linguaplugin.py │ │ │ │ ├── preprocessors.py │ │ │ │ ├── pygmentplugin.py │ │ │ │ └── turbogears.py │ │ │ ├── filters.py │ │ │ ├── lexer.py │ │ │ ├── lookup.py │ │ │ ├── parsetree.py │ │ │ ├── pygen.py │ │ │ ├── pyparser.py │ │ │ ├── runtime.py │ │ │ ├── template.py │ │ │ └── util.py │ │ ├── more_itertools/ │ │ │ ├── __init__.py │ │ │ ├── more.py │ │ │ ├── recipes.py │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ ├── test_more.py │ │ │ └── test_recipes.py │ │ └── tzlocal_olson/ │ │ ├── __init__.py │ │ ├── darwin.py │ │ ├── test_data/ │ │ │ ├── Harare │ │ │ ├── localtime/ │ │ │ │ └── etc/ │ │ │ │ └── localtime │ │ │ ├── symlink_localtime/ │ │ │ │ ├── etc/ │ │ │ │ │ └── localtime │ │ │ │ └── usr/ │ │ │ │ └── share/ │ │ │ │ └── zoneinfo/ │ │ │ │ └── Africa/ │ │ │ │ └── Harare │ │ │ ├── timezone/ │ │ │ │ └── etc/ │ │ │ │ └── timezone │ │ │ ├── timezone_setting/ │ │ │ │ └── etc/ │ │ │ │ └── conf.d/ │ │ │ │ └── clock │ │ │ └── zone_setting/ │ │ │ └── etc/ │ │ │ └── sysconfig/ │ │ │ └── clock │ │ ├── tests.py │ │ ├── unix.py │ │ ├── win32.py │ │ └── windows_tz.py │ ├── mooRainbow/ │ │ ├── mooRainbow.1.2b2.js │ │ ├── mooRainbow.css │ │ └── mooRainbow.js │ ├── python2/ │ │ └── site-packages/ │ │ ├── cheroot/ │ │ │ ├── __init__.py │ │ │ ├── _compat.py │ │ │ ├── errors.py │ │ │ ├── makefile.py │ │ │ ├── server.py │ │ │ ├── ssl/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builtin.py │ │ │ │ └── pyopenssl.py │ │ │ ├── test/ │ │ │ │ ├── __init__.py │ │ │ │ ├── helper.py │ │ │ │ ├── test.pem │ │ │ │ ├── test_config_server.py │ │ │ │ ├── test_conn.py │ │ │ │ ├── test_core.py │ │ │ │ ├── test_wsgiapps.py │ │ │ │ └── webtest.py │ │ │ ├── workers/ │ │ │ │ ├── __init__.py │ │ │ │ └── threadpool.py │ │ │ └── wsgi.py │ │ ├── cherrypy/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── _cpchecker.py │ │ │ ├── _cpcompat.py │ │ │ ├── _cpconfig.py │ │ │ ├── _cpdispatch.py │ │ │ ├── _cperror.py │ │ │ ├── _cplogging.py │ │ │ ├── _cpmodpy.py │ │ │ ├── _cpnative_server.py │ │ │ ├── _cpreqbody.py │ │ │ ├── _cprequest.py │ │ │ ├── _cpserver.py │ │ │ ├── _cptools.py │ │ │ ├── _cptree.py │ │ │ ├── _cpwsgi.py │ │ │ ├── _cpwsgi_server.py │ │ │ ├── _helper.py │ │ │ ├── daemon.py │ │ │ ├── lib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth.py │ │ │ │ ├── auth_basic.py │ │ │ │ ├── auth_digest.py │ │ │ │ ├── caching.py │ │ │ │ ├── covercp.py │ │ │ │ ├── cpstats.py │ │ │ │ ├── cptools.py │ │ │ │ ├── encoding.py │ │ │ │ ├── gctools.py │ │ │ │ ├── httpauth.py │ │ │ │ ├── httputil.py │ │ │ │ ├── jsontools.py │ │ │ │ ├── lockfile.py │ │ │ │ ├── locking.py │ │ │ │ ├── profiler.py │ │ │ │ ├── reprconf.py │ │ │ │ ├── sessions.py │ │ │ │ ├── static.py │ │ │ │ └── xmlrpcutil.py │ │ │ ├── process/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plugins.py │ │ │ │ ├── servers.py │ │ │ │ ├── win32.py │ │ │ │ └── wspbus.py │ │ │ ├── scaffold/ │ │ │ │ ├── __init__.py │ │ │ │ ├── apache-fcgi.conf │ │ │ │ ├── example.conf │ │ │ │ └── site.conf │ │ │ ├── test/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _test_decorators.py │ │ │ │ ├── _test_states_demo.py │ │ │ │ ├── benchmark.py │ │ │ │ ├── checkerdemo.py │ │ │ │ ├── fastcgi.conf │ │ │ │ ├── fcgi.conf │ │ │ │ ├── helper.py │ │ │ │ ├── logtest.py │ │ │ │ ├── modfastcgi.py │ │ │ │ ├── modfcgid.py │ │ │ │ ├── modpy.py │ │ │ │ ├── modwsgi.py │ │ │ │ ├── sessiondemo.py │ │ │ │ ├── static/ │ │ │ │ │ ├── 404.html │ │ │ │ │ └── index.html │ │ │ │ ├── style.css │ │ │ │ ├── test.pem │ │ │ │ ├── test_auth_basic.py │ │ │ │ ├── test_auth_digest.py │ │ │ │ ├── test_bus.py │ │ │ │ ├── test_caching.py │ │ │ │ ├── test_compat.py │ │ │ │ ├── test_config.py │ │ │ │ ├── test_config_server.py │ │ │ │ ├── test_conn.py │ │ │ │ ├── test_core.py │ │ │ │ ├── test_dynamicobjectmapping.py │ │ │ │ ├── test_encoding.py │ │ │ │ ├── test_etags.py │ │ │ │ ├── test_http.py │ │ │ │ ├── test_httpauth.py │ │ │ │ ├── test_httputil.py │ │ │ │ ├── test_iterator.py │ │ │ │ ├── test_json.py │ │ │ │ ├── test_logging.py │ │ │ │ ├── test_mime.py │ │ │ │ ├── test_misc_tools.py │ │ │ │ ├── test_objectmapping.py │ │ │ │ ├── test_params.py │ │ │ │ ├── test_proxy.py │ │ │ │ ├── test_refleaks.py │ │ │ │ ├── test_request_obj.py │ │ │ │ ├── test_routes.py │ │ │ │ ├── test_session.py │ │ │ │ ├── test_sessionauthenticate.py │ │ │ │ ├── test_states.py │ │ │ │ ├── test_static.py │ │ │ │ ├── test_tools.py │ │ │ │ ├── test_tutorials.py │ │ │ │ ├── test_virtualhost.py │ │ │ │ ├── test_wsgi_ns.py │ │ │ │ ├── test_wsgi_unix_socket.py │ │ │ │ ├── test_wsgi_vhost.py │ │ │ │ ├── test_wsgiapps.py │ │ │ │ ├── test_xmlrpc.py │ │ │ │ └── webtest.py │ │ │ └── tutorial/ │ │ │ ├── README.rst │ │ │ ├── __init__.py │ │ │ ├── custom_error.html │ │ │ ├── tut01_helloworld.py │ │ │ ├── tut02_expose_methods.py │ │ │ ├── tut03_get_and_post.py │ │ │ ├── tut04_complex_site.py │ │ │ ├── tut05_derived_objects.py │ │ │ ├── tut06_default_method.py │ │ │ ├── tut07_sessions.py │ │ │ ├── tut08_generators_and_yield.py │ │ │ ├── tut09_files.py │ │ │ ├── tut10_http_errors.py │ │ │ └── tutorial.conf │ │ ├── dateutil/ │ │ │ ├── __init__.py │ │ │ ├── easter.py │ │ │ ├── parser.py │ │ │ ├── relativedelta.py │ │ │ ├── rrule.py │ │ │ ├── tz.py │ │ │ ├── tzwin.py │ │ │ └── zoneinfo/ │ │ │ └── __init__.py │ │ ├── portend.py │ │ ├── pytz/ │ │ │ ├── __init__.py │ │ │ ├── exceptions.py │ │ │ ├── lazy.py │ │ │ ├── reference.py │ │ │ ├── tzfile.py │ │ │ ├── tzinfo.py │ │ │ └── zoneinfo/ │ │ │ ├── Africa/ │ │ │ │ ├── Abidjan │ │ │ │ ├── Accra │ │ │ │ ├── Addis_Ababa │ │ │ │ ├── Algiers │ │ │ │ ├── Asmara │ │ │ │ ├── Asmera │ │ │ │ ├── Bamako │ │ │ │ ├── Bangui │ │ │ │ ├── Banjul │ │ │ │ ├── Bissau │ │ │ │ ├── Blantyre │ │ │ │ ├── Brazzaville │ │ │ │ ├── Bujumbura │ │ │ │ ├── Cairo │ │ │ │ ├── Casablanca │ │ │ │ ├── Ceuta │ │ │ │ ├── Conakry │ │ │ │ ├── Dakar │ │ │ │ ├── Dar_es_Salaam │ │ │ │ ├── Djibouti │ │ │ │ ├── Douala │ │ │ │ ├── El_Aaiun │ │ │ │ ├── Freetown │ │ │ │ ├── Gaborone │ │ │ │ ├── Harare │ │ │ │ ├── Johannesburg │ │ │ │ ├── Juba │ │ │ │ ├── Kampala │ │ │ │ ├── Khartoum │ │ │ │ ├── Kigali │ │ │ │ ├── Kinshasa │ │ │ │ ├── Lagos │ │ │ │ ├── Libreville │ │ │ │ ├── Lome │ │ │ │ ├── Luanda │ │ │ │ ├── Lubumbashi │ │ │ │ ├── Lusaka │ │ │ │ ├── Malabo │ │ │ │ ├── Maputo │ │ │ │ ├── Maseru │ │ │ │ ├── Mbabane │ │ │ │ ├── Mogadishu │ │ │ │ ├── Monrovia │ │ │ │ ├── Nairobi │ │ │ │ ├── Ndjamena │ │ │ │ ├── Niamey │ │ │ │ ├── Nouakchott │ │ │ │ ├── Ouagadougou │ │ │ │ ├── Porto-Novo │ │ │ │ ├── Sao_Tome │ │ │ │ ├── Timbuktu │ │ │ │ ├── Tripoli │ │ │ │ ├── Tunis │ │ │ │ └── Windhoek │ │ │ ├── America/ │ │ │ │ ├── Adak │ │ │ │ ├── Anchorage │ │ │ │ ├── Anguilla │ │ │ │ ├── Antigua │ │ │ │ ├── Araguaina │ │ │ │ ├── Argentina/ │ │ │ │ │ ├── Buenos_Aires │ │ │ │ │ ├── Catamarca │ │ │ │ │ ├── ComodRivadavia │ │ │ │ │ ├── Cordoba │ │ │ │ │ ├── Jujuy │ │ │ │ │ ├── La_Rioja │ │ │ │ │ ├── Mendoza │ │ │ │ │ ├── Rio_Gallegos │ │ │ │ │ ├── Salta │ │ │ │ │ ├── San_Juan │ │ │ │ │ ├── San_Luis │ │ │ │ │ ├── Tucuman │ │ │ │ │ └── Ushuaia │ │ │ │ ├── Aruba │ │ │ │ ├── Asuncion │ │ │ │ ├── Atikokan │ │ │ │ ├── Atka │ │ │ │ ├── Bahia │ │ │ │ ├── Bahia_Banderas │ │ │ │ ├── Barbados │ │ │ │ ├── Belem │ │ │ │ ├── Belize │ │ │ │ ├── Blanc-Sablon │ │ │ │ ├── Boa_Vista │ │ │ │ ├── Bogota │ │ │ │ ├── Boise │ │ │ │ ├── Buenos_Aires │ │ │ │ ├── Cambridge_Bay │ │ │ │ ├── Campo_Grande │ │ │ │ ├── Cancun │ │ │ │ ├── Caracas │ │ │ │ ├── Catamarca │ │ │ │ ├── Cayenne │ │ │ │ ├── Cayman │ │ │ │ ├── Chicago │ │ │ │ ├── Chihuahua │ │ │ │ ├── Coral_Harbour │ │ │ │ ├── Cordoba │ │ │ │ ├── Costa_Rica │ │ │ │ ├── Creston │ │ │ │ ├── Cuiaba │ │ │ │ ├── Curacao │ │ │ │ ├── Danmarkshavn │ │ │ │ ├── Dawson │ │ │ │ ├── Dawson_Creek │ │ │ │ ├── Denver │ │ │ │ ├── Detroit │ │ │ │ ├── Dominica │ │ │ │ ├── Edmonton │ │ │ │ ├── Eirunepe │ │ │ │ ├── El_Salvador │ │ │ │ ├── Ensenada │ │ │ │ ├── Fort_Nelson │ │ │ │ ├── Fort_Wayne │ │ │ │ ├── Fortaleza │ │ │ │ ├── Glace_Bay │ │ │ │ ├── Godthab │ │ │ │ ├── Goose_Bay │ │ │ │ ├── Grand_Turk │ │ │ │ ├── Grenada │ │ │ │ ├── Guadeloupe │ │ │ │ ├── Guatemala │ │ │ │ ├── Guayaquil │ │ │ │ ├── Guyana │ │ │ │ ├── Halifax │ │ │ │ ├── Havana │ │ │ │ ├── Hermosillo │ │ │ │ ├── Indiana/ │ │ │ │ │ ├── Indianapolis │ │ │ │ │ ├── Knox │ │ │ │ │ ├── Marengo │ │ │ │ │ ├── Petersburg │ │ │ │ │ ├── Tell_City │ │ │ │ │ ├── Vevay │ │ │ │ │ ├── Vincennes │ │ │ │ │ └── Winamac │ │ │ │ ├── Indianapolis │ │ │ │ ├── Inuvik │ │ │ │ ├── Iqaluit │ │ │ │ ├── Jamaica │ │ │ │ ├── Jujuy │ │ │ │ ├── Juneau │ │ │ │ ├── Kentucky/ │ │ │ │ │ ├── Louisville │ │ │ │ │ └── Monticello │ │ │ │ ├── Knox_IN │ │ │ │ ├── Kralendijk │ │ │ │ ├── La_Paz │ │ │ │ ├── Lima │ │ │ │ ├── Los_Angeles │ │ │ │ ├── Louisville │ │ │ │ ├── Lower_Princes │ │ │ │ ├── Maceio │ │ │ │ ├── Managua │ │ │ │ ├── Manaus │ │ │ │ ├── Marigot │ │ │ │ ├── Martinique │ │ │ │ ├── Matamoros │ │ │ │ ├── Mazatlan │ │ │ │ ├── Mendoza │ │ │ │ ├── Menominee │ │ │ │ ├── Merida │ │ │ │ ├── Metlakatla │ │ │ │ ├── Mexico_City │ │ │ │ ├── Miquelon │ │ │ │ ├── Moncton │ │ │ │ ├── Monterrey │ │ │ │ ├── Montevideo │ │ │ │ ├── Montreal │ │ │ │ ├── Montserrat │ │ │ │ ├── Nassau │ │ │ │ ├── New_York │ │ │ │ ├── Nipigon │ │ │ │ ├── Nome │ │ │ │ ├── Noronha │ │ │ │ ├── North_Dakota/ │ │ │ │ │ ├── Beulah │ │ │ │ │ ├── Center │ │ │ │ │ └── New_Salem │ │ │ │ ├── Ojinaga │ │ │ │ ├── Panama │ │ │ │ ├── Pangnirtung │ │ │ │ ├── Paramaribo │ │ │ │ ├── Phoenix │ │ │ │ ├── Port-au-Prince │ │ │ │ ├── Port_of_Spain │ │ │ │ ├── Porto_Acre │ │ │ │ ├── Porto_Velho │ │ │ │ ├── Puerto_Rico │ │ │ │ ├── Punta_Arenas │ │ │ │ ├── Rainy_River │ │ │ │ ├── Rankin_Inlet │ │ │ │ ├── Recife │ │ │ │ ├── Regina │ │ │ │ ├── Resolute │ │ │ │ ├── Rio_Branco │ │ │ │ ├── Rosario │ │ │ │ ├── Santa_Isabel │ │ │ │ ├── Santarem │ │ │ │ ├── Santiago │ │ │ │ ├── Santo_Domingo │ │ │ │ ├── Sao_Paulo │ │ │ │ ├── Scoresbysund │ │ │ │ ├── Shiprock │ │ │ │ ├── Sitka │ │ │ │ ├── St_Barthelemy │ │ │ │ ├── St_Johns │ │ │ │ ├── St_Kitts │ │ │ │ ├── St_Lucia │ │ │ │ ├── St_Thomas │ │ │ │ ├── St_Vincent │ │ │ │ ├── Swift_Current │ │ │ │ ├── Tegucigalpa │ │ │ │ ├── Thule │ │ │ │ ├── Thunder_Bay │ │ │ │ ├── Tijuana │ │ │ │ ├── Toronto │ │ │ │ ├── Tortola │ │ │ │ ├── Vancouver │ │ │ │ ├── Virgin │ │ │ │ ├── Whitehorse │ │ │ │ ├── Winnipeg │ │ │ │ ├── Yakutat │ │ │ │ └── Yellowknife │ │ │ ├── Antarctica/ │ │ │ │ ├── Casey │ │ │ │ ├── Davis │ │ │ │ ├── DumontDUrville │ │ │ │ ├── Macquarie │ │ │ │ ├── Mawson │ │ │ │ ├── McMurdo │ │ │ │ ├── Palmer │ │ │ │ ├── Rothera │ │ │ │ ├── South_Pole │ │ │ │ ├── Syowa │ │ │ │ ├── Troll │ │ │ │ └── Vostok │ │ │ ├── Arctic/ │ │ │ │ └── Longyearbyen │ │ │ ├── Asia/ │ │ │ │ ├── Aden │ │ │ │ ├── Almaty │ │ │ │ ├── Amman │ │ │ │ ├── Anadyr │ │ │ │ ├── Aqtau │ │ │ │ ├── Aqtobe │ │ │ │ ├── Ashgabat │ │ │ │ ├── Ashkhabad │ │ │ │ ├── Atyrau │ │ │ │ ├── Baghdad │ │ │ │ ├── Bahrain │ │ │ │ ├── Baku │ │ │ │ ├── Bangkok │ │ │ │ ├── Barnaul │ │ │ │ ├── Beirut │ │ │ │ ├── Bishkek │ │ │ │ ├── Brunei │ │ │ │ ├── Calcutta │ │ │ │ ├── Chita │ │ │ │ ├── Choibalsan │ │ │ │ ├── Chongqing │ │ │ │ ├── Chungking │ │ │ │ ├── Colombo │ │ │ │ ├── Dacca │ │ │ │ ├── Damascus │ │ │ │ ├── Dhaka │ │ │ │ ├── Dili │ │ │ │ ├── Dubai │ │ │ │ ├── Dushanbe │ │ │ │ ├── Famagusta │ │ │ │ ├── Gaza │ │ │ │ ├── Harbin │ │ │ │ ├── Hebron │ │ │ │ ├── Ho_Chi_Minh │ │ │ │ ├── Hong_Kong │ │ │ │ ├── Hovd │ │ │ │ ├── Irkutsk │ │ │ │ ├── Istanbul │ │ │ │ ├── Jakarta │ │ │ │ ├── Jayapura │ │ │ │ ├── Jerusalem │ │ │ │ ├── Kabul │ │ │ │ ├── Kamchatka │ │ │ │ ├── Karachi │ │ │ │ ├── Kashgar │ │ │ │ ├── Kathmandu │ │ │ │ ├── Katmandu │ │ │ │ ├── Khandyga │ │ │ │ ├── Kolkata │ │ │ │ ├── Krasnoyarsk │ │ │ │ ├── Kuala_Lumpur │ │ │ │ ├── Kuching │ │ │ │ ├── Kuwait │ │ │ │ ├── Macao │ │ │ │ ├── Macau │ │ │ │ ├── Magadan │ │ │ │ ├── Makassar │ │ │ │ ├── Manila │ │ │ │ ├── Muscat │ │ │ │ ├── Nicosia │ │ │ │ ├── Novokuznetsk │ │ │ │ ├── Novosibirsk │ │ │ │ ├── Omsk │ │ │ │ ├── Oral │ │ │ │ ├── Phnom_Penh │ │ │ │ ├── Pontianak │ │ │ │ ├── Pyongyang │ │ │ │ ├── Qatar │ │ │ │ ├── Qyzylorda │ │ │ │ ├── Rangoon │ │ │ │ ├── Riyadh │ │ │ │ ├── Saigon │ │ │ │ ├── Sakhalin │ │ │ │ ├── Samarkand │ │ │ │ ├── Seoul │ │ │ │ ├── Shanghai │ │ │ │ ├── Singapore │ │ │ │ ├── Srednekolymsk │ │ │ │ ├── Taipei │ │ │ │ ├── Tashkent │ │ │ │ ├── Tbilisi │ │ │ │ ├── Tehran │ │ │ │ ├── Tel_Aviv │ │ │ │ ├── Thimbu │ │ │ │ ├── Thimphu │ │ │ │ ├── Tokyo │ │ │ │ ├── Tomsk │ │ │ │ ├── Ujung_Pandang │ │ │ │ ├── Ulaanbaatar │ │ │ │ ├── Ulan_Bator │ │ │ │ ├── Urumqi │ │ │ │ ├── Ust-Nera │ │ │ │ ├── Vientiane │ │ │ │ ├── Vladivostok │ │ │ │ ├── Yakutsk │ │ │ │ ├── Yangon │ │ │ │ ├── Yekaterinburg │ │ │ │ └── Yerevan │ │ │ ├── Atlantic/ │ │ │ │ ├── Azores │ │ │ │ ├── Bermuda │ │ │ │ ├── Canary │ │ │ │ ├── Cape_Verde │ │ │ │ ├── Faeroe │ │ │ │ ├── Faroe │ │ │ │ ├── Jan_Mayen │ │ │ │ ├── Madeira │ │ │ │ ├── Reykjavik │ │ │ │ ├── South_Georgia │ │ │ │ ├── St_Helena │ │ │ │ └── Stanley │ │ │ ├── Australia/ │ │ │ │ ├── ACT │ │ │ │ ├── Adelaide │ │ │ │ ├── Brisbane │ │ │ │ ├── Broken_Hill │ │ │ │ ├── Canberra │ │ │ │ ├── Currie │ │ │ │ ├── Darwin │ │ │ │ ├── Eucla │ │ │ │ ├── Hobart │ │ │ │ ├── LHI │ │ │ │ ├── Lindeman │ │ │ │ ├── Lord_Howe │ │ │ │ ├── Melbourne │ │ │ │ ├── NSW │ │ │ │ ├── North │ │ │ │ ├── Perth │ │ │ │ ├── Queensland │ │ │ │ ├── South │ │ │ │ ├── Sydney │ │ │ │ ├── Tasmania │ │ │ │ ├── Victoria │ │ │ │ ├── West │ │ │ │ └── Yancowinna │ │ │ ├── Brazil/ │ │ │ │ ├── Acre │ │ │ │ ├── DeNoronha │ │ │ │ ├── East │ │ │ │ └── West │ │ │ ├── CET │ │ │ ├── CST6CDT │ │ │ ├── Canada/ │ │ │ │ ├── Atlantic │ │ │ │ ├── Central │ │ │ │ ├── Eastern │ │ │ │ ├── Mountain │ │ │ │ ├── Newfoundland │ │ │ │ ├── Pacific │ │ │ │ ├── Saskatchewan │ │ │ │ └── Yukon │ │ │ ├── Chile/ │ │ │ │ ├── Continental │ │ │ │ └── EasterIsland │ │ │ ├── Cuba │ │ │ ├── EET │ │ │ ├── EST │ │ │ ├── EST5EDT │ │ │ ├── Egypt │ │ │ ├── Eire │ │ │ ├── Etc/ │ │ │ │ ├── GMT │ │ │ │ ├── GMT+0 │ │ │ │ ├── GMT+1 │ │ │ │ ├── GMT+10 │ │ │ │ ├── GMT+11 │ │ │ │ ├── GMT+12 │ │ │ │ ├── GMT+2 │ │ │ │ ├── GMT+3 │ │ │ │ ├── GMT+4 │ │ │ │ ├── GMT+5 │ │ │ │ ├── GMT+6 │ │ │ │ ├── GMT+7 │ │ │ │ ├── GMT+8 │ │ │ │ ├── GMT+9 │ │ │ │ ├── GMT-0 │ │ │ │ ├── GMT-1 │ │ │ │ ├── GMT-10 │ │ │ │ ├── GMT-11 │ │ │ │ ├── GMT-12 │ │ │ │ ├── GMT-13 │ │ │ │ ├── GMT-14 │ │ │ │ ├── GMT-2 │ │ │ │ ├── GMT-3 │ │ │ │ ├── GMT-4 │ │ │ │ ├── GMT-5 │ │ │ │ ├── GMT-6 │ │ │ │ ├── GMT-7 │ │ │ │ ├── GMT-8 │ │ │ │ ├── GMT-9 │ │ │ │ ├── GMT0 │ │ │ │ ├── Greenwich │ │ │ │ ├── UCT │ │ │ │ ├── UTC │ │ │ │ ├── Universal │ │ │ │ └── Zulu │ │ │ ├── Europe/ │ │ │ │ ├── Amsterdam │ │ │ │ ├── Andorra │ │ │ │ ├── Astrakhan │ │ │ │ ├── Athens │ │ │ │ ├── Belfast │ │ │ │ ├── Belgrade │ │ │ │ ├── Berlin │ │ │ │ ├── Bratislava │ │ │ │ ├── Brussels │ │ │ │ ├── Bucharest │ │ │ │ ├── Budapest │ │ │ │ ├── Busingen │ │ │ │ ├── Chisinau │ │ │ │ ├── Copenhagen │ │ │ │ ├── Dublin │ │ │ │ ├── Gibraltar │ │ │ │ ├── Guernsey │ │ │ │ ├── Helsinki │ │ │ │ ├── Isle_of_Man │ │ │ │ ├── Istanbul │ │ │ │ ├── Jersey │ │ │ │ ├── Kaliningrad │ │ │ │ ├── Kiev │ │ │ │ ├── Kirov │ │ │ │ ├── Lisbon │ │ │ │ ├── Ljubljana │ │ │ │ ├── London │ │ │ │ ├── Luxembourg │ │ │ │ ├── Madrid │ │ │ │ ├── Malta │ │ │ │ ├── Mariehamn │ │ │ │ ├── Minsk │ │ │ │ ├── Monaco │ │ │ │ ├── Moscow │ │ │ │ ├── Nicosia │ │ │ │ ├── Oslo │ │ │ │ ├── Paris │ │ │ │ ├── Podgorica │ │ │ │ ├── Prague │ │ │ │ ├── Riga │ │ │ │ ├── Rome │ │ │ │ ├── Samara │ │ │ │ ├── San_Marino │ │ │ │ ├── Sarajevo │ │ │ │ ├── Saratov │ │ │ │ ├── Simferopol │ │ │ │ ├── Skopje │ │ │ │ ├── Sofia │ │ │ │ ├── Stockholm │ │ │ │ ├── Tallinn │ │ │ │ ├── Tirane │ │ │ │ ├── Tiraspol │ │ │ │ ├── Ulyanovsk │ │ │ │ ├── Uzhgorod │ │ │ │ ├── Vaduz │ │ │ │ ├── Vatican │ │ │ │ ├── Vienna │ │ │ │ ├── Vilnius │ │ │ │ ├── Volgograd │ │ │ │ ├── Warsaw │ │ │ │ ├── Zagreb │ │ │ │ ├── Zaporozhye │ │ │ │ └── Zurich │ │ │ ├── Factory │ │ │ ├── GB │ │ │ ├── GB-Eire │ │ │ ├── GMT │ │ │ ├── GMT+0 │ │ │ ├── GMT-0 │ │ │ ├── GMT0 │ │ │ ├── Greenwich │ │ │ ├── HST │ │ │ ├── Hongkong │ │ │ ├── Iceland │ │ │ ├── Indian/ │ │ │ │ ├── Antananarivo │ │ │ │ ├── Chagos │ │ │ │ ├── Christmas │ │ │ │ ├── Cocos │ │ │ │ ├── Comoro │ │ │ │ ├── Kerguelen │ │ │ │ ├── Mahe │ │ │ │ ├── Maldives │ │ │ │ ├── Mauritius │ │ │ │ ├── Mayotte │ │ │ │ └── Reunion │ │ │ ├── Iran │ │ │ ├── Israel │ │ │ ├── Jamaica │ │ │ ├── Japan │ │ │ ├── Kwajalein │ │ │ ├── Libya │ │ │ ├── MET │ │ │ ├── MST │ │ │ ├── MST7MDT │ │ │ ├── Mexico/ │ │ │ │ ├── BajaNorte │ │ │ │ ├── BajaSur │ │ │ │ └── General │ │ │ ├── NZ │ │ │ ├── NZ-CHAT │ │ │ ├── Navajo │ │ │ ├── PRC │ │ │ ├── PST8PDT │ │ │ ├── Pacific/ │ │ │ │ ├── Apia │ │ │ │ ├── Auckland │ │ │ │ ├── Bougainville │ │ │ │ ├── Chatham │ │ │ │ ├── Chuuk │ │ │ │ ├── Easter │ │ │ │ ├── Efate │ │ │ │ ├── Enderbury │ │ │ │ ├── Fakaofo │ │ │ │ ├── Fiji │ │ │ │ ├── Funafuti │ │ │ │ ├── Galapagos │ │ │ │ ├── Gambier │ │ │ │ ├── Guadalcanal │ │ │ │ ├── Guam │ │ │ │ ├── Honolulu │ │ │ │ ├── Johnston │ │ │ │ ├── Kiritimati │ │ │ │ ├── Kosrae │ │ │ │ ├── Kwajalein │ │ │ │ ├── Majuro │ │ │ │ ├── Marquesas │ │ │ │ ├── Midway │ │ │ │ ├── Nauru │ │ │ │ ├── Niue │ │ │ │ ├── Norfolk │ │ │ │ ├── Noumea │ │ │ │ ├── Pago_Pago │ │ │ │ ├── Palau │ │ │ │ ├── Pitcairn │ │ │ │ ├── Pohnpei │ │ │ │ ├── Ponape │ │ │ │ ├── Port_Moresby │ │ │ │ ├── Rarotonga │ │ │ │ ├── Saipan │ │ │ │ ├── Samoa │ │ │ │ ├── Tahiti │ │ │ │ ├── Tarawa │ │ │ │ ├── Tongatapu │ │ │ │ ├── Truk │ │ │ │ ├── Wake │ │ │ │ ├── Wallis │ │ │ │ └── Yap │ │ │ ├── Poland │ │ │ ├── Portugal │ │ │ ├── ROC │ │ │ ├── ROK │ │ │ ├── Singapore │ │ │ ├── Turkey │ │ │ ├── UCT │ │ │ ├── US/ │ │ │ │ ├── Alaska │ │ │ │ ├── Aleutian │ │ │ │ ├── Arizona │ │ │ │ ├── Central │ │ │ │ ├── East-Indiana │ │ │ │ ├── Eastern │ │ │ │ ├── Hawaii │ │ │ │ ├── Indiana-Starke │ │ │ │ ├── Michigan │ │ │ │ ├── Mountain │ │ │ │ ├── Pacific │ │ │ │ └── Samoa │ │ │ ├── UTC │ │ │ ├── Universal │ │ │ ├── W-SU │ │ │ ├── WET │ │ │ ├── Zulu │ │ │ ├── iso3166.tab │ │ │ ├── leapseconds │ │ │ ├── posixrules │ │ │ ├── tzdata.zi │ │ │ ├── zone.tab │ │ │ └── zone1970.tab │ │ ├── six.py │ │ └── tempora/ │ │ ├── __init__.py │ │ ├── schedule.py │ │ ├── tests/ │ │ │ └── test_schedule.py │ │ └── timing.py │ ├── python3/ │ │ └── site-packages/ │ │ ├── __init__.py │ │ ├── cheroot/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── _compat.py │ │ │ ├── cli.py │ │ │ ├── connections.py │ │ │ ├── errors.py │ │ │ ├── makefile.py │ │ │ ├── server.py │ │ │ ├── ssl/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builtin.py │ │ │ │ └── pyopenssl.py │ │ │ ├── test/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── helper.py │ │ │ │ ├── test__compat.py │ │ │ │ ├── test_conn.py │ │ │ │ ├── test_core.py │ │ │ │ ├── test_dispatch.py │ │ │ │ ├── test_errors.py │ │ │ │ ├── test_makefile.py │ │ │ │ ├── test_server.py │ │ │ │ ├── test_ssl.py │ │ │ │ └── webtest.py │ │ │ ├── testing.py │ │ │ ├── workers/ │ │ │ │ ├── __init__.py │ │ │ │ └── threadpool.py │ │ │ └── wsgi.py │ │ ├── cherrypy/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── _cpchecker.py │ │ │ ├── _cpcompat.py │ │ │ ├── _cpconfig.py │ │ │ ├── _cpdispatch.py │ │ │ ├── _cperror.py │ │ │ ├── _cplogging.py │ │ │ ├── _cpmodpy.py │ │ │ ├── _cpnative_server.py │ │ │ ├── _cpreqbody.py │ │ │ ├── _cprequest.py │ │ │ ├── _cpserver.py │ │ │ ├── _cptools.py │ │ │ ├── _cptree.py │ │ │ ├── _cpwsgi.py │ │ │ ├── _cpwsgi_server.py │ │ │ ├── _helper.py │ │ │ ├── _json.py │ │ │ ├── daemon.py │ │ │ ├── lib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth_basic.py │ │ │ │ ├── auth_digest.py │ │ │ │ ├── caching.py │ │ │ │ ├── covercp.py │ │ │ │ ├── cpstats.py │ │ │ │ ├── cptools.py │ │ │ │ ├── encoding.py │ │ │ │ ├── gctools.py │ │ │ │ ├── httputil.py │ │ │ │ ├── jsontools.py │ │ │ │ ├── locking.py │ │ │ │ ├── profiler.py │ │ │ │ ├── reprconf.py │ │ │ │ ├── sessions.py │ │ │ │ ├── static.py │ │ │ │ └── xmlrpcutil.py │ │ │ ├── process/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plugins.py │ │ │ │ ├── servers.py │ │ │ │ ├── win32.py │ │ │ │ └── wspbus.py │ │ │ ├── scaffold/ │ │ │ │ ├── __init__.py │ │ │ │ ├── apache-fcgi.conf │ │ │ │ ├── example.conf │ │ │ │ └── site.conf │ │ │ ├── test/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _test_decorators.py │ │ │ │ ├── _test_states_demo.py │ │ │ │ ├── benchmark.py │ │ │ │ ├── checkerdemo.py │ │ │ │ ├── fastcgi.conf │ │ │ │ ├── fcgi.conf │ │ │ │ ├── helper.py │ │ │ │ ├── logtest.py │ │ │ │ ├── modfastcgi.py │ │ │ │ ├── modfcgid.py │ │ │ │ ├── modpy.py │ │ │ │ ├── modwsgi.py │ │ │ │ ├── sessiondemo.py │ │ │ │ ├── static/ │ │ │ │ │ ├── 404.html │ │ │ │ │ └── index.html │ │ │ │ ├── style.css │ │ │ │ ├── test.pem │ │ │ │ ├── test_auth_basic.py │ │ │ │ ├── test_auth_digest.py │ │ │ │ ├── test_bus.py │ │ │ │ ├── test_caching.py │ │ │ │ ├── test_config.py │ │ │ │ ├── test_config_server.py │ │ │ │ ├── test_conn.py │ │ │ │ ├── test_core.py │ │ │ │ ├── test_dynamicobjectmapping.py │ │ │ │ ├── test_encoding.py │ │ │ │ ├── test_etags.py │ │ │ │ ├── test_http.py │ │ │ │ ├── test_httputil.py │ │ │ │ ├── test_iterator.py │ │ │ │ ├── test_json.py │ │ │ │ ├── test_logging.py │ │ │ │ ├── test_mime.py │ │ │ │ ├── test_misc_tools.py │ │ │ │ ├── test_native.py │ │ │ │ ├── test_objectmapping.py │ │ │ │ ├── test_params.py │ │ │ │ ├── test_plugins.py │ │ │ │ ├── test_proxy.py │ │ │ │ ├── test_refleaks.py │ │ │ │ ├── test_request_obj.py │ │ │ │ ├── test_routes.py │ │ │ │ ├── test_session.py │ │ │ │ ├── test_sessionauthenticate.py │ │ │ │ ├── test_states.py │ │ │ │ ├── test_static.py │ │ │ │ ├── test_tools.py │ │ │ │ ├── test_tutorials.py │ │ │ │ ├── test_virtualhost.py │ │ │ │ ├── test_wsgi_ns.py │ │ │ │ ├── test_wsgi_unix_socket.py │ │ │ │ ├── test_wsgi_vhost.py │ │ │ │ ├── test_wsgiapps.py │ │ │ │ ├── test_xmlrpc.py │ │ │ │ └── webtest.py │ │ │ └── tutorial/ │ │ │ ├── README.rst │ │ │ ├── __init__.py │ │ │ ├── custom_error.html │ │ │ ├── tut01_helloworld.py │ │ │ ├── tut02_expose_methods.py │ │ │ ├── tut03_get_and_post.py │ │ │ ├── tut04_complex_site.py │ │ │ ├── tut05_derived_objects.py │ │ │ ├── tut06_default_method.py │ │ │ ├── tut07_sessions.py │ │ │ ├── tut08_generators_and_yield.py │ │ │ ├── tut09_files.py │ │ │ ├── tut10_http_errors.py │ │ │ └── tutorial.conf │ │ ├── dateutil/ │ │ │ ├── __init__.py │ │ │ ├── _common.py │ │ │ ├── _version.py │ │ │ ├── easter.py │ │ │ ├── parser/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _parser.py │ │ │ │ └── isoparser.py │ │ │ ├── relativedelta.py │ │ │ ├── rrule.py │ │ │ ├── tz/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _common.py │ │ │ │ ├── _factories.py │ │ │ │ ├── tz.py │ │ │ │ └── win.py │ │ │ ├── tzwin.py │ │ │ ├── utils.py │ │ │ └── zoneinfo/ │ │ │ ├── __init__.py │ │ │ └── rebuild.py │ │ ├── jaraco/ │ │ │ ├── __init__.py │ │ │ ├── collections.py │ │ │ ├── context.py │ │ │ ├── functools.py │ │ │ └── text/ │ │ │ ├── Lorem ipsum.txt │ │ │ ├── __init__.py │ │ │ ├── layouts.py │ │ │ ├── show-newlines.py │ │ │ ├── strip-prefix.py │ │ │ ├── to-dvorak.py │ │ │ └── to-qwerty.py │ │ ├── portend.py │ │ ├── tempora/ │ │ │ ├── __init__.py │ │ │ ├── schedule.py │ │ │ ├── tests/ │ │ │ │ └── test_schedule.py │ │ │ ├── timing.py │ │ │ └── utc.py │ │ └── zc/ │ │ └── lockfile/ │ │ ├── __init__.py │ │ └── tests.py │ └── python3.6/ │ └── site-packages/ │ ├── __init__.py │ ├── cheroot/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── _compat.py │ │ ├── cli.py │ │ ├── connections.py │ │ ├── errors.py │ │ ├── makefile.py │ │ ├── server.py │ │ ├── ssl/ │ │ │ ├── __init__.py │ │ │ ├── builtin.py │ │ │ └── pyopenssl.py │ │ ├── test/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── helper.py │ │ │ ├── test__compat.py │ │ │ ├── test_conn.py │ │ │ ├── test_core.py │ │ │ ├── test_dispatch.py │ │ │ ├── test_errors.py │ │ │ ├── test_makefile.py │ │ │ ├── test_server.py │ │ │ ├── test_ssl.py │ │ │ └── webtest.py │ │ ├── testing.py │ │ ├── workers/ │ │ │ ├── __init__.py │ │ │ └── threadpool.py │ │ └── wsgi.py │ ├── cherrypy/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── _cpchecker.py │ │ ├── _cpcompat.py │ │ ├── _cpconfig.py │ │ ├── _cpdispatch.py │ │ ├── _cperror.py │ │ ├── _cplogging.py │ │ ├── _cpmodpy.py │ │ ├── _cpnative_server.py │ │ ├── _cpreqbody.py │ │ ├── _cprequest.py │ │ ├── _cpserver.py │ │ ├── _cptools.py │ │ ├── _cptree.py │ │ ├── _cpwsgi.py │ │ ├── _cpwsgi_server.py │ │ ├── _helper.py │ │ ├── _json.py │ │ ├── daemon.py │ │ ├── lib/ │ │ │ ├── __init__.py │ │ │ ├── auth_basic.py │ │ │ ├── auth_digest.py │ │ │ ├── caching.py │ │ │ ├── covercp.py │ │ │ ├── cpstats.py │ │ │ ├── cptools.py │ │ │ ├── encoding.py │ │ │ ├── gctools.py │ │ │ ├── httputil.py │ │ │ ├── jsontools.py │ │ │ ├── locking.py │ │ │ ├── profiler.py │ │ │ ├── reprconf.py │ │ │ ├── sessions.py │ │ │ ├── static.py │ │ │ └── xmlrpcutil.py │ │ ├── process/ │ │ │ ├── __init__.py │ │ │ ├── plugins.py │ │ │ ├── servers.py │ │ │ ├── win32.py │ │ │ └── wspbus.py │ │ ├── scaffold/ │ │ │ ├── __init__.py │ │ │ ├── apache-fcgi.conf │ │ │ ├── example.conf │ │ │ └── site.conf │ │ ├── test/ │ │ │ ├── __init__.py │ │ │ ├── _test_decorators.py │ │ │ ├── _test_states_demo.py │ │ │ ├── benchmark.py │ │ │ ├── checkerdemo.py │ │ │ ├── fastcgi.conf │ │ │ ├── fcgi.conf │ │ │ ├── helper.py │ │ │ ├── logtest.py │ │ │ ├── modfastcgi.py │ │ │ ├── modfcgid.py │ │ │ ├── modpy.py │ │ │ ├── modwsgi.py │ │ │ ├── sessiondemo.py │ │ │ ├── static/ │ │ │ │ ├── 404.html │ │ │ │ └── index.html │ │ │ ├── style.css │ │ │ ├── test.pem │ │ │ ├── test_auth_basic.py │ │ │ ├── test_auth_digest.py │ │ │ ├── test_bus.py │ │ │ ├── test_caching.py │ │ │ ├── test_config.py │ │ │ ├── test_config_server.py │ │ │ ├── test_conn.py │ │ │ ├── test_core.py │ │ │ ├── test_dynamicobjectmapping.py │ │ │ ├── test_encoding.py │ │ │ ├── test_etags.py │ │ │ ├── test_http.py │ │ │ ├── test_httputil.py │ │ │ ├── test_iterator.py │ │ │ ├── test_json.py │ │ │ ├── test_logging.py │ │ │ ├── test_mime.py │ │ │ ├── test_misc_tools.py │ │ │ ├── test_native.py │ │ │ ├── test_objectmapping.py │ │ │ ├── test_params.py │ │ │ ├── test_plugins.py │ │ │ ├── test_proxy.py │ │ │ ├── test_refleaks.py │ │ │ ├── test_request_obj.py │ │ │ ├── test_routes.py │ │ │ ├── test_session.py │ │ │ ├── test_sessionauthenticate.py │ │ │ ├── test_states.py │ │ │ ├── test_static.py │ │ │ ├── test_tools.py │ │ │ ├── test_tutorials.py │ │ │ ├── test_virtualhost.py │ │ │ ├── test_wsgi_ns.py │ │ │ ├── test_wsgi_unix_socket.py │ │ │ ├── test_wsgi_vhost.py │ │ │ ├── test_wsgiapps.py │ │ │ ├── test_xmlrpc.py │ │ │ └── webtest.py │ │ └── tutorial/ │ │ ├── README.rst │ │ ├── __init__.py │ │ ├── custom_error.html │ │ ├── tut01_helloworld.py │ │ ├── tut02_expose_methods.py │ │ ├── tut03_get_and_post.py │ │ ├── tut04_complex_site.py │ │ ├── tut05_derived_objects.py │ │ ├── tut06_default_method.py │ │ ├── tut07_sessions.py │ │ ├── tut08_generators_and_yield.py │ │ ├── tut09_files.py │ │ ├── tut10_http_errors.py │ │ └── tutorial.conf │ ├── dateutil/ │ │ ├── __init__.py │ │ ├── _common.py │ │ ├── _version.py │ │ ├── easter.py │ │ ├── parser/ │ │ │ ├── __init__.py │ │ │ ├── _parser.py │ │ │ └── isoparser.py │ │ ├── relativedelta.py │ │ ├── rrule.py │ │ ├── tz/ │ │ │ ├── __init__.py │ │ │ ├── _common.py │ │ │ ├── _factories.py │ │ │ ├── tz.py │ │ │ └── win.py │ │ ├── tzwin.py │ │ ├── utils.py │ │ └── zoneinfo/ │ │ ├── __init__.py │ │ └── rebuild.py │ ├── jaraco/ │ │ ├── __init__.py │ │ └── functools.py │ ├── portend.py │ ├── tempora/ │ │ ├── __init__.py │ │ ├── schedule.py │ │ ├── tests/ │ │ │ └── test_schedule.py │ │ ├── timing.py │ │ └── utc.py │ └── zc/ │ └── lockfile/ │ ├── __init__.py │ └── tests.py ├── LICENSE ├── README.md ├── VERSION ├── doc/ │ ├── alias.json │ ├── book/ │ │ └── doc/ │ │ ├── doc_tactic-developer/ │ │ │ └── html/ │ │ │ ├── ar01s01.html │ │ │ ├── ar01s02.html │ │ │ ├── ar01s03.html │ │ │ ├── ar01s04.html │ │ │ ├── ar01s05.html │ │ │ ├── ar01s06.html │ │ │ ├── ar01s07.html │ │ │ ├── ar01s08.html │ │ │ ├── ar01s09.html │ │ │ ├── ar01s10.html │ │ │ ├── ar01s11.html │ │ │ ├── ar01s12.html │ │ │ ├── ar01s13.html │ │ │ ├── docbook-xsl.css │ │ │ └── index.html │ │ ├── doc_tactic-end-user/ │ │ │ └── html/ │ │ │ ├── ar01s01.html │ │ │ ├── ar01s02.html │ │ │ ├── ar01s03.html │ │ │ ├── ar01s04.html │ │ │ ├── ar01s05.html │ │ │ ├── ar01s06.html │ │ │ ├── ar01s07.html │ │ │ ├── ar01s08.html │ │ │ ├── ar01s09.html │ │ │ ├── ar01s10.html │ │ │ ├── ar01s11.html │ │ │ ├── ar01s12.html │ │ │ ├── ar01s13.html │ │ │ ├── docbook-xsl.css │ │ │ └── index.html │ │ ├── doc_tactic-quickstart/ │ │ │ └── html/ │ │ │ ├── ar01s01.html │ │ │ ├── ar01s02.html │ │ │ ├── ar01s03.html │ │ │ ├── ar01s04.html │ │ │ ├── ar01s05.html │ │ │ ├── ar01s06.html │ │ │ ├── docbook-xsl.css │ │ │ └── index.html │ │ ├── doc_tactic-setup/ │ │ │ └── html/ │ │ │ ├── ar01s01.html │ │ │ ├── ar01s02.html │ │ │ ├── ar01s03.html │ │ │ ├── ar01s04.html │ │ │ ├── ar01s05.html │ │ │ ├── ar01s06.html │ │ │ ├── ar01s07.html │ │ │ ├── ar01s08.html │ │ │ ├── ar01s09.html │ │ │ ├── ar01s10.html │ │ │ ├── ar01s11.html │ │ │ ├── ar01s12.html │ │ │ ├── ar01s13.html │ │ │ ├── ar01s14.html │ │ │ ├── ar01s15.html │ │ │ ├── ar01s16.html │ │ │ ├── ar01s17.html │ │ │ ├── ar01s18.html │ │ │ ├── ar01s19.html │ │ │ ├── ar01s20.html │ │ │ ├── ar01s21.html │ │ │ ├── docbook-xsl.css │ │ │ └── index.html │ │ └── doc_tactic-sys-admin/ │ │ └── html/ │ │ ├── ar01s01.html │ │ ├── ar01s02.html │ │ ├── ar01s03.html │ │ ├── ar01s04.html │ │ ├── ar01s05.html │ │ ├── ar01s06.html │ │ ├── ar01s07.html │ │ ├── ar01s08.html │ │ ├── ar01s09.html │ │ ├── ar01s10.html │ │ ├── ar01s11.html │ │ ├── ar01s12.html │ │ ├── docbook-xsl.css │ │ └── index.html │ ├── epl-v10.html │ ├── main.html │ ├── pdf.html │ └── verify_aliases.py └── src/ ├── __init__.py ├── asset_security.py ├── client/ │ ├── __init__.py │ ├── examples/ │ │ ├── bootstrap_get_tactic_server_example.py │ │ ├── checkin.py │ │ ├── checkin_pipeline.py │ │ ├── checkin_plates.py │ │ ├── checkin_render.py │ │ ├── checkin_render_layer.py │ │ ├── checkin_shot.py │ │ ├── checkout.py │ │ ├── ping.py │ │ ├── query.py │ │ ├── query_shot.py │ │ └── submit_dailies.py │ ├── tactic_client_lib/ │ │ ├── VERSION │ │ ├── VERSION_API │ │ ├── __init__.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ └── upload_multipart.py │ │ ├── interpreter/ │ │ │ ├── __init__.py │ │ │ ├── callback.py │ │ │ ├── examples.py │ │ │ ├── handler.py │ │ │ ├── interpreter.py │ │ │ └── pipeline.py │ │ ├── scm/ │ │ │ ├── __init__.py │ │ │ ├── delegate.py │ │ │ ├── perforce.py │ │ │ ├── scm_impl.py │ │ │ ├── scm_test.py │ │ │ ├── subversion.py │ │ │ └── tactic_impl.py │ │ ├── tactic_server_stub.py │ │ └── test/ │ │ ├── __init__.py │ │ └── handler.py │ └── test/ │ ├── application_api_test.py │ ├── client_api_test.py │ ├── expression_test.py │ ├── maya_test.py │ ├── pipeline_test.py │ ├── sample3d_test.py │ └── transaction_test.py ├── config/ │ ├── design/ │ │ └── sobject/ │ │ ├── design-conf.xml │ │ └── product-conf.xml │ ├── effects/ │ │ └── sobject/ │ │ └── plate-conf.xml │ ├── game/ │ │ └── sobject/ │ │ └── storyboard-conf.xml │ ├── prod/ │ │ └── sobject/ │ │ ├── art_reference-conf.xml │ │ ├── asset-conf.xml │ │ ├── asset_library-conf.xml │ │ ├── camera-conf.xml │ │ ├── episode-conf.xml │ │ ├── instance-conf.xml │ │ ├── naming-conf.xml │ │ ├── prod_setting-conf.xml │ │ ├── render-conf.xml │ │ ├── script-conf.xml │ │ ├── sequence-conf.xml │ │ ├── series-conf.xml │ │ ├── shot-conf.xml │ │ ├── storyboard-conf.xml │ │ └── template-conf.xml │ └── sthpw/ │ ├── sobject/ │ │ ├── access_rule-conf.xml │ │ ├── login-conf.xml │ │ ├── login_group-conf.xml │ │ ├── note-conf.xml │ │ ├── notification-conf.xml │ │ ├── notification_log-conf.xml │ │ ├── person-conf.xml │ │ ├── pipeline-conf.xml │ │ ├── project-conf.xml │ │ ├── project_type-conf.xml │ │ ├── queue-conf.xml │ │ ├── snapshot-conf.xml │ │ ├── task-conf.xml │ │ ├── ticket-conf.xml │ │ ├── timecard-conf.xml │ │ ├── transaction_log-conf.xml │ │ └── unittest/ │ │ └── person-conf.xml │ └── webapp/ │ ├── remko-wdg.xml │ └── sample.xml ├── config2/ │ └── search_type/ │ ├── search/ │ │ └── DEFAULT-conf.xml │ └── widget/ │ ├── config/ │ │ ├── bid-conf.xml │ │ ├── client_trigger-conf.xml │ │ ├── custom_script-conf.xml │ │ ├── naming-conf.xml │ │ ├── pipeline-conf.xml │ │ ├── plugin-conf.xml │ │ ├── process-conf.xml │ │ ├── prod_setting-conf.xml │ │ ├── translation-conf.xml │ │ ├── trigger-conf.xml │ │ ├── url-conf.xml │ │ └── widget_config-conf.xml │ ├── prod/ │ │ ├── DEFAULT-conf.xml │ │ ├── art_reference-conf.xml │ │ ├── asset-conf.xml │ │ ├── asset_library-conf.xml │ │ ├── bin-conf.xml │ │ ├── camera-conf.xml │ │ ├── composite-conf.xml │ │ ├── cut_sequence-conf.xml │ │ ├── layer-conf.xml │ │ ├── plate-conf.xml │ │ ├── prod_setting-conf.xml │ │ ├── render-conf.xml │ │ ├── script-conf.xml │ │ ├── sequence-conf.xml │ │ ├── shot-conf.xml │ │ ├── shot_instance-conf.xml │ │ ├── storyboard-conf.xml │ │ └── submission-conf.xml │ ├── sthpw/ │ │ ├── DEFAULT-conf.xml │ │ ├── access_rule-conf.xml │ │ ├── custom_property-conf.xml │ │ ├── custom_script-conf.xml │ │ ├── db_resource-conf.xml │ │ ├── debug_log-conf.xml │ │ ├── exception_log-conf.xml │ │ ├── file-conf.xml │ │ ├── login-conf.xml │ │ ├── login_group-conf.xml │ │ ├── message_log-conf.xml │ │ ├── milestone-conf.xml │ │ ├── note-conf.xml │ │ ├── notification-conf.xml │ │ ├── notification_log-conf.xml │ │ ├── pipeline-conf.xml │ │ ├── plugin-conf.xml │ │ ├── pref_list-conf.xml │ │ ├── project-conf.xml │ │ ├── project_type-conf.xml │ │ ├── queue-conf.xml │ │ ├── schema-conf.xml │ │ ├── search_object-conf.xml │ │ ├── search_type-conf.xml │ │ ├── snapshot-conf.xml │ │ ├── sobject_list-conf.xml │ │ ├── sobject_log-conf.xml │ │ ├── status_log-conf.xml │ │ ├── sync_job-conf.xml │ │ ├── sync_server-conf.xml │ │ ├── task-conf.xml │ │ ├── template-conf.xml │ │ ├── ticket-conf.xml │ │ ├── timecard-conf.xml │ │ ├── transaction_log-conf.xml │ │ ├── translation-conf.xml │ │ ├── trigger-conf.xml │ │ └── work_hour-conf.xml │ └── unittest/ │ └── person-conf.xml ├── context/ │ ├── VERSION │ ├── VERSION_API │ ├── api/ │ │ ├── README │ │ ├── tactic.js │ │ └── upload.js │ ├── icons/ │ │ └── common/ │ │ └── loading_anim.xcf │ ├── javascript/ │ │ ├── Common.js │ │ ├── DynamicLoader.js │ │ ├── EventContainer.js │ │ ├── MayaWebTools.js │ │ ├── Overlay.js │ │ ├── PopupWindow.js │ │ ├── PyFlash.js │ │ ├── PyHoudini.js │ │ ├── PyMaya.js │ │ ├── PyPerforce.js │ │ └── PyXSI.js │ ├── react/ │ │ ├── ag-grid-community.min.noStyle.js │ │ ├── ag-grid.css │ │ ├── ag-theme-alpine.css │ │ ├── react-dom.development.js │ │ ├── react.development.js │ │ └── redux.js │ ├── spt_js/ │ │ ├── UnityObject.js │ │ ├── ace/ │ │ │ └── ace-1.4.7/ │ │ │ └── src/ │ │ │ ├── ace.js │ │ │ ├── ext-beautify.js │ │ │ ├── ext-elastic_tabstops_lite.js │ │ │ ├── ext-emmet.js │ │ │ ├── ext-error_marker.js │ │ │ ├── ext-keybinding_menu.js │ │ │ ├── ext-language_tools.js │ │ │ ├── ext-linking.js │ │ │ ├── ext-modelist.js │ │ │ ├── ext-options.js │ │ │ ├── ext-prompt.js │ │ │ ├── ext-rtl.js │ │ │ ├── ext-searchbox.js │ │ │ ├── ext-settings_menu.js │ │ │ ├── ext-spellcheck.js │ │ │ ├── ext-split.js │ │ │ ├── ext-static_highlight.js │ │ │ ├── ext-statusbar.js │ │ │ ├── ext-textarea.js │ │ │ ├── ext-themelist.js │ │ │ ├── ext-whitespace.js │ │ │ ├── keybinding-emacs.js │ │ │ ├── keybinding-sublime.js │ │ │ ├── keybinding-vim.js │ │ │ ├── mode-abap.js │ │ │ ├── mode-abc.js │ │ │ ├── mode-actionscript.js │ │ │ ├── mode-ada.js │ │ │ ├── mode-apache_conf.js │ │ │ ├── mode-apex.js │ │ │ ├── mode-applescript.js │ │ │ ├── mode-aql.js │ │ │ ├── mode-asciidoc.js │ │ │ ├── mode-asl.js │ │ │ ├── mode-assembly_x86.js │ │ │ ├── mode-autohotkey.js │ │ │ ├── mode-batchfile.js │ │ │ ├── mode-bro.js │ │ │ ├── mode-c9search.js │ │ │ ├── mode-c_cpp.js │ │ │ ├── mode-cirru.js │ │ │ ├── mode-clojure.js │ │ │ ├── mode-cobol.js │ │ │ ├── mode-coffee.js │ │ │ ├── mode-coldfusion.js │ │ │ ├── mode-crystal.js │ │ │ ├── mode-csharp.js │ │ │ ├── mode-csound_document.js │ │ │ ├── mode-csound_orchestra.js │ │ │ ├── mode-csound_score.js │ │ │ ├── mode-csp.js │ │ │ ├── mode-css.js │ │ │ ├── mode-curly.js │ │ │ ├── mode-d.js │ │ │ ├── mode-dart.js │ │ │ ├── mode-diff.js │ │ │ ├── mode-django.js │ │ │ ├── mode-dockerfile.js │ │ │ ├── mode-dot.js │ │ │ ├── mode-drools.js │ │ │ ├── mode-edifact.js │ │ │ ├── mode-eiffel.js │ │ │ ├── mode-ejs.js │ │ │ ├── mode-elixir.js │ │ │ ├── mode-elm.js │ │ │ ├── mode-erlang.js │ │ │ ├── mode-forth.js │ │ │ ├── mode-fortran.js │ │ │ ├── mode-fsharp.js │ │ │ ├── mode-fsl.js │ │ │ ├── mode-ftl.js │ │ │ ├── mode-gcode.js │ │ │ ├── mode-gherkin.js │ │ │ ├── mode-gitignore.js │ │ │ ├── mode-glsl.js │ │ │ ├── mode-gobstones.js │ │ │ ├── mode-golang.js │ │ │ ├── mode-graphqlschema.js │ │ │ ├── mode-groovy.js │ │ │ ├── mode-haml.js │ │ │ ├── mode-handlebars.js │ │ │ ├── mode-haskell.js │ │ │ ├── mode-haskell_cabal.js │ │ │ ├── mode-haxe.js │ │ │ ├── mode-hjson.js │ │ │ ├── mode-html.js │ │ │ ├── mode-html_elixir.js │ │ │ ├── mode-html_ruby.js │ │ │ ├── mode-ini.js │ │ │ ├── mode-io.js │ │ │ ├── mode-jack.js │ │ │ ├── mode-jade.js │ │ │ ├── mode-java.js │ │ │ ├── mode-javascript.js │ │ │ ├── mode-json.js │ │ │ ├── mode-jsoniq.js │ │ │ ├── mode-jsp.js │ │ │ ├── mode-jssm.js │ │ │ ├── mode-jsx.js │ │ │ ├── mode-julia.js │ │ │ ├── mode-kotlin.js │ │ │ ├── mode-latex.js │ │ │ ├── mode-less.js │ │ │ ├── mode-liquid.js │ │ │ ├── mode-lisp.js │ │ │ ├── mode-livescript.js │ │ │ ├── mode-logiql.js │ │ │ ├── mode-logtalk.js │ │ │ ├── mode-lsl.js │ │ │ ├── mode-lua.js │ │ │ ├── mode-luapage.js │ │ │ ├── mode-lucene.js │ │ │ ├── mode-makefile.js │ │ │ ├── mode-markdown.js │ │ │ ├── mode-mask.js │ │ │ ├── mode-matlab.js │ │ │ ├── mode-maze.js │ │ │ ├── mode-mel.js │ │ │ ├── mode-mixal.js │ │ │ ├── mode-mushcode.js │ │ │ ├── mode-mysql.js │ │ │ ├── mode-nginx.js │ │ │ ├── mode-nim.js │ │ │ ├── mode-nix.js │ │ │ ├── mode-nsis.js │ │ │ ├── mode-objectivec.js │ │ │ ├── mode-ocaml.js │ │ │ ├── mode-pascal.js │ │ │ ├── mode-perl.js │ │ │ ├── mode-perl6.js │ │ │ ├── mode-pgsql.js │ │ │ ├── mode-php.js │ │ │ ├── mode-php_laravel_blade.js │ │ │ ├── mode-pig.js │ │ │ ├── mode-plain_text.js │ │ │ ├── mode-powershell.js │ │ │ ├── mode-praat.js │ │ │ ├── mode-prolog.js │ │ │ ├── mode-properties.js │ │ │ ├── mode-protobuf.js │ │ │ ├── mode-puppet.js │ │ │ ├── mode-python.js │ │ │ ├── mode-r.js │ │ │ ├── mode-razor.js │ │ │ ├── mode-rdoc.js │ │ │ ├── mode-red.js │ │ │ ├── mode-redshift.js │ │ │ ├── mode-rhtml.js │ │ │ ├── mode-rst.js │ │ │ ├── mode-ruby.js │ │ │ ├── mode-rust.js │ │ │ ├── mode-sass.js │ │ │ ├── mode-scad.js │ │ │ ├── mode-scala.js │ │ │ ├── mode-scheme.js │ │ │ ├── mode-scss.js │ │ │ ├── mode-sh.js │ │ │ ├── mode-sjs.js │ │ │ ├── mode-slim.js │ │ │ ├── mode-smarty.js │ │ │ ├── mode-snippets.js │ │ │ ├── mode-soy_template.js │ │ │ ├── mode-space.js │ │ │ ├── mode-sparql.js │ │ │ ├── mode-sql.js │ │ │ ├── mode-sqlserver.js │ │ │ ├── mode-stylus.js │ │ │ ├── mode-svg.js │ │ │ ├── mode-swift.js │ │ │ ├── mode-tcl.js │ │ │ ├── mode-terraform.js │ │ │ ├── mode-tex.js │ │ │ ├── mode-text.js │ │ │ ├── mode-textile.js │ │ │ ├── mode-toml.js │ │ │ ├── mode-tsx.js │ │ │ ├── mode-turtle.js │ │ │ ├── mode-twig.js │ │ │ ├── mode-typescript.js │ │ │ ├── mode-vala.js │ │ │ ├── mode-vbscript.js │ │ │ ├── mode-velocity.js │ │ │ ├── mode-verilog.js │ │ │ ├── mode-vhdl.js │ │ │ ├── mode-visualforce.js │ │ │ ├── mode-wollok.js │ │ │ ├── mode-xml.js │ │ │ ├── mode-xquery.js │ │ │ ├── mode-yaml.js │ │ │ ├── mode-zeek.js │ │ │ ├── snippets/ │ │ │ │ ├── abap.js │ │ │ │ ├── abc.js │ │ │ │ ├── actionscript.js │ │ │ │ ├── ada.js │ │ │ │ ├── apache_conf.js │ │ │ │ ├── apex.js │ │ │ │ ├── applescript.js │ │ │ │ ├── aql.js │ │ │ │ ├── asciidoc.js │ │ │ │ ├── asl.js │ │ │ │ ├── assembly_x86.js │ │ │ │ ├── autohotkey.js │ │ │ │ ├── batchfile.js │ │ │ │ ├── bro.js │ │ │ │ ├── c9search.js │ │ │ │ ├── c_cpp.js │ │ │ │ ├── cirru.js │ │ │ │ ├── clojure.js │ │ │ │ ├── cobol.js │ │ │ │ ├── coffee.js │ │ │ │ ├── coldfusion.js │ │ │ │ ├── crystal.js │ │ │ │ ├── csharp.js │ │ │ │ ├── csound_document.js │ │ │ │ ├── csound_orchestra.js │ │ │ │ ├── csound_score.js │ │ │ │ ├── csp.js │ │ │ │ ├── css.js │ │ │ │ ├── curly.js │ │ │ │ ├── d.js │ │ │ │ ├── dart.js │ │ │ │ ├── diff.js │ │ │ │ ├── django.js │ │ │ │ ├── dockerfile.js │ │ │ │ ├── dot.js │ │ │ │ ├── drools.js │ │ │ │ ├── edifact.js │ │ │ │ ├── eiffel.js │ │ │ │ ├── ejs.js │ │ │ │ ├── elixir.js │ │ │ │ ├── elm.js │ │ │ │ ├── erlang.js │ │ │ │ ├── forth.js │ │ │ │ ├── fortran.js │ │ │ │ ├── fsharp.js │ │ │ │ ├── fsl.js │ │ │ │ ├── ftl.js │ │ │ │ ├── gcode.js │ │ │ │ ├── gherkin.js │ │ │ │ ├── gitignore.js │ │ │ │ ├── glsl.js │ │ │ │ ├── gobstones.js │ │ │ │ ├── golang.js │ │ │ │ ├── graphqlschema.js │ │ │ │ ├── groovy.js │ │ │ │ ├── haml.js │ │ │ │ ├── handlebars.js │ │ │ │ ├── haskell.js │ │ │ │ ├── haskell_cabal.js │ │ │ │ ├── haxe.js │ │ │ │ ├── hjson.js │ │ │ │ ├── html.js │ │ │ │ ├── html_elixir.js │ │ │ │ ├── html_ruby.js │ │ │ │ ├── ini.js │ │ │ │ ├── io.js │ │ │ │ ├── jack.js │ │ │ │ ├── jade.js │ │ │ │ ├── java.js │ │ │ │ ├── javascript.js │ │ │ │ ├── json.js │ │ │ │ ├── jsoniq.js │ │ │ │ ├── jsp.js │ │ │ │ ├── jssm.js │ │ │ │ ├── jsx.js │ │ │ │ ├── julia.js │ │ │ │ ├── kotlin.js │ │ │ │ ├── latex.js │ │ │ │ ├── less.js │ │ │ │ ├── liquid.js │ │ │ │ ├── lisp.js │ │ │ │ ├── livescript.js │ │ │ │ ├── logiql.js │ │ │ │ ├── logtalk.js │ │ │ │ ├── lsl.js │ │ │ │ ├── lua.js │ │ │ │ ├── luapage.js │ │ │ │ ├── lucene.js │ │ │ │ ├── makefile.js │ │ │ │ ├── markdown.js │ │ │ │ ├── mask.js │ │ │ │ ├── matlab.js │ │ │ │ ├── maze.js │ │ │ │ ├── mel.js │ │ │ │ ├── mixal.js │ │ │ │ ├── mushcode.js │ │ │ │ ├── mysql.js │ │ │ │ ├── nginx.js │ │ │ │ ├── nim.js │ │ │ │ ├── nix.js │ │ │ │ ├── nsis.js │ │ │ │ ├── objectivec.js │ │ │ │ ├── ocaml.js │ │ │ │ ├── pascal.js │ │ │ │ ├── perl.js │ │ │ │ ├── perl6.js │ │ │ │ ├── pgsql.js │ │ │ │ ├── php.js │ │ │ │ ├── php_laravel_blade.js │ │ │ │ ├── pig.js │ │ │ │ ├── plain_text.js │ │ │ │ ├── powershell.js │ │ │ │ ├── praat.js │ │ │ │ ├── prolog.js │ │ │ │ ├── properties.js │ │ │ │ ├── protobuf.js │ │ │ │ ├── puppet.js │ │ │ │ ├── python.js │ │ │ │ ├── r.js │ │ │ │ ├── razor.js │ │ │ │ ├── rdoc.js │ │ │ │ ├── red.js │ │ │ │ ├── redshift.js │ │ │ │ ├── rhtml.js │ │ │ │ ├── rst.js │ │ │ │ ├── ruby.js │ │ │ │ ├── rust.js │ │ │ │ ├── sass.js │ │ │ │ ├── scad.js │ │ │ │ ├── scala.js │ │ │ │ ├── scheme.js │ │ │ │ ├── scss.js │ │ │ │ ├── sh.js │ │ │ │ ├── sjs.js │ │ │ │ ├── slim.js │ │ │ │ ├── smarty.js │ │ │ │ ├── snippets.js │ │ │ │ ├── soy_template.js │ │ │ │ ├── space.js │ │ │ │ ├── sparql.js │ │ │ │ ├── sql.js │ │ │ │ ├── sqlserver.js │ │ │ │ ├── stylus.js │ │ │ │ ├── svg.js │ │ │ │ ├── swift.js │ │ │ │ ├── tcl.js │ │ │ │ ├── terraform.js │ │ │ │ ├── tex.js │ │ │ │ ├── text.js │ │ │ │ ├── textile.js │ │ │ │ ├── toml.js │ │ │ │ ├── tsx.js │ │ │ │ ├── turtle.js │ │ │ │ ├── twig.js │ │ │ │ ├── typescript.js │ │ │ │ ├── vala.js │ │ │ │ ├── vbscript.js │ │ │ │ ├── velocity.js │ │ │ │ ├── verilog.js │ │ │ │ ├── vhdl.js │ │ │ │ ├── visualforce.js │ │ │ │ ├── wollok.js │ │ │ │ ├── xml.js │ │ │ │ ├── xquery.js │ │ │ │ ├── yaml.js │ │ │ │ └── zeek.js │ │ │ ├── theme-ambiance.js │ │ │ ├── theme-chaos.js │ │ │ ├── theme-chrome.js │ │ │ ├── theme-clouds.js │ │ │ ├── theme-clouds_midnight.js │ │ │ ├── theme-cobalt.js │ │ │ ├── theme-crimson_editor.js │ │ │ ├── theme-dawn.js │ │ │ ├── theme-dracula.js │ │ │ ├── theme-dreamweaver.js │ │ │ ├── theme-eclipse.js │ │ │ ├── theme-github.js │ │ │ ├── theme-gob.js │ │ │ ├── theme-gruvbox.js │ │ │ ├── theme-idle_fingers.js │ │ │ ├── theme-iplastic.js │ │ │ ├── theme-katzenmilch.js │ │ │ ├── theme-kr_theme.js │ │ │ ├── theme-kuroir.js │ │ │ ├── theme-merbivore.js │ │ │ ├── theme-merbivore_soft.js │ │ │ ├── theme-mono_industrial.js │ │ │ ├── theme-monokai.js │ │ │ ├── theme-pastel_on_dark.js │ │ │ ├── theme-solarized_dark.js │ │ │ ├── theme-solarized_light.js │ │ │ ├── theme-sqlserver.js │ │ │ ├── theme-terminal.js │ │ │ ├── theme-textmate.js │ │ │ ├── theme-tomorrow.js │ │ │ ├── theme-tomorrow_night.js │ │ │ ├── theme-tomorrow_night_blue.js │ │ │ ├── theme-tomorrow_night_bright.js │ │ │ ├── theme-tomorrow_night_eighties.js │ │ │ ├── theme-twilight.js │ │ │ ├── theme-vibrant_ink.js │ │ │ ├── theme-xcode.js │ │ │ ├── worker-coffee.js │ │ │ ├── worker-css.js │ │ │ ├── worker-html.js │ │ │ ├── worker-javascript.js │ │ │ ├── worker-json.js │ │ │ ├── worker-lua.js │ │ │ ├── worker-php.js │ │ │ ├── worker-xml.js │ │ │ └── worker-xquery.js │ │ ├── api/ │ │ │ ├── api.js │ │ │ ├── client_api_test.js │ │ │ └── utility.js │ │ ├── applet.js │ │ ├── behavior.js │ │ ├── bootstrap/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ └── bootstrap.css │ │ │ └── js/ │ │ │ ├── bootstrap.js │ │ │ └── npm.js │ │ ├── bootstrap_material_design/ │ │ │ ├── bmd-bs-dark.css │ │ │ ├── bmd-bs-light.css │ │ │ └── bootstrap-material-design-4.1.1.js │ │ ├── chart/ │ │ │ └── utils.js │ │ ├── ckeditor/ │ │ │ ├── CHANGES.md │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── adapters/ │ │ │ │ └── jquery.js │ │ │ ├── build-config.js │ │ │ ├── ckeditor.js │ │ │ ├── config.js │ │ │ ├── contents.css │ │ │ ├── lang/ │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── cy.js │ │ │ │ ├── da.js │ │ │ │ ├── de-ch.js │ │ │ │ ├── de.js │ │ │ │ ├── el.js │ │ │ │ ├── en-au.js │ │ │ │ ├── en-ca.js │ │ │ │ ├── en-gb.js │ │ │ │ ├── en.js │ │ │ │ ├── eo.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fo.js │ │ │ │ ├── fr-ca.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── gu.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hu.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── ku.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── mn.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── nl.js │ │ │ │ ├── no.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt-br.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── si.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-latn.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tr.js │ │ │ │ ├── tt.js │ │ │ │ ├── ug.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-cn.js │ │ │ │ └── zh.js │ │ │ ├── plugins/ │ │ │ │ ├── a11yhelp/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ ├── a11yhelp.js │ │ │ │ │ └── lang/ │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── cy.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de-ch.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en-gb.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── eo.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fo.js │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── gu.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── mn.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── no.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── si.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-latn.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── tt.js │ │ │ │ │ ├── ug.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ └── zh.js │ │ │ │ ├── about/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ └── about.js │ │ │ │ ├── clipboard/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ └── paste.js │ │ │ │ ├── dialog/ │ │ │ │ │ └── dialogDefinition.js │ │ │ │ ├── image/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ └── image.js │ │ │ │ ├── link/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ ├── anchor.js │ │ │ │ │ └── link.js │ │ │ │ ├── pastefromword/ │ │ │ │ │ └── filter/ │ │ │ │ │ └── default.js │ │ │ │ ├── print/ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── af.js │ │ │ │ │ │ ├── ar.js │ │ │ │ │ │ ├── bg.js │ │ │ │ │ │ ├── bn.js │ │ │ │ │ │ ├── bs.js │ │ │ │ │ │ ├── ca.js │ │ │ │ │ │ ├── cs.js │ │ │ │ │ │ ├── cy.js │ │ │ │ │ │ ├── da.js │ │ │ │ │ │ ├── de-ch.js │ │ │ │ │ │ ├── de.js │ │ │ │ │ │ ├── el.js │ │ │ │ │ │ ├── en-au.js │ │ │ │ │ │ ├── en-ca.js │ │ │ │ │ │ ├── en-gb.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── eo.js │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── et.js │ │ │ │ │ │ ├── eu.js │ │ │ │ │ │ ├── fa.js │ │ │ │ │ │ ├── fi.js │ │ │ │ │ │ ├── fo.js │ │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ │ ├── fr.js │ │ │ │ │ │ ├── gl.js │ │ │ │ │ │ ├── gu.js │ │ │ │ │ │ ├── he.js │ │ │ │ │ │ ├── hi.js │ │ │ │ │ │ ├── hr.js │ │ │ │ │ │ ├── hu.js │ │ │ │ │ │ ├── id.js │ │ │ │ │ │ ├── is.js │ │ │ │ │ │ ├── it.js │ │ │ │ │ │ ├── ja.js │ │ │ │ │ │ ├── ka.js │ │ │ │ │ │ ├── km.js │ │ │ │ │ │ ├── ko.js │ │ │ │ │ │ ├── ku.js │ │ │ │ │ │ ├── lt.js │ │ │ │ │ │ ├── lv.js │ │ │ │ │ │ ├── mk.js │ │ │ │ │ │ ├── mn.js │ │ │ │ │ │ ├── ms.js │ │ │ │ │ │ ├── nb.js │ │ │ │ │ │ ├── nl.js │ │ │ │ │ │ ├── no.js │ │ │ │ │ │ ├── oc.js │ │ │ │ │ │ ├── pl.js │ │ │ │ │ │ ├── pt-br.js │ │ │ │ │ │ ├── pt.js │ │ │ │ │ │ ├── ro.js │ │ │ │ │ │ ├── ru.js │ │ │ │ │ │ ├── si.js │ │ │ │ │ │ ├── sk.js │ │ │ │ │ │ ├── sl.js │ │ │ │ │ │ ├── sq.js │ │ │ │ │ │ ├── sr-latn.js │ │ │ │ │ │ ├── sr.js │ │ │ │ │ │ ├── sv.js │ │ │ │ │ │ ├── th.js │ │ │ │ │ │ ├── tr.js │ │ │ │ │ │ ├── tt.js │ │ │ │ │ │ ├── ug.js │ │ │ │ │ │ ├── uk.js │ │ │ │ │ │ ├── vi.js │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ └── zh.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── scayt/ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ └── dialogs/ │ │ │ │ │ ├── options.js │ │ │ │ │ └── toolbar.css │ │ │ │ ├── specialchar/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ ├── lang/ │ │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ │ ├── af.js │ │ │ │ │ │ ├── ar.js │ │ │ │ │ │ ├── bg.js │ │ │ │ │ │ ├── ca.js │ │ │ │ │ │ ├── cs.js │ │ │ │ │ │ ├── cy.js │ │ │ │ │ │ ├── da.js │ │ │ │ │ │ ├── de-ch.js │ │ │ │ │ │ ├── de.js │ │ │ │ │ │ ├── el.js │ │ │ │ │ │ ├── en-gb.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── eo.js │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── et.js │ │ │ │ │ │ ├── eu.js │ │ │ │ │ │ ├── fa.js │ │ │ │ │ │ ├── fi.js │ │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ │ ├── fr.js │ │ │ │ │ │ ├── gl.js │ │ │ │ │ │ ├── he.js │ │ │ │ │ │ ├── hr.js │ │ │ │ │ │ ├── hu.js │ │ │ │ │ │ ├── id.js │ │ │ │ │ │ ├── it.js │ │ │ │ │ │ ├── ja.js │ │ │ │ │ │ ├── km.js │ │ │ │ │ │ ├── ko.js │ │ │ │ │ │ ├── ku.js │ │ │ │ │ │ ├── lt.js │ │ │ │ │ │ ├── lv.js │ │ │ │ │ │ ├── nb.js │ │ │ │ │ │ ├── nl.js │ │ │ │ │ │ ├── no.js │ │ │ │ │ │ ├── pl.js │ │ │ │ │ │ ├── pt-br.js │ │ │ │ │ │ ├── pt.js │ │ │ │ │ │ ├── ru.js │ │ │ │ │ │ ├── si.js │ │ │ │ │ │ ├── sk.js │ │ │ │ │ │ ├── sl.js │ │ │ │ │ │ ├── sq.js │ │ │ │ │ │ ├── sv.js │ │ │ │ │ │ ├── th.js │ │ │ │ │ │ ├── tr.js │ │ │ │ │ │ ├── tt.js │ │ │ │ │ │ ├── ug.js │ │ │ │ │ │ ├── uk.js │ │ │ │ │ │ ├── vi.js │ │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ │ └── zh.js │ │ │ │ │ └── specialchar.js │ │ │ │ ├── table/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ └── table.js │ │ │ │ ├── tabletools/ │ │ │ │ │ └── dialogs/ │ │ │ │ │ └── tableCell.js │ │ │ │ └── wsc/ │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ └── dialogs/ │ │ │ │ ├── ciframe.html │ │ │ │ ├── tmpFrameset.html │ │ │ │ ├── wsc.css │ │ │ │ ├── wsc.js │ │ │ │ └── wsc_ie.js │ │ │ ├── samples/ │ │ │ │ ├── css/ │ │ │ │ │ └── samples.css │ │ │ │ ├── index.html │ │ │ │ ├── js/ │ │ │ │ │ ├── sample.js │ │ │ │ │ └── sf.js │ │ │ │ ├── old/ │ │ │ │ │ ├── ajax.html │ │ │ │ │ ├── api.html │ │ │ │ │ ├── appendto.html │ │ │ │ │ ├── assets/ │ │ │ │ │ │ ├── outputxhtml/ │ │ │ │ │ │ │ └── outputxhtml.css │ │ │ │ │ │ ├── posteddata.php │ │ │ │ │ │ └── uilanguages/ │ │ │ │ │ │ └── languages.js │ │ │ │ │ ├── datafiltering.html │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ └── my_dialog.js │ │ │ │ │ │ └── dialog.html │ │ │ │ │ ├── divreplace.html │ │ │ │ │ ├── enterkey/ │ │ │ │ │ │ └── enterkey.html │ │ │ │ │ ├── htmlwriter/ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ └── outputforflash/ │ │ │ │ │ │ │ ├── outputforflash.fla │ │ │ │ │ │ │ ├── outputforflash.swf │ │ │ │ │ │ │ └── swfobject.js │ │ │ │ │ │ ├── outputforflash.html │ │ │ │ │ │ └── outputhtml.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── inlineall.html │ │ │ │ │ ├── inlinebycode.html │ │ │ │ │ ├── inlinetextarea.html │ │ │ │ │ ├── jquery.html │ │ │ │ │ ├── magicline/ │ │ │ │ │ │ └── magicline.html │ │ │ │ │ ├── readonly.html │ │ │ │ │ ├── replacebyclass.html │ │ │ │ │ ├── replacebycode.html │ │ │ │ │ ├── sample.css │ │ │ │ │ ├── sample.js │ │ │ │ │ ├── sample_posteddata.php │ │ │ │ │ ├── tabindex.html │ │ │ │ │ ├── toolbar/ │ │ │ │ │ │ └── toolbar.html │ │ │ │ │ ├── uicolor.html │ │ │ │ │ ├── uilanguages.html │ │ │ │ │ ├── wysiwygarea/ │ │ │ │ │ │ └── fullpage.html │ │ │ │ │ └── xhtmlstyle.html │ │ │ │ └── toolbarconfigurator/ │ │ │ │ ├── css/ │ │ │ │ │ └── fontello.css │ │ │ │ ├── font/ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ └── config.json │ │ │ │ ├── index.html │ │ │ │ └── js/ │ │ │ │ ├── abstracttoolbarmodifier.js │ │ │ │ ├── fulltoolbareditor.js │ │ │ │ ├── toolbarmodifier.js │ │ │ │ └── toolbartextmodifier.js │ │ │ ├── skins/ │ │ │ │ └── moono/ │ │ │ │ ├── dialog.css │ │ │ │ ├── dialog_ie.css │ │ │ │ ├── dialog_ie7.css │ │ │ │ ├── dialog_ie8.css │ │ │ │ ├── dialog_iequirks.css │ │ │ │ ├── editor.css │ │ │ │ ├── editor_gecko.css │ │ │ │ ├── editor_ie.css │ │ │ │ ├── editor_ie7.css │ │ │ │ ├── editor_ie8.css │ │ │ │ ├── editor_iequirks.css │ │ │ │ └── readme.md │ │ │ └── styles.js │ │ ├── client_api.js │ │ ├── compat.js │ │ ├── ctx_menu.js │ │ ├── custom_project.js │ │ ├── date_util.js │ │ ├── dg_table.js │ │ ├── dg_table_action.js │ │ ├── dg_table_editors.js │ │ ├── dynamic_css.js │ │ ├── effects.js │ │ ├── environment.js │ │ ├── events.js │ │ ├── font-awesome-5.12.0/ │ │ │ ├── LICENSE.txt │ │ │ ├── css/ │ │ │ │ ├── all.css │ │ │ │ ├── brands.css │ │ │ │ ├── fontawesome.css │ │ │ │ ├── regular.css │ │ │ │ ├── solid.css │ │ │ │ ├── svg-with-js.css │ │ │ │ └── v4-shims.css │ │ │ ├── js/ │ │ │ │ ├── all.js │ │ │ │ ├── brands.js │ │ │ │ ├── conflict-detection.js │ │ │ │ ├── fontawesome.js │ │ │ │ ├── regular.js │ │ │ │ ├── solid.js │ │ │ │ └── v4-shims.js │ │ │ ├── less/ │ │ │ │ ├── _animated.less │ │ │ │ ├── _bordered-pulled.less │ │ │ │ ├── _core.less │ │ │ │ ├── _fixed-width.less │ │ │ │ ├── _icons.less │ │ │ │ ├── _larger.less │ │ │ │ ├── _list.less │ │ │ │ ├── _mixins.less │ │ │ │ ├── _rotated-flipped.less │ │ │ │ ├── _screen-reader.less │ │ │ │ ├── _shims.less │ │ │ │ ├── _stacked.less │ │ │ │ ├── _variables.less │ │ │ │ ├── brands.less │ │ │ │ ├── fontawesome.less │ │ │ │ ├── regular.less │ │ │ │ ├── solid.less │ │ │ │ └── v4-shims.less │ │ │ ├── metadata/ │ │ │ │ ├── categories.yml │ │ │ │ ├── icons.json │ │ │ │ ├── icons.yml │ │ │ │ ├── shims.json │ │ │ │ ├── shims.yml │ │ │ │ └── sponsors.yml │ │ │ └── scss/ │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _shims.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ ├── brands.scss │ │ │ ├── fontawesome.scss │ │ │ ├── regular.scss │ │ │ ├── solid.scss │ │ │ └── v4-shims.scss │ │ ├── fx_anim.js │ │ ├── gantt.js │ │ ├── html2canvas.js │ │ ├── jquery.js │ │ ├── js_logger.js │ │ ├── json2.js │ │ ├── keyboard.js │ │ ├── mooDialog/ │ │ │ ├── MooDialog.Extra.js │ │ │ ├── MooDialog.js │ │ │ ├── Overlay.js │ │ │ └── css/ │ │ │ └── MooDialog.css │ │ ├── mooRainbow/ │ │ │ ├── Assets/ │ │ │ │ └── mooRainbow.css │ │ │ └── Source/ │ │ │ └── mooRainbow.js │ │ ├── mooScrollable/ │ │ │ ├── Scrollable.css │ │ │ └── Scrollable.js │ │ ├── mootools/ │ │ │ ├── MooTools-Core-1.6.0.js │ │ │ ├── MooTools-More-1.6.0.js │ │ │ ├── MooTools-Readme-1.6.0.txt │ │ │ ├── mootools-1.2.5-core-nc.js │ │ │ ├── mootools-1.2.5.1-more.js │ │ │ ├── mootools-core-1.4.1-full-nocompat-yc.js │ │ │ ├── mootools-core-1.4.1-full-nocompat.js │ │ │ ├── mootools-more-1.4.0.1-yc.js │ │ │ └── mootools-more-1.4.0.1.js │ │ ├── mouse.js │ │ ├── page_utility_widgets.js │ │ ├── panel.js │ │ ├── require.js │ │ ├── rrule/ │ │ │ ├── nlp.js │ │ │ └── rrule.js │ │ ├── smart_menu.js │ │ ├── spt_init.js │ │ ├── spt_onload_startup.js │ │ ├── tactic.js │ │ ├── ui_playground.js │ │ ├── upload.js │ │ ├── utility.js │ │ ├── validation.js │ │ ├── video/ │ │ │ ├── video-js.css │ │ │ ├── video.dev.js │ │ │ └── video.js │ │ └── xmlrpc.js │ ├── style/ │ │ └── layout.css │ ├── test/ │ │ └── index.html │ └── utility/ │ ├── print_custom_page.html │ ├── print_table_items.html │ └── templates/ │ └── print_custom_page_TEMPLATE_body_contents.html ├── contrib/ │ ├── README.txt │ ├── script/ │ │ ├── quicktime_sequence_script/ │ │ │ └── quicktime_sequence_script.txt │ │ └── web_snapshot_download_script/ │ │ └── web_snapshot_download_script.txt │ └── widget/ │ ├── add_snapshot_to_bin_wdg/ │ │ ├── add_snapshot_to_bin_btn.txt │ │ └── add_snapshot_to_bin_wdg.txt │ ├── adobe_photoshop_popup_wdg/ │ │ ├── adobe_photoshop_button.txt │ │ └── adobe_photoshop_wdg.txt │ ├── completion_expression_wdg/ │ │ ├── README.txt │ │ ├── completion_expression_wdg.txt │ │ └── example_element_definition.txt │ ├── nuke_popup_wdg/ │ │ ├── README.txt │ │ ├── init.py │ │ ├── nuke_wdg_button.txt │ │ ├── nuke_wdg_panel.txt │ │ └── tactic_nuke_server.py │ └── work_hours_insert_wdg/ │ ├── README.txt │ ├── work_hours_insert_button.txt │ └── work_hours_insert_wdg.txt ├── install/ │ ├── apache/ │ │ ├── load_balance.py │ │ ├── tactic.conf │ │ └── tactic_win32.conf │ ├── backup/ │ │ ├── database_backup.py │ │ └── tactic_backup.py │ ├── config/ │ │ ├── standalone_linux-conf.xml │ │ └── standalone_win32-conf.xml │ ├── data/ │ │ ├── __init__.py │ │ └── tactic_paths.py │ ├── install.py │ ├── postgresql/ │ │ └── pg_hba.conf │ ├── rpm/ │ │ ├── prepare.py │ │ ├── tactic-4.7.spec │ │ └── tactic-4.9.spec │ ├── service/ │ │ ├── tactic │ │ ├── tactic.service │ │ ├── tactic_python2 │ │ └── win32_service.py │ ├── start/ │ │ └── config/ │ │ └── tactic-license.xml │ └── template/ │ ├── config/ │ │ ├── load_balance.txt │ │ ├── tactic-license.xml │ │ ├── tactic_linux-conf.xml │ │ ├── tactic_linux-conf_python3.xml │ │ └── tactic_win32-conf.xml │ └── sites/ │ ├── __init__.py │ └── example/ │ ├── __init__.py │ ├── context/ │ │ ├── Index.py │ │ ├── Sthpw.py │ │ └── __init__.py │ └── modules/ │ ├── __init__.py │ ├── base_index_wdg.py │ ├── header_wdg.py │ ├── main_tab_wdg.py │ └── site_page.py ├── plugins/ │ ├── TACTIC/ │ │ ├── default_theme/ │ │ │ ├── config/ │ │ │ │ ├── config_url.spt │ │ │ │ └── config_widget_config.spt │ │ │ └── manifest.xml │ │ ├── empty_theme/ │ │ │ ├── config/ │ │ │ │ ├── config_url.spt │ │ │ │ └── config_widget_config.spt │ │ │ └── manifest.xml │ │ ├── internal/ │ │ │ ├── sample3d/ │ │ │ │ ├── manifest.xml │ │ │ │ ├── prod_asset.spt │ │ │ │ ├── prod_sequence.spt │ │ │ │ ├── prod_shot.spt │ │ │ │ └── sthpw_schema.spt │ │ │ └── unittest/ │ │ │ ├── config_custom_script.spt │ │ │ ├── manifest.xml │ │ │ ├── unittest_car.spt │ │ │ ├── unittest_city.spt │ │ │ ├── unittest_country.spt │ │ │ ├── unittest_no_id.spt │ │ │ ├── unittest_person.spt │ │ │ └── unittest_person_in_car.spt │ │ ├── scrum/ │ │ │ ├── config/ │ │ │ │ ├── config_custom_script.spt │ │ │ │ ├── config_trigger.spt │ │ │ │ ├── config_url.spt │ │ │ │ ├── config_widget_config.spt │ │ │ │ ├── manifest.xml │ │ │ │ ├── sthpw_pipeline.spt │ │ │ │ ├── sthpw_project_type.spt │ │ │ │ └── sthpw_schema.spt │ │ │ ├── manifest.xml │ │ │ └── stypes/ │ │ │ ├── manifest.xml │ │ │ ├── scrum_feature.spt │ │ │ ├── scrum_plan.spt │ │ │ ├── scrum_plan_item.spt │ │ │ ├── scrum_product.spt │ │ │ ├── scrum_product_version.spt │ │ │ ├── scrum_release_note.spt │ │ │ ├── scrum_sprint.spt │ │ │ ├── scrum_ticket.spt │ │ │ ├── scrum_ticket_log.spt │ │ │ └── scrum_ticket_status.spt │ │ ├── themes/ │ │ │ ├── sample01_theme/ │ │ │ │ ├── config/ │ │ │ │ │ ├── config_url.spt │ │ │ │ │ └── widget_config.spt │ │ │ │ └── manifest.xml │ │ │ └── sample02_theme/ │ │ │ ├── config/ │ │ │ │ ├── config_url.spt │ │ │ │ └── widget_config.spt │ │ │ └── manifest.xml │ │ └── vfx/ │ │ ├── __init__.py │ │ ├── config/ │ │ │ ├── config_custom_script.spt │ │ │ ├── config_naming.spt │ │ │ ├── config_process.spt │ │ │ ├── config_prod_setting.spt │ │ │ ├── config_sidebar.spt │ │ │ ├── config_trigger.spt │ │ │ ├── config_url.spt │ │ │ ├── config_view/ │ │ │ │ ├── add_snapshot_to_review_wdg.spt │ │ │ │ ├── sequence_planner_wdg.spt │ │ │ │ ├── shot_planner_wdg.spt │ │ │ │ ├── shot_sheet_wdg.spt │ │ │ │ ├── single_shot_planner_wdg.spt │ │ │ │ └── vfx/ │ │ │ │ ├── art_reference/ │ │ │ │ │ └── main.spt │ │ │ │ ├── asset/ │ │ │ │ │ └── main.spt │ │ │ │ ├── dashboard/ │ │ │ │ │ └── main.spt │ │ │ │ ├── episode/ │ │ │ │ │ └── main.spt │ │ │ │ ├── leica/ │ │ │ │ │ └── main.spt │ │ │ │ ├── script/ │ │ │ │ │ └── main.spt │ │ │ │ ├── sequence/ │ │ │ │ │ └── main.spt │ │ │ │ ├── shot/ │ │ │ │ │ └── main.spt │ │ │ │ └── storyboard/ │ │ │ │ └── main.spt │ │ │ ├── config_widget.spt │ │ │ ├── manifest.xml │ │ │ ├── sthpw_pipeline.spt │ │ │ └── sthpw_schema.spt │ │ ├── lib/ │ │ │ ├── __init__.py │ │ │ └── index_wdg.py │ │ ├── manifest.xml │ │ └── stypes/ │ │ ├── manifest.xml │ │ ├── prod_session_contents.spt │ │ ├── vfx_art_reference.spt │ │ ├── vfx_asset.spt │ │ ├── vfx_asset_category.spt │ │ ├── vfx_asset_in_episode.spt │ │ ├── vfx_asset_in_sequence.spt │ │ ├── vfx_asset_in_shot.spt │ │ ├── vfx_asset_type.spt │ │ ├── vfx_camera.spt │ │ ├── vfx_episode.spt │ │ ├── vfx_layer.spt │ │ ├── vfx_leica.spt │ │ ├── vfx_naming.spt │ │ ├── vfx_node_data.spt │ │ ├── vfx_plate.spt │ │ ├── vfx_render.spt │ │ ├── vfx_review.spt │ │ ├── vfx_schedule.spt │ │ ├── vfx_script.spt │ │ ├── vfx_sequence.spt │ │ ├── vfx_shot.spt │ │ ├── vfx_shot_texture.spt │ │ ├── vfx_storyboard.spt │ │ ├── vfx_submission.spt │ │ └── vfx_texture.spt │ └── __init__.py ├── pyasm/ │ ├── __init__.py │ ├── application/ │ │ ├── __init__.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── app_environment.py │ │ │ ├── application.py │ │ │ ├── base_app_info.py │ │ │ ├── client_trigger.py │ │ │ ├── dependency.py │ │ │ ├── interpreter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── callback.py │ │ │ │ ├── examples.py │ │ │ │ ├── handler.py │ │ │ │ ├── interpreter.py │ │ │ │ └── tactic_client_lib/ │ │ │ │ ├── VERSION │ │ │ │ ├── VERSION_API │ │ │ │ ├── __init__.py │ │ │ │ └── tactic_server_stub.py │ │ │ ├── node_data.py │ │ │ ├── session_builder.py │ │ │ └── upload_multipart.py │ │ ├── flash/ │ │ │ ├── __init__.py │ │ │ ├── flash.py │ │ │ ├── flash_builder.py │ │ │ ├── flash_environment.py │ │ │ ├── flash_info.py │ │ │ └── flash_test.py │ │ ├── houdini/ │ │ │ ├── __init__.py │ │ │ ├── houdini.py │ │ │ ├── houdini9.py │ │ │ ├── houdini_builder.py │ │ │ ├── houdini_environment.py │ │ │ ├── houdini_impl.py │ │ │ ├── houdini_socket.py │ │ │ └── houdini_test.py │ │ ├── maya/ │ │ │ ├── __init__.py │ │ │ ├── maya_anim_file.py │ │ │ ├── maya_app.py │ │ │ ├── maya_builder.py │ │ │ ├── maya_builder_exec.py │ │ │ ├── maya_environment.py │ │ │ ├── maya_impl.py │ │ │ ├── maya_introspect.py │ │ │ ├── maya_parser.py │ │ │ ├── maya_parser_test.py │ │ │ └── maya_test.py │ │ ├── perforce/ │ │ │ ├── __init__.py │ │ │ └── perforce.py │ │ └── xsi/ │ │ ├── __init__.py │ │ ├── xsi.py │ │ ├── xsi_builder.py │ │ ├── xsi_environment.py │ │ ├── xsi_impl.py │ │ └── xsi_parser.py │ ├── biz/ │ │ ├── __init__.py │ │ ├── biz_test.py │ │ ├── cache.py │ │ ├── clipboard.py │ │ ├── code_naming.py │ │ ├── command_trigger.py │ │ ├── csv_import.py │ │ ├── custom_property.py │ │ ├── custom_script.py │ │ ├── debug_log.py │ │ ├── dir_naming.py │ │ ├── expression.py │ │ ├── expression_test.py │ │ ├── file.py │ │ ├── file_naming.py │ │ ├── file_test.py │ │ ├── folder.py │ │ ├── hierarchical_status_attr.py │ │ ├── naming.py │ │ ├── naming_test.py │ │ ├── note.py │ │ ├── notification.py │ │ ├── notification_test.py │ │ ├── pipeline.py │ │ ├── pipeline_test.py │ │ ├── plugin_util.py │ │ ├── preference.py │ │ ├── prod_setting.py │ │ ├── project.py │ │ ├── repo_handler.py │ │ ├── schema.py │ │ ├── schema_test.py │ │ ├── simple_status_attr.py │ │ ├── snapshot.py │ │ ├── snapshot_test.py │ │ ├── sobject_connection.py │ │ ├── sobject_instance.py │ │ ├── status.py │ │ ├── status_attr.py │ │ ├── subscription.py │ │ ├── task.py │ │ ├── template.py │ │ ├── timezone_test.py │ │ ├── translation.py │ │ └── work_hour.py │ ├── checkin/ │ │ ├── __init__.py │ │ ├── checkin.py │ │ ├── checkin_test.py │ │ ├── exifread/ │ │ │ ├── __init__.py │ │ │ ├── classes.py │ │ │ ├── tags/ │ │ │ │ ├── __init__.py │ │ │ │ ├── exif.py │ │ │ │ └── makernote.py │ │ │ └── utils.py │ │ ├── file_checkin.py │ │ ├── iptcinfo.py │ │ ├── metadata.py │ │ ├── repo.py │ │ ├── snapshot_builder.py │ │ ├── snapshot_builder_test.py │ │ ├── snapshot_checkin.py │ │ └── sync_snapshots.py │ ├── command/ │ │ ├── __init__.py │ │ ├── add_user_to_group_cmd.py │ │ ├── command.py │ │ ├── command_test.py │ │ ├── csv_export_cmd.py │ │ ├── csv_import_cmd.py │ │ ├── database_cmd.py │ │ ├── dataflow_test.py │ │ ├── delete_cmd.py │ │ ├── edit_cmd.py │ │ ├── edit_wdg_action.py │ │ ├── email_handler.py │ │ ├── email_trigger.py │ │ ├── file_upload.py │ │ ├── kronos.py │ │ ├── pickup_trigger.py │ │ ├── remote_command.py │ │ ├── scheduler.py │ │ ├── sign_out_cmd.py │ │ ├── site_upgrade.py │ │ ├── status_trigger.py │ │ ├── subprocess_trigger.py │ │ ├── trigger.py │ │ ├── undo_cmd.py │ │ ├── widget_settings_cmd.py │ │ ├── workflow.py │ │ └── workflow_test.py │ ├── common/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── common.py │ │ ├── common_exception.py │ │ ├── common_test.py │ │ ├── config.py │ │ ├── config_test.py │ │ ├── container.py │ │ ├── date.py │ │ ├── directory.py │ │ ├── encrypt_util.py │ │ ├── environment.py │ │ ├── format_value.py │ │ ├── js_wrapper.py │ │ ├── lxml_wrapper.py │ │ ├── spt_date.py │ │ ├── spt_date_test.py │ │ ├── system.py │ │ ├── system_test.py │ │ ├── test.xml │ │ ├── timecode.py │ │ ├── watch_folder.py │ │ ├── xml_test.py │ │ ├── xml_wrapper.py │ │ └── zip_util.py │ ├── config/ │ │ ├── standalone_linux-conf.xml │ │ └── standalone_win32-conf.xml │ ├── prod/ │ │ ├── __init__.py │ │ ├── biz/ │ │ │ ├── __init__.py │ │ │ ├── asset.py │ │ │ ├── biz_test.py │ │ │ ├── episode.py │ │ │ ├── naming.py │ │ │ ├── prod_app_naming.py │ │ │ ├── prod_dir_naming.py │ │ │ ├── prod_file_naming.py │ │ │ ├── prod_setting.py │ │ │ ├── prod_task_filter.py │ │ │ ├── render.py │ │ │ ├── sequence.py │ │ │ ├── session.py │ │ │ ├── shot.py │ │ │ ├── shot_test.py │ │ │ ├── submission.py │ │ │ └── texture.py │ │ ├── checkin/ │ │ │ ├── __init__.py │ │ │ ├── comp_checkin.py │ │ │ ├── comp_test.py │ │ │ ├── maya_checkin.py │ │ │ ├── maya_checkin_test.py │ │ │ ├── publisher.py │ │ │ ├── submission_checkin.py │ │ │ └── test/ │ │ │ ├── fusion_sample.comp │ │ │ └── shake_sample.shk │ │ ├── command/ │ │ │ ├── __init__.py │ │ │ ├── code_update.py │ │ │ ├── snapshot_action.py │ │ │ └── task_create_action.py │ │ ├── load/ │ │ │ ├── __init__.py │ │ │ ├── loader.py │ │ │ ├── loader_context.py │ │ │ └── loader_test.py │ │ ├── prod_test.py │ │ ├── queue/ │ │ │ ├── __init__.py │ │ │ ├── linux_service │ │ │ ├── queue.py │ │ │ ├── queue_index.py │ │ │ ├── queue_wdg.py │ │ │ ├── slave_startup.py │ │ │ └── win32_service.py │ │ ├── render/ │ │ │ ├── __init__.py │ │ │ ├── qube_render_submit.py │ │ │ ├── render_cmd.py │ │ │ ├── render_cmd_builder.py │ │ │ ├── render_context.py │ │ │ └── render_package.py │ │ ├── service/ │ │ │ ├── __init__.py │ │ │ ├── api_xmlrpc.py │ │ │ ├── api_xmlrpc_test.py │ │ │ ├── base_sthpw_wdg.py │ │ │ ├── base_xmlrpc.py │ │ │ ├── tactic_remote.py │ │ │ └── tactic_slave.py │ │ ├── site/ │ │ │ ├── __init__.py │ │ │ ├── admin_tab_wdg.py │ │ │ ├── asset_tab_wdg.py │ │ │ ├── client_tab_wdg.py │ │ │ ├── concept_tab_wdg.py │ │ │ ├── custom_project_tab_wdg.py │ │ │ ├── editorial_tab_wdg.py │ │ │ ├── main_tab_wdg.py │ │ │ ├── maya_tab_wdg.py │ │ │ ├── my_tactic_tab_wdg.py │ │ │ ├── overview_tab_wdg.py │ │ │ ├── preprod_tab_wdg.py │ │ │ ├── setup_tab_wdg.py │ │ │ ├── shot_tab_wdg.py │ │ │ └── texture_tab_wdg.py │ │ └── web/ │ │ ├── __init__.py │ │ ├── app_load_wdg.py │ │ ├── approval_manager_wdg.py │ │ ├── artist_view_wdg.py │ │ ├── asset_data_wdg.py │ │ ├── asset_detail_wdg.py │ │ ├── asset_filter_wdg.py │ │ ├── asset_history_wdg.py │ │ ├── asset_info_wdg.py │ │ ├── asset_library_wdg.py │ │ ├── asset_loader_wdg.py │ │ ├── asset_task_creator_wdg.py │ │ ├── camera_info_wdg.py │ │ ├── composite_wdg.py │ │ ├── csv_import_wdg.py │ │ ├── frame_info_wdg.py │ │ ├── layout_summary_wdg.py │ │ ├── maya_set_wdg.py │ │ ├── prod_checkin_cbk.py │ │ ├── prod_checkin_wdg.py │ │ ├── prod_context.py │ │ ├── prod_input_wdg.py │ │ ├── prod_setup_wdg.py │ │ ├── prod_table_element_wdg.py │ │ ├── prod_wdg.py │ │ ├── publish_log_wdg.py │ │ ├── render_wdg.py │ │ ├── shot_instance_adder_wdg.py │ │ ├── shot_navigator_wdg.py │ │ ├── sobject_checkin_wdg.py │ │ ├── sobject_planner_wdg.py │ │ ├── sobject_task_wdg.py │ │ ├── sobject_upload_wdg.py │ │ ├── statistics_wdg.py │ │ ├── submission_wdg.py │ │ ├── task_manager_wdg.py │ │ ├── texture_wdg.py │ │ └── version_wdg.py │ ├── requirements.txt │ ├── search/ │ │ ├── __init__.py │ │ ├── cache.py │ │ ├── database_impl.py │ │ ├── database_test.py │ │ ├── db_introspect.py │ │ ├── exception_log.py │ │ ├── mongodb.py │ │ ├── mongodb_test.py │ │ ├── relationship_test.py │ │ ├── search.py │ │ ├── search_template_test.py │ │ ├── search_test.py │ │ ├── sobject_config.py │ │ ├── sobject_default_config.py │ │ ├── sobject_log.py │ │ ├── sobject_mapping.py │ │ ├── sql.py │ │ ├── sql_dumper.py │ │ ├── sql_test.py │ │ ├── transaction.py │ │ ├── transaction_log.py │ │ ├── transaction_state.py │ │ ├── transaction_test.py │ │ ├── upgrade/ │ │ │ ├── __init__.py │ │ │ ├── data/ │ │ │ │ ├── sthpw_access_rule.sql │ │ │ │ ├── sthpw_notification.sql │ │ │ │ ├── sthpw_pref_list.sql │ │ │ │ ├── sthpw_project_type.sql │ │ │ │ ├── sthpw_search_object.sql │ │ │ │ └── sthpw_translation.sql │ │ │ ├── data_dumper.py │ │ │ ├── data_summary.py │ │ │ ├── mysql/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bootstrap_load.py │ │ │ │ ├── bootstrap_schema.sql │ │ │ │ ├── config_schema.sql │ │ │ │ ├── sql_convert.py │ │ │ │ ├── sthpw_schema.sql │ │ │ │ └── unittest_schema.sql │ │ │ ├── oracle/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bootstrap_load.py │ │ │ │ ├── bootstrap_schema.sql │ │ │ │ ├── config_schema.sql │ │ │ │ ├── sql_convert.py │ │ │ │ ├── sthpw_schema.sql │ │ │ │ └── unittest_schema.sql │ │ │ ├── postgresql/ │ │ │ │ ├── bootstrap_load.py │ │ │ │ ├── bootstrap_schema.sql │ │ │ │ ├── config_schema.sql │ │ │ │ ├── sthpw_schema.sql │ │ │ │ └── unittest_schema.sql │ │ │ ├── project/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base_upgrade.py │ │ │ │ ├── config_upgrade.py │ │ │ │ ├── default_upgrade.py │ │ │ │ ├── design_upgrade.py │ │ │ │ ├── effects_upgrade.py │ │ │ │ ├── game_upgrade.py │ │ │ │ ├── prod_upgrade.py │ │ │ │ ├── simple_upgrade.py │ │ │ │ ├── sthpw_upgrade.py │ │ │ │ └── unittest_upgrade.py │ │ │ ├── schema/ │ │ │ │ ├── config_schema.sql │ │ │ │ ├── config_schema_SQLServer.sql │ │ │ │ ├── design_schema.sql │ │ │ │ ├── effects_schema.sql │ │ │ │ ├── game_schema.sql │ │ │ │ ├── initial_sthpw_creation_SQLServer.sql │ │ │ │ ├── prod_data.sql │ │ │ │ ├── prod_schema.sql │ │ │ │ ├── simple_schema.sql │ │ │ │ ├── sthpw_data.sql │ │ │ │ ├── sthpw_data_SQLServer.sql │ │ │ │ ├── sthpw_schema.sql │ │ │ │ ├── sthpw_schema_SQLServer.sql │ │ │ │ ├── unittest_schema.sql │ │ │ │ └── unittest_schema_SQLServer.sql │ │ │ ├── schema_dumper.py │ │ │ ├── sql_convert.py │ │ │ ├── sql_parser.py │ │ │ ├── sql_reporter.py │ │ │ ├── sqlite/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bootstrap_load.py │ │ │ │ ├── bootstrap_schema.sql │ │ │ │ ├── config_schema.sql │ │ │ │ ├── deprecated/ │ │ │ │ │ ├── flash_data.sql │ │ │ │ │ └── prod_data.sql │ │ │ │ ├── schema_dump_cmd.py │ │ │ │ ├── simple_data.sql │ │ │ │ ├── simple_schema.sql │ │ │ │ ├── sql_convert.py │ │ │ │ ├── sthpw_data.sql │ │ │ │ ├── sthpw_schema.sql │ │ │ │ ├── unittest_schema.sql │ │ │ │ ├── upgrade_convert.py │ │ │ │ └── upgrade_output.txt │ │ │ ├── sqlserver/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bootstrap_load.py │ │ │ │ ├── bootstrap_schema.sql │ │ │ │ ├── config_schema.sql │ │ │ │ ├── sql_convert.py │ │ │ │ └── sthpw_schema.sql │ │ │ ├── summary.py │ │ │ └── upgrade_db.py │ │ └── widget_db_config.py │ ├── security/ │ │ ├── __init__.py │ │ ├── access_manager.py │ │ ├── access_rule.py │ │ ├── authenticate.py │ │ ├── authenticate_test.py │ │ ├── batch.py │ │ ├── crypto_key.py │ │ ├── drupal_password_hasher.py │ │ ├── external_service.py │ │ ├── external_service_test.py │ │ ├── ldap_ad_authenticate.py │ │ ├── security.py │ │ ├── security_test.py │ │ ├── tactic-license.xml │ │ └── watermark.py │ ├── unittest/ │ │ ├── __init__.py │ │ ├── environment.py │ │ ├── person.py │ │ ├── schema.sql │ │ ├── test_trigger.py │ │ └── testsuite.py │ ├── web/ │ │ ├── __init__.py │ │ ├── app_server.py │ │ ├── cache_startup.py │ │ ├── callback.py │ │ ├── cherrypy30_adapter.py │ │ ├── cherrypy30_startup.py │ │ ├── cherrypy_adapter.py │ │ ├── cherrypy_startup.py │ │ ├── command_delegator.py │ │ ├── event_container.py │ │ ├── html_wdg.py │ │ ├── html_wdg_test.py │ │ ├── mod_python_wrapper.py │ │ ├── monitor.py │ │ ├── palette.py │ │ ├── simple_app_server.py │ │ ├── test-conf.xml │ │ ├── url_security.py │ │ ├── web_app.py │ │ ├── web_app_test.py │ │ ├── web_container.py │ │ ├── web_environment.py │ │ ├── web_init.py │ │ ├── web_login_cmd.py │ │ ├── web_state.py │ │ ├── web_tools.py │ │ ├── webware_adapter.py │ │ ├── widget.py │ │ ├── widget_app_server.py │ │ └── widget_test.py │ └── widget/ │ ├── __init__.py │ ├── annotate_wdg.py │ ├── applet.py │ ├── base_tab_wdg.py │ ├── clipboard_wdg.py │ ├── creator_wdg.py │ ├── custom_info_wdg.py │ ├── custom_view_app_wdg.py │ ├── custom_view_wdg.py │ ├── dependency_wdg.py │ ├── discussion_wdg.py │ ├── dynamic_loader_page.py │ ├── error_wdg.py │ ├── file_wdg.py │ ├── filter_wdg.py │ ├── folder_wdg.py │ ├── gantt_wdg.py │ ├── header_wdg.py │ ├── icon_wdg.py │ ├── input_wdg.py │ ├── layout_wdg.py │ ├── menu.py │ ├── my_tactic_summary_wdg.py │ ├── naming_wdg.py │ ├── parallel_status.py │ ├── project_wdg.py │ ├── search_limit_wdg.py │ ├── serial_status.py │ ├── shadowbox_wdg.py │ ├── sobject_browser_wdg.py │ ├── sobject_group_wdg.py │ ├── statistic_wdg.py │ ├── tab_wdg.py │ ├── table_element_wdg.py │ ├── task_wdg.py │ ├── timecard_wdg.py │ ├── upload_server_page.py │ ├── web_attr.py │ ├── web_wdg.py │ ├── widget_config.py │ └── widget_config_test.py ├── tactic/ │ ├── __init__.py │ ├── active_directory/ │ │ ├── AD_group_export.ldif │ │ ├── AD_user_export.ldif │ │ ├── __init__.py │ │ ├── active_directory.py │ │ ├── ad_authenticate.py │ │ ├── ad_connect.py │ │ ├── ad_get_user_info.py │ │ ├── ad_lookup.py │ │ ├── ad_search_wdg.py │ │ └── ad_test.py │ ├── command/ │ │ ├── __init__.py │ │ ├── clipboard_cmd.py │ │ ├── copy_config_cmd.py │ │ ├── create_project_cmd.py │ │ ├── global_search_trigger.py │ │ ├── ingestion_cmd.py │ │ ├── js_cmd.py │ │ ├── kronos.py │ │ ├── login_group_trigger.py │ │ ├── naming_migrator_cmd.py │ │ ├── notification_cmd.py │ │ ├── package.py │ │ ├── pipeline_task_trigger.py │ │ ├── plugin.py │ │ ├── project_template_cmd.py │ │ ├── python_cmd.py │ │ ├── queue.py │ │ ├── rsync.py │ │ ├── run_transaction_cmd.py │ │ ├── scheduler.py │ │ ├── sobject_copy_cmd.py │ │ ├── watch_drop_folder.py │ │ └── watch_handoff_folder.py │ ├── protocol/ │ │ ├── __init__.py │ │ ├── api_test.php │ │ ├── api_test.py │ │ ├── create_tactic_js.py │ │ ├── graphql_handler.py │ │ ├── python_rest_handler.py │ │ ├── rest_handler.py │ │ └── rest_test.py │ ├── react/ │ │ ├── __init__.py │ │ ├── chart.js │ │ ├── chart.jsx │ │ ├── common.js │ │ ├── common.jsx │ │ ├── config.js │ │ ├── config.jsx │ │ ├── config.py │ │ ├── data_grid.js │ │ ├── data_grid.jsx │ │ ├── import_data.js │ │ ├── import_data.jsx │ │ ├── import_data.py │ │ ├── pages.js │ │ ├── pages.jsx │ │ ├── react.py │ │ ├── table_layout.js │ │ ├── table_layout.jsx │ │ ├── table_layout.py │ │ └── widget/ │ │ ├── modal.js │ │ ├── modal.jsx │ │ ├── notes.js │ │ ├── notes.jsx │ │ └── notes.py │ ├── startup/ │ │ ├── __init__.py │ │ └── first_run_init.py │ ├── tactic_paths.py │ ├── triggers/ │ │ ├── __init__.py │ │ ├── checkin_trigger.py │ │ └── data_trigger.py │ ├── ui/ │ │ ├── __init__.py │ │ ├── activator/ │ │ │ ├── __init__.py │ │ │ └── click_activate_menu_wdg.py │ │ ├── app/ │ │ │ ├── __init__.py │ │ │ ├── advanced_search.py │ │ │ ├── aggregate_wdg.py │ │ │ ├── analytics_wdg.py │ │ │ ├── app_sobject_checkin_wdg.py │ │ │ ├── custom_print_view_wdg.py │ │ │ ├── custom_property_wdg.py │ │ │ ├── db_resource_wdg.py │ │ │ ├── diagnostics_wdg.py │ │ │ ├── dynamic_update_wdg.py │ │ │ ├── help_wdg.py │ │ │ ├── js_includes.py │ │ │ ├── license_manager_wdg.py │ │ │ ├── message_wdg.py │ │ │ ├── naming_migrator_wdg.py │ │ │ ├── note_wdg.py │ │ │ ├── notify_wdg.py │ │ │ ├── page_header_wdg.py │ │ │ ├── page_nav_container_wdg.py │ │ │ ├── plugin_wdg.py │ │ │ ├── project_start_wdg.py │ │ │ ├── project_template_wdg.py │ │ │ ├── project_wdg.py │ │ │ ├── quick_box_wdg.py │ │ │ ├── search_limit_wdg.py │ │ │ ├── search_type_creator_wdg.py │ │ │ ├── search_type_element_wdg.py │ │ │ ├── search_wdg.py │ │ │ ├── setup_manager_wdg.py │ │ │ ├── shelf_wdg.py │ │ │ ├── simple_search_wdg.py │ │ │ ├── system_info_wdg.py │ │ │ ├── tactic_branding_wdg.py │ │ │ ├── task_wdg.py │ │ │ ├── top_container_wdg.py │ │ │ ├── top_wdg.py │ │ │ ├── undo_log_wdg.py │ │ │ ├── update_wdg.py │ │ │ └── validation.py │ │ ├── bootstrap_app/ │ │ │ ├── __init__.py │ │ │ ├── bootstrap_index_wdg.py │ │ │ └── bootstrap_tab_wdg.py │ │ ├── cgapp/ │ │ │ ├── __init__.py │ │ │ ├── app_init_wdg.py │ │ │ ├── app_panel_wdg.py │ │ │ ├── checkin_wdg.py │ │ │ ├── connection_select_wdg.py │ │ │ ├── introspect.py │ │ │ ├── load_options_wdg.py │ │ │ ├── loader_button_wdg.py │ │ │ ├── loader_element_wdg.py │ │ │ ├── loader_wdg.py │ │ │ ├── publish_element_wdg.py │ │ │ ├── session_wdg.py │ │ │ ├── sobject_load_wdg.py │ │ │ └── version_wdg.py │ │ ├── chart/ │ │ │ ├── __init__.py │ │ │ ├── bar_chart_wdg.py │ │ │ ├── chart_builder_wdg.py │ │ │ ├── chart_data.py │ │ │ ├── chart_js_wdg.py │ │ │ ├── chart_wdg.py │ │ │ ├── chart_wdg_old.py │ │ │ ├── sample_chart_wdg.py │ │ │ └── sobject_chart_wdg.py │ │ ├── checkin/ │ │ │ ├── __init__.py │ │ │ ├── branch_wdg.py │ │ │ ├── changelist_wdg.py │ │ │ ├── checkin_dir_list_wdg.py │ │ │ ├── file_properties_wdg.py │ │ │ ├── sandbox_select_wdg.py │ │ │ ├── scm_dir_list_wdg.py │ │ │ ├── simple_checkin_wdg.py │ │ │ ├── snapshot_files_wdg.py │ │ │ └── workspace_wdg.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── base_config_wdg.py │ │ │ ├── base_refresh_wdg.py │ │ │ ├── base_table_element_wdg.py │ │ │ ├── corner_generator.py │ │ │ └── widget_class_handler.py │ │ ├── config/ │ │ │ ├── DEFAULT-conf.xml │ │ │ ├── admin-conf.xml │ │ │ ├── asset-conf.xml │ │ │ ├── bookmarks-conf.xml │ │ │ ├── children-conf.xml │ │ │ ├── dashboard-conf.xml │ │ │ ├── flash-conf.xml │ │ │ ├── prod-conf.xml │ │ │ ├── reports-conf.xml │ │ │ ├── sample-conf.xml │ │ │ └── simple-conf.xml │ │ ├── container/ │ │ │ ├── __init__.py │ │ │ ├── arrow_wdg.py │ │ │ ├── container_wdg.py │ │ │ ├── content_wdg.py │ │ │ ├── context_menu_wdg.py │ │ │ ├── dialog_wdg.py │ │ │ ├── dynamic_list_wdg.py │ │ │ ├── menu_wdg.py │ │ │ ├── panel_wdg.py │ │ │ ├── pop_window_wdg.py │ │ │ ├── popup_wdg.py │ │ │ ├── resizable_table_wdg.py │ │ │ ├── smart_menu_wdg.py │ │ │ ├── tab_wdg.py │ │ │ └── wizard_wdg.py │ │ ├── examples/ │ │ │ ├── __init__.py │ │ │ ├── base_example_wdg.py │ │ │ ├── dev_sandbox_01_wdg.py │ │ │ ├── dev_sandbox_02_wdg.py │ │ │ ├── dev_sandbox_03_wdg.py │ │ │ ├── efficient_table_example_wdg.py │ │ │ ├── event_examples_wdg.py │ │ │ ├── font_palettes_example_wdg.py │ │ │ ├── fx_anim_examples_wdg.py │ │ │ ├── keyboard_handler_examples_wdg.py │ │ │ ├── menu_examples_wdg.py │ │ │ ├── misc_examples_wdg.py │ │ │ ├── panning_scroll_example_wdg.py │ │ │ ├── search_class_tag_examples_wdg.py │ │ │ └── ui_playground_panel_wdg.py │ │ ├── filter/ │ │ │ ├── __init__.py │ │ │ ├── filter_data.py │ │ │ ├── filter_element_wdg.py │ │ │ ├── filter_wdg.py │ │ │ └── type_filter_element_wdg.py │ │ ├── gantt/ │ │ │ ├── __init__.py │ │ │ ├── gantt_item_wdg.py │ │ │ ├── gantt_task_item_wdg.py │ │ │ └── gantt_wdg.py │ │ ├── input/ │ │ │ ├── __init__.py │ │ │ ├── color_input_wdg.py │ │ │ ├── custom_select_wdg.py │ │ │ ├── html5_upload_wdg.py │ │ │ ├── icon_select_wdg.py │ │ │ ├── multitext_input_wdg.py │ │ │ ├── navigator_wdg.py │ │ │ ├── note_input_wdg.py │ │ │ ├── pipeline_input_wdg.py │ │ │ ├── process_context_wdg.py │ │ │ ├── process_group_select_wdg.py │ │ │ ├── search_type_input_wdg.py │ │ │ ├── task_input_wdg.py │ │ │ ├── text_input_wdg.py │ │ │ └── textarea_input_wdg.py │ │ ├── manager/ │ │ │ ├── __init__.py │ │ │ ├── base_section_wdg.py │ │ │ ├── element_definition_wdg.py │ │ │ ├── format_definition_wdg.py │ │ │ ├── view_manager_wdg.py │ │ │ └── view_section_wdg.py │ │ ├── panel/ │ │ │ ├── __init__.py │ │ │ ├── action_wdg.py │ │ │ ├── base_table_layout_wdg.py │ │ │ ├── collection_wdg.py │ │ │ ├── custom_layout_wdg.py │ │ │ ├── custom_search_wdg.py │ │ │ ├── document_wdg.py │ │ │ ├── edit_cmd.py │ │ │ ├── edit_layout_wdg.py │ │ │ ├── edit_wdg.py │ │ │ ├── element_definition_wdg.py │ │ │ ├── freeform_layout_wdg.py │ │ │ ├── hash_panel_wdg.py │ │ │ ├── layout_util.py │ │ │ ├── layout_wdg.py │ │ │ ├── manage_view_panel_wdg.py │ │ │ ├── mobile_wdg.py │ │ │ ├── panel_wdg.py │ │ │ ├── planner_layout_wdg.py │ │ │ ├── print_layout_wdg.py │ │ │ ├── schema_section_wdg.py │ │ │ ├── search_type_manager_wdg.py │ │ │ ├── search_type_panel_wdg.py │ │ │ ├── security_manager_wdg.py │ │ │ ├── simple_side_bar_wdg.py │ │ │ ├── sobject_panel_wdg.py │ │ │ ├── sql_panel_wdg.py │ │ │ ├── static_table_layout_wdg.py │ │ │ ├── swf_wdg.py │ │ │ ├── table_layout_wdg.py │ │ │ ├── test_custom_wdg.py │ │ │ ├── test_dynamic_load_wdg.py │ │ │ ├── tile_layout_wdg.py │ │ │ ├── tool_layout_wdg.py │ │ │ └── view_manager_wdg.py │ │ ├── popups/ │ │ │ ├── __init__.py │ │ │ ├── action_bar_wdg.py │ │ │ ├── help_popup_wdg.py │ │ │ └── transaction_popup_wdg.py │ │ ├── report/ │ │ │ ├── __init__.py │ │ │ ├── stype_report_wdg.py │ │ │ ├── task_status_report_wdg.py │ │ │ └── yearly_report_wdg.py │ │ ├── startup/ │ │ │ ├── __init__.py │ │ │ ├── client_wdg.py │ │ │ ├── column_edit_wdg.py │ │ │ ├── content_creator_wdg.py │ │ │ ├── dashboards_wdg.py │ │ │ ├── db_config_wdg.py │ │ │ ├── home_wdg.py │ │ │ ├── main_wdg.py │ │ │ ├── misc_wdg.py │ │ │ ├── pipeline_edit_wdg.py │ │ │ ├── project_config_wdg.py │ │ │ ├── reports_wdg.py │ │ │ ├── security_wdg.py │ │ │ ├── share_wdg.py │ │ │ └── themes_wdg.py │ │ ├── sync/ │ │ │ ├── __init__.py │ │ │ ├── sync_filter.py │ │ │ ├── sync_filter_test.py │ │ │ ├── sync_import_wdg.py │ │ │ ├── sync_security_wdg.py │ │ │ ├── sync_settings_wdg.py │ │ │ └── sync_utils.py │ │ ├── table/ │ │ │ ├── __init__.py │ │ │ ├── button_wdg.py │ │ │ ├── custom_layout_element_wdg.py │ │ │ ├── delete_element_wdg.py │ │ │ ├── drop_element_wdg.py │ │ │ ├── explorer_wdg.py │ │ │ ├── expression_element_wdg.py │ │ │ ├── foreign_key_element_wdg.py │ │ │ ├── format_element_wdg.py │ │ │ ├── gantt_element_wdg.py │ │ │ ├── group_element_wdg.py │ │ │ ├── hidden_row_element_wdg.py │ │ │ ├── html_element_wdg.py │ │ │ ├── json_element_wdg.py │ │ │ ├── link_element_wdg.py │ │ │ ├── metadata_element_wdg.py │ │ │ ├── preference_wdg.py │ │ │ ├── project_wdg.py │ │ │ ├── projected_schedule_wdg.py │ │ │ ├── python_element_wdg.py │ │ │ ├── related_element_wdg.py │ │ │ ├── snapshot_element_wdg.py │ │ │ ├── sobject_detail_wdg.py │ │ │ ├── sobject_summary_wdg.py │ │ │ ├── spreadsheet_element_wdg.py │ │ │ ├── statistic_wdg.py │ │ │ ├── subcontext_wdg.py │ │ │ ├── table_element_wdg.py │ │ │ ├── task_element_wdg.js │ │ │ ├── task_element_wdg.py │ │ │ └── work_hours_element_wdg.py │ │ ├── tools/ │ │ │ ├── __init__.py │ │ │ ├── checkout_wdg.py │ │ │ ├── custom_layout_edit_wdg.py │ │ │ ├── db_register_wdg.py │ │ │ ├── delete_wdg.py │ │ │ ├── dependency_wdg.py │ │ │ ├── doc_tool_wdg.py │ │ │ ├── file_detail_wdg.py │ │ │ ├── freeform_layout_wdg.py │ │ │ ├── ingest_wdg.py │ │ │ ├── ingestion_wdg.py │ │ │ ├── jsx_processor.py │ │ │ ├── mail_templates.py │ │ │ ├── pipeline_canvas_wdg.py │ │ │ ├── pipeline_wdg.py │ │ │ ├── repo_browser_wdg.py │ │ │ ├── review_wdg.py │ │ │ ├── schedule_wdg.py │ │ │ ├── schema_wdg.py │ │ │ ├── sobject_wdg.py │ │ │ ├── tab_edit_wdg.py │ │ │ └── trigger_wdg.py │ │ └── widget/ │ │ ├── __init__.py │ │ ├── button_new_wdg.py │ │ ├── button_wdg.py │ │ ├── calendar_wdg.py │ │ ├── checkin_wdg.py │ │ ├── chooser_wdg.py │ │ ├── ckeditor_wdg.py │ │ ├── color_input_wdg.py │ │ ├── data_export_wdg.py │ │ ├── discussion_wdg.py │ │ ├── embed_wdg.py │ │ ├── file_browser_wdg.py │ │ ├── format_value_wdg.py │ │ ├── gallery_wdg.py │ │ ├── gear_menu_wdg.py │ │ ├── layout_switcher_wdg.py │ │ ├── misc_input_wdg.py │ │ ├── overlay_stats_wdg.py │ │ ├── plan_wdg.py │ │ ├── progress_wdg.py │ │ ├── proxy_wdg.py │ │ ├── reset_password_wdg.py │ │ ├── review_wdg.py │ │ ├── serialize_wdg.py │ │ ├── smart_select_wdg.py │ │ ├── sobject_calendar_wdg.py │ │ ├── sobject_group_wdg.py │ │ ├── swap_display_wdg.py │ │ ├── text_wdg.py │ │ ├── title_wdg.py │ │ ├── unity_wdg.py │ │ ├── upload_wdg.py │ │ ├── video_wdg.py │ │ ├── visual_notes_wdg.py │ │ ├── week_wdg.py │ │ └── work_hour_wdg.py │ └── utility/ │ ├── __init__.py │ └── database.py ├── tactic_sites/ │ ├── __init__.py │ ├── default/ │ │ ├── __init__.py │ │ ├── context/ │ │ │ ├── Api.py │ │ │ ├── Config.py │ │ │ ├── CsvDownload.py │ │ │ ├── Error403.py │ │ │ ├── Error404.py │ │ │ ├── Index.py │ │ │ ├── TitlePage.py │ │ │ ├── UploadServer.py │ │ │ ├── WidgetServer.py │ │ │ ├── XMLRPC.py │ │ │ ├── __init__.py │ │ │ └── browser.py │ │ └── modules/ │ │ ├── __init__.py │ │ └── index_wdg.py │ └── template/ │ ├── __init__.py │ ├── context/ │ │ ├── Houdini.py │ │ ├── Index.py │ │ ├── JSFL/ │ │ │ └── post_stage.jsfl │ │ ├── Maya.py │ │ ├── Sthpw.py │ │ ├── XMLRPC.py │ │ ├── XSI.py │ │ └── __init__.py │ └── modules/ │ ├── __init__.py │ ├── base_index_wdg.py │ └── site_page.py └── test/ ├── ad_test.py ├── api_test.py ├── authenticate_test.py ├── biz_test.py ├── checkin_test.py ├── command_test.py ├── common_test.py ├── config_test.py ├── database_test.py ├── dataflow_test.py ├── expression_test.py ├── file_test.py ├── html_wdg_test.py ├── naming_test.py ├── notification_test.py ├── pipeline_test.py ├── rest_test.py ├── run_tests.sh ├── schema_test.py ├── search_test.py ├── security_api_test.py ├── security_test.py ├── snapshot_builder_test.py ├── snapshot_test.py ├── spt_date_test.py ├── sql_test.py ├── system_test.py ├── transaction_test.py ├── widget_config_test.py ├── widget_test.py ├── workflow_test.py └── xml_test.py