Copy disabled (too large)
Download .txt
Showing preview only (35,145K chars total). Download the full file to get everything.
Repository: qqphp-com/laravel-blog-poetry-all
Branch: master
Commit: 5fbfa652b464
Files: 5315
Total size: 32.1 MB
Directory structure:
gitextract_rfq8vaue/
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .styleci.yml
├── LICENSE
├── README.md
├── app/
│ ├── Admin/
│ │ ├── Actions/
│ │ │ └── Post/
│ │ │ └── GoArticle.php
│ │ ├── Controllers/
│ │ │ ├── AuthController.php
│ │ │ ├── BlogAboutArticleController.php
│ │ │ ├── BlogAboutCardOneController.php
│ │ │ ├── BlogAboutCardTwoController.php
│ │ │ ├── BlogAboutController.php
│ │ │ ├── BlogFriendsController.php
│ │ │ ├── BlogMessageController.php
│ │ │ ├── BlogNavArticleController.php
│ │ │ ├── BlogNavController.php
│ │ │ ├── BlogNavMusicController.php
│ │ │ ├── BlogNavPhotoController.php
│ │ │ ├── BlogNavShareOneController.php
│ │ │ ├── BlogNavShareTwoController.php
│ │ │ ├── BlogNavVideoController.php
│ │ │ ├── BlogNoticeController.php
│ │ │ ├── BlogSubscribeController.php
│ │ │ ├── BlogUploadFileController.php
│ │ │ ├── ExampleController.php
│ │ │ └── HomeController.php
│ │ ├── bootstrap.php
│ │ └── routes.php
│ ├── Console/
│ │ └── Kernel.php
│ ├── Exceptions/
│ │ └── Handler.php
│ ├── Http/
│ │ ├── Controllers/
│ │ │ ├── Auth/
│ │ │ │ ├── ForgotPasswordController.php
│ │ │ │ ├── LoginController.php
│ │ │ │ ├── RegisterController.php
│ │ │ │ ├── ResetPasswordController.php
│ │ │ │ └── VerificationController.php
│ │ │ ├── Controller.php
│ │ │ └── Home/
│ │ │ ├── AboutController.php
│ │ │ ├── ArticleController.php
│ │ │ ├── ArticleDetailController.php
│ │ │ ├── CardOneController.php
│ │ │ ├── CardTwoController.php
│ │ │ ├── FriendsController.php
│ │ │ ├── IndexController.php
│ │ │ ├── MessageController.php
│ │ │ ├── MusicController.php
│ │ │ ├── PhotoController.php
│ │ │ └── VideoController.php
│ │ ├── Kernel.php
│ │ ├── Middleware/
│ │ │ ├── AetherUploadCORS.php
│ │ │ ├── Authenticate.php
│ │ │ ├── CheckForMaintenanceMode.php
│ │ │ ├── EncryptCookies.php
│ │ │ ├── RedirectIfAuthenticated.php
│ │ │ ├── TrimStrings.php
│ │ │ ├── TrustProxies.php
│ │ │ └── VerifyCsrfToken.php
│ │ └── Requests/
│ │ ├── StoreArticleMsgPost.php
│ │ ├── StoreBlogFriendsPost.php
│ │ └── StoreBlogSubscribePost.php
│ ├── Jobs/
│ │ ├── ProcessPodcast.php
│ │ └── SendReminderEmail.php
│ ├── Mail/
│ │ └── ArticleMail.php
│ ├── Models/
│ │ ├── BlogAbout.php
│ │ ├── BlogAboutArticle.php
│ │ ├── BlogAboutCardOne.php
│ │ ├── BlogAboutCardTwo.php
│ │ ├── BlogFriends.php
│ │ ├── BlogMessage.php
│ │ ├── BlogNav.php
│ │ ├── BlogNavArticle.php
│ │ ├── BlogNavMusic.php
│ │ ├── BlogNavPhoto.php
│ │ ├── BlogNavShareOne.php
│ │ ├── BlogNavShareTwo.php
│ │ ├── BlogNavVideo.php
│ │ ├── BlogNotice.php
│ │ ├── BlogSubscribe.php
│ │ ├── BlogTag.php
│ │ └── BlogUploadFile.php
│ ├── Observers/
│ │ ├── BlogAboutCardTwoObserver.php
│ │ ├── BlogConfigObserver.php
│ │ ├── BlogFriendsObserver.php
│ │ ├── BlogNavArticleObserver.php
│ │ ├── BlogNavMusicObserver.php
│ │ ├── BlogNavObserver.php
│ │ ├── BlogNavPhotoObserver.php
│ │ ├── BlogNavShareOneObserver.php
│ │ ├── BlogNavShareTwoObserver.php
│ │ └── BlogNavVideoObserver.php
│ ├── Providers/
│ │ ├── AppServiceProvider.php
│ │ ├── AuthServiceProvider.php
│ │ ├── BroadcastServiceProvider.php
│ │ ├── EventServiceProvider.php
│ │ └── RouteServiceProvider.php
│ └── User.php
├── artisan
├── bootstrap/
│ ├── app.php
│ ├── cache/
│ │ └── .gitignore
│ └── common.php
├── composer.json
├── config/
│ ├── admin.php
│ ├── aetherupload.php
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── database.php
│ ├── filesystems.php
│ ├── hashing.php
│ ├── logging.php
│ ├── mail.php
│ ├── queue.php
│ ├── services.php
│ ├── session.php
│ ├── static.php
│ └── view.php
├── database/
│ ├── .gitignore
│ ├── factories/
│ │ └── UserFactory.php
│ ├── migrations/
│ │ ├── 2019_08_24_022201_create_blog_nav_table.php
│ │ ├── 2019_08_24_025115_create_blog_nav_article_table.php
│ │ ├── 2019_08_24_025134_create_blog_nav_photo_table.php
│ │ ├── 2019_08_24_025151_create_blog_nav_music_table.php
│ │ ├── 2019_08_24_025209_create_blog_nav_video_table.php
│ │ ├── 2019_08_24_025230_create_blog_nav_share1_table.php
│ │ ├── 2019_08_24_025240_create_blog_nav_share2_table.php
│ │ ├── 2019_08_25_102118_create_blog_message_table.php
│ │ ├── 2019_08_25_131502_create_blog_friends_table.php
│ │ ├── 2019_08_26_021306_create_blog_apply_table.php
│ │ ├── 2019_08_26_021945_create_blog_about_table.php
│ │ ├── 2019_08_26_104822_create_blog_upload_files_table.php
│ │ ├── 2019_08_29_042857_create_blog_notices_table.php
│ │ ├── 2019_08_29_140729_create_blog_about_articles_table.php
│ │ ├── 2019_08_29_140755_create_blog_about_card_ones_table.php
│ │ ├── 2019_08_29_140807_create_blog_about_card_twos_table.php
│ │ ├── 2019_09_15_132631_create_blog_subscribes_table.php
│ │ ├── 2019_09_27_084944_create_blog_tags_table.php
│ │ ├── 2019_10_07_060955_create_jobs_table.php
│ │ └── 2019_10_07_071533_create_failed_jobs_table.php
│ └── seeds/
│ ├── BlogArticleTableSeeder.php
│ ├── BlogSubscribeSeeder.php
│ └── DatabaseSeeder.php
├── package.json
├── php
├── phpunit.xml
├── public/
│ ├── .htaccess
│ ├── css/
│ │ └── app.css
│ ├── index.php
│ ├── js/
│ │ └── app.js
│ ├── robots.txt
│ ├── static/
│ │ └── home/
│ │ ├── assets/
│ │ │ ├── clipboard/
│ │ │ │ └── clipboard.js
│ │ │ ├── cplayer/
│ │ │ │ └── cplayer.js
│ │ │ ├── css/
│ │ │ │ ├── editormd.css
│ │ │ │ ├── fonts-googleapis.css
│ │ │ │ ├── google-fonts/
│ │ │ │ │ └── fonts-googleapis.css
│ │ │ │ ├── my_settings.css
│ │ │ │ └── paper-kit.css
│ │ │ ├── demo/
│ │ │ │ └── demo.css
│ │ │ ├── fancybox/
│ │ │ │ └── fancybox-master/
│ │ │ │ ├── .github/
│ │ │ │ │ └── ISSUE_TEMPLATE/
│ │ │ │ │ ├── bug_report.md
│ │ │ │ │ ├── feature_request.md
│ │ │ │ │ └── question.md
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README.md
│ │ │ │ ├── bower.json
│ │ │ │ ├── dist/
│ │ │ │ │ ├── jquery.fancybox.css
│ │ │ │ │ └── jquery.fancybox.js
│ │ │ │ ├── docs/
│ │ │ │ │ └── index.html
│ │ │ │ ├── gulpfile.js
│ │ │ │ ├── package.json
│ │ │ │ └── src/
│ │ │ │ ├── css/
│ │ │ │ │ ├── core.css
│ │ │ │ │ ├── fullscreen.css
│ │ │ │ │ ├── share.css
│ │ │ │ │ ├── slideshow.css
│ │ │ │ │ └── thumbs.css
│ │ │ │ └── js/
│ │ │ │ ├── core.js
│ │ │ │ ├── fullscreen.js
│ │ │ │ ├── guestures.js
│ │ │ │ ├── hash.js
│ │ │ │ ├── media.js
│ │ │ │ ├── share.js
│ │ │ │ ├── slideshow.js
│ │ │ │ ├── thumbs.js
│ │ │ │ └── wheel.js
│ │ │ ├── fonts/
│ │ │ │ ├── font_back.css
│ │ │ │ └── font_css_back.css
│ │ │ ├── img/
│ │ │ │ └── img.lnk
│ │ │ ├── js/
│ │ │ │ ├── iconfont.js
│ │ │ │ ├── paper-kit.js
│ │ │ │ └── plugins/
│ │ │ │ ├── bootstrap-datepicker.js
│ │ │ │ └── bootstrap-switch.js
│ │ │ ├── layer/
│ │ │ │ ├── layer.js
│ │ │ │ ├── mobile/
│ │ │ │ │ ├── layer.js
│ │ │ │ │ └── need/
│ │ │ │ │ └── layer.css
│ │ │ │ └── theme/
│ │ │ │ └── default/
│ │ │ │ └── layer.css
│ │ │ ├── pjax/
│ │ │ │ └── jquery.pjax.js
│ │ │ ├── rotating-card/
│ │ │ │ ├── README.md
│ │ │ │ ├── css/
│ │ │ │ │ ├── bootstrap.css
│ │ │ │ │ ├── pe-icon-7-stroke.css
│ │ │ │ │ └── rotating-card.css
│ │ │ │ ├── index.html
│ │ │ │ ├── js/
│ │ │ │ │ └── jquery-1.10.2.js
│ │ │ │ └── rotating-card.html
│ │ │ └── scss/
│ │ │ ├── paper-kit/
│ │ │ │ ├── _alerts.scss
│ │ │ │ ├── _badges.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _cards.scss
│ │ │ │ ├── _carousel.scss
│ │ │ │ ├── _checkbox-radio.scss
│ │ │ │ ├── _dropdown.scss
│ │ │ │ ├── _examples.scss
│ │ │ │ ├── _footers.scss
│ │ │ │ ├── _headers.scss
│ │ │ │ ├── _icons.scss
│ │ │ │ ├── _images.scss
│ │ │ │ ├── _inputs.scss
│ │ │ │ ├── _labels.scss
│ │ │ │ ├── _misc.scss
│ │ │ │ ├── _mixins.scss
│ │ │ │ ├── _modal.scss
│ │ │ │ ├── _navbars.scss
│ │ │ │ ├── _nucleo-icons.scss
│ │ │ │ ├── _nucleo-outline.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _progress-bars.scss
│ │ │ │ ├── _responsive.scss
│ │ │ │ ├── _sections.scss
│ │ │ │ ├── _sidebar.scss
│ │ │ │ ├── _sliders.scss
│ │ │ │ ├── _social-buttons.scss
│ │ │ │ ├── _switch.scss
│ │ │ │ ├── _tabs-navs.scss
│ │ │ │ ├── _tags.scss
│ │ │ │ ├── _tooltips-and-popovers.scss
│ │ │ │ ├── _typography.scss
│ │ │ │ ├── _variables.scss
│ │ │ │ ├── cards/
│ │ │ │ │ ├── _card-plain.scss
│ │ │ │ │ ├── _card-profile.scss
│ │ │ │ │ └── _card-register.scss
│ │ │ │ ├── mixins/
│ │ │ │ │ ├── _alerts.scss
│ │ │ │ │ ├── _buttons.scss
│ │ │ │ │ ├── _inputs.scss
│ │ │ │ │ ├── _labels.scss
│ │ │ │ │ ├── _navbars.scss
│ │ │ │ │ ├── _popovers.scss
│ │ │ │ │ ├── _tabs.scss
│ │ │ │ │ ├── _transparency.scss
│ │ │ │ │ └── _vendor-prefixes.scss
│ │ │ │ └── plugins/
│ │ │ │ ├── _plugin-bootstrap-switch.scss
│ │ │ │ ├── _plugin-datepicker.scss
│ │ │ │ ├── _plugin-nouislider.scss
│ │ │ │ └── _plugin-perfect-scrollbar.scss
│ │ │ └── paper-kit.scss
│ │ ├── docs/
│ │ │ └── documentation.html
│ │ ├── editormd/
│ │ │ ├── .gitignore
│ │ │ ├── .jshintrc
│ │ │ ├── BUGS.md
│ │ │ ├── CHANGE.md
│ │ │ ├── Gulpfile.js
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── bower.json
│ │ │ ├── css/
│ │ │ │ ├── editormd.css
│ │ │ │ ├── editormd.logo.css
│ │ │ │ └── editormd.preview.css
│ │ │ ├── docs/
│ │ │ │ ├── editormd.js.html
│ │ │ │ ├── index.html
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── linenumber.js
│ │ │ │ │ └── prettify/
│ │ │ │ │ ├── Apache-License-2.0.txt
│ │ │ │ │ ├── lang-css.js
│ │ │ │ │ └── prettify.js
│ │ │ │ └── styles/
│ │ │ │ ├── jsdoc-default.css
│ │ │ │ ├── prettify-jsdoc.css
│ │ │ │ └── prettify-tomorrow.css
│ │ │ ├── editormd.amd.js
│ │ │ ├── editormd.js
│ │ │ ├── examples/
│ │ │ │ ├── @links.html
│ │ │ │ ├── auto-height.html
│ │ │ │ ├── change-mode.html
│ │ │ │ ├── code-fold.html
│ │ │ │ ├── css/
│ │ │ │ │ └── style.css
│ │ │ │ ├── custom-keyboard-shortcuts.html
│ │ │ │ ├── custom-toolbar.html
│ │ │ │ ├── define-plugin.html
│ │ │ │ ├── delay-renderer-preview.html
│ │ │ │ ├── dynamic-create-editormd.html
│ │ │ │ ├── emoji.html
│ │ │ │ ├── extends.html
│ │ │ │ ├── external-use.html
│ │ │ │ ├── flowchart.html
│ │ │ │ ├── form-get-value.html
│ │ │ │ ├── full.html
│ │ │ │ ├── goto-line.html
│ │ │ │ ├── html-preview-markdown-to-html-custom-toc-container.html
│ │ │ │ ├── html-preview-markdown-to-html.html
│ │ │ │ ├── html-tags-decode.html
│ │ │ │ ├── image-cross-domain-upload.html
│ │ │ │ ├── image-upload.html
│ │ │ │ ├── index.html
│ │ │ │ ├── js/
│ │ │ │ │ ├── sea.js
│ │ │ │ │ └── seajs-main.js
│ │ │ │ ├── katex.html
│ │ │ │ ├── manually-load-modules.html
│ │ │ │ ├── multi-editormd.html
│ │ │ │ ├── multi-languages.html
│ │ │ │ ├── on-off.html
│ │ │ │ ├── onchange.html
│ │ │ │ ├── onfullscreen.html
│ │ │ │ ├── onload.html
│ │ │ │ ├── onpreviewing-onpreviewed.html
│ │ │ │ ├── onresize.html
│ │ │ │ ├── onscroll-onpreviewscroll.html
│ │ │ │ ├── onwatch-onunwatch.html
│ │ │ │ ├── page-break.html
│ │ │ │ ├── php/
│ │ │ │ │ ├── cross-domain-upload.php
│ │ │ │ │ ├── editormd.uploader.class.php
│ │ │ │ │ ├── post.php
│ │ │ │ │ ├── upload.php
│ │ │ │ │ └── upload_callback.html
│ │ │ │ ├── readonly.html
│ │ │ │ ├── resettings.html
│ │ │ │ ├── search-replace.html
│ │ │ │ ├── sequence-diagram.html
│ │ │ │ ├── set-get-replace-selection.html
│ │ │ │ ├── simple.html
│ │ │ │ ├── sync-scrolling.html
│ │ │ │ ├── task-lists.html
│ │ │ │ ├── test.md
│ │ │ │ ├── themes.html
│ │ │ │ ├── toc.html
│ │ │ │ ├── toolbar-auto-fixed.html
│ │ │ │ ├── use-requirejs.html
│ │ │ │ ├── use-seajs.html
│ │ │ │ └── use-zepto.html
│ │ │ ├── fonts/
│ │ │ │ └── FontAwesome.otf
│ │ │ ├── languages/
│ │ │ │ ├── en.js
│ │ │ │ └── zh-tw.js
│ │ │ ├── lib/
│ │ │ │ └── codemirror/
│ │ │ │ ├── AUTHORS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── addon/
│ │ │ │ │ ├── comment/
│ │ │ │ │ │ ├── comment.js
│ │ │ │ │ │ └── continuecomment.js
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── dialog.css
│ │ │ │ │ │ └── dialog.js
│ │ │ │ │ ├── display/
│ │ │ │ │ │ ├── fullscreen.css
│ │ │ │ │ │ ├── fullscreen.js
│ │ │ │ │ │ ├── panel.js
│ │ │ │ │ │ ├── placeholder.js
│ │ │ │ │ │ └── rulers.js
│ │ │ │ │ ├── edit/
│ │ │ │ │ │ ├── closebrackets.js
│ │ │ │ │ │ ├── closetag.js
│ │ │ │ │ │ ├── continuelist.js
│ │ │ │ │ │ ├── matchbrackets.js
│ │ │ │ │ │ ├── matchtags.js
│ │ │ │ │ │ └── trailingspace.js
│ │ │ │ │ ├── fold/
│ │ │ │ │ │ ├── brace-fold.js
│ │ │ │ │ │ ├── comment-fold.js
│ │ │ │ │ │ ├── foldcode.js
│ │ │ │ │ │ ├── foldgutter.css
│ │ │ │ │ │ ├── foldgutter.js
│ │ │ │ │ │ ├── indent-fold.js
│ │ │ │ │ │ ├── markdown-fold.js
│ │ │ │ │ │ └── xml-fold.js
│ │ │ │ │ ├── hint/
│ │ │ │ │ │ ├── anyword-hint.js
│ │ │ │ │ │ ├── css-hint.js
│ │ │ │ │ │ ├── html-hint.js
│ │ │ │ │ │ ├── javascript-hint.js
│ │ │ │ │ │ ├── show-hint.css
│ │ │ │ │ │ ├── show-hint.js
│ │ │ │ │ │ ├── sql-hint.js
│ │ │ │ │ │ └── xml-hint.js
│ │ │ │ │ ├── lint/
│ │ │ │ │ │ ├── coffeescript-lint.js
│ │ │ │ │ │ ├── css-lint.js
│ │ │ │ │ │ ├── javascript-lint.js
│ │ │ │ │ │ ├── json-lint.js
│ │ │ │ │ │ ├── lint.css
│ │ │ │ │ │ ├── lint.js
│ │ │ │ │ │ └── yaml-lint.js
│ │ │ │ │ ├── merge/
│ │ │ │ │ │ ├── merge.css
│ │ │ │ │ │ └── merge.js
│ │ │ │ │ ├── mode/
│ │ │ │ │ │ ├── loadmode.js
│ │ │ │ │ │ ├── multiplex.js
│ │ │ │ │ │ ├── multiplex_test.js
│ │ │ │ │ │ ├── overlay.js
│ │ │ │ │ │ └── simple.js
│ │ │ │ │ ├── runmode/
│ │ │ │ │ │ ├── colorize.js
│ │ │ │ │ │ ├── runmode-standalone.js
│ │ │ │ │ │ ├── runmode.js
│ │ │ │ │ │ └── runmode.node.js
│ │ │ │ │ ├── scroll/
│ │ │ │ │ │ ├── annotatescrollbar.js
│ │ │ │ │ │ ├── scrollpastend.js
│ │ │ │ │ │ ├── simplescrollbars.css
│ │ │ │ │ │ └── simplescrollbars.js
│ │ │ │ │ ├── search/
│ │ │ │ │ │ ├── match-highlighter.js
│ │ │ │ │ │ ├── matchesonscrollbar.css
│ │ │ │ │ │ ├── matchesonscrollbar.js
│ │ │ │ │ │ ├── search.js
│ │ │ │ │ │ └── searchcursor.js
│ │ │ │ │ ├── selection/
│ │ │ │ │ │ ├── active-line.js
│ │ │ │ │ │ ├── mark-selection.js
│ │ │ │ │ │ └── selection-pointer.js
│ │ │ │ │ ├── tern/
│ │ │ │ │ │ ├── tern.css
│ │ │ │ │ │ ├── tern.js
│ │ │ │ │ │ └── worker.js
│ │ │ │ │ └── wrap/
│ │ │ │ │ └── hardwrap.js
│ │ │ │ ├── bower.json
│ │ │ │ ├── lib/
│ │ │ │ │ ├── codemirror.css
│ │ │ │ │ └── codemirror.js
│ │ │ │ ├── mode/
│ │ │ │ │ ├── apl/
│ │ │ │ │ │ ├── apl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── asterisk/
│ │ │ │ │ │ ├── asterisk.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── clike/
│ │ │ │ │ │ ├── clike.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── scala.html
│ │ │ │ │ ├── clojure/
│ │ │ │ │ │ ├── clojure.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── cobol/
│ │ │ │ │ │ ├── cobol.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── coffeescript/
│ │ │ │ │ │ ├── coffeescript.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── commonlisp/
│ │ │ │ │ │ ├── commonlisp.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── css/
│ │ │ │ │ │ ├── css.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── less.html
│ │ │ │ │ │ ├── less_test.js
│ │ │ │ │ │ ├── scss.html
│ │ │ │ │ │ ├── scss_test.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── cypher/
│ │ │ │ │ │ ├── cypher.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── d/
│ │ │ │ │ │ ├── d.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dart/
│ │ │ │ │ │ ├── dart.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── diff/
│ │ │ │ │ │ ├── diff.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── django/
│ │ │ │ │ │ ├── django.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dockerfile/
│ │ │ │ │ │ ├── dockerfile.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dtd/
│ │ │ │ │ │ ├── dtd.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dylan/
│ │ │ │ │ │ ├── dylan.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── ebnf/
│ │ │ │ │ │ ├── ebnf.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── ecl/
│ │ │ │ │ │ ├── ecl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── eiffel/
│ │ │ │ │ │ ├── eiffel.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── erlang/
│ │ │ │ │ │ ├── erlang.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── forth/
│ │ │ │ │ │ ├── forth.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── fortran/
│ │ │ │ │ │ ├── fortran.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gas/
│ │ │ │ │ │ ├── gas.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gfm/
│ │ │ │ │ │ ├── gfm.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── gherkin/
│ │ │ │ │ │ ├── gherkin.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── go/
│ │ │ │ │ │ ├── go.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── groovy/
│ │ │ │ │ │ ├── groovy.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── haml/
│ │ │ │ │ │ ├── haml.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── haskell/
│ │ │ │ │ │ ├── haskell.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── haxe/
│ │ │ │ │ │ ├── haxe.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── htmlembedded/
│ │ │ │ │ │ ├── htmlembedded.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── htmlmixed/
│ │ │ │ │ │ ├── htmlmixed.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── http.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── idl/
│ │ │ │ │ │ ├── idl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── jade/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── jade.js
│ │ │ │ │ ├── javascript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── javascript.js
│ │ │ │ │ │ ├── json-ld.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── typescript.html
│ │ │ │ │ ├── jinja2/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── jinja2.js
│ │ │ │ │ ├── julia/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── julia.js
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── kotlin.js
│ │ │ │ │ ├── livescript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── livescript.js
│ │ │ │ │ ├── lua/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── lua.js
│ │ │ │ │ ├── markdown/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── markdown.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── meta.js
│ │ │ │ │ ├── mirc/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── mirc.js
│ │ │ │ │ ├── mllike/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── mllike.js
│ │ │ │ │ ├── modelica/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── modelica.js
│ │ │ │ │ ├── nginx/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── nginx.js
│ │ │ │ │ ├── ntriples/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── ntriples.js
│ │ │ │ │ ├── octave/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── octave.js
│ │ │ │ │ ├── pascal/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pascal.js
│ │ │ │ │ ├── pegjs/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pegjs.js
│ │ │ │ │ ├── perl/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── perl.js
│ │ │ │ │ ├── php/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── php.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── pig/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pig.js
│ │ │ │ │ ├── properties/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── properties.js
│ │ │ │ │ ├── puppet/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── puppet.js
│ │ │ │ │ ├── python/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── python.js
│ │ │ │ │ ├── q/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── q.js
│ │ │ │ │ ├── r/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── r.js
│ │ │ │ │ ├── rpm/
│ │ │ │ │ │ ├── changes/
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rpm.js
│ │ │ │ │ ├── rst/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rst.js
│ │ │ │ │ ├── ruby/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── ruby.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── rust/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rust.js
│ │ │ │ │ ├── sass/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sass.js
│ │ │ │ │ ├── scheme/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── scheme.js
│ │ │ │ │ ├── shell/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── shell.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── sieve/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sieve.js
│ │ │ │ │ ├── slim/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── slim.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── smalltalk/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smalltalk.js
│ │ │ │ │ ├── smarty/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smarty.js
│ │ │ │ │ ├── smartymixed/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smartymixed.js
│ │ │ │ │ ├── solr/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── solr.js
│ │ │ │ │ ├── soy/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── soy.js
│ │ │ │ │ ├── sparql/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sparql.js
│ │ │ │ │ ├── spreadsheet/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── spreadsheet.js
│ │ │ │ │ ├── sql/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sql.js
│ │ │ │ │ ├── stex/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── stex.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── stylus/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── stylus.js
│ │ │ │ │ ├── tcl/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── tcl.js
│ │ │ │ │ ├── textile/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── textile.js
│ │ │ │ │ ├── tiddlywiki/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── tiddlywiki.css
│ │ │ │ │ │ └── tiddlywiki.js
│ │ │ │ │ ├── tiki/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── tiki.css
│ │ │ │ │ │ └── tiki.js
│ │ │ │ │ ├── toml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── toml.js
│ │ │ │ │ ├── tornado/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── tornado.js
│ │ │ │ │ ├── turtle/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── turtle.js
│ │ │ │ │ ├── vb/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── vb.js
│ │ │ │ │ ├── vbscript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── vbscript.js
│ │ │ │ │ ├── velocity/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── velocity.js
│ │ │ │ │ ├── verilog/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── verilog.js
│ │ │ │ │ ├── xml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── xml.js
│ │ │ │ │ ├── xquery/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── xquery.js
│ │ │ │ │ ├── yaml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── yaml.js
│ │ │ │ │ └── z80/
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── z80.js
│ │ │ │ ├── package.json
│ │ │ │ └── theme/
│ │ │ │ ├── 3024-day.css
│ │ │ │ ├── 3024-night.css
│ │ │ │ ├── ambiance-mobile.css
│ │ │ │ ├── ambiance.css
│ │ │ │ ├── base16-dark.css
│ │ │ │ ├── base16-light.css
│ │ │ │ ├── blackboard.css
│ │ │ │ ├── cobalt.css
│ │ │ │ ├── colorforth.css
│ │ │ │ ├── eclipse.css
│ │ │ │ ├── elegant.css
│ │ │ │ ├── erlang-dark.css
│ │ │ │ ├── lesser-dark.css
│ │ │ │ ├── mbo.css
│ │ │ │ ├── mdn-like.css
│ │ │ │ ├── midnight.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── neat.css
│ │ │ │ ├── neo.css
│ │ │ │ ├── night.css
│ │ │ │ ├── paraiso-dark.css
│ │ │ │ ├── paraiso-light.css
│ │ │ │ ├── pastel-on-dark.css
│ │ │ │ ├── rubyblue.css
│ │ │ │ ├── solarized.css
│ │ │ │ ├── the-matrix.css
│ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ ├── twilight.css
│ │ │ │ ├── vibrant-ink.css
│ │ │ │ ├── xq-dark.css
│ │ │ │ ├── xq-light.css
│ │ │ │ └── zenburn.css
│ │ │ ├── package.json
│ │ │ ├── plugins/
│ │ │ │ ├── code-block-dialog/
│ │ │ │ │ └── code-block-dialog.js
│ │ │ │ ├── emoji-dialog/
│ │ │ │ │ ├── emoji-dialog.js
│ │ │ │ │ └── emoji.json
│ │ │ │ ├── goto-line-dialog/
│ │ │ │ │ └── goto-line-dialog.js
│ │ │ │ ├── help-dialog/
│ │ │ │ │ ├── help-dialog.js
│ │ │ │ │ └── help.md
│ │ │ │ ├── html-entities-dialog/
│ │ │ │ │ ├── html-entities-dialog.js
│ │ │ │ │ └── html-entities.json
│ │ │ │ ├── image-dialog/
│ │ │ │ │ └── image-dialog.js
│ │ │ │ ├── link-dialog/
│ │ │ │ │ └── link-dialog.js
│ │ │ │ ├── plugin-template.js
│ │ │ │ ├── preformatted-text-dialog/
│ │ │ │ │ └── preformatted-text-dialog.js
│ │ │ │ ├── reference-link-dialog/
│ │ │ │ │ └── reference-link-dialog.js
│ │ │ │ ├── table-dialog/
│ │ │ │ │ └── table-dialog.js
│ │ │ │ └── test-plugin/
│ │ │ │ └── test-plugin.js
│ │ │ ├── scss/
│ │ │ │ ├── editormd.codemirror.scss
│ │ │ │ ├── editormd.dialog.scss
│ │ │ │ ├── editormd.form.scss
│ │ │ │ ├── editormd.grid.scss
│ │ │ │ ├── editormd.logo.scss
│ │ │ │ ├── editormd.menu.scss
│ │ │ │ ├── editormd.preview.scss
│ │ │ │ ├── editormd.preview.themes.scss
│ │ │ │ ├── editormd.scss
│ │ │ │ ├── editormd.tab.scss
│ │ │ │ ├── editormd.themes.scss
│ │ │ │ ├── font-awesome.scss
│ │ │ │ ├── github-markdown.scss
│ │ │ │ ├── lib/
│ │ │ │ │ ├── prefixes.scss
│ │ │ │ │ └── variables.scss
│ │ │ │ └── prettify.scss
│ │ │ ├── src/
│ │ │ │ └── editormd.js
│ │ │ └── tests/
│ │ │ ├── bootstrap-test.html
│ │ │ ├── codemirror-searchbox-test.html
│ │ │ ├── codemirror-test.html
│ │ │ ├── js/
│ │ │ │ └── searchbox.js
│ │ │ ├── katex-tests.html
│ │ │ ├── marked-@at-test.html
│ │ │ ├── marked-emoji-test.html
│ │ │ ├── marked-heading-link-test.html
│ │ │ ├── marked-todo-list-test.html
│ │ │ └── qunit/
│ │ │ ├── qunit-1.16.0.css
│ │ │ └── qunit-1.16.0.js
│ │ ├── examples/
│ │ │ ├── landing-page.html
│ │ │ ├── profile-page.html
│ │ │ └── register-page.html
│ │ ├── font-awesome4.7/
│ │ │ ├── HELP-US-OUT.txt
│ │ │ ├── css/
│ │ │ │ └── font-awesome.css
│ │ │ ├── fonts/
│ │ │ │ └── FontAwesome.otf
│ │ │ ├── less/
│ │ │ │ ├── animated.less
│ │ │ │ ├── bordered-pulled.less
│ │ │ │ ├── core.less
│ │ │ │ ├── fixed-width.less
│ │ │ │ ├── font-awesome.less
│ │ │ │ ├── icons.less
│ │ │ │ ├── larger.less
│ │ │ │ ├── list.less
│ │ │ │ ├── mixins.less
│ │ │ │ ├── path.less
│ │ │ │ ├── rotated-flipped.less
│ │ │ │ ├── screen-reader.less
│ │ │ │ ├── stacked.less
│ │ │ │ └── variables.less
│ │ │ └── scss/
│ │ │ ├── _animated.scss
│ │ │ ├── _bordered-pulled.scss
│ │ │ ├── _core.scss
│ │ │ ├── _fixed-width.scss
│ │ │ ├── _icons.scss
│ │ │ ├── _larger.scss
│ │ │ ├── _list.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _path.scss
│ │ │ ├── _rotated-flipped.scss
│ │ │ ├── _screen-reader.scss
│ │ │ ├── _stacked.scss
│ │ │ ├── _variables.scss
│ │ │ └── font-awesome.scss
│ │ ├── fontawesome-free-5.10.1-web/
│ │ │ ├── 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
│ │ ├── live2d/
│ │ │ ├── assets/
│ │ │ │ ├── live2d.js
│ │ │ │ ├── waifu-tips.js
│ │ │ │ ├── waifu-tips.json
│ │ │ │ └── waifu.css
│ │ │ └── demo.html
│ │ ├── live2d_api/
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── add/
│ │ │ │ └── index.php
│ │ │ ├── get/
│ │ │ │ └── index.php
│ │ │ ├── model/
│ │ │ │ ├── HyperdimensionNeptunia/
│ │ │ │ │ ├── blanc_classic/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── blanc_normal/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── blanc_swimwear/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── general/
│ │ │ │ │ │ ├── mtn/
│ │ │ │ │ │ │ ├── idle_00.mtn
│ │ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ │ └── idle_02.mtn
│ │ │ │ │ │ └── pose.json
│ │ │ │ │ ├── histoire/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── histoirenohover/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ ├── physics.json
│ │ │ │ │ │ └── textures.cache
│ │ │ │ │ ├── nepgear/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── nepgear_extra/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── nepgearswim/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── nepmaid/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── nepnep/
│ │ │ │ │ │ ├── general/
│ │ │ │ │ │ │ ├── exp/
│ │ │ │ │ │ │ │ ├── deformed.json
│ │ │ │ │ │ │ │ ├── enjoy.json
│ │ │ │ │ │ │ │ ├── happy.json
│ │ │ │ │ │ │ │ ├── kira.json
│ │ │ │ │ │ │ │ ├── normal.json
│ │ │ │ │ │ │ │ └── unhappy.json
│ │ │ │ │ │ │ ├── mtn/
│ │ │ │ │ │ │ │ ├── idle_00.mtn
│ │ │ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ │ │ ├── idle_02.mtn
│ │ │ │ │ │ │ │ ├── nep_slide_head_2.mtn
│ │ │ │ │ │ │ │ ├── nep_touch_belly_1.mtn
│ │ │ │ │ │ │ │ ├── nep_touch_belly_2.mtn
│ │ │ │ │ │ │ │ ├── nep_touch_boobs_1.mtn
│ │ │ │ │ │ │ │ ├── nep_touch_head_1.mtn
│ │ │ │ │ │ │ │ ├── refuse.mtn
│ │ │ │ │ │ │ │ ├── shake.mtn
│ │ │ │ │ │ │ │ ├── smile.mtn
│ │ │ │ │ │ │ │ └── tilt_head.mtn
│ │ │ │ │ │ │ └── snd/
│ │ │ │ │ │ │ ├── 001.ogg
│ │ │ │ │ │ │ ├── 007.ogg
│ │ │ │ │ │ │ ├── 013.ogg
│ │ │ │ │ │ │ ├── 014.ogg
│ │ │ │ │ │ │ └── 101.ogg
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── nepswim/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ ├── physics.json
│ │ │ │ │ │ └── textures.cache
│ │ │ │ │ ├── neptune_classic/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ └── model.moc
│ │ │ │ │ ├── neptune_santa/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ └── model.moc
│ │ │ │ │ ├── noir/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── noir_classic/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── noir_santa/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── noireswim/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── vert_classic/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ ├── vert_normal/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ └── physics.json
│ │ │ │ │ └── vert_swimwear/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── model.moc
│ │ │ │ │ └── physics.json
│ │ │ │ ├── KantaiCollection/
│ │ │ │ │ └── murakumo/
│ │ │ │ │ ├── expressions/
│ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ └── f04.exp.json
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── murakumo_idle_01.mtn
│ │ │ │ │ │ ├── murakumo_idle_02.mtn
│ │ │ │ │ │ ├── murakumo_idle_03.mtn
│ │ │ │ │ │ ├── murakumo_m_01.mtn
│ │ │ │ │ │ ├── murakumo_m_02.mtn
│ │ │ │ │ │ ├── murakumo_tap_bust_01.mtn
│ │ │ │ │ │ ├── murakumo_tap_bust_02.mtn
│ │ │ │ │ │ └── murakumo_tap_ear_01.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── Potion-Maker/
│ │ │ │ │ ├── Pio/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ ├── motions/
│ │ │ │ │ │ │ ├── Breath Dere1.mtn
│ │ │ │ │ │ │ ├── Breath Dere2.mtn
│ │ │ │ │ │ │ ├── Breath Dere3.mtn
│ │ │ │ │ │ │ ├── Breath1.mtn
│ │ │ │ │ │ │ ├── Breath2.mtn
│ │ │ │ │ │ │ ├── Breath3.mtn
│ │ │ │ │ │ │ ├── Breath4.mtn
│ │ │ │ │ │ │ ├── Breath5.mtn
│ │ │ │ │ │ │ ├── Breath6.mtn
│ │ │ │ │ │ │ ├── Breath7.mtn
│ │ │ │ │ │ │ ├── Breath8.mtn
│ │ │ │ │ │ │ ├── Fail.mtn
│ │ │ │ │ │ │ ├── Sleeping.mtn
│ │ │ │ │ │ │ ├── Success.mtn
│ │ │ │ │ │ │ ├── Sukebei1.mtn
│ │ │ │ │ │ │ ├── Sukebei2.mtn
│ │ │ │ │ │ │ ├── Sukebei3.mtn
│ │ │ │ │ │ │ ├── Touch Dere1.mtn
│ │ │ │ │ │ │ ├── Touch Dere2.mtn
│ │ │ │ │ │ │ ├── Touch Dere3.mtn
│ │ │ │ │ │ │ ├── Touch Dere4.mtn
│ │ │ │ │ │ │ ├── Touch Dere5.mtn
│ │ │ │ │ │ │ ├── Touch Dere6.mtn
│ │ │ │ │ │ │ ├── Touch1.mtn
│ │ │ │ │ │ │ ├── Touch2.mtn
│ │ │ │ │ │ │ ├── Touch3.mtn
│ │ │ │ │ │ │ ├── Touch4.mtn
│ │ │ │ │ │ │ ├── Touch5.mtn
│ │ │ │ │ │ │ ├── Touch6.mtn
│ │ │ │ │ │ │ └── WakeUp.mtn
│ │ │ │ │ │ └── textures.cache
│ │ │ │ │ └── Tia/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── Breath Dere1.mtn
│ │ │ │ │ │ ├── Breath Dere2.mtn
│ │ │ │ │ │ ├── Breath Dere3.mtn
│ │ │ │ │ │ ├── Breath1.mtn
│ │ │ │ │ │ ├── Breath2.mtn
│ │ │ │ │ │ ├── Breath3.mtn
│ │ │ │ │ │ ├── Breath4.mtn
│ │ │ │ │ │ ├── Breath5.mtn
│ │ │ │ │ │ ├── Breath6.mtn
│ │ │ │ │ │ ├── Breath7.mtn
│ │ │ │ │ │ ├── Breath8.mtn
│ │ │ │ │ │ ├── Breath9.mtn
│ │ │ │ │ │ ├── Fail.mtn
│ │ │ │ │ │ ├── Sleeping.mtn
│ │ │ │ │ │ ├── Success.mtn
│ │ │ │ │ │ ├── Sukebei1.mtn
│ │ │ │ │ │ ├── Sukebei2.mtn
│ │ │ │ │ │ ├── Sukebei3.mtn
│ │ │ │ │ │ ├── Touch Dere1.mtn
│ │ │ │ │ │ ├── Touch Dere2.mtn
│ │ │ │ │ │ ├── Touch Dere3.mtn
│ │ │ │ │ │ ├── Touch Dere4.mtn
│ │ │ │ │ │ ├── Touch Dere5.mtn
│ │ │ │ │ │ ├── Touch Dere6.mtn
│ │ │ │ │ │ ├── Touch1.mtn
│ │ │ │ │ │ ├── Touch2.mtn
│ │ │ │ │ │ ├── Touch3.mtn
│ │ │ │ │ │ ├── Touch4.mtn
│ │ │ │ │ │ ├── Touch5.mtn
│ │ │ │ │ │ ├── Touch6.mtn
│ │ │ │ │ │ └── WakeUp.mtn
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── ShizukuTalk/
│ │ │ │ │ ├── shizuku-48/
│ │ │ │ │ │ ├── expressions/
│ │ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ │ └── f04.exp.json
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ ├── motions/
│ │ │ │ │ │ │ ├── double_tap1.mtn
│ │ │ │ │ │ │ ├── double_tap2.mtn
│ │ │ │ │ │ │ ├── double_tap3.mtn
│ │ │ │ │ │ │ ├── double_tap4.mtn
│ │ │ │ │ │ │ ├── idl_00.mtn
│ │ │ │ │ │ │ ├── idl_01.mtn
│ │ │ │ │ │ │ ├── idl_02.mtn
│ │ │ │ │ │ │ ├── idl_03.mtn
│ │ │ │ │ │ │ ├── idl_04.mtn
│ │ │ │ │ │ │ ├── idl_05.mtn
│ │ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ │ ├── idle_02.mtn
│ │ │ │ │ │ │ ├── idle_03.mtn
│ │ │ │ │ │ │ ├── idle_04.mtn
│ │ │ │ │ │ │ ├── idle_05.mtn
│ │ │ │ │ │ │ ├── idle_06.mtn
│ │ │ │ │ │ │ ├── idle_07.mtn
│ │ │ │ │ │ │ ├── idle_08.mtn
│ │ │ │ │ │ │ ├── idle_09.mtn
│ │ │ │ │ │ │ ├── idle_A.mtn
│ │ │ │ │ │ │ ├── idle_A2.mtn
│ │ │ │ │ │ │ ├── idle_B.mtn
│ │ │ │ │ │ │ ├── idle_B2.mtn
│ │ │ │ │ │ │ ├── idle_C.mtn
│ │ │ │ │ │ │ ├── idle_C2.mtn
│ │ │ │ │ │ │ ├── idle_C2_copy.mtn
│ │ │ │ │ │ │ ├── kurakura1.mtn
│ │ │ │ │ │ │ ├── kurakura2.mtn
│ │ │ │ │ │ │ ├── kurakura3.mtn
│ │ │ │ │ │ │ ├── touch1.mtn
│ │ │ │ │ │ │ ├── touch2.mtn
│ │ │ │ │ │ │ ├── touch3.mtn
│ │ │ │ │ │ │ ├── touch4.mtn
│ │ │ │ │ │ │ ├── wait_01.mtn
│ │ │ │ │ │ │ ├── wait_02.mtn
│ │ │ │ │ │ │ ├── wait_03.mtn
│ │ │ │ │ │ │ ├── wait_04.mtn
│ │ │ │ │ │ │ └── wait_05.mtn
│ │ │ │ │ │ ├── physics.json
│ │ │ │ │ │ ├── pose.json
│ │ │ │ │ │ └── textures.cache
│ │ │ │ │ └── shizuku-pajama/
│ │ │ │ │ ├── expressions/
│ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ └── f04.exp.json
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── double_tap1.mtn
│ │ │ │ │ │ ├── double_tap2.mtn
│ │ │ │ │ │ ├── double_tap3.mtn
│ │ │ │ │ │ ├── double_tap4.mtn
│ │ │ │ │ │ ├── idl_00.mtn
│ │ │ │ │ │ ├── idl_01.mtn
│ │ │ │ │ │ ├── idl_02.mtn
│ │ │ │ │ │ ├── idl_03.mtn
│ │ │ │ │ │ ├── idl_04.mtn
│ │ │ │ │ │ ├── idl_05.mtn
│ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ ├── idle_02.mtn
│ │ │ │ │ │ ├── idle_03.mtn
│ │ │ │ │ │ ├── idle_04.mtn
│ │ │ │ │ │ ├── idle_05.mtn
│ │ │ │ │ │ ├── idle_06.mtn
│ │ │ │ │ │ ├── idle_07.mtn
│ │ │ │ │ │ ├── idle_08.mtn
│ │ │ │ │ │ ├── idle_09.mtn
│ │ │ │ │ │ ├── idle_A.mtn
│ │ │ │ │ │ ├── idle_A2.mtn
│ │ │ │ │ │ ├── idle_B.mtn
│ │ │ │ │ │ ├── idle_B2.mtn
│ │ │ │ │ │ ├── idle_C.mtn
│ │ │ │ │ │ ├── idle_C2.mtn
│ │ │ │ │ │ ├── idle_C2_copy.mtn
│ │ │ │ │ │ ├── kurakura1.mtn
│ │ │ │ │ │ ├── kurakura2.mtn
│ │ │ │ │ │ ├── kurakura3.mtn
│ │ │ │ │ │ ├── touch1.mtn
│ │ │ │ │ │ ├── touch2.mtn
│ │ │ │ │ │ ├── touch3.mtn
│ │ │ │ │ │ ├── touch4.mtn
│ │ │ │ │ │ ├── wait_01.mtn
│ │ │ │ │ │ ├── wait_02.mtn
│ │ │ │ │ │ ├── wait_03.mtn
│ │ │ │ │ │ ├── wait_04.mtn
│ │ │ │ │ │ └── wait_05.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ ├── pose.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── bilibili-live/
│ │ │ │ │ ├── 22/
│ │ │ │ │ │ ├── index.json
│ │ │ │ │ │ ├── model.moc
│ │ │ │ │ │ ├── motions/
│ │ │ │ │ │ │ ├── idle-01.mtn
│ │ │ │ │ │ │ ├── idle-02.mtn
│ │ │ │ │ │ │ ├── idle-03.mtn
│ │ │ │ │ │ │ ├── thanking.mtn
│ │ │ │ │ │ │ └── touch.mtn
│ │ │ │ │ │ ├── textures.cache
│ │ │ │ │ │ └── textures_order.json
│ │ │ │ │ └── 33/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── idle-01.mtn
│ │ │ │ │ │ ├── idle-02.mtn
│ │ │ │ │ │ ├── idle-03.mtn
│ │ │ │ │ │ ├── thanking.mtn
│ │ │ │ │ │ └── touch.mtn
│ │ │ │ │ ├── textures.cache
│ │ │ │ │ └── textures_order.json
│ │ │ │ └── live2d-add/
│ │ │ │ ├── blacktom/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── hijiki.moc
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── 00_idle.mtn
│ │ │ │ │ │ ├── 01.mtn
│ │ │ │ │ │ ├── 02.mtn
│ │ │ │ │ │ ├── 03.mtn
│ │ │ │ │ │ ├── 04.mtn
│ │ │ │ │ │ ├── 05.mtn
│ │ │ │ │ │ ├── 06.mtn
│ │ │ │ │ │ ├── 07.mtn
│ │ │ │ │ │ └── 08.mtn
│ │ │ │ │ ├── pose.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── epsilon/
│ │ │ │ │ ├── expressions/
│ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ ├── f04.exp.json
│ │ │ │ │ │ ├── f05.exp.json
│ │ │ │ │ │ ├── f06.exp.json
│ │ │ │ │ │ ├── f07.exp.json
│ │ │ │ │ │ └── f08.exp.json
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── Epsilon2.1.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── Epsilon2.1_idle_01.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_01.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_02.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_03.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_04.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_05.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_06.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_07.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_08.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_sp_01.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_sp_02.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_sp_03.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_sp_04.mtn
│ │ │ │ │ │ ├── Epsilon2.1_m_sp_05.mtn
│ │ │ │ │ │ └── Epsilon2.1_shake_01.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── haru/
│ │ │ │ │ ├── expressions/
│ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ ├── f04.exp.json
│ │ │ │ │ │ ├── f05.exp.json
│ │ │ │ │ │ ├── f06.exp.json
│ │ │ │ │ │ ├── f07.exp.json
│ │ │ │ │ │ └── f08.exp.json
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── haru02.moc
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── flickHead_00.mtn
│ │ │ │ │ │ ├── idle_00.mtn
│ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ ├── idle_02.mtn
│ │ │ │ │ │ ├── pinchIn_00.mtn
│ │ │ │ │ │ ├── pinchOut_00.mtn
│ │ │ │ │ │ ├── shake_00.mtn
│ │ │ │ │ │ ├── tapBody_00.mtn
│ │ │ │ │ │ ├── tapBody_01.mtn
│ │ │ │ │ │ ├── tapBody_02.mtn
│ │ │ │ │ │ ├── tapBody_03.mtn
│ │ │ │ │ │ ├── tapBody_04.mtn
│ │ │ │ │ │ ├── tapBody_05.mtn
│ │ │ │ │ │ ├── tapBody_06.mtn
│ │ │ │ │ │ ├── tapBody_07.mtn
│ │ │ │ │ │ ├── tapBody_08.mtn
│ │ │ │ │ │ └── tapBody_09.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ ├── pose.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── haru2/
│ │ │ │ │ ├── expressions/
│ │ │ │ │ │ ├── f01.exp.json
│ │ │ │ │ │ ├── f02.exp.json
│ │ │ │ │ │ ├── f03.exp.json
│ │ │ │ │ │ ├── f04.exp.json
│ │ │ │ │ │ ├── f05.exp.json
│ │ │ │ │ │ ├── f06.exp.json
│ │ │ │ │ │ ├── f07.exp.json
│ │ │ │ │ │ └── f08.exp.json
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── haru01.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── flickHead_00.mtn
│ │ │ │ │ │ ├── idle_00.mtn
│ │ │ │ │ │ ├── idle_01.mtn
│ │ │ │ │ │ ├── idle_02.mtn
│ │ │ │ │ │ ├── pinchIn_00.mtn
│ │ │ │ │ │ ├── pinchOut_00.mtn
│ │ │ │ │ │ ├── shake_00.mtn
│ │ │ │ │ │ ├── tapBody_00.mtn
│ │ │ │ │ │ ├── tapBody_01.mtn
│ │ │ │ │ │ ├── tapBody_02.mtn
│ │ │ │ │ │ ├── tapBody_03.mtn
│ │ │ │ │ │ ├── tapBody_04.mtn
│ │ │ │ │ │ ├── tapBody_05.mtn
│ │ │ │ │ │ ├── tapBody_06.mtn
│ │ │ │ │ │ ├── tapBody_07.mtn
│ │ │ │ │ │ ├── tapBody_08.mtn
│ │ │ │ │ │ └── tapBody_09.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ └── pose.json
│ │ │ │ ├── miku/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── miku.moc
│ │ │ │ │ ├── model.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── miku_idle_01.mtn
│ │ │ │ │ │ ├── miku_m_01.mtn
│ │ │ │ │ │ ├── miku_m_02.mtn
│ │ │ │ │ │ ├── miku_m_03.mtn
│ │ │ │ │ │ ├── miku_m_04.mtn
│ │ │ │ │ │ ├── miku_m_05.mtn
│ │ │ │ │ │ ├── miku_m_06.mtn
│ │ │ │ │ │ └── miku_shake_01.mtn
│ │ │ │ │ ├── physics.json
│ │ │ │ │ └── textures.cache
│ │ │ │ ├── rem/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── Live2D_remu01.mtn
│ │ │ │ │ │ ├── Live2D_remu02.mtn
│ │ │ │ │ │ ├── Live2D_remu03.mtn
│ │ │ │ │ │ ├── Live2D_remu04.mtn
│ │ │ │ │ │ ├── Live2D_remu05.mtn
│ │ │ │ │ │ ├── Live2D_remu06.mtn
│ │ │ │ │ │ ├── Live2D_remu07.mtn
│ │ │ │ │ │ ├── Live2D_remu08.mtn
│ │ │ │ │ │ ├── Live2D_remu09.mtn
│ │ │ │ │ │ ├── Live2D_remu10.mtn
│ │ │ │ │ │ ├── Live2D_remu11.mtn
│ │ │ │ │ │ ├── Live2D_remu12.mtn
│ │ │ │ │ │ ├── Live2D_remu13.mtn
│ │ │ │ │ │ ├── Live2D_remu14.mtn
│ │ │ │ │ │ ├── Live2D_remu15.mtn
│ │ │ │ │ │ ├── Live2D_remu16.mtn
│ │ │ │ │ │ ├── Live2D_remu17.mtn
│ │ │ │ │ │ ├── Live2D_remu18.mtn
│ │ │ │ │ │ ├── Live2D_remu19.mtn
│ │ │ │ │ │ ├── Live2D_remu20.mtn
│ │ │ │ │ │ ├── Live2D_remu21.mtn
│ │ │ │ │ │ ├── Live2D_remu22.mtn
│ │ │ │ │ │ ├── Live2D_remu23.mtn
│ │ │ │ │ │ ├── Live2D_remu24.mtn
│ │ │ │ │ │ ├── Live2D_remu25.mtn
│ │ │ │ │ │ ├── Live2D_remu26.mtn
│ │ │ │ │ │ ├── Live2D_remu27.mtn
│ │ │ │ │ │ ├── Live2D_remu28.mtn
│ │ │ │ │ │ ├── Live2D_remu29.mtn
│ │ │ │ │ │ ├── Live2D_remu30.mtn
│ │ │ │ │ │ ├── Live2D_remu31.mtn
│ │ │ │ │ │ ├── Live2D_remu32.mtn
│ │ │ │ │ │ ├── Live2D_remu33.mtn
│ │ │ │ │ │ ├── Live2D_remu34.mtn
│ │ │ │ │ │ └── Live2D_remu_idle.mtn
│ │ │ │ │ ├── remu.moc
│ │ │ │ │ ├── remu.physics.json
│ │ │ │ │ └── remu.pose.json
│ │ │ │ ├── tom/
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── moc/
│ │ │ │ │ │ └── tororo.moc
│ │ │ │ │ ├── motions/
│ │ │ │ │ │ ├── 00_idle.mtn
│ │ │ │ │ │ ├── 01.mtn
│ │ │ │ │ │ ├── 02.mtn
│ │ │ │ │ │ ├── 03.mtn
│ │ │ │ │ │ ├── 04.mtn
│ │ │ │ │ │ ├── 05.mtn
│ │ │ │ │ │ ├── 06.mtn
│ │ │ │ │ │ ├── 07.mtn
│ │ │ │ │ │ └── 08.mtn
│ │ │ │ │ └── tororo.pose.json
│ │ │ │ └── xiaoban/
│ │ │ │ ├── index.json
│ │ │ │ ├── model.moc
│ │ │ │ ├── motions/
│ │ │ │ │ ├── Anone_Synced.mtn
│ │ │ │ │ ├── Dance.mtn
│ │ │ │ │ ├── Idle.mtn
│ │ │ │ │ └── Nemui.mtn
│ │ │ │ └── textures.cache
│ │ │ ├── model_list.json
│ │ │ ├── rand/
│ │ │ │ └── index.php
│ │ │ ├── rand_textures/
│ │ │ │ └── index.php
│ │ │ ├── switch/
│ │ │ │ └── index.php
│ │ │ ├── switch_textures/
│ │ │ │ └── index.php
│ │ │ └── tools/
│ │ │ ├── modelList.php
│ │ │ ├── modelTextures.php
│ │ │ └── name-to-lower.php
│ │ ├── pjax/
│ │ │ └── jquery.pjax.js
│ │ ├── toc-helper/
│ │ │ ├── css/
│ │ │ │ └── toc-helper.css
│ │ │ └── js/
│ │ │ └── toc-helper.js
│ │ └── tool/
│ │ └── toc-helper-master/
│ │ ├── .babelrc.js
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── css/
│ │ │ └── toc-helper.css
│ │ ├── gulpfile.js
│ │ ├── js/
│ │ │ └── toc-helper.js
│ │ ├── lib/
│ │ │ ├── prism.css
│ │ │ └── prism.js
│ │ ├── package.json
│ │ ├── rollup.config.js
│ │ └── toc-helper.html
│ └── vendor/
│ ├── aetherupload/
│ │ └── js/
│ │ └── aetherupload.js
│ ├── laravel-admin/
│ │ ├── AdminLTE/
│ │ │ └── plugins/
│ │ │ ├── bootstrap-slider/
│ │ │ │ ├── bootstrap-slider.js
│ │ │ │ └── slider.css
│ │ │ ├── iCheck/
│ │ │ │ ├── all.css
│ │ │ │ ├── flat/
│ │ │ │ │ ├── _all.css
│ │ │ │ │ ├── aero.css
│ │ │ │ │ ├── blue.css
│ │ │ │ │ ├── flat.css
│ │ │ │ │ ├── green.css
│ │ │ │ │ ├── grey.css
│ │ │ │ │ ├── orange.css
│ │ │ │ │ ├── pink.css
│ │ │ │ │ ├── purple.css
│ │ │ │ │ ├── red.css
│ │ │ │ │ └── yellow.css
│ │ │ │ ├── futurico/
│ │ │ │ │ └── futurico.css
│ │ │ │ ├── line/
│ │ │ │ │ ├── _all.css
│ │ │ │ │ ├── aero.css
│ │ │ │ │ ├── blue.css
│ │ │ │ │ ├── green.css
│ │ │ │ │ ├── grey.css
│ │ │ │ │ ├── line.css
│ │ │ │ │ ├── orange.css
│ │ │ │ │ ├── pink.css
│ │ │ │ │ ├── purple.css
│ │ │ │ │ ├── red.css
│ │ │ │ │ └── yellow.css
│ │ │ │ ├── minimal/
│ │ │ │ │ ├── _all.css
│ │ │ │ │ ├── aero.css
│ │ │ │ │ ├── blue.css
│ │ │ │ │ ├── green.css
│ │ │ │ │ ├── grey.css
│ │ │ │ │ ├── minimal.css
│ │ │ │ │ ├── orange.css
│ │ │ │ │ ├── pink.css
│ │ │ │ │ ├── purple.css
│ │ │ │ │ ├── red.css
│ │ │ │ │ └── yellow.css
│ │ │ │ ├── polaris/
│ │ │ │ │ └── polaris.css
│ │ │ │ └── square/
│ │ │ │ ├── _all.css
│ │ │ │ ├── aero.css
│ │ │ │ ├── blue.css
│ │ │ │ ├── green.css
│ │ │ │ ├── grey.css
│ │ │ │ ├── orange.css
│ │ │ │ ├── pink.css
│ │ │ │ ├── purple.css
│ │ │ │ ├── red.css
│ │ │ │ ├── square.css
│ │ │ │ └── yellow.css
│ │ │ ├── input-mask/
│ │ │ │ └── phone-codes/
│ │ │ │ ├── phone-be.json
│ │ │ │ ├── phone-codes.json
│ │ │ │ └── readme.txt
│ │ │ ├── ionslider/
│ │ │ │ ├── ion.rangeSlider.css
│ │ │ │ ├── ion.rangeSlider.skinFlat.css
│ │ │ │ └── ion.rangeSlider.skinNice.css
│ │ │ └── select2/
│ │ │ ├── i18n/
│ │ │ │ ├── af.js
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── bn.js
│ │ │ │ ├── bs.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.js
│ │ │ │ ├── dsb.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hsb.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── hy.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── ka.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── ne.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── ps.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sl.js
│ │ │ │ ├── sq.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tk.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ ├── old_i18n/
│ │ │ │ ├── ar.js
│ │ │ │ ├── az.js
│ │ │ │ ├── bg.js
│ │ │ │ ├── ca.js
│ │ │ │ ├── cs.js
│ │ │ │ ├── da.js
│ │ │ │ ├── de.js
│ │ │ │ ├── el.js
│ │ │ │ ├── en.js
│ │ │ │ ├── es.js
│ │ │ │ ├── et.js
│ │ │ │ ├── eu.js
│ │ │ │ ├── fa.js
│ │ │ │ ├── fi.js
│ │ │ │ ├── fr.js
│ │ │ │ ├── gl.js
│ │ │ │ ├── he.js
│ │ │ │ ├── hi.js
│ │ │ │ ├── hr.js
│ │ │ │ ├── hu.js
│ │ │ │ ├── id.js
│ │ │ │ ├── is.js
│ │ │ │ ├── it.js
│ │ │ │ ├── ja.js
│ │ │ │ ├── km.js
│ │ │ │ ├── ko.js
│ │ │ │ ├── lt.js
│ │ │ │ ├── lv.js
│ │ │ │ ├── mk.js
│ │ │ │ ├── ms.js
│ │ │ │ ├── nb.js
│ │ │ │ ├── nl.js
│ │ │ │ ├── pl.js
│ │ │ │ ├── pt-BR.js
│ │ │ │ ├── pt.js
│ │ │ │ ├── ro.js
│ │ │ │ ├── ru.js
│ │ │ │ ├── sk.js
│ │ │ │ ├── sr-Cyrl.js
│ │ │ │ ├── sr.js
│ │ │ │ ├── sv.js
│ │ │ │ ├── th.js
│ │ │ │ ├── tr.js
│ │ │ │ ├── uk.js
│ │ │ │ ├── vi.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ └── select2.full.js
│ │ ├── bootstrap-fileinput/
│ │ │ └── js/
│ │ │ └── plugins/
│ │ │ ├── canvas-to-blob.js
│ │ │ ├── piexif.js
│ │ │ ├── purify.js
│ │ │ └── sortable.js
│ │ ├── bootstrap3-editable/
│ │ │ └── css/
│ │ │ └── bootstrap-editable.css
│ │ ├── font-awesome/
│ │ │ └── fonts/
│ │ │ └── FontAwesome.otf
│ │ ├── google-fonts/
│ │ │ └── fonts.css
│ │ ├── jquery-pjax/
│ │ │ └── jquery.pjax.js
│ │ ├── laravel-admin/
│ │ │ ├── laravel-admin.css
│ │ │ └── laravel-admin.js
│ │ ├── nestable/
│ │ │ ├── jquery.nestable.js
│ │ │ └── nestable.css
│ │ ├── nprogress/
│ │ │ ├── nprogress.css
│ │ │ └── nprogress.js
│ │ ├── number-input/
│ │ │ └── bootstrap-number-input.js
│ │ └── sweetalert2/
│ │ └── dist/
│ │ └── sweetalert2.css
│ ├── laravel-admin-ext/
│ │ ├── editormd/
│ │ │ └── editormd-1.5.0/
│ │ │ ├── css/
│ │ │ │ ├── editormd.css
│ │ │ │ ├── editormd.logo.css
│ │ │ │ └── editormd.preview.css
│ │ │ ├── fonts/
│ │ │ │ └── FontAwesome.otf
│ │ │ ├── js/
│ │ │ │ └── editormd.js
│ │ │ ├── languages/
│ │ │ │ ├── en.js
│ │ │ │ └── zh-tw.js
│ │ │ ├── lib/
│ │ │ │ └── codemirror/
│ │ │ │ ├── AUTHORS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── addon/
│ │ │ │ │ ├── comment/
│ │ │ │ │ │ ├── comment.js
│ │ │ │ │ │ └── continuecomment.js
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── dialog.css
│ │ │ │ │ │ └── dialog.js
│ │ │ │ │ ├── display/
│ │ │ │ │ │ ├── fullscreen.css
│ │ │ │ │ │ ├── fullscreen.js
│ │ │ │ │ │ ├── panel.js
│ │ │ │ │ │ ├── placeholder.js
│ │ │ │ │ │ └── rulers.js
│ │ │ │ │ ├── edit/
│ │ │ │ │ │ ├── closebrackets.js
│ │ │ │ │ │ ├── closetag.js
│ │ │ │ │ │ ├── continuelist.js
│ │ │ │ │ │ ├── matchbrackets.js
│ │ │ │ │ │ ├── matchtags.js
│ │ │ │ │ │ └── trailingspace.js
│ │ │ │ │ ├── fold/
│ │ │ │ │ │ ├── brace-fold.js
│ │ │ │ │ │ ├── comment-fold.js
│ │ │ │ │ │ ├── foldcode.js
│ │ │ │ │ │ ├── foldgutter.css
│ │ │ │ │ │ ├── foldgutter.js
│ │ │ │ │ │ ├── indent-fold.js
│ │ │ │ │ │ ├── markdown-fold.js
│ │ │ │ │ │ └── xml-fold.js
│ │ │ │ │ ├── hint/
│ │ │ │ │ │ ├── anyword-hint.js
│ │ │ │ │ │ ├── css-hint.js
│ │ │ │ │ │ ├── html-hint.js
│ │ │ │ │ │ ├── javascript-hint.js
│ │ │ │ │ │ ├── show-hint.css
│ │ │ │ │ │ ├── show-hint.js
│ │ │ │ │ │ ├── sql-hint.js
│ │ │ │ │ │ └── xml-hint.js
│ │ │ │ │ ├── lint/
│ │ │ │ │ │ ├── coffeescript-lint.js
│ │ │ │ │ │ ├── css-lint.js
│ │ │ │ │ │ ├── javascript-lint.js
│ │ │ │ │ │ ├── json-lint.js
│ │ │ │ │ │ ├── lint.css
│ │ │ │ │ │ ├── lint.js
│ │ │ │ │ │ └── yaml-lint.js
│ │ │ │ │ ├── merge/
│ │ │ │ │ │ ├── merge.css
│ │ │ │ │ │ └── merge.js
│ │ │ │ │ ├── mode/
│ │ │ │ │ │ ├── loadmode.js
│ │ │ │ │ │ ├── multiplex.js
│ │ │ │ │ │ ├── multiplex_test.js
│ │ │ │ │ │ ├── overlay.js
│ │ │ │ │ │ └── simple.js
│ │ │ │ │ ├── runmode/
│ │ │ │ │ │ ├── colorize.js
│ │ │ │ │ │ ├── runmode-standalone.js
│ │ │ │ │ │ ├── runmode.js
│ │ │ │ │ │ └── runmode.node.js
│ │ │ │ │ ├── scroll/
│ │ │ │ │ │ ├── annotatescrollbar.js
│ │ │ │ │ │ ├── scrollpastend.js
│ │ │ │ │ │ ├── simplescrollbars.css
│ │ │ │ │ │ └── simplescrollbars.js
│ │ │ │ │ ├── search/
│ │ │ │ │ │ ├── match-highlighter.js
│ │ │ │ │ │ ├── matchesonscrollbar.css
│ │ │ │ │ │ ├── matchesonscrollbar.js
│ │ │ │ │ │ ├── search.js
│ │ │ │ │ │ └── searchcursor.js
│ │ │ │ │ ├── selection/
│ │ │ │ │ │ ├── active-line.js
│ │ │ │ │ │ ├── mark-selection.js
│ │ │ │ │ │ └── selection-pointer.js
│ │ │ │ │ ├── tern/
│ │ │ │ │ │ ├── tern.css
│ │ │ │ │ │ ├── tern.js
│ │ │ │ │ │ └── worker.js
│ │ │ │ │ └── wrap/
│ │ │ │ │ └── hardwrap.js
│ │ │ │ ├── bower.json
│ │ │ │ ├── lib/
│ │ │ │ │ ├── codemirror.css
│ │ │ │ │ └── codemirror.js
│ │ │ │ ├── mode/
│ │ │ │ │ ├── apl/
│ │ │ │ │ │ ├── apl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── asterisk/
│ │ │ │ │ │ ├── asterisk.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── clike/
│ │ │ │ │ │ ├── clike.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── scala.html
│ │ │ │ │ ├── clojure/
│ │ │ │ │ │ ├── clojure.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── cobol/
│ │ │ │ │ │ ├── cobol.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── coffeescript/
│ │ │ │ │ │ ├── coffeescript.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── commonlisp/
│ │ │ │ │ │ ├── commonlisp.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── css/
│ │ │ │ │ │ ├── css.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── less.html
│ │ │ │ │ │ ├── less_test.js
│ │ │ │ │ │ ├── scss.html
│ │ │ │ │ │ ├── scss_test.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── cypher/
│ │ │ │ │ │ ├── cypher.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── d/
│ │ │ │ │ │ ├── d.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dart/
│ │ │ │ │ │ ├── dart.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── diff/
│ │ │ │ │ │ ├── diff.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── django/
│ │ │ │ │ │ ├── django.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dockerfile/
│ │ │ │ │ │ ├── dockerfile.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dtd/
│ │ │ │ │ │ ├── dtd.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── dylan/
│ │ │ │ │ │ ├── dylan.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── ebnf/
│ │ │ │ │ │ ├── ebnf.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── ecl/
│ │ │ │ │ │ ├── ecl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── eiffel/
│ │ │ │ │ │ ├── eiffel.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── erlang/
│ │ │ │ │ │ ├── erlang.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── forth/
│ │ │ │ │ │ ├── forth.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── fortran/
│ │ │ │ │ │ ├── fortran.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gas/
│ │ │ │ │ │ ├── gas.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── gfm/
│ │ │ │ │ │ ├── gfm.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── gherkin/
│ │ │ │ │ │ ├── gherkin.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── go/
│ │ │ │ │ │ ├── go.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── groovy/
│ │ │ │ │ │ ├── groovy.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── haml/
│ │ │ │ │ │ ├── haml.js
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── haskell/
│ │ │ │ │ │ ├── haskell.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── haxe/
│ │ │ │ │ │ ├── haxe.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── htmlembedded/
│ │ │ │ │ │ ├── htmlembedded.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── htmlmixed/
│ │ │ │ │ │ ├── htmlmixed.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── http.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── idl/
│ │ │ │ │ │ ├── idl.js
│ │ │ │ │ │ └── index.html
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── jade/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── jade.js
│ │ │ │ │ ├── javascript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── javascript.js
│ │ │ │ │ │ ├── json-ld.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── typescript.html
│ │ │ │ │ ├── jinja2/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── jinja2.js
│ │ │ │ │ ├── julia/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── julia.js
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── kotlin.js
│ │ │ │ │ ├── livescript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── livescript.js
│ │ │ │ │ ├── lua/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── lua.js
│ │ │ │ │ ├── markdown/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── markdown.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── meta.js
│ │ │ │ │ ├── mirc/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── mirc.js
│ │ │ │ │ ├── mllike/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── mllike.js
│ │ │ │ │ ├── modelica/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── modelica.js
│ │ │ │ │ ├── nginx/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── nginx.js
│ │ │ │ │ ├── ntriples/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── ntriples.js
│ │ │ │ │ ├── octave/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── octave.js
│ │ │ │ │ ├── pascal/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pascal.js
│ │ │ │ │ ├── pegjs/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pegjs.js
│ │ │ │ │ ├── perl/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── perl.js
│ │ │ │ │ ├── php/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── php.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── pig/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── pig.js
│ │ │ │ │ ├── properties/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── properties.js
│ │ │ │ │ ├── puppet/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── puppet.js
│ │ │ │ │ ├── python/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── python.js
│ │ │ │ │ ├── q/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── q.js
│ │ │ │ │ ├── r/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── r.js
│ │ │ │ │ ├── rpm/
│ │ │ │ │ │ ├── changes/
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rpm.js
│ │ │ │ │ ├── rst/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rst.js
│ │ │ │ │ ├── ruby/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── ruby.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── rust/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── rust.js
│ │ │ │ │ ├── sass/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sass.js
│ │ │ │ │ ├── scheme/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── scheme.js
│ │ │ │ │ ├── shell/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── shell.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── sieve/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sieve.js
│ │ │ │ │ ├── slim/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── slim.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── smalltalk/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smalltalk.js
│ │ │ │ │ ├── smarty/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smarty.js
│ │ │ │ │ ├── smartymixed/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── smartymixed.js
│ │ │ │ │ ├── solr/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── solr.js
│ │ │ │ │ ├── soy/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── soy.js
│ │ │ │ │ ├── sparql/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sparql.js
│ │ │ │ │ ├── spreadsheet/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── spreadsheet.js
│ │ │ │ │ ├── sql/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── sql.js
│ │ │ │ │ ├── stex/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── stex.js
│ │ │ │ │ │ └── test.js
│ │ │ │ │ ├── stylus/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── stylus.js
│ │ │ │ │ ├── tcl/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── tcl.js
│ │ │ │ │ ├── textile/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── textile.js
│ │ │ │ │ ├── tiddlywiki/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── tiddlywiki.css
│ │ │ │ │ │ └── tiddlywiki.js
│ │ │ │ │ ├── tiki/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── tiki.css
│ │ │ │ │ │ └── tiki.js
│ │ │ │ │ ├── toml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── toml.js
│ │ │ │ │ ├── tornado/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── tornado.js
│ │ │ │ │ ├── turtle/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── turtle.js
│ │ │ │ │ ├── vb/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── vb.js
│ │ │ │ │ ├── vbscript/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── vbscript.js
│ │ │ │ │ ├── velocity/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── velocity.js
│ │ │ │ │ ├── verilog/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── verilog.js
│ │ │ │ │ ├── xml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── xml.js
│ │ │ │ │ ├── xquery/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ ├── test.js
│ │ │ │ │ │ └── xquery.js
│ │ │ │ │ ├── yaml/
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── yaml.js
│ │ │ │ │ └── z80/
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── z80.js
│ │ │ │ ├── package.json
│ │ │ │ └── theme/
│ │ │ │ ├── 3024-day.css
│ │ │ │ ├── 3024-night.css
│ │ │ │ ├── ambiance-mobile.css
│ │ │ │ ├── ambiance.css
│ │ │ │ ├── base16-dark.css
│ │ │ │ ├── base16-light.css
│ │ │ │ ├── blackboard.css
│ │ │ │ ├── cobalt.css
│ │ │ │ ├── colorforth.css
│ │ │ │ ├── eclipse.css
│ │ │ │ ├── elegant.css
│ │ │ │ ├── erlang-dark.css
│ │ │ │ ├── lesser-dark.css
│ │ │ │ ├── mbo.css
│ │ │ │ ├── mdn-like.css
│ │ │ │ ├── midnight.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── neat.css
│ │ │ │ ├── neo.css
│ │ │ │ ├── night.css
│ │ │ │ ├── paraiso-dark.css
│ │ │ │ ├── paraiso-light.css
│ │ │ │ ├── pastel-on-dark.css
│ │ │ │ ├── rubyblue.css
│ │ │ │ ├── solarized.css
│ │ │ │ ├── the-matrix.css
│ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ ├── twilight.css
│ │ │ │ ├── vibrant-ink.css
│ │ │ │ ├── xq-dark.css
│ │ │ │ ├── xq-light.css
│ │ │ │ └── zenburn.css
│ │ │ ├── plugins/
│ │ │ │ ├── code-block-dialog/
│ │ │ │ │ └── code-block-dialog.js
│ │ │ │ ├── emoji-dialog/
│ │ │ │ │ ├── emoji-dialog.js
│ │ │ │ │ └── emoji.json
│ │ │ │ ├── goto-line-dialog/
│ │ │ │ │ └── goto-line-dialog.js
│ │ │ │ ├── help-dialog/
│ │ │ │ │ ├── help-dialog.js
│ │ │ │ │ └── help.md
│ │ │ │ ├── html-entities-dialog/
│ │ │ │ │ ├── html-entities-dialog.js
│ │ │ │ │ └── html-entities.json
│ │ │ │ ├── image-dialog/
│ │ │ │ │ └── image-dialog.js
│ │ │ │ ├── link-dialog/
│ │ │ │ │ └── link-dialog.js
│ │ │ │ ├── plugin-template.js
│ │ │ │ ├── preformatted-text-dialog/
│ │ │ │ │ └── preformatted-text-dialog.js
│ │ │ │ ├── reference-link-dialog/
│ │ │ │ │ └── reference-link-dialog.js
│ │ │ │ ├── table-dialog/
│ │ │ │ │ └── table-dialog.js
│ │ │ │ └── test-plugin/
│ │ │ │ └── test-plugin.js
│ │ │ └── scss/
│ │ │ ├── editormd.codemirror.scss
│ │ │ ├── editormd.dialog.scss
│ │ │ ├── editormd.form.scss
│ │ │ ├── editormd.grid.scss
│ │ │ ├── editormd.logo.scss
│ │ │ ├── editormd.menu.scss
│ │ │ ├── editormd.preview.scss
│ │ │ ├── editormd.preview.themes.scss
│ │ │ ├── editormd.scss
│ │ │ ├── editormd.tab.scss
│ │ │ ├── editormd.themes.scss
│ │ │ ├── font-awesome.scss
│ │ │ ├── github-markdown.scss
│ │ │ ├── lib/
│ │ │ │ ├── prefixes.scss
│ │ │ │ └── variables.scss
│ │ │ └── prettify.scss
│ │ ├── large-file-upload/
│ │ │ └── js/
│ │ │ ├── aetherupload.admin.js
│ │ │ └── bootstrap.file-input.js
│ │ ├── material-ui/
│ │ │ └── MaterialAdminLTE/
│ │ │ └── dist/
│ │ │ └── css/
│ │ │ └── custom.css
│ │ ├── row-table/
│ │ │ └── table.css
│ │ └── simditor/
│ │ └── simditor-2.3.25/
│ │ ├── scripts/
│ │ │ ├── dompurify.js
│ │ │ ├── hotkeys.js
│ │ │ ├── module.js
│ │ │ ├── simditor.js
│ │ │ └── uploader.js
│ │ └── styles/
│ │ └── simditor.css
│ └── wenxuanjun/
│ └── laravel-adminlte3/
│ ├── dist/
│ │ ├── css/
│ │ │ ├── adminlte.css
│ │ │ └── app.css
│ │ └── js/
│ │ ├── adminlte.js
│ │ ├── app.js
│ │ ├── demo.js
│ │ └── pages/
│ │ ├── dashboard.js
│ │ ├── dashboard2.js
│ │ └── dashboard3.js
│ └── plugins/
│ ├── bootstrap/
│ │ ├── css/
│ │ │ ├── bootstrap-grid.css
│ │ │ ├── bootstrap-reboot.css
│ │ │ └── bootstrap.css
│ │ └── js/
│ │ ├── bootstrap.bundle.js
│ │ └── bootstrap.js
│ ├── fastclick/
│ │ └── fastclick.js
│ ├── font-awesome/
│ │ ├── css/
│ │ │ └── font-awesome.css
│ │ └── fonts/
│ │ └── FontAwesome.otf
│ ├── glyphicons/
│ │ └── css/
│ │ └── glyphicons.css
│ ├── jquery/
│ │ ├── core.js
│ │ ├── jquery.js
│ │ └── jquery.slim.js
│ └── slimScroll/
│ └── jquery.slimscroll.js
├── resources/
│ ├── js/
│ │ ├── app.js
│ │ ├── bootstrap.js
│ │ └── components/
│ │ └── ExampleComponent.vue
│ ├── lang/
│ │ ├── ar/
│ │ │ └── admin.php
│ │ ├── az/
│ │ │ └── admin.php
│ │ ├── en/
│ │ │ ├── admin.php
│ │ │ ├── auth.php
│ │ │ ├── pagination.php
│ │ │ ├── passwords.php
│ │ │ └── validation.php
│ │ ├── es/
│ │ │ └── admin.php
│ │ ├── fa/
│ │ │ └── admin.php
│ │ ├── fr/
│ │ │ └── admin.php
│ │ ├── he/
│ │ │ └── admin.php
│ │ ├── id/
│ │ │ └── admin.php
│ │ ├── ja/
│ │ │ └── admin.php
│ │ ├── ko/
│ │ │ └── admin.php
│ │ ├── ms/
│ │ │ └── admin.php
│ │ ├── nl/
│ │ │ └── admin.php
│ │ ├── pl/
│ │ │ └── admin.php
│ │ ├── pt/
│ │ │ └── admin.php
│ │ ├── pt-BR/
│ │ │ └── admin.php
│ │ ├── ru/
│ │ │ └── admin.php
│ │ ├── tr/
│ │ │ └── admin.php
│ │ ├── uk/
│ │ │ └── admin.php
│ │ ├── vendor/
│ │ │ └── aetherupload/
│ │ │ ├── en/
│ │ │ │ └── messages.php
│ │ │ └── zh/
│ │ │ └── messages.php
│ │ ├── zh-CN/
│ │ │ ├── admin.php
│ │ │ ├── auth.php
│ │ │ ├── pagination.php
│ │ │ ├── passwords.php
│ │ │ └── validation.php
│ │ └── zh-TW/
│ │ └── admin.php
│ ├── sass/
│ │ ├── _variables.scss
│ │ └── app.scss
│ └── views/
│ ├── home/
│ │ ├── about/
│ │ │ └── index.blade.php
│ │ ├── article/
│ │ │ └── index.blade.php
│ │ ├── article_details/
│ │ │ └── index.blade.php
│ │ ├── card1/
│ │ │ └── index.blade.php
│ │ ├── card2/
│ │ │ └── index.blade.php
│ │ ├── friends/
│ │ │ └── index.blade.php
│ │ ├── index/
│ │ │ └── index.blade.php
│ │ ├── main.blade.php
│ │ ├── message/
│ │ │ └── index.blade.php
│ │ ├── music/
│ │ │ ├── index.blade.php
│ │ │ └── music_details.blade.php
│ │ ├── photo/
│ │ │ ├── index.blade.php
│ │ │ └── photo_details.blade.php
│ │ └── video/
│ │ ├── index.blade.php
│ │ └── video_details.blade.php
│ ├── mail/
│ │ └── index.blade.php
│ ├── vendor/
│ │ └── pagination/
│ │ ├── bootstrap-4.blade.php
│ │ ├── default.blade.php
│ │ ├── semantic-ui.blade.php
│ │ ├── simple-bootstrap-4.blade.php
│ │ └── simple-default.blade.php
│ └── welcome.blade.php
├── routes/
│ ├── api.php
│ ├── channels.php
│ ├── console.php
│ └── web.php
├── server.php
├── sql/
│ └── qqphp.sql
├── storage/
│ ├── app/
│ │ └── .gitignore
│ ├── framework/
│ │ ├── .gitignore
│ │ ├── cache/
│ │ │ └── .gitignore
│ │ ├── sessions/
│ │ │ └── .gitignore
│ │ ├── testing/
│ │ │ └── .gitignore
│ │ └── views/
│ │ └── .gitignore
│ └── logs/
│ └── .gitignore
├── tests/
│ ├── CreatesApplication.php
│ ├── Feature/
│ │ └── ExampleTest.php
│ ├── TestCase.php
│ └── Unit/
│ └── ExampleTest.php
├── vendor/
│ ├── autoload.php
│ ├── beyondcode/
│ │ └── laravel-dump-server/
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── config/
│ │ │ └── config.php
│ │ ├── helpers.php
│ │ └── src/
│ │ ├── DumpServerCommand.php
│ │ ├── DumpServerServiceProvider.php
│ │ ├── Dumper.php
│ │ └── RequestContextProvider.php
│ ├── composer/
│ │ ├── ClassLoader.php
│ │ ├── LICENSE
│ │ ├── autoload_classmap.php
│ │ ├── autoload_files.php
│ │ ├── autoload_namespaces.php
│ │ ├── autoload_psr4.php
│ │ ├── autoload_real.php
│ │ ├── autoload_static.php
│ │ └── installed.json
│ ├── doctrine/
│ │ ├── cache/
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── UPGRADE.md
│ │ │ ├── composer.json
│ │ │ ├── docs/
│ │ │ │ └── en/
│ │ │ │ └── index.rst
│ │ │ └── lib/
│ │ │ └── Doctrine/
│ │ │ └── Common/
│ │ │ └── Cache/
│ │ │ ├── ApcCache.php
│ │ │ ├── ApcuCache.php
│ │ │ ├── ArrayCache.php
│ │ │ ├── Cache.php
│ │ │ ├── CacheProvider.php
│ │ │ ├── ChainCache.php
│ │ │ ├── ClearableCache.php
│ │ │ ├── CouchbaseBucketCache.php
│ │ │ ├── CouchbaseCache.php
│ │ │ ├── ExtMongoDBCache.php
│ │ │ ├── FileCache.php
│ │ │ ├── FilesystemCache.php
│ │ │ ├── FlushableCache.php
│ │ │ ├── LegacyMongoDBCache.php
│ │ │ ├── MemcacheCache.php
│ │ │ ├── MemcachedCache.php
│ │ │ ├── MongoDBCache.php
│ │ │ ├── MultiDeleteCache.php
│ │ │ ├── MultiGetCache.php
│ │ │ ├── MultiOperationCache.php
│ │ │ ├── MultiPutCache.php
│ │ │ ├── PhpFileCache.php
│ │ │ ├── PredisCache.php
│ │ │ ├── RedisCache.php
│ │ │ ├── RiakCache.php
│ │ │ ├── SQLite3Cache.php
│ │ │ ├── Version.php
│ │ │ ├── VoidCache.php
│ │ │ ├── WinCacheCache.php
│ │ │ ├── XcacheCache.php
│ │ │ └── ZendDataCache.php
│ │ ├── dbal/
│ │ │ ├── .doctrine-project.json
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── SECURITY.md
│ │ │ ├── UPGRADE.md
│ │ │ ├── bin/
│ │ │ │ ├── doctrine-dbal
│ │ │ │ └── doctrine-dbal.php
│ │ │ ├── composer.json
│ │ │ └── lib/
│ │ │ └── Doctrine/
│ │ │ └── DBAL/
│ │ │ ├── Cache/
│ │ │ │ ├── ArrayStatement.php
│ │ │ │ ├── CacheException.php
│ │ │ │ ├── QueryCacheProfile.php
│ │ │ │ └── ResultCacheStatement.php
│ │ │ ├── ColumnCase.php
│ │ │ ├── Configuration.php
│ │ │ ├── Connection.php
│ │ │ ├── ConnectionException.php
│ │ │ ├── Connections/
│ │ │ │ └── MasterSlaveConnection.php
│ │ │ ├── DBALException.php
│ │ │ ├── Driver/
│ │ │ │ ├── AbstractDB2Driver.php
│ │ │ │ ├── AbstractDriverException.php
│ │ │ │ ├── AbstractMySQLDriver.php
│ │ │ │ ├── AbstractOracleDriver/
│ │ │ │ │ └── EasyConnectString.php
│ │ │ │ ├── AbstractOracleDriver.php
│ │ │ │ ├── AbstractPostgreSQLDriver.php
│ │ │ │ ├── AbstractSQLAnywhereDriver.php
│ │ │ │ ├── AbstractSQLServerDriver.php
│ │ │ │ ├── AbstractSQLiteDriver.php
│ │ │ │ ├── Connection.php
│ │ │ │ ├── DriverException.php
│ │ │ │ ├── DrizzlePDOMySql/
│ │ │ │ │ ├── Connection.php
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── ExceptionConverterDriver.php
│ │ │ │ ├── IBMDB2/
│ │ │ │ │ ├── DB2Connection.php
│ │ │ │ │ ├── DB2Driver.php
│ │ │ │ │ ├── DB2Exception.php
│ │ │ │ │ └── DB2Statement.php
│ │ │ │ ├── Mysqli/
│ │ │ │ │ ├── Driver.php
│ │ │ │ │ ├── MysqliConnection.php
│ │ │ │ │ ├── MysqliException.php
│ │ │ │ │ └── MysqliStatement.php
│ │ │ │ ├── OCI8/
│ │ │ │ │ ├── Driver.php
│ │ │ │ │ ├── OCI8Connection.php
│ │ │ │ │ ├── OCI8Exception.php
│ │ │ │ │ └── OCI8Statement.php
│ │ │ │ ├── PDOConnection.php
│ │ │ │ ├── PDOException.php
│ │ │ │ ├── PDOIbm/
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── PDOMySql/
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── PDOOracle/
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── PDOPgSql/
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── PDOSqlite/
│ │ │ │ │ └── Driver.php
│ │ │ │ ├── PDOSqlsrv/
│ │ │ │ │ ├── Connection.php
│ │ │ │ │ ├── Driver.php
│ │ │ │ │ └── Statement.php
│ │ │ │ ├── PDOStatement.php
│ │ │ │ ├── PingableConnection.php
│ │ │ │ ├── ResultStatement.php
│ │ │ │ ├── SQLAnywhere/
│ │ │ │ │ ├── Driver.php
│ │ │ │ │ ├── SQLAnywhereConnection.php
│ │ │ │ │ ├── SQLAnywhereException.php
│ │ │ │ │ └── SQLAnywhereStatement.php
│ │ │ │ ├── SQLSrv/
│ │ │ │ │ ├── Driver.php
│ │ │ │ │ ├── LastInsertId.php
│ │ │ │ │ ├── SQLSrvConnection.php
│ │ │ │ │ ├── SQLSrvException.php
│ │ │ │ │ └── SQLSrvStatement.php
│ │ │ │ ├── ServerInfoAwareConnection.php
│ │ │ │ ├── Statement.php
│ │ │ │ └── StatementIterator.php
│ │ │ ├── Driver.php
│ │ │ ├── DriverManager.php
│ │ │ ├── Event/
│ │ │ │ ├── ConnectionEventArgs.php
│ │ │ │ ├── Listeners/
│ │ │ │ │ ├── MysqlSessionInit.php
│ │ │ │ │ ├── OracleSessionInit.php
│ │ │ │ │ └── SQLSessionInit.php
│ │ │ │ ├── SchemaAlterTableAddColumnEventArgs.php
│ │ │ │ ├── SchemaAlterTableChangeColumnEventArgs.php
│ │ │ │ ├── SchemaAlterTableEventArgs.php
│ │ │ │ ├── SchemaAlterTableRemoveColumnEventArgs.php
│ │ │ │ ├── SchemaAlterTableRenameColumnEventArgs.php
│ │ │ │ ├── SchemaColumnDefinitionEventArgs.php
│ │ │ │ ├── SchemaCreateTableColumnEventArgs.php
│ │ │ │ ├── SchemaCreateTableEventArgs.php
│ │ │ │ ├── SchemaDropTableEventArgs.php
│ │ │ │ ├── SchemaEventArgs.php
│ │ │ │ └── SchemaIndexDefinitionEventArgs.php
│ │ │ ├── Events.php
│ │ │ ├── Exception/
│ │ │ │ ├── ConnectionException.php
│ │ │ │ ├── ConstraintViolationException.php
│ │ │ │ ├── DatabaseObjectExistsException.php
│ │ │ │ ├── DatabaseObjectNotFoundException.php
│ │ │ │ ├── DeadlockException.php
│ │ │ │ ├── DriverException.php
│ │ │ │ ├── ForeignKeyConstraintViolationException.php
│ │ │ │ ├── InvalidArgumentException.php
│ │ │ │ ├── InvalidFieldNameException.php
│ │ │ │ ├── LockWaitTimeoutException.php
│ │ │ │ ├── NonUniqueFieldNameException.php
│ │ │ │ ├── NotNullConstraintViolationException.php
│ │ │ │ ├── ReadOnlyException.php
│ │ │ │ ├── RetryableException.php
│ │ │ │ ├── ServerException.php
│ │ │ │ ├── SyntaxErrorException.php
│ │ │ │ ├── TableExistsException.php
│ │ │ │ ├── TableNotFoundException.php
│ │ │ │ └── UniqueConstraintViolationException.php
│ │ │ ├── FetchMode.php
│ │ │ ├── Id/
│ │ │ │ ├── TableGenerator.php
│ │ │ │ └── TableGeneratorSchemaVisitor.php
│ │ │ ├── LockMode.php
│ │ │ ├── Logging/
│ │ │ │ ├── DebugStack.php
│ │ │ │ ├── EchoSQLLogger.php
│ │ │ │ ├── LoggerChain.php
│ │ │ │ └── SQLLogger.php
│ │ │ ├── ParameterType.php
│ │ │ ├── Platforms/
│ │ │ │ ├── AbstractPlatform.php
│ │ │ │ ├── DB2Platform.php
│ │ │ │ ├── DateIntervalUnit.php
│ │ │ │ ├── DrizzlePlatform.php
│ │ │ │ ├── Keywords/
│ │ │ │ │ ├── DB2Keywords.php
│ │ │ │ │ ├── DrizzleKeywords.php
│ │ │ │ │ ├── KeywordList.php
│ │ │ │ │ ├── MariaDb102Keywords.php
│ │ │ │ │ ├── MsSQLKeywords.php
│ │ │ │ │ ├── MySQL57Keywords.php
│ │ │ │ │ ├── MySQL80Keywords.php
│ │ │ │ │ ├── MySQLKeywords.php
│ │ │ │ │ ├── OracleKeywords.php
│ │ │ │ │ ├── PostgreSQL100Keywords.php
│ │ │ │ │ ├── PostgreSQL91Keywords.php
│ │ │ │ │ ├── PostgreSQL92Keywords.php
│ │ │ │ │ ├── PostgreSQL94Keywords.php
│ │ │ │ │ ├── PostgreSQLKeywords.php
│ │ │ │ │ ├── ReservedKeywordsValidator.php
│ │ │ │ │ ├── SQLAnywhere11Keywords.php
│ │ │ │ │ ├── SQLAnywhere12Keywords.php
│ │ │ │ │ ├── SQLAnywhere16Keywords.php
│ │ │ │ │ ├── SQLAnywhereKeywords.php
│ │ │ │ │ ├── SQLServer2005Keywords.php
│ │ │ │ │ ├── SQLServer2008Keywords.php
│ │ │ │ │ ├── SQLServer2012Keywords.php
│ │ │ │ │ ├── SQLServerKeywords.php
│ │ │ │ │ └── SQLiteKeywords.php
│ │ │ │ ├── MariaDb1027Platform.php
│ │ │ │ ├── MySQL57Platform.php
│ │ │ │ ├── MySQL80Platform.php
│ │ │ │ ├── MySqlPlatform.php
│ │ │ │ ├── OraclePlatform.php
│ │ │ │ ├── PostgreSQL100Platform.php
│ │ │ │ ├── PostgreSQL91Platform.php
│ │ │ │ ├── PostgreSQL92Platform.php
│ │ │ │ ├── PostgreSQL94Platform.php
│ │ │ │ ├── PostgreSqlPlatform.php
│ │ │ │ ├── SQLAnywhere11Platform.php
│ │ │ │ ├── SQLAnywhere12Platform.php
│ │ │ │ ├── SQLAnywhere16Platform.php
│ │ │ │ ├── SQLAnywherePlatform.php
│ │ │ │ ├── SQLAzurePlatform.php
│ │ │ │ ├── SQLServer2005Platform.php
│ │ │ │ ├── SQLServer2008Platform.php
│ │ │ │ ├── SQLServer2012Platform.php
│ │ │ │ ├── SQLServerPlatform.php
│ │ │ │ ├── SqlitePlatform.php
│ │ │ │ └── TrimMode.php
│ │ │ ├── Portability/
│ │ │ │ ├── Connection.php
│ │ │ │ └── Statement.php
│ │ │ ├── Query/
│ │ │ │ ├── Expression/
│ │ │ │ │ ├── CompositeExpression.php
│ │ │ │ │ └── ExpressionBuilder.php
│ │ │ │ ├── QueryBuilder.php
│ │ │ │ └── QueryException.php
│ │ │ ├── SQLParserUtils.php
│ │ │ ├── SQLParserUtilsException.php
│ │ │ ├── Schema/
│ │ │ │ ├── AbstractAsset.php
│ │ │ │ ├── AbstractSchemaManager.php
│ │ │ │ ├── Column.php
│ │ │ │ ├── ColumnDiff.php
│ │ │ │ ├── Comparator.php
│ │ │ │ ├── Constraint.php
│ │ │ │ ├── DB2SchemaManager.php
│ │ │ │ ├── DrizzleSchemaManager.php
│ │ │ │ ├── ForeignKeyConstraint.php
│ │ │ │ ├── Identifier.php
│ │ │ │ ├── Index.php
│ │ │ │ ├── MySqlSchemaManager.php
│ │ │ │ ├── OracleSchemaManager.php
│ │ │ │ ├── PostgreSqlSchemaManager.php
│ │ │ │ ├── SQLAnywhereSchemaManager.php
│ │ │ │ ├── SQLServerSchemaManager.php
│ │ │ │ ├── Schema.php
│ │ │ │ ├── SchemaConfig.php
│ │ │ │ ├── SchemaDiff.php
│ │ │ │ ├── SchemaException.php
│ │ │ │ ├── Sequence.php
│ │ │ │ ├── SqliteSchemaManager.php
│ │ │ │ ├── Synchronizer/
│ │ │ │ │ ├── AbstractSchemaSynchronizer.php
│ │ │ │ │ ├── SchemaSynchronizer.php
│ │ │ │ │ └── SingleDatabaseSynchronizer.php
│ │ │ │ ├── Table.php
│ │ │ │ ├── TableDiff.php
│ │ │ │ ├── View.php
│ │ │ │ └── Visitor/
│ │ │ │ ├── AbstractVisitor.php
│ │ │ │ ├── CreateSchemaSqlCollector.php
│ │ │ │ ├── DropSchemaSqlCollector.php
│ │ │ │ ├── Graphviz.php
│ │ │ │ ├── NamespaceVisitor.php
│ │ │ │ ├── RemoveNamespacedAssets.php
│ │ │ │ ├── SchemaDiffVisitor.php
│ │ │ │ └── Visitor.php
│ │ │ ├── Sharding/
│ │ │ │ ├── PoolingShardConnection.php
│ │ │ │ ├── PoolingShardManager.php
│ │ │ │ ├── SQLAzure/
│ │ │ │ │ ├── SQLAzureFederationsSynchronizer.php
│ │ │ │ │ ├── SQLAzureShardManager.php
│ │ │ │ │ └── Schema/
│ │ │ │ │ └── MultiTenantVisitor.php
│ │ │ │ ├── ShardChoser/
│ │ │ │ │ ├── MultiTenantShardChoser.php
│ │ │ │ │ └── ShardChoser.php
│ │ │ │ ├── ShardManager.php
│ │ │ │ └── ShardingException.php
│ │ │ ├── Statement.php
│ │ │ ├── Tools/
│ │ │ │ ├── Console/
│ │ │ │ │ ├── Command/
│ │ │ │ │ │ ├── ImportCommand.php
│ │ │ │ │ │ ├── ReservedWordsCommand.php
│ │ │ │ │ │ └── RunSqlCommand.php
│ │ │ │ │ ├── ConsoleRunner.php
│ │ │ │ │ └── Helper/
│ │ │ │ │ └── ConnectionHelper.php
│ │ │ │ └── Dumper.php
│ │ │ ├── TransactionIsolationLevel.php
│ │ │ ├── Types/
│ │ │ │ ├── ArrayType.php
│ │ │ │ ├── BigIntType.php
│ │ │ │ ├── BinaryType.php
│ │ │ │ ├── BlobType.php
│ │ │ │ ├── BooleanType.php
│ │ │ │ ├── ConversionException.php
│ │ │ │ ├── DateImmutableType.php
│ │ │ │ ├── DateIntervalType.php
│ │ │ │ ├── DateTimeImmutableType.php
│ │ │ │ ├── DateTimeType.php
│ │ │ │ ├── DateTimeTzImmutableType.php
│ │ │ │ ├── DateTimeTzType.php
│ │ │ │ ├── DateType.php
│ │ │ │ ├── DecimalType.php
│ │ │ │ ├── FloatType.php
│ │ │ │ ├── GuidType.php
│ │ │ │ ├── IntegerType.php
│ │ │ │ ├── JsonArrayType.php
│ │ │ │ ├── JsonType.php
│ │ │ │ ├── ObjectType.php
│ │ │ │ ├── PhpDateTimeMappingType.php
│ │ │ │ ├── PhpIntegerMappingType.php
│ │ │ │ ├── SimpleArrayType.php
│ │ │ │ ├── SmallIntType.php
│ │ │ │ ├── StringType.php
│ │ │ │ ├── TextType.php
│ │ │ │ ├── TimeImmutableType.php
│ │ │ │ ├── TimeType.php
│ │ │ │ ├── Type.php
│ │ │ │ ├── VarDateTimeImmutableType.php
│ │ │ │ └── VarDateTimeType.php
│ │ │ ├── Version.php
│ │ │ └── VersionAwarePlatformDriver.php
│ │ ├── event-manager/
│ │ │ ├── .scrutinizer.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── composer.json
│ │ │ ├── docs/
│ │ │ │ └── en/
│ │ │ │ ├── index.rst
│ │ │ │ ├── reference/
│ │ │ │ │ └── index.rst
│ │ │ │ └── sidebar.rst
│ │ │ └── lib/
│ │ │ └── Doctrine/
│ │ │ └── Common/
│ │ │ ├── EventArgs.php
│ │ │ ├── EventManager.php
│ │ │ └── EventSubscriber.php
│ │ ├── inflector/
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── composer.json
│ │ │ └── lib/
│ │ │ └── Doctrine/
│ │ │ └── Common/
│ │ │ └── Inflector/
│ │ │ └── Inflector.php
│ │ └── instantiator/
│ │ ├── .doctrine-project.json
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── docs/
│ │ │ └── en/
│ │ │ ├── index.rst
│ │ │ └── sidebar.rst
│ │ ├── phpbench.json
│ │ ├── phpcs.xml.dist
│ │ ├── phpstan.neon.dist
│ │ └── src/
│ │ └── Doctrine/
│ │ └── Instantiator/
│ │ ├── Exception/
│ │ │ ├── ExceptionInterface.php
│ │ │ ├── InvalidArgumentException.php
│ │ │ └── UnexpectedValueException.php
│ │ ├── Instantiator.php
│ │ └── InstantiatorInterface.php
│ ├── dragonmantank/
│ │ └── cron-expression/
│ │ ├── .editorconfig
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── src/
│ │ │ └── Cron/
│ │ │ ├── AbstractField.php
│ │ │ ├── CronExpression.php
│ │ │ ├── DayOfMonthField.php
│ │ │ ├── DayOfWeekField.php
│ │ │ ├── FieldFactory.php
│ │ │ ├── FieldInterface.php
│ │ │ ├── HoursField.php
│ │ │ ├── MinutesField.php
│ │ │ └── MonthField.php
│ │ └── tests/
│ │ └── Cron/
│ │ ├── AbstractFieldTest.php
│ │ ├── CronExpressionTest.php
│ │ ├── DayOfMonthFieldTest.php
│ │ ├── DayOfWeekFieldTest.php
│ │ ├── FieldFactoryTest.php
│ │ ├── HoursFieldTest.php
│ │ ├── MinutesFieldTest.php
│ │ └── MonthFieldTest.php
│ ├── egulias/
│ │ └── email-validator/
│ │ ├── EmailValidator/
│ │ │ ├── EmailLexer.php
│ │ │ ├── EmailParser.php
│ │ │ ├── EmailValidator.php
│ │ │ ├── Exception/
│ │ │ │ ├── AtextAfterCFWS.php
│ │ │ │ ├── CRLFAtTheEnd.php
│ │ │ │ ├── CRLFX2.php
│ │ │ │ ├── CRNoLF.php
│ │ │ │ ├── CharNotAllowed.php
│ │ │ │ ├── CommaInDomain.php
│ │ │ │ ├── ConsecutiveAt.php
│ │ │ │ ├── ConsecutiveDot.php
│ │ │ │ ├── DomainHyphened.php
│ │ │ │ ├── DotAtEnd.php
│ │ │ │ ├── DotAtStart.php
│ │ │ │ ├── ExpectingAT.php
│ │ │ │ ├── ExpectingATEXT.php
│ │ │ │ ├── ExpectingCTEXT.php
│ │ │ │ ├── ExpectingDTEXT.php
│ │ │ │ ├── ExpectingDomainLiteralClose.php
│ │ │ │ ├── ExpectingQPair.php
│ │ │ │ ├── InvalidEmail.php
│ │ │ │ ├── NoDNSRecord.php
│ │ │ │ ├── NoDomainPart.php
│ │ │ │ ├── NoLocalPart.php
│ │ │ │ ├── UnclosedComment.php
│ │ │ │ ├── UnclosedQuotedString.php
│ │ │ │ └── UnopenedComment.php
│ │ │ ├── Parser/
│ │ │ │ ├── DomainPart.php
│ │ │ │ ├── LocalPart.php
│ │ │ │ └── Parser.php
│ │ │ ├── Validation/
│ │ │ │ ├── DNSCheckValidation.php
│ │ │ │ ├── EmailValidation.php
│ │ │ │ ├── Error/
│ │ │ │ │ ├── RFCWarnings.php
│ │ │ │ │ └── SpoofEmail.php
│ │ │ │ ├── Exception/
│ │ │ │ │ └── EmptyValidationList.php
│ │ │ │ ├── MultipleErrors.php
│ │ │ │ ├── MultipleValidationWithAnd.php
│ │ │ │ ├── NoRFCWarningsValidation.php
│ │ │ │ ├── RFCValidation.php
│ │ │ │ └── SpoofCheckValidation.php
│ │ │ └── Warning/
│ │ │ ├── AddressLiteral.php
│ │ │ ├── CFWSNearAt.php
│ │ │ ├── CFWSWithFWS.php
│ │ │ ├── Comment.php
│ │ │ ├── DeprecatedComment.php
│ │ │ ├── DomainLiteral.php
│ │ │ ├── DomainTooLong.php
│ │ │ ├── EmailTooLong.php
│ │ │ ├── IPV6BadChar.php
│ │ │ ├── IPV6ColonEnd.php
│ │ │ ├── IPV6ColonStart.php
│ │ │ ├── IPV6Deprecated.php
│ │ │ ├── IPV6DoubleColon.php
│ │ │ ├── IPV6GroupCount.php
│ │ │ ├── IPV6MaxGroups.php
│ │ │ ├── LabelTooLong.php
│ │ │ ├── LocalTooLong.php
│ │ │ ├── NoDNSMXRecord.php
│ │ │ ├── ObsoleteDTEXT.php
│ │ │ ├── QuotedPart.php
│ │ │ ├── QuotedString.php
│ │ │ ├── TLD.php
│ │ │ └── Warning.php
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── phpunit.xml.dist
│ ├── erusev/
│ │ └── parsedown/
│ │ ├── LICENSE.txt
│ │ ├── Parsedown.php
│ │ ├── README.md
│ │ └── composer.json
│ ├── fideloper/
│ │ └── proxy/
│ │ ├── LICENSE.md
│ │ ├── composer.json
│ │ ├── config/
│ │ │ └── trustedproxy.php
│ │ └── src/
│ │ ├── TrustProxies.php
│ │ └── TrustedProxyServiceProvider.php
│ ├── filp/
│ │ └── whoops/
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE.md
│ │ ├── composer.json
│ │ └── src/
│ │ └── Whoops/
│ │ ├── Exception/
│ │ │ ├── ErrorException.php
│ │ │ ├── Formatter.php
│ │ │ ├── Frame.php
│ │ │ ├── FrameCollection.php
│ │ │ └── Inspector.php
│ │ ├── Handler/
│ │ │ ├── CallbackHandler.php
│ │ │ ├── Handler.php
│ │ │ ├── HandlerInterface.php
│ │ │ ├── JsonResponseHandler.php
│ │ │ ├── PlainTextHandler.php
│ │ │ ├── PrettyPageHandler.php
│ │ │ └── XmlResponseHandler.php
│ │ ├── Resources/
│ │ │ ├── css/
│ │ │ │ └── whoops.base.css
│ │ │ ├── js/
│ │ │ │ └── whoops.base.js
│ │ │ └── views/
│ │ │ ├── env_details.html.php
│ │ │ ├── frame_code.html.php
│ │ │ ├── frame_list.html.php
│ │ │ ├── frames_container.html.php
│ │ │ ├── frames_description.html.php
│ │ │ ├── header.html.php
│ │ │ ├── header_outer.html.php
│ │ │ ├── layout.html.php
│ │ │ ├── panel_details.html.php
│ │ │ ├── panel_details_outer.html.php
│ │ │ ├── panel_left.html.php
│ │ │ └── panel_left_outer.html.php
│ │ ├── Run.php
│ │ ├── RunInterface.php
│ │ └── Util/
│ │ ├── HtmlDumperOutput.php
│ │ ├── Misc.php
│ │ ├── SystemFacade.php
│ │ └── TemplateHelper.php
│ ├── laravel/
│ │ ├── framework/
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── SECURITY.md
│ │ │ ├── composer.json
│ │ │ └── src/
│ │ │ └── Illuminate/
│ │ │ ├── Auth/
│ │ │ │ ├── Access/
│ │ │ │ │ ├── AuthorizationException.php
│ │ │ │ │ ├── Gate.php
│ │ │ │ │ ├── HandlesAuthorization.php
│ │ │ │ │ └── Response.php
│ │ │ │ ├── AuthManager.php
│ │ │ │ ├── AuthServiceProvider.php
│ │ │ │ ├── Authenticatable.php
│ │ │ │ ├── AuthenticationException.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── AuthMakeCommand.php
│ │ │ │ │ ├── ClearResetsCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ └── make/
│ │ │ │ │ ├── controllers/
│ │ │ │ │ │ └── HomeController.stub
│ │ │ │ │ ├── routes.stub
│ │ │ │ │ └── views/
│ │ │ │ │ ├── auth/
│ │ │ │ │ │ ├── login.stub
│ │ │ │ │ │ ├── passwords/
│ │ │ │ │ │ │ ├── email.stub
│ │ │ │ │ │ │ └── reset.stub
│ │ │ │ │ │ ├── register.stub
│ │ │ │ │ │ └── verify.stub
│ │ │ │ │ ├── home.stub
│ │ │ │ │ └── layouts/
│ │ │ │ │ └── app.stub
│ │ │ │ ├── CreatesUserProviders.php
│ │ │ │ ├── DatabaseUserProvider.php
│ │ │ │ ├── EloquentUserProvider.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── Attempting.php
│ │ │ │ │ ├── Authenticated.php
│ │ │ │ │ ├── Failed.php
│ │ │ │ │ ├── Lockout.php
│ │ │ │ │ ├── Login.php
│ │ │ │ │ ├── Logout.php
│ │ │ │ │ ├── OtherDeviceLogout.php
│ │ │ │ │ ├── PasswordReset.php
│ │ │ │ │ ├── Registered.php
│ │ │ │ │ └── Verified.php
│ │ │ │ ├── GenericUser.php
│ │ │ │ ├── GuardHelpers.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Listeners/
│ │ │ │ │ └── SendEmailVerificationNotification.php
│ │ │ │ ├── Middleware/
│ │ │ │ │ ├── Authenticate.php
│ │ │ │ │ ├── AuthenticateWithBasicAuth.php
│ │ │ │ │ ├── Authorize.php
│ │ │ │ │ └── EnsureEmailIsVerified.php
│ │ │ │ ├── MustVerifyEmail.php
│ │ │ │ ├── Notifications/
│ │ │ │ │ ├── ResetPassword.php
│ │ │ │ │ └── VerifyEmail.php
│ │ │ │ ├── Passwords/
│ │ │ │ │ ├── CanResetPassword.php
│ │ │ │ │ ├── DatabaseTokenRepository.php
│ │ │ │ │ ├── PasswordBroker.php
│ │ │ │ │ ├── PasswordBrokerManager.php
│ │ │ │ │ ├── PasswordResetServiceProvider.php
│ │ │ │ │ └── TokenRepositoryInterface.php
│ │ │ │ ├── Recaller.php
│ │ │ │ ├── RequestGuard.php
│ │ │ │ ├── SessionGuard.php
│ │ │ │ ├── TokenGuard.php
│ │ │ │ └── composer.json
│ │ │ ├── Broadcasting/
│ │ │ │ ├── BroadcastController.php
│ │ │ │ ├── BroadcastEvent.php
│ │ │ │ ├── BroadcastException.php
│ │ │ │ ├── BroadcastManager.php
│ │ │ │ ├── BroadcastServiceProvider.php
│ │ │ │ ├── Broadcasters/
│ │ │ │ │ ├── Broadcaster.php
│ │ │ │ │ ├── LogBroadcaster.php
│ │ │ │ │ ├── NullBroadcaster.php
│ │ │ │ │ ├── PusherBroadcaster.php
│ │ │ │ │ ├── RedisBroadcaster.php
│ │ │ │ │ └── UsePusherChannelConventions.php
│ │ │ │ ├── Channel.php
│ │ │ │ ├── InteractsWithSockets.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── PendingBroadcast.php
│ │ │ │ ├── PresenceChannel.php
│ │ │ │ ├── PrivateChannel.php
│ │ │ │ └── composer.json
│ │ │ ├── Bus/
│ │ │ │ ├── BusServiceProvider.php
│ │ │ │ ├── Dispatcher.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Queueable.php
│ │ │ │ └── composer.json
│ │ │ ├── Cache/
│ │ │ │ ├── ApcStore.php
│ │ │ │ ├── ApcWrapper.php
│ │ │ │ ├── ArrayStore.php
│ │ │ │ ├── CacheManager.php
│ │ │ │ ├── CacheServiceProvider.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── CacheTableCommand.php
│ │ │ │ │ ├── ClearCommand.php
│ │ │ │ │ ├── ForgetCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ └── cache.stub
│ │ │ │ ├── DatabaseStore.php
│ │ │ │ ├── DynamoDbLock.php
│ │ │ │ ├── DynamoDbStore.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── CacheEvent.php
│ │ │ │ │ ├── CacheHit.php
│ │ │ │ │ ├── CacheMissed.php
│ │ │ │ │ ├── KeyForgotten.php
│ │ │ │ │ └── KeyWritten.php
│ │ │ │ ├── FileStore.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Lock.php
│ │ │ │ ├── LuaScripts.php
│ │ │ │ ├── MemcachedConnector.php
│ │ │ │ ├── MemcachedLock.php
│ │ │ │ ├── MemcachedStore.php
│ │ │ │ ├── NullStore.php
│ │ │ │ ├── RateLimiter.php
│ │ │ │ ├── RedisLock.php
│ │ │ │ ├── RedisStore.php
│ │ │ │ ├── RedisTaggedCache.php
│ │ │ │ ├── Repository.php
│ │ │ │ ├── RetrievesMultipleKeys.php
│ │ │ │ ├── TagSet.php
│ │ │ │ ├── TaggableStore.php
│ │ │ │ ├── TaggedCache.php
│ │ │ │ └── composer.json
│ │ │ ├── Config/
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Repository.php
│ │ │ │ └── composer.json
│ │ │ ├── Console/
│ │ │ │ ├── Application.php
│ │ │ │ ├── Command.php
│ │ │ │ ├── ConfirmableTrait.php
│ │ │ │ ├── DetectsApplicationNamespace.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── ArtisanStarting.php
│ │ │ │ │ ├── CommandFinished.php
│ │ │ │ │ └── CommandStarting.php
│ │ │ │ ├── GeneratorCommand.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── OutputStyle.php
│ │ │ │ ├── Parser.php
│ │ │ │ ├── Scheduling/
│ │ │ │ │ ├── CacheEventMutex.php
│ │ │ │ │ ├── CacheSchedulingMutex.php
│ │ │ │ │ ├── CallbackEvent.php
│ │ │ │ │ ├── CommandBuilder.php
│ │ │ │ │ ├── Event.php
│ │ │ │ │ ├── EventMutex.php
│ │ │ │ │ ├── ManagesFrequencies.php
│ │ │ │ │ ├── Schedule.php
│ │ │ │ │ ├── ScheduleFinishCommand.php
│ │ │ │ │ ├── ScheduleRunCommand.php
│ │ │ │ │ └── SchedulingMutex.php
│ │ │ │ └── composer.json
│ │ │ ├── Container/
│ │ │ │ ├── BoundMethod.php
│ │ │ │ ├── Container.php
│ │ │ │ ├── ContextualBindingBuilder.php
│ │ │ │ ├── EntryNotFoundException.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── RewindableGenerator.php
│ │ │ │ └── composer.json
│ │ │ ├── Contracts/
│ │ │ │ ├── Auth/
│ │ │ │ │ ├── Access/
│ │ │ │ │ │ ├── Authorizable.php
│ │ │ │ │ │ └── Gate.php
│ │ │ │ │ ├── Authenticatable.php
│ │ │ │ │ ├── CanResetPassword.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── Guard.php
│ │ │ │ │ ├── MustVerifyEmail.php
│ │ │ │ │ ├── PasswordBroker.php
│ │ │ │ │ ├── PasswordBrokerFactory.php
│ │ │ │ │ ├── StatefulGuard.php
│ │ │ │ │ ├── SupportsBasicAuth.php
│ │ │ │ │ └── UserProvider.php
│ │ │ │ ├── Broadcasting/
│ │ │ │ │ ├── Broadcaster.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── ShouldBroadcast.php
│ │ │ │ │ └── ShouldBroadcastNow.php
│ │ │ │ ├── Bus/
│ │ │ │ │ ├── Dispatcher.php
│ │ │ │ │ └── QueueingDispatcher.php
│ │ │ │ ├── Cache/
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── Lock.php
│ │ │ │ │ ├── LockProvider.php
│ │ │ │ │ ├── LockTimeoutException.php
│ │ │ │ │ ├── Repository.php
│ │ │ │ │ └── Store.php
│ │ │ │ ├── Config/
│ │ │ │ │ └── Repository.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── Application.php
│ │ │ │ │ └── Kernel.php
│ │ │ │ ├── Container/
│ │ │ │ │ ├── BindingResolutionException.php
│ │ │ │ │ ├── Container.php
│ │ │ │ │ └── ContextualBindingBuilder.php
│ │ │ │ ├── Cookie/
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ └── QueueingFactory.php
│ │ │ │ ├── Database/
│ │ │ │ │ ├── Events/
│ │ │ │ │ │ └── MigrationEvent.php
│ │ │ │ │ └── ModelIdentifier.php
│ │ │ │ ├── Debug/
│ │ │ │ │ └── ExceptionHandler.php
│ │ │ │ ├── Encryption/
│ │ │ │ │ ├── DecryptException.php
│ │ │ │ │ ├── EncryptException.php
│ │ │ │ │ └── Encrypter.php
│ │ │ │ ├── Events/
│ │ │ │ │ └── Dispatcher.php
│ │ │ │ ├── Filesystem/
│ │ │ │ │ ├── Cloud.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── FileExistsException.php
│ │ │ │ │ ├── FileNotFoundException.php
│ │ │ │ │ └── Filesystem.php
│ │ │ │ ├── Foundation/
│ │ │ │ │ └── Application.php
│ │ │ │ ├── Hashing/
│ │ │ │ │ └── Hasher.php
│ │ │ │ ├── Http/
│ │ │ │ │ └── Kernel.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Mail/
│ │ │ │ │ ├── MailQueue.php
│ │ │ │ │ ├── Mailable.php
│ │ │ │ │ └── Mailer.php
│ │ │ │ ├── Notifications/
│ │ │ │ │ ├── Dispatcher.php
│ │ │ │ │ └── Factory.php
│ │ │ │ ├── Pagination/
│ │ │ │ │ ├── LengthAwarePaginator.php
│ │ │ │ │ └── Paginator.php
│ │ │ │ ├── Pipeline/
│ │ │ │ │ ├── Hub.php
│ │ │ │ │ └── Pipeline.php
│ │ │ │ ├── Queue/
│ │ │ │ │ ├── EntityNotFoundException.php
│ │ │ │ │ ├── EntityResolver.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── Job.php
│ │ │ │ │ ├── Monitor.php
│ │ │ │ │ ├── Queue.php
│ │ │ │ │ ├── QueueableCollection.php
│ │ │ │ │ ├── QueueableEntity.php
│ │ │ │ │ └── ShouldQueue.php
│ │ │ │ ├── Redis/
│ │ │ │ │ ├── Connection.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ └── LimiterTimeoutException.php
│ │ │ │ ├── Routing/
│ │ │ │ │ ├── BindingRegistrar.php
│ │ │ │ │ ├── Registrar.php
│ │ │ │ │ ├── ResponseFactory.php
│ │ │ │ │ ├── UrlGenerator.php
│ │ │ │ │ └── UrlRoutable.php
│ │ │ │ ├── Session/
│ │ │ │ │ └── Session.php
│ │ │ │ ├── Support/
│ │ │ │ │ ├── Arrayable.php
│ │ │ │ │ ├── DeferrableProvider.php
│ │ │ │ │ ├── Htmlable.php
│ │ │ │ │ ├── Jsonable.php
│ │ │ │ │ ├── MessageBag.php
│ │ │ │ │ ├── MessageProvider.php
│ │ │ │ │ ├── Renderable.php
│ │ │ │ │ └── Responsable.php
│ │ │ │ ├── Translation/
│ │ │ │ │ ├── HasLocalePreference.php
│ │ │ │ │ ├── Loader.php
│ │ │ │ │ └── Translator.php
│ │ │ │ ├── Validation/
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── ImplicitRule.php
│ │ │ │ │ ├── Rule.php
│ │ │ │ │ ├── ValidatesWhenResolved.php
│ │ │ │ │ └── Validator.php
│ │ │ │ ├── View/
│ │ │ │ │ ├── Engine.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ └── View.php
│ │ │ │ └── composer.json
│ │ │ ├── Cookie/
│ │ │ │ ├── CookieJar.php
│ │ │ │ ├── CookieServiceProvider.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Middleware/
│ │ │ │ │ ├── AddQueuedCookiesToResponse.php
│ │ │ │ │ └── EncryptCookies.php
│ │ │ │ └── composer.json
│ │ │ ├── Database/
│ │ │ │ ├── Capsule/
│ │ │ │ │ └── Manager.php
│ │ │ │ ├── Concerns/
│ │ │ │ │ ├── BuildsQueries.php
│ │ │ │ │ └── ManagesTransactions.php
│ │ │ │ ├── ConfigurationUrlParser.php
│ │ │ │ ├── Connection.php
│ │ │ │ ├── ConnectionInterface.php
│ │ │ │ ├── ConnectionResolver.php
│ │ │ │ ├── ConnectionResolverInterface.php
│ │ │ │ ├── Connectors/
│ │ │ │ │ ├── ConnectionFactory.php
│ │ │ │ │ ├── Connector.php
│ │ │ │ │ ├── ConnectorInterface.php
│ │ │ │ │ ├── MySqlConnector.php
│ │ │ │ │ ├── PostgresConnector.php
│ │ │ │ │ ├── SQLiteConnector.php
│ │ │ │ │ └── SqlServerConnector.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── Factories/
│ │ │ │ │ │ ├── FactoryMakeCommand.php
│ │ │ │ │ │ └── stubs/
│ │ │ │ │ │ └── factory.stub
│ │ │ │ │ ├── Migrations/
│ │ │ │ │ │ ├── BaseCommand.php
│ │ │ │ │ │ ├── FreshCommand.php
│ │ │ │ │ │ ├── InstallCommand.php
│ │ │ │ │ │ ├── MigrateCommand.php
│ │ │ │ │ │ ├── MigrateMakeCommand.php
│ │ │ │ │ │ ├── RefreshCommand.php
│ │ │ │ │ │ ├── ResetCommand.php
│ │ │ │ │ │ ├── RollbackCommand.php
│ │ │ │ │ │ ├── StatusCommand.php
│ │ │ │ │ │ └── TableGuesser.php
│ │ │ │ │ └── Seeds/
│ │ │ │ │ ├── SeedCommand.php
│ │ │ │ │ ├── SeederMakeCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ └── seeder.stub
│ │ │ │ ├── DatabaseManager.php
│ │ │ │ ├── DatabaseServiceProvider.php
│ │ │ │ ├── DetectsDeadlocks.php
│ │ │ │ ├── DetectsLostConnections.php
│ │ │ │ ├── Eloquent/
│ │ │ │ │ ├── Builder.php
│ │ │ │ │ ├── Collection.php
│ │ │ │ │ ├── Concerns/
│ │ │ │ │ │ ├── GuardsAttributes.php
│ │ │ │ │ │ ├── HasAttributes.php
│ │ │ │ │ │ ├── HasEvents.php
│ │ │ │ │ │ ├── HasGlobalScopes.php
│ │ │ │ │ │ ├── HasRelationships.php
│ │ │ │ │ │ ├── HasTimestamps.php
│ │ │ │ │ │ ├── HidesAttributes.php
│ │ │ │ │ │ └── QueriesRelationships.php
│ │ │ │ │ ├── Factory.php
│ │ │ │ │ ├── FactoryBuilder.php
│ │ │ │ │ ├── HigherOrderBuilderProxy.php
│ │ │ │ │ ├── JsonEncodingException.php
│ │ │ │ │ ├── MassAssignmentException.php
│ │ │ │ │ ├── Model.php
│ │ │ │ │ ├── ModelNotFoundException.php
│ │ │ │ │ ├── QueueEntityResolver.php
│ │ │ │ │ ├── RelationNotFoundException.php
│ │ │ │ │ ├── Relations/
│ │ │ │ │ │ ├── BelongsTo.php
│ │ │ │ │ │ ├── BelongsToMany.php
│ │ │ │ │ │ ├── Concerns/
│ │ │ │ │ │ │ ├── AsPivot.php
│ │ │ │ │ │ │ ├── InteractsWithPivotTable.php
│ │ │ │ │ │ │ └── SupportsDefaultModels.php
│ │ │ │ │ │ ├── HasMany.php
│ │ │ │ │ │ ├── HasManyThrough.php
│ │ │ │ │ │ ├── HasOne.php
│ │ │ │ │ │ ├── HasOneOrMany.php
│ │ │ │ │ │ ├── HasOneThrough.php
│ │ │ │ │ │ ├── MorphMany.php
│ │ │ │ │ │ ├── MorphOne.php
│ │ │ │ │ │ ├── MorphOneOrMany.php
│ │ │ │ │ │ ├── MorphPivot.php
│ │ │ │ │ │ ├── MorphTo.php
│ │ │ │ │ │ ├── MorphToMany.php
│ │ │ │ │ │ ├── Pivot.php
│ │ │ │ │ │ └── Relation.php
│ │ │ │ │ ├── Scope.php
│ │ │ │ │ ├── SoftDeletes.php
│ │ │ │ │ └── SoftDeletingScope.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── ConnectionEvent.php
│ │ │ │ │ ├── MigrationEnded.php
│ │ │ │ │ ├── MigrationEvent.php
│ │ │ │ │ ├── MigrationStarted.php
│ │ │ │ │ ├── MigrationsEnded.php
│ │ │ │ │ ├── MigrationsStarted.php
│ │ │ │ │ ├── QueryExecuted.php
│ │ │ │ │ ├── StatementPrepared.php
│ │ │ │ │ ├── TransactionBeginning.php
│ │ │ │ │ ├── TransactionCommitted.php
│ │ │ │ │ └── TransactionRolledBack.php
│ │ │ │ ├── Grammar.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── MigrationServiceProvider.php
│ │ │ │ ├── Migrations/
│ │ │ │ │ ├── DatabaseMigrationRepository.php
│ │ │ │ │ ├── Migration.php
│ │ │ │ │ ├── MigrationCreator.php
│ │ │ │ │ ├── MigrationRepositoryInterface.php
│ │ │ │ │ ├── Migrator.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ ├── blank.stub
│ │ │ │ │ ├── create.stub
│ │ │ │ │ └── update.stub
│ │ │ │ ├── MySqlConnection.php
│ │ │ │ ├── PostgresConnection.php
│ │ │ │ ├── Query/
│ │ │ │ │ ├── Builder.php
│ │ │ │ │ ├── Expression.php
│ │ │ │ │ ├── Grammars/
│ │ │ │ │ │ ├── Grammar.php
│ │ │ │ │ │ ├── MySqlGrammar.php
│ │ │ │ │ │ ├── PostgresGrammar.php
│ │ │ │ │ │ ├── SQLiteGrammar.php
│ │ │ │ │ │ └── SqlServerGrammar.php
│ │ │ │ │ ├── JoinClause.php
│ │ │ │ │ ├── JsonExpression.php
│ │ │ │ │ └── Processors/
│ │ │ │ │ ├── MySqlProcessor.php
│ │ │ │ │ ├── PostgresProcessor.php
│ │ │ │ │ ├── Processor.php
│ │ │ │ │ ├── SQLiteProcessor.php
│ │ │ │ │ └── SqlServerProcessor.php
│ │ │ │ ├── QueryException.php
│ │ │ │ ├── README.md
│ │ │ │ ├── SQLiteConnection.php
│ │ │ │ ├── Schema/
│ │ │ │ │ ├── Blueprint.php
│ │ │ │ │ ├── Builder.php
│ │ │ │ │ ├── ColumnDefinition.php
│ │ │ │ │ ├── ForeignKeyDefinition.php
│ │ │ │ │ ├── Grammars/
│ │ │ │ │ │ ├── ChangeColumn.php
│ │ │ │ │ │ ├── Grammar.php
│ │ │ │ │ │ ├── MySqlGrammar.php
│ │ │ │ │ │ ├── PostgresGrammar.php
│ │ │ │ │ │ ├── RenameColumn.php
│ │ │ │ │ │ ├── SQLiteGrammar.php
│ │ │ │ │ │ └── SqlServerGrammar.php
│ │ │ │ │ ├── MySqlBuilder.php
│ │ │ │ │ ├── PostgresBuilder.php
│ │ │ │ │ ├── SQLiteBuilder.php
│ │ │ │ │ └── SqlServerBuilder.php
│ │ │ │ ├── Seeder.php
│ │ │ │ ├── SqlServerConnection.php
│ │ │ │ └── composer.json
│ │ │ ├── Encryption/
│ │ │ │ ├── Encrypter.php
│ │ │ │ ├── EncryptionServiceProvider.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ └── composer.json
│ │ │ ├── Events/
│ │ │ │ ├── CallQueuedListener.php
│ │ │ │ ├── Dispatcher.php
│ │ │ │ ├── EventServiceProvider.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ └── composer.json
│ │ │ ├── Filesystem/
│ │ │ │ ├── Cache.php
│ │ │ │ ├── Filesystem.php
│ │ │ │ ├── FilesystemAdapter.php
│ │ │ │ ├── FilesystemManager.php
│ │ │ │ ├── FilesystemServiceProvider.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ └── composer.json
│ │ │ ├── Foundation/
│ │ │ │ ├── AliasLoader.php
│ │ │ │ ├── Application.php
│ │ │ │ ├── Auth/
│ │ │ │ │ ├── Access/
│ │ │ │ │ │ ├── Authorizable.php
│ │ │ │ │ │ └── AuthorizesRequests.php
│ │ │ │ │ ├── AuthenticatesUsers.php
│ │ │ │ │ ├── RedirectsUsers.php
│ │ │ │ │ ├── RegistersUsers.php
│ │ │ │ │ ├── ResetsPasswords.php
│ │ │ │ │ ├── SendsPasswordResetEmails.php
│ │ │ │ │ ├── ThrottlesLogins.php
│ │ │ │ │ ├── User.php
│ │ │ │ │ └── VerifiesEmails.php
│ │ │ │ ├── Bootstrap/
│ │ │ │ │ ├── BootProviders.php
│ │ │ │ │ ├── HandleExceptions.php
│ │ │ │ │ ├── LoadConfiguration.php
│ │ │ │ │ ├── LoadEnvironmentVariables.php
│ │ │ │ │ ├── RegisterFacades.php
│ │ │ │ │ ├── RegisterProviders.php
│ │ │ │ │ └── SetRequestForConsole.php
│ │ │ │ ├── Bus/
│ │ │ │ │ ├── Dispatchable.php
│ │ │ │ │ ├── DispatchesJobs.php
│ │ │ │ │ ├── PendingChain.php
│ │ │ │ │ └── PendingDispatch.php
│ │ │ │ ├── ComposerScripts.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── AppNameCommand.php
│ │ │ │ │ ├── ChannelMakeCommand.php
│ │ │ │ │ ├── ClearCompiledCommand.php
│ │ │ │ │ ├── ClosureCommand.php
│ │ │ │ │ ├── ConfigCacheCommand.php
│ │ │ │ │ ├── ConfigClearCommand.php
│ │ │ │ │ ├── ConsoleMakeCommand.php
│ │ │ │ │ ├── DownCommand.php
│ │ │ │ │ ├── EnvironmentCommand.php
│ │ │ │ │ ├── EventCacheCommand.php
│ │ │ │ │ ├── EventClearCommand.php
│ │ │ │ │ ├── EventGenerateCommand.php
│ │ │ │ │ ├── EventListCommand.php
│ │ │ │ │ ├── EventMakeCommand.php
│ │ │ │ │ ├── ExceptionMakeCommand.php
│ │ │ │ │ ├── JobMakeCommand.php
│ │ │ │ │ ├── Kernel.php
│ │ │ │ │ ├── KeyGenerateCommand.php
│ │ │ │ │ ├── ListenerMakeCommand.php
│ │ │ │ │ ├── MailMakeCommand.php
│ │ │ │ │ ├── ModelMakeCommand.php
│ │ │ │ │ ├── NotificationMakeCommand.php
│ │ │ │ │ ├── ObserverMakeCommand.php
│ │ │ │ │ ├── OptimizeClearCommand.php
│ │ │ │ │ ├── OptimizeCommand.php
│ │ │ │ │ ├── PackageDiscoverCommand.php
│ │ │ │ │ ├── PolicyMakeCommand.php
│ │ │ │ │ ├── PresetCommand.php
│ │ │ │ │ ├── Presets/
│ │ │ │ │ │ ├── Bootstrap.php
│ │ │ │ │ │ ├── None.php
│ │ │ │ │ │ ├── Preset.php
│ │ │ │ │ │ ├── React.php
│ │ │ │ │ │ ├── Vue.php
│ │ │ │ │ │ ├── bootstrap-stubs/
│ │ │ │ │ │ │ ├── _variables.scss
│ │ │ │ │ │ │ └── app.scss
│ │ │ │ │ │ ├── none-stubs/
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── bootstrap.js
│ │ │ │ │ │ │ └── webpack.mix.js
│ │ │ │ │ │ ├── react-stubs/
│ │ │ │ │ │ │ ├── Example.js
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ └── webpack.mix.js
│ │ │ │ │ │ └── vue-stubs/
│ │ │ │ │ │ ├── ExampleComponent.vue
│ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ └── webpack.mix.js
│ │ │ │ │ ├── ProviderMakeCommand.php
│ │ │ │ │ ├── QueuedCommand.php
│ │ │ │ │ ├── RequestMakeCommand.php
│ │ │ │ │ ├── ResourceMakeCommand.php
│ │ │ │ │ ├── RouteCacheCommand.php
│ │ │ │ │ ├── RouteClearCommand.php
│ │ │ │ │ ├── RouteListCommand.php
│ │ │ │ │ ├── RuleMakeCommand.php
│ │ │ │ │ ├── ServeCommand.php
│ │ │ │ │ ├── StorageLinkCommand.php
│ │ │ │ │ ├── TestMakeCommand.php
│ │ │ │ │ ├── UpCommand.php
│ │ │ │ │ ├── VendorPublishCommand.php
│ │ │ │ │ ├── ViewCacheCommand.php
│ │ │ │ │ ├── ViewClearCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ ├── channel.stub
│ │ │ │ │ ├── console.stub
│ │ │ │ │ ├── event-handler-queued.stub
│ │ │ │ │ ├── event-handler.stub
│ │ │ │ │ ├── event.stub
│ │ │ │ │ ├── exception-render-report.stub
│ │ │ │ │ ├── exception-render.stub
│ │ │ │ │ ├── exception-report.stub
│ │ │ │ │ ├── exception.stub
│ │ │ │ │ ├── job-queued.stub
│ │ │ │ │ ├── job.stub
│ │ │ │ │ ├── listener-duck.stub
│ │ │ │ │ ├── listener-queued-duck.stub
│ │ │ │ │ ├── listener-queued.stub
│ │ │ │ │ ├── listener.stub
│ │ │ │ │ ├── mail.stub
│ │ │ │ │ ├── markdown-mail.stub
│ │ │ │ │ ├── markdown-notification.stub
│ │ │ │ │ ├── markdown.stub
│ │ │ │ │ ├── model.stub
│ │ │ │ │ ├── notification.stub
│ │ │ │ │ ├── observer.plain.stub
│ │ │ │ │ ├── observer.stub
│ │ │ │ │ ├── pivot.model.stub
│ │ │ │ │ ├── policy.plain.stub
│ │ │ │ │ ├── policy.stub
│ │ │ │ │ ├── provider.stub
│ │ │ │ │ ├── request.stub
│ │ │ │ │ ├── resource-collection.stub
│ │ │ │ │ ├── resource.stub
│ │ │ │ │ ├── routes.stub
│ │ │ │ │ ├── rule.stub
│ │ │ │ │ ├── test.stub
│ │ │ │ │ └── unit-test.stub
│ │ │ │ ├── EnvironmentDetector.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── DiscoverEvents.php
│ │ │ │ │ ├── Dispatchable.php
│ │ │ │ │ └── LocaleUpdated.php
│ │ │ │ ├── Exceptions/
│ │ │ │ │ ├── Handler.php
│ │ │ │ │ ├── WhoopsHandler.php
│ │ │ │ │ └── views/
│ │ │ │ │ ├── 401.blade.php
│ │ │ │ │ ├── 403.blade.php
│ │ │ │ │ ├── 404.blade.php
│ │ │ │ │ ├── 419.blade.php
│ │ │ │ │ ├── 429.blade.php
│ │ │ │ │ ├── 500.blade.php
│ │ │ │ │ ├── 503.blade.php
│ │ │ │ │ ├── illustrated-layout.blade.php
│ │ │ │ │ ├── layout.blade.php
│ │ │ │ │ └── minimal.blade.php
│ │ │ │ ├── Http/
│ │ │ │ │ ├── Events/
│ │ │ │ │ │ └── RequestHandled.php
│ │ │ │ │ ├── Exceptions/
│ │ │ │ │ │ └── MaintenanceModeException.php
│ │ │ │ │ ├── FormRequest.php
│ │ │ │ │ ├── Kernel.php
│ │ │ │ │ └── Middleware/
│ │ │ │ │ ├── CheckForMaintenanceMode.php
│ │ │ │ │ ├── ConvertEmptyStringsToNull.php
│ │ │ │ │ ├── TransformsRequest.php
│ │ │ │ │ ├── TrimStrings.php
│ │ │ │ │ ├── ValidatePostSize.php
│ │ │ │ │ └── VerifyCsrfToken.php
│ │ │ │ ├── Inspiring.php
│ │ │ │ ├── Mix.php
│ │ │ │ ├── PackageManifest.php
│ │ │ │ ├── ProviderRepository.php
│ │ │ │ ├── Providers/
│ │ │ │ │ ├── ArtisanServiceProvider.php
│ │ │ │ │ ├── ComposerServiceProvider.php
│ │ │ │ │ ├── ConsoleSupportServiceProvider.php
│ │ │ │ │ ├── FormRequestServiceProvider.php
│ │ │ │ │ └── FoundationServiceProvider.php
│ │ │ │ ├── Support/
│ │ │ │ │ └── Providers/
│ │ │ │ │ ├── AuthServiceProvider.php
│ │ │ │ │ ├── EventServiceProvider.php
│ │ │ │ │ └── RouteServiceProvider.php
│ │ │ │ ├── Testing/
│ │ │ │ │ ├── Assert.php
│ │ │ │ │ ├── Concerns/
│ │ │ │ │ │ ├── InteractsWithAuthentication.php
│ │ │ │ │ │ ├── InteractsWithConsole.php
│ │ │ │ │ │ ├── InteractsWithContainer.php
│ │ │ │ │ │ ├── InteractsWithDatabase.php
│ │ │ │ │ │ ├── InteractsWithExceptionHandling.php
│ │ │ │ │ │ ├── InteractsWithRedis.php
│ │ │ │ │ │ ├── InteractsWithSession.php
│ │ │ │ │ │ ├── MakesHttpRequests.php
│ │ │ │ │ │ └── MocksApplicationServices.php
│ │ │ │ │ ├── Constraints/
│ │ │ │ │ │ ├── HasInDatabase.php
│ │ │ │ │ │ ├── SeeInOrder.php
│ │ │ │ │ │ └── SoftDeletedInDatabase.php
│ │ │ │ │ ├── DatabaseMigrations.php
│ │ │ │ │ ├── DatabaseTransactions.php
│ │ │ │ │ ├── PendingCommand.php
│ │ │ │ │ ├── RefreshDatabase.php
│ │ │ │ │ ├── RefreshDatabaseState.php
│ │ │ │ │ ├── TestCase.php
│ │ │ │ │ ├── TestResponse.php
│ │ │ │ │ ├── WithFaker.php
│ │ │ │ │ ├── WithoutEvents.php
│ │ │ │ │ └── WithoutMiddleware.php
│ │ │ │ ├── Validation/
│ │ │ │ │ └── ValidatesRequests.php
│ │ │ │ ├── helpers.php
│ │ │ │ └── stubs/
│ │ │ │ └── facade.stub
│ │ │ ├── Hashing/
│ │ │ │ ├── AbstractHasher.php
│ │ │ │ ├── Argon2IdHasher.php
│ │ │ │ ├── ArgonHasher.php
│ │ │ │ ├── BcryptHasher.php
│ │ │ │ ├── HashManager.php
│ │ │ │ ├── HashServiceProvider.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ └── composer.json
│ │ │ ├── Http/
│ │ │ │ ├── Concerns/
│ │ │ │ │ ├── InteractsWithContentTypes.php
│ │ │ │ │ ├── InteractsWithFlashData.php
│ │ │ │ │ └── InteractsWithInput.php
│ │ │ │ ├── Exceptions/
│ │ │ │ │ ├── HttpResponseException.php
│ │ │ │ │ ├── PostTooLargeException.php
│ │ │ │ │ └── ThrottleRequestsException.php
│ │ │ │ ├── File.php
│ │ │ │ ├── FileHelpers.php
│ │ │ │ ├── JsonResponse.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Middleware/
│ │ │ │ │ ├── CheckResponseForModifications.php
│ │ │ │ │ ├── FrameGuard.php
│ │ │ │ │ └── SetCacheHeaders.php
│ │ │ │ ├── RedirectResponse.php
│ │ │ │ ├── Request.php
│ │ │ │ ├── Resources/
│ │ │ │ │ ├── CollectsResources.php
│ │ │ │ │ ├── ConditionallyLoadsAttributes.php
│ │ │ │ │ ├── DelegatesToResource.php
│ │ │ │ │ ├── Json/
│ │ │ │ │ │ ├── AnonymousResourceCollection.php
│ │ │ │ │ │ ├── JsonResource.php
│ │ │ │ │ │ ├── PaginatedResourceResponse.php
│ │ │ │ │ │ ├── Resource.php
│ │ │ │ │ │ ├── ResourceCollection.php
│ │ │ │ │ │ └── ResourceResponse.php
│ │ │ │ │ ├── MergeValue.php
│ │ │ │ │ ├── MissingValue.php
│ │ │ │ │ └── PotentiallyMissing.php
│ │ │ │ ├── Response.php
│ │ │ │ ├── ResponseTrait.php
│ │ │ │ ├── Testing/
│ │ │ │ │ ├── File.php
│ │ │ │ │ ├── FileFactory.php
│ │ │ │ │ └── MimeType.php
│ │ │ │ ├── UploadedFile.php
│ │ │ │ └── composer.json
│ │ │ ├── Log/
│ │ │ │ ├── Events/
│ │ │ │ │ └── MessageLogged.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── LogManager.php
│ │ │ │ ├── LogServiceProvider.php
│ │ │ │ ├── Logger.php
│ │ │ │ ├── ParsesLogConfiguration.php
│ │ │ │ └── composer.json
│ │ │ ├── Mail/
│ │ │ │ ├── Events/
│ │ │ │ │ ├── MessageSending.php
│ │ │ │ │ └── MessageSent.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── MailServiceProvider.php
│ │ │ │ ├── Mailable.php
│ │ │ │ ├── Mailer.php
│ │ │ │ ├── Markdown.php
│ │ │ │ ├── Message.php
│ │ │ │ ├── PendingMail.php
│ │ │ │ ├── SendQueuedMailable.php
│ │ │ │ ├── Transport/
│ │ │ │ │ ├── ArrayTransport.php
│ │ │ │ │ ├── LogTransport.php
│ │ │ │ │ ├── MailgunTransport.php
│ │ │ │ │ ├── MandrillTransport.php
│ │ │ │ │ ├── SesTransport.php
│ │ │ │ │ ├── SparkPostTransport.php
│ │ │ │ │ └── Transport.php
│ │ │ │ ├── TransportManager.php
│ │ │ │ ├── composer.json
│ │ │ │ └── resources/
│ │ │ │ └── views/
│ │ │ │ ├── html/
│ │ │ │ │ ├── button.blade.php
│ │ │ │ │ ├── footer.blade.php
│ │ │ │ │ ├── header.blade.php
│ │ │ │ │ ├── layout.blade.php
│ │ │ │ │ ├── message.blade.php
│ │ │ │ │ ├── panel.blade.php
│ │ │ │ │ ├── promotion/
│ │ │ │ │ │ └── button.blade.php
│ │ │ │ │ ├── promotion.blade.php
│ │ │ │ │ ├── subcopy.blade.php
│ │ │ │ │ ├── table.blade.php
│ │ │ │ │ └── themes/
│ │ │ │ │ └── default.css
│ │ │ │ └── text/
│ │ │ │ ├── button.blade.php
│ │ │ │ ├── footer.blade.php
│ │ │ │ ├── header.blade.php
│ │ │ │ ├── layout.blade.php
│ │ │ │ ├── message.blade.php
│ │ │ │ ├── panel.blade.php
│ │ │ │ ├── promotion/
│ │ │ │ │ └── button.blade.php
│ │ │ │ ├── promotion.blade.php
│ │ │ │ ├── subcopy.blade.php
│ │ │ │ └── table.blade.php
│ │ │ ├── Notifications/
│ │ │ │ ├── Action.php
│ │ │ │ ├── AnonymousNotifiable.php
│ │ │ │ ├── ChannelManager.php
│ │ │ │ ├── Channels/
│ │ │ │ │ ├── BroadcastChannel.php
│ │ │ │ │ ├── DatabaseChannel.php
│ │ │ │ │ └── MailChannel.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── NotificationTableCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ └── notifications.stub
│ │ │ │ ├── DatabaseNotification.php
│ │ │ │ ├── DatabaseNotificationCollection.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── BroadcastNotificationCreated.php
│ │ │ │ │ ├── NotificationFailed.php
│ │ │ │ │ ├── NotificationSending.php
│ │ │ │ │ └── NotificationSent.php
│ │ │ │ ├── HasDatabaseNotifications.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Messages/
│ │ │ │ │ ├── BroadcastMessage.php
│ │ │ │ │ ├── DatabaseMessage.php
│ │ │ │ │ ├── MailMessage.php
│ │ │ │ │ └── SimpleMessage.php
│ │ │ │ ├── Notifiable.php
│ │ │ │ ├── Notification.php
│ │ │ │ ├── NotificationSender.php
│ │ │ │ ├── NotificationServiceProvider.php
│ │ │ │ ├── RoutesNotifications.php
│ │ │ │ ├── SendQueuedNotifications.php
│ │ │ │ ├── composer.json
│ │ │ │ └── resources/
│ │ │ │ └── views/
│ │ │ │ └── email.blade.php
│ │ │ ├── Pagination/
│ │ │ │ ├── AbstractPaginator.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── LengthAwarePaginator.php
│ │ │ │ ├── PaginationServiceProvider.php
│ │ │ │ ├── Paginator.php
│ │ │ │ ├── UrlWindow.php
│ │ │ │ ├── composer.json
│ │ │ │ └── resources/
│ │ │ │ └── views/
│ │ │ │ ├── bootstrap-4.blade.php
│ │ │ │ ├── default.blade.php
│ │ │ │ ├── semantic-ui.blade.php
│ │ │ │ ├── simple-bootstrap-4.blade.php
│ │ │ │ └── simple-default.blade.php
│ │ │ ├── Pipeline/
│ │ │ │ ├── Hub.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Pipeline.php
│ │ │ │ ├── PipelineServiceProvider.php
│ │ │ │ └── composer.json
│ │ │ ├── Queue/
│ │ │ │ ├── BeanstalkdQueue.php
│ │ │ │ ├── CallQueuedClosure.php
│ │ │ │ ├── CallQueuedHandler.php
│ │ │ │ ├── Capsule/
│ │ │ │ │ └── Manager.php
│ │ │ │ ├── Connectors/
│ │ │ │ │ ├── BeanstalkdConnector.php
│ │ │ │ │ ├── ConnectorInterface.php
│ │ │ │ │ ├── DatabaseConnector.php
│ │ │ │ │ ├── NullConnector.php
│ │ │ │ │ ├── RedisConnector.php
│ │ │ │ │ ├── SqsConnector.php
│ │ │ │ │ └── SyncConnector.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── FailedTableCommand.php
│ │ │ │ │ ├── FlushFailedCommand.php
│ │ │ │ │ ├── ForgetFailedCommand.php
│ │ │ │ │ ├── ListFailedCommand.php
│ │ │ │ │ ├── ListenCommand.php
│ │ │ │ │ ├── RestartCommand.php
│ │ │ │ │ ├── RetryCommand.php
│ │ │ │ │ ├── TableCommand.php
│ │ │ │ │ ├── WorkCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ ├── failed_jobs.stub
│ │ │ │ │ └── jobs.stub
│ │ │ │ ├── DatabaseQueue.php
│ │ │ │ ├── Events/
│ │ │ │ │ ├── JobExceptionOccurred.php
│ │ │ │ │ ├── JobFailed.php
│ │ │ │ │ ├── JobProcessed.php
│ │ │ │ │ ├── JobProcessing.php
│ │ │ │ │ ├── Looping.php
│ │ │ │ │ └── WorkerStopping.php
│ │ │ │ ├── Failed/
│ │ │ │ │ ├── DatabaseFailedJobProvider.php
│ │ │ │ │ ├── FailedJobProviderInterface.php
│ │ │ │ │ └── NullFailedJobProvider.php
│ │ │ │ ├── InteractsWithQueue.php
│ │ │ │ ├── InvalidPayloadException.php
│ │ │ │ ├── Jobs/
│ │ │ │ │ ├── BeanstalkdJob.php
│ │ │ │ │ ├── DatabaseJob.php
│ │ │ │ │ ├── DatabaseJobRecord.php
│ │ │ │ │ ├── Job.php
│ │ │ │ │ ├── JobName.php
│ │ │ │ │ ├── RedisJob.php
│ │ │ │ │ ├── SqsJob.php
│ │ │ │ │ └── SyncJob.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Listener.php
│ │ │ │ ├── ListenerOptions.php
│ │ │ │ ├── LuaScripts.php
│ │ │ │ ├── ManuallyFailedException.php
│ │ │ │ ├── MaxAttemptsExceededException.php
│ │ │ │ ├── NullQueue.php
│ │ │ │ ├── Queue.php
│ │ │ │ ├── QueueManager.php
│ │ │ │ ├── QueueServiceProvider.php
│ │ │ │ ├── README.md
│ │ │ │ ├── RedisQueue.php
│ │ │ │ ├── SerializableClosure.php
│ │ │ │ ├── SerializesAndRestoresModelIdentifiers.php
│ │ │ │ ├── SerializesModels.php
│ │ │ │ ├── SqsQueue.php
│ │ │ │ ├── SyncQueue.php
│ │ │ │ ├── Worker.php
│ │ │ │ ├── WorkerOptions.php
│ │ │ │ └── composer.json
│ │ │ ├── Redis/
│ │ │ │ ├── Connections/
│ │ │ │ │ ├── Connection.php
│ │ │ │ │ ├── PhpRedisClusterConnection.php
│ │ │ │ │ ├── PhpRedisConnection.php
│ │ │ │ │ ├── PredisClusterConnection.php
│ │ │ │ │ └── PredisConnection.php
│ │ │ │ ├── Connectors/
│ │ │ │ │ ├── PhpRedisConnector.php
│ │ │ │ │ └── PredisConnector.php
│ │ │ │ ├── Events/
│ │ │ │ │ └── CommandExecuted.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Limiters/
│ │ │ │ │ ├── ConcurrencyLimiter.php
│ │ │ │ │ ├── ConcurrencyLimiterBuilder.php
│ │ │ │ │ ├── DurationLimiter.php
│ │ │ │ │ └── DurationLimiterBuilder.php
│ │ │ │ ├── RedisManager.php
│ │ │ │ ├── RedisServiceProvider.php
│ │ │ │ └── composer.json
│ │ │ ├── Routing/
│ │ │ │ ├── Console/
│ │ │ │ │ ├── ControllerMakeCommand.php
│ │ │ │ │ ├── MiddlewareMakeCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ ├── controller.api.stub
│ │ │ │ │ ├── controller.invokable.stub
│ │ │ │ │ ├── controller.model.api.stub
│ │ │ │ │ ├── controller.model.stub
│ │ │ │ │ ├── controller.nested.api.stub
│ │ │ │ │ ├── controller.nested.stub
│ │ │ │ │ ├── controller.plain.stub
│ │ │ │ │ ├── controller.stub
│ │ │ │ │ └── middleware.stub
│ │ │ │ ├── Contracts/
│ │ │ │ │ └── ControllerDispatcher.php
│ │ │ │ ├── Controller.php
│ │ │ │ ├── ControllerDispatcher.php
│ │ │ │ ├── ControllerMiddlewareOptions.php
│ │ │ │ ├── Events/
│ │ │ │ │ └── RouteMatched.php
│ │ │ │ ├── Exceptions/
│ │ │ │ │ ├── InvalidSignatureException.php
│ │ │ │ │ └── UrlGenerationException.php
│ │ │ │ ├── ImplicitRouteBinding.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Matching/
│ │ │ │ │ ├── HostValidator.php
│ │ │ │ │ ├── MethodValidator.php
│ │ │ │ │ ├── SchemeValidator.php
│ │ │ │ │ ├── UriValidator.php
│ │ │ │ │ └── ValidatorInterface.php
│ │ │ │ ├── Middleware/
│ │ │ │ │ ├── SubstituteBindings.php
│ │ │ │ │ ├── ThrottleRequests.php
│ │ │ │ │ ├── ThrottleRequestsWithRedis.php
│ │ │ │ │ └── ValidateSignature.php
│ │ │ │ ├── MiddlewareNameResolver.php
│ │ │ │ ├── PendingResourceRegistration.php
│ │ │ │ ├── Pipeline.php
│ │ │ │ ├── RedirectController.php
│ │ │ │ ├── Redirector.php
│ │ │ │ ├── ResourceRegistrar.php
│ │ │ │ ├── ResponseFactory.php
│ │ │ │ ├── Route.php
│ │ │ │ ├── RouteAction.php
│ │ │ │ ├── RouteBinding.php
│ │ │ │ ├── RouteCollection.php
│ │ │ │ ├── RouteCompiler.php
│ │ │ │ ├── RouteDependencyResolverTrait.php
│ │ │ │ ├── RouteFileRegistrar.php
│ │ │ │ ├── RouteGroup.php
│ │ │ │ ├── RouteParameterBinder.php
│ │ │ │ ├── RouteRegistrar.php
│ │ │ │ ├── RouteSignatureParameters.php
│ │ │ │ ├── RouteUrlGenerator.php
│ │ │ │ ├── Router.php
│ │ │ │ ├── RoutingServiceProvider.php
│ │ │ │ ├── SortedMiddleware.php
│ │ │ │ ├── UrlGenerator.php
│ │ │ │ ├── ViewController.php
│ │ │ │ └── composer.json
│ │ │ ├── Session/
│ │ │ │ ├── CacheBasedSessionHandler.php
│ │ │ │ ├── Console/
│ │ │ │ │ ├── SessionTableCommand.php
│ │ │ │ │ └── stubs/
│ │ │ │ │ └── database.stub
│ │ │ │ ├── CookieSessionHandler.php
│ │ │ │ ├── DatabaseSessionHandler.php
│ │ │ │ ├── EncryptedStore.php
│ │ │ │ ├── ExistenceAwareInterface.php
│ │ │ │ ├── FileSessionHandler.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Middleware/
│ │ │ │ │ ├── AuthenticateSession.php
│ │ │ │ │ └── StartSession.php
│ │ │ │ ├── NullSessionHandler.php
│ │ │ │ ├── SessionManager.php
│ │ │ │ ├── SessionServiceProvider.php
│ │ │ │ ├── Store.php
│ │ │ │ ├── TokenMismatchException.php
│ │ │ │ └── composer.json
│ │ │ ├── Support/
│ │ │ │ ├── AggregateServiceProvider.php
│ │ │ │ ├── Arr.php
│ │ │ │ ├── Carbon.php
│ │ │ │ ├── Collection.php
│ │ │ │ ├── Composer.php
│ │ │ │ ├── ConfigurationUrlParser.php
│ │ │ │ ├── DateFactory.php
│ │ │ │ ├── Facades/
│ │ │ │ │ ├── App.php
│ │ │ │ │ ├── Artisan.php
│ │ │ │ │ ├── Auth.php
│ │ │ │ │ ├── Blade.php
│ │ │ │ │ ├── Broadcast.php
│ │ │ │ │ ├── Bus.php
│ │ │ │ │ ├── Cache.php
│ │ │ │ │ ├── Config.php
│ │ │ │ │ ├── Cookie.php
│ │ │ │ │ ├── Crypt.php
│ │ │ │ │ ├── DB.php
│ │ │ │ │ ├── Date.php
│ │ │ │ │ ├── Event.php
│ │ │ │ │ ├── Facade.php
│ │ │ │ │ ├── File.php
│ │ │ │ │ ├── Gate.php
│ │ │ │ │ ├── Hash.php
│ │ │ │ │ ├── Input.php
│ │ │ │ │ ├── Lang.php
│ │ │ │ │ ├── Log.php
│ │ │ │ │ ├── Mail.php
│ │ │ │ │ ├── Notification.php
│ │ │ │ │ ├── Password.php
│ │ │ │ │ ├── Queue.php
│ │ │ │ │ ├── Redirect.php
│ │ │ │ │ ├── Redis.php
│ │ │ │ │ ├── Request.php
│ │ │ │ │ ├── Response.php
│ │ │ │ │ ├── Route.php
│ │ │ │ │ ├── Schema.php
│ │ │ │ │ ├── Session.php
│ │ │ │ │ ├── Storage.php
│ │ │ │ │ ├── URL.php
│ │ │ │ │ ├── Validator.php
│ │ │ │ │ └── View.php
│ │ │ │ ├── Fluent.php
│ │ │ │ ├── HigherOrderCollectionProxy.php
│ │ │ │ ├── HigherOrderTapProxy.php
│ │ │ │ ├── HtmlString.php
│ │ │ │ ├── InteractsWithTime.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── Manager.php
│ │ │ │ ├── MessageBag.php
│ │ │ │ ├── NamespacedItemResolver.php
│ │ │ │ ├── Optional.php
│ │ │ │ ├── Pluralizer.php
│ │ │ │ ├── ProcessUtils.php
│ │ │ │ ├── ServiceProvider.php
│ │ │ │ ├── Str.php
│ │ │ │ ├── Testing/
│ │ │ │ │ └── Fakes/
│ │ │ │ │ ├── BusFake.php
│ │ │ │ │ ├── EventFake.php
│ │ │ │ │ ├── MailFake.php
│ │ │ │ │ ├── NotificationFake.php
│ │ │ │ │ ├── PendingMailFake.php
│ │ │ │ │ └── QueueFake.php
│ │ │ │ ├── Traits/
│ │ │ │ │ ├── CapsuleManagerTrait.php
│ │ │ │ │ ├── ForwardsCalls.php
│ │ │ │ │ ├── Localizable.php
│ │ │ │ │ ├── Macroable.php
│ │ │ │ │ └── Tappable.php
│ │ │ │ ├── ViewErrorBag.php
│ │ │ │ ├── composer.json
│ │ │ │ └── helpers.php
│ │ │ ├── Translation/
│ │ │ │ ├── ArrayLoader.php
│ │ │ │ ├── FileLoader.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── MessageSelector.php
│ │ │ │ ├── TranslationServiceProvider.php
│ │ │ │ ├── Translator.php
│ │ │ │ └── composer.json
│ │ │ ├── Validation/
│ │ │ │ ├── ClosureValidationRule.php
│ │ │ │ ├── Concerns/
│ │ │ │ │ ├── FormatsMessages.php
│ │ │ │ │ ├── ReplacesAttributes.php
│ │ │ │ │ └── ValidatesAttributes.php
│ │ │ │ ├── DatabasePresenceVerifier.php
│ │ │ │ ├── Factory.php
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── PresenceVerifierInterface.php
│ │ │ │ ├── Rule.php
│ │ │ │ ├── Rules/
│ │ │ │ │ ├── DatabaseRule.php
│ │ │ │ │ ├── Dimensions.php
│ │ │ │ │ ├── Exists.php
│ │ │ │ │ ├── In.php
│ │ │ │ │ ├── NotIn.php
│ │ │ │ │ ├── RequiredIf.php
│ │ │ │ │ └── Unique.php
│ │ │ │ ├── UnauthorizedException.php
│ │ │ │ ├── ValidatesWhenResolvedTrait.php
│ │ │ │ ├── ValidationData.php
│ │ │ │ ├── ValidationException.php
│ │ │ │ ├── ValidationRuleParser.php
│ │ │ │ ├── ValidationServiceProvider.php
│ │ │ │ ├── Validator.php
│ │ │ │ └── composer.json
│ │ │ └── View/
│ │ │ ├── Compilers/
│ │ │ │ ├── BladeCompiler.php
│ │ │ │ ├── Compiler.php
│ │ │ │ ├── CompilerInterface.php
│ │ │ │ └── Concerns/
│ │ │ │ ├── CompilesAuthorizations.php
│ │ │ │ ├── CompilesComments.php
│ │ │ │ ├── CompilesComponents.php
│ │ │ │ ├── CompilesConditionals.php
│ │ │ │ ├── CompilesEchos.php
│ │ │ │ ├── CompilesErrors.php
│ │ │ │ ├── CompilesHelpers.php
│ │ │ │ ├── CompilesIncludes.php
│ │ │ │ ├── CompilesInjections.php
│ │ │ │ ├── CompilesJson.php
│ │ │ │ ├── CompilesLayouts.php
│ │ │ │ ├── CompilesLoops.php
│ │ │ │ ├── CompilesRawPhp.php
│ │ │ │ ├── CompilesStacks.php
│ │ │ │ └── CompilesTranslations.php
│ │ │ ├── Concerns/
│ │ │ │ ├── ManagesComponents.php
│ │ │ │ ├── ManagesEvents.php
│ │ │ │ ├── ManagesLayouts.php
│ │ │ │ ├── ManagesLoops.php
│ │ │ │ ├── ManagesStacks.php
│ │ │ │ └── ManagesTranslations.php
│ │ │ ├── Engines/
│ │ │ │ ├── CompilerEngine.php
│ │ │ │ ├── Engine.php
│ │ │ │ ├── EngineResolver.php
│ │ │ │ ├── FileEngine.php
│ │ │ │ └── PhpEngine.php
│ │ │ ├── Factory.php
│ │ │ ├── FileViewFinder.php
│ │ │ ├── LICENSE.md
│ │ │ ├── Middleware/
│ │ │ │ └── ShareErrorsFromSession.php
│ │ │ ├── View.php
│ │ │ ├── ViewFinderInterface.php
│ │ │ ├── ViewName.php
│ │ │ ├── ViewServiceProvider.php
│ │ │ └── composer.json
│ │ └── tinker/
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── config/
│ │ │ └── tinker.php
│ │ └── src/
│ │ ├── ClassAliasAutoloader.php
│ │ ├── Console/
│ │ │ └── TinkerCommand.php
│ │ ├── TinkerCaster.php
│ │ └── TinkerServiceProvider.php
│ ├── league/
│ │ └── flysystem/
│ │ ├── .php_cs.dist
│ │ ├── LICENSE
│ │ ├── composer.json
│ │ ├── deprecations.md
│ │ └── src/
│ │ ├── Adapter/
│ │ │ ├── AbstractAdapter.php
│ │ │ ├── AbstractFtpAdapter.php
│ │ │ ├── CanOverwriteFiles.php
│ │ │ ├── Ftp.php
│ │ │ ├── Ftpd.php
│ │ │ ├── Local.php
│ │ │ ├── NullAdapter.php
│ │ │ ├── Polyfill/
│ │ │ │ ├── NotSupportingVisibilityTrait.php
│ │ │ │ ├── StreamedCopyTrait.php
│ │ │ │ ├── StreamedReadingTrait.php
│ │ │ │ ├── StreamedTrait.php
│ │ │ │ └── StreamedWritingTrait.php
│ │ │ └── SynologyFtp.php
│ │ ├── AdapterInterface.php
│ │ ├── Config.php
│ │ ├── ConfigAwareTrait.php
│ │ ├── Directory.php
│ │ ├── Exception.php
│ │ ├── File.php
│ │ ├── FileExistsException.php
│ │ ├── FileNotFoundException.php
│ │ ├── Filesystem.php
│ │ ├── FilesystemInterface.php
│ │ ├── FilesystemNotFoundException.php
│ │ ├── Handler.php
│ │ ├── MountManager.php
│ │ ├── NotSupportedException.php
│ │ ├── Plugin/
│ │ │ ├── AbstractPlugin.php
│ │ │ ├── EmptyDir.php
│ │ │ ├── ForcedCopy.php
│ │ │ ├── ForcedRename.php
│ │ │ ├── GetWithMetadata.php
│ │ │ ├── ListFiles.php
│ │ │ ├── ListPaths.php
│ │ │ ├── ListWith.php
│ │ │ ├── PluggableTrait.php
│ │ │ └── PluginNotFoundException.php
│ │ ├── PluginInterface.php
│ │ ├── ReadInterface.php
│ │ ├── RootViolationException.php
│ │ ├── SafeStorage.php
│ │ ├── UnreadableFileException.php
│ │ ├── Util/
│ │ │ ├── ContentListingFormatter.php
│ │ │ ├── MimeType.php
│ │ │ └── StreamHasher.php
│ │ └── Util.php
│ ├── monolog/
│ │ └── monolog/
│ │ ├── .php_cs
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── doc/
│ │ │ ├── 01-usage.md
│ │ │ ├── 02-handlers-formatters-processors.md
│ │ │ ├── 03-utilities.md
│ │ │ ├── 04-extending.md
│ │ │ └── sockets.md
│ │ ├── phpunit.xml.dist
│ │ ├── src/
│ │ │ └── Monolog/
│ │ │ ├── ErrorHandler.php
│ │ │ ├── Formatter/
│ │ │ │ ├── ChromePHPFormatter.php
│ │ │ │ ├── ElasticaFormatter.php
│ │ │ │ ├── FlowdockFormatter.php
│ │ │ │ ├── FluentdFormatter.php
│ │ │ │ ├── FormatterInterface.php
│ │ │ │ ├── GelfMessageFormatter.php
│ │ │ │ ├── HtmlFormatter.php
│ │ │ │ ├── JsonFormatter.php
│ │ │ │ ├── LineFormatter.php
│ │ │ │ ├── LogglyFormatter.php
│ │ │ │ ├── LogstashFormatter.php
│ │ │ │ ├── MongoDBFormatter.php
│ │ │ │ ├── NormalizerFormatter.php
│ │ │ │ ├── ScalarFormatter.php
│ │ │ │ └── WildfireFormatter.php
│ │ │ ├── Handler/
│ │ │ │ ├── AbstractHandler.php
│ │ │ │ ├── AbstractProcessingHandler.php
│ │ │ │ ├── AbstractSyslogHandler.php
│ │ │ │ ├── AmqpHandler.php
│ │ │ │ ├── BrowserConsoleHandler.php
│ │ │ │ ├── BufferHandler.php
│ │ │ │ ├── ChromePHPHandler.php
│ │ │ │ ├── CouchDBHandler.php
│ │ │ │ ├── CubeHandler.php
│ │ │ │ ├── Curl/
│ │ │ │ │ └── Util.php
│ │ │ │ ├── DeduplicationHandler.php
│ │ │ │ ├── DoctrineCouchDBHandler.php
│ │ │ │ ├── DynamoDbHandler.php
│ │ │ │ ├── ElasticSearchHandler.php
│ │ │ │ ├── ErrorLogHandler.php
│ │ │ │ ├── FilterHandler.php
│ │ │ │ ├── FingersCrossed/
│ │ │ │ │ ├── ActivationStrategyInterface.php
│ │ │ │ │ ├── ChannelLevelActivationStrategy.php
│ │ │ │ │ └── ErrorLevelActivationStrategy.php
│ │ │ │ ├── FingersCrossedHandler.php
│ │ │ │ ├── FirePHPHandler.php
│ │ │ │ ├── FleepHookHandler.php
│ │ │ │ ├── FlowdockHandler.php
│ │ │ │ ├── GelfHandler.php
│ │ │ │ ├── GroupHandler.php
│ │ │ │ ├── HandlerInterface.php
│ │ │ │ ├── HandlerWrapper.php
│ │ │ │ ├── HipChatHandler.php
│ │ │ │ ├── IFTTTHandler.php
│ │ │ │ ├── InsightOpsHandler.php
│ │ │ │ ├── LogEntriesHandler.php
│ │ │ │ ├── LogglyHandler.php
│ │ │ │ ├── MailHandler.php
│ │ │ │ ├── MandrillHandler.php
│ │ │ │ ├── MissingExtensionException.php
│ │ │ │ ├── MongoDBHandler.php
│ │ │ │ ├── NativeMailerHandler.php
│ │ │ │ ├── NewRelicHandler.php
│ │ │ │ ├── NullHandler.php
│ │ │ │ ├── PHPConsoleHandler.php
│ │ │ │ ├── PsrHandler.php
│ │ │ │ ├── PushoverHandler.php
│ │ │ │ ├── RavenHandler.php
│ │ │ │ ├── RedisHandler.php
│ │ │ │ ├── RollbarHandler.php
│ │ │ │ ├── RotatingFileHandler.php
│ │ │ │ ├── SamplingHandler.php
│ │ │ │ ├── Slack/
│ │ │ │ │ └── SlackRecord.php
│ │ │ │ ├── SlackHandler.php
│ │ │ │ ├── SlackWebhookHandler.php
│ │ │ │ ├── SlackbotHandler.php
│ │ │ │ ├── SocketHandler.php
│ │ │ │ ├── StreamHandler.php
│ │ │ │ ├── SwiftMailerHandler.php
│ │ │ │ ├── SyslogHandler.php
│ │ │ │ ├── SyslogUdp/
│ │ │ │ │ └── UdpSocket.php
│ │ │ │ ├── SyslogUdpHandler.php
│ │ │ │ ├── TestHandler.php
│ │ │ │ ├── WhatFailureGroupHandler.php
│ │ │ │ └── ZendMonitorHandler.php
│ │ │ ├── Logger.php
│ │ │ ├── Processor/
│ │ │ │ ├── GitProcessor.php
│ │ │ │ ├── IntrospectionProcessor.php
│ │ │ │ ├── MemoryPeakUsageProcessor.php
│ │ │ │ ├── MemoryProcessor.php
│ │ │ │ ├── MemoryUsageProcessor.php
│ │ │ │ ├── MercurialProcessor.php
│ │ │ │ ├── ProcessIdProcessor.php
│ │ │ │ ├── ProcessorInterface.php
│ │ │ │ ├── PsrLogMessageProcessor.php
│ │ │ │ ├── TagProcessor.php
│ │ │ │ ├── UidProcessor.php
│ │ │ │ └── WebProcessor.php
│ │ │ ├── Registry.php
│ │ │ ├── ResettableInterface.php
│ │ │ ├── SignalHandler.php
│ │ │ └── Utils.php
│ │ └── tests/
│ │ └── Monolog/
│ │ ├── ErrorHandlerTest.php
│ │ ├── Formatter/
│ │ │ ├── ChromePHPFormatterTest.php
│ │ │ ├── ElasticaFormatterTest.php
│ │ │ ├── FlowdockFormatterTest.php
│ │ │ ├── FluentdFormatterTest.php
│ │ │ ├── GelfMessageFormatterTest.php
│ │ │ ├── JsonFormatterTest.php
│ │ │ ├── LineFormatterTest.php
│ │ │ ├── LogglyFormatterTest.php
│ │ │ ├── LogstashFormatterTest.php
│ │ │ ├── MongoDBFormatterTest.php
│ │ │ ├── NormalizerFormatterTest.php
│ │ │ ├── ScalarFormatterTest.php
│ │ │ └── WildfireFormatterTest.php
│ │ ├── Handler/
│ │ │ ├── AbstractHandlerTest.php
│ │ │ ├── AbstractProcessingHandlerTest.php
│ │ │ ├── AmqpHandlerTest.php
│ │ │ ├── BrowserConsoleHandlerTest.php
│ │ │ ├── BufferHandlerTest.php
│ │ │ ├── ChromePHPHandlerTest.php
│ │ │ ├── CouchDBHandlerTest.php
│ │ │ ├── DeduplicationHandlerTest.php
│ │ │ ├── DoctrineCouchDBHandlerTest.php
│ │ │ ├── DynamoDbHandlerTest.php
│ │ │ ├── ElasticSearchHandlerTest.php
│ │ │ ├── ErrorLogHandlerTest.php
│ │ │ ├── FilterHandlerTest.php
│ │ │ ├── FingersCrossedHandlerTest.php
│ │ │ ├── FirePHPHandlerTest.php
│ │ │ ├── Fixtures/
│ │ │ │ └── .gitkeep
│ │ │ ├── FleepHookHandlerTest.php
│ │ │ ├── FlowdockHandlerTest.php
│ │ │ ├── GelfHandlerLegacyTest.php
│ │ │ ├── GelfHandlerTest.php
│ │ │ ├── GelfMockMessagePublisher.php
│ │ │ ├── GroupHandlerTest.php
│ │ │ ├── HandlerWrapperTest.php
│ │ │ ├── HipChatHandlerTest.php
│ │ │ ├── InsightOpsHandlerTest.php
│ │ │ ├── LogEntriesHandlerTest.php
│ │ │ ├── MailHandlerTest.php
│ │ │ ├── MockRavenClient.php
│ │ │ ├── MongoDBHandlerTest.php
│ │ │ ├── NativeMailerHandlerTest.php
│ │ │ ├── NewRelicHandlerTest.php
│ │ │ ├── NullHandlerTest.php
│ │ │ ├── PHPConsoleHandlerTest.php
│ │ │ ├── PsrHandlerTest.php
│ │ │ ├── PushoverHandlerTest.php
│ │ │ ├── RavenHandlerTest.php
│ │ │ ├── RedisHandlerTest.php
│ │ │ ├── RollbarHandlerTest.php
│ │ │ ├── RotatingFileHandlerTest.php
│ │ │ ├── SamplingHandlerTest.php
│ │ │ ├── Slack/
│ │ │ │ └── SlackRecordTest.php
│ │ │ ├── SlackHandlerTest.php
│ │ │ ├── SlackWebhookHandlerTest.php
│ │ │ ├── SlackbotHandlerTest.php
│ │ │ ├── SocketHandlerTest.php
│ │ │ ├── StreamHandlerTest.php
│ │ │ ├── SwiftMailerHandlerTest.php
│ │ │ ├── SyslogHandlerTest.php
│
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 2
================================================
FILE: .gitattributes
================================================
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore
core.autocrlf=true
================================================
FILE: .gitignore
================================================
================================================
FILE: .styleci.yml
================================================
php:
preset: laravel
disabled:
- unused_use
finder:
not-name:
- index.php
- server.php
js:
finder:
not-name:
- webpack.mix.js
css: true
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2020 :)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================

> Laravel诗词博客-匠心编程,热爱生活。
> 感謝各位朋友的支持,很开心和你分享我的代码,希望大家也能多写博客,提高自己能力的同时又能以后回顾所学的知识。饮水思源,你的 **Star** 就是对我最好的支持。
> 本博客会一直维护和更新,已有基础上做调整,最大程度上确保原有用户可以 pull 代码,获取最佳体验。如果你在安装过程中遇到了问题,请提交 `Issue` ,我将会为你提供帮助。

#### 简介
1. 采用 Laravel5.8 版本框架搭建
2. 前端使用 Bootstrap4 框架,适配移动、PC
3. 管理后台使用 Laravel-admin1.73 版本
4. 使用 jQuery 的 Pjax 扩展,实现页面无刷新加载
5. 各个板块可自定义、扩展性强、注重细节且性能优异
6. 写作支持 MarkDown 语法编辑器、Simditor 富文本编辑器
7. 完美支持个人音乐播放、图片管理、视频播放
8. 支持多人邮箱订阅,发布文章进行队列邮件通知
9. 提供丰富的 Live2D 看板娘动画效果
10. 文件上传支持七牛云对象存储和其它对象存储
11. 世界上最漂亮的博客之一(may be)
#### 服务器要求
- 推荐安装Nginx或Apache(其它web服务器也可)
- 安装 MySQL(推荐5.6版本以上)
- Redis(非必须,订阅邮箱发信队列使用)
- 安装 PHP >= 7.1.3 (推荐版本7.2)
> PHP必要扩展
```
[root@centos ~]# php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib
```
#### 如何搭建此博客?
> 博客开源发布以来,受到了很多人的认同和赞美,同时也收到了很多大家给出的有效建议,在此很感谢大家支持。不过在安装过程中由于大家安装环境不同,部分朋友可能遇到个别小问题难以解决,请提交 `Issue` ,我将会为你提供帮助,**安装步骤务必仔细查阅**,已由作者经过多次实际操作验证,确保可用。
- ##### Laravel 诗词博客开源地址
> GitHub项目地址: `https://github.com/qqphp`
> 码云项目地址:`https://gitee.com/qqphp`
> 如果你喜欢此博客,或者对你有帮助,可以 **Star** 支持,十分感谢。
- ##### 在 `.env` 文件中,配置数据库连接等配置
```
APP_DEBUG = false
APP_URL = https://qqphp.com(你的域名)
QUEUE_CONNECTION = database
```
- 数据库配置
```
DB_CONNECTION = mysql
DB_HOST = 127.0.0.1
DB_PORT = 3306
DB_DATABASE = 数据库名
DB_USERNAME = 帐号
DB_PASSWORD = 密码
```
- ##### 导入初始化演示数据
- 将 `.../laravel_blog/sql/qqphp.sql` 文件数据,导入 MySQL 数据库。
- ##### 设置文件目录软链接
- 执行命令: php artisan aetherupload:groups 会自动在配置文件的 groups 下新增分组
- Linux系统下赋予 `storage`,`public` 目录读写权限,执行 `chmod -R 777 storage` 和 `chmod -R 777 public` 命令
- Linux系统下执行创建软链接 `ln -s /www/wwwroot/项目目录/storage/ /www/wwwroot/项目目录/public/`
- 配置文件上传,可保存本地服务器或者七牛云对象存储平台
上传本地存储需在 `.env` 文件中加入 `UPLOAD_TYPE=admin`
上传到七牛云需在 `.env` 文件中加入 `UPLOAD_TYPE=qiniu`,需在 `config/filesystems.php` 文件中添加以下配置。
```
'qiniu' => [
'driver' => 'qiniu',
'domains' => [
'default' => 'qiniu.qqphp.com', // 你的七牛域名【融合CDN加速域名 *必填】
'https' => '', // 你的HTTPS域名
'custom' => '', // 你的自定义域名
],
'access_key'=> 'Yne-lN5CK1a0**********duEEylaoUjQAI', //AccessKey【*必填】
'secret_key'=> 'I2AecMg_MHUxEj**********zZo9hSWykRx3NO', //SecretKey【*必填】
'bucket' => 'leiyong-blog', //Bucket名字【实例名称 *必填】
'notify_url'=> '', // 持久化处理回调地址
'url' => '', // 填写文件访问根url
'access' => '', // 空间访问控制 public 或 private
],
```
- ##### 登录博客后台,进行个人站点配置
博客后台访问网址: `域名/admin`,开始愉快博客写作之旅。
> 默认后台管理账号: `admin`,密码: `admin`
#### 鸣谢
`Laravel诗词博客` 本博客致谢开源作者们开发的优秀插件或服务。
- [Laravel](https://laravel.com)
- [Laravel-admin](https://github.com/z-song/laravel-admin)
- [Jquery-pjax](https://github.com/defunkt/jquery-pjax)
- [APlayer](http://aplayer.js.org)
- [DPlayer ](http://dplayer.js.org)
- [Toc-helper](https://gitee.com/itlangz/toc-helper)
- [Simditor](https://simditor.tower.im)
- [Font Awesome](https://fontawesome.com)
- [Composer](https://getcomposer.org)
- [Creative-Tim](https://www.creative-tim.com)
- [Bootstrap](https://getbootstrap.com)
#### 常见问题
- 1.执行 `composer install` 命令,报错无法下载扩展?
> 首先确保MySQL数据库能正常连接,然后检查 PHP 扩展、再次确认 PHP >= 7.1.3 版本。Linux 可以执行 `php -m` 查看已有扩展。
- 2.无法上传大视频或者歌曲文件?
> 确认上传文件目录 `public` 和 `storage` 有增删权限,且在上述安装步骤中设置了软连接。
>
> 修改 PHP 配置文件 `php.ini` 的上传文件参数,在配置文件中找到如下参数修改:
```
file_uploads = on; # 是否允许通过HTTP上传文件的开关。
upload_max_filesize = 1024m; # 允许上传文件大小的最大值。
post_max_size = 1024m; # 指通过表单 POST 给 PHP 的所能接收的最大值。
max_execution_time = 300; # 每个 PHP 页面运行的最大时间值(秒)。
memory_limit = 256m; # 每个 PHP 页面所吃掉的最大内存。
```
- 3.音乐和视频无法播放,HTTP 异步请求报 206 或 416 状态码?
> 安装好后,音乐、视频无法播放,HTTP 异步请求出现 **416 、206** 的状态码。是由于缺失 PHP 必要扩展,检查 PHP 扩展是否包含安装教程中所罗列的必要扩展。
- 4.文章内容无法显示或显示后又自动隐藏?
> 是由于 `Composer install` 时执行过程中出现错误,导致部分扩展未能下载造成,如 Pjax 扩展,可以删除 `Vendor` 目录,检查 PHP 扩展,确认操作环境无误后,重新执行 `Composer install` 下载扩展,删除浏览器缓存,重新查看文章。
- 5.以上步骤配置执行完后,访问域名报 500 的错误?
> 确保入口文件,也就是运行目录指向 `.../public/` 目录下。
>
> 检查是否已经配置 Laravel 的伪静态设置,确保请求引导至 `index.php` 前端控制器。
>
> 参考 Laravel5.8 中文文档配置 : `https://learnku.com/docs/laravel/5.8/installation/3879`。配置好伪静态,重启web服务器访问即可。
- 6.composer install时出现 `Warning: putenv() has been disabled for security reasons` 的问题?
> 是由于 PHP 可能在安装后会自动禁用一些函数,去除禁用函数即可。
- 7.网站安装好后,访问出现 `Warning: require(/www/wwwroot/blog/code/laravel_blog/vendor/autoload.php): failed to open stream: Operation not permitted in /www/wwwroot/blog/code/laravel_blog/public/index.php on line 24`的问题?
> 是由于站点开启了防跨站攻击(open_basedir)的设置,关闭该设置后重启 PHP 服务即可。
- 8.上传文件出现 `stream_copy_to_stream(): read of 8192 bytes failed with errno=21 Is a directory` 报错?
> 是由于 PHP 配置中默认上传文件大小为 2M,修改 php.ini 文件中 `upload_max_filesize = 2M` 的配置,调整到您需到的大小即可。
- 9.浏览器中网页标签中的icon无法显示,引用者策略: strict-origin-when-cross-origin,状态:Mixed Content?
> Nginx站点配置中添加 `add_header Access-Control-Allow-Origin *;` 和 `add_header Content-Security-Policy upgrade-insecure-requests;`,修改配置后重启Nginx服务。
#### 执照
Laravel 诗词博客根据 [MIT许可证(MIT)](https://github.com/qqphp-com)获得许可。
#### 博客修复与调整日志
- *2019年10月01日* 博客第一个版本正式上线与开源
- *2019年11月07日* 新增七牛云存储文件上传功能与配置
- *2020年01月03日* 修复文章详情刷新后内容不见BUG,修复视频详情刷新后无法再次播放问题。
- *2020年09月09日* 修复顶级导航下无子导航时页面报错Bug,简化安装逻辑。
- *2023年05月10日* 优化安装步骤描述。
================================================
FILE: app/Admin/Actions/Post/GoArticle.php
================================================
<?php
namespace App\Admin\Actions\Post;
use Encore\Admin\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
class GoArticle extends RowAction
{
public $name = '管理';
/**
* @return string
*/
public function href()
{
return $this->getRow()->getOriginal('nav_action');
}
}
================================================
FILE: app/Admin/Controllers/AuthController.php
================================================
<?php
namespace App\Admin\Controllers;
use Encore\Admin\Controllers\AuthController as BaseAuthController;
class AuthController extends BaseAuthController
{
}
================================================
FILE: app/Admin/Controllers/BlogAboutArticleController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogAboutArticle;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogAboutArticleController extends AdminController
{
protected $about_type = [];
public function __construct()
{
$this->about_type = DB::table('blog_about')->where('about_type', 1)->pluck('about_title', 'id');
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogAboutArticle';
public function index(Content $content)
{
return $content->header('关于管理')->description('单页管理')->body($this->grid($this->about_type));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($about_type)
{
$grid = new Grid(new BlogAboutArticle);
$grid->model()->orderBy('article_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', __('ID'));
$grid->column('articles_title', __('单页标题'))->editable();
$grid->column('article_show', __('是否显示'))->using([1 => '显示', 2 => '隐藏']);
$grid->column('article_sort', __('单页排序'));
$grid->column('notice_id', __('所属关于'))->using($about_type->toArray());
$grid->column('created_at', __('创建时间'));
$grid->filter(function ($filter) use ($about_type) {
$filter->equal('notice_id', '所属关于')->select($about_type);
$filter->like('articles_title', '单页标题');
$filter->equal('article_show', '是否显示')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogAboutArticle::findOrFail($id));
$show->field('id', __('Id'));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogAboutArticle);
$form->select('notice_id', __('关联列表'))->options($this->about_type)->required()->rules('required');
$form->text('articles_title', __('单页标题'))->attribute('autocomplete', 'off')->required()->rules('required|max:20');
$form->simditor('articles_content', __('单页内容'));
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('article_show', '是否显示')->states($states)->default(1);
$form->number('article_sort', __('单页排序'))->default(100)->rules('integer|between:0,999999');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogAboutCardOneController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogAboutCardOne;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogAboutCardOneController extends AdminController
{
protected $about_type = [];
public function __construct()
{
$this->about_type = DB::table('blog_about')->where('about_type', 2)->pluck('about_title', 'id');
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogAboutCardOne';
public function index(Content $content)
{
return $content->header('关于管理')->description('卡片管理')->body($this->grid($this->about_type));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($about_type)
{
$grid = new Grid(new BlogAboutCardOne);
$grid->column('id', __('ID'));
$grid->model()->orderBy('card_sort', 'desc')->orderBy('id', 'desc');
$grid->column('card_title', __('卡片标题'));
$grid->column('card_icon', __('卡片icon'));
$grid->column('card_show', __('是否显示'))->using([1 => '显示', 2 => '隐藏']);
$grid->column('card_sort', __('卡片排序'));
$grid->column('notice_id', __('所属关于'))->using($about_type->toArray());
$grid->column('created_at', __('添加时间'));
$grid->filter(function ($filter) use ($about_type) {
$filter->equal('notice_id', '所属关于')->select($about_type);
$filter->like('card_title', '卡片标题');
$filter->equal('card_show', '是否显示')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogAboutCardOne::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogAboutCardOne);
$form->select('notice_id', __('关联列表'))->options($this->about_type)->required();
$form->text('card_title', __('卡片标题'))->attribute('autocomplete', 'off')->required()->rules('required|max:20');
$form->icon('card_icon', __('卡片icon'))->help('更多icon图标访问 <a href="https://fontawesome.com" target="_blank">https://fontawesome.com</a>,填写该icon完整引用,示例[fab fa-php、far fa-futbol]')->required()->rules('required');
$form->textarea('card_content', __('卡片描述'))->rules('required');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('card_show', '是否显示')->states($states)->default(1);
$form->number('card_sort', __('卡片排序'))->default(100)->rules('integer|between:0,999999');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogAboutCardTwoController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogAboutCardTwo;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogAboutCardTwoController extends AdminController
{
protected $about_type = [];
public function __construct()
{
$this->about_type = DB::table('blog_about')->where('about_type', 3)->pluck('about_title', 'id');
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogAboutCardTwo';
public function index(Content $content)
{
return $content->header('关于管理')->description('图标管理')->body($this->grid($this->about_type));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($about_type)
{
$grid = new Grid(new BlogAboutCardTwo);
$grid->column('id', __('ID'));
$grid->model()->orderBy('card_sort', 'desc')->orderBy('id', 'desc');
$grid->column('card_title', __('卡片标题'));
$grid->column('card_icon', __('卡片icon'));
$grid->column('card_background', __('卡片背景'))->image();
$grid->column('card_show', __('是否显示'))->using([1 => '显示', 2 => '隐藏']);
$grid->column('card_sort', __('卡片排序'));
$grid->column('notice_id', __('所属关于'))->using($about_type->toArray());
$grid->column('created_at', __('添加时间'));
$grid->filter(function ($filter) use ($about_type) {
$filter->equal('notice_id', '所属关于')->select($about_type);
$filter->like('card_title', '卡片标题');
$filter->equal('card_show', '是否显示')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogAboutCardTwo::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogAboutCardTwo);
$form->select('notice_id', __('关联列表'))->options($this->about_type)->required();
$form->text('card_title', __('卡片标题'))->attribute('autocomplete', 'off')->required()->rules('required|max:20');
$form->image('card_background', '卡片背景')->uniqueName();
$form->icon('card_icon', __('卡片icon'))->help('更多icon图标访问 <a href="https://fontawesome.com" target="_blank">https://fontawesome.com</a>,填写该icon完整引用,示例[fab fa-php、far fa-futbol]')->required()->rules('required');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('card_show', '是否显示')->states($states)->default(1);
$form->number('card_sort', __('卡片排序'))->default(100)->rules('integer|between:0,999999');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogAboutController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogAbout;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
class BlogAboutController extends AdminController
{
protected $options = [
1 => '单页',
2 => '卡片介绍',
3 => '卡片图标',
];
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogAbout';
public function index(Content $content)
{
return $content->header('关于管理')->description('关于列表')->body($this->grid());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogAbout);
$grid->column('id', __('ID'));
$grid->model()->orderBy('about_sort', 'desc')->orderBy('id', 'desc');
$grid->column('about_title', __('关于标题'))->editable();
$grid->column('about_type', __('关于类型'))->using($this->options);
$grid->column('about_sort', __('关于排序'));
$grid->column('about_show', __('是否显示'))->using([1 => '显示', 2 => '隐藏']);
$grid->column('created_at', __('添加时间'));
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogAbout::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogAbout);
$form->text('about_title', __('关于标题'))->attribute('autocomplete', 'off')->required()->rules('required|max:20');
$form->select('about_type', __('关于类型'))->options($this->options)->required(0)->rules('required');
$form->number('about_sort', __('关于排序'))->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('about_show', __('是否显示'))->states($states)->default(1);
$form->textarea('about_describe', '关于描述');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogFriendsController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogFriends;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;
use Encore\Admin\Layout\Content;
class BlogFriendsController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogFriends';
public function index(Content $content)
{
return $content->header('友链管理')->description('链接列表')->body($this->grid());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogFriends);
$grid->model()->orderBy('friends_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('friends_title', '博客名称')->editable();
$grid->column('friends_link', '博客链接')->link();
$grid->column('friends_describe', '博客描述');
$grid->column('friends_contact', '联系方式');
$grid->column('friends_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->column('friends_type', '添加方式')->using([1 => '申请添加', 2 => '后台添加']);
$grid->column('friends_examine', '审核状态')->using([1 => '通过', 2 => '待审核', 3 => '未通过']);
$grid->column('friends_recommend', '是否推荐')->using([1 => '推荐', 2 => '正常']);
$grid->column('friends_sort', '友链排序');
$grid->column('created_at', '添加时间');
$grid->filter(function ($filter) {
$filter->like('friends_title', '博客名称');
$filter->like('friends_link', '博客链接');
$filter->equal('friends_show', '是否显示')->select([1 => '显示', 2 => '隐藏']);
$filter->equal('friends_show', '是否推荐')->select([1 => '推荐', 2 => '正常']);
$filter->equal('friends_examine', '审核状态')->select([1 => '通过', 2 => '待审核', 3 => '未通过']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogFriends::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogFriends);
$form->text('friends_title', '博客名称')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->url('friends_link', '博客链接')->attribute('autocomplete', 'off')->required()->rules('required|url')->creationRules(['required' => 'unique:blog_friends']);
$form->textarea('friends_describe', '博客描述')->attribute('autocomplete', 'off')->required()->rules('required|max:100');
$form->text('friends_contact', '联系方式')->attribute('autocomplete', 'off')->required()->rules('required');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('friends_show', '是否显示')->states($states)->default(1);
$form->hidden('friends_type', '添加方式')->value(2);
$form->number('friends_sort', '排序')->default(100);
$status = [1 => '通过', 2 => '待审核', 3 => '未通过'];
$form->radio('friends_examine', '审核状态')->options($status)->default(2);
$recommend = [
'on' => ['value' => 1, 'text' => '推荐', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '正常', 'color' => 'danger'],
];
$form->switch('friends_recommend', '是否推荐')->states($recommend)->default(2);
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogMessageController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogMessage;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
class BlogMessageController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogMessage';
public function index(Content $content)
{
return $content->header('留言管理')->description('留言列表')->body($this->grid());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogMessage);
$grid->model()->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('msg_blog_name', '博客名称');
$grid->column('msg_blog_link', '博客链接')->link();
$grid->column('msg_blog_contact', '联系方式');
$grid->column('msg_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->column('msg_type', '留言板块')->using([1 => '文章板块', 2 => '视频板块', 3 => '留言板块']);;
$grid->column('msg_ip', '留言人IP');
$grid->column('created_at', '添加时间');
$grid->filter(function ($filter) {
$filter->like('msg_blog_name', '博客名称');
$filter->like('msg_blog_link', '博客链接');
$filter->equal('msg_show', '是否显示')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogMessage::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogMessage);
$form->text('msg_blog_name', '留言博客名称')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->text('msg_blog_link', '留言博客链接')->attribute('autocomplete', 'off')->required()->rules('required|url');
$form->text('msg_blog_contact', '留言联系方式')->attribute('autocomplete', 'off')->required()->rules('required');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('msg_show', '是否显示')->states($states)->default(1);
$form->textarea('msg_content', '留言内容')->required()->rules('required');
$form->hidden('msg_type', '留言类型')->default(3);
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavArticleController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavArticle;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavArticleController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 1)->pluck('nav_title', 'id')->toArray();
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavArticle';
public function index(Content $content)
{
return $content->header('内容管理')->description('文章管理')->body($this->grid($this->nav_name));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavArticle);
$grid->model()->orderBy('article_sort', 'desc')->orderBy('id', 'desc');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});
$grid->column('article_title', '文章标题')->editable();
$grid->column('article_tag', '文章标签')->display(function ($article_tag) {
$article_tag = empty($article_tag) ? '' : explode(',', $article_tag);
return $article_tag;
})->label('success');
$grid->column('article_click', '点击量');
$grid->column('article_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->column('article_sort', '文章排序');
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('article_title', '文章标题');
$filter->equal('article_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
$grid->column('created_at', '添加时间');
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavArticle::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavArticle);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('article_title', '文章标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->tags('article_tag', '文章标签')->help('建议使用标签总数量不超过6个')->attribute('autocomplete', 'off');
$form->textarea('article_describe', '文章简介');
$form->editormd('article_content', '文章内容')->required()->rules('required');
$form->number('article_click', '点击量')->default(0)->rules('integer|between:0,999999');
$form->number('article_sort', '文章排序')->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('article_show', '是否显示')->states($states)->default(1);
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Admin\Actions\Post\GoArticle;
use App\Models\BlogNav;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Column;
use Encore\Admin\Layout\Content;
use Encore\Admin\Layout\Row;
use Encore\Admin\Show;
class BlogNavController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNav';
protected $navigation = [
0 => '顶级分类',
1 => '文章',
2 => '照片',
3 => '音乐',
4 => '视频',
5 => '卡片1',
6 => '卡片2',
];
public function index(Content $content)
{
$content->header('导航管理');
$content->description('导航列表');
return $content->row(function (Row $row) {
$row->column(6, BlogNav::tree(function ($tree) {
$tree->disableCreate();
$tree->branch(function ($branch) {
if ($branch['nav_open'] == 1) {
$lable = '<span class="label label-info" style="margin-left: 20px;">启用</span>';
} else {
$lable = '<span class="label label-default" style="margin-left: 20px;">关闭</span>';
}
return "{$branch['id']} - {$branch['nav_title']}" . $lable;
});
}));
$row->column(6, function (Column $column) {
$form = new Form(new BlogNav);
$form->setAction('blog-navs');
$tree_nav = $form->model()->getTree();
$select_nav = array('顶级导航');
foreach ($tree_nav as $k => $v) {
$select_nav[$v['id']] = str_repeat('|--------', $v['level']) . $v['nav_title'];
}
$form->select('nav_pid', '顶级导航')->options($select_nav)->default(0);
$form->text('nav_title', '导航标题')->rules('required|max:20');
$form->select('nav_type', '导航分类')->options($this->navigation);
$states = [
'on' => ['value' => 1, 'text' => '启用', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '关闭', 'color' => 'danger'],
];
$form->switch('nav_open', '是否启用')->states($states)->default(1);
$form->number('nav_sort', '导航排序')->default(100)->rules('integer|between:1,999999');
$column->append($form);
});
});
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogNav);
$grid->model()->orderBy('nav_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_title', '导航标题')->editable();
$grid->column('nav_type', '导航类型')->using($this->navigation);
$grid->column('nav_open', '是否启用')->using([1 => '启用', 2 => '关闭'])->label([
2 => 'default',
1 => 'success',
]);
$grid->column('nav_sort', '导航排序')->editable();
$grid->column('nav_pid', '上级导航')->display(function ($nav_pid) {
$blog_model = new BlogNav();
$tree_nav = $blog_model->getTree();
$select_nav = array('顶级导航');
foreach ($tree_nav as $k => $v) {
$select_nav[$v['id']] = $v['nav_title'];
}
return empty($select_nav[$nav_pid]) ? '暂无' : $select_nav[$nav_pid];
});
$grid->column('created_at', '创建时间');
$grid->filter(function ($filter) {
$filter->like('nav_title', '导航标题');
});
$grid->actions(function ($actions) {
$actions->add(new GoArticle());
$actions->disableView();
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNav::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNav);
$form->display('id', 'ID');
$tree_nav = $form->model()->getTree();
$select_nav = array('顶级导航');
foreach ($tree_nav as $k => $v) {
$select_nav[$v['id']] = str_repeat('|----', $v['level']) . $v['nav_title'];
}
$form->select('nav_pid', '顶级导航')->options($select_nav)->default(0);
$form->text('nav_title', '导航标题')->attribute('autocomplete', 'off')->rules('required|max:80');
$form->select('nav_type', '导航分类')->options($this->navigation);
$states = [
'on' => ['value' => 1, 'text' => '启用', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '关闭', 'color' => 'danger'],
];
$form->switch('nav_open', '是否启用')->states($states)->default(1);
$form->number('nav_sort', '导航排序')->default(100)->rules('integer|between:1,999999');
//保存后回调
$form->saved(function (Form $form) {
$blog_nav = new BlogNav();
$id = $form->model()->id;
$blog_nav = $blog_nav::find($id);
$route_home = [
'0' => '',
'1' => 'article',
'2' => 'photo',
'3' => 'music',
'4' => 'video',
'5' => 'card1',
'6' => 'card2',
];
$blog_nav->nav_route = $route_home[$form->nav_type];
$blog_nav->save();
});
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavMusicController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavMusic;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavMusicController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 3)->pluck('nav_title', 'id')->toArray();
}
public function index(Content $content)
{
return $content->header('内容管理')->description('歌单管理')->body($this->grid($this->nav_name)); // TODO: Change the autogenerated stub
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavMusic';
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavMusic);
$grid->model()->orderBy('music_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});;
$grid->column('music_title', '歌单标题');
$grid->column('music_tag', '歌单标签')->display(function ($music_tag) {
$music_tag = empty($music_tag) ? '' : explode(',', $music_tag);
return $music_tag;
})->label('success');
$grid->column('music_img', '歌单封面')->image();
$grid->column('music_click', '点击量');
$grid->column('music_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->column('music_play', '添加播放列表')->using([1 => '是', 2 => '否']);
$grid->column('music_sort', '歌单排序');
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('music_title', '文章标题');
$filter->equal('music_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavMusic::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavMusic);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('music_title', '歌单标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->tags('music_tag', '歌单标签')->help('建议使用标签总数量不超过6个');
$form->textarea('music_describe', '歌单描述')->rules('required');
$form->image('music_img', '歌单封面')->uniqueName()->attribute('accept', 'image/*')->required();
$form->number('music_click', '点击量')->default(0)->rules('integer|between:0,999999');
$form->number('music_sort', '歌单排序')->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('music_show', '是否显示')->states($states)->default(1);
$play = [
'on' => ['value' => 1, 'text' => '是', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '否', 'color' => 'danger'],
];
$form->switch('music_play', '添加播放列表')->states($play)->default(1);
$form->multipleFile('music_json', '所属歌曲')->attribute('accept', 'audio/*')->removable()->sortable();
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavPhotoController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavPhoto;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavPhotoController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 2)->pluck('nav_title', 'id')->toArray();
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavPhoto';
public function index(Content $content)
{
return $content->header('内容管理')->description('相册管理')->body($this->grid($this->nav_name));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavPhoto);
$grid->model()->orderBy('photo_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});
$grid->column('photo_title', '相册标题');
$grid->column('photo_img', '相册封面')->image();
$grid->column('photo_tag', '相册标签')->display(function ($photo_tag) {
$photo_tag = empty($photo_tag) ? '' : explode(',', $photo_tag);
return $photo_tag;
})->label('success');
$grid->column('photo_click', '点击量');
$grid->column('photo_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->column('photo_sort', '相册排序');
$grid->column('created_at', '添加时间');
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('article_title', '文章标题');
$filter->equal('article_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
$grid->filter(function ($filter) {
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavPhoto::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavPhoto);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('photo_title', '相册标题')->required()->attribute('autocomplete', 'off')->rules('required|max:80');
$form->image('photo_img', '相册封面')->uniqueName()->attribute('accept', 'image/*')->required()->rules('required');
$form->tags('photo_tag', '相册标签')->help('建议使用标签总数量不超过6个');
$form->number('photo_click', '点击量')->default(0)->rules('required|integer|between:0,999999');
$form->number('photo_sort', '相册排序')->default(100)->rules('required|integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('photo_show', '是否显示')->states($states)->default(1);
$form->multipleImage('photo_json', '所属照片')->uniqueName()->attribute('accept', 'image/*')->removable()->sortable()->rules('required');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavShareOneController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavShareOne;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavShareOneController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 5)->pluck('nav_title', 'id')->toArray();
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavShareOne';
public function index(Content $content)
{
return $content->header('内容管理')->description('分享卡片一管理')->body($this->grid($this->nav_name));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavShareOne);
$grid->model()->orderBy('share_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});
$grid->column('share_title', '分享标题')->editable();
$grid->column('share_icon', 'ICON图标');
$grid->column('share_src', '分享封面')->image();
$grid->column('share_link', '分享链接')->link();
$grid->column('share_sort', '分享排序');
$grid->column('share_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('share_title', '文章标题');
$filter->equal('share_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavShareOne::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavShareOne);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('share_title', '分享标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->icon('share_icon', 'icon图标')->help('更多icon图标访问 <a href="https://fontawesome.com" target="_blank">https://fontawesome.com</a>,填写该icon完整引用,示例[fab fa-php、far fa-futbol]')->rules('required');
$form->text('share_link', '分享链接')->rules('url');
$form->image('share_src', '分享封面')->uniqueName()->attribute('accept', 'image/*')->required();
$form->number('share_sort', '分享排序')->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('share_show', '是否显示')->states($states)->default(1);
$form->textarea('share_intro', '分享描述');
$form->simditor('share_describe', '详情内容');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavShareTwoController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavShareTwo;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavShareTwoController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 6)->pluck('nav_title', 'id')->toArray();
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavShareTwo';
public function index(Content $content)
{
return $content->header('内容管理')->description('分享卡片一管理')->body($this->grid($this->nav_name));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavShareTwo);
$grid->model()->orderBy('share_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});
$grid->column('share_title', '分享标题')->editable();
$grid->column('share_note', '分享副标题')->editable();
$grid->column('share_src', '分享封面')->image();
$grid->column('share_link', '分享链接')->link();
$grid->column('share_sort', '分享排序');
$grid->column('share_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('share_title', '文章标题');
$filter->equal('share_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavShareTwo::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavShareTwo);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('share_title', '分享标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->text('share_note', '分享副标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->text('share_link', '分享链接')->rules('url');
$form->image('share_src', '分享封面')->uniqueName()->attribute('accept', 'image/*')->required();
$form->number('share_sort', '分享排序')->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('share_show', '是否显示')->states($states)->default(1);
$form->textarea('share_describe', '分享描述');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNavVideoController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNavVideo;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
use Illuminate\Support\Facades\DB;
class BlogNavVideoController extends AdminController
{
protected $nav_name = [];
public function __construct()
{
$this->nav_name = DB::table('blog_nav')->where('nav_type', 4)->pluck('nav_title', 'id')->toArray();
}
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNavVideo';
public function index(Content $content)
{
return $content->header('内容管理')->description('视频管理')->body($this->grid($this->nav_name));
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid($nav_name)
{
$grid = new Grid(new BlogNavVideo);
$grid->model()->orderBy('video_sort', 'desc')->orderBy('id', 'desc');
$grid->column('id', 'ID');
$grid->column('nav_id', '所属导航')->display(function ($nav_id) use ($nav_name) {
return $nav_name[$nav_id];
});
$grid->column('video_title', '视频标题')->editable();
$grid->column('video_tag', '视频标签')->display(function ($video_tag) {
$video_tag = empty($video_tag) ? '' : explode(',', $video_tag);
return $video_tag;
})->label('success');;
$grid->column('video_img', '视频封面')->image();
$grid->column('video_link', '视频链接');
$grid->column('video_click', '点击量');
$grid->column('video_sort', '视频排序');
$grid->column('video_recommend', '是否推荐')->using([1 => '推荐', 2 => '关闭']);;
$grid->column('video_show', '是否显示')->using([1 => '显示', 2 => '隐藏']);;
$grid->filter(function ($filter) use ($nav_name) {
$filter->equal('nav_id', '所属导航')->select($nav_name);
$filter->like('video_title', '文章标题');
$filter->equal('video_show', '是否隐藏')->select([1 => '显示', 2 => '隐藏']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNavVideo::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNavVideo);
$form->select('nav_id', '所属导航')->options($this->nav_name)->rules('required|integer');
$form->text('video_title', '视频标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->tags('video_tag', '视频标签')->help('建议使用标签总数量不超过6个');
$form->textarea('video_describe', '视频描述')->rules('required');
$form->image('video_img', '视频封面')->uniqueName()->attribute('accept', 'image/*')->required();
$form->number('video_click', '点击量')->default(0)->rules('integer|between:0,999999');
$form->number('video_sort', '视频排序')->default(100)->rules('integer|between:0,999999');
$recommend = [
'on' => ['value' => 1, 'text' => '推荐', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '关闭', 'color' => 'danger'],
];
$form->switch('video_recommend', '是否推荐')->states($recommend)->default(2);
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('video_show', '是否显示')->states($states)->default(1);
$form->largefile('video_link', '所属视频')->attribute('accept', 'video/*')->rules('required');
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogNoticeController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogNotice;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
class BlogNoticeController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogNotice';
public function index(Content $content)
{
return $content->header('公告管理')->description('公告列表')->body($this->grid()); // TODO: Change the autogenerated stub
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogNotice);
$grid->model()->orderBy('notice_show', 'desc')->orderBy('id', 'desc');
$grid->column('id', __('ID'));
$grid->column('notice_title', __('公告标题'))->editable();
$grid->column('notice_sort', __('公告排序'));
$grid->column('notice_show', __('是否显示'))->using([1 => '显示', 2 => '隐藏']);
$grid->column('created_at', __('添加时间'));
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogNotice::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogNotice);
$form->text('notice_title', '公告标题')->attribute('autocomplete', 'off')->required()->rules('required|max:80');
$form->simditor('notice_content', '公告内容')->rules('required');
$form->number('notice_sort', '公告排序')->default(100)->rules('integer|between:0,999999');
$states = [
'on' => ['value' => 1, 'text' => '显示', 'color' => 'info'],
'off' => ['value' => 2, 'text' => '隐藏', 'color' => 'danger'],
];
$form->switch('notice_show', '是否显示')->states($states)->default(1);
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogSubscribeController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Models\BlogSubscribe;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;
class BlogSubscribeController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'App\Models\BlogSubscribe';
public function index(Content $content)
{
return $content->header('订阅管理')->description('订阅列表')->body($this->grid());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new BlogSubscribe);
$grid->model()->orderBy('id', 'desc');
$grid->column('id', __('ID'));
$grid->column('email', __('邮箱名称'));
$grid->column('ip', __('ip地址'));
$grid->column('is_pass', __('审核状态'))->using([1 => '审核中', 2 => '审核通过', 3 => '冻结封禁']);
$grid->column('add_mode', __('添加方式'))->using([1 => '申请添加', 2 => '后台添加']);
$grid->column('created_at', __('添加时间'));
$grid->filter(function ($filter) {
$filter->like('email', '邮箱名称');
$filter->equal('is_pass', '审核状态')->select([1 => '审核中', 2 => '审核通过', 3 => '冻结封禁']);
$filter->equal('add_mode', '添加方式')->select([1 => '申请添加', 2 => '后台添加']);
});
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(BlogSubscribe::findOrFail($id));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new BlogSubscribe);
$form->email('email', __('邮箱名称'))->creationRules('required|unique:blog_subscribes,email');
$pass_status = [1 => '审核中', 2 => '审核通过', 3 => '冻结封禁'];
$form->radio('is_pass', __('审核状态'))->options($pass_status)->default(1);
$form->hidden('add_mode')->default(2);
return $form;
}
}
================================================
FILE: app/Admin/Controllers/BlogUploadFileController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\BlogUploadFile;
use zgldh\QiniuStorage\QiniuStorage;
class BlogUploadFileController extends Controller
{
public function store(Request $request, BlogUploadFile $blogUploadFile)
{
$upload_type = env('UPLOAD_TYPE');
$type = $request->input('type');
if($upload_type == 'admin'){
if ($type == 1) {
if ($request->file('editormd-image-file')) {
$file_data = $request->file('editormd-image-file');
$save_src = $request->file('editormd-image-file')->store('article' . '/' . date('Y-m-d'), 'admin');
$blogUploadFile->img_title = $file_data->getClientOriginalName();
$blogUploadFile->img_src = $save_src;
$blogUploadFile->img_suffix = $file_data->extension();
$blogUploadFile->img_type = $type;
$blogUploadFile->img_ip = $request->getClientIp();
$bool1 = $blogUploadFile->save();
if ($bool1) {
$save_src = 'uploads/' . $save_src;
$result = array(
'success' => 1,
'message' => '上传成功',
'url' => asset($save_src)
);
} else {
$result = array(
'success' => 0,
'message' => '上传失败'
);
}
return json_encode($result);
}
} elseif ($type == 2) {
if ($request->file('simditor_file')) {
$file_data = $request->file('simditor_file');
$save_src = $request->file('simditor_file')->store('simditor' . '/' . date('Y-m-d'), 'admin');
$blogUploadFile->img_title = $file_data->getClientOriginalName();
$blogUploadFile->img_src = $save_src;
$blogUploadFile->img_suffix = $file_data->extension();
$blogUploadFile->img_type = $type;
$blogUploadFile->img_ip = $request->getClientIp();
$bool1 = $blogUploadFile->save();
if ($bool1) {
$save_src = 'uploads/' . $save_src;
$result = array(
'success' => true,
'file_path' => asset($save_src)
);
} else {
$result = array(
'success' => false
);
}
return json_encode($result);
}
}
$result = array(
'success' => 0,
'message' => '上传失败'
);
return json_encode($result);
}elseif($upload_type == 'qiniu'){
if ($type == 1) {
if ($request->file('editormd-image-file')) {
$file_data = $request->file('editormd-image-file');
// 初始化
$disk = QiniuStorage::disk('qiniu');
// 重命名文件
$fileName = md5($file_data->getClientOriginalName().time().rand()).'.'.$file_data->getClientOriginalExtension();
// 上传到七牛
$bool = $disk->put('editormd/'.$fileName,file_get_contents($file_data->getRealPath()));
if ($bool) {
$path = $disk->downloadUrl('editormd/'.$fileName);
$save_src = $path;
$blogUploadFile->img_title = $file_data->getClientOriginalName();
$blogUploadFile->img_src = $save_src;
$blogUploadFile->img_suffix = $file_data->extension();
$blogUploadFile->img_type = $type;
$blogUploadFile->img_ip = $request->getClientIp();
$bool1 = $blogUploadFile->save();
if ($bool1) {
$result = array(
'success' => 1,
'message' => '上传成功',
'url' => $save_src
);
} else {
$result = array(
'success' => 0,
'message' => '上传失败'
);
}
return json_encode($result);
}
}
} elseif ($type == 2) {
if ($request->file('simditor_file')) {
$file_data = $request->file('simditor_file');
// 初始化
$disk = QiniuStorage::disk('qiniu');
// 重命名文件
$fileName = md5($file_data->getClientOriginalName().time().rand()).'.'.$file_data->getClientOriginalExtension();
// 上传到七牛
$bool = $disk->put('simditor/'.$fileName,file_get_contents($file_data->getRealPath()));
// 判断是否上传成功
if ($bool) {
$path = $disk->downloadUrl('simditor/'.$fileName);
$save_src = $path;
$blogUploadFile->img_title = $file_data->getClientOriginalName();
$blogUploadFile->img_src = $save_src;
$blogUploadFile->img_suffix = $file_data->extension();
$blogUploadFile->img_type = $type;
$blogUploadFile->img_ip = $request->getClientIp();
$bool1 = $blogUploadFile->save();
if ($bool1) {
$result = array(
'success' => true,
'file_path' => $save_src
);
} else {
$result = array(
'success' => false
);
}
return json_encode($result);
}
}
}
$result = array(
'success' => 0,
'message' => '上传失败'
);
return json_encode($result);
}
}
}
================================================
FILE: app/Admin/Controllers/ExampleController.php
================================================
<?php
namespace App\Admin\Controllers;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;
class ExampleController extends AdminController
{
/**
* Title for current resource.
*
* @var string
*/
protected $title = 'Example controller';
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new ExampleModel);
$grid->column('id', __('ID'))->sortable();
$grid->column('created_at', __('Created at'));
$grid->column('updated_at', __('Updated at'));
return $grid;
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(ExampleModel::findOrFail($id));
$show->field('id', __('ID'));
$show->field('created_at', __('Created at'));
$show->field('updated_at', __('Updated at'));
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new ExampleModel);
$form->display('id', __('ID'));
$form->display('created_at', __('Created At'));
$form->display('updated_at', __('Updated At'));
return $form;
}
}
================================================
FILE: app/Admin/Controllers/HomeController.php
================================================
<?php
namespace App\Admin\Controllers;
use App\Http\Controllers\Controller;
use Encore\Admin\Controllers\Dashboard;
use Encore\Admin\Layout\Column;
use Encore\Admin\Layout\Content;
use Encore\Admin\Layout\Row;
class HomeController extends Controller
{
public function index(Content $content)
{
return $content
->title('Dashboard')
->description('Description...')
->row(Dashboard::title())
->row(function (Row $row) {
$row->column(4, function (Column $column) {
$column->append(Dashboard::environment());
});
$row->column(4, function (Column $column) {
$column->append(Dashboard::extensions());
});
$row->column(4, function (Column $column) {
$column->append(Dashboard::dependencies());
});
});
}
}
================================================
FILE: app/Admin/bootstrap.php
================================================
<?php
use Encore\Admin\Form;
use Encore\Admin\Admin;
/**
* Laravel-admin - admin builder based on Laravel.
* @author z-song <https://github.com/z-song>
*
* Bootstraper for Admin.
*
* Here you can remove builtin form field:
* Encore\Admin\Form::forget(['map', 'editor']);
*
* Or extend custom form field:
* Encore\Admin\Form::extend('php', PHPEditor::class);
*
* Or require js and css assets:
* Admin::css('/packages/prettydocs/css/styles.css');
* Admin::js('/packages/prettydocs/js/main.js');
*
*/
Encore\Admin\Form::forget(['map', 'editor']);
Form::init(function (Form $form) {
$form->disableEditingCheck();
$form->disableCreatingCheck();
$form->disableViewCheck();
$form->tools(function (Form\Tools $tools) {
$tools->disableDelete();
$tools->disableView();
});
});
use Encore\Admin\Grid;
Grid::init(function (Grid $grid) {
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->disableView();
});
$grid->filter(function ($filter){
// 去掉默认的id过滤器
$filter->disableIdFilter();
});
//禁用导出
$grid->disableExport();
});
/*
* 大文件上传引入
*/
Encore\Admin\Form::extend('largefile', \Encore\LargeFileUpload\LargeFileField::class);
================================================
FILE: app/Admin/routes.php
================================================
<?php
use Illuminate\Routing\Router;
Admin::routes();
Route::group([
'prefix' => config('admin.route.prefix'),
'namespace' => config('admin.route.namespace'),
'middleware' => config('admin.route.middleware'),
], function (Router $router) {
$router->get('/', 'HomeController@index')->name('admin.home');
$router->resource('blog-navs', BlogNavController::class);
$router->resource('blog-nav-articles', BlogNavArticleController::class);
$router->resource('blog-nav-photos', BlogNavPhotoController::class);
$router->resource('blog-nav-musics', BlogNavMusicController::class);
$router->resource('blog-nav-videos', BlogNavVideoController::class);
$router->resource('blog-nav-share-ones', BlogNavShareOneController::class);
$router->resource('blog-nav-share-twos', BlogNavShareTwoController::class);
$router->resource('blog-upload-files', BlogUploadFileController::class);
$router->resource('blog-messages', BlogMessageController::class);
$router->resource('blog-friends', BlogFriendsController::class);
$router->resource('blog-notices', BlogNoticeController::class);
$router->resource('blog-abouts', BlogAboutController::class);
$router->resource('blog-about-articles', BlogAboutArticleController::class);
$router->resource('blog-about-card-ones', BlogAboutCardOneController::class);
$router->resource('blog-about-card-twos', BlogAboutCardTwoController::class);
$router->resource('blog-subscribes', BlogSubscribeController::class);
});
================================================
FILE: app/Console/Kernel.php
================================================
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')
// ->hourly();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
================================================
FILE: app/Exceptions/Handler.php
================================================
<?php
namespace App\Exceptions;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Report or log an exception.
*
* @param \Exception $exception
* @return void
*/
public function report(Exception $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
return parent::render($request, $exception);
}
}
================================================
FILE: app/Http/Controllers/Auth/ForgotPasswordController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
================================================
FILE: app/Http/Controllers/Auth/LoginController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
================================================
FILE: app/Http/Controllers/Auth/RegisterController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
}
================================================
FILE: app/Http/Controllers/Auth/ResetPasswordController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
================================================
FILE: app/Http/Controllers/Auth/VerificationController.php
================================================
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}
================================================
FILE: app/Http/Controllers/Controller.php
================================================
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
================================================
FILE: app/Http/Controllers/Home/AboutController.php
================================================
<?php
namespace App\Http\Controllers\Home;
use App\Http\Controllers\Controller;
use App\Models\BlogAbout;
class AboutController extends Controller
{
/**
* Desc:关于我个人信息展示
* Date:2019/9/3/003
*/
public function index(BlogAbout $blogAbout)
{
$about_data = $blogAbout::with([
'article' => function ($query) {
$query->where('article_show', '=', 1);
},
'card1' => function ($query) {
$query->where('card_show', '=', 1)->orderBy('card_sort','desc')->orderBy('id', 'desc');
},
'card2' => function ($query) {
$query->where('card_show', '=', 1)->orderBy('card_sort','desc')->orderBy('id', 'desc');
},
])->where('about_show', 1)->get();
return view('home.about.index')->with('about_data', $about_data);
}
}
================================================
FILE: app/Http/Controllers/Home/ArticleController.php
================================================
<?php
namespace App\Http\Controllers\Home;
use App\Http\Requests\StoreBlogSubscribePost;
use App\Models\BlogMessage;
use App\Models\BlogSubscribe;
use App\Models\BlogTag;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\BlogNavArticle;
use App\Models\BlogNotice;
use Illuminate\Support\Facades\DB;
class ArticleController extends Controller
{
public function index(Request $request)
{
$random_article = [];
$show_article = [];
$nav_id = $request->route('nav_id');
$search_title = $request->input('search_title');
$tag_content = $request->input('tag_content');
$article_model = new BlogNavArticle();
$tagModel = new BlogTag();
$where_all_article = array(
['article_show', '=', 1]
);
if (trim($nav_id)) {
$where_all_article[] = ['nav_id', '=', $nav_id];
}
if (trim($search_title)) {
$where_all_article[] = ['article_title', 'like', '%' . $search_title . '%'];
}
$where_tag = array();
if ($tag_content) {
//点击标签时,该标签自增1
$tag_aid = $tagModel::where('tag_content', '=', $tag_content)->pluck('a_id', 'id');
if ($tag_aid->count()) {
$where_tag = function ($query) use ($tag_aid) {
$query->whereIn('id', $tag_aid->toArray());
};
//这里自增标签点击量
$tag_id = $tag_aid->keys();
$tagModel::whereIn('id', $tag_id)->increment('tag_click');
}
}
//获取所有文章
$show_article = $article_model::where($where_all_article)->where($where_tag)->orderBy('article_sort', 'desc')->orderBy('id', 'desc')->paginate(6);
//判断是否传入所属导航id
if ($nav_id) {
//获取随机4条文章
$random_article = $article_model::where('article_show', 1)->where('nav_id', $nav_id)->whereRaw("id >= (select floor(rand() * (select max(id) from `blog_nav_article`)))")->take(4)->get();
//获取热门文章
$hot_article = $article_model::where('article_show', 1)->where('nav_id', $nav_id)->orderBy('article_click', 'desc')->take(6)->get();
} else {
//获取随机4条文章
$random_article = $article_model::where('article_show', 1)->whereRaw("id >= (select floor(rand() * (select max(id) from `blog_nav_article`)))")->take(4)->get();
//获取热门文章
$hot_article = $article_model::where('article_show', 1)->orderBy('article_click', 'desc')->take(6)->get();
}
//获取最新的公告2条
$notice_model = new BlogNotice();
$notice_list = $notice_model::where('notice_show', 1)->orderBy('notice_sort', 'desc')->orderBy('id', 'desc')->take(2)->get();
//背景颜色
$background_color = array('blue', 'green', 'yellow', 'brown', 'purple', 'orange');
shuffle($background_color);
//按钮颜色
$button_color = array('btn-primary', 'btn-info', 'btn-success', 'btn-danger', 'btn-warning', 'btn-default');
shuffle($button_color);
//星期数组
$week_list = array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
//统计多少次阅读
$article_click = $article_model::where($where_all_article)->where($where_tag)->sum('article_click');
//统计留言条数
$message_model = new BlogMessage();
$total_msg = $message_model->count();
//标签云
$tag_result = $tagModel::select(DB::raw('count(a_id) as article_count, FLOOR(0 + (RAND() * 6)) as tag_color,tag_content,sum(tag_click) as sum_click'))->groupBy('tag_content')->orderBy('sum_click', 'desc')->take(40)->get();
$tag_color = define_badge_color();
return view('home.article.index', compact('random_article', 'show_article', 'background_color', 'hot_article', 'button_color', 'notice_list', 'week_list', 'search_title', 'tag_result', 'tag_color', 'article_click', 'total_msg'));
}
/**
* 订阅我
*/
public function subscribe(StoreBlogSubscribePost $request)
{
$email_name = $request->input('email_name');
$blogModel = new BlogSubscribe();
$blogModel->email = $email_name;
$blogModel->ip = $request->getClientIp();
$blogModel->is_pass = 1;
$blogModel->add_mode = 1;
$blogModel->save();
$result = array(
'status' => 1,
'msg' => '订阅成功',
'result' => []
);
return response()->json($result);
}
}
================================================
FILE: app/Http/Controllers/Home/ArticleDetailController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Http\Requests\StoreArticleMsgPost;
use App\Models\BlogMessage;
use App\Models\BlogNavArticle;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class ArticleDetailController extends Controller
{
/**
* 文章详情
*/
public function index(Request $request)
{
$a_id = $request->route('aid');
$articleModel = new BlogNavArticle();
$article_result = $articleModel::find($a_id);
//获取上一篇文章
$previousPostID = $articleModel::where('article_show', 1)->where('nav_id', $article_result->nav_id)->where('id', '<', $a_id)->where('article_show', 1)->where('nav_id', $article_result->nav_id)->max('id');
$previousPostID = empty($previousPostID) ? $a_id : $previousPostID;
//获取下一篇文章
$nextPostID = $articleModel::where('article_show', 1)->where('nav_id', $article_result->nav_id)->where('id', '>', $a_id)->where('article_show', 1)->where('nav_id', $article_result->nav_id)->min('id');
$nextPostID = empty($nextPostID) ? $a_id : $nextPostID;
//获取本篇文章url
$article_url = url()->current();
//获取本篇文章所属留言
$article_message = BlogMessage::where('foreign_id', $a_id)->orderBy('id', 'desc')->paginate(6);
//获取留言的背景色
$bg_arr = define_background();
//获取徽章颜色
$badge_arr = define_badge_color();
//点击量自增
$articleModel::where('id', $a_id)->increment('article_click');
return view('home.article_details.index', compact('article_result', 'article_url', 'badge_arr', 'previousPostID', 'nextPostID', 'article_message', 'bg_arr'));
}
/**
* 文章留言
*/
public function article_msg(StoreArticleMsgPost $request)
{
$msg_content = $request->msg_content;
$msg_blog_name = $request->msg_blog_name;
$msg_blog_link = $request->msg_blog_link;
$msg_blog_contact = $request->msg_blog_contact;
$msg_type = $request->msg_type;
$foreign_id = $request->foreign_id;
$msgIp = BlogMessage::where('msg_ip', $request->getClientIp())->whereBetween('created_at',[date('Y-m-d'),date('Y-m-d 23:59:59')])->count();
if($msgIp > 6){
$result = array(
'status' => 0,
'msg' => '由于经常遇到恶意留言,特此每个ip限制每日留言数量为6条,十分抱歉。'
);
return response()->json($result);
}
$blogModel = new BlogMessage();
$blogModel->msg_content = $msg_content;
$blogModel->msg_blog_name = $msg_blog_name;
$blogModel->msg_blog_link = $msg_blog_link;
$blogModel->msg_blog_contact = $msg_blog_contact;
$blogModel->msg_ip = $request->getClientIp();
$blogModel->msg_show = 1;
$blogModel->msg_type = $msg_type;
$blogModel->foreign_id = $foreign_id;
$blogModel->save();
//获取留言的背景色
$bg_arr = define_background();
if ($msg_type == 3) {
$mas_div = '<div class="card" data-background="color" data-color="' . $bg_arr[rand(0, 5)] . '"><div class="card-body"><div class="author"><a href="' . $msg_blog_link . '" target="_blank"><img src="' . asset(__STATIC_HOME__) . '/assets/img/qqhead.png" alt="..." class="avatar img-raised"><span>' . $msg_blog_name . '</span></a></div><span class="category-social pull-right"><i class="fa fa-quote-right"></i></span><div class="clearfix"></div><p class="card-description">“' . $msg_content . '”</p></div></div>';
} else {
$mas_div = '<div class="col-sm-12 ml-auto"><div class="card" data-background="color" data-color="' . $bg_arr[rand(0, 5)] . '"><div class="card-body"><div class="author"><a href="' . $msg_blog_link . '" target="_blank"><img src="' . asset(__STATIC_HOME__) . '/assets/img/qqhead.png" alt="..." class="avatar img-raised"><span>' . $msg_blog_name . '</span></a></div><span class="category-social pull-right"><i class="fa fa-quote-right"></i></span><div class="clearfix"></div><p class="card-description">“' . $msg_content . '”</p></div></div></div>';
}
$result = array(
'status' => 1,
'msg' => '留言成功',
'result' => $mas_div
);
return response()->json($result);
}
}
================================================
FILE: app/Http/Controllers/Home/CardOneController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogNavShareOne;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CardOneController extends Controller
{
/**
* 卡片列表
*/
public function index(Request $request)
{
$nav_id = $request->route('nav_id');
$cardModel = new BlogNavShareOne();
if ($nav_id) {
$result_list = $cardModel::where('share_show', 1)->where('nav_id', $nav_id)->orderBy('share_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
} else {
$result_list = $cardModel::where('share_show', 1)->orderBy('share_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
}
return view('home.card1.index', compact('result_list'));
}
}
================================================
FILE: app/Http/Controllers/Home/CardTwoController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogNavShareTwo;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CardTwoController extends Controller
{
/**
* 卡片列表
*/
public function index(Request $request)
{
$nav_id = $request->route('nav_id');
$cardModel = new BlogNavShareTwo();
if ($nav_id) {
$result_list = $cardModel::where('share_show', 1)->where('nav_id', $nav_id)->orderBy('share_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
} else {
$result_list = $cardModel::where('share_show', 1)->orderBy('share_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
}
return view('home.card2.index', compact('result_list'));
}
}
================================================
FILE: app/Http/Controllers/Home/FriendsController.php
================================================
<?php
namespace App\Http\Controllers\Home;
use App\Http\Requests\StoreBlogFriendsPost;
use App\Models\BlogFriends;
use App\Http\Controllers\Controller;
class FriendsController extends Controller
{
/**
* Desc:友情链接展示
* Date:2019/9/3/003
*/
public function index(BlogFriends $blogFriends)
{
//1.获取友情链接
$recommend_link = $blogFriends::where('friends_show', 1)->where('friends_examine', 1)->orderBy('friends_sort', 'desc')->orderBy('id', 'asc')->get();
$recommend_list = collect();
$normal_list = collect();
foreach ($recommend_link as $item) {
$item->friends_img = empty($item->friends_img) ? config('app.default_avatar') : $item->friends_img;
if ($item->friends_recommend == 1) {
$recommend_list->push($item);
} else {
$normal_list->push($item);
}
}
return view('home.friends.index')->with('recommend_list', $recommend_list)->with('normal_list', $normal_list);
}
public function store(StoreBlogFriendsPost $request)
{
$friends_title = $request->input('friends_title');
$friends_link = $request->input('friends_link');
$friends_contact = $request->input('friends_contact');
$blogModel = new BlogFriends();
$blogModel->friends_title = $friends_title;
$blogModel->friends_link = $friends_link;
$blogModel->friends_describe = '';
$blogModel->friends_contact = $friends_contact;
$blogModel->friends_show = 2;
$blogModel->friends_type = 1;
$blogModel->save();
$result = array(
'status' => 1,
'msg' => '申请成功',
'result' => []
);
return json_encode($result, true);
}
}
================================================
FILE: app/Http/Controllers/Home/IndexController.php
================================================
<?php
namespace App\Http\Controllers\Home;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
//进入网站首页
public function index()
{
return view('home.index.index');
}
}
================================================
FILE: app/Http/Controllers/Home/MessageController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogMessage;
use App\Http\Controllers\Controller;
class MessageController extends Controller
{
/**
* 留言列表
*/
public function index()
{
$blogModel = new BlogMessage();
$result_list = $blogModel::where('msg_show', 1)->where('msg_type', 3)->orderBy('id', 'desc')->paginate(6);
//获取留言的背景色
$bg_arr = define_background();
return view('home.message.index', compact('result_list', 'bg_arr'));
}
}
================================================
FILE: app/Http/Controllers/Home/MusicController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogNavMusic;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class MusicController extends Controller
{
/**
* 音乐歌单
*/
public function index(Request $request)
{
$nav_id = $request->route('nav_id');
$music_model = new BlogNavMusic();
if ($nav_id) {
$music_result = $music_model::where('nav_id', $nav_id)->where('music_show', 1)->orderBy('music_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
} else {
$music_result = $music_model::where('music_show', 1)->orderBy('music_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
}
return view('home.music.index')->with('music_result', $music_result);
}
/**
* 音乐歌单详情列表
*/
public function music_details(Request $request, BlogNavMusic $musicModel)
{
$mid = $request->route('mid');
$music_result = $musicModel::find($mid);
//获取徽章颜色
$badge_arr = define_badge_color();
//点击量自增
$musicModel::where('id', $mid)->increment('music_click');
return view('home.music.music_details', compact('music_result', 'badge_arr'));
}
}
================================================
FILE: app/Http/Controllers/Home/PhotoController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogNavPhoto;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
/**
* Class PhotoController
* @package App\Http\Controllers\home
*/
class PhotoController extends Controller
{
/**
* 相册列表
*/
public function index(Request $request)
{
$nav_id = $request->route('nav_id');
$photo_model = new BlogNavPhoto();
if ($nav_id) {
$photo_result = $photo_model::where('nav_id', $nav_id)->where('photo_show', 1)->orderBy('photo_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
} else {
$photo_result = $photo_model::where('photo_show', 1)->orderBy('photo_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
}
return view('home.photo.index', compact('photo_result'));
}
/**
* 相册详情
*/
public function photo_details(Request $request, BlogNavPhoto $photoModel)
{
$pid = $request->route('pid');
$details_result = $photoModel::find($pid);
$photo_result = empty($details_result->photo_json) ? [] : $details_result->photo_json;
//点击量自增
$photoModel::where('id', $pid)->increment('photo_click');
return view('home.photo.photo_details', compact('photo_result', 'details_result'));
}
}
================================================
FILE: app/Http/Controllers/Home/VideoController.php
================================================
<?php
namespace App\Http\Controllers\home;
use App\Models\BlogMessage;
use App\Models\BlogNavVideo;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class VideoController extends Controller
{
/**
* 视频列表
*/
public function index(Request $request)
{
$nav_id = $request->route('nav_id');
$video_model = new BlogNavVideo();
if ($nav_id) {
$recommended_video = $video_model::where('nav_id', $nav_id)->where('video_show', 1)->where('video_recommend', 1)->limit(8)->orderBy('video_sort', 'desc')->orderBy('id', 'desc')->get();
//视频数据集
$video_result = $video_model::where('nav_id', $nav_id)->where('video_show', 1)->orderBy('video_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
} else {
$recommended_video = $video_model::where('video_show', 1)->where('video_recommend', 1)->limit(8)->orderBy('video_sort', 'desc')->orderBy('id', 'desc')->get();
//视频数据集
$video_result = $video_model::where('video_show', 1)->orderBy('video_sort', 'desc')->orderBy('id', 'desc')->paginate(8);
}
return view('home.video.index', compact('video_result', 'recommended_video'));
}
/**
* 视频详情
*/
public function video_details(Request $request, BlogNavVideo $videoModel)
{
$vid = $request->route('vid');
$video_result = $videoModel::find($vid);
//获取本篇视频所属留言
$video_message = BlogMessage::where('foreign_id', $vid)->orderBy('id', 'desc')->paginate(6);
//获取留言的背景色
$bg_arr = define_background();
//获取徽章颜色
$badge_arr = define_badge_color();
//点击量自增
$videoModel::where('id', $vid)->increment('video_click');
return view('home.video.video_details', compact('video_result', 'video_message', 'bg_arr', 'badge_arr'));
}
}
================================================
FILE: app/Http/Kernel.php
================================================
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'laravel_pjax' =>\Spatie\Pjax\Middleware\FilterIfPjax::class,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\Authenticate::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Illuminate\Auth\Middleware\Authorize::class,
];
}
================================================
FILE: app/Http/Middleware/AetherUploadCORS.php
================================================
<?php
namespace App\Http\Middleware;
use Closure;
use AetherUpload\ConfigMapper;
class AetherUploadCORS
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
$origin = $request->server('HTTP_ORIGIN') ?: '';
if ( in_array($origin, ConfigMapper::get('distributed_deployment_allow_origin')) ) {
$response->header('Access-Control-Allow-Origin', $origin); # 允许的来源域名
$response->header('Access-Control-Allow-Headers', 'X-CSRF-TOKEN'); # 允许的请求头部字段
$response->header('Access-Control-Allow-Methods', 'POST, OPTIONS'); # 允许的请求方法
$response->header('Access-Control-Allow-Credentials', 'true'); # 是否允许携带cookie
$response->header('Access-Control-Max-Age', '3600'); # 预检请求缓存时间
# 添加其它自定义内容
}
return $response;
}
}
================================================
FILE: app/Http/Middleware/Authenticate.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
================================================
FILE: app/Http/Middleware/CheckForMaintenanceMode.php
================================================
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
class CheckForMaintenanceMode extends Middleware
{
/**
* The URIs that should be reachable while maintenance mode is enabled.
*
* @var array
*/
protected $except = [
'http://www.qqphp.com/admin',
'http://www.qqphp.com/admin/*'
];
}
================================================
FILE: app/Http/Middleware/EncryptCookies.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
//
];
}
================================================
FILE: app/Http/Middleware/RedirectIfAuthenticated.php
================================================
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
}
================================================
FILE: app/Http/Middleware/TrimStrings.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
class TrimStrings extends Middleware
{
/**
* The names of the attributes that should not be trimmed.
*
* @var array
*/
protected $except = [
'password',
'password_confirmation',
];
}
================================================
FILE: app/Http/Middleware/TrustProxies.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array|string
*/
protected $proxies;
/**
* The headers that should be used to detect proxies.
*
* @var int
*/
protected $headers = Request::HEADER_X_FORWARDED_ALL;
}
================================================
FILE: app/Http/Middleware/VerifyCsrfToken.php
================================================
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* Indicates whether the XSRF-TOKEN cookie should be set on the response.
*
* @var bool
*/
protected $addHttpCookie = true;
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'admin/blog-upload-files',
'live2d_api/*',
];
}
================================================
FILE: app/Http/Requests/StoreArticleMsgPost.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreArticleMsgPost extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'msg_content' => 'required',
'msg_blog_name' => 'required|max:40',
'msg_blog_link' => 'required|url',
'msg_blog_contact' => 'required|max:40',
'foreign_id' => 'required|integer',
'msg_type' => 'required|integer',
];
}
public function attributes()
{
return [
'msg_content' => '留言内容',
'msg_blog_name' => '博客名称',
'msg_blog_link' => '博客网址',
'msg_blog_contact' => '联系方式',
'foreign_id' => '参数ID',
'msg_type' => '留言板块'
];
}
}
================================================
FILE: app/Http/Requests/StoreBlogFriendsPost.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreBlogFriendsPost extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'friends_title' => 'bail|required|max:40',
'friends_link' => 'bail|required|url|max:40|unique:blog_friends',
'friends_contact' => 'bail|required|max:40',
];
}
public function attributes()
{
return [
'friends_title' => '博客名称',
'friends_link' => '博客网址',
'friends_contact' => '联系方式',
];
}
}
================================================
FILE: app/Http/Requests/StoreBlogSubscribePost.php
================================================
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreBlogSubscribePost extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email_name' => 'required|email|unique:blog_subscribes,email'
];
}
public function attributes()
{
return [
'email_name' => '订阅邮箱'
];
}
}
================================================
FILE: app/Jobs/ProcessPodcast.php
================================================
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
class ProcessPodcast implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* 任务可以尝试的最大次数。
*
* @var int
*/
public $tries = 3;
/**
* 任务可以执行的最大秒数 (超时时间)。
*
* @var int
*/
public $timeout = 30;
/**
* 创建一个新的任务实例。
*
* @return void
*/
public function __construct()
{
//
}
/**
* 运行任务。
*
* Execute the job.
*
* @return void
*/
public function handle()
{
//
}
}
================================================
FILE: app/Jobs/SendReminderEmail.php
================================================
<?php
namespace App\Jobs;
use App\Mail\ArticleMail;
use App\Models\BlogNavArticle;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Mail;
class SendReminderEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* 任务可以尝试的最大次数。
*
* @var int
*/
private $tries = 3;
/**
* 任务可以执行的最大秒数 (超时时间)。
*
* @var int
*/
private $timeout = 30;
/**
* 文章内容实例模型
*/
protected $blogNavArticle;
protected $email;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(BlogNavArticle $blogNavArticle,$email)
{
$this->blogNavArticle = $blogNavArticle;
$this->email = $email;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to($this->email)->send(new ArticleMail($this->blogNavArticle));
// $email_list = BlogSubscribe::where('is_pass',2)->pluck('email');
// Mail::to('1549684884@qq.com')->send(new ArticleMail($this->blogNavArticle));
// foreach ($email_list as $k => $v){
// Mail::to($v)->send(new ArticleMail($this->blogNavArticle));
// }
}
}
================================================
FILE: app/Mail/ArticleMail.php
================================================
<?php
namespace App\Mail;
use App\Models\BlogNavArticle;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ArticleMail extends Mailable
{
use Queueable, SerializesModels;
//文章实例
protected $article;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(BlogNavArticle $blogArticle)
{
$this->article = $blogArticle;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$article_title = $this->article->getAttributeValue('article_title');
$aid = $this->article->getAttributeValue('id');
return $this
->from('1549684884@qq.com', '雷勇')
->subject(config('base.website_title') . '-订阅文章更新-' . date('Y-m-d'))
->view('mail.index')
->with([
'title' => $article_title,
'url' => url('/article_details', ['aid' => $aid])
]);
}
}
================================================
FILE: app/Models/BlogAbout.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogAbout extends Model
{
protected $table = 'blog_about';
public function article()
{
return $this->hasOne(BlogAboutArticle::class, 'notice_id');
}
public function card1()
{
return $this->hasMany(BlogAboutCardOne::class, 'notice_id');
}
public function card2()
{
return $this->hasMany(BlogAboutCardTwo::class, 'notice_id');
}
}
================================================
FILE: app/Models/BlogAboutArticle.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogAboutArticle extends Model
{
protected $table = 'blog_about_articles';
}
================================================
FILE: app/Models/BlogAboutCardOne.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogAboutCardOne extends Model
{
protected $table = 'blog_about_card_ones';
}
================================================
FILE: app/Models/BlogAboutCardTwo.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogAboutCardTwo extends Model
{
protected $table = 'blog_about_card_twos';
}
================================================
FILE: app/Models/BlogFriends.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogFriends extends Model
{
protected $table = 'blog_friends';
}
================================================
FILE: app/Models/BlogMessage.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogMessage extends Model
{
protected $table = 'blog_message';
}
================================================
FILE: app/Models/BlogNav.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Encore\Admin\Traits\ModelTree;
use Encore\Admin\Traits\AdminBuilder;
class BlogNav extends Model
{
use ModelTree, AdminBuilder;
protected $table = 'blog_nav';
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
$this->setParentColumn('nav_pid');
$this->setOrderColumn('nav_sort');
$this->setTitleColumn('nav_title');
}
public function getTree()
{
$get_data = BlogNav::orderBy('id', 'asc')->get()->toArray();
return modelTree($get_data);
}
}
================================================
FILE: app/Models/BlogNavArticle.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavArticle extends Model
{
protected $table = 'blog_nav_article';
/**
* Desc:关联导航
* Date:2019/9/4/004
*/
public function nav_name()
{
return $this->belongsTo(BlogNav::class, 'nav_id');
}
}
================================================
FILE: app/Models/BlogNavMusic.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavMusic extends Model
{
protected $table = 'blog_nav_music';
public function setMusicJsonAttribute($pictures)
{
if (is_array($pictures)) {
$this->attributes['music_json'] = json_encode($pictures);
}
}
public function getMusicJsonAttribute($pictures)
{
return json_decode($pictures, true);
}
}
================================================
FILE: app/Models/BlogNavPhoto.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavPhoto extends Model
{
protected $table = 'blog_nav_photo';
public function setPhotoJsonAttribute($image)
{
if (is_array($image)) {
$this->attributes['photo_json'] = json_encode($image);
}
}
public function getPhotoJsonAttribute($image)
{
return json_decode($image, true);
}
}
================================================
FILE: app/Models/BlogNavShareOne.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavShareOne extends Model
{
protected $table = 'blog_nav_share1';
/**
* Desc:关联导航
* Date:2019/9/4/004
*/
public function nav_name()
{
return $this->belongsTo(BlogNav::class, 'nav_id');
}
}
================================================
FILE: app/Models/BlogNavShareTwo.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavShareTwo extends Model
{
protected $table = 'blog_nav_share2';
/**
* Desc:关联导航
* Date:2019/9/4/004
*/
public function nav_name()
{
return $this->belongsTo(BlogNav::class, 'nav_id');
}
}
================================================
FILE: app/Models/BlogNavVideo.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNavVideo extends Model
{
protected $table = 'blog_nav_video';
}
================================================
FILE: app/Models/BlogNotice.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogNotice extends Model
{
protected $table = 'blog_notices';
}
================================================
FILE: app/Models/BlogSubscribe.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogSubscribe extends Model
{
protected $table = 'blog_subscribes';
}
================================================
FILE: app/Models/BlogTag.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogTag extends Model
{
protected $table = 'blog_tags';
}
================================================
FILE: app/Models/BlogUploadFile.php
================================================
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class BlogUploadFile extends Model
{
protected $table = 'blog_upload_files';
}
================================================
FILE: app/Observers/BlogAboutCardTwoObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogAboutCardTwo;
use Illuminate\Support\Facades\Storage;
class BlogAboutCardTwoObserver
{
/**
* Handle the blog about card two "created" event.
*
* @param \App\Models\BlogAboutCardTwo $blogAboutCardTwo
* @return void
*/
public function created(BlogAboutCardTwo $blogAboutCardTwo)
{
//
}
/**
* Handle the blog about card two "updated" event.
*
* @param \App\Models\BlogAboutCardTwo $blogAboutCardTwo
* @return void
*/
public function updated(BlogAboutCardTwo $blogAboutCardTwo)
{
//
}
/**
* Handle the blog about card two "deleted" event.
*
* @param \App\Models\BlogAboutCardTwo $blogAboutCardTwo
* @return void
*/
public function deleted(BlogAboutCardTwo $blogAboutCardTwo)
{
$card_background = $blogAboutCardTwo->getOriginal('card_background');
if($card_background){
Storage::disk('admin')->delete($card_background);
}
}
/**
* Handle the blog about card two "restored" event.
*
* @param \App\Models\BlogAboutCardTwo $blogAboutCardTwo
* @return void
*/
public function restored(BlogAboutCardTwo $blogAboutCardTwo)
{
//
}
/**
* Handle the blog about card two "force deleted" event.
*
* @param \App\Models\BlogAboutCardTwo $blogAboutCardTwo
* @return void
*/
public function forceDeleted(BlogAboutCardTwo $blogAboutCardTwo)
{
//
}
}
================================================
FILE: app/Observers/BlogConfigObserver.php
================================================
<?php
namespace App\Observers;
use Encore\Admin\Config\ConfigModel;
class BlogConfigObserver
{
/**
* Handle the config model "created" event.
*
* @param Encore\Admin\Config\ConfigModel $configModel
* @return void
*/
public function created(ConfigModel $configModel)
{
}
/**
* Handle the config model "updated" event.
*
* @param Encore\Admin\Config\ConfigModel $configModel
* @return void
*/
public function updated(ConfigModel $configModel)
{
}
/**
* Handle the config model "deleted" event.
*
* @param Encore\Admin\Config\ConfigModel $configModel
* @return void
*/
public function deleted(ConfigModel $configModel)
{
}
/**
* Handle the config model "restored" event.
*
* @param Encore\Admin\Config\ConfigModel $configModel
* @return void
*/
public function restored(ConfigModel $configModel)
{
}
/**
* Handle the config model "force deleted" event.
*
* @param Encore\Admin\Config\ConfigModel $configModel
* @return void
*/
public function forceDeleted(ConfigModel $configModel)
{
}
}
================================================
FILE: app/Observers/BlogFriendsObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogFriends;
use Illuminate\Support\Facades\Storage;
class BlogFriendsObserver
{
/**
* Handle the blog friends "created" event.
*
* @param \App\Models\BlogFriends $blogFriends
* @return void
*/
public function created(BlogFriends $blogFriends)
{
//
}
/**
* Handle the blog friends "updated" event.
*
* @param \App\Models\BlogFriends $blogFriends
* @return void
*/
public function updated(BlogFriends $blogFriends)
{
//
}
/**
* Handle the blog friends "deleted" event.
*
* @param \App\Models\BlogFriends $blogFriends
* @return void
*/
public function deleted(BlogFriends $blogFriends)
{
}
/**
* Handle the blog friends "restored" event.
*
* @param \App\Models\BlogFriends $blogFriends
* @return void
*/
public function restored(BlogFriends $blogFriends)
{
//
}
/**
* Handle the blog friends "force deleted" event.
*
* @param \App\Models\BlogFriends $blogFriends
* @return void
*/
public function forceDeleted(BlogFriends $blogFriends)
{
//
}
}
================================================
FILE: app/Observers/BlogNavArticleObserver.php
================================================
<?php
namespace App\Observers;
use App\Jobs\SendReminderEmail;
use App\Models\BlogNavArticle;
use App\Models\BlogTag;
use App\Models\BlogSubscribe;
class BlogNavArticleObserver
{
/**
* Handle the blog nav article "created" event.
*
* @param \App\Models\BlogNavArticle $blogNavArticle
* @return void
*/
public function created(BlogNavArticle $blogNavArticle)
{
$a_id = $blogNavArticle->getAttributeValue('id');
$article_tag = $blogNavArticle->getAttributeValue('article_tag');
if(trim($article_tag)){
$tag_array = explode(',',$article_tag);
foreach ($tag_array as $item) {
$tagModel = new BlogTag();
$tagModel->tag_content = $item;
$tagModel->tag_click = 0;
$tagModel->a_id = $a_id;
$tagModel->save();
}
$email_list = BlogSubscribe::where('is_pass',2)->pluck('email');
foreach ($email_list as $k => $v){
//调用队列
SendReminderEmail::dispatch($blogNavArticle,$v);
}
}
}
/**
* Handle the blog nav article "updated" event.
*
* @param \App\Models\BlogNavArticle $blogNavArticle
* @return void
*/
public function updated(BlogNavArticle $blogNavArticle)
{
$a_id = $blogNavArticle->getAttributeValue('id');
$tagModel = new BlogTag();
$tag_article = $tagModel::where('a_id','=',$a_id)->get();
//现在的标签
$origin_tag = $blogNavArticle->getAttributeValue('article_tag');
$tag_new = empty($origin_tag) ? [] : explode(',',$origin_tag);
$tag_old = array();
foreach ($tag_article as $item) {
//判断旧的标签是否在最新的标签中
if(!in_array($item->tag_content,$tag_new)){
BlogTag::destroy($item->id);
};
$tag_old[] = $item->tag_content;
}
$diff_tag = array_diff($tag_new,$tag_old);
foreach ($diff_tag as $item) {
$tagModel = new BlogTag();
$tagModel->tag_content = $item;
$tagModel->tag_click = 0;
$tagModel->a_id = $a_id;
$tagModel->save();
}
}
/**
* Handle the blog nav article "deleted" event.
*
* @param \App\Models\BlogNavArticle $blogNavArticle
* @return void
*/
public function deleted(BlogNavArticle $blogNavArticle)
{
$aid = $blogNavArticle->getOriginal('id');
BlogTag::where('a_id',$aid)->delete();
}
/**
* Handle the blog nav article "restored" event.
*
* @param \App\Models\BlogNavArticle $blogNavArticle
* @return void
*/
public function restored(BlogNavArticle $blogNavArticle)
{
//
}
/**
* Handle the blog nav article "force deleted" event.
*
* @param \App\Models\BlogNavArticle $blogNavArticle
* @return void
*/
public function forceDeleted(BlogNavArticle $blogNavArticle)
{
//
}
}
================================================
FILE: app/Observers/BlogNavMusicObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNavMusic;
use Illuminate\Support\Facades\Storage;
class BlogNavMusicObserver
{
/**
* Handle the blog nav music "created" event.
*
* @param \App\Models\BlogNavMusic $blogNavMusic
* @return void
*/
public function created(BlogNavMusic $blogNavMusic)
{
//
}
/**
* Handle the blog nav music "updated" event.
*
* @param \App\Models\BlogNavMusic $blogNavMusic
* @return void
*/
public function updated(BlogNavMusic $blogNavMusic)
{
//
}
/**
* Handle the blog nav music "deleted" event.
*
* @param \App\Models\BlogNavMusic $blogNavMusic
* @return void
*/
public function deleted(BlogNavMusic $blogNavMusic)
{
$music_img = $blogNavMusic->getOriginal('music_img');
//删除封面图
if($music_img){
Storage::disk('admin')->delete($music_img);
}
//删除所属文件
$music_json = $blogNavMusic->music_json;
if($music_json){
Storage::disk('admin')->delete($music_json);
}
}
/**
* Handle the blog nav music "restored" event.
*
* @param \App\Models\BlogNavMusic $blogNavMusic
* @return void
*/
public function restored(BlogNavMusic $blogNavMusic)
{
//
}
/**
* Handle the blog nav music "force deleted" event.
*
* @param \App\Models\BlogNavMusic $blogNavMusic
* @return void
*/
public function forceDeleted(BlogNavMusic $blogNavMusic)
{
//
}
}
================================================
FILE: app/Observers/BlogNavObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNav;
use App\Models\BlogNavArticle;
use App\Models\BlogNavMusic;
use App\Models\BlogNavPhoto;
use App\Models\BlogNavShareOne;
use App\Models\BlogNavShareTwo;
use App\Models\BlogNavVideo;
class BlogNavObserver
{
/**
* Handle the blog nav "created" event.
*
* @param \App\Models\BlogNav $blogNav
* @return void
*/
public function created(BlogNav $blogNav)
{
//
}
/**
* Handle the blog nav "updated" event.
*
* @param \App\Models\BlogNav $blogNav
* @return void
*/
public function updated(BlogNav $blogNav)
{
//
}
/**
* Handle the blog nav "deleted" event.
*
* @param \App\Models\BlogNav $blogNav
* @return void
*/
public function deleted(BlogNav $blogNav)
{
$nav_id = $blogNav->getOriginal('id');
//删除下级导航
$data_nav = BlogNav::where('nav_pid', $nav_id)->get();
foreach ($data_nav as $k => $v){
BlogNav::destroy($v->id);
}
//删除所属文章、视频、相册、分享等
$data_article = BlogNavArticle::where('nav_id', $nav_id)->get();
foreach ($data_article as $k =>$v) {
BlogNavArticle::destroy($v->id);
}
$data_music = BlogNavMusic::where('nav_id', $nav_id)->get();
foreach ($data_music as $k =>$v) {
BlogNavMusic::destroy($v->id);
}
$data_video = BlogNavVideo::where('nav_id', $nav_id)->get();
foreach ($data_video as $k =>$v) {
BlogNavVideo::destroy($v->id);
}
$data_photo = BlogNavPhoto::where('nav_id', $nav_id)->get();
foreach ($data_photo as $k =>$v) {
BlogNavPhoto::destroy($v->id);
}
$data_one = BlogNavShareOne::where('nav_id', $nav_id)->get();
foreach ($data_one as $k =>$v) {
BlogNavShareOne::destroy($v->id);
}
$data_two = BlogNavShareTwo::where('nav_id', $nav_id)->get();
foreach ($data_two as $k =>$v) {
BlogNavShareTwo::destroy($v->id);
}
}
/**
* Handle the blog nav "restored" event.
*
* @param \App\Models\BlogNav $blogNav
* @return void
*/
public function restored(BlogNav $blogNav)
{
//
}
/**
* Handle the blog nav "force deleted" event.
*
* @param \App\Models\BlogNav $blogNav
* @return void
*/
public function forceDeleted(BlogNav $blogNav)
{
//
}
}
================================================
FILE: app/Observers/BlogNavPhotoObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNavPhoto;
use Illuminate\Support\Facades\Storage;
class BlogNavPhotoObserver
{
/**
* Handle the blog nav photo "created" event.
*
* @param App\Models\BlogNavPhoto;
* @return void
*/
public function created(BlogNavPhoto $blogNavPhoto)
{
//
}
/**
* Handle the blog nav photo "updated" event.
*
* @param App\Models\BlogNavPhoto;
* @return void
*/
public function updated(BlogNavPhoto $blogNavPhoto)
{
//
}
/**
* Handle the blog nav photo "deleted" event.
*
* @param App\Models\BlogNavPhoto;
* @return void
*/
public function deleted(BlogNavPhoto $blogNavPhoto)
{
$photo_img = $blogNavPhoto->getOriginal('photo_img');
//删除封面图
if($photo_img){
Storage::disk('admin')->delete($photo_img);
}
//删除所属相册图片
$photo_json = $blogNavPhoto->photo_json;
if($photo_json){
Storage::disk('admin')->delete($photo_json);
}
}
/**
* Handle the blog nav photo "restored" event.
*
* @param \App\app\Models\BlogNavPhoto $blogNavPhoto
* @return void
*/
public function restored(BlogNavPhoto $blogNavPhoto)
{
//
}
/**
* Handle the blog nav photo "force deleted" event.
*
* @param \App\app\Models\BlogNavPhoto $blogNavPhoto
* @return void
*/
public function forceDeleted(BlogNavPhoto $blogNavPhoto)
{
//
}
}
================================================
FILE: app/Observers/BlogNavShareOneObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNavShareOne;
use Illuminate\Support\Facades\Storage;
class BlogNavShareOneObserver
{
/**
* Handle the blog nav share one "created" event.
*
* @param \App\Models\BlogNavShareOne $blogNavShareOne
* @return void
*/
public function created(BlogNavShareOne $blogNavShareOne)
{
//
}
/**
* Handle the blog nav share one "updated" event.
*
* @param \App\Models\BlogNavShareOne $blogNavShareOne
* @return void
*/
public function updated(BlogNavShareOne $blogNavShareOne)
{
//
}
/**
* Handle the blog nav share one "deleted" event.
*
* @param \App\Models\BlogNavShareOne $blogNavShareOne
* @return void
*/
public function deleted(BlogNavShareOne $blogNavShareOne)
{
$share_src = $blogNavShareOne->getOriginal('share_src');
if($share_src){
Storage::disk('admin')->delete($share_src);
}
}
/**
* Handle the blog nav share one "restored" event.
*
* @param \App\Models\BlogNavShareOne $blogNavShareOne
* @return void
*/
public function restored(BlogNavShareOne $blogNavShareOne)
{
//
}
/**
* Handle the blog nav share one "force deleted" event.
*
* @param \App\Models\BlogNavShareOne $blogNavShareOne
* @return void
*/
public function forceDeleted(BlogNavShareOne $blogNavShareOne)
{
//
}
}
================================================
FILE: app/Observers/BlogNavShareTwoObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNavShareTwo;
use Illuminate\Support\Facades\Storage;
class BlogNavShareTwoObserver
{
/**
* Handle the blog nav share two "created" event.
*
* @param \App\Models\BlogNavShareTwo $blogNavShareTwo
* @return void
*/
public function created(BlogNavShareTwo $blogNavShareTwo)
{
//
}
/**
* Handle the blog nav share two "updated" event.
*
* @param \App\Models\BlogNavShareTwo $blogNavShareTwo
* @return void
*/
public function updated(BlogNavShareTwo $blogNavShareTwo)
{
//
}
/**
* Handle the blog nav share two "deleted" event.
*
* @param \App\Models\BlogNavShareTwo $blogNavShareTwo
* @return void
*/
public function deleted(BlogNavShareTwo $blogNavShareTwo)
{
$share_src = $blogNavShareTwo->getOriginal('share_src');
if($share_src){
Storage::disk('admin')->delete($share_src);
}
}
/**
* Handle the blog nav share two "restored" event.
*
* @param \App\Models\BlogNavShareTwo $blogNavShareTwo
* @return void
*/
public function restored(BlogNavShareTwo $blogNavShareTwo)
{
//
}
/**
* Handle the blog nav share two "force deleted" event.
*
* @param \App\Models\BlogNavShareTwo $blogNavShareTwo
* @return void
*/
public function forceDeleted(BlogNavShareTwo $blogNavShareTwo)
{
//
}
}
================================================
FILE: app/Observers/BlogNavVideoObserver.php
================================================
<?php
namespace App\Observers;
use App\Models\BlogNavVideo;
use Illuminate\Support\Facades\Storage;
class BlogNavVideoObserver
{
/**
* Handle the blog nav video "created" event.
*
* @param \App\Models\BlogNavVideo $blogNavVideo
* @return void
*/
public function created(BlogNavVideo $blogNavVideo)
{
//
}
/**
* Handle the blog nav video "updated" event.
*
* @param \App\Models\BlogNavVideo $blogNavVideo
* @return void
*/
public function updated(BlogNavVideo $blogNavVideo)
{
//
}
/**
* Handle the blog nav video "deleted" event.
*
* @param \App\Models\BlogNavVideo $blogNavVideo
* @return void
*/
public function deleted(BlogNavVideo $blogNavVideo)
{
$video_img = $blogNavVideo->getOriginal('video_img');
if($video_img){
Storage::disk('admin')->delete($video_img);
}
$video_link = $blogNavVideo->getOriginal('video_link');
if($video_link){
$video_link = str_replace('_','/',$video_link);
Storage::disk('public')->delete($video_link);
}
}
/**
* Handle the blog nav video "restored" event.
*
* @param \App\Models\BlogNavVideo $blogNavVideo
* @return void
*/
public function restored(BlogNavVideo $blogNavVideo)
{
//
}
/**
* Handle the blog nav video "force deleted" event.
*
* @param \App\Models\BlogNavVideo $blogNavVideo
* @return void
*/
public function forceDeleted(BlogNavVideo $blogNavVideo)
{
//
}
}
================================================
FILE: app/Providers/AppServiceProvider.php
================================================
<?php
namespace App\Providers;
use App\Models\BlogAboutCardTwo;
use App\Models\BlogFriends;
use App\Models\BlogNav;
use App\Models\BlogNavArticle;
use App\Models\BlogNavMusic;
use App\Models\BlogNavPhoto;
use App\Models\BlogNavShareOne;
use App\Models\BlogNavShareTwo;
use App\Models\BlogNavVideo;
use App\Observers\BlogAboutCardTwoObserver;
use App\Observers\BlogConfigObserver;
use App\Observers\BlogFriendsObserver;
use App\Observers\BlogNavArticleObserver;
use App\Observers\BlogNavMusicObserver;
use App\Observers\BlogNavObserver;
use App\Observers\BlogNavPhotoObserver;
use App\Observers\BlogNavShareOneObserver;
use App\Observers\BlogNavShareTwoObserver;
use App\Observers\BlogNavVideoObserver;
use Encore\Admin\Config\Config;
use Encore\Admin\Config\ConfigModel;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
$table = config('admin.extensions.config.table', 'admin_config');
if (Schema::hasTable($table)) {
Config::load();
}
Schema::defaultStringLength(191); //add fixed sql
//共享配置信息
View::share('configs', $this->system_config());
//共享导航栏列表
View::share('nav_list', $this->system_nav());
//共享音乐列表数据
View::share('my_music', $this->my_music());
BlogNav::observe(BlogNavObserver::class);
BlogNavPhoto::observe(BlogNavPhotoObserver::class);
BlogNavMusic::observe(BlogNavMusicObserver::class);
BlogNavVideo::observe(BlogNavVideoObserver::class);
BlogNavShareOne::observe(BlogNavShareOneObserver::class);
BlogNavShareTwo::observe(BlogNavShareTwoObserver::class);
BlogFriends::observe(BlogFriendsObserver::class);
BlogAboutCardTwo::observe(BlogAboutCardTwoObserver::class);
BlogNavArticle::observe(BlogNavArticleObserver::class);
ConfigModel::observe(BlogConfigObserver::class);
}
public function system_config()
{
$config_result = DB::table('admin_config')->pluck('value', 'name');
return $config_result;
}
public function system_nav()
{
// $collection = new Collection();
$top_data = DB::table('blog_nav')->where('nav_open', '=', 1)->where('nav_pid', '=', 0)->orderBy('nav_sort', 'asc')->get()->keyBy('id');
$top_id = $top_data->keys();
$son_data = DB::table('blog_nav')->where('nav_open', '=', '1')->whereIn('nav_pid', $top_id)->orderBy('nav_sort', 'asc')->get();
foreach ($son_data as $k => $v) {
$top_data->get($v->nav_pid)->son_nav[$v->id] = $v;
}
return $top_data;
}
public function my_music()
{
$music_data = Db::table('blog_nav_music')->select('id', 'music_json', 'music_img', 'music_title')->where('music_play', 1)->orderBy('music_sort', 'desc')->get();
$music_array = $music_data->toArray();
$music_list = [];
foreach ($music_array as $k => $v) {
if ($v->music_json) {
$obj_data = json_decode($v->music_json);
foreach ($obj_data as $m) {
$music_obj['title'] = str_replace('files/', '', $m);
$music_obj['author'] = $v->music_title;
$music_obj['url'] = processing_files($m);
$music_obj['pic'] = processing_files($v->music_img);
$music_list[] = $music_obj;
}
}
}
return json_encode($music_list);
}
}
================================================
FILE: app/Providers/AuthServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
//
}
}
================================================
FILE: app/Providers/BroadcastServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Broadcast;
class BroadcastServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Broadcast::routes();
require base_path('routes/channels.php');
}
}
================================================
FILE: app/Providers/EventServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
parent::boot();
//
}
}
================================================
FILE: app/Providers/RouteServiceProvider.php
================================================
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
//
parent::boot();
}
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
}
================================================
FILE: app/User.php
================================================
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
================================================
FILE: artisan
================================================
#!/usr/bin/env php
<?php
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the
| loading of any our classes "manually". Feels great to relax.
|
*/
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Artisan Application
|--------------------------------------------------------------------------
|
| When we run the console application, the current CLI command will be
| executed in this console and the response sent back to a terminal
| or another output device for the developers. Here goes nothing!
|
*/
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
new Symfony\Component\Console\Output\ConsoleOutput
);
/*
|--------------------------------------------------------------------------
| Shutdown The Application
|--------------------------------------------------------------------------
|
| Once Artisan has finished running, we will fire off the shutdown events
| so that any final work may be done by the application before we shut
| down the process. This is the last thing to happen to the request.
|
*/
$kernel->terminate($input, $status);
exit($status);
================================================
FILE: bootstrap/app.php
================================================
<?php
require ('common.php');
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application(
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
/*
|--------------------------------------------------------------------------
| Bind Important Interfaces
|--------------------------------------------------------------------------
|
| Next, we need to bind some important interfaces into the container so
| we will be able to resolve them when needed. The kernels serve the
| incoming requests to this application from both the web and CLI.
|
*/
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
return $app;
================================================
FILE: bootstrap/cache/.gitignore
================================================
*
!.gitignore
================================================
FILE: bootstrap/common.php
================================================
<?php
/**
* 递归无限级分类
*/
function modelTree($tree,$pid = 0,$level = 0){
if(count($tree) == 0){
return [];
}
$arr = [];
foreach ($tree as $k => $v) {
if($v['nav_pid'] == $pid){
$v['level'] = $level;
$arr[$v['id']] = $v;
$temp_arr = modelTree($tree,$v['id'],$level+1);
$arr = array_merge($arr,$temp_arr);
}
}
return $arr;
}
/**
* 定义的背景色数组
*/
function define_background(){
$bg = array('purple','orange','brown','yellow','green','blue');
shuffle($bg);
return $bg;
}
/**
* Desc:定义徽章颜色
* Date:2019/9/27/027
*/
function define_badge_color(){
$bg = array('primary','info','success','warning','danger','default');
shuffle($bg);
return $bg;
}
/**
* 转换日期,比如2019-09-21 11:54:53,只显示2019-09-21
*/
function date_conversion($old_data){
$old_time = strtotime($old_data);
return $new_time = date('Y-m-d',$old_time);
}
/**
* Desc:处理文件是本地上传还是七牛云上传的路径
* Date:2019/11/6/006
*/
function processing_files($file_src){
if(env('UPLOAD_TYPE') == 'admin'){
$new_src = asset(__STATIC_UPLOADS__.'/'.$file_src);
}elseif (env('UPLOAD_TYPE') == 'qiniu'){
$file_setting = config('filesystems');
$new_src = 'http://'.$file_setting['disks']['qiniu']['domains']['default'].'/'.$file_src;
}
return $new_src;
}
================================================
FILE: composer.json
================================================
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.1.3",
"dianwoung/large-file-upload": "^0.0.3",
"encore/laravel-admin": "^1.7",
"fideloper/proxy": "^4.0",
"ichynul/configx": "^1.2",
"ichynul/row-table": "^1.1",
"jxlwqq/simditor": "^1.0",
"laravel-admin-ext/config": "^1.0",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0",
"predis/predis": "~1.0",
"sharemant/laravel-admin-ext-editormd": "^1.0",
"spatie/eloquent-sortable": "^3.6",
"spatie/laravel-pjax": "^2.0",
"zgldh/qiniu-laravel-storage": "^0.10.3"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.0",
"caouecs/laravel-lang": "~4.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^7.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
================================================
FILE: config/admin.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Laravel-admin name
|--------------------------------------------------------------------------
|
| This value is the name of laravel-admin, This setting is displayed on the
| login page.
|
*/
'name' => 'Laravel-admin',
/*
|--------------------------------------------------------------------------
| Laravel-admin logo
|--------------------------------------------------------------------------
|
| The logo of all admin pages. You can also set it as an image by using a
| `img` tag, eg '<img src="http://logo-url" alt="Admin logo">'.
|
*/
'logo' => '<b>Laravel</b> admin',
/*
|--------------------------------------------------------------------------
| Laravel-admin mini logo
|--------------------------------------------------------------------------
|
| The logo of all admin pages when the sidebar menu is collapsed. You can
| also set it as an image by using a `img` tag, eg
| '<img src="http://logo-url" alt="Admin logo">'.
|
*/
'logo-mini' => '<b>La</b>',
/*
|--------------------------------------------------------------------------
| Laravel-admin bootstrap setting
|--------------------------------------------------------------------------
|
| This value is the path of laravel-admin bootstrap file.
|
*/
'bootstrap' => app_path('Admin/bootstrap.php'),
/*
|--------------------------------------------------------------------------
| Laravel-admin route settings
|--------------------------------------------------------------------------
|
| The routing configuration of the admin page, including the path prefix,
| the controller namespace, and the default middleware. If you want to
| access through the root path, just set the prefix to empty string.
|
*/
'route' => [
'prefix' => env('ADMIN_ROUTE_PREFIX', 'admin'),
'namespace' => 'App\\Admin\\Controllers',
'middleware' => ['web', 'admin'],
],
/*
|--------------------------------------------------------------------------
| Laravel-admin install directory
|--------------------------------------------------------------------------
|
| The installation directory of the controller and routing configuration
| files of the administration page. The default is `app/Admin`, which must
| be set before running `artisan admin::install` to take effect.
|
*/
'directory' => app_path('Admin'),
/*
|--------------------------------------------------------------------------
| Laravel-admin html title
|--------------------------------------------------------------------------
|
| Html title for all pages.
|
*/
'title' => 'Admin',
/*
|--------------------------------------------------------------------------
| Access via `https`
|--------------------------------------------------------------------------
|
| If your page is going to be accessed via https, set it to `true`.
|
*/
'https' => env('ADMIN_HTTPS', false),
/*
|--------------------------------------------------------------------------
| Laravel-admin auth setting
|--------------------------------------------------------------------------
|
| Authentication settings for all admin pages. Include an authentication
| guard and a user provider setting of authentication driver.
|
| You can specify a controller for `login` `logout` and other auth routes.
|
*/
'auth' => [
'controller' => App\Admin\Controllers\AuthController::class,
'guard' => 'admin',
'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'admin',
],
],
'providers' => [
'admin' => [
'driver' => 'eloquent',
'model' => Encore\Admin\Auth\Database\Administrator::class,
],
],
// Add "remember me" to login form
'remember' => true,
// Redirect to the specified URI when user is not authorized.
'redirect_to' => 'auth/login',
// The URIs that should be excluded from authorization.
'excepts' => [
'auth/login',
'auth/logout',
],
],
/*
|--------------------------------------------------------------------------
| Laravel-admin upload setting
|--------------------------------------------------------------------------
|
| File system configuration for form upload files and images, including
| disk and upload path.
|
*/
'upload' => [
// Disk in `config/filesystem.php`.
'disk' => env('UPLOAD_TYPE'),
// Image and file upload path under the disk above.
'directory' => [
'image' => 'images',
'file' => 'files',
],
],
/*
|--------------------------------------------------------------------------
| Laravel-admin database settings
|--------------------------------------------------------------------------
|
| Here are database settings for laravel-admin builtin model & tables.
|
*/
'database' => [
// Database connection for following tables.
'connection' => '',
// User tables and model.
'users_table' => 'admin_users',
'users_model' => Encore\Admin\Auth\Database\Administrator::class,
// Role table and model.
'roles_table' => 'admin_roles',
'roles_model' => Encore\Admin\Auth\Database\Role::class,
// Permission table and model.
'permissions_table' => 'admin_permissions',
'permissions_model' => Encore\Admin\Auth\Database\Permission::class,
// Menu table and model.
'menu_table' => 'admin_menu',
'menu_model' => Encore\Admin\Auth\Database\Menu::class,
// Pivot table for table above.
'operation_log_table' => 'admin_operation_log',
'user_permissions_table' => 'admin_user_permissions',
'role_users_table' => 'admin_role_users',
'role_permissions_table' => 'admin_role_permissions',
'role_menu_table' => 'admin_role_menu',
],
/*
|--------------------------------------------------------------------------
| User operation log setting
|--------------------------------------------------------------------------
|
| By setting this option to open or close operation log in laravel-admin.
|
*/
'operation_log' => [
'enable' => true,
/*
* Only logging allowed methods in the list
*/
'allowed_methods' => ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'],
/*
* Routes that will not log to database.
*
* All method to path like: admin/auth/logs
* or specific method to path like: get:admin/auth/logs.
*/
'except' => [
'admin/auth/logs*',
],
],
/*
|--------------------------------------------------------------------------
| Indicates whether to check route permission.
|--------------------------------------------------------------------------
*/
'check_route_permission' => true,
/*
|--------------------------------------------------------------------------
| Indicates whether to check menu roles.
|--------------------------------------------------------------------------
*/
'check_menu_roles' => true,
/*
|--------------------------------------------------------------------------
| User default avatar
|--------------------------------------------------------------------------
|
| Set a default avatar for newly created users.
|
*/
'default_avatar' => '/vendor/laravel-admin/AdminLTE/dist/img/user2-160x160.jpg',
/*
|--------------------------------------------------------------------------
| Admin map field provider
|--------------------------------------------------------------------------
|
| Supported: "tencent", "google", "yandex".
|
*/
'map_provider' => 'google',
/*
|--------------------------------------------------------------------------
| Application Skin
|--------------------------------------------------------------------------
|
| This value is the skin of admin pages.
| @see https://adminlte.io/docs/2.4/layout
|
| Supported:
| "skin-blue", "skin-blue-light", "skin-yellow", "skin-yellow-light",
| "skin-green", "skin-green-light", "skin-purple", "skin-purple-light",
| "skin-red", "skin-red-light", "skin-black", "skin-black-light".
|
*/
'skin' => 'skin-black',
/*
|--------------------------------------------------------------------------
| Application layout
|--------------------------------------------------------------------------
|
| This value is the layout of admin pages.
| @see https://adminlte.io/docs/2.4/layout
|
| Supported: "fixed", "layout-boxed", "layout-top-nav", "sidebar-collapse",
| "sidebar-mini".
|
*/
'layout' => ['sidebar-mini', 'sidebar-collapse'],
/*
|--------------------------------------------------------------------------
| Login page background image
|--------------------------------------------------------------------------
|
| This value is used to set the background image of login page.
|
*/
'login_background_image' => 'https://img.zcool.cn/community/0135a75b552aa5a8012036be80cf41.jpg@1280w_1l_0o_100sh.jpg',
/*
|--------------------------------------------------------------------------
| Show version at footer
|--------------------------------------------------------------------------
|
| Whether to display the version number of laravel-admin at the footer of
| each page
|
*/
'show_version' => true,
/*
|--------------------------------------------------------------------------
| Show environment at footer
|--------------------------------------------------------------------------
|
| Whether to display the environment at the footer of each page
|
*/
'show_environment' => true,
/*
|--------------------------------------------------------------------------
| Menu bind to permission
|--------------------------------------------------------------------------
|
| whether enable menu bind to a permission
*/
'menu_bind_permission' => true,
/*
|--------------------------------------------------------------------------
| Enable default breadcrumb
|--------------------------------------------------------------------------
|
| Whether enable default breadcrumb for every page content.
*/
'enable_default_breadcrumb' => true,
/*
|--------------------------------------------------------------------------
| Enable/Disable assets minify
|--------------------------------------------------------------------------
*/
'minify_assets' => [
// Assets will not be minified.
'excepts' => [
],
],
/*
|--------------------------------------------------------------------------
| Enable/Disable sidebar menu search
|--------------------------------------------------------------------------
*/
'enable_menu_search' => true,
/*
|--------------------------------------------------------------------------
| Alert message that will displayed on top of the page.
|--------------------------------------------------------------------------
*/
'top_alert' => '',
/*
|--------------------------------------------------------------------------
| The global Grid action display class.
|--------------------------------------------------------------------------
*/
'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,
/*
|--------------------------------------------------------------------------
| Extension Directory
|--------------------------------------------------------------------------
|
| When you use command `php artisan admin:extend` to generate extensions,
| the extension files will be generated in this directory.
*/
'extension_dir' => app_path('Admin/Extensions'),
/*
|--------------------------------------------------------------------------
| Settings for extensions.
|--------------------------------------------------------------------------
|
| You can find all available extensions here
| https://github.com/laravel-admin-extensions.
|
*/
'extensions' => [
'editormd' => [
// Set to false if you want to disable this extension
'enable' => true,
// Set to true if you want to take advantage the screen length for your editormd instance.
'wideMode' => false,
// Set to true when the instance included in larave-admin tab component.
'dynamicMode' => false,
// Editor.js configuration (Refer to http://pandao.github.io/editor.md/)
'config' =>
[
'path' => '/vendor/laravel-admin-ext/editormd/editormd-1.5.0/lib/',
'width' => '100%',
'height' => 600,
'emoji' => true,
'imageUpload' => true,
'imageFormats' => ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
'imageUploadURL' => '/admin/blog-upload-files?type=1',
]
],
'configx' => [
// Set to `false` if you want to disable this extension
'enable' => true,
'tabs' => [
'base' => '基本设置',
'user_info' => '个人信息',
// 'image' => '' // if tab name is empty, get from trans : trans('admin.configx.tabs.image'); tab名称留空则从翻译中获取
],
//是否检查组权限
//if (!Admin::user()->can('confix.tab.base')) {/*hide base tab*/ } .
'check_permission' => false
],
'simditor' => [
// Set to false if you want to disable this extension
'enable' => true,
// Editor configuration
'config' => [
'upload' => [
'url' => '/admin/blog-upload-files?type=2', # example api route: admin/api/upload
'fileKey' => 'simditor_file',//服务器端获取文件数据的参数名
'connectionCount' => 3,
'leaveConfirm' => '上传正在进行中,您确定要离开此页面吗?'
],
'tabIndent' => true,
'toolbar' => ['title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale', 'color', '|', 'ol', 'ul', 'blockquote', 'code', 'table', '|', 'link', 'image', 'hr', '|', 'indent', 'outdent', 'alignment'],
'toolbarFloat' => true,
'toolbarFloatOffset' => 0,
'toolbarHidden' => false,
'pasteImage' => true,//允许粘贴图片
'cleanPaste' => false,
]
]
],
];
================================================
FILE: config/aetherupload.php
================================================
<?php
return [
# 【分布式设置】:如启用分布式部署,此类配置项必须在应用服务器与储存服务器都进行配置。 #
# 【一般设置】:只需在储存服务器配置。 #
/*
|--------------------------------------------------------------------------
| 分布式部署
|--------------------------------------------------------------------------
|
| 【分布式设置】使应用服务与储存服务分离,启用后资源上传请求将会由储存服务器处理。
|
*/
'distributed_deployment' => [
'enable' => false, # 是否启用
'role' => 'web', # 服务器角色,支持选项: 'web', 'storage'
'web' => [ # 角色为应用服务器
'storage_host' => '', # 储存服务器的host,如'http://storage.example.com'
],
'storage' => [ # 角色为储存服务器
'middleware_cors' => '', # 跨域中间件AetherUploadCORS类在Kernel.php中注册的名称
'allow_origin' => [], # 跨域中间件允许的应用服务器来源host,如['http://www.example.com']
],
],
/*
|--------------------------------------------------------------------------
| 启用秒传功能
|--------------------------------------------------------------------------
|
| 【一般设置】需要安装redis服务和predis扩展包。
|
*/
'instant_completion' => false,
/*
|--------------------------------------------------------------------------
| 上传根目录名
|--------------------------------------------------------------------------
|
| 【一般设置】位于 storage/app/ 下,修改默认值后需执行artisan命令aetherupload:groups生成对应目录。
|
*/
'root_dir' => 'public',
/*
|--------------------------------------------------------------------------
| 上传分块大小(B)
|--------------------------------------------------------------------------
|
| 【一般设置】建议1MB~4MB之间,较小值占用内存少、效率低,较大值占用内存多、效率高,需要小于web服务器和php.ini中的上传限值。
|
*/
'chunk_size' => 1000000,
/*
|--------------------------------------------------------------------------
| 子目录生成规则
|--------------------------------------------------------------------------
|
| 【一般设置】分为按年份、按月份、按日期、常量subdir。
|
| 支持选项: 'year', 'month', 'date', 'const'
|
*/
'resource_subdir_rule' => 'month',
/*
|--------------------------------------------------------------------------
| 头文件储存方式
|--------------------------------------------------------------------------
|
| 【一般设置】头文件储存disk的配置名称,如果为"redis",需在config/filesystems.php中添加以下配置。
| 'disks' => [
| ...
| 'redis' => [
| 'driver' => 'redis',
| 'disable_asserts'=>true,
| ],
| ...
| ]
|
| 支持选项: 'local', 'redis'
|
*/
'header_storage_disk' => 'local',
/*
|--------------------------------------------------------------------------
| 资源文件后缀名黑名单
|--------------------------------------------------------------------------
|
| 【一般设置】被禁止资源文件的后缀名集合,凡是匹配成功的资源文件均会被阻止上传,可在一定程度上防范恶意文件上传。
|
*/
'forbidden_extensions' => ['php', 'part', 'html', 'shtml', 'htm', 'shtm', 'xhtml', 'xml', 'js', 'jsp', 'asp', 'java', 'py', 'sh', 'bat', 'exe', 'dll', 'cgi', 'htaccess', 'reg', 'aspx', 'vbs'],
/*
|--------------------------------------------------------------------------
| 额外Mime-Type
|--------------------------------------------------------------------------
|
| 【一般设置】如上传文件类型在MimeType.php中不存在,可在此额外添加Mime-Type,格式参照'jpg' => 'image/jpeg'。
|
*/
'extra_mime_types' => [],
/*
|--------------------------------------------------------------------------
| 中间件
|--------------------------------------------------------------------------
|
| 【一般设置】上传预处理、上传分块、文件展示、文件下载时的路由中间件。
|
*/
'middleware_preprocess' => [], # 上传预处理时的路由中间件
'middleware_uploading' => [], # 上传文件分块时的路由中间件
'middleware_display' => [], # 文件展示时的路由中间件
'middleware_download' => [], # 文件下载时的路由中间件
/*
|--------------------------------------------------------------------------
| 路由
|--------------------------------------------------------------------------
|
| 【一般设置】上传预处理、上传分块、文件展示、文件下载的路由。
|
*/
'route_preprocess' => '/aetherupload/preprocess', # 上传预处理的路由
'route_uploading' => '/aetherupload/uploading', # 上传文件分块的路由
'route_display' => '/aetherupload/display', # 文件展示的路由
'route_download' => '/aetherupload/download', # 文件下载的路由
/*
|--------------------------------------------------------------------------
| 宽松模式
|--------------------------------------------------------------------------
|
| 【一般设置】在某些特殊场景,通过上传前跳过计算hash,可缩短总耗时。此选项开启后,无法进行秒传和完整性校验。默认不启用。
|
| 注意:开启后需在前端同时调用setLaxMode(true)方法。
|
*/
'lax_mode' => false,
/*
|--------------------------------------------------------------------------
| 资源分组
|--------------------------------------------------------------------------
|
| 【一般设置】可设置多个不同分组,各自拥有独立配置。新增分组并配置后,需执行artisan命令aetherupload:groups创建对应目录。
|
*/
'groups' => [
'file' => [ # 分组名
'group_dir' => 'file', # 分组目录名
'resource_maxsize' => 0, # 被允许的资源文件最大值(B),0为不限制,32位系统最大值为2147483647
'resource_extensions' => [], # 被允许的资源文件扩展名(白名单),空为不限制
'event_before_upload_complete' => '', # 上传完成前触发的事件(完整临时文件),PartialResource类的实例被注入
'event_upload_complete' => '', # 上传完成后触发的事件(完整资源文件),Resource类的实例被注入
],
],
];
================================================
FILE: config/app.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services the application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),
/*
|--------------------------------------------------------------------------
| Application Debug Mode
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'debug' => env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/
'url' => env('APP_URL', 'http://localhost'),
'asset_url' => env('ASSET_URL', null),
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'UTC',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'zh-CN',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',
/*
|--------------------------------------------------------------------------
| Faker Locale
|--------------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'en_US',
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
//七牛云
zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class
],
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'Notification' => Illuminate\Support\Facades\Notification::class,
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
],
'default_avatar' => 'default/default_avatar.png',
];
================================================
FILE: config/auth.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session", "token"
|
*/
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
],
];
================================================
FILE: config/broadcasting.php
================================================
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Broadcaster
|--------------------------------------------------------------------------
|
| This option controls the default broadcaster that will be used by the
| framework when an event needs to be broadcast. You may set this to
| any of the connections defined in the "connections" array below.
|
| Supported: "pusher", "redis", "log", "null"
|
*/
'default' => env('BROADCAST_DRIVER', 'null'),
/*
|--------------------------------------------------------------------------
| Broadcast Connections
|--------------------------------------------------------------------------
|
| Here you may define all of the broadcast connections that will be used
| to broadcast events to other systems or over websockets. Samples of
| each available type of connection are provided inside this array.
|
*/
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true,
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'log' => [
'driver' => 'log',
],
'null' => [
'driver' => 'null',
],
],
];
================================================
FILE: config/cache.php
================================================
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Cache Store
|--------------------------------------------------------------------------
|
| This option controls the default cache connection that gets used while
| using this caching library. This connection is used when another is
| not explicitly specified when executing a given caching function.
|
| Supported: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb"
|
*/
'default' => env('CACHE_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------
| Cache Stores
|--------------------------------------------------------------------------
|
| Here you may define all of the cache "stores" for your application as
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
*/
'stores' => [
'apc' => [
'driver' => 'apc',
],
'array' => [
'driver' => 'array',
],
'database' => [
'driver' => 'database',
'table' => 'cache',
'connection' => null,
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
],
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'endpoint' => env('DYNAMODB_ENDPOINT'),
],
],
/*
|--------------------------------------------------------------------------
| Cache Key Prefix
|--------------------------------------------------------------------------
|
| When utilizing a RAM based store such as APC or Memcached, there might
| be other applications utilizing the same cache. So, we'll specify a
| value to get prefixed to all our keys so we can avoid collisions.
|
*/
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
];
================================================
FILE: config/database.php
================================================
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
],
/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/
'migrations' => 'migrations',
/*
|-----------------------
Showing preview only (361K chars total). Download the full file or copy to clipboard to get everything.
gitextract_rfq8vaue/ ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .styleci.yml ├── LICENSE ├── README.md ├── app/ │ ├── Admin/ │ │ ├── Actions/ │ │ │ └── Post/ │ │ │ └── GoArticle.php │ │ ├── Controllers/ │ │ │ ├── AuthController.php │ │ │ ├── BlogAboutArticleController.php │ │ │ ├── BlogAboutCardOneController.php │ │ │ ├── BlogAboutCardTwoController.php │ │ │ ├── BlogAboutController.php │ │ │ ├── BlogFriendsController.php │ │ │ ├── BlogMessageController.php │ │ │ ├── BlogNavArticleController.php │ │ │ ├── BlogNavController.php │ │ │ ├── BlogNavMusicController.php │ │ │ ├── BlogNavPhotoController.php │ │ │ ├── BlogNavShareOneController.php │ │ │ ├── BlogNavShareTwoController.php │ │ │ ├── BlogNavVideoController.php │ │ │ ├── BlogNoticeController.php │ │ │ ├── BlogSubscribeController.php │ │ │ ├── BlogUploadFileController.php │ │ │ ├── ExampleController.php │ │ │ └── HomeController.php │ │ ├── bootstrap.php │ │ └── routes.php │ ├── Console/ │ │ └── Kernel.php │ ├── Exceptions/ │ │ └── Handler.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── Auth/ │ │ │ │ ├── ForgotPasswordController.php │ │ │ │ ├── LoginController.php │ │ │ │ ├── RegisterController.php │ │ │ │ ├── ResetPasswordController.php │ │ │ │ └── VerificationController.php │ │ │ ├── Controller.php │ │ │ └── Home/ │ │ │ ├── AboutController.php │ │ │ ├── ArticleController.php │ │ │ ├── ArticleDetailController.php │ │ │ ├── CardOneController.php │ │ │ ├── CardTwoController.php │ │ │ ├── FriendsController.php │ │ │ ├── IndexController.php │ │ │ ├── MessageController.php │ │ │ ├── MusicController.php │ │ │ ├── PhotoController.php │ │ │ └── VideoController.php │ │ ├── Kernel.php │ │ ├── Middleware/ │ │ │ ├── AetherUploadCORS.php │ │ │ ├── Authenticate.php │ │ │ ├── CheckForMaintenanceMode.php │ │ │ ├── EncryptCookies.php │ │ │ ├── RedirectIfAuthenticated.php │ │ │ ├── TrimStrings.php │ │ │ ├── TrustProxies.php │ │ │ └── VerifyCsrfToken.php │ │ └── Requests/ │ │ ├── StoreArticleMsgPost.php │ │ ├── StoreBlogFriendsPost.php │ │ └── StoreBlogSubscribePost.php │ ├── Jobs/ │ │ ├── ProcessPodcast.php │ │ └── SendReminderEmail.php │ ├── Mail/ │ │ └── ArticleMail.php │ ├── Models/ │ │ ├── BlogAbout.php │ │ ├── BlogAboutArticle.php │ │ ├── BlogAboutCardOne.php │ │ ├── BlogAboutCardTwo.php │ │ ├── BlogFriends.php │ │ ├── BlogMessage.php │ │ ├── BlogNav.php │ │ ├── BlogNavArticle.php │ │ ├── BlogNavMusic.php │ │ ├── BlogNavPhoto.php │ │ ├── BlogNavShareOne.php │ │ ├── BlogNavShareTwo.php │ │ ├── BlogNavVideo.php │ │ ├── BlogNotice.php │ │ ├── BlogSubscribe.php │ │ ├── BlogTag.php │ │ └── BlogUploadFile.php │ ├── Observers/ │ │ ├── BlogAboutCardTwoObserver.php │ │ ├── BlogConfigObserver.php │ │ ├── BlogFriendsObserver.php │ │ ├── BlogNavArticleObserver.php │ │ ├── BlogNavMusicObserver.php │ │ ├── BlogNavObserver.php │ │ ├── BlogNavPhotoObserver.php │ │ ├── BlogNavShareOneObserver.php │ │ ├── BlogNavShareTwoObserver.php │ │ └── BlogNavVideoObserver.php │ ├── Providers/ │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── BroadcastServiceProvider.php │ │ ├── EventServiceProvider.php │ │ └── RouteServiceProvider.php │ └── User.php ├── artisan ├── bootstrap/ │ ├── app.php │ ├── cache/ │ │ └── .gitignore │ └── common.php ├── composer.json ├── config/ │ ├── admin.php │ ├── aetherupload.php │ ├── app.php │ ├── auth.php │ ├── broadcasting.php │ ├── cache.php │ ├── database.php │ ├── filesystems.php │ ├── hashing.php │ ├── logging.php │ ├── mail.php │ ├── queue.php │ ├── services.php │ ├── session.php │ ├── static.php │ └── view.php ├── database/ │ ├── .gitignore │ ├── factories/ │ │ └── UserFactory.php │ ├── migrations/ │ │ ├── 2019_08_24_022201_create_blog_nav_table.php │ │ ├── 2019_08_24_025115_create_blog_nav_article_table.php │ │ ├── 2019_08_24_025134_create_blog_nav_photo_table.php │ │ ├── 2019_08_24_025151_create_blog_nav_music_table.php │ │ ├── 2019_08_24_025209_create_blog_nav_video_table.php │ │ ├── 2019_08_24_025230_create_blog_nav_share1_table.php │ │ ├── 2019_08_24_025240_create_blog_nav_share2_table.php │ │ ├── 2019_08_25_102118_create_blog_message_table.php │ │ ├── 2019_08_25_131502_create_blog_friends_table.php │ │ ├── 2019_08_26_021306_create_blog_apply_table.php │ │ ├── 2019_08_26_021945_create_blog_about_table.php │ │ ├── 2019_08_26_104822_create_blog_upload_files_table.php │ │ ├── 2019_08_29_042857_create_blog_notices_table.php │ │ ├── 2019_08_29_140729_create_blog_about_articles_table.php │ │ ├── 2019_08_29_140755_create_blog_about_card_ones_table.php │ │ ├── 2019_08_29_140807_create_blog_about_card_twos_table.php │ │ ├── 2019_09_15_132631_create_blog_subscribes_table.php │ │ ├── 2019_09_27_084944_create_blog_tags_table.php │ │ ├── 2019_10_07_060955_create_jobs_table.php │ │ └── 2019_10_07_071533_create_failed_jobs_table.php │ └── seeds/ │ ├── BlogArticleTableSeeder.php │ ├── BlogSubscribeSeeder.php │ └── DatabaseSeeder.php ├── package.json ├── php ├── phpunit.xml ├── public/ │ ├── .htaccess │ ├── css/ │ │ └── app.css │ ├── index.php │ ├── js/ │ │ └── app.js │ ├── robots.txt │ ├── static/ │ │ └── home/ │ │ ├── assets/ │ │ │ ├── clipboard/ │ │ │ │ └── clipboard.js │ │ │ ├── cplayer/ │ │ │ │ └── cplayer.js │ │ │ ├── css/ │ │ │ │ ├── editormd.css │ │ │ │ ├── fonts-googleapis.css │ │ │ │ ├── google-fonts/ │ │ │ │ │ └── fonts-googleapis.css │ │ │ │ ├── my_settings.css │ │ │ │ └── paper-kit.css │ │ │ ├── demo/ │ │ │ │ └── demo.css │ │ │ ├── fancybox/ │ │ │ │ └── fancybox-master/ │ │ │ │ ├── .github/ │ │ │ │ │ └── ISSUE_TEMPLATE/ │ │ │ │ │ ├── bug_report.md │ │ │ │ │ ├── feature_request.md │ │ │ │ │ └── question.md │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── bower.json │ │ │ │ ├── dist/ │ │ │ │ │ ├── jquery.fancybox.css │ │ │ │ │ └── jquery.fancybox.js │ │ │ │ ├── docs/ │ │ │ │ │ └── index.html │ │ │ │ ├── gulpfile.js │ │ │ │ ├── package.json │ │ │ │ └── src/ │ │ │ │ ├── css/ │ │ │ │ │ ├── core.css │ │ │ │ │ ├── fullscreen.css │ │ │ │ │ ├── share.css │ │ │ │ │ ├── slideshow.css │ │ │ │ │ └── thumbs.css │ │ │ │ └── js/ │ │ │ │ ├── core.js │ │ │ │ ├── fullscreen.js │ │ │ │ ├── guestures.js │ │ │ │ ├── hash.js │ │ │ │ ├── media.js │ │ │ │ ├── share.js │ │ │ │ ├── slideshow.js │ │ │ │ ├── thumbs.js │ │ │ │ └── wheel.js │ │ │ ├── fonts/ │ │ │ │ ├── font_back.css │ │ │ │ └── font_css_back.css │ │ │ ├── img/ │ │ │ │ └── img.lnk │ │ │ ├── js/ │ │ │ │ ├── iconfont.js │ │ │ │ ├── paper-kit.js │ │ │ │ └── plugins/ │ │ │ │ ├── bootstrap-datepicker.js │ │ │ │ └── bootstrap-switch.js │ │ │ ├── layer/ │ │ │ │ ├── layer.js │ │ │ │ ├── mobile/ │ │ │ │ │ ├── layer.js │ │ │ │ │ └── need/ │ │ │ │ │ └── layer.css │ │ │ │ └── theme/ │ │ │ │ └── default/ │ │ │ │ └── layer.css │ │ │ ├── pjax/ │ │ │ │ └── jquery.pjax.js │ │ │ ├── rotating-card/ │ │ │ │ ├── README.md │ │ │ │ ├── css/ │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ ├── pe-icon-7-stroke.css │ │ │ │ │ └── rotating-card.css │ │ │ │ ├── index.html │ │ │ │ ├── js/ │ │ │ │ │ └── jquery-1.10.2.js │ │ │ │ └── rotating-card.html │ │ │ └── scss/ │ │ │ ├── paper-kit/ │ │ │ │ ├── _alerts.scss │ │ │ │ ├── _badges.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _cards.scss │ │ │ │ ├── _carousel.scss │ │ │ │ ├── _checkbox-radio.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _examples.scss │ │ │ │ ├── _footers.scss │ │ │ │ ├── _headers.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _images.scss │ │ │ │ ├── _inputs.scss │ │ │ │ ├── _labels.scss │ │ │ │ ├── _misc.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _modal.scss │ │ │ │ ├── _navbars.scss │ │ │ │ ├── _nucleo-icons.scss │ │ │ │ ├── _nucleo-outline.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _progress-bars.scss │ │ │ │ ├── _responsive.scss │ │ │ │ ├── _sections.scss │ │ │ │ ├── _sidebar.scss │ │ │ │ ├── _sliders.scss │ │ │ │ ├── _social-buttons.scss │ │ │ │ ├── _switch.scss │ │ │ │ ├── _tabs-navs.scss │ │ │ │ ├── _tags.scss │ │ │ │ ├── _tooltips-and-popovers.scss │ │ │ │ ├── _typography.scss │ │ │ │ ├── _variables.scss │ │ │ │ ├── cards/ │ │ │ │ │ ├── _card-plain.scss │ │ │ │ │ ├── _card-profile.scss │ │ │ │ │ └── _card-register.scss │ │ │ │ ├── mixins/ │ │ │ │ │ ├── _alerts.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _inputs.scss │ │ │ │ │ ├── _labels.scss │ │ │ │ │ ├── _navbars.scss │ │ │ │ │ ├── _popovers.scss │ │ │ │ │ ├── _tabs.scss │ │ │ │ │ ├── _transparency.scss │ │ │ │ │ └── _vendor-prefixes.scss │ │ │ │ └── plugins/ │ │ │ │ ├── _plugin-bootstrap-switch.scss │ │ │ │ ├── _plugin-datepicker.scss │ │ │ │ ├── _plugin-nouislider.scss │ │ │ │ └── _plugin-perfect-scrollbar.scss │ │ │ └── paper-kit.scss │ │ ├── docs/ │ │ │ └── documentation.html │ │ ├── editormd/ │ │ │ ├── .gitignore │ │ │ ├── .jshintrc │ │ │ ├── BUGS.md │ │ │ ├── CHANGE.md │ │ │ ├── Gulpfile.js │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── css/ │ │ │ │ ├── editormd.css │ │ │ │ ├── editormd.logo.css │ │ │ │ └── editormd.preview.css │ │ │ ├── docs/ │ │ │ │ ├── editormd.js.html │ │ │ │ ├── index.html │ │ │ │ ├── scripts/ │ │ │ │ │ ├── linenumber.js │ │ │ │ │ └── prettify/ │ │ │ │ │ ├── Apache-License-2.0.txt │ │ │ │ │ ├── lang-css.js │ │ │ │ │ └── prettify.js │ │ │ │ └── styles/ │ │ │ │ ├── jsdoc-default.css │ │ │ │ ├── prettify-jsdoc.css │ │ │ │ └── prettify-tomorrow.css │ │ │ ├── editormd.amd.js │ │ │ ├── editormd.js │ │ │ ├── examples/ │ │ │ │ ├── @links.html │ │ │ │ ├── auto-height.html │ │ │ │ ├── change-mode.html │ │ │ │ ├── code-fold.html │ │ │ │ ├── css/ │ │ │ │ │ └── style.css │ │ │ │ ├── custom-keyboard-shortcuts.html │ │ │ │ ├── custom-toolbar.html │ │ │ │ ├── define-plugin.html │ │ │ │ ├── delay-renderer-preview.html │ │ │ │ ├── dynamic-create-editormd.html │ │ │ │ ├── emoji.html │ │ │ │ ├── extends.html │ │ │ │ ├── external-use.html │ │ │ │ ├── flowchart.html │ │ │ │ ├── form-get-value.html │ │ │ │ ├── full.html │ │ │ │ ├── goto-line.html │ │ │ │ ├── html-preview-markdown-to-html-custom-toc-container.html │ │ │ │ ├── html-preview-markdown-to-html.html │ │ │ │ ├── html-tags-decode.html │ │ │ │ ├── image-cross-domain-upload.html │ │ │ │ ├── image-upload.html │ │ │ │ ├── index.html │ │ │ │ ├── js/ │ │ │ │ │ ├── sea.js │ │ │ │ │ └── seajs-main.js │ │ │ │ ├── katex.html │ │ │ │ ├── manually-load-modules.html │ │ │ │ ├── multi-editormd.html │ │ │ │ ├── multi-languages.html │ │ │ │ ├── on-off.html │ │ │ │ ├── onchange.html │ │ │ │ ├── onfullscreen.html │ │ │ │ ├── onload.html │ │ │ │ ├── onpreviewing-onpreviewed.html │ │ │ │ ├── onresize.html │ │ │ │ ├── onscroll-onpreviewscroll.html │ │ │ │ ├── onwatch-onunwatch.html │ │ │ │ ├── page-break.html │ │ │ │ ├── php/ │ │ │ │ │ ├── cross-domain-upload.php │ │ │ │ │ ├── editormd.uploader.class.php │ │ │ │ │ ├── post.php │ │ │ │ │ ├── upload.php │ │ │ │ │ └── upload_callback.html │ │ │ │ ├── readonly.html │ │ │ │ ├── resettings.html │ │ │ │ ├── search-replace.html │ │ │ │ ├── sequence-diagram.html │ │ │ │ ├── set-get-replace-selection.html │ │ │ │ ├── simple.html │ │ │ │ ├── sync-scrolling.html │ │ │ │ ├── task-lists.html │ │ │ │ ├── test.md │ │ │ │ ├── themes.html │ │ │ │ ├── toc.html │ │ │ │ ├── toolbar-auto-fixed.html │ │ │ │ ├── use-requirejs.html │ │ │ │ ├── use-seajs.html │ │ │ │ └── use-zepto.html │ │ │ ├── fonts/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── languages/ │ │ │ │ ├── en.js │ │ │ │ └── zh-tw.js │ │ │ ├── lib/ │ │ │ │ └── codemirror/ │ │ │ │ ├── AUTHORS │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── addon/ │ │ │ │ │ ├── comment/ │ │ │ │ │ │ ├── comment.js │ │ │ │ │ │ └── continuecomment.js │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── dialog.css │ │ │ │ │ │ └── dialog.js │ │ │ │ │ ├── display/ │ │ │ │ │ │ ├── fullscreen.css │ │ │ │ │ │ ├── fullscreen.js │ │ │ │ │ │ ├── panel.js │ │ │ │ │ │ ├── placeholder.js │ │ │ │ │ │ └── rulers.js │ │ │ │ │ ├── edit/ │ │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ │ ├── closetag.js │ │ │ │ │ │ ├── continuelist.js │ │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ │ ├── matchtags.js │ │ │ │ │ │ └── trailingspace.js │ │ │ │ │ ├── fold/ │ │ │ │ │ │ ├── brace-fold.js │ │ │ │ │ │ ├── comment-fold.js │ │ │ │ │ │ ├── foldcode.js │ │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ │ ├── indent-fold.js │ │ │ │ │ │ ├── markdown-fold.js │ │ │ │ │ │ └── xml-fold.js │ │ │ │ │ ├── hint/ │ │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ │ ├── css-hint.js │ │ │ │ │ │ ├── html-hint.js │ │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ │ ├── show-hint.css │ │ │ │ │ │ ├── show-hint.js │ │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ │ └── xml-hint.js │ │ │ │ │ ├── lint/ │ │ │ │ │ │ ├── coffeescript-lint.js │ │ │ │ │ │ ├── css-lint.js │ │ │ │ │ │ ├── javascript-lint.js │ │ │ │ │ │ ├── json-lint.js │ │ │ │ │ │ ├── lint.css │ │ │ │ │ │ ├── lint.js │ │ │ │ │ │ └── yaml-lint.js │ │ │ │ │ ├── merge/ │ │ │ │ │ │ ├── merge.css │ │ │ │ │ │ └── merge.js │ │ │ │ │ ├── mode/ │ │ │ │ │ │ ├── loadmode.js │ │ │ │ │ │ ├── multiplex.js │ │ │ │ │ │ ├── multiplex_test.js │ │ │ │ │ │ ├── overlay.js │ │ │ │ │ │ └── simple.js │ │ │ │ │ ├── runmode/ │ │ │ │ │ │ ├── colorize.js │ │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ │ ├── runmode.js │ │ │ │ │ │ └── runmode.node.js │ │ │ │ │ ├── scroll/ │ │ │ │ │ │ ├── annotatescrollbar.js │ │ │ │ │ │ ├── scrollpastend.js │ │ │ │ │ │ ├── simplescrollbars.css │ │ │ │ │ │ └── simplescrollbars.js │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ │ ├── search.js │ │ │ │ │ │ └── searchcursor.js │ │ │ │ │ ├── selection/ │ │ │ │ │ │ ├── active-line.js │ │ │ │ │ │ ├── mark-selection.js │ │ │ │ │ │ └── selection-pointer.js │ │ │ │ │ ├── tern/ │ │ │ │ │ │ ├── tern.css │ │ │ │ │ │ ├── tern.js │ │ │ │ │ │ └── worker.js │ │ │ │ │ └── wrap/ │ │ │ │ │ └── hardwrap.js │ │ │ │ ├── bower.json │ │ │ │ ├── lib/ │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── mode/ │ │ │ │ │ ├── apl/ │ │ │ │ │ │ ├── apl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── asterisk/ │ │ │ │ │ │ ├── asterisk.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── clike/ │ │ │ │ │ │ ├── clike.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── scala.html │ │ │ │ │ ├── clojure/ │ │ │ │ │ │ ├── clojure.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── cobol/ │ │ │ │ │ │ ├── cobol.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── coffeescript/ │ │ │ │ │ │ ├── coffeescript.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── commonlisp/ │ │ │ │ │ │ ├── commonlisp.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── css.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── less.html │ │ │ │ │ │ ├── less_test.js │ │ │ │ │ │ ├── scss.html │ │ │ │ │ │ ├── scss_test.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── cypher/ │ │ │ │ │ │ ├── cypher.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── d/ │ │ │ │ │ │ ├── d.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dart/ │ │ │ │ │ │ ├── dart.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── diff/ │ │ │ │ │ │ ├── diff.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── django/ │ │ │ │ │ │ ├── django.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dockerfile/ │ │ │ │ │ │ ├── dockerfile.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dtd/ │ │ │ │ │ │ ├── dtd.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dylan/ │ │ │ │ │ │ ├── dylan.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── ebnf/ │ │ │ │ │ │ ├── ebnf.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── ecl/ │ │ │ │ │ │ ├── ecl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── eiffel/ │ │ │ │ │ │ ├── eiffel.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── erlang/ │ │ │ │ │ │ ├── erlang.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── forth/ │ │ │ │ │ │ ├── forth.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── fortran/ │ │ │ │ │ │ ├── fortran.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── gas/ │ │ │ │ │ │ ├── gas.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── gfm/ │ │ │ │ │ │ ├── gfm.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── gherkin/ │ │ │ │ │ │ ├── gherkin.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── go/ │ │ │ │ │ │ ├── go.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── groovy/ │ │ │ │ │ │ ├── groovy.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── haml/ │ │ │ │ │ │ ├── haml.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── haskell/ │ │ │ │ │ │ ├── haskell.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── haxe/ │ │ │ │ │ │ ├── haxe.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── htmlembedded/ │ │ │ │ │ │ ├── htmlembedded.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── htmlmixed/ │ │ │ │ │ │ ├── htmlmixed.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── http.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── idl/ │ │ │ │ │ │ ├── idl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── jade/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── jade.js │ │ │ │ │ ├── javascript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── javascript.js │ │ │ │ │ │ ├── json-ld.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── typescript.html │ │ │ │ │ ├── jinja2/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── jinja2.js │ │ │ │ │ ├── julia/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── julia.js │ │ │ │ │ ├── kotlin/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── kotlin.js │ │ │ │ │ ├── livescript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── livescript.js │ │ │ │ │ ├── lua/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── lua.js │ │ │ │ │ ├── markdown/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── markdown.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── meta.js │ │ │ │ │ ├── mirc/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── mirc.js │ │ │ │ │ ├── mllike/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── mllike.js │ │ │ │ │ ├── modelica/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── modelica.js │ │ │ │ │ ├── nginx/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── nginx.js │ │ │ │ │ ├── ntriples/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── ntriples.js │ │ │ │ │ ├── octave/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── octave.js │ │ │ │ │ ├── pascal/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pascal.js │ │ │ │ │ ├── pegjs/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pegjs.js │ │ │ │ │ ├── perl/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── perl.js │ │ │ │ │ ├── php/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── php.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── pig/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pig.js │ │ │ │ │ ├── properties/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── properties.js │ │ │ │ │ ├── puppet/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── puppet.js │ │ │ │ │ ├── python/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── python.js │ │ │ │ │ ├── q/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── q.js │ │ │ │ │ ├── r/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── r.js │ │ │ │ │ ├── rpm/ │ │ │ │ │ │ ├── changes/ │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rpm.js │ │ │ │ │ ├── rst/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rst.js │ │ │ │ │ ├── ruby/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── ruby.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── rust/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rust.js │ │ │ │ │ ├── sass/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sass.js │ │ │ │ │ ├── scheme/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── scheme.js │ │ │ │ │ ├── shell/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── shell.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── sieve/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sieve.js │ │ │ │ │ ├── slim/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── slim.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── smalltalk/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smalltalk.js │ │ │ │ │ ├── smarty/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smarty.js │ │ │ │ │ ├── smartymixed/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smartymixed.js │ │ │ │ │ ├── solr/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── solr.js │ │ │ │ │ ├── soy/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── soy.js │ │ │ │ │ ├── sparql/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sparql.js │ │ │ │ │ ├── spreadsheet/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── spreadsheet.js │ │ │ │ │ ├── sql/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sql.js │ │ │ │ │ ├── stex/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── stex.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── stylus/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── stylus.js │ │ │ │ │ ├── tcl/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── tcl.js │ │ │ │ │ ├── textile/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── textile.js │ │ │ │ │ ├── tiddlywiki/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── tiddlywiki.css │ │ │ │ │ │ └── tiddlywiki.js │ │ │ │ │ ├── tiki/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── tiki.css │ │ │ │ │ │ └── tiki.js │ │ │ │ │ ├── toml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── toml.js │ │ │ │ │ ├── tornado/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── tornado.js │ │ │ │ │ ├── turtle/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── turtle.js │ │ │ │ │ ├── vb/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── vb.js │ │ │ │ │ ├── vbscript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── vbscript.js │ │ │ │ │ ├── velocity/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── velocity.js │ │ │ │ │ ├── verilog/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── verilog.js │ │ │ │ │ ├── xml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── xml.js │ │ │ │ │ ├── xquery/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── xquery.js │ │ │ │ │ ├── yaml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── yaml.js │ │ │ │ │ └── z80/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── z80.js │ │ │ │ ├── package.json │ │ │ │ └── theme/ │ │ │ │ ├── 3024-day.css │ │ │ │ ├── 3024-night.css │ │ │ │ ├── ambiance-mobile.css │ │ │ │ ├── ambiance.css │ │ │ │ ├── base16-dark.css │ │ │ │ ├── base16-light.css │ │ │ │ ├── blackboard.css │ │ │ │ ├── cobalt.css │ │ │ │ ├── colorforth.css │ │ │ │ ├── eclipse.css │ │ │ │ ├── elegant.css │ │ │ │ ├── erlang-dark.css │ │ │ │ ├── lesser-dark.css │ │ │ │ ├── mbo.css │ │ │ │ ├── mdn-like.css │ │ │ │ ├── midnight.css │ │ │ │ ├── monokai.css │ │ │ │ ├── neat.css │ │ │ │ ├── neo.css │ │ │ │ ├── night.css │ │ │ │ ├── paraiso-dark.css │ │ │ │ ├── paraiso-light.css │ │ │ │ ├── pastel-on-dark.css │ │ │ │ ├── rubyblue.css │ │ │ │ ├── solarized.css │ │ │ │ ├── the-matrix.css │ │ │ │ ├── tomorrow-night-bright.css │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ ├── twilight.css │ │ │ │ ├── vibrant-ink.css │ │ │ │ ├── xq-dark.css │ │ │ │ ├── xq-light.css │ │ │ │ └── zenburn.css │ │ │ ├── package.json │ │ │ ├── plugins/ │ │ │ │ ├── code-block-dialog/ │ │ │ │ │ └── code-block-dialog.js │ │ │ │ ├── emoji-dialog/ │ │ │ │ │ ├── emoji-dialog.js │ │ │ │ │ └── emoji.json │ │ │ │ ├── goto-line-dialog/ │ │ │ │ │ └── goto-line-dialog.js │ │ │ │ ├── help-dialog/ │ │ │ │ │ ├── help-dialog.js │ │ │ │ │ └── help.md │ │ │ │ ├── html-entities-dialog/ │ │ │ │ │ ├── html-entities-dialog.js │ │ │ │ │ └── html-entities.json │ │ │ │ ├── image-dialog/ │ │ │ │ │ └── image-dialog.js │ │ │ │ ├── link-dialog/ │ │ │ │ │ └── link-dialog.js │ │ │ │ ├── plugin-template.js │ │ │ │ ├── preformatted-text-dialog/ │ │ │ │ │ └── preformatted-text-dialog.js │ │ │ │ ├── reference-link-dialog/ │ │ │ │ │ └── reference-link-dialog.js │ │ │ │ ├── table-dialog/ │ │ │ │ │ └── table-dialog.js │ │ │ │ └── test-plugin/ │ │ │ │ └── test-plugin.js │ │ │ ├── scss/ │ │ │ │ ├── editormd.codemirror.scss │ │ │ │ ├── editormd.dialog.scss │ │ │ │ ├── editormd.form.scss │ │ │ │ ├── editormd.grid.scss │ │ │ │ ├── editormd.logo.scss │ │ │ │ ├── editormd.menu.scss │ │ │ │ ├── editormd.preview.scss │ │ │ │ ├── editormd.preview.themes.scss │ │ │ │ ├── editormd.scss │ │ │ │ ├── editormd.tab.scss │ │ │ │ ├── editormd.themes.scss │ │ │ │ ├── font-awesome.scss │ │ │ │ ├── github-markdown.scss │ │ │ │ ├── lib/ │ │ │ │ │ ├── prefixes.scss │ │ │ │ │ └── variables.scss │ │ │ │ └── prettify.scss │ │ │ ├── src/ │ │ │ │ └── editormd.js │ │ │ └── tests/ │ │ │ ├── bootstrap-test.html │ │ │ ├── codemirror-searchbox-test.html │ │ │ ├── codemirror-test.html │ │ │ ├── js/ │ │ │ │ └── searchbox.js │ │ │ ├── katex-tests.html │ │ │ ├── marked-@at-test.html │ │ │ ├── marked-emoji-test.html │ │ │ ├── marked-heading-link-test.html │ │ │ ├── marked-todo-list-test.html │ │ │ └── qunit/ │ │ │ ├── qunit-1.16.0.css │ │ │ └── qunit-1.16.0.js │ │ ├── examples/ │ │ │ ├── landing-page.html │ │ │ ├── profile-page.html │ │ │ └── register-page.html │ │ ├── font-awesome4.7/ │ │ │ ├── HELP-US-OUT.txt │ │ │ ├── css/ │ │ │ │ └── font-awesome.css │ │ │ ├── fonts/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── less/ │ │ │ │ ├── animated.less │ │ │ │ ├── bordered-pulled.less │ │ │ │ ├── core.less │ │ │ │ ├── fixed-width.less │ │ │ │ ├── font-awesome.less │ │ │ │ ├── icons.less │ │ │ │ ├── larger.less │ │ │ │ ├── list.less │ │ │ │ ├── mixins.less │ │ │ │ ├── path.less │ │ │ │ ├── rotated-flipped.less │ │ │ │ ├── screen-reader.less │ │ │ │ ├── stacked.less │ │ │ │ └── variables.less │ │ │ └── scss/ │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ ├── fontawesome-free-5.10.1-web/ │ │ │ ├── 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 │ │ ├── live2d/ │ │ │ ├── assets/ │ │ │ │ ├── live2d.js │ │ │ │ ├── waifu-tips.js │ │ │ │ ├── waifu-tips.json │ │ │ │ └── waifu.css │ │ │ └── demo.html │ │ ├── live2d_api/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── add/ │ │ │ │ └── index.php │ │ │ ├── get/ │ │ │ │ └── index.php │ │ │ ├── model/ │ │ │ │ ├── HyperdimensionNeptunia/ │ │ │ │ │ ├── blanc_classic/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── blanc_normal/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── blanc_swimwear/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── general/ │ │ │ │ │ │ ├── mtn/ │ │ │ │ │ │ │ ├── idle_00.mtn │ │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ │ └── idle_02.mtn │ │ │ │ │ │ └── pose.json │ │ │ │ │ ├── histoire/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── histoirenohover/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ ├── physics.json │ │ │ │ │ │ └── textures.cache │ │ │ │ │ ├── nepgear/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── nepgear_extra/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── nepgearswim/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── nepmaid/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── nepnep/ │ │ │ │ │ │ ├── general/ │ │ │ │ │ │ │ ├── exp/ │ │ │ │ │ │ │ │ ├── deformed.json │ │ │ │ │ │ │ │ ├── enjoy.json │ │ │ │ │ │ │ │ ├── happy.json │ │ │ │ │ │ │ │ ├── kira.json │ │ │ │ │ │ │ │ ├── normal.json │ │ │ │ │ │ │ │ └── unhappy.json │ │ │ │ │ │ │ ├── mtn/ │ │ │ │ │ │ │ │ ├── idle_00.mtn │ │ │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ │ │ ├── idle_02.mtn │ │ │ │ │ │ │ │ ├── nep_slide_head_2.mtn │ │ │ │ │ │ │ │ ├── nep_touch_belly_1.mtn │ │ │ │ │ │ │ │ ├── nep_touch_belly_2.mtn │ │ │ │ │ │ │ │ ├── nep_touch_boobs_1.mtn │ │ │ │ │ │ │ │ ├── nep_touch_head_1.mtn │ │ │ │ │ │ │ │ ├── refuse.mtn │ │ │ │ │ │ │ │ ├── shake.mtn │ │ │ │ │ │ │ │ ├── smile.mtn │ │ │ │ │ │ │ │ └── tilt_head.mtn │ │ │ │ │ │ │ └── snd/ │ │ │ │ │ │ │ ├── 001.ogg │ │ │ │ │ │ │ ├── 007.ogg │ │ │ │ │ │ │ ├── 013.ogg │ │ │ │ │ │ │ ├── 014.ogg │ │ │ │ │ │ │ └── 101.ogg │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── nepswim/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ ├── physics.json │ │ │ │ │ │ └── textures.cache │ │ │ │ │ ├── neptune_classic/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ └── model.moc │ │ │ │ │ ├── neptune_santa/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ └── model.moc │ │ │ │ │ ├── noir/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── noir_classic/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── noir_santa/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── noireswim/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── vert_classic/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ ├── vert_normal/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ └── physics.json │ │ │ │ │ └── vert_swimwear/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── model.moc │ │ │ │ │ └── physics.json │ │ │ │ ├── KantaiCollection/ │ │ │ │ │ └── murakumo/ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ └── f04.exp.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── murakumo_idle_01.mtn │ │ │ │ │ │ ├── murakumo_idle_02.mtn │ │ │ │ │ │ ├── murakumo_idle_03.mtn │ │ │ │ │ │ ├── murakumo_m_01.mtn │ │ │ │ │ │ ├── murakumo_m_02.mtn │ │ │ │ │ │ ├── murakumo_tap_bust_01.mtn │ │ │ │ │ │ ├── murakumo_tap_bust_02.mtn │ │ │ │ │ │ └── murakumo_tap_ear_01.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── Potion-Maker/ │ │ │ │ │ ├── Pio/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ ├── motions/ │ │ │ │ │ │ │ ├── Breath Dere1.mtn │ │ │ │ │ │ │ ├── Breath Dere2.mtn │ │ │ │ │ │ │ ├── Breath Dere3.mtn │ │ │ │ │ │ │ ├── Breath1.mtn │ │ │ │ │ │ │ ├── Breath2.mtn │ │ │ │ │ │ │ ├── Breath3.mtn │ │ │ │ │ │ │ ├── Breath4.mtn │ │ │ │ │ │ │ ├── Breath5.mtn │ │ │ │ │ │ │ ├── Breath6.mtn │ │ │ │ │ │ │ ├── Breath7.mtn │ │ │ │ │ │ │ ├── Breath8.mtn │ │ │ │ │ │ │ ├── Fail.mtn │ │ │ │ │ │ │ ├── Sleeping.mtn │ │ │ │ │ │ │ ├── Success.mtn │ │ │ │ │ │ │ ├── Sukebei1.mtn │ │ │ │ │ │ │ ├── Sukebei2.mtn │ │ │ │ │ │ │ ├── Sukebei3.mtn │ │ │ │ │ │ │ ├── Touch Dere1.mtn │ │ │ │ │ │ │ ├── Touch Dere2.mtn │ │ │ │ │ │ │ ├── Touch Dere3.mtn │ │ │ │ │ │ │ ├── Touch Dere4.mtn │ │ │ │ │ │ │ ├── Touch Dere5.mtn │ │ │ │ │ │ │ ├── Touch Dere6.mtn │ │ │ │ │ │ │ ├── Touch1.mtn │ │ │ │ │ │ │ ├── Touch2.mtn │ │ │ │ │ │ │ ├── Touch3.mtn │ │ │ │ │ │ │ ├── Touch4.mtn │ │ │ │ │ │ │ ├── Touch5.mtn │ │ │ │ │ │ │ ├── Touch6.mtn │ │ │ │ │ │ │ └── WakeUp.mtn │ │ │ │ │ │ └── textures.cache │ │ │ │ │ └── Tia/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── Breath Dere1.mtn │ │ │ │ │ │ ├── Breath Dere2.mtn │ │ │ │ │ │ ├── Breath Dere3.mtn │ │ │ │ │ │ ├── Breath1.mtn │ │ │ │ │ │ ├── Breath2.mtn │ │ │ │ │ │ ├── Breath3.mtn │ │ │ │ │ │ ├── Breath4.mtn │ │ │ │ │ │ ├── Breath5.mtn │ │ │ │ │ │ ├── Breath6.mtn │ │ │ │ │ │ ├── Breath7.mtn │ │ │ │ │ │ ├── Breath8.mtn │ │ │ │ │ │ ├── Breath9.mtn │ │ │ │ │ │ ├── Fail.mtn │ │ │ │ │ │ ├── Sleeping.mtn │ │ │ │ │ │ ├── Success.mtn │ │ │ │ │ │ ├── Sukebei1.mtn │ │ │ │ │ │ ├── Sukebei2.mtn │ │ │ │ │ │ ├── Sukebei3.mtn │ │ │ │ │ │ ├── Touch Dere1.mtn │ │ │ │ │ │ ├── Touch Dere2.mtn │ │ │ │ │ │ ├── Touch Dere3.mtn │ │ │ │ │ │ ├── Touch Dere4.mtn │ │ │ │ │ │ ├── Touch Dere5.mtn │ │ │ │ │ │ ├── Touch Dere6.mtn │ │ │ │ │ │ ├── Touch1.mtn │ │ │ │ │ │ ├── Touch2.mtn │ │ │ │ │ │ ├── Touch3.mtn │ │ │ │ │ │ ├── Touch4.mtn │ │ │ │ │ │ ├── Touch5.mtn │ │ │ │ │ │ ├── Touch6.mtn │ │ │ │ │ │ └── WakeUp.mtn │ │ │ │ │ └── textures.cache │ │ │ │ ├── ShizukuTalk/ │ │ │ │ │ ├── shizuku-48/ │ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ │ └── f04.exp.json │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ ├── motions/ │ │ │ │ │ │ │ ├── double_tap1.mtn │ │ │ │ │ │ │ ├── double_tap2.mtn │ │ │ │ │ │ │ ├── double_tap3.mtn │ │ │ │ │ │ │ ├── double_tap4.mtn │ │ │ │ │ │ │ ├── idl_00.mtn │ │ │ │ │ │ │ ├── idl_01.mtn │ │ │ │ │ │ │ ├── idl_02.mtn │ │ │ │ │ │ │ ├── idl_03.mtn │ │ │ │ │ │ │ ├── idl_04.mtn │ │ │ │ │ │ │ ├── idl_05.mtn │ │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ │ ├── idle_02.mtn │ │ │ │ │ │ │ ├── idle_03.mtn │ │ │ │ │ │ │ ├── idle_04.mtn │ │ │ │ │ │ │ ├── idle_05.mtn │ │ │ │ │ │ │ ├── idle_06.mtn │ │ │ │ │ │ │ ├── idle_07.mtn │ │ │ │ │ │ │ ├── idle_08.mtn │ │ │ │ │ │ │ ├── idle_09.mtn │ │ │ │ │ │ │ ├── idle_A.mtn │ │ │ │ │ │ │ ├── idle_A2.mtn │ │ │ │ │ │ │ ├── idle_B.mtn │ │ │ │ │ │ │ ├── idle_B2.mtn │ │ │ │ │ │ │ ├── idle_C.mtn │ │ │ │ │ │ │ ├── idle_C2.mtn │ │ │ │ │ │ │ ├── idle_C2_copy.mtn │ │ │ │ │ │ │ ├── kurakura1.mtn │ │ │ │ │ │ │ ├── kurakura2.mtn │ │ │ │ │ │ │ ├── kurakura3.mtn │ │ │ │ │ │ │ ├── touch1.mtn │ │ │ │ │ │ │ ├── touch2.mtn │ │ │ │ │ │ │ ├── touch3.mtn │ │ │ │ │ │ │ ├── touch4.mtn │ │ │ │ │ │ │ ├── wait_01.mtn │ │ │ │ │ │ │ ├── wait_02.mtn │ │ │ │ │ │ │ ├── wait_03.mtn │ │ │ │ │ │ │ ├── wait_04.mtn │ │ │ │ │ │ │ └── wait_05.mtn │ │ │ │ │ │ ├── physics.json │ │ │ │ │ │ ├── pose.json │ │ │ │ │ │ └── textures.cache │ │ │ │ │ └── shizuku-pajama/ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ └── f04.exp.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── double_tap1.mtn │ │ │ │ │ │ ├── double_tap2.mtn │ │ │ │ │ │ ├── double_tap3.mtn │ │ │ │ │ │ ├── double_tap4.mtn │ │ │ │ │ │ ├── idl_00.mtn │ │ │ │ │ │ ├── idl_01.mtn │ │ │ │ │ │ ├── idl_02.mtn │ │ │ │ │ │ ├── idl_03.mtn │ │ │ │ │ │ ├── idl_04.mtn │ │ │ │ │ │ ├── idl_05.mtn │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ ├── idle_02.mtn │ │ │ │ │ │ ├── idle_03.mtn │ │ │ │ │ │ ├── idle_04.mtn │ │ │ │ │ │ ├── idle_05.mtn │ │ │ │ │ │ ├── idle_06.mtn │ │ │ │ │ │ ├── idle_07.mtn │ │ │ │ │ │ ├── idle_08.mtn │ │ │ │ │ │ ├── idle_09.mtn │ │ │ │ │ │ ├── idle_A.mtn │ │ │ │ │ │ ├── idle_A2.mtn │ │ │ │ │ │ ├── idle_B.mtn │ │ │ │ │ │ ├── idle_B2.mtn │ │ │ │ │ │ ├── idle_C.mtn │ │ │ │ │ │ ├── idle_C2.mtn │ │ │ │ │ │ ├── idle_C2_copy.mtn │ │ │ │ │ │ ├── kurakura1.mtn │ │ │ │ │ │ ├── kurakura2.mtn │ │ │ │ │ │ ├── kurakura3.mtn │ │ │ │ │ │ ├── touch1.mtn │ │ │ │ │ │ ├── touch2.mtn │ │ │ │ │ │ ├── touch3.mtn │ │ │ │ │ │ ├── touch4.mtn │ │ │ │ │ │ ├── wait_01.mtn │ │ │ │ │ │ ├── wait_02.mtn │ │ │ │ │ │ ├── wait_03.mtn │ │ │ │ │ │ ├── wait_04.mtn │ │ │ │ │ │ └── wait_05.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ ├── pose.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── bilibili-live/ │ │ │ │ │ ├── 22/ │ │ │ │ │ │ ├── index.json │ │ │ │ │ │ ├── model.moc │ │ │ │ │ │ ├── motions/ │ │ │ │ │ │ │ ├── idle-01.mtn │ │ │ │ │ │ │ ├── idle-02.mtn │ │ │ │ │ │ │ ├── idle-03.mtn │ │ │ │ │ │ │ ├── thanking.mtn │ │ │ │ │ │ │ └── touch.mtn │ │ │ │ │ │ ├── textures.cache │ │ │ │ │ │ └── textures_order.json │ │ │ │ │ └── 33/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── idle-01.mtn │ │ │ │ │ │ ├── idle-02.mtn │ │ │ │ │ │ ├── idle-03.mtn │ │ │ │ │ │ ├── thanking.mtn │ │ │ │ │ │ └── touch.mtn │ │ │ │ │ ├── textures.cache │ │ │ │ │ └── textures_order.json │ │ │ │ └── live2d-add/ │ │ │ │ ├── blacktom/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── hijiki.moc │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── 00_idle.mtn │ │ │ │ │ │ ├── 01.mtn │ │ │ │ │ │ ├── 02.mtn │ │ │ │ │ │ ├── 03.mtn │ │ │ │ │ │ ├── 04.mtn │ │ │ │ │ │ ├── 05.mtn │ │ │ │ │ │ ├── 06.mtn │ │ │ │ │ │ ├── 07.mtn │ │ │ │ │ │ └── 08.mtn │ │ │ │ │ ├── pose.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── epsilon/ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ ├── f04.exp.json │ │ │ │ │ │ ├── f05.exp.json │ │ │ │ │ │ ├── f06.exp.json │ │ │ │ │ │ ├── f07.exp.json │ │ │ │ │ │ └── f08.exp.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── Epsilon2.1.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── Epsilon2.1_idle_01.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_01.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_02.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_03.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_04.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_05.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_06.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_07.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_08.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_sp_01.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_sp_02.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_sp_03.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_sp_04.mtn │ │ │ │ │ │ ├── Epsilon2.1_m_sp_05.mtn │ │ │ │ │ │ └── Epsilon2.1_shake_01.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── haru/ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ ├── f04.exp.json │ │ │ │ │ │ ├── f05.exp.json │ │ │ │ │ │ ├── f06.exp.json │ │ │ │ │ │ ├── f07.exp.json │ │ │ │ │ │ └── f08.exp.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── haru02.moc │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── flickHead_00.mtn │ │ │ │ │ │ ├── idle_00.mtn │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ ├── idle_02.mtn │ │ │ │ │ │ ├── pinchIn_00.mtn │ │ │ │ │ │ ├── pinchOut_00.mtn │ │ │ │ │ │ ├── shake_00.mtn │ │ │ │ │ │ ├── tapBody_00.mtn │ │ │ │ │ │ ├── tapBody_01.mtn │ │ │ │ │ │ ├── tapBody_02.mtn │ │ │ │ │ │ ├── tapBody_03.mtn │ │ │ │ │ │ ├── tapBody_04.mtn │ │ │ │ │ │ ├── tapBody_05.mtn │ │ │ │ │ │ ├── tapBody_06.mtn │ │ │ │ │ │ ├── tapBody_07.mtn │ │ │ │ │ │ ├── tapBody_08.mtn │ │ │ │ │ │ └── tapBody_09.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ ├── pose.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── haru2/ │ │ │ │ │ ├── expressions/ │ │ │ │ │ │ ├── f01.exp.json │ │ │ │ │ │ ├── f02.exp.json │ │ │ │ │ │ ├── f03.exp.json │ │ │ │ │ │ ├── f04.exp.json │ │ │ │ │ │ ├── f05.exp.json │ │ │ │ │ │ ├── f06.exp.json │ │ │ │ │ │ ├── f07.exp.json │ │ │ │ │ │ └── f08.exp.json │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── haru01.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── flickHead_00.mtn │ │ │ │ │ │ ├── idle_00.mtn │ │ │ │ │ │ ├── idle_01.mtn │ │ │ │ │ │ ├── idle_02.mtn │ │ │ │ │ │ ├── pinchIn_00.mtn │ │ │ │ │ │ ├── pinchOut_00.mtn │ │ │ │ │ │ ├── shake_00.mtn │ │ │ │ │ │ ├── tapBody_00.mtn │ │ │ │ │ │ ├── tapBody_01.mtn │ │ │ │ │ │ ├── tapBody_02.mtn │ │ │ │ │ │ ├── tapBody_03.mtn │ │ │ │ │ │ ├── tapBody_04.mtn │ │ │ │ │ │ ├── tapBody_05.mtn │ │ │ │ │ │ ├── tapBody_06.mtn │ │ │ │ │ │ ├── tapBody_07.mtn │ │ │ │ │ │ ├── tapBody_08.mtn │ │ │ │ │ │ └── tapBody_09.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ └── pose.json │ │ │ │ ├── miku/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── miku.moc │ │ │ │ │ ├── model.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── miku_idle_01.mtn │ │ │ │ │ │ ├── miku_m_01.mtn │ │ │ │ │ │ ├── miku_m_02.mtn │ │ │ │ │ │ ├── miku_m_03.mtn │ │ │ │ │ │ ├── miku_m_04.mtn │ │ │ │ │ │ ├── miku_m_05.mtn │ │ │ │ │ │ ├── miku_m_06.mtn │ │ │ │ │ │ └── miku_shake_01.mtn │ │ │ │ │ ├── physics.json │ │ │ │ │ └── textures.cache │ │ │ │ ├── rem/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── Live2D_remu01.mtn │ │ │ │ │ │ ├── Live2D_remu02.mtn │ │ │ │ │ │ ├── Live2D_remu03.mtn │ │ │ │ │ │ ├── Live2D_remu04.mtn │ │ │ │ │ │ ├── Live2D_remu05.mtn │ │ │ │ │ │ ├── Live2D_remu06.mtn │ │ │ │ │ │ ├── Live2D_remu07.mtn │ │ │ │ │ │ ├── Live2D_remu08.mtn │ │ │ │ │ │ ├── Live2D_remu09.mtn │ │ │ │ │ │ ├── Live2D_remu10.mtn │ │ │ │ │ │ ├── Live2D_remu11.mtn │ │ │ │ │ │ ├── Live2D_remu12.mtn │ │ │ │ │ │ ├── Live2D_remu13.mtn │ │ │ │ │ │ ├── Live2D_remu14.mtn │ │ │ │ │ │ ├── Live2D_remu15.mtn │ │ │ │ │ │ ├── Live2D_remu16.mtn │ │ │ │ │ │ ├── Live2D_remu17.mtn │ │ │ │ │ │ ├── Live2D_remu18.mtn │ │ │ │ │ │ ├── Live2D_remu19.mtn │ │ │ │ │ │ ├── Live2D_remu20.mtn │ │ │ │ │ │ ├── Live2D_remu21.mtn │ │ │ │ │ │ ├── Live2D_remu22.mtn │ │ │ │ │ │ ├── Live2D_remu23.mtn │ │ │ │ │ │ ├── Live2D_remu24.mtn │ │ │ │ │ │ ├── Live2D_remu25.mtn │ │ │ │ │ │ ├── Live2D_remu26.mtn │ │ │ │ │ │ ├── Live2D_remu27.mtn │ │ │ │ │ │ ├── Live2D_remu28.mtn │ │ │ │ │ │ ├── Live2D_remu29.mtn │ │ │ │ │ │ ├── Live2D_remu30.mtn │ │ │ │ │ │ ├── Live2D_remu31.mtn │ │ │ │ │ │ ├── Live2D_remu32.mtn │ │ │ │ │ │ ├── Live2D_remu33.mtn │ │ │ │ │ │ ├── Live2D_remu34.mtn │ │ │ │ │ │ └── Live2D_remu_idle.mtn │ │ │ │ │ ├── remu.moc │ │ │ │ │ ├── remu.physics.json │ │ │ │ │ └── remu.pose.json │ │ │ │ ├── tom/ │ │ │ │ │ ├── index.json │ │ │ │ │ ├── moc/ │ │ │ │ │ │ └── tororo.moc │ │ │ │ │ ├── motions/ │ │ │ │ │ │ ├── 00_idle.mtn │ │ │ │ │ │ ├── 01.mtn │ │ │ │ │ │ ├── 02.mtn │ │ │ │ │ │ ├── 03.mtn │ │ │ │ │ │ ├── 04.mtn │ │ │ │ │ │ ├── 05.mtn │ │ │ │ │ │ ├── 06.mtn │ │ │ │ │ │ ├── 07.mtn │ │ │ │ │ │ └── 08.mtn │ │ │ │ │ └── tororo.pose.json │ │ │ │ └── xiaoban/ │ │ │ │ ├── index.json │ │ │ │ ├── model.moc │ │ │ │ ├── motions/ │ │ │ │ │ ├── Anone_Synced.mtn │ │ │ │ │ ├── Dance.mtn │ │ │ │ │ ├── Idle.mtn │ │ │ │ │ └── Nemui.mtn │ │ │ │ └── textures.cache │ │ │ ├── model_list.json │ │ │ ├── rand/ │ │ │ │ └── index.php │ │ │ ├── rand_textures/ │ │ │ │ └── index.php │ │ │ ├── switch/ │ │ │ │ └── index.php │ │ │ ├── switch_textures/ │ │ │ │ └── index.php │ │ │ └── tools/ │ │ │ ├── modelList.php │ │ │ ├── modelTextures.php │ │ │ └── name-to-lower.php │ │ ├── pjax/ │ │ │ └── jquery.pjax.js │ │ ├── toc-helper/ │ │ │ ├── css/ │ │ │ │ └── toc-helper.css │ │ │ └── js/ │ │ │ └── toc-helper.js │ │ └── tool/ │ │ └── toc-helper-master/ │ │ ├── .babelrc.js │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── css/ │ │ │ └── toc-helper.css │ │ ├── gulpfile.js │ │ ├── js/ │ │ │ └── toc-helper.js │ │ ├── lib/ │ │ │ ├── prism.css │ │ │ └── prism.js │ │ ├── package.json │ │ ├── rollup.config.js │ │ └── toc-helper.html │ └── vendor/ │ ├── aetherupload/ │ │ └── js/ │ │ └── aetherupload.js │ ├── laravel-admin/ │ │ ├── AdminLTE/ │ │ │ └── plugins/ │ │ │ ├── bootstrap-slider/ │ │ │ │ ├── bootstrap-slider.js │ │ │ │ └── slider.css │ │ │ ├── iCheck/ │ │ │ │ ├── all.css │ │ │ │ ├── flat/ │ │ │ │ │ ├── _all.css │ │ │ │ │ ├── aero.css │ │ │ │ │ ├── blue.css │ │ │ │ │ ├── flat.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── grey.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── pink.css │ │ │ │ │ ├── purple.css │ │ │ │ │ ├── red.css │ │ │ │ │ └── yellow.css │ │ │ │ ├── futurico/ │ │ │ │ │ └── futurico.css │ │ │ │ ├── line/ │ │ │ │ │ ├── _all.css │ │ │ │ │ ├── aero.css │ │ │ │ │ ├── blue.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── grey.css │ │ │ │ │ ├── line.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── pink.css │ │ │ │ │ ├── purple.css │ │ │ │ │ ├── red.css │ │ │ │ │ └── yellow.css │ │ │ │ ├── minimal/ │ │ │ │ │ ├── _all.css │ │ │ │ │ ├── aero.css │ │ │ │ │ ├── blue.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── grey.css │ │ │ │ │ ├── minimal.css │ │ │ │ │ ├── orange.css │ │ │ │ │ ├── pink.css │ │ │ │ │ ├── purple.css │ │ │ │ │ ├── red.css │ │ │ │ │ └── yellow.css │ │ │ │ ├── polaris/ │ │ │ │ │ └── polaris.css │ │ │ │ └── square/ │ │ │ │ ├── _all.css │ │ │ │ ├── aero.css │ │ │ │ ├── blue.css │ │ │ │ ├── green.css │ │ │ │ ├── grey.css │ │ │ │ ├── orange.css │ │ │ │ ├── pink.css │ │ │ │ ├── purple.css │ │ │ │ ├── red.css │ │ │ │ ├── square.css │ │ │ │ └── yellow.css │ │ │ ├── input-mask/ │ │ │ │ └── phone-codes/ │ │ │ │ ├── phone-be.json │ │ │ │ ├── phone-codes.json │ │ │ │ └── readme.txt │ │ │ ├── ionslider/ │ │ │ │ ├── ion.rangeSlider.css │ │ │ │ ├── ion.rangeSlider.skinFlat.css │ │ │ │ └── ion.rangeSlider.skinNice.css │ │ │ └── select2/ │ │ │ ├── i18n/ │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── old_i18n/ │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hu.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ └── select2.full.js │ │ ├── bootstrap-fileinput/ │ │ │ └── js/ │ │ │ └── plugins/ │ │ │ ├── canvas-to-blob.js │ │ │ ├── piexif.js │ │ │ ├── purify.js │ │ │ └── sortable.js │ │ ├── bootstrap3-editable/ │ │ │ └── css/ │ │ │ └── bootstrap-editable.css │ │ ├── font-awesome/ │ │ │ └── fonts/ │ │ │ └── FontAwesome.otf │ │ ├── google-fonts/ │ │ │ └── fonts.css │ │ ├── jquery-pjax/ │ │ │ └── jquery.pjax.js │ │ ├── laravel-admin/ │ │ │ ├── laravel-admin.css │ │ │ └── laravel-admin.js │ │ ├── nestable/ │ │ │ ├── jquery.nestable.js │ │ │ └── nestable.css │ │ ├── nprogress/ │ │ │ ├── nprogress.css │ │ │ └── nprogress.js │ │ ├── number-input/ │ │ │ └── bootstrap-number-input.js │ │ └── sweetalert2/ │ │ └── dist/ │ │ └── sweetalert2.css │ ├── laravel-admin-ext/ │ │ ├── editormd/ │ │ │ └── editormd-1.5.0/ │ │ │ ├── css/ │ │ │ │ ├── editormd.css │ │ │ │ ├── editormd.logo.css │ │ │ │ └── editormd.preview.css │ │ │ ├── fonts/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── js/ │ │ │ │ └── editormd.js │ │ │ ├── languages/ │ │ │ │ ├── en.js │ │ │ │ └── zh-tw.js │ │ │ ├── lib/ │ │ │ │ └── codemirror/ │ │ │ │ ├── AUTHORS │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── addon/ │ │ │ │ │ ├── comment/ │ │ │ │ │ │ ├── comment.js │ │ │ │ │ │ └── continuecomment.js │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── dialog.css │ │ │ │ │ │ └── dialog.js │ │ │ │ │ ├── display/ │ │ │ │ │ │ ├── fullscreen.css │ │ │ │ │ │ ├── fullscreen.js │ │ │ │ │ │ ├── panel.js │ │ │ │ │ │ ├── placeholder.js │ │ │ │ │ │ └── rulers.js │ │ │ │ │ ├── edit/ │ │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ │ ├── closetag.js │ │ │ │ │ │ ├── continuelist.js │ │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ │ ├── matchtags.js │ │ │ │ │ │ └── trailingspace.js │ │ │ │ │ ├── fold/ │ │ │ │ │ │ ├── brace-fold.js │ │ │ │ │ │ ├── comment-fold.js │ │ │ │ │ │ ├── foldcode.js │ │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ │ ├── indent-fold.js │ │ │ │ │ │ ├── markdown-fold.js │ │ │ │ │ │ └── xml-fold.js │ │ │ │ │ ├── hint/ │ │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ │ ├── css-hint.js │ │ │ │ │ │ ├── html-hint.js │ │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ │ ├── show-hint.css │ │ │ │ │ │ ├── show-hint.js │ │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ │ └── xml-hint.js │ │ │ │ │ ├── lint/ │ │ │ │ │ │ ├── coffeescript-lint.js │ │ │ │ │ │ ├── css-lint.js │ │ │ │ │ │ ├── javascript-lint.js │ │ │ │ │ │ ├── json-lint.js │ │ │ │ │ │ ├── lint.css │ │ │ │ │ │ ├── lint.js │ │ │ │ │ │ └── yaml-lint.js │ │ │ │ │ ├── merge/ │ │ │ │ │ │ ├── merge.css │ │ │ │ │ │ └── merge.js │ │ │ │ │ ├── mode/ │ │ │ │ │ │ ├── loadmode.js │ │ │ │ │ │ ├── multiplex.js │ │ │ │ │ │ ├── multiplex_test.js │ │ │ │ │ │ ├── overlay.js │ │ │ │ │ │ └── simple.js │ │ │ │ │ ├── runmode/ │ │ │ │ │ │ ├── colorize.js │ │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ │ ├── runmode.js │ │ │ │ │ │ └── runmode.node.js │ │ │ │ │ ├── scroll/ │ │ │ │ │ │ ├── annotatescrollbar.js │ │ │ │ │ │ ├── scrollpastend.js │ │ │ │ │ │ ├── simplescrollbars.css │ │ │ │ │ │ └── simplescrollbars.js │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ │ ├── search.js │ │ │ │ │ │ └── searchcursor.js │ │ │ │ │ ├── selection/ │ │ │ │ │ │ ├── active-line.js │ │ │ │ │ │ ├── mark-selection.js │ │ │ │ │ │ └── selection-pointer.js │ │ │ │ │ ├── tern/ │ │ │ │ │ │ ├── tern.css │ │ │ │ │ │ ├── tern.js │ │ │ │ │ │ └── worker.js │ │ │ │ │ └── wrap/ │ │ │ │ │ └── hardwrap.js │ │ │ │ ├── bower.json │ │ │ │ ├── lib/ │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── mode/ │ │ │ │ │ ├── apl/ │ │ │ │ │ │ ├── apl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── asterisk/ │ │ │ │ │ │ ├── asterisk.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── clike/ │ │ │ │ │ │ ├── clike.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── scala.html │ │ │ │ │ ├── clojure/ │ │ │ │ │ │ ├── clojure.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── cobol/ │ │ │ │ │ │ ├── cobol.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── coffeescript/ │ │ │ │ │ │ ├── coffeescript.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── commonlisp/ │ │ │ │ │ │ ├── commonlisp.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── css.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── less.html │ │ │ │ │ │ ├── less_test.js │ │ │ │ │ │ ├── scss.html │ │ │ │ │ │ ├── scss_test.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── cypher/ │ │ │ │ │ │ ├── cypher.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── d/ │ │ │ │ │ │ ├── d.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dart/ │ │ │ │ │ │ ├── dart.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── diff/ │ │ │ │ │ │ ├── diff.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── django/ │ │ │ │ │ │ ├── django.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dockerfile/ │ │ │ │ │ │ ├── dockerfile.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dtd/ │ │ │ │ │ │ ├── dtd.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── dylan/ │ │ │ │ │ │ ├── dylan.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── ebnf/ │ │ │ │ │ │ ├── ebnf.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── ecl/ │ │ │ │ │ │ ├── ecl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── eiffel/ │ │ │ │ │ │ ├── eiffel.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── erlang/ │ │ │ │ │ │ ├── erlang.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── forth/ │ │ │ │ │ │ ├── forth.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── fortran/ │ │ │ │ │ │ ├── fortran.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── gas/ │ │ │ │ │ │ ├── gas.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── gfm/ │ │ │ │ │ │ ├── gfm.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── gherkin/ │ │ │ │ │ │ ├── gherkin.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── go/ │ │ │ │ │ │ ├── go.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── groovy/ │ │ │ │ │ │ ├── groovy.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── haml/ │ │ │ │ │ │ ├── haml.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── haskell/ │ │ │ │ │ │ ├── haskell.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── haxe/ │ │ │ │ │ │ ├── haxe.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── htmlembedded/ │ │ │ │ │ │ ├── htmlembedded.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── htmlmixed/ │ │ │ │ │ │ ├── htmlmixed.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── http.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── idl/ │ │ │ │ │ │ ├── idl.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── jade/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── jade.js │ │ │ │ │ ├── javascript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── javascript.js │ │ │ │ │ │ ├── json-ld.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── typescript.html │ │ │ │ │ ├── jinja2/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── jinja2.js │ │ │ │ │ ├── julia/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── julia.js │ │ │ │ │ ├── kotlin/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── kotlin.js │ │ │ │ │ ├── livescript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── livescript.js │ │ │ │ │ ├── lua/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── lua.js │ │ │ │ │ ├── markdown/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── markdown.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── meta.js │ │ │ │ │ ├── mirc/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── mirc.js │ │ │ │ │ ├── mllike/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── mllike.js │ │ │ │ │ ├── modelica/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── modelica.js │ │ │ │ │ ├── nginx/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── nginx.js │ │ │ │ │ ├── ntriples/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── ntriples.js │ │ │ │ │ ├── octave/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── octave.js │ │ │ │ │ ├── pascal/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pascal.js │ │ │ │ │ ├── pegjs/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pegjs.js │ │ │ │ │ ├── perl/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── perl.js │ │ │ │ │ ├── php/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── php.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── pig/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── pig.js │ │ │ │ │ ├── properties/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── properties.js │ │ │ │ │ ├── puppet/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── puppet.js │ │ │ │ │ ├── python/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── python.js │ │ │ │ │ ├── q/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── q.js │ │ │ │ │ ├── r/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── r.js │ │ │ │ │ ├── rpm/ │ │ │ │ │ │ ├── changes/ │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rpm.js │ │ │ │ │ ├── rst/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rst.js │ │ │ │ │ ├── ruby/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── ruby.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── rust/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── rust.js │ │ │ │ │ ├── sass/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sass.js │ │ │ │ │ ├── scheme/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── scheme.js │ │ │ │ │ ├── shell/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── shell.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── sieve/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sieve.js │ │ │ │ │ ├── slim/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── slim.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── smalltalk/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smalltalk.js │ │ │ │ │ ├── smarty/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smarty.js │ │ │ │ │ ├── smartymixed/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── smartymixed.js │ │ │ │ │ ├── solr/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── solr.js │ │ │ │ │ ├── soy/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── soy.js │ │ │ │ │ ├── sparql/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sparql.js │ │ │ │ │ ├── spreadsheet/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── spreadsheet.js │ │ │ │ │ ├── sql/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sql.js │ │ │ │ │ ├── stex/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── stex.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── stylus/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── stylus.js │ │ │ │ │ ├── tcl/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── tcl.js │ │ │ │ │ ├── textile/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── textile.js │ │ │ │ │ ├── tiddlywiki/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── tiddlywiki.css │ │ │ │ │ │ └── tiddlywiki.js │ │ │ │ │ ├── tiki/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── tiki.css │ │ │ │ │ │ └── tiki.js │ │ │ │ │ ├── toml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── toml.js │ │ │ │ │ ├── tornado/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── tornado.js │ │ │ │ │ ├── turtle/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── turtle.js │ │ │ │ │ ├── vb/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── vb.js │ │ │ │ │ ├── vbscript/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── vbscript.js │ │ │ │ │ ├── velocity/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── velocity.js │ │ │ │ │ ├── verilog/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── verilog.js │ │ │ │ │ ├── xml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── xml.js │ │ │ │ │ ├── xquery/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── xquery.js │ │ │ │ │ ├── yaml/ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── yaml.js │ │ │ │ │ └── z80/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── z80.js │ │ │ │ ├── package.json │ │ │ │ └── theme/ │ │ │ │ ├── 3024-day.css │ │ │ │ ├── 3024-night.css │ │ │ │ ├── ambiance-mobile.css │ │ │ │ ├── ambiance.css │ │ │ │ ├── base16-dark.css │ │ │ │ ├── base16-light.css │ │ │ │ ├── blackboard.css │ │ │ │ ├── cobalt.css │ │ │ │ ├── colorforth.css │ │ │ │ ├── eclipse.css │ │ │ │ ├── elegant.css │ │ │ │ ├── erlang-dark.css │ │ │ │ ├── lesser-dark.css │ │ │ │ ├── mbo.css │ │ │ │ ├── mdn-like.css │ │ │ │ ├── midnight.css │ │ │ │ ├── monokai.css │ │ │ │ ├── neat.css │ │ │ │ ├── neo.css │ │ │ │ ├── night.css │ │ │ │ ├── paraiso-dark.css │ │ │ │ ├── paraiso-light.css │ │ │ │ ├── pastel-on-dark.css │ │ │ │ ├── rubyblue.css │ │ │ │ ├── solarized.css │ │ │ │ ├── the-matrix.css │ │ │ │ ├── tomorrow-night-bright.css │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ ├── twilight.css │ │ │ │ ├── vibrant-ink.css │ │ │ │ ├── xq-dark.css │ │ │ │ ├── xq-light.css │ │ │ │ └── zenburn.css │ │ │ ├── plugins/ │ │ │ │ ├── code-block-dialog/ │ │ │ │ │ └── code-block-dialog.js │ │ │ │ ├── emoji-dialog/ │ │ │ │ │ ├── emoji-dialog.js │ │ │ │ │ └── emoji.json │ │ │ │ ├── goto-line-dialog/ │ │ │ │ │ └── goto-line-dialog.js │ │ │ │ ├── help-dialog/ │ │ │ │ │ ├── help-dialog.js │ │ │ │ │ └── help.md │ │ │ │ ├── html-entities-dialog/ │ │ │ │ │ ├── html-entities-dialog.js │ │ │ │ │ └── html-entities.json │ │ │ │ ├── image-dialog/ │ │ │ │ │ └── image-dialog.js │ │ │ │ ├── link-dialog/ │ │ │ │ │ └── link-dialog.js │ │ │ │ ├── plugin-template.js │ │ │ │ ├── preformatted-text-dialog/ │ │ │ │ │ └── preformatted-text-dialog.js │ │ │ │ ├── reference-link-dialog/ │ │ │ │ │ └── reference-link-dialog.js │ │ │ │ ├── table-dialog/ │ │ │ │ │ └── table-dialog.js │ │ │ │ └── test-plugin/ │ │ │ │ └── test-plugin.js │ │ │ └── scss/ │ │ │ ├── editormd.codemirror.scss │ │ │ ├── editormd.dialog.scss │ │ │ ├── editormd.form.scss │ │ │ ├── editormd.grid.scss │ │ │ ├── editormd.logo.scss │ │ │ ├── editormd.menu.scss │ │ │ ├── editormd.preview.scss │ │ │ ├── editormd.preview.themes.scss │ │ │ ├── editormd.scss │ │ │ ├── editormd.tab.scss │ │ │ ├── editormd.themes.scss │ │ │ ├── font-awesome.scss │ │ │ ├── github-markdown.scss │ │ │ ├── lib/ │ │ │ │ ├── prefixes.scss │ │ │ │ └── variables.scss │ │ │ └── prettify.scss │ │ ├── large-file-upload/ │ │ │ └── js/ │ │ │ ├── aetherupload.admin.js │ │ │ └── bootstrap.file-input.js │ │ ├── material-ui/ │ │ │ └── MaterialAdminLTE/ │ │ │ └── dist/ │ │ │ └── css/ │ │ │ └── custom.css │ │ ├── row-table/ │ │ │ └── table.css │ │ └── simditor/ │ │ └── simditor-2.3.25/ │ │ ├── scripts/ │ │ │ ├── dompurify.js │ │ │ ├── hotkeys.js │ │ │ ├── module.js │ │ │ ├── simditor.js │ │ │ └── uploader.js │ │ └── styles/ │ │ └── simditor.css │ └── wenxuanjun/ │ └── laravel-adminlte3/ │ ├── dist/ │ │ ├── css/ │ │ │ ├── adminlte.css │ │ │ └── app.css │ │ └── js/ │ │ ├── adminlte.js │ │ ├── app.js │ │ ├── demo.js │ │ └── pages/ │ │ ├── dashboard.js │ │ ├── dashboard2.js │ │ └── dashboard3.js │ └── plugins/ │ ├── bootstrap/ │ │ ├── css/ │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-reboot.css │ │ │ └── bootstrap.css │ │ └── js/ │ │ ├── bootstrap.bundle.js │ │ └── bootstrap.js │ ├── fastclick/ │ │ └── fastclick.js │ ├── font-awesome/ │ │ ├── css/ │ │ │ └── font-awesome.css │ │ └── fonts/ │ │ └── FontAwesome.otf │ ├── glyphicons/ │ │ └── css/ │ │ └── glyphicons.css │ ├── jquery/ │ │ ├── core.js │ │ ├── jquery.js │ │ └── jquery.slim.js │ └── slimScroll/ │ └── jquery.slimscroll.js ├── resources/ │ ├── js/ │ │ ├── app.js │ │ ├── bootstrap.js │ │ └── components/ │ │ └── ExampleComponent.vue │ ├── lang/ │ │ ├── ar/ │ │ │ └── admin.php │ │ ├── az/ │ │ │ └── admin.php │ │ ├── en/ │ │ │ ├── admin.php │ │ │ ├── auth.php │ │ │ ├── pagination.php │ │ │ ├── passwords.php │ │ │ └── validation.php │ │ ├── es/ │ │ │ └── admin.php │ │ ├── fa/ │ │ │ └── admin.php │ │ ├── fr/ │ │ │ └── admin.php │ │ ├── he/ │ │ │ └── admin.php │ │ ├── id/ │ │ │ └── admin.php │ │ ├── ja/ │ │ │ └── admin.php │ │ ├── ko/ │ │ │ └── admin.php │ │ ├── ms/ │ │ │ └── admin.php │ │ ├── nl/ │ │ │ └── admin.php │ │ ├── pl/ │ │ │ └── admin.php │ │ ├── pt/ │ │ │ └── admin.php │ │ ├── pt-BR/ │ │ │ └── admin.php │ │ ├── ru/ │ │ │ └── admin.php │ │ ├── tr/ │ │ │ └── admin.php │ │ ├── uk/ │ │ │ └── admin.php │ │ ├── vendor/ │ │ │ └── aetherupload/ │ │ │ ├── en/ │ │ │ │ └── messages.php │ │ │ └── zh/ │ │ │ └── messages.php │ │ ├── zh-CN/ │ │ │ ├── admin.php │ │ │ ├── auth.php │ │ │ ├── pagination.php │ │ │ ├── passwords.php │ │ │ └── validation.php │ │ └── zh-TW/ │ │ └── admin.php │ ├── sass/ │ │ ├── _variables.scss │ │ └── app.scss │ └── views/ │ ├── home/ │ │ ├── about/ │ │ │ └── index.blade.php │ │ ├── article/ │ │ │ └── index.blade.php │ │ ├── article_details/ │ │ │ └── index.blade.php │ │ ├── card1/ │ │ │ └── index.blade.php │ │ ├── card2/ │ │ │ └── index.blade.php │ │ ├── friends/ │ │ │ └── index.blade.php │ │ ├── index/ │ │ │ └── index.blade.php │ │ ├── main.blade.php │ │ ├── message/ │ │ │ └── index.blade.php │ │ ├── music/ │ │ │ ├── index.blade.php │ │ │ └── music_details.blade.php │ │ ├── photo/ │ │ │ ├── index.blade.php │ │ │ └── photo_details.blade.php │ │ └── video/ │ │ ├── index.blade.php │ │ └── video_details.blade.php │ ├── mail/ │ │ └── index.blade.php │ ├── vendor/ │ │ └── pagination/ │ │ ├── bootstrap-4.blade.php │ │ ├── default.blade.php │ │ ├── semantic-ui.blade.php │ │ ├── simple-bootstrap-4.blade.php │ │ └── simple-default.blade.php │ └── welcome.blade.php ├── routes/ │ ├── api.php │ ├── channels.php │ ├── console.php │ └── web.php ├── server.php ├── sql/ │ └── qqphp.sql ├── storage/ │ ├── app/ │ │ └── .gitignore │ ├── framework/ │ │ ├── .gitignore │ │ ├── cache/ │ │ │ └── .gitignore │ │ ├── sessions/ │ │ │ └── .gitignore │ │ ├── testing/ │ │ │ └── .gitignore │ │ └── views/ │ │ └── .gitignore │ └── logs/ │ └── .gitignore ├── tests/ │ ├── CreatesApplication.php │ ├── Feature/ │ │ └── ExampleTest.php │ ├── TestCase.php │ └── Unit/ │ └── ExampleTest.php ├── vendor/ │ ├── autoload.php │ ├── beyondcode/ │ │ └── laravel-dump-server/ │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── composer.json │ │ ├── config/ │ │ │ └── config.php │ │ ├── helpers.php │ │ └── src/ │ │ ├── DumpServerCommand.php │ │ ├── DumpServerServiceProvider.php │ │ ├── Dumper.php │ │ └── RequestContextProvider.php │ ├── composer/ │ │ ├── ClassLoader.php │ │ ├── LICENSE │ │ ├── autoload_classmap.php │ │ ├── autoload_files.php │ │ ├── autoload_namespaces.php │ │ ├── autoload_psr4.php │ │ ├── autoload_real.php │ │ ├── autoload_static.php │ │ └── installed.json │ ├── doctrine/ │ │ ├── cache/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── UPGRADE.md │ │ │ ├── composer.json │ │ │ ├── docs/ │ │ │ │ └── en/ │ │ │ │ └── index.rst │ │ │ └── lib/ │ │ │ └── Doctrine/ │ │ │ └── Common/ │ │ │ └── Cache/ │ │ │ ├── ApcCache.php │ │ │ ├── ApcuCache.php │ │ │ ├── ArrayCache.php │ │ │ ├── Cache.php │ │ │ ├── CacheProvider.php │ │ │ ├── ChainCache.php │ │ │ ├── ClearableCache.php │ │ │ ├── CouchbaseBucketCache.php │ │ │ ├── CouchbaseCache.php │ │ │ ├── ExtMongoDBCache.php │ │ │ ├── FileCache.php │ │ │ ├── FilesystemCache.php │ │ │ ├── FlushableCache.php │ │ │ ├── LegacyMongoDBCache.php │ │ │ ├── MemcacheCache.php │ │ │ ├── MemcachedCache.php │ │ │ ├── MongoDBCache.php │ │ │ ├── MultiDeleteCache.php │ │ │ ├── MultiGetCache.php │ │ │ ├── MultiOperationCache.php │ │ │ ├── MultiPutCache.php │ │ │ ├── PhpFileCache.php │ │ │ ├── PredisCache.php │ │ │ ├── RedisCache.php │ │ │ ├── RiakCache.php │ │ │ ├── SQLite3Cache.php │ │ │ ├── Version.php │ │ │ ├── VoidCache.php │ │ │ ├── WinCacheCache.php │ │ │ ├── XcacheCache.php │ │ │ └── ZendDataCache.php │ │ ├── dbal/ │ │ │ ├── .doctrine-project.json │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── SECURITY.md │ │ │ ├── UPGRADE.md │ │ │ ├── bin/ │ │ │ │ ├── doctrine-dbal │ │ │ │ └── doctrine-dbal.php │ │ │ ├── composer.json │ │ │ └── lib/ │ │ │ └── Doctrine/ │ │ │ └── DBAL/ │ │ │ ├── Cache/ │ │ │ │ ├── ArrayStatement.php │ │ │ │ ├── CacheException.php │ │ │ │ ├── QueryCacheProfile.php │ │ │ │ └── ResultCacheStatement.php │ │ │ ├── ColumnCase.php │ │ │ ├── Configuration.php │ │ │ ├── Connection.php │ │ │ ├── ConnectionException.php │ │ │ ├── Connections/ │ │ │ │ └── MasterSlaveConnection.php │ │ │ ├── DBALException.php │ │ │ ├── Driver/ │ │ │ │ ├── AbstractDB2Driver.php │ │ │ │ ├── AbstractDriverException.php │ │ │ │ ├── AbstractMySQLDriver.php │ │ │ │ ├── AbstractOracleDriver/ │ │ │ │ │ └── EasyConnectString.php │ │ │ │ ├── AbstractOracleDriver.php │ │ │ │ ├── AbstractPostgreSQLDriver.php │ │ │ │ ├── AbstractSQLAnywhereDriver.php │ │ │ │ ├── AbstractSQLServerDriver.php │ │ │ │ ├── AbstractSQLiteDriver.php │ │ │ │ ├── Connection.php │ │ │ │ ├── DriverException.php │ │ │ │ ├── DrizzlePDOMySql/ │ │ │ │ │ ├── Connection.php │ │ │ │ │ └── Driver.php │ │ │ │ ├── ExceptionConverterDriver.php │ │ │ │ ├── IBMDB2/ │ │ │ │ │ ├── DB2Connection.php │ │ │ │ │ ├── DB2Driver.php │ │ │ │ │ ├── DB2Exception.php │ │ │ │ │ └── DB2Statement.php │ │ │ │ ├── Mysqli/ │ │ │ │ │ ├── Driver.php │ │ │ │ │ ├── MysqliConnection.php │ │ │ │ │ ├── MysqliException.php │ │ │ │ │ └── MysqliStatement.php │ │ │ │ ├── OCI8/ │ │ │ │ │ ├── Driver.php │ │ │ │ │ ├── OCI8Connection.php │ │ │ │ │ ├── OCI8Exception.php │ │ │ │ │ └── OCI8Statement.php │ │ │ │ ├── PDOConnection.php │ │ │ │ ├── PDOException.php │ │ │ │ ├── PDOIbm/ │ │ │ │ │ └── Driver.php │ │ │ │ ├── PDOMySql/ │ │ │ │ │ └── Driver.php │ │ │ │ ├── PDOOracle/ │ │ │ │ │ └── Driver.php │ │ │ │ ├── PDOPgSql/ │ │ │ │ │ └── Driver.php │ │ │ │ ├── PDOSqlite/ │ │ │ │ │ └── Driver.php │ │ │ │ ├── PDOSqlsrv/ │ │ │ │ │ ├── Connection.php │ │ │ │ │ ├── Driver.php │ │ │ │ │ └── Statement.php │ │ │ │ ├── PDOStatement.php │ │ │ │ ├── PingableConnection.php │ │ │ │ ├── ResultStatement.php │ │ │ │ ├── SQLAnywhere/ │ │ │ │ │ ├── Driver.php │ │ │ │ │ ├── SQLAnywhereConnection.php │ │ │ │ │ ├── SQLAnywhereException.php │ │ │ │ │ └── SQLAnywhereStatement.php │ │ │ │ ├── SQLSrv/ │ │ │ │ │ ├── Driver.php │ │ │ │ │ ├── LastInsertId.php │ │ │ │ │ ├── SQLSrvConnection.php │ │ │ │ │ ├── SQLSrvException.php │ │ │ │ │ └── SQLSrvStatement.php │ │ │ │ ├── ServerInfoAwareConnection.php │ │ │ │ ├── Statement.php │ │ │ │ └── StatementIterator.php │ │ │ ├── Driver.php │ │ │ ├── DriverManager.php │ │ │ ├── Event/ │ │ │ │ ├── ConnectionEventArgs.php │ │ │ │ ├── Listeners/ │ │ │ │ │ ├── MysqlSessionInit.php │ │ │ │ │ ├── OracleSessionInit.php │ │ │ │ │ └── SQLSessionInit.php │ │ │ │ ├── SchemaAlterTableAddColumnEventArgs.php │ │ │ │ ├── SchemaAlterTableChangeColumnEventArgs.php │ │ │ │ ├── SchemaAlterTableEventArgs.php │ │ │ │ ├── SchemaAlterTableRemoveColumnEventArgs.php │ │ │ │ ├── SchemaAlterTableRenameColumnEventArgs.php │ │ │ │ ├── SchemaColumnDefinitionEventArgs.php │ │ │ │ ├── SchemaCreateTableColumnEventArgs.php │ │ │ │ ├── SchemaCreateTableEventArgs.php │ │ │ │ ├── SchemaDropTableEventArgs.php │ │ │ │ ├── SchemaEventArgs.php │ │ │ │ └── SchemaIndexDefinitionEventArgs.php │ │ │ ├── Events.php │ │ │ ├── Exception/ │ │ │ │ ├── ConnectionException.php │ │ │ │ ├── ConstraintViolationException.php │ │ │ │ ├── DatabaseObjectExistsException.php │ │ │ │ ├── DatabaseObjectNotFoundException.php │ │ │ │ ├── DeadlockException.php │ │ │ │ ├── DriverException.php │ │ │ │ ├── ForeignKeyConstraintViolationException.php │ │ │ │ ├── InvalidArgumentException.php │ │ │ │ ├── InvalidFieldNameException.php │ │ │ │ ├── LockWaitTimeoutException.php │ │ │ │ ├── NonUniqueFieldNameException.php │ │ │ │ ├── NotNullConstraintViolationException.php │ │ │ │ ├── ReadOnlyException.php │ │ │ │ ├── RetryableException.php │ │ │ │ ├── ServerException.php │ │ │ │ ├── SyntaxErrorException.php │ │ │ │ ├── TableExistsException.php │ │ │ │ ├── TableNotFoundException.php │ │ │ │ └── UniqueConstraintViolationException.php │ │ │ ├── FetchMode.php │ │ │ ├── Id/ │ │ │ │ ├── TableGenerator.php │ │ │ │ └── TableGeneratorSchemaVisitor.php │ │ │ ├── LockMode.php │ │ │ ├── Logging/ │ │ │ │ ├── DebugStack.php │ │ │ │ ├── EchoSQLLogger.php │ │ │ │ ├── LoggerChain.php │ │ │ │ └── SQLLogger.php │ │ │ ├── ParameterType.php │ │ │ ├── Platforms/ │ │ │ │ ├── AbstractPlatform.php │ │ │ │ ├── DB2Platform.php │ │ │ │ ├── DateIntervalUnit.php │ │ │ │ ├── DrizzlePlatform.php │ │ │ │ ├── Keywords/ │ │ │ │ │ ├── DB2Keywords.php │ │ │ │ │ ├── DrizzleKeywords.php │ │ │ │ │ ├── KeywordList.php │ │ │ │ │ ├── MariaDb102Keywords.php │ │ │ │ │ ├── MsSQLKeywords.php │ │ │ │ │ ├── MySQL57Keywords.php │ │ │ │ │ ├── MySQL80Keywords.php │ │ │ │ │ ├── MySQLKeywords.php │ │ │ │ │ ├── OracleKeywords.php │ │ │ │ │ ├── PostgreSQL100Keywords.php │ │ │ │ │ ├── PostgreSQL91Keywords.php │ │ │ │ │ ├── PostgreSQL92Keywords.php │ │ │ │ │ ├── PostgreSQL94Keywords.php │ │ │ │ │ ├── PostgreSQLKeywords.php │ │ │ │ │ ├── ReservedKeywordsValidator.php │ │ │ │ │ ├── SQLAnywhere11Keywords.php │ │ │ │ │ ├── SQLAnywhere12Keywords.php │ │ │ │ │ ├── SQLAnywhere16Keywords.php │ │ │ │ │ ├── SQLAnywhereKeywords.php │ │ │ │ │ ├── SQLServer2005Keywords.php │ │ │ │ │ ├── SQLServer2008Keywords.php │ │ │ │ │ ├── SQLServer2012Keywords.php │ │ │ │ │ ├── SQLServerKeywords.php │ │ │ │ │ └── SQLiteKeywords.php │ │ │ │ ├── MariaDb1027Platform.php │ │ │ │ ├── MySQL57Platform.php │ │ │ │ ├── MySQL80Platform.php │ │ │ │ ├── MySqlPlatform.php │ │ │ │ ├── OraclePlatform.php │ │ │ │ ├── PostgreSQL100Platform.php │ │ │ │ ├── PostgreSQL91Platform.php │ │ │ │ ├── PostgreSQL92Platform.php │ │ │ │ ├── PostgreSQL94Platform.php │ │ │ │ ├── PostgreSqlPlatform.php │ │ │ │ ├── SQLAnywhere11Platform.php │ │ │ │ ├── SQLAnywhere12Platform.php │ │ │ │ ├── SQLAnywhere16Platform.php │ │ │ │ ├── SQLAnywherePlatform.php │ │ │ │ ├── SQLAzurePlatform.php │ │ │ │ ├── SQLServer2005Platform.php │ │ │ │ ├── SQLServer2008Platform.php │ │ │ │ ├── SQLServer2012Platform.php │ │ │ │ ├── SQLServerPlatform.php │ │ │ │ ├── SqlitePlatform.php │ │ │ │ └── TrimMode.php │ │ │ ├── Portability/ │ │ │ │ ├── Connection.php │ │ │ │ └── Statement.php │ │ │ ├── Query/ │ │ │ │ ├── Expression/ │ │ │ │ │ ├── CompositeExpression.php │ │ │ │ │ └── ExpressionBuilder.php │ │ │ │ ├── QueryBuilder.php │ │ │ │ └── QueryException.php │ │ │ ├── SQLParserUtils.php │ │ │ ├── SQLParserUtilsException.php │ │ │ ├── Schema/ │ │ │ │ ├── AbstractAsset.php │ │ │ │ ├── AbstractSchemaManager.php │ │ │ │ ├── Column.php │ │ │ │ ├── ColumnDiff.php │ │ │ │ ├── Comparator.php │ │ │ │ ├── Constraint.php │ │ │ │ ├── DB2SchemaManager.php │ │ │ │ ├── DrizzleSchemaManager.php │ │ │ │ ├── ForeignKeyConstraint.php │ │ │ │ ├── Identifier.php │ │ │ │ ├── Index.php │ │ │ │ ├── MySqlSchemaManager.php │ │ │ │ ├── OracleSchemaManager.php │ │ │ │ ├── PostgreSqlSchemaManager.php │ │ │ │ ├── SQLAnywhereSchemaManager.php │ │ │ │ ├── SQLServerSchemaManager.php │ │ │ │ ├── Schema.php │ │ │ │ ├── SchemaConfig.php │ │ │ │ ├── SchemaDiff.php │ │ │ │ ├── SchemaException.php │ │ │ │ ├── Sequence.php │ │ │ │ ├── SqliteSchemaManager.php │ │ │ │ ├── Synchronizer/ │ │ │ │ │ ├── AbstractSchemaSynchronizer.php │ │ │ │ │ ├── SchemaSynchronizer.php │ │ │ │ │ └── SingleDatabaseSynchronizer.php │ │ │ │ ├── Table.php │ │ │ │ ├── TableDiff.php │ │ │ │ ├── View.php │ │ │ │ └── Visitor/ │ │ │ │ ├── AbstractVisitor.php │ │ │ │ ├── CreateSchemaSqlCollector.php │ │ │ │ ├── DropSchemaSqlCollector.php │ │ │ │ ├── Graphviz.php │ │ │ │ ├── NamespaceVisitor.php │ │ │ │ ├── RemoveNamespacedAssets.php │ │ │ │ ├── SchemaDiffVisitor.php │ │ │ │ └── Visitor.php │ │ │ ├── Sharding/ │ │ │ │ ├── PoolingShardConnection.php │ │ │ │ ├── PoolingShardManager.php │ │ │ │ ├── SQLAzure/ │ │ │ │ │ ├── SQLAzureFederationsSynchronizer.php │ │ │ │ │ ├── SQLAzureShardManager.php │ │ │ │ │ └── Schema/ │ │ │ │ │ └── MultiTenantVisitor.php │ │ │ │ ├── ShardChoser/ │ │ │ │ │ ├── MultiTenantShardChoser.php │ │ │ │ │ └── ShardChoser.php │ │ │ │ ├── ShardManager.php │ │ │ │ └── ShardingException.php │ │ │ ├── Statement.php │ │ │ ├── Tools/ │ │ │ │ ├── Console/ │ │ │ │ │ ├── Command/ │ │ │ │ │ │ ├── ImportCommand.php │ │ │ │ │ │ ├── ReservedWordsCommand.php │ │ │ │ │ │ └── RunSqlCommand.php │ │ │ │ │ ├── ConsoleRunner.php │ │ │ │ │ └── Helper/ │ │ │ │ │ └── ConnectionHelper.php │ │ │ │ └── Dumper.php │ │ │ ├── TransactionIsolationLevel.php │ │ │ ├── Types/ │ │ │ │ ├── ArrayType.php │ │ │ │ ├── BigIntType.php │ │ │ │ ├── BinaryType.php │ │ │ │ ├── BlobType.php │ │ │ │ ├── BooleanType.php │ │ │ │ ├── ConversionException.php │ │ │ │ ├── DateImmutableType.php │ │ │ │ ├── DateIntervalType.php │ │ │ │ ├── DateTimeImmutableType.php │ │ │ │ ├── DateTimeType.php │ │ │ │ ├── DateTimeTzImmutableType.php │ │ │ │ ├── DateTimeTzType.php │ │ │ │ ├── DateType.php │ │ │ │ ├── DecimalType.php │ │ │ │ ├── FloatType.php │ │ │ │ ├── GuidType.php │ │ │ │ ├── IntegerType.php │ │ │ │ ├── JsonArrayType.php │ │ │ │ ├── JsonType.php │ │ │ │ ├── ObjectType.php │ │ │ │ ├── PhpDateTimeMappingType.php │ │ │ │ ├── PhpIntegerMappingType.php │ │ │ │ ├── SimpleArrayType.php │ │ │ │ ├── SmallIntType.php │ │ │ │ ├── StringType.php │ │ │ │ ├── TextType.php │ │ │ │ ├── TimeImmutableType.php │ │ │ │ ├── TimeType.php │ │ │ │ ├── Type.php │ │ │ │ ├── VarDateTimeImmutableType.php │ │ │ │ └── VarDateTimeType.php │ │ │ ├── Version.php │ │ │ └── VersionAwarePlatformDriver.php │ │ ├── event-manager/ │ │ │ ├── .scrutinizer.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── composer.json │ │ │ ├── docs/ │ │ │ │ └── en/ │ │ │ │ ├── index.rst │ │ │ │ ├── reference/ │ │ │ │ │ └── index.rst │ │ │ │ └── sidebar.rst │ │ │ └── lib/ │ │ │ └── Doctrine/ │ │ │ └── Common/ │ │ │ ├── EventArgs.php │ │ │ ├── EventManager.php │ │ │ └── EventSubscriber.php │ │ ├── inflector/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── composer.json │ │ │ └── lib/ │ │ │ └── Doctrine/ │ │ │ └── Common/ │ │ │ └── Inflector/ │ │ │ └── Inflector.php │ │ └── instantiator/ │ │ ├── .doctrine-project.json │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ ├── docs/ │ │ │ └── en/ │ │ │ ├── index.rst │ │ │ └── sidebar.rst │ │ ├── phpbench.json │ │ ├── phpcs.xml.dist │ │ ├── phpstan.neon.dist │ │ └── src/ │ │ └── Doctrine/ │ │ └── Instantiator/ │ │ ├── Exception/ │ │ │ ├── ExceptionInterface.php │ │ │ ├── InvalidArgumentException.php │ │ │ └── UnexpectedValueException.php │ │ ├── Instantiator.php │ │ └── InstantiatorInterface.php │ ├── dragonmantank/ │ │ └── cron-expression/ │ │ ├── .editorconfig │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ ├── src/ │ │ │ └── Cron/ │ │ │ ├── AbstractField.php │ │ │ ├── CronExpression.php │ │ │ ├── DayOfMonthField.php │ │ │ ├── DayOfWeekField.php │ │ │ ├── FieldFactory.php │ │ │ ├── FieldInterface.php │ │ │ ├── HoursField.php │ │ │ ├── MinutesField.php │ │ │ └── MonthField.php │ │ └── tests/ │ │ └── Cron/ │ │ ├── AbstractFieldTest.php │ │ ├── CronExpressionTest.php │ │ ├── DayOfMonthFieldTest.php │ │ ├── DayOfWeekFieldTest.php │ │ ├── FieldFactoryTest.php │ │ ├── HoursFieldTest.php │ │ ├── MinutesFieldTest.php │ │ └── MonthFieldTest.php │ ├── egulias/ │ │ └── email-validator/ │ │ ├── EmailValidator/ │ │ │ ├── EmailLexer.php │ │ │ ├── EmailParser.php │ │ │ ├── EmailValidator.php │ │ │ ├── Exception/ │ │ │ │ ├── AtextAfterCFWS.php │ │ │ │ ├── CRLFAtTheEnd.php │ │ │ │ ├── CRLFX2.php │ │ │ │ ├── CRNoLF.php │ │ │ │ ├── CharNotAllowed.php │ │ │ │ ├── CommaInDomain.php │ │ │ │ ├── ConsecutiveAt.php │ │ │ │ ├── ConsecutiveDot.php │ │ │ │ ├── DomainHyphened.php │ │ │ │ ├── DotAtEnd.php │ │ │ │ ├── DotAtStart.php │ │ │ │ ├── ExpectingAT.php │ │ │ │ ├── ExpectingATEXT.php │ │ │ │ ├── ExpectingCTEXT.php │ │ │ │ ├── ExpectingDTEXT.php │ │ │ │ ├── ExpectingDomainLiteralClose.php │ │ │ │ ├── ExpectingQPair.php │ │ │ │ ├── InvalidEmail.php │ │ │ │ ├── NoDNSRecord.php │ │ │ │ ├── NoDomainPart.php │ │ │ │ ├── NoLocalPart.php │ │ │ │ ├── UnclosedComment.php │ │ │ │ ├── UnclosedQuotedString.php │ │ │ │ └── UnopenedComment.php │ │ │ ├── Parser/ │ │ │ │ ├── DomainPart.php │ │ │ │ ├── LocalPart.php │ │ │ │ └── Parser.php │ │ │ ├── Validation/ │ │ │ │ ├── DNSCheckValidation.php │ │ │ │ ├── EmailValidation.php │ │ │ │ ├── Error/ │ │ │ │ │ ├── RFCWarnings.php │ │ │ │ │ └── SpoofEmail.php │ │ │ │ ├── Exception/ │ │ │ │ │ └── EmptyValidationList.php │ │ │ │ ├── MultipleErrors.php │ │ │ │ ├── MultipleValidationWithAnd.php │ │ │ │ ├── NoRFCWarningsValidation.php │ │ │ │ ├── RFCValidation.php │ │ │ │ └── SpoofCheckValidation.php │ │ │ └── Warning/ │ │ │ ├── AddressLiteral.php │ │ │ ├── CFWSNearAt.php │ │ │ ├── CFWSWithFWS.php │ │ │ ├── Comment.php │ │ │ ├── DeprecatedComment.php │ │ │ ├── DomainLiteral.php │ │ │ ├── DomainTooLong.php │ │ │ ├── EmailTooLong.php │ │ │ ├── IPV6BadChar.php │ │ │ ├── IPV6ColonEnd.php │ │ │ ├── IPV6ColonStart.php │ │ │ ├── IPV6Deprecated.php │ │ │ ├── IPV6DoubleColon.php │ │ │ ├── IPV6GroupCount.php │ │ │ ├── IPV6MaxGroups.php │ │ │ ├── LabelTooLong.php │ │ │ ├── LocalTooLong.php │ │ │ ├── NoDNSMXRecord.php │ │ │ ├── ObsoleteDTEXT.php │ │ │ ├── QuotedPart.php │ │ │ ├── QuotedString.php │ │ │ ├── TLD.php │ │ │ └── Warning.php │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ └── phpunit.xml.dist │ ├── erusev/ │ │ └── parsedown/ │ │ ├── LICENSE.txt │ │ ├── Parsedown.php │ │ ├── README.md │ │ └── composer.json │ ├── fideloper/ │ │ └── proxy/ │ │ ├── LICENSE.md │ │ ├── composer.json │ │ ├── config/ │ │ │ └── trustedproxy.php │ │ └── src/ │ │ ├── TrustProxies.php │ │ └── TrustedProxyServiceProvider.php │ ├── filp/ │ │ └── whoops/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE.md │ │ ├── composer.json │ │ └── src/ │ │ └── Whoops/ │ │ ├── Exception/ │ │ │ ├── ErrorException.php │ │ │ ├── Formatter.php │ │ │ ├── Frame.php │ │ │ ├── FrameCollection.php │ │ │ └── Inspector.php │ │ ├── Handler/ │ │ │ ├── CallbackHandler.php │ │ │ ├── Handler.php │ │ │ ├── HandlerInterface.php │ │ │ ├── JsonResponseHandler.php │ │ │ ├── PlainTextHandler.php │ │ │ ├── PrettyPageHandler.php │ │ │ └── XmlResponseHandler.php │ │ ├── Resources/ │ │ │ ├── css/ │ │ │ │ └── whoops.base.css │ │ │ ├── js/ │ │ │ │ └── whoops.base.js │ │ │ └── views/ │ │ │ ├── env_details.html.php │ │ │ ├── frame_code.html.php │ │ │ ├── frame_list.html.php │ │ │ ├── frames_container.html.php │ │ │ ├── frames_description.html.php │ │ │ ├── header.html.php │ │ │ ├── header_outer.html.php │ │ │ ├── layout.html.php │ │ │ ├── panel_details.html.php │ │ │ ├── panel_details_outer.html.php │ │ │ ├── panel_left.html.php │ │ │ └── panel_left_outer.html.php │ │ ├── Run.php │ │ ├── RunInterface.php │ │ └── Util/ │ │ ├── HtmlDumperOutput.php │ │ ├── Misc.php │ │ ├── SystemFacade.php │ │ └── TemplateHelper.php │ ├── laravel/ │ │ ├── framework/ │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── SECURITY.md │ │ │ ├── composer.json │ │ │ └── src/ │ │ │ └── Illuminate/ │ │ │ ├── Auth/ │ │ │ │ ├── Access/ │ │ │ │ │ ├── AuthorizationException.php │ │ │ │ │ ├── Gate.php │ │ │ │ │ ├── HandlesAuthorization.php │ │ │ │ │ └── Response.php │ │ │ │ ├── AuthManager.php │ │ │ │ ├── AuthServiceProvider.php │ │ │ │ ├── Authenticatable.php │ │ │ │ ├── AuthenticationException.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── AuthMakeCommand.php │ │ │ │ │ ├── ClearResetsCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ └── make/ │ │ │ │ │ ├── controllers/ │ │ │ │ │ │ └── HomeController.stub │ │ │ │ │ ├── routes.stub │ │ │ │ │ └── views/ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ ├── login.stub │ │ │ │ │ │ ├── passwords/ │ │ │ │ │ │ │ ├── email.stub │ │ │ │ │ │ │ └── reset.stub │ │ │ │ │ │ ├── register.stub │ │ │ │ │ │ └── verify.stub │ │ │ │ │ ├── home.stub │ │ │ │ │ └── layouts/ │ │ │ │ │ └── app.stub │ │ │ │ ├── CreatesUserProviders.php │ │ │ │ ├── DatabaseUserProvider.php │ │ │ │ ├── EloquentUserProvider.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── Attempting.php │ │ │ │ │ ├── Authenticated.php │ │ │ │ │ ├── Failed.php │ │ │ │ │ ├── Lockout.php │ │ │ │ │ ├── Login.php │ │ │ │ │ ├── Logout.php │ │ │ │ │ ├── OtherDeviceLogout.php │ │ │ │ │ ├── PasswordReset.php │ │ │ │ │ ├── Registered.php │ │ │ │ │ └── Verified.php │ │ │ │ ├── GenericUser.php │ │ │ │ ├── GuardHelpers.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Listeners/ │ │ │ │ │ └── SendEmailVerificationNotification.php │ │ │ │ ├── Middleware/ │ │ │ │ │ ├── Authenticate.php │ │ │ │ │ ├── AuthenticateWithBasicAuth.php │ │ │ │ │ ├── Authorize.php │ │ │ │ │ └── EnsureEmailIsVerified.php │ │ │ │ ├── MustVerifyEmail.php │ │ │ │ ├── Notifications/ │ │ │ │ │ ├── ResetPassword.php │ │ │ │ │ └── VerifyEmail.php │ │ │ │ ├── Passwords/ │ │ │ │ │ ├── CanResetPassword.php │ │ │ │ │ ├── DatabaseTokenRepository.php │ │ │ │ │ ├── PasswordBroker.php │ │ │ │ │ ├── PasswordBrokerManager.php │ │ │ │ │ ├── PasswordResetServiceProvider.php │ │ │ │ │ └── TokenRepositoryInterface.php │ │ │ │ ├── Recaller.php │ │ │ │ ├── RequestGuard.php │ │ │ │ ├── SessionGuard.php │ │ │ │ ├── TokenGuard.php │ │ │ │ └── composer.json │ │ │ ├── Broadcasting/ │ │ │ │ ├── BroadcastController.php │ │ │ │ ├── BroadcastEvent.php │ │ │ │ ├── BroadcastException.php │ │ │ │ ├── BroadcastManager.php │ │ │ │ ├── BroadcastServiceProvider.php │ │ │ │ ├── Broadcasters/ │ │ │ │ │ ├── Broadcaster.php │ │ │ │ │ ├── LogBroadcaster.php │ │ │ │ │ ├── NullBroadcaster.php │ │ │ │ │ ├── PusherBroadcaster.php │ │ │ │ │ ├── RedisBroadcaster.php │ │ │ │ │ └── UsePusherChannelConventions.php │ │ │ │ ├── Channel.php │ │ │ │ ├── InteractsWithSockets.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── PendingBroadcast.php │ │ │ │ ├── PresenceChannel.php │ │ │ │ ├── PrivateChannel.php │ │ │ │ └── composer.json │ │ │ ├── Bus/ │ │ │ │ ├── BusServiceProvider.php │ │ │ │ ├── Dispatcher.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Queueable.php │ │ │ │ └── composer.json │ │ │ ├── Cache/ │ │ │ │ ├── ApcStore.php │ │ │ │ ├── ApcWrapper.php │ │ │ │ ├── ArrayStore.php │ │ │ │ ├── CacheManager.php │ │ │ │ ├── CacheServiceProvider.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── CacheTableCommand.php │ │ │ │ │ ├── ClearCommand.php │ │ │ │ │ ├── ForgetCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ └── cache.stub │ │ │ │ ├── DatabaseStore.php │ │ │ │ ├── DynamoDbLock.php │ │ │ │ ├── DynamoDbStore.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── CacheEvent.php │ │ │ │ │ ├── CacheHit.php │ │ │ │ │ ├── CacheMissed.php │ │ │ │ │ ├── KeyForgotten.php │ │ │ │ │ └── KeyWritten.php │ │ │ │ ├── FileStore.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Lock.php │ │ │ │ ├── LuaScripts.php │ │ │ │ ├── MemcachedConnector.php │ │ │ │ ├── MemcachedLock.php │ │ │ │ ├── MemcachedStore.php │ │ │ │ ├── NullStore.php │ │ │ │ ├── RateLimiter.php │ │ │ │ ├── RedisLock.php │ │ │ │ ├── RedisStore.php │ │ │ │ ├── RedisTaggedCache.php │ │ │ │ ├── Repository.php │ │ │ │ ├── RetrievesMultipleKeys.php │ │ │ │ ├── TagSet.php │ │ │ │ ├── TaggableStore.php │ │ │ │ ├── TaggedCache.php │ │ │ │ └── composer.json │ │ │ ├── Config/ │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Repository.php │ │ │ │ └── composer.json │ │ │ ├── Console/ │ │ │ │ ├── Application.php │ │ │ │ ├── Command.php │ │ │ │ ├── ConfirmableTrait.php │ │ │ │ ├── DetectsApplicationNamespace.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── ArtisanStarting.php │ │ │ │ │ ├── CommandFinished.php │ │ │ │ │ └── CommandStarting.php │ │ │ │ ├── GeneratorCommand.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── OutputStyle.php │ │ │ │ ├── Parser.php │ │ │ │ ├── Scheduling/ │ │ │ │ │ ├── CacheEventMutex.php │ │ │ │ │ ├── CacheSchedulingMutex.php │ │ │ │ │ ├── CallbackEvent.php │ │ │ │ │ ├── CommandBuilder.php │ │ │ │ │ ├── Event.php │ │ │ │ │ ├── EventMutex.php │ │ │ │ │ ├── ManagesFrequencies.php │ │ │ │ │ ├── Schedule.php │ │ │ │ │ ├── ScheduleFinishCommand.php │ │ │ │ │ ├── ScheduleRunCommand.php │ │ │ │ │ └── SchedulingMutex.php │ │ │ │ └── composer.json │ │ │ ├── Container/ │ │ │ │ ├── BoundMethod.php │ │ │ │ ├── Container.php │ │ │ │ ├── ContextualBindingBuilder.php │ │ │ │ ├── EntryNotFoundException.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── RewindableGenerator.php │ │ │ │ └── composer.json │ │ │ ├── Contracts/ │ │ │ │ ├── Auth/ │ │ │ │ │ ├── Access/ │ │ │ │ │ │ ├── Authorizable.php │ │ │ │ │ │ └── Gate.php │ │ │ │ │ ├── Authenticatable.php │ │ │ │ │ ├── CanResetPassword.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── Guard.php │ │ │ │ │ ├── MustVerifyEmail.php │ │ │ │ │ ├── PasswordBroker.php │ │ │ │ │ ├── PasswordBrokerFactory.php │ │ │ │ │ ├── StatefulGuard.php │ │ │ │ │ ├── SupportsBasicAuth.php │ │ │ │ │ └── UserProvider.php │ │ │ │ ├── Broadcasting/ │ │ │ │ │ ├── Broadcaster.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── ShouldBroadcast.php │ │ │ │ │ └── ShouldBroadcastNow.php │ │ │ │ ├── Bus/ │ │ │ │ │ ├── Dispatcher.php │ │ │ │ │ └── QueueingDispatcher.php │ │ │ │ ├── Cache/ │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── Lock.php │ │ │ │ │ ├── LockProvider.php │ │ │ │ │ ├── LockTimeoutException.php │ │ │ │ │ ├── Repository.php │ │ │ │ │ └── Store.php │ │ │ │ ├── Config/ │ │ │ │ │ └── Repository.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── Application.php │ │ │ │ │ └── Kernel.php │ │ │ │ ├── Container/ │ │ │ │ │ ├── BindingResolutionException.php │ │ │ │ │ ├── Container.php │ │ │ │ │ └── ContextualBindingBuilder.php │ │ │ │ ├── Cookie/ │ │ │ │ │ ├── Factory.php │ │ │ │ │ └── QueueingFactory.php │ │ │ │ ├── Database/ │ │ │ │ │ ├── Events/ │ │ │ │ │ │ └── MigrationEvent.php │ │ │ │ │ └── ModelIdentifier.php │ │ │ │ ├── Debug/ │ │ │ │ │ └── ExceptionHandler.php │ │ │ │ ├── Encryption/ │ │ │ │ │ ├── DecryptException.php │ │ │ │ │ ├── EncryptException.php │ │ │ │ │ └── Encrypter.php │ │ │ │ ├── Events/ │ │ │ │ │ └── Dispatcher.php │ │ │ │ ├── Filesystem/ │ │ │ │ │ ├── Cloud.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── FileExistsException.php │ │ │ │ │ ├── FileNotFoundException.php │ │ │ │ │ └── Filesystem.php │ │ │ │ ├── Foundation/ │ │ │ │ │ └── Application.php │ │ │ │ ├── Hashing/ │ │ │ │ │ └── Hasher.php │ │ │ │ ├── Http/ │ │ │ │ │ └── Kernel.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Mail/ │ │ │ │ │ ├── MailQueue.php │ │ │ │ │ ├── Mailable.php │ │ │ │ │ └── Mailer.php │ │ │ │ ├── Notifications/ │ │ │ │ │ ├── Dispatcher.php │ │ │ │ │ └── Factory.php │ │ │ │ ├── Pagination/ │ │ │ │ │ ├── LengthAwarePaginator.php │ │ │ │ │ └── Paginator.php │ │ │ │ ├── Pipeline/ │ │ │ │ │ ├── Hub.php │ │ │ │ │ └── Pipeline.php │ │ │ │ ├── Queue/ │ │ │ │ │ ├── EntityNotFoundException.php │ │ │ │ │ ├── EntityResolver.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── Job.php │ │ │ │ │ ├── Monitor.php │ │ │ │ │ ├── Queue.php │ │ │ │ │ ├── QueueableCollection.php │ │ │ │ │ ├── QueueableEntity.php │ │ │ │ │ └── ShouldQueue.php │ │ │ │ ├── Redis/ │ │ │ │ │ ├── Connection.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ └── LimiterTimeoutException.php │ │ │ │ ├── Routing/ │ │ │ │ │ ├── BindingRegistrar.php │ │ │ │ │ ├── Registrar.php │ │ │ │ │ ├── ResponseFactory.php │ │ │ │ │ ├── UrlGenerator.php │ │ │ │ │ └── UrlRoutable.php │ │ │ │ ├── Session/ │ │ │ │ │ └── Session.php │ │ │ │ ├── Support/ │ │ │ │ │ ├── Arrayable.php │ │ │ │ │ ├── DeferrableProvider.php │ │ │ │ │ ├── Htmlable.php │ │ │ │ │ ├── Jsonable.php │ │ │ │ │ ├── MessageBag.php │ │ │ │ │ ├── MessageProvider.php │ │ │ │ │ ├── Renderable.php │ │ │ │ │ └── Responsable.php │ │ │ │ ├── Translation/ │ │ │ │ │ ├── HasLocalePreference.php │ │ │ │ │ ├── Loader.php │ │ │ │ │ └── Translator.php │ │ │ │ ├── Validation/ │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── ImplicitRule.php │ │ │ │ │ ├── Rule.php │ │ │ │ │ ├── ValidatesWhenResolved.php │ │ │ │ │ └── Validator.php │ │ │ │ ├── View/ │ │ │ │ │ ├── Engine.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ └── View.php │ │ │ │ └── composer.json │ │ │ ├── Cookie/ │ │ │ │ ├── CookieJar.php │ │ │ │ ├── CookieServiceProvider.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Middleware/ │ │ │ │ │ ├── AddQueuedCookiesToResponse.php │ │ │ │ │ └── EncryptCookies.php │ │ │ │ └── composer.json │ │ │ ├── Database/ │ │ │ │ ├── Capsule/ │ │ │ │ │ └── Manager.php │ │ │ │ ├── Concerns/ │ │ │ │ │ ├── BuildsQueries.php │ │ │ │ │ └── ManagesTransactions.php │ │ │ │ ├── ConfigurationUrlParser.php │ │ │ │ ├── Connection.php │ │ │ │ ├── ConnectionInterface.php │ │ │ │ ├── ConnectionResolver.php │ │ │ │ ├── ConnectionResolverInterface.php │ │ │ │ ├── Connectors/ │ │ │ │ │ ├── ConnectionFactory.php │ │ │ │ │ ├── Connector.php │ │ │ │ │ ├── ConnectorInterface.php │ │ │ │ │ ├── MySqlConnector.php │ │ │ │ │ ├── PostgresConnector.php │ │ │ │ │ ├── SQLiteConnector.php │ │ │ │ │ └── SqlServerConnector.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── Factories/ │ │ │ │ │ │ ├── FactoryMakeCommand.php │ │ │ │ │ │ └── stubs/ │ │ │ │ │ │ └── factory.stub │ │ │ │ │ ├── Migrations/ │ │ │ │ │ │ ├── BaseCommand.php │ │ │ │ │ │ ├── FreshCommand.php │ │ │ │ │ │ ├── InstallCommand.php │ │ │ │ │ │ ├── MigrateCommand.php │ │ │ │ │ │ ├── MigrateMakeCommand.php │ │ │ │ │ │ ├── RefreshCommand.php │ │ │ │ │ │ ├── ResetCommand.php │ │ │ │ │ │ ├── RollbackCommand.php │ │ │ │ │ │ ├── StatusCommand.php │ │ │ │ │ │ └── TableGuesser.php │ │ │ │ │ └── Seeds/ │ │ │ │ │ ├── SeedCommand.php │ │ │ │ │ ├── SeederMakeCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ └── seeder.stub │ │ │ │ ├── DatabaseManager.php │ │ │ │ ├── DatabaseServiceProvider.php │ │ │ │ ├── DetectsDeadlocks.php │ │ │ │ ├── DetectsLostConnections.php │ │ │ │ ├── Eloquent/ │ │ │ │ │ ├── Builder.php │ │ │ │ │ ├── Collection.php │ │ │ │ │ ├── Concerns/ │ │ │ │ │ │ ├── GuardsAttributes.php │ │ │ │ │ │ ├── HasAttributes.php │ │ │ │ │ │ ├── HasEvents.php │ │ │ │ │ │ ├── HasGlobalScopes.php │ │ │ │ │ │ ├── HasRelationships.php │ │ │ │ │ │ ├── HasTimestamps.php │ │ │ │ │ │ ├── HidesAttributes.php │ │ │ │ │ │ └── QueriesRelationships.php │ │ │ │ │ ├── Factory.php │ │ │ │ │ ├── FactoryBuilder.php │ │ │ │ │ ├── HigherOrderBuilderProxy.php │ │ │ │ │ ├── JsonEncodingException.php │ │ │ │ │ ├── MassAssignmentException.php │ │ │ │ │ ├── Model.php │ │ │ │ │ ├── ModelNotFoundException.php │ │ │ │ │ ├── QueueEntityResolver.php │ │ │ │ │ ├── RelationNotFoundException.php │ │ │ │ │ ├── Relations/ │ │ │ │ │ │ ├── BelongsTo.php │ │ │ │ │ │ ├── BelongsToMany.php │ │ │ │ │ │ ├── Concerns/ │ │ │ │ │ │ │ ├── AsPivot.php │ │ │ │ │ │ │ ├── InteractsWithPivotTable.php │ │ │ │ │ │ │ └── SupportsDefaultModels.php │ │ │ │ │ │ ├── HasMany.php │ │ │ │ │ │ ├── HasManyThrough.php │ │ │ │ │ │ ├── HasOne.php │ │ │ │ │ │ ├── HasOneOrMany.php │ │ │ │ │ │ ├── HasOneThrough.php │ │ │ │ │ │ ├── MorphMany.php │ │ │ │ │ │ ├── MorphOne.php │ │ │ │ │ │ ├── MorphOneOrMany.php │ │ │ │ │ │ ├── MorphPivot.php │ │ │ │ │ │ ├── MorphTo.php │ │ │ │ │ │ ├── MorphToMany.php │ │ │ │ │ │ ├── Pivot.php │ │ │ │ │ │ └── Relation.php │ │ │ │ │ ├── Scope.php │ │ │ │ │ ├── SoftDeletes.php │ │ │ │ │ └── SoftDeletingScope.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── ConnectionEvent.php │ │ │ │ │ ├── MigrationEnded.php │ │ │ │ │ ├── MigrationEvent.php │ │ │ │ │ ├── MigrationStarted.php │ │ │ │ │ ├── MigrationsEnded.php │ │ │ │ │ ├── MigrationsStarted.php │ │ │ │ │ ├── QueryExecuted.php │ │ │ │ │ ├── StatementPrepared.php │ │ │ │ │ ├── TransactionBeginning.php │ │ │ │ │ ├── TransactionCommitted.php │ │ │ │ │ └── TransactionRolledBack.php │ │ │ │ ├── Grammar.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── MigrationServiceProvider.php │ │ │ │ ├── Migrations/ │ │ │ │ │ ├── DatabaseMigrationRepository.php │ │ │ │ │ ├── Migration.php │ │ │ │ │ ├── MigrationCreator.php │ │ │ │ │ ├── MigrationRepositoryInterface.php │ │ │ │ │ ├── Migrator.php │ │ │ │ │ └── stubs/ │ │ │ │ │ ├── blank.stub │ │ │ │ │ ├── create.stub │ │ │ │ │ └── update.stub │ │ │ │ ├── MySqlConnection.php │ │ │ │ ├── PostgresConnection.php │ │ │ │ ├── Query/ │ │ │ │ │ ├── Builder.php │ │ │ │ │ ├── Expression.php │ │ │ │ │ ├── Grammars/ │ │ │ │ │ │ ├── Grammar.php │ │ │ │ │ │ ├── MySqlGrammar.php │ │ │ │ │ │ ├── PostgresGrammar.php │ │ │ │ │ │ ├── SQLiteGrammar.php │ │ │ │ │ │ └── SqlServerGrammar.php │ │ │ │ │ ├── JoinClause.php │ │ │ │ │ ├── JsonExpression.php │ │ │ │ │ └── Processors/ │ │ │ │ │ ├── MySqlProcessor.php │ │ │ │ │ ├── PostgresProcessor.php │ │ │ │ │ ├── Processor.php │ │ │ │ │ ├── SQLiteProcessor.php │ │ │ │ │ └── SqlServerProcessor.php │ │ │ │ ├── QueryException.php │ │ │ │ ├── README.md │ │ │ │ ├── SQLiteConnection.php │ │ │ │ ├── Schema/ │ │ │ │ │ ├── Blueprint.php │ │ │ │ │ ├── Builder.php │ │ │ │ │ ├── ColumnDefinition.php │ │ │ │ │ ├── ForeignKeyDefinition.php │ │ │ │ │ ├── Grammars/ │ │ │ │ │ │ ├── ChangeColumn.php │ │ │ │ │ │ ├── Grammar.php │ │ │ │ │ │ ├── MySqlGrammar.php │ │ │ │ │ │ ├── PostgresGrammar.php │ │ │ │ │ │ ├── RenameColumn.php │ │ │ │ │ │ ├── SQLiteGrammar.php │ │ │ │ │ │ └── SqlServerGrammar.php │ │ │ │ │ ├── MySqlBuilder.php │ │ │ │ │ ├── PostgresBuilder.php │ │ │ │ │ ├── SQLiteBuilder.php │ │ │ │ │ └── SqlServerBuilder.php │ │ │ │ ├── Seeder.php │ │ │ │ ├── SqlServerConnection.php │ │ │ │ └── composer.json │ │ │ ├── Encryption/ │ │ │ │ ├── Encrypter.php │ │ │ │ ├── EncryptionServiceProvider.php │ │ │ │ ├── LICENSE.md │ │ │ │ └── composer.json │ │ │ ├── Events/ │ │ │ │ ├── CallQueuedListener.php │ │ │ │ ├── Dispatcher.php │ │ │ │ ├── EventServiceProvider.php │ │ │ │ ├── LICENSE.md │ │ │ │ └── composer.json │ │ │ ├── Filesystem/ │ │ │ │ ├── Cache.php │ │ │ │ ├── Filesystem.php │ │ │ │ ├── FilesystemAdapter.php │ │ │ │ ├── FilesystemManager.php │ │ │ │ ├── FilesystemServiceProvider.php │ │ │ │ ├── LICENSE.md │ │ │ │ └── composer.json │ │ │ ├── Foundation/ │ │ │ │ ├── AliasLoader.php │ │ │ │ ├── Application.php │ │ │ │ ├── Auth/ │ │ │ │ │ ├── Access/ │ │ │ │ │ │ ├── Authorizable.php │ │ │ │ │ │ └── AuthorizesRequests.php │ │ │ │ │ ├── AuthenticatesUsers.php │ │ │ │ │ ├── RedirectsUsers.php │ │ │ │ │ ├── RegistersUsers.php │ │ │ │ │ ├── ResetsPasswords.php │ │ │ │ │ ├── SendsPasswordResetEmails.php │ │ │ │ │ ├── ThrottlesLogins.php │ │ │ │ │ ├── User.php │ │ │ │ │ └── VerifiesEmails.php │ │ │ │ ├── Bootstrap/ │ │ │ │ │ ├── BootProviders.php │ │ │ │ │ ├── HandleExceptions.php │ │ │ │ │ ├── LoadConfiguration.php │ │ │ │ │ ├── LoadEnvironmentVariables.php │ │ │ │ │ ├── RegisterFacades.php │ │ │ │ │ ├── RegisterProviders.php │ │ │ │ │ └── SetRequestForConsole.php │ │ │ │ ├── Bus/ │ │ │ │ │ ├── Dispatchable.php │ │ │ │ │ ├── DispatchesJobs.php │ │ │ │ │ ├── PendingChain.php │ │ │ │ │ └── PendingDispatch.php │ │ │ │ ├── ComposerScripts.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── AppNameCommand.php │ │ │ │ │ ├── ChannelMakeCommand.php │ │ │ │ │ ├── ClearCompiledCommand.php │ │ │ │ │ ├── ClosureCommand.php │ │ │ │ │ ├── ConfigCacheCommand.php │ │ │ │ │ ├── ConfigClearCommand.php │ │ │ │ │ ├── ConsoleMakeCommand.php │ │ │ │ │ ├── DownCommand.php │ │ │ │ │ ├── EnvironmentCommand.php │ │ │ │ │ ├── EventCacheCommand.php │ │ │ │ │ ├── EventClearCommand.php │ │ │ │ │ ├── EventGenerateCommand.php │ │ │ │ │ ├── EventListCommand.php │ │ │ │ │ ├── EventMakeCommand.php │ │ │ │ │ ├── ExceptionMakeCommand.php │ │ │ │ │ ├── JobMakeCommand.php │ │ │ │ │ ├── Kernel.php │ │ │ │ │ ├── KeyGenerateCommand.php │ │ │ │ │ ├── ListenerMakeCommand.php │ │ │ │ │ ├── MailMakeCommand.php │ │ │ │ │ ├── ModelMakeCommand.php │ │ │ │ │ ├── NotificationMakeCommand.php │ │ │ │ │ ├── ObserverMakeCommand.php │ │ │ │ │ ├── OptimizeClearCommand.php │ │ │ │ │ ├── OptimizeCommand.php │ │ │ │ │ ├── PackageDiscoverCommand.php │ │ │ │ │ ├── PolicyMakeCommand.php │ │ │ │ │ ├── PresetCommand.php │ │ │ │ │ ├── Presets/ │ │ │ │ │ │ ├── Bootstrap.php │ │ │ │ │ │ ├── None.php │ │ │ │ │ │ ├── Preset.php │ │ │ │ │ │ ├── React.php │ │ │ │ │ │ ├── Vue.php │ │ │ │ │ │ ├── bootstrap-stubs/ │ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ │ └── app.scss │ │ │ │ │ │ ├── none-stubs/ │ │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ │ │ └── webpack.mix.js │ │ │ │ │ │ ├── react-stubs/ │ │ │ │ │ │ │ ├── Example.js │ │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ │ └── webpack.mix.js │ │ │ │ │ │ └── vue-stubs/ │ │ │ │ │ │ ├── ExampleComponent.vue │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ └── webpack.mix.js │ │ │ │ │ ├── ProviderMakeCommand.php │ │ │ │ │ ├── QueuedCommand.php │ │ │ │ │ ├── RequestMakeCommand.php │ │ │ │ │ ├── ResourceMakeCommand.php │ │ │ │ │ ├── RouteCacheCommand.php │ │ │ │ │ ├── RouteClearCommand.php │ │ │ │ │ ├── RouteListCommand.php │ │ │ │ │ ├── RuleMakeCommand.php │ │ │ │ │ ├── ServeCommand.php │ │ │ │ │ ├── StorageLinkCommand.php │ │ │ │ │ ├── TestMakeCommand.php │ │ │ │ │ ├── UpCommand.php │ │ │ │ │ ├── VendorPublishCommand.php │ │ │ │ │ ├── ViewCacheCommand.php │ │ │ │ │ ├── ViewClearCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ ├── channel.stub │ │ │ │ │ ├── console.stub │ │ │ │ │ ├── event-handler-queued.stub │ │ │ │ │ ├── event-handler.stub │ │ │ │ │ ├── event.stub │ │ │ │ │ ├── exception-render-report.stub │ │ │ │ │ ├── exception-render.stub │ │ │ │ │ ├── exception-report.stub │ │ │ │ │ ├── exception.stub │ │ │ │ │ ├── job-queued.stub │ │ │ │ │ ├── job.stub │ │ │ │ │ ├── listener-duck.stub │ │ │ │ │ ├── listener-queued-duck.stub │ │ │ │ │ ├── listener-queued.stub │ │ │ │ │ ├── listener.stub │ │ │ │ │ ├── mail.stub │ │ │ │ │ ├── markdown-mail.stub │ │ │ │ │ ├── markdown-notification.stub │ │ │ │ │ ├── markdown.stub │ │ │ │ │ ├── model.stub │ │ │ │ │ ├── notification.stub │ │ │ │ │ ├── observer.plain.stub │ │ │ │ │ ├── observer.stub │ │ │ │ │ ├── pivot.model.stub │ │ │ │ │ ├── policy.plain.stub │ │ │ │ │ ├── policy.stub │ │ │ │ │ ├── provider.stub │ │ │ │ │ ├── request.stub │ │ │ │ │ ├── resource-collection.stub │ │ │ │ │ ├── resource.stub │ │ │ │ │ ├── routes.stub │ │ │ │ │ ├── rule.stub │ │ │ │ │ ├── test.stub │ │ │ │ │ └── unit-test.stub │ │ │ │ ├── EnvironmentDetector.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── DiscoverEvents.php │ │ │ │ │ ├── Dispatchable.php │ │ │ │ │ └── LocaleUpdated.php │ │ │ │ ├── Exceptions/ │ │ │ │ │ ├── Handler.php │ │ │ │ │ ├── WhoopsHandler.php │ │ │ │ │ └── views/ │ │ │ │ │ ├── 401.blade.php │ │ │ │ │ ├── 403.blade.php │ │ │ │ │ ├── 404.blade.php │ │ │ │ │ ├── 419.blade.php │ │ │ │ │ ├── 429.blade.php │ │ │ │ │ ├── 500.blade.php │ │ │ │ │ ├── 503.blade.php │ │ │ │ │ ├── illustrated-layout.blade.php │ │ │ │ │ ├── layout.blade.php │ │ │ │ │ └── minimal.blade.php │ │ │ │ ├── Http/ │ │ │ │ │ ├── Events/ │ │ │ │ │ │ └── RequestHandled.php │ │ │ │ │ ├── Exceptions/ │ │ │ │ │ │ └── MaintenanceModeException.php │ │ │ │ │ ├── FormRequest.php │ │ │ │ │ ├── Kernel.php │ │ │ │ │ └── Middleware/ │ │ │ │ │ ├── CheckForMaintenanceMode.php │ │ │ │ │ ├── ConvertEmptyStringsToNull.php │ │ │ │ │ ├── TransformsRequest.php │ │ │ │ │ ├── TrimStrings.php │ │ │ │ │ ├── ValidatePostSize.php │ │ │ │ │ └── VerifyCsrfToken.php │ │ │ │ ├── Inspiring.php │ │ │ │ ├── Mix.php │ │ │ │ ├── PackageManifest.php │ │ │ │ ├── ProviderRepository.php │ │ │ │ ├── Providers/ │ │ │ │ │ ├── ArtisanServiceProvider.php │ │ │ │ │ ├── ComposerServiceProvider.php │ │ │ │ │ ├── ConsoleSupportServiceProvider.php │ │ │ │ │ ├── FormRequestServiceProvider.php │ │ │ │ │ └── FoundationServiceProvider.php │ │ │ │ ├── Support/ │ │ │ │ │ └── Providers/ │ │ │ │ │ ├── AuthServiceProvider.php │ │ │ │ │ ├── EventServiceProvider.php │ │ │ │ │ └── RouteServiceProvider.php │ │ │ │ ├── Testing/ │ │ │ │ │ ├── Assert.php │ │ │ │ │ ├── Concerns/ │ │ │ │ │ │ ├── InteractsWithAuthentication.php │ │ │ │ │ │ ├── InteractsWithConsole.php │ │ │ │ │ │ ├── InteractsWithContainer.php │ │ │ │ │ │ ├── InteractsWithDatabase.php │ │ │ │ │ │ ├── InteractsWithExceptionHandling.php │ │ │ │ │ │ ├── InteractsWithRedis.php │ │ │ │ │ │ ├── InteractsWithSession.php │ │ │ │ │ │ ├── MakesHttpRequests.php │ │ │ │ │ │ └── MocksApplicationServices.php │ │ │ │ │ ├── Constraints/ │ │ │ │ │ │ ├── HasInDatabase.php │ │ │ │ │ │ ├── SeeInOrder.php │ │ │ │ │ │ └── SoftDeletedInDatabase.php │ │ │ │ │ ├── DatabaseMigrations.php │ │ │ │ │ ├── DatabaseTransactions.php │ │ │ │ │ ├── PendingCommand.php │ │ │ │ │ ├── RefreshDatabase.php │ │ │ │ │ ├── RefreshDatabaseState.php │ │ │ │ │ ├── TestCase.php │ │ │ │ │ ├── TestResponse.php │ │ │ │ │ ├── WithFaker.php │ │ │ │ │ ├── WithoutEvents.php │ │ │ │ │ └── WithoutMiddleware.php │ │ │ │ ├── Validation/ │ │ │ │ │ └── ValidatesRequests.php │ │ │ │ ├── helpers.php │ │ │ │ └── stubs/ │ │ │ │ └── facade.stub │ │ │ ├── Hashing/ │ │ │ │ ├── AbstractHasher.php │ │ │ │ ├── Argon2IdHasher.php │ │ │ │ ├── ArgonHasher.php │ │ │ │ ├── BcryptHasher.php │ │ │ │ ├── HashManager.php │ │ │ │ ├── HashServiceProvider.php │ │ │ │ ├── LICENSE.md │ │ │ │ └── composer.json │ │ │ ├── Http/ │ │ │ │ ├── Concerns/ │ │ │ │ │ ├── InteractsWithContentTypes.php │ │ │ │ │ ├── InteractsWithFlashData.php │ │ │ │ │ └── InteractsWithInput.php │ │ │ │ ├── Exceptions/ │ │ │ │ │ ├── HttpResponseException.php │ │ │ │ │ ├── PostTooLargeException.php │ │ │ │ │ └── ThrottleRequestsException.php │ │ │ │ ├── File.php │ │ │ │ ├── FileHelpers.php │ │ │ │ ├── JsonResponse.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Middleware/ │ │ │ │ │ ├── CheckResponseForModifications.php │ │ │ │ │ ├── FrameGuard.php │ │ │ │ │ └── SetCacheHeaders.php │ │ │ │ ├── RedirectResponse.php │ │ │ │ ├── Request.php │ │ │ │ ├── Resources/ │ │ │ │ │ ├── CollectsResources.php │ │ │ │ │ ├── ConditionallyLoadsAttributes.php │ │ │ │ │ ├── DelegatesToResource.php │ │ │ │ │ ├── Json/ │ │ │ │ │ │ ├── AnonymousResourceCollection.php │ │ │ │ │ │ ├── JsonResource.php │ │ │ │ │ │ ├── PaginatedResourceResponse.php │ │ │ │ │ │ ├── Resource.php │ │ │ │ │ │ ├── ResourceCollection.php │ │ │ │ │ │ └── ResourceResponse.php │ │ │ │ │ ├── MergeValue.php │ │ │ │ │ ├── MissingValue.php │ │ │ │ │ └── PotentiallyMissing.php │ │ │ │ ├── Response.php │ │ │ │ ├── ResponseTrait.php │ │ │ │ ├── Testing/ │ │ │ │ │ ├── File.php │ │ │ │ │ ├── FileFactory.php │ │ │ │ │ └── MimeType.php │ │ │ │ ├── UploadedFile.php │ │ │ │ └── composer.json │ │ │ ├── Log/ │ │ │ │ ├── Events/ │ │ │ │ │ └── MessageLogged.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── LogManager.php │ │ │ │ ├── LogServiceProvider.php │ │ │ │ ├── Logger.php │ │ │ │ ├── ParsesLogConfiguration.php │ │ │ │ └── composer.json │ │ │ ├── Mail/ │ │ │ │ ├── Events/ │ │ │ │ │ ├── MessageSending.php │ │ │ │ │ └── MessageSent.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── MailServiceProvider.php │ │ │ │ ├── Mailable.php │ │ │ │ ├── Mailer.php │ │ │ │ ├── Markdown.php │ │ │ │ ├── Message.php │ │ │ │ ├── PendingMail.php │ │ │ │ ├── SendQueuedMailable.php │ │ │ │ ├── Transport/ │ │ │ │ │ ├── ArrayTransport.php │ │ │ │ │ ├── LogTransport.php │ │ │ │ │ ├── MailgunTransport.php │ │ │ │ │ ├── MandrillTransport.php │ │ │ │ │ ├── SesTransport.php │ │ │ │ │ ├── SparkPostTransport.php │ │ │ │ │ └── Transport.php │ │ │ │ ├── TransportManager.php │ │ │ │ ├── composer.json │ │ │ │ └── resources/ │ │ │ │ └── views/ │ │ │ │ ├── html/ │ │ │ │ │ ├── button.blade.php │ │ │ │ │ ├── footer.blade.php │ │ │ │ │ ├── header.blade.php │ │ │ │ │ ├── layout.blade.php │ │ │ │ │ ├── message.blade.php │ │ │ │ │ ├── panel.blade.php │ │ │ │ │ ├── promotion/ │ │ │ │ │ │ └── button.blade.php │ │ │ │ │ ├── promotion.blade.php │ │ │ │ │ ├── subcopy.blade.php │ │ │ │ │ ├── table.blade.php │ │ │ │ │ └── themes/ │ │ │ │ │ └── default.css │ │ │ │ └── text/ │ │ │ │ ├── button.blade.php │ │ │ │ ├── footer.blade.php │ │ │ │ ├── header.blade.php │ │ │ │ ├── layout.blade.php │ │ │ │ ├── message.blade.php │ │ │ │ ├── panel.blade.php │ │ │ │ ├── promotion/ │ │ │ │ │ └── button.blade.php │ │ │ │ ├── promotion.blade.php │ │ │ │ ├── subcopy.blade.php │ │ │ │ └── table.blade.php │ │ │ ├── Notifications/ │ │ │ │ ├── Action.php │ │ │ │ ├── AnonymousNotifiable.php │ │ │ │ ├── ChannelManager.php │ │ │ │ ├── Channels/ │ │ │ │ │ ├── BroadcastChannel.php │ │ │ │ │ ├── DatabaseChannel.php │ │ │ │ │ └── MailChannel.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── NotificationTableCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ └── notifications.stub │ │ │ │ ├── DatabaseNotification.php │ │ │ │ ├── DatabaseNotificationCollection.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── BroadcastNotificationCreated.php │ │ │ │ │ ├── NotificationFailed.php │ │ │ │ │ ├── NotificationSending.php │ │ │ │ │ └── NotificationSent.php │ │ │ │ ├── HasDatabaseNotifications.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Messages/ │ │ │ │ │ ├── BroadcastMessage.php │ │ │ │ │ ├── DatabaseMessage.php │ │ │ │ │ ├── MailMessage.php │ │ │ │ │ └── SimpleMessage.php │ │ │ │ ├── Notifiable.php │ │ │ │ ├── Notification.php │ │ │ │ ├── NotificationSender.php │ │ │ │ ├── NotificationServiceProvider.php │ │ │ │ ├── RoutesNotifications.php │ │ │ │ ├── SendQueuedNotifications.php │ │ │ │ ├── composer.json │ │ │ │ └── resources/ │ │ │ │ └── views/ │ │ │ │ └── email.blade.php │ │ │ ├── Pagination/ │ │ │ │ ├── AbstractPaginator.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── LengthAwarePaginator.php │ │ │ │ ├── PaginationServiceProvider.php │ │ │ │ ├── Paginator.php │ │ │ │ ├── UrlWindow.php │ │ │ │ ├── composer.json │ │ │ │ └── resources/ │ │ │ │ └── views/ │ │ │ │ ├── bootstrap-4.blade.php │ │ │ │ ├── default.blade.php │ │ │ │ ├── semantic-ui.blade.php │ │ │ │ ├── simple-bootstrap-4.blade.php │ │ │ │ └── simple-default.blade.php │ │ │ ├── Pipeline/ │ │ │ │ ├── Hub.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Pipeline.php │ │ │ │ ├── PipelineServiceProvider.php │ │ │ │ └── composer.json │ │ │ ├── Queue/ │ │ │ │ ├── BeanstalkdQueue.php │ │ │ │ ├── CallQueuedClosure.php │ │ │ │ ├── CallQueuedHandler.php │ │ │ │ ├── Capsule/ │ │ │ │ │ └── Manager.php │ │ │ │ ├── Connectors/ │ │ │ │ │ ├── BeanstalkdConnector.php │ │ │ │ │ ├── ConnectorInterface.php │ │ │ │ │ ├── DatabaseConnector.php │ │ │ │ │ ├── NullConnector.php │ │ │ │ │ ├── RedisConnector.php │ │ │ │ │ ├── SqsConnector.php │ │ │ │ │ └── SyncConnector.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── FailedTableCommand.php │ │ │ │ │ ├── FlushFailedCommand.php │ │ │ │ │ ├── ForgetFailedCommand.php │ │ │ │ │ ├── ListFailedCommand.php │ │ │ │ │ ├── ListenCommand.php │ │ │ │ │ ├── RestartCommand.php │ │ │ │ │ ├── RetryCommand.php │ │ │ │ │ ├── TableCommand.php │ │ │ │ │ ├── WorkCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ ├── failed_jobs.stub │ │ │ │ │ └── jobs.stub │ │ │ │ ├── DatabaseQueue.php │ │ │ │ ├── Events/ │ │ │ │ │ ├── JobExceptionOccurred.php │ │ │ │ │ ├── JobFailed.php │ │ │ │ │ ├── JobProcessed.php │ │ │ │ │ ├── JobProcessing.php │ │ │ │ │ ├── Looping.php │ │ │ │ │ └── WorkerStopping.php │ │ │ │ ├── Failed/ │ │ │ │ │ ├── DatabaseFailedJobProvider.php │ │ │ │ │ ├── FailedJobProviderInterface.php │ │ │ │ │ └── NullFailedJobProvider.php │ │ │ │ ├── InteractsWithQueue.php │ │ │ │ ├── InvalidPayloadException.php │ │ │ │ ├── Jobs/ │ │ │ │ │ ├── BeanstalkdJob.php │ │ │ │ │ ├── DatabaseJob.php │ │ │ │ │ ├── DatabaseJobRecord.php │ │ │ │ │ ├── Job.php │ │ │ │ │ ├── JobName.php │ │ │ │ │ ├── RedisJob.php │ │ │ │ │ ├── SqsJob.php │ │ │ │ │ └── SyncJob.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Listener.php │ │ │ │ ├── ListenerOptions.php │ │ │ │ ├── LuaScripts.php │ │ │ │ ├── ManuallyFailedException.php │ │ │ │ ├── MaxAttemptsExceededException.php │ │ │ │ ├── NullQueue.php │ │ │ │ ├── Queue.php │ │ │ │ ├── QueueManager.php │ │ │ │ ├── QueueServiceProvider.php │ │ │ │ ├── README.md │ │ │ │ ├── RedisQueue.php │ │ │ │ ├── SerializableClosure.php │ │ │ │ ├── SerializesAndRestoresModelIdentifiers.php │ │ │ │ ├── SerializesModels.php │ │ │ │ ├── SqsQueue.php │ │ │ │ ├── SyncQueue.php │ │ │ │ ├── Worker.php │ │ │ │ ├── WorkerOptions.php │ │ │ │ └── composer.json │ │ │ ├── Redis/ │ │ │ │ ├── Connections/ │ │ │ │ │ ├── Connection.php │ │ │ │ │ ├── PhpRedisClusterConnection.php │ │ │ │ │ ├── PhpRedisConnection.php │ │ │ │ │ ├── PredisClusterConnection.php │ │ │ │ │ └── PredisConnection.php │ │ │ │ ├── Connectors/ │ │ │ │ │ ├── PhpRedisConnector.php │ │ │ │ │ └── PredisConnector.php │ │ │ │ ├── Events/ │ │ │ │ │ └── CommandExecuted.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Limiters/ │ │ │ │ │ ├── ConcurrencyLimiter.php │ │ │ │ │ ├── ConcurrencyLimiterBuilder.php │ │ │ │ │ ├── DurationLimiter.php │ │ │ │ │ └── DurationLimiterBuilder.php │ │ │ │ ├── RedisManager.php │ │ │ │ ├── RedisServiceProvider.php │ │ │ │ └── composer.json │ │ │ ├── Routing/ │ │ │ │ ├── Console/ │ │ │ │ │ ├── ControllerMakeCommand.php │ │ │ │ │ ├── MiddlewareMakeCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ ├── controller.api.stub │ │ │ │ │ ├── controller.invokable.stub │ │ │ │ │ ├── controller.model.api.stub │ │ │ │ │ ├── controller.model.stub │ │ │ │ │ ├── controller.nested.api.stub │ │ │ │ │ ├── controller.nested.stub │ │ │ │ │ ├── controller.plain.stub │ │ │ │ │ ├── controller.stub │ │ │ │ │ └── middleware.stub │ │ │ │ ├── Contracts/ │ │ │ │ │ └── ControllerDispatcher.php │ │ │ │ ├── Controller.php │ │ │ │ ├── ControllerDispatcher.php │ │ │ │ ├── ControllerMiddlewareOptions.php │ │ │ │ ├── Events/ │ │ │ │ │ └── RouteMatched.php │ │ │ │ ├── Exceptions/ │ │ │ │ │ ├── InvalidSignatureException.php │ │ │ │ │ └── UrlGenerationException.php │ │ │ │ ├── ImplicitRouteBinding.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Matching/ │ │ │ │ │ ├── HostValidator.php │ │ │ │ │ ├── MethodValidator.php │ │ │ │ │ ├── SchemeValidator.php │ │ │ │ │ ├── UriValidator.php │ │ │ │ │ └── ValidatorInterface.php │ │ │ │ ├── Middleware/ │ │ │ │ │ ├── SubstituteBindings.php │ │ │ │ │ ├── ThrottleRequests.php │ │ │ │ │ ├── ThrottleRequestsWithRedis.php │ │ │ │ │ └── ValidateSignature.php │ │ │ │ ├── MiddlewareNameResolver.php │ │ │ │ ├── PendingResourceRegistration.php │ │ │ │ ├── Pipeline.php │ │ │ │ ├── RedirectController.php │ │ │ │ ├── Redirector.php │ │ │ │ ├── ResourceRegistrar.php │ │ │ │ ├── ResponseFactory.php │ │ │ │ ├── Route.php │ │ │ │ ├── RouteAction.php │ │ │ │ ├── RouteBinding.php │ │ │ │ ├── RouteCollection.php │ │ │ │ ├── RouteCompiler.php │ │ │ │ ├── RouteDependencyResolverTrait.php │ │ │ │ ├── RouteFileRegistrar.php │ │ │ │ ├── RouteGroup.php │ │ │ │ ├── RouteParameterBinder.php │ │ │ │ ├── RouteRegistrar.php │ │ │ │ ├── RouteSignatureParameters.php │ │ │ │ ├── RouteUrlGenerator.php │ │ │ │ ├── Router.php │ │ │ │ ├── RoutingServiceProvider.php │ │ │ │ ├── SortedMiddleware.php │ │ │ │ ├── UrlGenerator.php │ │ │ │ ├── ViewController.php │ │ │ │ └── composer.json │ │ │ ├── Session/ │ │ │ │ ├── CacheBasedSessionHandler.php │ │ │ │ ├── Console/ │ │ │ │ │ ├── SessionTableCommand.php │ │ │ │ │ └── stubs/ │ │ │ │ │ └── database.stub │ │ │ │ ├── CookieSessionHandler.php │ │ │ │ ├── DatabaseSessionHandler.php │ │ │ │ ├── EncryptedStore.php │ │ │ │ ├── ExistenceAwareInterface.php │ │ │ │ ├── FileSessionHandler.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Middleware/ │ │ │ │ │ ├── AuthenticateSession.php │ │ │ │ │ └── StartSession.php │ │ │ │ ├── NullSessionHandler.php │ │ │ │ ├── SessionManager.php │ │ │ │ ├── SessionServiceProvider.php │ │ │ │ ├── Store.php │ │ │ │ ├── TokenMismatchException.php │ │ │ │ └── composer.json │ │ │ ├── Support/ │ │ │ │ ├── AggregateServiceProvider.php │ │ │ │ ├── Arr.php │ │ │ │ ├── Carbon.php │ │ │ │ ├── Collection.php │ │ │ │ ├── Composer.php │ │ │ │ ├── ConfigurationUrlParser.php │ │ │ │ ├── DateFactory.php │ │ │ │ ├── Facades/ │ │ │ │ │ ├── App.php │ │ │ │ │ ├── Artisan.php │ │ │ │ │ ├── Auth.php │ │ │ │ │ ├── Blade.php │ │ │ │ │ ├── Broadcast.php │ │ │ │ │ ├── Bus.php │ │ │ │ │ ├── Cache.php │ │ │ │ │ ├── Config.php │ │ │ │ │ ├── Cookie.php │ │ │ │ │ ├── Crypt.php │ │ │ │ │ ├── DB.php │ │ │ │ │ ├── Date.php │ │ │ │ │ ├── Event.php │ │ │ │ │ ├── Facade.php │ │ │ │ │ ├── File.php │ │ │ │ │ ├── Gate.php │ │ │ │ │ ├── Hash.php │ │ │ │ │ ├── Input.php │ │ │ │ │ ├── Lang.php │ │ │ │ │ ├── Log.php │ │ │ │ │ ├── Mail.php │ │ │ │ │ ├── Notification.php │ │ │ │ │ ├── Password.php │ │ │ │ │ ├── Queue.php │ │ │ │ │ ├── Redirect.php │ │ │ │ │ ├── Redis.php │ │ │ │ │ ├── Request.php │ │ │ │ │ ├── Response.php │ │ │ │ │ ├── Route.php │ │ │ │ │ ├── Schema.php │ │ │ │ │ ├── Session.php │ │ │ │ │ ├── Storage.php │ │ │ │ │ ├── URL.php │ │ │ │ │ ├── Validator.php │ │ │ │ │ └── View.php │ │ │ │ ├── Fluent.php │ │ │ │ ├── HigherOrderCollectionProxy.php │ │ │ │ ├── HigherOrderTapProxy.php │ │ │ │ ├── HtmlString.php │ │ │ │ ├── InteractsWithTime.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Manager.php │ │ │ │ ├── MessageBag.php │ │ │ │ ├── NamespacedItemResolver.php │ │ │ │ ├── Optional.php │ │ │ │ ├── Pluralizer.php │ │ │ │ ├── ProcessUtils.php │ │ │ │ ├── ServiceProvider.php │ │ │ │ ├── Str.php │ │ │ │ ├── Testing/ │ │ │ │ │ └── Fakes/ │ │ │ │ │ ├── BusFake.php │ │ │ │ │ ├── EventFake.php │ │ │ │ │ ├── MailFake.php │ │ │ │ │ ├── NotificationFake.php │ │ │ │ │ ├── PendingMailFake.php │ │ │ │ │ └── QueueFake.php │ │ │ │ ├── Traits/ │ │ │ │ │ ├── CapsuleManagerTrait.php │ │ │ │ │ ├── ForwardsCalls.php │ │ │ │ │ ├── Localizable.php │ │ │ │ │ ├── Macroable.php │ │ │ │ │ └── Tappable.php │ │ │ │ ├── ViewErrorBag.php │ │ │ │ ├── composer.json │ │ │ │ └── helpers.php │ │ │ ├── Translation/ │ │ │ │ ├── ArrayLoader.php │ │ │ │ ├── FileLoader.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── MessageSelector.php │ │ │ │ ├── TranslationServiceProvider.php │ │ │ │ ├── Translator.php │ │ │ │ └── composer.json │ │ │ ├── Validation/ │ │ │ │ ├── ClosureValidationRule.php │ │ │ │ ├── Concerns/ │ │ │ │ │ ├── FormatsMessages.php │ │ │ │ │ ├── ReplacesAttributes.php │ │ │ │ │ └── ValidatesAttributes.php │ │ │ │ ├── DatabasePresenceVerifier.php │ │ │ │ ├── Factory.php │ │ │ │ ├── LICENSE.md │ │ │ │ ├── PresenceVerifierInterface.php │ │ │ │ ├── Rule.php │ │ │ │ ├── Rules/ │ │ │ │ │ ├── DatabaseRule.php │ │ │ │ │ ├── Dimensions.php │ │ │ │ │ ├── Exists.php │ │ │ │ │ ├── In.php │ │ │ │ │ ├── NotIn.php │ │ │ │ │ ├── RequiredIf.php │ │ │ │ │ └── Unique.php │ │ │ │ ├── UnauthorizedException.php │ │ │ │ ├── ValidatesWhenResolvedTrait.php │ │ │ │ ├── ValidationData.php │ │ │ │ ├── ValidationException.php │ │ │ │ ├── ValidationRuleParser.php │ │ │ │ ├── ValidationServiceProvider.php │ │ │ │ ├── Validator.php │ │ │ │ └── composer.json │ │ │ └── View/ │ │ │ ├── Compilers/ │ │ │ │ ├── BladeCompiler.php │ │ │ │ ├── Compiler.php │ │ │ │ ├── CompilerInterface.php │ │ │ │ └── Concerns/ │ │ │ │ ├── CompilesAuthorizations.php │ │ │ │ ├── CompilesComments.php │ │ │ │ ├── CompilesComponents.php │ │ │ │ ├── CompilesConditionals.php │ │ │ │ ├── CompilesEchos.php │ │ │ │ ├── CompilesErrors.php │ │ │ │ ├── CompilesHelpers.php │ │ │ │ ├── CompilesIncludes.php │ │ │ │ ├── CompilesInjections.php │ │ │ │ ├── CompilesJson.php │ │ │ │ ├── CompilesLayouts.php │ │ │ │ ├── CompilesLoops.php │ │ │ │ ├── CompilesRawPhp.php │ │ │ │ ├── CompilesStacks.php │ │ │ │ └── CompilesTranslations.php │ │ │ ├── Concerns/ │ │ │ │ ├── ManagesComponents.php │ │ │ │ ├── ManagesEvents.php │ │ │ │ ├── ManagesLayouts.php │ │ │ │ ├── ManagesLoops.php │ │ │ │ ├── ManagesStacks.php │ │ │ │ └── ManagesTranslations.php │ │ │ ├── Engines/ │ │ │ │ ├── CompilerEngine.php │ │ │ │ ├── Engine.php │ │ │ │ ├── EngineResolver.php │ │ │ │ ├── FileEngine.php │ │ │ │ └── PhpEngine.php │ │ │ ├── Factory.php │ │ │ ├── FileViewFinder.php │ │ │ ├── LICENSE.md │ │ │ ├── Middleware/ │ │ │ │ └── ShareErrorsFromSession.php │ │ │ ├── View.php │ │ │ ├── ViewFinderInterface.php │ │ │ ├── ViewName.php │ │ │ ├── ViewServiceProvider.php │ │ │ └── composer.json │ │ └── tinker/ │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── composer.json │ │ ├── config/ │ │ │ └── tinker.php │ │ └── src/ │ │ ├── ClassAliasAutoloader.php │ │ ├── Console/ │ │ │ └── TinkerCommand.php │ │ ├── TinkerCaster.php │ │ └── TinkerServiceProvider.php │ ├── league/ │ │ └── flysystem/ │ │ ├── .php_cs.dist │ │ ├── LICENSE │ │ ├── composer.json │ │ ├── deprecations.md │ │ └── src/ │ │ ├── Adapter/ │ │ │ ├── AbstractAdapter.php │ │ │ ├── AbstractFtpAdapter.php │ │ │ ├── CanOverwriteFiles.php │ │ │ ├── Ftp.php │ │ │ ├── Ftpd.php │ │ │ ├── Local.php │ │ │ ├── NullAdapter.php │ │ │ ├── Polyfill/ │ │ │ │ ├── NotSupportingVisibilityTrait.php │ │ │ │ ├── StreamedCopyTrait.php │ │ │ │ ├── StreamedReadingTrait.php │ │ │ │ ├── StreamedTrait.php │ │ │ │ └── StreamedWritingTrait.php │ │ │ └── SynologyFtp.php │ │ ├── AdapterInterface.php │ │ ├── Config.php │ │ ├── ConfigAwareTrait.php │ │ ├── Directory.php │ │ ├── Exception.php │ │ ├── File.php │ │ ├── FileExistsException.php │ │ ├── FileNotFoundException.php │ │ ├── Filesystem.php │ │ ├── FilesystemInterface.php │ │ ├── FilesystemNotFoundException.php │ │ ├── Handler.php │ │ ├── MountManager.php │ │ ├── NotSupportedException.php │ │ ├── Plugin/ │ │ │ ├── AbstractPlugin.php │ │ │ ├── EmptyDir.php │ │ │ ├── ForcedCopy.php │ │ │ ├── ForcedRename.php │ │ │ ├── GetWithMetadata.php │ │ │ ├── ListFiles.php │ │ │ ├── ListPaths.php │ │ │ ├── ListWith.php │ │ │ ├── PluggableTrait.php │ │ │ └── PluginNotFoundException.php │ │ ├── PluginInterface.php │ │ ├── ReadInterface.php │ │ ├── RootViolationException.php │ │ ├── SafeStorage.php │ │ ├── UnreadableFileException.php │ │ ├── Util/ │ │ │ ├── ContentListingFormatter.php │ │ │ ├── MimeType.php │ │ │ └── StreamHasher.php │ │ └── Util.php │ ├── monolog/ │ │ └── monolog/ │ │ ├── .php_cs │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ ├── doc/ │ │ │ ├── 01-usage.md │ │ │ ├── 02-handlers-formatters-processors.md │ │ │ ├── 03-utilities.md │ │ │ ├── 04-extending.md │ │ │ └── sockets.md │ │ ├── phpunit.xml.dist │ │ ├── src/ │ │ │ └── Monolog/ │ │ │ ├── ErrorHandler.php │ │ │ ├── Formatter/ │ │ │ │ ├── ChromePHPFormatter.php │ │ │ │ ├── ElasticaFormatter.php │ │ │ │ ├── FlowdockFormatter.php │ │ │ │ ├── FluentdFormatter.php │ │ │ │ ├── FormatterInterface.php │ │ │ │ ├── GelfMessageFormatter.php │ │ │ │ ├── HtmlFormatter.php │ │ │ │ ├── JsonFormatter.php │ │ │ │ ├── LineFormatter.php │ │ │ │ ├── LogglyFormatter.php │ │ │ │ ├── LogstashFormatter.php │ │ │ │ ├── MongoDBFormatter.php │ │ │ │ ├── NormalizerFormatter.php │ │ │ │ ├── ScalarFormatter.php │ │ │ │ └── WildfireFormatter.php │ │ │ ├── Handler/ │ │ │ │ ├── AbstractHandler.php │ │ │ │ ├── AbstractProcessingHandler.php │ │ │ │ ├── AbstractSyslogHandler.php │ │ │ │ ├── AmqpHandler.php │ │ │ │ ├── BrowserConsoleHandler.php │ │ │ │ ├── BufferHandler.php │ │ │ │ ├── ChromePHPHandler.php │ │ │ │ ├── CouchDBHandler.php │ │ │ │ ├── CubeHandler.php │ │ │ │ ├── Curl/ │ │ │ │ │ └── Util.php │ │ │ │ ├── DeduplicationHandler.php │ │ │ │ ├── DoctrineCouchDBHandler.php │ │ │ │ ├── DynamoDbHandler.php │ │ │ │ ├── ElasticSearchHandler.php │ │ │ │ ├── ErrorLogHandler.php │ │ │ │ ├── FilterHandler.php │ │ │ │ ├── FingersCrossed/ │ │ │ │ │ ├── ActivationStrategyInterface.php │ │ │ │ │ ├── ChannelLevelActivationStrategy.php │ │ │ │ │ └── ErrorLevelActivationStrategy.php │ │ │ │ ├── FingersCrossedHandler.php │ │ │ │ ├── FirePHPHandler.php │ │ │ │ ├── FleepHookHandler.php │ │ │ │ ├── FlowdockHandler.php │ │ │ │ ├── GelfHandler.php │ │ │ │ ├── GroupHandler.php │ │ │ │ ├── HandlerInterface.php │ │ │ │ ├── HandlerWrapper.php │ │ │ │ ├── HipChatHandler.php │ │ │ │ ├── IFTTTHandler.php │ │ │ │ ├── InsightOpsHandler.php │ │ │ │ ├── LogEntriesHandler.php │ │ │ │ ├── LogglyHandler.php │ │ │ │ ├── MailHandler.php │ │ │ │ ├── MandrillHandler.php │ │ │ │ ├── MissingExtensionException.php │ │ │ │ ├── MongoDBHandler.php │ │ │ │ ├── NativeMailerHandler.php │ │ │ │ ├── NewRelicHandler.php │ │ │ │ ├── NullHandler.php │ │ │ │ ├── PHPConsoleHandler.php │ │ │ │ ├── PsrHandler.php │ │ │ │ ├── PushoverHandler.php │ │ │ │ ├── RavenHandler.php │ │ │ │ ├── RedisHandler.php │ │ │ │ ├── RollbarHandler.php │ │ │ │ ├── RotatingFileHandler.php │ │ │ │ ├── SamplingHandler.php │ │ │ │ ├── Slack/ │ │ │ │ │ └── SlackRecord.php │ │ │ │ ├── SlackHandler.php │ │ │ │ ├── SlackWebhookHandler.php │ │ │ │ ├── SlackbotHandler.php │ │ │ │ ├── SocketHandler.php │ │ │ │ ├── StreamHandler.php │ │ │ │ ├── SwiftMailerHandler.php │ │ │ │ ├── SyslogHandler.php │ │ │ │ ├── SyslogUdp/ │ │ │ │ │ └── UdpSocket.php │ │ │ │ ├── SyslogUdpHandler.php │ │ │ │ ├── TestHandler.php │ │ │ │ ├── WhatFailureGroupHandler.php │ │ │ │ └── ZendMonitorHandler.php │ │ │ ├── Logger.php │ │ │ ├── Processor/ │ │ │ │ ├── GitProcessor.php │ │ │ │ ├── IntrospectionProcessor.php │ │ │ │ ├── MemoryPeakUsageProcessor.php │ │ │ │ ├── MemoryProcessor.php │ │ │ │ ├── MemoryUsageProcessor.php │ │ │ │ ├── MercurialProcessor.php │ │ │ │ ├── ProcessIdProcessor.php │ │ │ │ ├── ProcessorInterface.php │ │ │ │ ├── PsrLogMessageProcessor.php │ │ │ │ ├── TagProcessor.php │ │ │ │ ├── UidProcessor.php │ │ │ │ └── WebProcessor.php │ │ │ ├── Registry.php │ │ │ ├── ResettableInterface.php │ │ │ ├── SignalHandler.php │ │ │ └── Utils.php │ │ └── tests/ │ │ └── Monolog/ │ │ ├── ErrorHandlerTest.php │ │ ├── Formatter/ │ │ │ ├── ChromePHPFormatterTest.php │ │ │ ├── ElasticaFormatterTest.php │ │ │ ├── FlowdockFormatterTest.php │ │ │ ├── FluentdFormatterTest.php │ │ │ ├── GelfMessageFormatterTest.php │ │ │ ├── JsonFormatterTest.php │ │ │ ├── LineFormatterTest.php │ │ │ ├── LogglyFormatterTest.php │ │ │ ├── LogstashFormatterTest.php │ │ │ ├── MongoDBFormatterTest.php │ │ │ ├── NormalizerFormatterTest.php │ │ │ ├── ScalarFormatterTest.php │ │ │ └── WildfireFormatterTest.php │ │ ├── Handler/ │ │ │ ├── AbstractHandlerTest.php │ │ │ ├── AbstractProcessingHandlerTest.php │ │ │ ├── AmqpHandlerTest.php │ │ │ ├── BrowserConsoleHandlerTest.php │ │ │ ├── BufferHandlerTest.php │ │ │ ├── ChromePHPHandlerTest.php │ │ │ ├── CouchDBHandlerTest.php │ │ │ ├── DeduplicationHandlerTest.php │ │ │ ├── DoctrineCouchDBHandlerTest.php │ │ │ ├── DynamoDbHandlerTest.php │ │ │ ├── ElasticSearchHandlerTest.php │ │ │ ├── ErrorLogHandlerTest.php │ │ │ ├── FilterHandlerTest.php │ │ │ ├── FingersCrossedHandlerTest.php │ │ │ ├── FirePHPHandlerTest.php │ │ │ ├── Fixtures/ │ │ │ │ └── .gitkeep │ │ │ ├── FleepHookHandlerTest.php │ │ │ ├── FlowdockHandlerTest.php │ │ │ ├── GelfHandlerLegacyTest.php │ │ │ ├── GelfHandlerTest.php │ │ │ ├── GelfMockMessagePublisher.php │ │ │ ├── GroupHandlerTest.php │ │ │ ├── HandlerWrapperTest.php │ │ │ ├── HipChatHandlerTest.php │ │ │ ├── InsightOpsHandlerTest.php │ │ │ ├── LogEntriesHandlerTest.php │ │ │ ├── MailHandlerTest.php │ │ │ ├── MockRavenClient.php │ │ │ ├── MongoDBHandlerTest.php │ │ │ ├── NativeMailerHandlerTest.php │ │ │ ├── NewRelicHandlerTest.php │ │ │ ├── NullHandlerTest.php │ │ │ ├── PHPConsoleHandlerTest.php │ │ │ ├── PsrHandlerTest.php │ │ │ ├── PushoverHandlerTest.php │ │ │ ├── RavenHandlerTest.php │ │ │ ├── RedisHandlerTest.php │ │ │ ├── RollbarHandlerTest.php │ │ │ ├── RotatingFileHandlerTest.php │ │ │ ├── SamplingHandlerTest.php │ │ │ ├── Slack/ │ │ │ │ └── SlackRecordTest.php │ │ │ ├── SlackHandlerTest.php │ │ │ ├── SlackWebhookHandlerTest.php │ │ │ ├── SlackbotHandlerTest.php │ │ │ ├── SocketHandlerTest.php │ │ │ ├── StreamHandlerTest.php │ │ │ ├── SwiftMailerHandlerTest.php │ │ │ ├── SyslogHandlerTest.php │ │ │ ├── SyslogUdpHandlerTest.php │ │ │ ├── TestHandlerTest.php │ │ │ ├── UdpSocketTe
Showing preview only (1,976K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (21949 symbols across 2575 files)
FILE: app/Admin/Actions/Post/GoArticle.php
class GoArticle (line 8) | class GoArticle extends RowAction
method href (line 15) | public function href()
FILE: app/Admin/Controllers/AuthController.php
class AuthController (line 7) | class AuthController extends BaseAuthController
FILE: app/Admin/Controllers/BlogAboutArticleController.php
class BlogAboutArticleController (line 13) | class BlogAboutArticleController extends AdminController
method __construct (line 18) | public function __construct()
method index (line 30) | public function index(Content $content)
method grid (line 40) | protected function grid($about_type)
method detail (line 64) | protected function detail($id)
method form (line 78) | protected function form()
FILE: app/Admin/Controllers/BlogAboutCardOneController.php
class BlogAboutCardOneController (line 13) | class BlogAboutCardOneController extends AdminController
method __construct (line 18) | public function __construct()
method index (line 30) | public function index(Content $content)
method grid (line 40) | protected function grid($about_type)
method detail (line 66) | protected function detail($id)
method form (line 77) | protected function form()
FILE: app/Admin/Controllers/BlogAboutCardTwoController.php
class BlogAboutCardTwoController (line 13) | class BlogAboutCardTwoController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($about_type)
method detail (line 66) | protected function detail($id)
method form (line 78) | protected function form()
FILE: app/Admin/Controllers/BlogAboutController.php
class BlogAboutController (line 12) | class BlogAboutController extends AdminController
method index (line 27) | public function index(Content $content)
method grid (line 37) | protected function grid()
method detail (line 58) | protected function detail($id)
method form (line 70) | protected function form()
FILE: app/Admin/Controllers/BlogFriendsController.php
class BlogFriendsController (line 12) | class BlogFriendsController extends AdminController
method index (line 21) | public function index(Content $content)
method grid (line 31) | protected function grid()
method detail (line 62) | protected function detail($id)
method form (line 75) | protected function form()
FILE: app/Admin/Controllers/BlogMessageController.php
class BlogMessageController (line 12) | class BlogMessageController extends AdminController
method index (line 21) | public function index(Content $content)
method grid (line 31) | protected function grid()
method detail (line 58) | protected function detail($id)
method form (line 71) | protected function form()
FILE: app/Admin/Controllers/BlogNavArticleController.php
class BlogNavArticleController (line 13) | class BlogNavArticleController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 69) | protected function detail($id)
method form (line 81) | protected function form()
FILE: app/Admin/Controllers/BlogNavController.php
class BlogNavController (line 15) | class BlogNavController extends AdminController
method index (line 33) | public function index(Content $content)
method grid (line 77) | protected function grid()
method detail (line 117) | protected function detail($id)
method form (line 130) | protected function form()
FILE: app/Admin/Controllers/BlogNavMusicController.php
class BlogNavMusicController (line 13) | class BlogNavMusicController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 22) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 72) | protected function detail($id)
method form (line 83) | protected function form()
FILE: app/Admin/Controllers/BlogNavPhotoController.php
class BlogNavPhotoController (line 13) | class BlogNavPhotoController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 74) | protected function detail($id)
method form (line 85) | protected function form()
FILE: app/Admin/Controllers/BlogNavShareOneController.php
class BlogNavShareOneController (line 13) | class BlogNavShareOneController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 68) | protected function detail($id)
method form (line 81) | protected function form()
FILE: app/Admin/Controllers/BlogNavShareTwoController.php
class BlogNavShareTwoController (line 13) | class BlogNavShareTwoController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 68) | protected function detail($id)
method form (line 81) | protected function form()
FILE: app/Admin/Controllers/BlogNavVideoController.php
class BlogNavVideoController (line 13) | class BlogNavVideoController extends AdminController
method __construct (line 17) | public function __construct()
method index (line 29) | public function index(Content $content)
method grid (line 39) | protected function grid($nav_name)
method detail (line 73) | protected function detail($id)
method form (line 86) | protected function form()
FILE: app/Admin/Controllers/BlogNoticeController.php
class BlogNoticeController (line 12) | class BlogNoticeController extends AdminController
method index (line 21) | public function index(Content $content)
method grid (line 31) | protected function grid()
method detail (line 50) | protected function detail($id)
method form (line 62) | protected function form()
FILE: app/Admin/Controllers/BlogSubscribeController.php
class BlogSubscribeController (line 12) | class BlogSubscribeController extends AdminController
method index (line 21) | public function index(Content $content)
method grid (line 31) | protected function grid()
method detail (line 55) | protected function detail($id)
method form (line 66) | protected function form()
FILE: app/Admin/Controllers/BlogUploadFileController.php
class BlogUploadFileController (line 10) | class BlogUploadFileController extends Controller
method store (line 13) | public function store(Request $request, BlogUploadFile $blogUploadFile)
FILE: app/Admin/Controllers/ExampleController.php
class ExampleController (line 10) | class ExampleController extends AdminController
method grid (line 24) | protected function grid()
method detail (line 41) | protected function detail($id)
method form (line 57) | protected function form()
FILE: app/Admin/Controllers/HomeController.php
class HomeController (line 11) | class HomeController extends Controller
method index (line 13) | public function index(Content $content)
FILE: app/Console/Kernel.php
class Kernel (line 8) | class Kernel extends ConsoleKernel
method schedule (line 25) | protected function schedule(Schedule $schedule)
method commands (line 36) | protected function commands()
FILE: app/Exceptions/Handler.php
class Handler (line 8) | class Handler extends ExceptionHandler
method report (line 35) | public function report(Exception $exception)
method render (line 47) | public function render($request, Exception $exception)
FILE: app/Http/Controllers/Auth/ForgotPasswordController.php
class ForgotPasswordController (line 8) | class ForgotPasswordController extends Controller
method __construct (line 28) | public function __construct()
FILE: app/Http/Controllers/Auth/LoginController.php
class LoginController (line 8) | class LoginController extends Controller
method __construct (line 35) | public function __construct()
FILE: app/Http/Controllers/Auth/RegisterController.php
class RegisterController (line 11) | class RegisterController extends Controller
method __construct (line 38) | public function __construct()
method validator (line 49) | protected function validator(array $data)
method create (line 64) | protected function create(array $data)
FILE: app/Http/Controllers/Auth/ResetPasswordController.php
class ResetPasswordController (line 8) | class ResetPasswordController extends Controller
method __construct (line 35) | public function __construct()
FILE: app/Http/Controllers/Auth/VerificationController.php
class VerificationController (line 8) | class VerificationController extends Controller
method __construct (line 35) | public function __construct()
FILE: app/Http/Controllers/Controller.php
class Controller (line 10) | class Controller extends BaseController
FILE: app/Http/Controllers/Home/AboutController.php
class AboutController (line 8) | class AboutController extends Controller
method index (line 14) | public function index(BlogAbout $blogAbout)
FILE: app/Http/Controllers/Home/ArticleController.php
class ArticleController (line 15) | class ArticleController extends Controller
method index (line 17) | public function index(Request $request)
method subscribe (line 93) | public function subscribe(StoreBlogSubscribePost $request)
FILE: app/Http/Controllers/Home/ArticleDetailController.php
class ArticleDetailController (line 11) | class ArticleDetailController extends Controller
method index (line 16) | public function index(Request $request)
method article_msg (line 44) | public function article_msg(StoreArticleMsgPost $request)
FILE: app/Http/Controllers/Home/CardOneController.php
class CardOneController (line 9) | class CardOneController extends Controller
method index (line 14) | public function index(Request $request)
FILE: app/Http/Controllers/Home/CardTwoController.php
class CardTwoController (line 9) | class CardTwoController extends Controller
method index (line 14) | public function index(Request $request)
FILE: app/Http/Controllers/Home/FriendsController.php
class FriendsController (line 9) | class FriendsController extends Controller
method index (line 15) | public function index(BlogFriends $blogFriends)
method store (line 32) | public function store(StoreBlogFriendsPost $request)
FILE: app/Http/Controllers/Home/IndexController.php
class IndexController (line 7) | class IndexController extends Controller
method index (line 10) | public function index()
FILE: app/Http/Controllers/Home/MessageController.php
class MessageController (line 8) | class MessageController extends Controller
method index (line 13) | public function index()
FILE: app/Http/Controllers/Home/MusicController.php
class MusicController (line 9) | class MusicController extends Controller
method index (line 14) | public function index(Request $request)
method music_details (line 30) | public function music_details(Request $request, BlogNavMusic $musicModel)
FILE: app/Http/Controllers/Home/PhotoController.php
class PhotoController (line 13) | class PhotoController extends Controller
method index (line 18) | public function index(Request $request)
method photo_details (line 34) | public function photo_details(Request $request, BlogNavPhoto $photoModel)
FILE: app/Http/Controllers/Home/VideoController.php
class VideoController (line 10) | class VideoController extends Controller
method index (line 15) | public function index(Request $request)
method video_details (line 34) | public function video_details(Request $request, BlogNavVideo $videoModel)
FILE: app/Http/Kernel.php
class Kernel (line 7) | class Kernel extends HttpKernel
FILE: app/Http/Middleware/AetherUploadCORS.php
class AetherUploadCORS (line 8) | class AetherUploadCORS
method handle (line 17) | public function handle($request, Closure $next)
FILE: app/Http/Middleware/Authenticate.php
class Authenticate (line 7) | class Authenticate extends Middleware
method redirectTo (line 15) | protected function redirectTo($request)
FILE: app/Http/Middleware/CheckForMaintenanceMode.php
class CheckForMaintenanceMode (line 8) | class CheckForMaintenanceMode extends Middleware
FILE: app/Http/Middleware/EncryptCookies.php
class EncryptCookies (line 7) | class EncryptCookies extends Middleware
FILE: app/Http/Middleware/RedirectIfAuthenticated.php
class RedirectIfAuthenticated (line 8) | class RedirectIfAuthenticated
method handle (line 18) | public function handle($request, Closure $next, $guard = null)
FILE: app/Http/Middleware/TrimStrings.php
class TrimStrings (line 7) | class TrimStrings extends Middleware
FILE: app/Http/Middleware/TrustProxies.php
class TrustProxies (line 8) | class TrustProxies extends Middleware
FILE: app/Http/Middleware/VerifyCsrfToken.php
class VerifyCsrfToken (line 7) | class VerifyCsrfToken extends Middleware
FILE: app/Http/Requests/StoreArticleMsgPost.php
class StoreArticleMsgPost (line 7) | class StoreArticleMsgPost extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method attributes (line 36) | public function attributes()
FILE: app/Http/Requests/StoreBlogFriendsPost.php
class StoreBlogFriendsPost (line 7) | class StoreBlogFriendsPost extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method attributes (line 33) | public function attributes()
FILE: app/Http/Requests/StoreBlogSubscribePost.php
class StoreBlogSubscribePost (line 7) | class StoreBlogSubscribePost extends FormRequest
method authorize (line 14) | public function authorize()
method rules (line 24) | public function rules()
method attributes (line 31) | public function attributes()
FILE: app/Jobs/ProcessPodcast.php
class ProcessPodcast (line 11) | class ProcessPodcast implements ShouldQueue
method __construct (line 34) | public function __construct()
method handle (line 46) | public function handle()
FILE: app/Jobs/SendReminderEmail.php
class SendReminderEmail (line 14) | class SendReminderEmail implements ShouldQueue
method __construct (line 45) | public function __construct(BlogNavArticle $blogNavArticle,$email)
method handle (line 56) | public function handle()
FILE: app/Mail/ArticleMail.php
class ArticleMail (line 11) | class ArticleMail extends Mailable
method __construct (line 23) | public function __construct(BlogNavArticle $blogArticle)
method build (line 33) | public function build()
FILE: app/Models/BlogAbout.php
class BlogAbout (line 7) | class BlogAbout extends Model
method article (line 11) | public function article()
method card1 (line 16) | public function card1()
method card2 (line 21) | public function card2()
FILE: app/Models/BlogAboutArticle.php
class BlogAboutArticle (line 7) | class BlogAboutArticle extends Model
FILE: app/Models/BlogAboutCardOne.php
class BlogAboutCardOne (line 7) | class BlogAboutCardOne extends Model
FILE: app/Models/BlogAboutCardTwo.php
class BlogAboutCardTwo (line 7) | class BlogAboutCardTwo extends Model
FILE: app/Models/BlogFriends.php
class BlogFriends (line 7) | class BlogFriends extends Model
FILE: app/Models/BlogMessage.php
class BlogMessage (line 7) | class BlogMessage extends Model
FILE: app/Models/BlogNav.php
class BlogNav (line 9) | class BlogNav extends Model
method __construct (line 14) | public function __construct(array $attributes = [])
method getTree (line 23) | public function getTree()
FILE: app/Models/BlogNavArticle.php
class BlogNavArticle (line 7) | class BlogNavArticle extends Model
method nav_name (line 16) | public function nav_name()
FILE: app/Models/BlogNavMusic.php
class BlogNavMusic (line 7) | class BlogNavMusic extends Model
method setMusicJsonAttribute (line 11) | public function setMusicJsonAttribute($pictures)
method getMusicJsonAttribute (line 18) | public function getMusicJsonAttribute($pictures)
FILE: app/Models/BlogNavPhoto.php
class BlogNavPhoto (line 7) | class BlogNavPhoto extends Model
method setPhotoJsonAttribute (line 11) | public function setPhotoJsonAttribute($image)
method getPhotoJsonAttribute (line 18) | public function getPhotoJsonAttribute($image)
FILE: app/Models/BlogNavShareOne.php
class BlogNavShareOne (line 7) | class BlogNavShareOne extends Model
method nav_name (line 15) | public function nav_name()
FILE: app/Models/BlogNavShareTwo.php
class BlogNavShareTwo (line 7) | class BlogNavShareTwo extends Model
method nav_name (line 15) | public function nav_name()
FILE: app/Models/BlogNavVideo.php
class BlogNavVideo (line 7) | class BlogNavVideo extends Model
FILE: app/Models/BlogNotice.php
class BlogNotice (line 7) | class BlogNotice extends Model
FILE: app/Models/BlogSubscribe.php
class BlogSubscribe (line 8) | class BlogSubscribe extends Model
FILE: app/Models/BlogTag.php
class BlogTag (line 7) | class BlogTag extends Model
FILE: app/Models/BlogUploadFile.php
class BlogUploadFile (line 7) | class BlogUploadFile extends Model
FILE: app/Observers/BlogAboutCardTwoObserver.php
class BlogAboutCardTwoObserver (line 8) | class BlogAboutCardTwoObserver
method created (line 16) | public function created(BlogAboutCardTwo $blogAboutCardTwo)
method updated (line 27) | public function updated(BlogAboutCardTwo $blogAboutCardTwo)
method deleted (line 38) | public function deleted(BlogAboutCardTwo $blogAboutCardTwo)
method restored (line 52) | public function restored(BlogAboutCardTwo $blogAboutCardTwo)
method forceDeleted (line 63) | public function forceDeleted(BlogAboutCardTwo $blogAboutCardTwo)
FILE: app/Observers/BlogConfigObserver.php
class BlogConfigObserver (line 7) | class BlogConfigObserver
method created (line 15) | public function created(ConfigModel $configModel)
method updated (line 25) | public function updated(ConfigModel $configModel)
method deleted (line 35) | public function deleted(ConfigModel $configModel)
method restored (line 45) | public function restored(ConfigModel $configModel)
method forceDeleted (line 55) | public function forceDeleted(ConfigModel $configModel)
FILE: app/Observers/BlogFriendsObserver.php
class BlogFriendsObserver (line 8) | class BlogFriendsObserver
method created (line 16) | public function created(BlogFriends $blogFriends)
method updated (line 27) | public function updated(BlogFriends $blogFriends)
method deleted (line 38) | public function deleted(BlogFriends $blogFriends)
method restored (line 49) | public function restored(BlogFriends $blogFriends)
method forceDeleted (line 60) | public function forceDeleted(BlogFriends $blogFriends)
FILE: app/Observers/BlogNavArticleObserver.php
class BlogNavArticleObserver (line 10) | class BlogNavArticleObserver
method created (line 18) | public function created(BlogNavArticle $blogNavArticle)
method updated (line 47) | public function updated(BlogNavArticle $blogNavArticle)
method deleted (line 79) | public function deleted(BlogNavArticle $blogNavArticle)
method restored (line 91) | public function restored(BlogNavArticle $blogNavArticle)
method forceDeleted (line 102) | public function forceDeleted(BlogNavArticle $blogNavArticle)
FILE: app/Observers/BlogNavMusicObserver.php
class BlogNavMusicObserver (line 8) | class BlogNavMusicObserver
method created (line 16) | public function created(BlogNavMusic $blogNavMusic)
method updated (line 27) | public function updated(BlogNavMusic $blogNavMusic)
method deleted (line 38) | public function deleted(BlogNavMusic $blogNavMusic)
method restored (line 58) | public function restored(BlogNavMusic $blogNavMusic)
method forceDeleted (line 69) | public function forceDeleted(BlogNavMusic $blogNavMusic)
FILE: app/Observers/BlogNavObserver.php
class BlogNavObserver (line 13) | class BlogNavObserver
method created (line 21) | public function created(BlogNav $blogNav)
method updated (line 32) | public function updated(BlogNav $blogNav)
method deleted (line 43) | public function deleted(BlogNav $blogNav)
method restored (line 84) | public function restored(BlogNav $blogNav)
method forceDeleted (line 95) | public function forceDeleted(BlogNav $blogNav)
FILE: app/Observers/BlogNavPhotoObserver.php
class BlogNavPhotoObserver (line 8) | class BlogNavPhotoObserver
method created (line 16) | public function created(BlogNavPhoto $blogNavPhoto)
method updated (line 27) | public function updated(BlogNavPhoto $blogNavPhoto)
method deleted (line 38) | public function deleted(BlogNavPhoto $blogNavPhoto)
method restored (line 58) | public function restored(BlogNavPhoto $blogNavPhoto)
method forceDeleted (line 69) | public function forceDeleted(BlogNavPhoto $blogNavPhoto)
FILE: app/Observers/BlogNavShareOneObserver.php
class BlogNavShareOneObserver (line 8) | class BlogNavShareOneObserver
method created (line 16) | public function created(BlogNavShareOne $blogNavShareOne)
method updated (line 27) | public function updated(BlogNavShareOne $blogNavShareOne)
method deleted (line 38) | public function deleted(BlogNavShareOne $blogNavShareOne)
method restored (line 52) | public function restored(BlogNavShareOne $blogNavShareOne)
method forceDeleted (line 63) | public function forceDeleted(BlogNavShareOne $blogNavShareOne)
FILE: app/Observers/BlogNavShareTwoObserver.php
class BlogNavShareTwoObserver (line 8) | class BlogNavShareTwoObserver
method created (line 16) | public function created(BlogNavShareTwo $blogNavShareTwo)
method updated (line 27) | public function updated(BlogNavShareTwo $blogNavShareTwo)
method deleted (line 38) | public function deleted(BlogNavShareTwo $blogNavShareTwo)
method restored (line 52) | public function restored(BlogNavShareTwo $blogNavShareTwo)
method forceDeleted (line 63) | public function forceDeleted(BlogNavShareTwo $blogNavShareTwo)
FILE: app/Observers/BlogNavVideoObserver.php
class BlogNavVideoObserver (line 8) | class BlogNavVideoObserver
method created (line 16) | public function created(BlogNavVideo $blogNavVideo)
method updated (line 27) | public function updated(BlogNavVideo $blogNavVideo)
method deleted (line 38) | public function deleted(BlogNavVideo $blogNavVideo)
method restored (line 57) | public function restored(BlogNavVideo $blogNavVideo)
method forceDeleted (line 68) | public function forceDeleted(BlogNavVideo $blogNavVideo)
FILE: app/Providers/AppServiceProvider.php
class AppServiceProvider (line 31) | class AppServiceProvider extends ServiceProvider
method register (line 38) | public function register()
method boot (line 48) | public function boot()
method system_config (line 74) | public function system_config()
method system_nav (line 80) | public function system_nav()
method my_music (line 92) | public function my_music()
FILE: app/Providers/AuthServiceProvider.php
class AuthServiceProvider (line 8) | class AuthServiceProvider extends ServiceProvider
method boot (line 24) | public function boot()
FILE: app/Providers/BroadcastServiceProvider.php
class BroadcastServiceProvider (line 8) | class BroadcastServiceProvider extends ServiceProvider
method boot (line 15) | public function boot()
FILE: app/Providers/EventServiceProvider.php
class EventServiceProvider (line 10) | class EventServiceProvider extends ServiceProvider
method boot (line 28) | public function boot()
FILE: app/Providers/RouteServiceProvider.php
class RouteServiceProvider (line 8) | class RouteServiceProvider extends ServiceProvider
method boot (line 24) | public function boot()
method map (line 36) | public function map()
method mapWebRoutes (line 52) | protected function mapWebRoutes()
method mapApiRoutes (line 66) | protected function mapApiRoutes()
FILE: app/User.php
class User (line 9) | class User extends Authenticatable
FILE: bootstrap/common.php
function modelTree (line 6) | function modelTree($tree,$pid = 0,$level = 0){
function define_background (line 25) | function define_background(){
function define_badge_color (line 35) | function define_badge_color(){
function date_conversion (line 44) | function date_conversion($old_data){
function processing_files (line 53) | function processing_files($file_src){
FILE: database/migrations/2019_08_24_022201_create_blog_nav_table.php
class CreateBlogNavTable (line 7) | class CreateBlogNavTable extends Migration
method up (line 14) | public function up()
method down (line 33) | public function down()
FILE: database/migrations/2019_08_24_025115_create_blog_nav_article_table.php
class CreateBlogNavArticleTable (line 7) | class CreateBlogNavArticleTable extends Migration
method up (line 14) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2019_08_24_025134_create_blog_nav_photo_table.php
class CreateBlogNavPhotoTable (line 7) | class CreateBlogNavPhotoTable extends Migration
method up (line 14) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2019_08_24_025151_create_blog_nav_music_table.php
class CreateBlogNavMusicTable (line 7) | class CreateBlogNavMusicTable extends Migration
method up (line 14) | public function up()
method down (line 37) | public function down()
FILE: database/migrations/2019_08_24_025209_create_blog_nav_video_table.php
class CreateBlogNavVideoTable (line 7) | class CreateBlogNavVideoTable extends Migration
method up (line 14) | public function up()
method down (line 37) | public function down()
FILE: database/migrations/2019_08_24_025230_create_blog_nav_share1_table.php
class CreateBlogNavShare1Table (line 7) | class CreateBlogNavShare1Table extends Migration
method up (line 14) | public function up()
method down (line 36) | public function down()
FILE: database/migrations/2019_08_24_025240_create_blog_nav_share2_table.php
class CreateBlogNavShare2Table (line 7) | class CreateBlogNavShare2Table extends Migration
method up (line 14) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2019_08_25_102118_create_blog_message_table.php
class CreateBlogMessageTable (line 7) | class CreateBlogMessageTable extends Migration
method up (line 14) | public function up()
method down (line 35) | public function down()
FILE: database/migrations/2019_08_25_131502_create_blog_friends_table.php
class CreateBlogFriendsTable (line 7) | class CreateBlogFriendsTable extends Migration
method up (line 14) | public function up()
method down (line 36) | public function down()
FILE: database/migrations/2019_08_26_021306_create_blog_apply_table.php
class CreateBlogApplyTable (line 7) | class CreateBlogApplyTable extends Migration
method up (line 14) | public function up()
method down (line 31) | public function down()
FILE: database/migrations/2019_08_26_021945_create_blog_about_table.php
class CreateBlogAboutTable (line 7) | class CreateBlogAboutTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2019_08_26_104822_create_blog_upload_files_table.php
class CreateBlogUploadFilesTable (line 7) | class CreateBlogUploadFilesTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2019_08_29_042857_create_blog_notices_table.php
class CreateBlogNoticesTable (line 7) | class CreateBlogNoticesTable extends Migration
method up (line 14) | public function up()
method down (line 31) | public function down()
FILE: database/migrations/2019_08_29_140729_create_blog_about_articles_table.php
class CreateBlogAboutArticlesTable (line 7) | class CreateBlogAboutArticlesTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2019_08_29_140755_create_blog_about_card_ones_table.php
class CreateBlogAboutCardOnesTable (line 7) | class CreateBlogAboutCardOnesTable extends Migration
method up (line 14) | public function up()
method down (line 33) | public function down()
FILE: database/migrations/2019_08_29_140807_create_blog_about_card_twos_table.php
class CreateBlogAboutCardTwosTable (line 7) | class CreateBlogAboutCardTwosTable extends Migration
method up (line 14) | public function up()
method down (line 33) | public function down()
FILE: database/migrations/2019_09_15_132631_create_blog_subscribes_table.php
class CreateBlogSubscribesTable (line 7) | class CreateBlogSubscribesTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2019_09_27_084944_create_blog_tags_table.php
class CreateBlogTagsTable (line 7) | class CreateBlogTagsTable extends Migration
method up (line 14) | public function up()
method down (line 30) | public function down()
FILE: database/migrations/2019_10_07_060955_create_jobs_table.php
class CreateJobsTable (line 7) | class CreateJobsTable extends Migration
method up (line 14) | public function up()
method down (line 32) | public function down()
FILE: database/migrations/2019_10_07_071533_create_failed_jobs_table.php
class CreateFailedJobsTable (line 7) | class CreateFailedJobsTable extends Migration
method up (line 14) | public function up()
method down (line 31) | public function down()
FILE: database/seeds/BlogArticleTableSeeder.php
class BlogArticleTableSeeder (line 5) | class BlogArticleTableSeeder extends Seeder
method run (line 12) | public function run()
FILE: database/seeds/BlogSubscribeSeeder.php
class BlogSubscribeSeeder (line 5) | class BlogSubscribeSeeder extends Seeder
method run (line 12) | public function run()
FILE: database/seeds/DatabaseSeeder.php
class DatabaseSeeder (line 5) | class DatabaseSeeder extends Seeder
method run (line 12) | public function run()
FILE: public/js/app.js
function n (line 1) | function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{...
function a (line 1) | function a(e){return"[object Array]"===o.call(e)}
function s (line 1) | function s(e){return null!==e&&"object"==typeof e}
function u (line 1) | function u(e){return"[object Function]"===o.call(e)}
function c (line 1) | function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n...
function n (line 1) | function n(n,r){"object"==typeof t[r]&&"object"==typeof n?t[r]=e(t[r],n)...
function a (line 1) | function a(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e[...
function s (line 1) | function s(e){return e&&"[object Function]"==={}.toString.call(e)}
function u (line 1) | function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.default...
function c (line 1) | function c(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}
function l (line 1) | function l(e){if(!e)return document.body;switch(e.nodeName){case"HTML":c...
function d (line 1) | function d(e){return 11===e?f:10===e?p:f||p}
function h (line 1) | function h(e){if(!e)return document.documentElement;for(var t=d(10)?docu...
function v (line 1) | function v(e){return null!==e.parentNode?v(e.parentNode):e}
function g (line 1) | function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.docum...
function m (line 1) | function m(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?a...
function y (line 1) | function y(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom"...
function _ (line 1) | function _(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["clien...
function b (line 1) | function b(e){var t=e.body,n=e.documentElement,r=d(10)&&getComputedStyle...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
function C (line 1) | function C(e){return x({},e,{right:e.left+e.width,bottom:e.top+e.height})}
function A (line 1) | function A(e){var t={};try{if(d(10)){t=e.getBoundingClientRect();var n=m...
function S (line 1) | function S(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&argumen...
function O (line 1) | function O(e){if(!e||!e.parentElement||d())return document.documentEleme...
function D (line 1) | function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arg...
function I (line 1) | function I(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?ar...
function k (line 1) | function k(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?argume...
function N (line 1) | function N(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=pa...
function L (line 1) | function L(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"...
function j (line 1) | function j(e,t,n){n=n.split("-")[0];var r=N(e),i={width:r.width,height:r...
function P (line 1) | function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}
function R (line 1) | function R(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array...
function $ (line 1) | function $(e,t){return e.some(function(e){var n=e.name;return e.enabled&...
function H (line 1) | function H(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpp...
function M (line 1) | function M(e){var t=e.ownerDocument;return t?t.defaultView:window}
function F (line 1) | function F(e,t,n,r){n.updateBound=r,M(e).addEventListener("resize",n.upd...
function W (line 1) | function W(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(thi...
function q (line 1) | function q(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}
function B (line 1) | function B(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width...
function V (line 1) | function V(e,t,n){var r=P(e,function(e){return e.name===t}),i=!!r&&e.som...
function G (line 1) | function G(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments...
function Q (line 1) | function Q(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.s...
function e (line 1) | function e(t,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]?a...
function w (line 1) | function w(e,t,n){var r,i=(t=t||a).createElement("script");if(i.text=e,n...
function T (line 1) | function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof...
function C (line 1) | function C(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!y(e)&&!_(e...
function oe (line 1) | function oe(e,t,r,i){var o,s,c,l,f,h,m,y=t&&t.ownerDocument,T=t?t.nodeTy...
function ae (line 1) | function ae(){var e=[];return function t(n,i){return e.push(n+" ")>r.cac...
function se (line 1) | function se(e){return e[b]=!0,e}
function ue (line 1) | function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(...
function ce (line 1) | function ce(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i...
function le (line 1) | function le(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourc...
function fe (line 1) | function fe(e){return function(t){return"input"===t.nodeName.toLowerCase...
function pe (line 1) | function pe(e){return function(t){var n=t.nodeName.toLowerCase();return(...
function de (line 1) | function de(e){return function(t){return"form"in t?t.parentNode&&!1===t....
function he (line 1) | function he(e){return se(function(t){return t=+t,se(function(n,r){for(va...
function ve (line 1) | function ve(e){return e&&void 0!==e.getElementsByTagName&&e}
function ge (line 1) | function ge(){}
function me (line 1) | function me(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}
function ye (line 1) | function ye(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=E...
function _e (line 1) | function _e(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;...
function be (line 1) | function be(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,c=null!=t;s<u;s++)(...
function we (line 1) | function we(e,t,n,r,i,o){return r&&!r[b]&&(r=we(r)),i&&!i[b]&&(i=we(i,o)...
function Te (line 1) | function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.r...
function I (line 1) | function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerC...
function N (line 1) | function N(e,t,n){return y(t)?E.grep(e,function(e,r){return!!t.call(e,r,...
function $ (line 1) | function $(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}
function M (line 1) | function M(e){return e}
function F (line 1) | function F(e){throw e}
function W (line 1) | function W(e,t,n,r){var i;try{e&&y(i=e.promise)?i.call(e).done(t).fail(n...
function a (line 1) | function a(e,t,r,i){return function(){var s=this,u=arguments,c=function(...
function U (line 1) | function U(){a.removeEventListener("DOMContentLoaded",U),n.removeEventLi...
function G (line 1) | function G(e,t){return t.toUpperCase()}
function X (line 1) | function X(e){return e.replace(z,"ms-").replace(K,G)}
function Y (line 1) | function Y(){this.expando=E.expando+Y.uid++}
function ne (line 1) | function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.re...
function ue (line 1) | function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:functio...
function le (line 1) | function le(e){var t,n=e.ownerDocument,r=e.nodeName,i=ce[r];return i||(t...
function fe (line 1) | function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&...
function ge (line 1) | function ge(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getEle...
function me (line 1) | function me(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",...
function we (line 1) | function we(e,t,n,r,i){for(var o,a,s,u,c,l,f=t.createDocumentFragment(),...
function Ae (line 1) | function Ae(){return!0}
function Se (line 1) | function Se(){return!1}
function Oe (line 1) | function Oe(){try{return a.activeElement}catch(e){}}
function De (line 1) | function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"...
function je (line 1) | function je(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"...
function Pe (line 1) | function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}
function Re (line 1) | function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.sli...
function $e (line 1) | function $e(e,t){var n,r,i,o,a,s,u,c;if(1===t.nodeType){if(J.hasData(e)&...
function He (line 1) | function He(e,t,n,r){t=c.apply([],t);var i,o,a,s,u,l,f=0,p=e.length,d=p-...
function Me (line 1) | function Me(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)...
function Be (line 1) | function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||We(e))&&(""!==(a=n....
function Ue (line 1) | function Ue(e,t){return{get:function(){if(!e())return(this.get=t).apply(...
function e (line 1) | function e(){if(l){c.style.cssText="position:absolute;left:-11111px;widt...
function t (line 1) | function t(e){return Math.round(parseFloat(e))}
function Ye (line 1) | function Ye(e){var t=E.cssProps[e];return t||(t=E.cssProps[e]=function(e...
function Je (line 1) | function Je(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[...
function Ze (line 1) | function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border...
function et (line 1) | function et(e,t,n){var r=We(e),i=Be(e,t,r),o="border-box"===E.css(e,"box...
function tt (line 1) | function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}
function at (line 1) | function at(){rt&&(!1===a.hidden&&n.requestAnimationFrame?n.requestAnima...
function st (line 1) | function st(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}
function ut (line 1) | function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin...
function ct (line 1) | function ct(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["...
function lt (line 1) | function lt(e,t,n){var r,i,o=0,a=lt.prefilters.length,s=E.Deferred().alw...
function vt (line 1) | function vt(e){return(e.match(H)||[]).join(" ")}
function gt (line 1) | function gt(e){return e.getAttribute&&e.getAttribute("class")||""}
function mt (line 1) | function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)|...
function Ot (line 1) | function Ot(e,t,n,r){var i;if(Array.isArray(t))E.each(t,function(t,i){n|...
function Mt (line 1) | function Mt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var ...
function Ft (line 1) | function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!...
function Wt (line 1) | function Wt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)voi...
function C (line 1) | function C(e,t,a,s){var c,p,d,b,w,T=t;l||(l=!0,u&&n.clearTimeout(u),r=vo...
function o (line 1) | function o(){throw new Error("setTimeout has not been defined")}
function a (line 1) | function a(){throw new Error("clearTimeout has not been defined")}
function s (line 1) | function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&s...
function p (line 1) | function p(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}
function d (line 1) | function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(u=c,c=[];...
function h (line 1) | function h(e,t){this.fun=e,this.array=t}
function v (line 1) | function v(){}
function r (line 1) | function r(e){this.message=e}
function Vt (line 1) | function Vt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:retur...
function zt (line 1) | function zt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i...
function Kt (line 1) | function Kt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,...
function Gt (line 1) | function Gt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););re...
function Xt (line 1) | function Xt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e...
function Qt (line 1) | function Qt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var ...
function Yt (line 1) | function Yt(e,t){return!!(null==e?0:e.length)&&un(e,t,0)>-1}
function Jt (line 1) | function Jt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r])...
function Zt (line 1) | function Zt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n...
function en (line 1) | function en(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];r...
function tn (line 1) | function tn(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);...
function nn (line 1) | function nn(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)...
function rn (line 1) | function rn(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e)...
function an (line 1) | function an(e,t,n){var r;return n(e,function(e,n,i){if(t(e,n,i))return r...
function sn (line 1) | function sn(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e...
function un (line 1) | function un(e,t,n){return t==t?function(e,t,n){var r=n-1,i=e.length;for(...
function cn (line 1) | function cn(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return...
function ln (line 1) | function ln(e){return e!=e}
function fn (line 1) | function fn(e,t){var n=null==e?0:e.length;return n?vn(e,t)/n:R}
function pn (line 1) | function pn(e){return function(t){return null==t?o:t[e]}}
function dn (line 1) | function dn(e){return function(t){return null==e?o:e[t]}}
function hn (line 1) | function hn(e,t,n,r,i){return i(e,function(e,i,o){n=r?(r=!1,e):t(n,e,i,o...
function vn (line 1) | function vn(e,t){for(var n,r=-1,i=e.length;++r<i;){var a=t(e[r]);a!==o&&...
function gn (line 1) | function gn(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}
function mn (line 1) | function mn(e){return function(t){return e(t)}}
function yn (line 1) | function yn(e,t){return Zt(t,function(t){return e[t]})}
function _n (line 1) | function _n(e,t){return e.has(t)}
function bn (line 1) | function bn(e,t){for(var n=-1,r=e.length;++n<r&&un(t,e[n],0)>-1;);return n}
function wn (line 1) | function wn(e,t){for(var n=e.length;n--&&un(t,e[n],0)>-1;);return n}
function xn (line 1) | function xn(e){return"\\"+Ot[e]}
function Cn (line 1) | function Cn(e){return Tt.test(e)}
function An (line 1) | function An(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n...
function Sn (line 1) | function Sn(e,t){return function(n){return e(t(n))}}
function On (line 1) | function On(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n];a!=...
function Dn (line 1) | function Dn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[+...
function In (line 1) | function In(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[+...
function kn (line 1) | function kn(e){return Cn(e)?function(e){var t=bt.lastIndex=0;for(;bt.tes...
function Nn (line 1) | function Nn(e){return Cn(e)?function(e){return e.match(bt)||[]}(e):funct...
function dr (line 1) | function dr(e){if(Os(e)&&!ms(e)&&!(e instanceof mr)){if(e instanceof gr)...
function e (line 1) | function e(){}
function vr (line 1) | function vr(){}
function gr (line 1) | function gr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!...
function mr (line 1) | function mr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,thi...
function yr (line 1) | function yr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){va...
function _r (line 1) | function _r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){va...
function br (line 1) | function br(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){va...
function wr (line 1) | function wr(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new br;++...
function Tr (line 1) | function Tr(e){var t=this.__data__=new _r(e);this.size=t.size}
function Er (line 1) | function Er(e,t){var n=ms(e),r=!n&&gs(e),i=!n&&!r&&ws(e),o=!n&&!r&&!i&&R...
function xr (line 1) | function xr(e){var t=e.length;return t?e[wi(0,t-1)]:o}
function Cr (line 1) | function Cr(e,t){return ua(no(e),jr(t,0,e.length))}
function Ar (line 1) | function Ar(e){return ua(no(e))}
function Sr (line 1) | function Sr(e,t,n){(n===o||ds(e[t],n))&&(n!==o||t in e)||Nr(e,t,n)}
function Or (line 1) | function Or(e,t,n){var r=e[t];lt.call(e,t)&&ds(r,n)&&(n!==o||t in e)||Nr...
function Dr (line 1) | function Dr(e,t){for(var n=e.length;n--;)if(ds(e[n][0],t))return n;retur...
function Ir (line 1) | function Ir(e,t,n,r){return Mr(e,function(e,i,o){t(r,e,n(e),o)}),r}
function kr (line 1) | function kr(e,t){return e&&ro(t,iu(t),e)}
function Nr (line 1) | function Nr(e,t,n){"__proto__"==t&&dn?dn(e,t,{configurable:!0,enumerable...
function Lr (line 1) | function Lr(e,t){for(var n=-1,i=t.length,a=r(i),s=null==e;++n<i;)a[n]=s?...
function jr (line 1) | function jr(e,t,n){return e==e&&(n!==o&&(e=e<=n?e:n),t!==o&&(e=e>=t?e:t)...
function Pr (line 1) | function Pr(e,t,n,r,i,a){var s,u=t&p,c=t&d,l=t&h;if(n&&(s=i?n(e,r,i,a):n...
function Rr (line 1) | function Rr(e,t,n){var r=n.length;if(null==e)return!r;for(e=tt(e);r--;){...
function $r (line 1) | function $r(e,t,n){if("function"!=typeof e)throw new it(u);return ia(fun...
function Hr (line 1) | function Hr(e,t,n,r){var i=-1,o=Yt,s=!0,u=e.length,c=[],l=t.length;if(!u...
function Wr (line 1) | function Wr(e,t){var n=!0;return Mr(e,function(e,r,i){return n=!!t(e,r,i...
function qr (line 1) | function qr(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],s=t(a);if(...
function Br (line 1) | function Br(e,t){var n=[];return Mr(e,function(e,r,i){t(e,r,i)&&n.push(e...
function Ur (line 1) | function Ur(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=Vo),i||(i=[]);++o<a...
function Kr (line 1) | function Kr(e,t){return e&&Vr(e,t,iu)}
function Gr (line 1) | function Gr(e,t){return e&&zr(e,t,iu)}
function Xr (line 1) | function Xr(e,t){return Qt(t,function(t){return xs(e[t])})}
function Qr (line 1) | function Qr(e,t){for(var n=0,r=(t=zi(t,e)).length;null!=e&&n<r;)e=e[la(t...
function Yr (line 1) | function Yr(e,t,n){var r=t(e);return ms(e)?r:en(r,n(e))}
function Jr (line 1) | function Jr(e){return null==e?e===o?oe:J:on&&on in tt(e)?function(e){var...
function Zr (line 1) | function Zr(e,t){return e>t}
function ei (line 1) | function ei(e,t){return null!=e&<.call(e,t)}
function ti (line 1) | function ti(e,t){return null!=e&&t in tt(e)}
function ni (line 1) | function ni(e,t,n){for(var i=n?Jt:Yt,a=e[0].length,s=e.length,u=s,c=r(s)...
function ri (line 1) | function ri(e,t,n){var r=null==(e=ta(e,t=zi(t,e)))?e:e[la(Ea(t))];return...
function ii (line 1) | function ii(e){return Os(e)&&Jr(e)==W}
function oi (line 1) | function oi(e,t,n,r,i){return e===t||(null==e||null==t||!Os(e)&&!Os(t)?e...
function ai (line 1) | function ai(e,t,n,r){var i=n.length,a=i,s=!r;if(null==e)return!a;for(e=t...
function si (line 1) | function si(e){return!(!Ss(e)||(t=e,pt&&pt in t))&&(xs(e)?gt:ze).test(fa...
function ui (line 1) | function ui(e){return"function"==typeof e?e:null==e?Iu:"object"==typeof ...
function ci (line 1) | function ci(e){if(!Yo(e))return Un(e);var t=[];for(var n in tt(e))lt.cal...
function li (line 1) | function li(e){if(!Ss(e))return function(e){var t=[];if(null!=e)for(var ...
function fi (line 1) | function fi(e,t){return e<t}
function pi (line 1) | function pi(e,t){var n=-1,i=_s(e)?r(e.length):[];return Mr(e,function(e,...
function di (line 1) | function di(e){var t=Ho(e);return 1==t.length&&t[0][2]?Zo(t[0][0],t[0][1...
function hi (line 1) | function hi(e,t){return Go(e)&&Jo(t)?Zo(la(e),t):function(n){var r=Zs(n,...
function vi (line 1) | function vi(e,t,n,r,i){e!==t&&Vr(t,function(a,s){if(Ss(a))i||(i=new Tr),...
function gi (line 1) | function gi(e,t){var n=e.length;if(n)return zo(t+=t<0?n:0,n)?e[t]:o}
function mi (line 1) | function mi(e,t,n){var r=-1;return t=Zt(t.length?t:[Iu],mn(Ro())),functi...
function yi (line 1) | function yi(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=Qr(...
function _i (line 1) | function _i(e,t,n,r){var i=r?cn:un,o=-1,a=t.length,s=e;for(e===t&&(t=no(...
function bi (line 1) | function bi(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||...
function wi (line 1) | function wi(e,t){return e+Mn(Xn()*(t-e+1))}
function Ti (line 1) | function Ti(e,t){var n="";if(!e||t<1||t>j)return n;do{t%2&&(n+=e),(t=Mn(...
function Ei (line 1) | function Ei(e,t){return oa(ea(e,t,Iu),e+"")}
function xi (line 1) | function xi(e){return xr(du(e))}
function Ci (line 1) | function Ci(e,t){var n=du(e);return ua(n,jr(t,0,n.length))}
function Ai (line 1) | function Ai(e,t,n,r){if(!Ss(e))return e;for(var i=-1,a=(t=zi(t,e)).lengt...
function Di (line 1) | function Di(e){return ua(du(e))}
function Ii (line 1) | function Ii(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0...
function ki (line 1) | function ki(e,t){var n;return Mr(e,function(e,r,i){return!(n=t(e,r,i))})...
function Ni (line 1) | function Ni(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t...
function Li (line 1) | function Li(e,t,n,r){t=n(t);for(var i=0,a=null==e?0:e.length,s=t!=t,u=nu...
function ji (line 1) | function ji(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t...
function Pi (line 1) | function Pi(e){return"number"==typeof e?e:Ps(e)?R:+e}
function Ri (line 1) | function Ri(e){if("string"==typeof e)return e;if(ms(e))return Zt(e,Ri)+"...
function $i (line 1) | function $i(e,t,n){var r=-1,i=Yt,o=e.length,s=!0,u=[],c=u;if(n)s=!1,i=Jt...
function Hi (line 1) | function Hi(e,t){return null==(e=ta(e,t=zi(t,e)))||delete e[la(Ea(t))]}
function Mi (line 1) | function Mi(e,t,n,r){return Ai(e,t,n(Qr(e,t)),r)}
function Fi (line 1) | function Fi(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o...
function Wi (line 1) | function Wi(e,t){var n=e;return n instanceof mr&&(n=n.value()),tn(t,func...
function qi (line 1) | function qi(e,t,n){var i=e.length;if(i<2)return i?$i(e[0]):[];for(var o=...
function Bi (line 1) | function Bi(e,t,n){for(var r=-1,i=e.length,a=t.length,s={};++r<i;){var u...
function Ui (line 1) | function Ui(e){return bs(e)?e:[]}
function Vi (line 1) | function Vi(e){return"function"==typeof e?e:Iu}
function zi (line 1) | function zi(e,t){return ms(e)?e:Go(e,t)?[e]:ca(Vs(e))}
function Gi (line 1) | function Gi(e,t,n){var r=e.length;return n=n===o?r:n,!t&&n>=r?e:Ii(e,t,n)}
function Qi (line 1) | function Qi(e,t){if(t)return e.slice();var n=e.length,r=Ot?Ot(n):new e.c...
function Yi (line 1) | function Yi(e){var t=new e.constructor(e.byteLength);return new Tt(t).se...
function Ji (line 1) | function Ji(e,t){var n=t?Yi(e.buffer):e.buffer;return new e.constructor(...
function Zi (line 1) | function Zi(e,t){if(e!==t){var n=e!==o,r=null===e,i=e==e,a=Ps(e),s=t!==o...
function eo (line 1) | function eo(e,t,n,i){for(var o=-1,a=e.length,s=n.length,u=-1,c=t.length,...
function to (line 1) | function to(e,t,n,i){for(var o=-1,a=e.length,s=-1,u=n.length,c=-1,l=t.le...
function no (line 1) | function no(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];re...
function ro (line 1) | function ro(e,t,n,r){var i=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){...
function io (line 1) | function io(e,t){return function(n,r){var i=ms(n)?zt:Ir,o=t?t():{};retur...
function oo (line 1) | function oo(e){return Ei(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:...
function ao (line 1) | function ao(e,t){return function(n,r){if(null==n)return n;if(!_s(n))retu...
function so (line 1) | function so(e){return function(t,n,r){for(var i=-1,o=tt(t),a=r(t),s=a.le...
function uo (line 1) | function uo(e){return function(t){var n=Cn(t=Vs(t))?Nn(t):o,r=n?n[0]:t.c...
function co (line 1) | function co(e){return function(t){return tn(xu(gu(t).replace(yt,"")),e,"...
function lo (line 1) | function lo(e){return function(){var t=arguments;switch(t.length){case 0...
function fo (line 1) | function fo(e){return function(t,n,r){var i=tt(t);if(!_s(t)){var a=Ro(n,...
function po (line 1) | function po(e){return Io(function(t){var n=t.length,r=n,i=gr.prototype.t...
function ho (line 1) | function ho(e,t,n,i,a,s,u,c,l,f){var p=t&x,d=t&m,h=t&y,v=t&(b|w),g=t&A,_...
function vo (line 1) | function vo(e,t){return function(n,r){return function(e,t,n,r){return Kr...
function go (line 1) | function go(e,t){return function(n,r){var i;if(n===o&&r===o)return t;if(...
function mo (line 1) | function mo(e){return Io(function(t){return t=Zt(t,mn(Ro())),Ei(function...
function yo (line 1) | function yo(e,t){var n=(t=t===o?" ":Ri(t)).length;if(n<2)return n?Ti(t,e...
function _o (line 1) | function _o(e){return function(t,n,i){return i&&"number"!=typeof i&&Ko(t...
function bo (line 1) | function bo(e){return function(t,n){return"string"==typeof t&&"string"==...
function wo (line 1) | function wo(e,t,n,r,i,a,s,u,c,l){var f=t&b;t|=f?T:E,(t&=~(f?E:T))&_||(t&...
function To (line 1) | function To(e){var t=et[e];return function(e,n){if(e=Bs(e),n=null==n?0:z...
function xo (line 1) | function xo(e){return function(t){var n=qo(t);return n==Q?An(t):n==ne?In...
function Co (line 1) | function Co(e,t,n,i,a,s,c,l){var p=t&y;if(!p&&"function"!=typeof e)throw...
function Ao (line 1) | function Ao(e,t,n,r){return e===o||ds(e,st[n])&&!lt.call(r,n)?t:e}
function So (line 1) | function So(e,t,n,r,i,a){return Ss(e)&&Ss(t)&&(a.set(t,e),vi(e,t,o,So,a)...
function Oo (line 1) | function Oo(e){return ks(e)?o:e}
function Do (line 1) | function Do(e,t,n,r,i,a){var s=n&v,u=e.length,c=t.length;if(u!=c&&!(s&&c...
function Io (line 1) | function Io(e){return oa(ea(e,o,ya),e+"")}
function ko (line 1) | function ko(e){return Yr(e,iu,Fo)}
function No (line 1) | function No(e){return Yr(e,ou,Wo)}
function jo (line 1) | function jo(e){for(var t=e.name+"",n=ir[t],r=lt.call(ir,t)?n.length:0;r-...
function Po (line 1) | function Po(e){return(lt.call(dr,"placeholder")?dr:e).placeholder}
function Ro (line 1) | function Ro(){var e=dr.iteratee||ku;return e=e===ku?ui:e,arguments.lengt...
function $o (line 1) | function $o(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||...
function Ho (line 1) | function Ho(e){for(var t=iu(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[...
function Mo (line 1) | function Mo(e,t){var n=function(e,t){return null==e?o:e[t]}(e,t);return ...
function Bo (line 1) | function Bo(e,t,n){for(var r=-1,i=(t=zi(t,e)).length,o=!1;++r<i;){var a=...
function Uo (line 1) | function Uo(e){return"function"!=typeof e.constructor||Yo(e)?{}:hr(kt(e))}
function Vo (line 1) | function Vo(e){return ms(e)||gs(e)||!!($t&&e&&e[$t])}
function zo (line 1) | function zo(e,t){var n=typeof e;return!!(t=null==t?j:t)&&("number"==n||"...
function Ko (line 1) | function Ko(e,t,n){if(!Ss(n))return!1;var r=typeof t;return!!("number"==...
function Go (line 1) | function Go(e,t){if(ms(e))return!1;var n=typeof e;return!("number"!=n&&"...
function Xo (line 1) | function Xo(e){var t=jo(e),n=dr[t];if("function"!=typeof n||!(t in mr.pr...
function Yo (line 1) | function Yo(e){var t=e&&e.constructor;return e===("function"==typeof t&&...
function Jo (line 1) | function Jo(e){return e==e&&!Ss(e)}
function Zo (line 1) | function Zo(e,t){return function(n){return null!=n&&n[e]===t&&(t!==o||e ...
function ea (line 1) | function ea(e,t,n){return t=Vn(t===o?e.length-1:t,0),function(){for(var ...
function ta (line 1) | function ta(e,t){return t.length<2?e:Qr(e,Ii(t,0,-1))}
function na (line 1) | function na(e,t){if("__proto__"!=t)return e[t]}
function aa (line 1) | function aa(e,t,n){var r=t+"";return oa(e,function(e,t){var n=t.length;i...
function sa (line 1) | function sa(e){var t=0,n=0;return function(){var r=Kn(),i=I-(r-n);if(n=r...
function ua (line 1) | function ua(e,t){var n=-1,r=e.length,i=r-1;for(t=t===o?r:t;++n<t;){var a...
function la (line 1) | function la(e){if("string"==typeof e||Ps(e))return e;var t=e+"";return"0...
function fa (line 1) | function fa(e){if(null!=e){try{return ct.call(e)}catch(e){}try{return e+...
function pa (line 1) | function pa(e){if(e instanceof mr)return e.clone();var t=new gr(e.__wrap...
function ga (line 1) | function ga(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n...
function ma (line 1) | function ma(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r-1;ret...
function ya (line 1) | function ya(e){return null!=e&&e.length?Ur(e,1):[]}
function _a (line 1) | function _a(e){return e&&e.length?e[0]:o}
function Ea (line 1) | function Ea(e){var t=null==e?0:e.length;return t?e[t-1]:o}
function Ca (line 1) | function Ca(e,t){return e&&e.length&&t&&t.length?_i(e,t):e}
function Sa (line 1) | function Sa(e){return null==e?e:Qn.call(e)}
function ka (line 1) | function ka(e){if(!e||!e.length)return[];var t=0;return e=Qt(e,function(...
function Na (line 1) | function Na(e,t){if(!e||!e.length)return[];var n=ka(e);return null==t?n:...
function Ma (line 1) | function Ma(e){var t=dr(e);return t.__chain__=!0,t}
function Fa (line 1) | function Fa(e,t){return t(e)}
function Va (line 1) | function Va(e,t){return(ms(e)?Kt:Mr)(e,Ro(t,3))}
function za (line 1) | function za(e,t){return(ms(e)?Gt:Fr)(e,Ro(t,3))}
function Qa (line 1) | function Qa(e,t){return(ms(e)?Zt:pi)(e,Ro(t,3))}
function es (line 1) | function es(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,Co(e,x,o,o,o,o...
function ts (line 1) | function ts(e,t){var n;if("function"!=typeof t)throw new it(u);return e=...
function is (line 1) | function is(e,t,n){var r,i,a,s,c,l,f=0,p=!1,d=!1,h=!0;if("function"!=typ...
function ss (line 1) | function ss(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)...
function us (line 1) | function us(e){if("function"!=typeof e)throw new it(u);return function()...
function ds (line 1) | function ds(e,t){return e===t||e!=e&&t!=t}
function _s (line 1) | function _s(e){return null!=e&&As(e.length)&&!xs(e)}
function bs (line 1) | function bs(e){return Os(e)&&_s(e)}
function Es (line 1) | function Es(e){if(!Os(e))return!1;var t=Jr(e);return t==K||t==z||"string...
function xs (line 1) | function xs(e){if(!Ss(e))return!1;var t=Jr(e);return t==G||t==X||t==B||t...
function Cs (line 1) | function Cs(e){return"number"==typeof e&&e==Ws(e)}
function As (line 1) | function As(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=j}
function Ss (line 1) | function Ss(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}
function Os (line 1) | function Os(e){return null!=e&&"object"==typeof e}
function Is (line 1) | function Is(e){return"number"==typeof e||Os(e)&&Jr(e)==Y}
function ks (line 1) | function ks(e){if(!Os(e)||Jr(e)!=Z)return!1;var t=kt(e);if(null===t)retu...
function js (line 1) | function js(e){return"string"==typeof e||!ms(e)&&Os(e)&&Jr(e)==re}
function Ps (line 1) | function Ps(e){return"symbol"==typeof e||Os(e)&&Jr(e)==ie}
function Ms (line 1) | function Ms(e){if(!e)return[];if(_s(e))return js(e)?Nn(e):no(e);if(Ht&&e...
function Fs (line 1) | function Fs(e){return e?(e=Bs(e))===L||e===-L?(e<0?-1:1)*P:e==e?e:0:0===...
function Ws (line 1) | function Ws(e){var t=Fs(e),n=t%1;return t==t?n?t-n:t:0}
function qs (line 1) | function qs(e){return e?jr(Ws(e),0,$):0}
function Bs (line 1) | function Bs(e){if("number"==typeof e)return e;if(Ps(e))return R;if(Ss(e)...
function Us (line 1) | function Us(e){return ro(e,ou(e))}
function Vs (line 1) | function Vs(e){return null==e?"":Ri(e)}
function Zs (line 1) | function Zs(e,t,n){var r=null==e?o:Qr(e,t);return r===o?n:r}
function eu (line 1) | function eu(e,t){return null!=e&&Bo(e,t,ti)}
function iu (line 1) | function iu(e){return _s(e)?Er(e):ci(e)}
function ou (line 1) | function ou(e){return _s(e)?Er(e,!0):li(e)}
function lu (line 1) | function lu(e,t){if(null==e)return{};var n=Zt(No(e),function(e){return[e...
function du (line 1) | function du(e){return null==e?[]:yn(e,iu(e))}
function vu (line 1) | function vu(e){return Eu(Vs(e).toLowerCase())}
function gu (line 1) | function gu(e){return(e=Vs(e))&&e.replace(Xe,Tn).replace(_t,"")}
function xu (line 1) | function xu(e,t,n){return e=Vs(e),(t=n?o:t)===o?function(e){return Et.te...
function Su (line 1) | function Su(e){return function(){return e}}
function Iu (line 1) | function Iu(e){return e}
function ku (line 1) | function ku(e){return ui("function"==typeof e?e:Pr(e,p))}
function ju (line 1) | function ju(e,t,n){var r=iu(t),i=Xr(t,r);null!=n||Ss(t)&&(i.length||!r.l...
function Pu (line 1) | function Pu(){}
function Mu (line 1) | function Mu(e){return Go(e)?pn(la(e)):function(e){return function(t){ret...
function qu (line 1) | function qu(){return[]}
function Bu (line 1) | function Bu(){return!1}
function r (line 1) | function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
function i (line 1) | function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}
function o (line 1) | function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enume...
function a (line 1) | function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[...
function n (line 1) | function n(t){var n=this,i=!1;return e(this).one(r.TRANSITION_END,functi...
function t (line 1) | function t(e){this._element=e}
function t (line 1) | function t(e){this._element=e}
function o (line 1) | function o(t,n){this._items=null,this._interval=null,this._activeElement...
function r (line 1) | function r(t,n){this._isTransitioning=!1,this._element=t,this._config=th...
function u (line 1) | function u(e,t){this._element=e,this._popper=null,this._config=this._get...
function r (line 1) | function r(e,t){this._config=this._getConfig(t),this._element=e,this._di...
function o (line 1) | function o(e,t){if(void 0===n)throw new TypeError("Bootstrap tooltips re...
function d (line 1) | function d(){return r.apply(this,arguments)||this}
function n (line 1) | function n(t,n){var r=this;this._element=t,this._scrollElement="BODY"===...
function t (line 1) | function t(e){this._element=e}
function s (line 1) | function s(e){var t=new o(e),n=i(o.prototype.request,t);return r.extend(...
function n (line 1) | function n(e){return!!e.constructor&&"function"==typeof e.constructor.is...
function s (line 1) | function s(e){this.defaults=e,this.interceptors={request:new o,response:...
function i (line 1) | function i(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(...
function i (line 1) | function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.se...
function i (line 1) | function i(){this.message="String contains an invalid character"}
function i (line 1) | function i(){this.handlers=[]}
function c (line 1) | function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}
function i (line 1) | function i(e){if("function"!=typeof e)throw new TypeError("executor must...
function i (line 1) | function i(e){return null==e}
function o (line 1) | function o(e){return null!=e}
function a (line 1) | function a(e){return!0===e}
function s (line 1) | function s(e){return"string"==typeof e||"number"==typeof e||"symbol"==ty...
function u (line 1) | function u(e){return null!==e&&"object"==typeof e}
function l (line 1) | function l(e){return"[object Object]"===c.call(e)}
function f (line 1) | function f(e){return"[object RegExp]"===c.call(e)}
function p (line 1) | function p(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t...
function d (line 1) | function d(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null...
function h (line 1) | function h(e){var t=parseFloat(e);return isNaN(t)?e:t}
function v (line 1) | function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.len...
function y (line 1) | function y(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(...
function b (line 1) | function b(e,t){return _.call(e,t)}
function w (line 1) | function w(e){var t=Object.create(null);return function(n){return t[n]||...
function n (line 1) | function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e...
function O (line 1) | function O(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n...
function D (line 1) | function D(e,t){for(var n in t)e[n]=t[n];return e}
function I (line 1) | function I(e){for(var t={},n=0;n<e.length;n++)e[n]&&D(t,e[n]);return t}
function k (line 1) | function k(e,t,n){}
function j (line 1) | function j(e,t){if(e===t)return!0;var n=u(e),r=u(t);if(!n||!r)return!n&&...
function P (line 1) | function P(e,t){for(var n=0;n<e.length;n++)if(j(e[n],t))return n;return-1}
function R (line 1) | function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments...
function W (line 1) | function W(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,wr...
function ie (line 1) | function ie(e){return"function"==typeof e&&/native code/.test(e.toString...
function e (line 1) | function e(){this.set=Object.create(null)}
function fe (line 1) | function fe(e){le.push(e),ce.target=e}
function pe (line 1) | function pe(){le.pop(),ce.target=le[le.length-1]}
function ge (line 1) | function ge(e){return new de(void 0,void 0,void 0,String(e))}
function me (line 1) | function me(e){var t=new de(e.tag,e.data,e.children&&e.children.slice(),...
function Te (line 1) | function Te(e){we=e}
function xe (line 1) | function xe(e,t){var n;if(u(e)&&!(e instanceof de))return b(e,"__ob__")&...
function Ce (line 1) | function Ce(e,t,n,r,i){var o=new ce,a=Object.getOwnPropertyDescriptor(e,...
function Ae (line 1) | function Ae(e,t,n){if(Array.isArray(e)&&p(t))return e.length=Math.max(e....
function Se (line 1) | function Se(e,t){if(Array.isArray(e)&&p(t))e.splice(t,1);else{var n=e.__...
function De (line 1) | function De(e,t){if(!t)return e;for(var n,r,i,o=Object.keys(t),a=0;a<o.l...
function Ie (line 1) | function Ie(e,t,n){return n?function(){var r="function"==typeof t?t.call...
function ke (line 1) | function ke(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}
function Ne (line 1) | function Ne(e,t,n,r){var i=Object.create(e||null);return t?D(i,t):i}
function je (line 1) | function je(e,t,n){if("function"==typeof t&&(t=t.options),function(e,t){...
function Pe (line 1) | function Pe(e,t,n,r){if("string"==typeof n){var i=e[t];if(b(i,n))return ...
function Re (line 1) | function Re(e,t,n,r){var i=t[e],o=!b(n,e),a=n[e],s=Me(Boolean,i.type);if...
function $e (line 1) | function $e(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return ...
function He (line 1) | function He(e,t){return $e(e)===$e(t)}
function Me (line 1) | function Me(e,t){if(!Array.isArray(t))return He(t,e)?0:-1;for(var n=0,r=...
function Fe (line 1) | function Fe(e,t,n){if(t)for(var r=t;r=r.$parent;){var i=r.$options.error...
function We (line 1) | function We(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null...
function qe (line 1) | function qe(e,t,n){if(!V&&!z||"undefined"==typeof console)throw e;consol...
function Ke (line 1) | function Ke(){ze=!1;var e=Ve.slice(0);Ve.length=0;for(var t=0;t<e.length...
function Je (line 1) | function Je(e,t){var n;if(Ve.push(function(){if(e)try{e.call(t)}catch(e)...
function et (line 1) | function et(e){!function e(t,n){var r,i;var o=Array.isArray(t);if(!o&&!u...
function rt (line 1) | function rt(e){function t(){var e=arguments,n=t.fns;if(!Array.isArray(n)...
function it (line 1) | function it(e,t,n,r,o,s){var u,c,l,f;for(u in e)c=e[u],l=t[u],f=nt(u),i(...
function ot (line 1) | function ot(e,t,n){var r;e instanceof de&&(e=e.data.hook||(e.data.hook={...
function at (line 1) | function at(e,t,n,r,i){if(o(t)){if(b(t,n))return e[n]=t[n],i||delete t[n...
function st (line 1) | function st(e){return s(e)?[ge(e)]:Array.isArray(e)?function e(t,n){var ...
function ut (line 1) | function ut(e){return o(e)&&o(e.text)&&!1===e.isComment}
function ct (line 1) | function ct(e,t){return(e.__esModule||ae&&"Module"===e[Symbol.toStringTa...
function lt (line 1) | function lt(e){return e.isComment&&e.asyncFactory}
function ft (line 1) | function ft(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t...
function pt (line 1) | function pt(e,t){tt.$on(e,t)}
function dt (line 1) | function dt(e,t){tt.$off(e,t)}
function ht (line 1) | function ht(e,t){var n=tt;return function r(){null!==t.apply(null,argume...
function vt (line 1) | function vt(e,t,n){tt=e,it(t,n||{},pt,dt,ht),tt=void 0}
function gt (line 1) | function gt(e,t){var n={};if(!e)return n;for(var r=0,i=e.length;r<i;r++)...
function mt (line 1) | function mt(e){return e.isComment&&!e.asyncFactory||" "===e.text}
function yt (line 1) | function yt(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?...
function bt (line 1) | function bt(e){var t=_t;return _t=e,function(){_t=t}}
function wt (line 1) | function wt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}
function Tt (line 1) | function Tt(e,t){if(t){if(e._directInactive=!1,wt(e))return}else if(e._d...
function Et (line 1) | function Et(e,t){fe();var n=e.$options[t];if(n)for(var r=0,i=n.length;r<...
function It (line 1) | function It(){var e,t;for(Ot=!0,xt.sort(function(e,t){return e.id-t.id})...
function jt (line 1) | function jt(e,t,n){Lt.get=function(){return this[t][n]},Lt.set=function(...
function Pt (line 1) | function Pt(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){va...
function $t (line 1) | function $t(e,t,n){var r=!ne();"function"==typeof n?(Lt.get=r?Ht(t):Mt(n...
function Ht (line 1) | function Ht(e){return function(){var t=this._computedWatchers&&this._com...
function Mt (line 1) | function Mt(e){return function(){return e.call(this,this)}}
function Ft (line 1) | function Ft(e,t,n,r){return l(n)&&(r=n,n=n.handler),"string"==typeof n&&...
function Wt (line 1) | function Wt(e,t){if(e){for(var n=Object.create(null),r=ae?Reflect.ownKey...
function qt (line 1) | function qt(e,t){var n,r,i,a,s;if(Array.isArray(e)||"string"==typeof e)f...
function Bt (line 1) | function Bt(e,t,n,r){var i,o=this.$scopedSlots[e];o?(n=n||{},r&&(n=D(D({...
function Ut (line 1) | function Ut(e){return Pe(this.$options,"filters",e)||L}
function Vt (line 1) | function Vt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}
function zt (line 1) | function zt(e,t,n,r,i){var o=F.keyCodes[t]||n;return i&&r&&!F.keyCodes[t...
function Kt (line 1) | function Kt(e,t,n,r,i){if(n)if(u(n)){var o;Array.isArray(n)&&(n=I(n));va...
function Gt (line 1) | function Gt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];...
function Xt (line 1) | function Xt(e,t,n){return Qt(e,"__once__"+t+(n?"_"+n:""),!0),e}
function Qt (line 1) | function Qt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&...
function Yt (line 1) | function Yt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}
function Jt (line 1) | function Jt(e,t){if(t)if(l(t)){var n=e.on=e.on?D({},e.on):{};for(var r i...
function Zt (line 1) | function Zt(e){e._o=Xt,e._n=h,e._s=d,e._l=qt,e._t=Bt,e._q=j,e._i=P,e._m=...
function en (line 1) | function en(e,t,n,i,o){var s,u=o.options;b(i,"_uid")?(s=Object.create(i)...
function tn (line 1) | function tn(e,t,n,r,i){var o=me(e);return o.fnContext=n,o.fnOptions=r,t....
function nn (line 1) | function nn(e,t){for(var n in t)e[E(n)]=t[n]}
function an (line 1) | function an(e,t,n,s,c){if(!i(e)){var l=n.$options._base;if(u(e)&&(e=l.ex...
function sn (line 1) | function sn(e,t){var n=function(n,r){e(n,r),t(n,r)};return n._merged=!0,n}
function ln (line 1) | function ln(e,t,n,r,c,l){return(Array.isArray(n)||s(n))&&(c=r,r=n,n=void...
function pn (line 1) | function pn(e){var t=e.options;if(e.super){var n=pn(e.super);if(n!==e.su...
function dn (line 1) | function dn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n...
function hn (line 1) | function hn(e){this._init(e)}
function vn (line 1) | function vn(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r...
function gn (line 1) | function gn(e){return e&&(e.Ctor.options.name||e.tag)}
function mn (line 1) | function mn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeo...
function yn (line 1) | function yn(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a...
function _n (line 1) | function _n(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstanc...
function r (line 1) | function r(){n.$off(e,r),t.apply(n,arguments)}
function kn (line 1) | function kn(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.com...
function Nn (line 1) | function Nn(e,t){return{staticClass:Ln(e.staticClass,t.staticClass),clas...
function Ln (line 1) | function Ln(e,t){return e?t?e+" "+t:e:t||""}
function jn (line 1) | function jn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=...
function Mn (line 1) | function Mn(e){return $n(e)?"svg":"math"===e?"math":void 0}
function qn (line 1) | function qn(e){if("string"==typeof e){var t=document.querySelector(e);re...
function Vn (line 1) | function Vn(e,t){var n=e.data.ref;if(o(n)){var r=e.context,i=e.component...
function Gn (line 1) | function Gn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.i...
function Xn (line 1) | function Xn(e,t,n){var r,i,a={};for(r=t;r<=n;++r)o(i=e[r].key)&&(a[i]=r)...
function Yn (line 1) | function Yn(e,t){(e.data.directives||t.data.directives)&&function(e,t){v...
function Zn (line 1) | function Zn(e,t){var n,r,i=Object.create(null);if(!e)return i;for(n=0;n<...
function er (line 1) | function er(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{})...
function tr (line 1) | function tr(e,t,n,r,i){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,r,i)}c...
function rr (line 1) | function rr(e,t){var n=t.componentOptions;if(!(o(n)&&!1===n.Ctor.options...
function ir (line 1) | function ir(e,t,n){e.tagName.indexOf("-")>-1?or(e,t,n):An(t)?In(n)?e.rem...
function or (line 1) | function or(e,t,n){if(In(n))e.removeAttribute(t);else{if(X&&!Q&&("TEXTAR...
function sr (line 1) | function sr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(...
function gr (line 1) | function gr(e){var t,n,r,i,o,a=!1,s=!1,u=!1,c=!1,l=0,f=0,p=0,d=0;for(r=0...
function mr (line 1) | function mr(e,t){var n=t.indexOf("(");if(n<0)return'_f("'+t+'")('+e+")";...
function yr (line 1) | function yr(e){console.error("[Vue compiler]: "+e)}
function _r (line 1) | function _r(e,t){return e?e.map(function(e){return e[t]}).filter(functio...
function br (line 1) | function br(e,t,n){(e.props||(e.props=[])).push({name:t,value:n}),e.plai...
function wr (line 1) | function wr(e,t,n){(e.attrs||(e.attrs=[])).push({name:t,value:n}),e.plai...
function Tr (line 1) | function Tr(e,t,n){e.attrsMap[t]=n,e.attrsList.push({name:t,value:n})}
function Er (line 1) | function Er(e,t,n,r,i,o){(e.directives||(e.directives=[])).push({name:t,...
function xr (line 1) | function xr(e,t,n,i,o,a){var s;i=i||r,"click"===t&&(i.right?(t="contextm...
function Cr (line 1) | function Cr(e,t,n){var r=Ar(e,":"+t)||Ar(e,"v-bind:"+t);if(null!=r)retur...
function Ar (line 1) | function Ar(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsLis...
function Sr (line 1) | function Sr(e,t,n){var r=n||{},i=r.number,o="$$v";r.trim&&(o="(typeof $$...
function Or (line 1) | function Or(e,t){var n=function(e){if(e=e.trim(),ur=e.length,e.indexOf("...
function Dr (line 1) | function Dr(){return cr.charCodeAt(++fr)}
function Ir (line 1) | function Ir(){return fr>=ur}
function kr (line 1) | function kr(e){return 34===e||39===e}
function Nr (line 1) | function Nr(e){var t=1;for(pr=fr;!Ir();)if(kr(e=Dr()))Lr(e);else if(91==...
function Lr (line 1) | function Lr(e){for(var t=e;!Ir()&&(e=Dr())!==t;);}
function $r (line 1) | function $r(e,t,n){var r=jr;return function i(){null!==t.apply(null,argu...
function Hr (line 1) | function Hr(e,t,n,r){var i;t=(i=t)._withTask||(i._withTask=function(){Ge...
function Mr (line 1) | function Mr(e,t,n,r){(r||jr).removeEventListener(e,t._withTask||t,n)}
function Fr (line 1) | function Fr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=...
function qr (line 1) | function qr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=...
function Br (line 1) | function Br(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t...
function zr (line 1) | function zr(e){var t=Kr(e.style);return e.staticStyle?D(e.staticStyle,t):t}
function Kr (line 1) | function Kr(e){return Array.isArray(e)?I(e):"string"==typeof e?Vr(e):e}
function ei (line 1) | function ei(e,t){var n=t.data,r=e.data;if(!(i(n.staticStyle)&&i(n.style)...
function ri (line 1) | function ri(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.s...
function ii (line 1) | function ii(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.s...
function oi (line 1) | function oi(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&D...
function vi (line 1) | function vi(e){hi(function(){hi(e)})}
function gi (line 1) | function gi(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n...
function mi (line 1) | function mi(e,t){e._transitionClasses&&y(e._transitionClasses,t),ii(e,t)}
function yi (line 1) | function yi(e,t,n){var r=bi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!...
function bi (line 1) | function bi(e,t){var n,r=window.getComputedStyle(e),i=(r[li+"Delay"]||""...
function wi (line 1) | function wi(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.a...
function Ti (line 1) | function Ti(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}
function Ei (line 1) | function Ei(e,t){var n=e.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._...
function xi (line 1) | function xi(e,t){var n=e.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._...
function Ci (line 1) | function Ci(e){return"number"==typeof e&&!isNaN(e)}
function Ai (line 1) | function Ai(e){if(i(e))return!1;var t=e.fns;return o(t)?Ai(Array.isArray...
function Si (line 1) | function Si(e,t){!0!==t.data.show&&Ei(t)}
function l (line 1) | function l(e){var t=c.parentNode(e);o(t)&&c.removeChild(t,e)}
function f (line 1) | function f(e,t,n,i,s,u,l){if(o(e.elm)&&o(u)&&(e=u[l]=me(e)),e.isRootInse...
function p (line 1) | function p(e,t){o(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingI...
function d (line 1) | function d(e,t,n){o(e)&&(o(n)?c.parentNode(n)===e&&c.insertBefore(e,t,n)...
function h (line 1) | function h(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)f(t[r],...
function g (line 1) | function g(e){for(;e.componentInstance;)e=e.componentInstance._vnode;ret...
function m (line 1) | function m(e,n){for(var i=0;i<r.create.length;++i)r.create[i](zn,e);o(t=...
function y (line 1) | function y(e){var t;if(o(t=e.fnScopeId))c.setStyleScope(e.elm,t);else fo...
function _ (line 1) | function _(e,t,n,r,i,o){for(;r<=i;++r)f(n[r],o,e,t,!1,n,r)}
function b (line 1) | function b(e){var t,n,i=e.data;if(o(i))for(o(t=i.hook)&&o(t=t.destroy)&&...
function w (line 1) | function w(e,t,n,r){for(;n<=r;++n){var i=t[n];o(i)&&(o(i.tag)?(T(i),b(i)...
function T (line 1) | function T(e,t){if(o(t)||o(e.data)){var n,i=r.remove.length+1;for(o(t)?t...
function E (line 1) | function E(e,t,n,r){for(var i=n;i<r;i++){var a=t[i];if(o(a)&&Gn(e,a))ret...
function x (line 1) | function x(e,t,n,s,u,l){if(e!==t){o(t.elm)&&o(s)&&(t=s[u]=me(t));var p=t...
function C (line 1) | function C(e,t,n){if(a(n)&&o(e.parent))e.parent.data.pendingInsert=t;els...
function S (line 1) | function S(e,t,n,r){var i,s=t.tag,u=t.data,c=t.children;if(r=r||u&&u.pre...
function Ii (line 1) | function Ii(e,t,n){ki(e,t,n),(X||Y)&&setTimeout(function(){ki(e,t,n)},0)}
function ki (line 1) | function ki(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){f...
function Ni (line 1) | function Ni(e,t){return t.every(function(t){return!j(t,e)})}
function Li (line 1) | function Li(e){return"_value"in e?e._value:e.value}
function ji (line 1) | function ji(e){e.target.composing=!0}
function Pi (line 1) | function Pi(e){e.target.composing&&(e.target.composing=!1,Ri(e.target,"i...
function Ri (line 1) | function Ri(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,...
function $i (line 1) | function $i(e){return!e.componentInstance||e.data&&e.data.transition?e:$...
function Fi (line 1) | function Fi(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abst...
function Wi (line 1) | function Wi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];...
function qi (line 1) | function qi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{...
function Ki (line 1) | function Ki(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._ent...
function Gi (line 1) | function Gi(e){e.data.newPos=e.elm.getBoundingClientRect()}
function Xi (line 1) | function Xi(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-...
function xo (line 1) | function xo(e,t){var n=t?wo:bo;return e.replace(n,function(e){return _o[...
function qo (line 1) | function qo(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:Go(t),parent...
function Bo (line 1) | function Bo(e,t){Co=t.warn||yr,Io=t.isPreTag||N,ko=t.mustUseProp||N,No=t...
function Uo (line 1) | function Uo(e,t){var n,r;!function(e){var t=Cr(e,"key");if(t){e.key=t}}(...
function Vo (line 1) | function Vo(e){var t;if(t=Ar(e,"v-for")){var n=function(e){var t=e.match...
function zo (line 1) | function zo(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push...
function Ko (line 1) | function Ko(e){var t=e.match(Fo);if(t){var n={};return t.forEach(functio...
function Go (line 1) | function Go(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].val...
function Yo (line 1) | function Yo(e){return qo(e.tag,e.attrsList.slice(),e.parent)}
function ra (line 1) | function ra(e,t){e&&(Zo=na(t.staticKeys||""),ea=t.isReservedTag||N,funct...
function la (line 1) | function la(e,t){var n=t?"nativeOn:{":"on:{";for(var r in e)n+='"'+r+'":...
function fa (line 1) | function fa(e,t){if(!t)return"function(){}";if(Array.isArray(t))return"[...
function pa (line 1) | function pa(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var...
function va (line 1) | function va(e,t){var n=new ha(t);return{render:"with(this){return "+(e?g...
function ga (line 1) | function ga(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&...
function ma (line 1) | function ma(e,t){e.staticProcessed=!0;var n=t.pre;return e.pre&&(t.pre=e...
function ya (line 1) | function ya(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return _a(e,...
function _a (line 1) | function _a(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.l...
function ba (line 1) | function ba(e,t){var n="{",r=function(e,t){var n=e.directives;if(!n)retu...
function wa (line 1) | function wa(e,t,n){return t.for&&!t.forProcessed?function(e,t,n){var r=t...
function Ta (line 1) | function Ta(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o...
function Ea (line 1) | function Ea(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}
function xa (line 1) | function xa(e,t){return 1===e.type?ga(e,t):3===e.type&&e.isComment?(r=e,...
function Ca (line 1) | function Ca(e){for(var t="",n=0;n<e.length;n++){var r=e[n];t+='"'+r.name...
function Aa (line 1) | function Aa(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"...
function Sa (line 1) | function Sa(e,t){try{return new Function(e)}catch(n){return t.push({err:...
function Oa (line 1) | function Oa(e){var t=Object.create(null);return function(n,r,i){(r=D({},...
function t (line 1) | function t(t,n){var r=Object.create(e),i=[],o=[];if(r.warn=function(e,t)...
function La (line 1) | function La(e){return(Ia=Ia||document.createElement("div")).innerHTML=e?...
function o (line 1) | function o(e,t){this._id=e,this._clearFn=t}
function d (line 1) | function d(e){delete c[e]}
function h (line 1) | function h(e){if(l)setTimeout(h,0,e);else{var t=c[e];if(t){l=!0;try{!fun...
FILE: public/static/home/assets/clipboard/clipboard.js
function __webpack_require__ (line 22) | function __webpack_require__(moduleId) {
function defineProperties (line 112) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _interopRequireDefault (line 126) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _classCallCheck (line 128) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function _possibleConstructorReturn (line 130) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
function _inherits (line 132) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
function Clipboard (line 145) | function Clipboard(trigger, options) {
function getAttributeValue (line 296) | function getAttributeValue(suffix, element) {
function defineProperties (line 317) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _interopRequireDefault (line 323) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _classCallCheck (line 325) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function ClipboardAction (line 335) | function ClipboardAction(options) {
function select (line 580) | function select(element) {
function E (line 629) | function E () {
function listener (line 648) | function listener () {
function listen (line 713) | function listen(target, type, callback) {
function listenNode (line 749) | function listenNode(node, type, callback) {
function listenNodeList (line 768) | function listenNodeList(nodeList, type, callback) {
function listenSelector (line 791) | function listenSelector(selector, type, callback) {
function _delegate (line 869) | function _delegate(element, selector, type, callback, useCapture) {
function delegate (line 891) | function delegate(elements, selector, type, callback, useCapture) {
function listener (line 924) | function listener(element, selector, type, callback) {
function closest (line 963) | function closest (element, selector) {
FILE: public/static/home/assets/cplayer/cplayer.js
function t (line 1) | function t(i){if(n[i])return n[i].exports;var o=n[i]={i:i,l:!1,exports:{...
function i (line 1) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function o (line 1) | function o(e,t,n,i){var o=void 0,r=!1;return t.forEach(function(t,n){a.d...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function e (line 1) | function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0...
function n (line 1) | function n(){this._events=this._events||{},this._maxListeners=this._maxL...
function i (line 1) | function i(e){return"function"==typeof e}
function o (line 1) | function o(e){return"number"==typeof e}
function r (line 1) | function r(e){return"object"==typeof e&&null!==e}
function a (line 1) | function a(e){return void 0===e}
function n (line 1) | function n(){this.removeListener(e,n),o||(o=!0,t.apply(this,arguments))}
function i (line 1) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function o (line 1) | function o(e,t){if(!e)throw new ReferenceError("this hasn't been initial...
function r (line 1) | function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("S...
function a (line 1) | function a(e){return e.map(function(e,t){var n=Object.assign({},e);retur...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function n (line 1) | function n(t){i(this,n);var r=o(this,(n.__proto__||Object.getPrototypeOf...
function i (line 1) | function i(e,t){this._id=e,this._clearFn=t}
function i (line 1) | function i(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new...
function o (line 1) | function o(e){delete s[e]}
function r (line 1) | function r(e){var t=e.callback,i=e.args;switch(i.length){case 0:t();brea...
function a (line 1) | function a(e){if(p)setTimeout(a,0,e);else{var t=s[e];if(t){p=!0;try{r(t)...
function n (line 1) | function n(){throw new Error("setTimeout has not been defined")}
function i (line 1) | function i(){throw new Error("clearTimeout has not been defined")}
function o (line 1) | function o(e){if(p===setTimeout)return setTimeout(e,0);if((p===n||!p)&&s...
function r (line 1) | function r(e){if(u===clearTimeout)return clearTimeout(e);if((u===i||!u)&...
function a (line 1) | function a(){m&&h&&(m=!1,h.length?y=h.concat(y):f=-1,y.length&&l())}
function l (line 1) | function l(){if(!m){var e=o(a);m=!0;for(var t=y.length;t;){for(h=y,y=[];...
function c (line 1) | function c(e,t){this.fun=e,this.array=t}
function s (line 1) | function s(){}
function i (line 1) | function i(e,t){return e==t?0!=e||0!=t||1/e==1/t:e!=e&&t!=t}
function o (line 1) | function o(e,t){if(i(e,t))return!0;if("object"!==(void 0===e?"undefined"...
function i (line 1) | function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.len...
function o (line 1) | function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function r (line 1) | function r(e,t){if("string"!=typeof e)return e;var n=[];return e.replace...
function a (line 1) | function a(e){var t=[],n=e.match(/\[\d+\:[\.\d]+\]/gi),i=/(?:\[\d+\:[\.\...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function e (line 1) | function e(t,n){o(this,e),this.items=[],this.items=t,this.raw=n}
function i (line 1) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function e (line 1) | function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0...
function i (line 1) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function e (line 1) | function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0...
function i (line 1) | function i(e){"mediaSession"in navigator&&(navigator.mediaSession.metada...
function o (line 1) | function o(e){return new MediaMetadata({title:e.name,artist:e.artist,alb...
function i (line 1) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function o (line 1) | function o(e,t){if(!e)throw new ReferenceError("this hasn't been initial...
function r (line 1) | function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("S...
function a (line 1) | function a(e){for(var t="",n=!1,i=0;i<e.length;i++){var o=e.charAt(i),r=...
function l (line 1) | function l(e,t){return(arguments.length>2&&void 0!==arguments[2]&&argume...
function c (line 1) | function c(e){return parseInt((e/60).toString()).toString().padStart(2,"...
function s (line 1) | function s(e){var t=document.createElement("style");return t.id="cplayer...
function p (line 1) | function p(e,t,n){var i=e.createShadowRoot();return i.innerHTML=t,i.appe...
function u (line 1) | function u(e,t,n){var i=document.createElement("div");return i.innerHTML...
function d (line 1) | function d(e,t,n){var i=document.createElement("div"),o=i.createShadowRo...
function h (line 1) | function h(e,t,n){return e.innerHTML=t,document.getElementById("cplayer-...
function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function t (line 1) | function t(e,n){i(this,t);var r=o(this,(t.__proto__||Object.getPrototype...
function i (line 1) | function i(e){return{}}
function n (line 1) | function n(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"==t...
function i (line 1) | function i(e){return"/*# sourceMappingURL=data:application/json;charset=...
FILE: public/static/home/assets/fancybox/fancybox-master/dist/jquery.fancybox.js
function _run (line 3308) | function _run(e, opts) {
function escapeHtml (line 5320) | function escapeHtml(string) {
function parseUrl (line 5415) | function parseUrl() {
function triggerFromUrl (line 5430) | function triggerFromUrl(url) {
function getGalleryID (line 5442) | function getGalleryID(instance) {
FILE: public/static/home/assets/fancybox/fancybox-master/src/js/core.js
function _run (line 3298) | function _run(e, opts) {
FILE: public/static/home/assets/fancybox/fancybox-master/src/js/hash.js
function parseUrl (line 34) | function parseUrl() {
function triggerFromUrl (line 49) | function triggerFromUrl(url) {
function getGalleryID (line 61) | function getGalleryID(instance) {
FILE: public/static/home/assets/fancybox/fancybox-master/src/js/share.js
function escapeHtml (line 43) | function escapeHtml(string) {
FILE: public/static/home/assets/js/paper-kit.js
function debounce (line 16) | function debounce(o,a,n){var l;return function(){var e=this,t=arguments;...
function debounce (line 16) | function debounce(o,a,n){var l;return function(){var e=this,t=arguments;...
function hasScrolled (line 16) | function hasScrolled(){var e=$(this).scrollTop();Math.abs(lastScrollTop-...
function o (line 16) | function o(){e.each(function(){$this=$(this);var e=$('#cd-vertical-nav a...
function a (line 16) | function a(e){$("body,html").animate({scrollTop:e.offset().top},600)}
function e (line 16) | function e(){$(".add-animation:not(.animated)").each(function(){var e=$(...
FILE: public/static/home/assets/js/plugins/bootstrap-switch.js
function _interopRequireDefault (line 27) | function _interopRequireDefault(obj) {
function _classCallCheck (line 47) | function _classCallCheck(instance, Constructor) {
function defineProperties (line 54) | function defineProperties(target, props) {
function BootstrapSwitch (line 74) | function BootstrapSwitch(element) {
function reducer (line 750) | function reducer(ret, next) {
FILE: public/static/home/assets/layer/layer.js
function e (line 2) | function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}
function o (line 2) | function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onlo...
FILE: public/static/home/assets/pjax/jquery.pjax.js
function fnPjax (line 30) | function fnPjax(selector, container, options) {
function handleClick (line 56) | function handleClick(event, container, options) {
function handleSubmit (line 113) | function handleSubmit(event, container, options) {
function pjax (line 166) | function pjax(options) {
function pjaxReload (line 380) | function pjaxReload(container, options) {
function locationReplace (line 397) | function locationReplace(url) {
function onPjaxPopstate (line 423) | function onPjaxPopstate(event) {
function fallbackPjax (line 507) | function fallbackPjax(options) {
function abortXHR (line 547) | function abortXHR(xhr) {
function uniqueId (line 560) | function uniqueId() {
function cloneContents (line 564) | function cloneContents(container) {
function stripInternalParams (line 577) | function stripInternalParams(url) {
function parseURL (line 587) | function parseURL(url) {
function stripHash (line 599) | function stripHash(location) {
function optionsFor (line 620) | function optionsFor(container, options) {
function findAll (line 641) | function findAll(elems, selector) {
function parseHTML (line 645) | function parseHTML(html) {
function extractContainer (line 660) | function extractContainer(data, xhr, options) {
function executeScriptTags (line 734) | function executeScriptTags(scripts) {
function cachePush (line 767) | function cachePush(id, value) {
function cachePop (line 787) | function cachePop(direction, id, value) {
function trimCacheStack (line 814) | function trimCacheStack(stack, length) {
function findVersion (line 822) | function findVersion() {
function enable (line 838) | function enable() {
function disable (line 870) | function disable() {
FILE: public/static/home/assets/rotating-card/js/jquery-1.10.2.js
function isArraylike (line 983) | function isArraylike( obj ) {
function Sizzle (line 1183) | function Sizzle( selector, context, results, seed ) {
function createCache (line 1298) | function createCache() {
function markFunction (line 1316) | function markFunction( fn ) {
function assert (line 1325) | function assert( fn ) {
function addHandle (line 1347) | function addHandle( attrs, handler ) {
function siblingCheck (line 1362) | function siblingCheck( a, b ) {
function createInputPseudo (line 1389) | function createInputPseudo( type ) {
function createButtonPseudo (line 1400) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 1411) | function createPositionalPseudo( fn ) {
function setFilters (line 2394) | function setFilters() {}
function tokenize (line 2398) | function tokenize( selector, parseOnly ) {
function toSelector (line 2465) | function toSelector( tokens ) {
function addCombinator (line 2475) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2525) | function elementMatcher( matchers ) {
function condense (line 2539) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2560) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2653) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2708) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function multipleContexts (line 2836) | function multipleContexts( selector, contexts, results ) {
function select (line 2845) | function select( selector, context, results, seed ) {
function createOptions (line 2985) | function createOptions( options ) {
function internalData (line 3568) | function internalData( elem, name, data, pvt /* Internal Use Only */ ){
function internalRemoveData (line 3657) | function internalRemoveData( elem, name, pvt ) {
function dataAttr (line 3854) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 3886) | function isEmptyDataObject( obj ) {
function returnTrue (line 4712) | function returnTrue() {
function returnFalse (line 4716) | function returnFalse() {
function safeActiveElement (line 4720) | function safeActiveElement() {
function sibling (line 5838) | function sibling( cur, dir ) {
function winnow (line 5956) | function winnow( elements, qualifier, not ) {
function createSafeFragment (line 5984) | function createSafeFragment( document ) {
function manipulationTarget (line 6298) | function manipulationTarget( elem, content ) {
function disableScript (line 6308) | function disableScript( elem ) {
function restoreScript (line 6312) | function restoreScript( elem ) {
function setGlobalEval (line 6323) | function setGlobalEval( elems, refElements ) {
function cloneCopyEvent (line 6331) | function cloneCopyEvent( src, dest ) {
function fixCloneNodeIssues (line 6359) | function fixCloneNodeIssues( src, dest ) {
function getAll (line 6452) | function getAll( context, tag ) {
function fixDefaultChecked (line 6475) | function fixDefaultChecked( elem ) {
function vendorPropName (line 6817) | function vendorPropName( style, name ) {
function isHidden (line 6839) | function isHidden( elem, el ) {
function showHide (line 6846) | function showHide( elements, show ) {
function setPositiveNumber (line 7175) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 7183) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 7222) | function getWidthOrHeight( elem, name, extra ) {
function css_defaultDisplay (line 7266) | function css_defaultDisplay( nodeName ) {
function actualDisplay (line 7298) | function actualDisplay( name, doc ) {
function buildParams (line 7527) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 7642) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 7674) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 7701) | function ajaxExtend( target, src ) {
function done (line 8149) | function done( status, nativeStatusText, responses, headers ) {
function ajaxHandleResponses (line 8296) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8351) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function createStandardXHR (line 8619) | function createStandardXHR() {
function createActiveXHR (line 8625) | function createActiveXHR() {
function createFxNow (line 8871) | function createFxNow() {
function createTween (line 8878) | function createTween( value, prop, animation ) {
function Animation (line 8892) | function Animation( elem, properties, options ) {
function propFilter (line 8996) | function propFilter( props, specialEasing ) {
function defaultPrefilter (line 9063) | function defaultPrefilter( elem, props, opts ) {
function Tween (line 9188) | function Tween( elem, options, prop, end, easing ) {
function genFx (line 9412) | function genFx( type, includeWidth ) {
function getWindow (line 9708) | function getWindow( elem ) {
FILE: public/static/home/editormd/docs/scripts/prettify/prettify.js
function L (line 2) | function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var...
function M (line 6) | function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.classN...
function B (line 7) | function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}
function x (line 7) | function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(...
function u (line 9) | function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''...
function D (line 12) | function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.clas...
function k (line 15) | function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(...
function C (line 15) | function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-m...
function E (line 15) | function E(a){var m=
function m (line 25) | function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Inf...
FILE: public/static/home/editormd/examples/js/sea.js
function c (line 2) | function c(a){return function(b){return{}.toString.call(b)=="[object "+a...
function d (line 2) | function d(){return z++}
function e (line 2) | function e(a){return a.match(C)[0]}
function f (line 2) | function f(a){for(a=a.replace(D,"/"),a=a.replace(F,"$1/");a.match(E);)a=...
function g (line 2) | function g(a){var b=a.length-1,c=a.charAt(b);return"#"===c?a.substring(0...
function h (line 2) | function h(a){var b=u.alias;return b&&w(b[a])?b[a]:a}
function i (line 2) | function i(a){var b=u.paths,c;return b&&(c=a.match(G))&&w(b[c[1]])&&(a=b...
function j (line 2) | function j(a){var b=u.vars;return b&&a.indexOf("{")>-1&&(a=a.replace(H,f...
function k (line 2) | function k(a){var b=u.map,c=a;if(b)for(var d=0,e=b.length;e>d;d++){var f...
function l (line 2) | function l(a,b){var c,d=a.charAt(0);if(I.test(a))c=a;else if("."===d)c=f...
function m (line 2) | function m(a,b){if(!a)return"";a=h(a),a=i(a),a=j(a),a=g(a);var c=l(a,b);...
function n (line 2) | function n(a){return a.hasAttribute?a.src:a.getAttribute("src",4)}
function o (line 2) | function o(a,b,c){var d=K.createElement("script");if(c){var e=y(c)?c(a):...
function p (line 2) | function p(a,b,c){function d(){a.onload=a.onerror=a.onreadystatechange=n...
function q (line 2) | function q(){if(R)return R;if(S&&"interactive"===S.readyState)return S;f...
function r (line 2) | function r(a){var b=[];return a.replace(U,"").replace(T,function(a,c,d){...
function s (line 2) | function s(a,b){this.uri=a,this.dependencies=b||[],this.exports=null,thi...
function c (line 2) | function c(){t.request(g.requestUri,g.onRequest,g.charset)}
function d (line 2) | function d(){delete X[h],Y[h]=!0,W&&(s.save(f,W),W=null);var a,b=Z[h];fo...
function a (line 2) | function a(b){return s.get(a.resolve(b)).exec()}
FILE: public/static/home/editormd/examples/php/editormd.uploader.class.php
class EditorMdUploader (line 15) | class EditorMdUploader
method __construct (line 54) | public function __construct($savePath, $saveURL, $formats, $randomName...
method config (line 73) | public function config($configs)
method upload (line 89) | public function upload($name)
method moveFile (line 128) | private function moveFile()
method randomFileName (line 218) | private function randomFileName()
method setSeveName (line 253) | private function setSeveName()
method getSeveName (line 270) | public function getSeveName()
method getFileExt (line 282) | public function getFileExt($fileName)
method redirect (line 295) | public function redirect()
method message (line 307) | public function message($message, $success = 0)
FILE: public/static/home/editormd/lib/codemirror/addon/comment/comment.js
function firstNonWS (line 18) | function firstNonWS(str) {
FILE: public/static/home/editormd/lib/codemirror/addon/comment/continuecomment.js
function continueComment (line 17) | function continueComment(cm) {
function continueLineCommentEnabled (line 64) | function continueLineCommentEnabled(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/dialog/dialog.js
function dialogDiv (line 14) | function dialogDiv(cm, template, bottom) {
function closeNotification (line 31) | function closeNotification(cm, newVal) {
function close (line 44) | function close(newVal) {
function close (line 100) | function close() {
function close (line 138) | function close() {
FILE: public/static/home/editormd/lib/codemirror/addon/display/fullscreen.js
function setFullscreen (line 21) | function setFullscreen(cm) {
function setNormal (line 32) | function setNormal(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/display/panel.js
function Panel (line 26) | function Panel(cm, node, options, height) {
function initPanels (line 50) | function initPanels(cm) {
function removePanels (line 84) | function removePanels(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/display/placeholder.js
function clearPlaceholder (line 29) | function clearPlaceholder(cm) {
function setPlaceholder (line 35) | function setPlaceholder(cm) {
function onBlur (line 44) | function onBlur(cm) {
function onChange (line 47) | function onChange(cm) {
function isEmpty (line 55) | function isEmpty(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/display/rulers.js
function clearRulers (line 25) | function clearRulers(cm) {
function setRulers (line 33) | function setRulers(cm) {
function refreshRulers (line 60) | function refreshRulers(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/edit/closebrackets.js
function charsAround (line 35) | function charsAround(cm, pos) {
function enteringString (line 44) | function enteringString(cm, pos, ch) {
function buildKeymap (line 57) | function buildKeymap(pairs, triples) {
function buildExplodeHandler (line 140) | function buildExplodeHandler(pairs) {
FILE: public/static/home/editormd/lib/codemirror/addon/edit/closetag.js
function autoCloseGT (line 53) | function autoCloseGT(cm) {
function autoCloseCurrent (line 97) | function autoCloseCurrent(cm, typingSlash) {
function autoCloseSlash (line 132) | function autoCloseSlash(cm) {
function indexOf (line 139) | function indexOf(collection, elt) {
function closingTagExists (line 148) | function closingTagExists(cm, tagName, pos, state, newTag) {
FILE: public/static/home/editormd/lib/codemirror/addon/edit/matchbrackets.js
function findMatchingBracket (line 19) | function findMatchingBracket(cm, where, strict, config) {
function scanForBracket (line 40) | function scanForBracket(cm, where, dir, style, config) {
function matchBrackets (line 67) | function matchBrackets(cm, autoclear, config) {
function doMatchBrackets (line 97) | function doMatchBrackets(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/edit/matchtags.js
function clear (line 28) | function clear(cm) {
function doMatchTags (line 34) | function doMatchTags(cm) {
function maybeUpdateMatch (line 55) | function maybeUpdateMatch(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/fold/brace-fold.js
function findOpening (line 18) | function findOpening(openCh) {
function hasImport (line 63) | function hasImport(line) {
function hasInclude (line 87) | function hasInclude(line) {
FILE: public/static/home/editormd/lib/codemirror/addon/fold/foldcode.js
function doFold (line 14) | function doFold(cm, pos, options, force) {
function makeWidget (line 61) | function makeWidget(cm, options) {
function getOption (line 137) | function getOption(cm, options, name) {
FILE: public/static/home/editormd/lib/codemirror/addon/fold/foldgutter.js
function State (line 39) | function State(options) {
function parseOptions (line 44) | function parseOptions(opts) {
function isFolded (line 52) | function isFolded(cm, line) {
function marker (line 58) | function marker(spec) {
function updateFoldInfo (line 68) | function updateFoldInfo(cm, from, to) {
function updateInViewport (line 87) | function updateInViewport(cm) {
function onGutterClick (line 96) | function onGutterClick(cm, line, gutter) {
function onChange (line 104) | function onChange(cm) {
function onViewportChange (line 113) | function onViewportChange(cm) {
function onFold (line 137) | function onFold(cm, from) {
FILE: public/static/home/editormd/lib/codemirror/addon/fold/markdown-fold.js
function isHeader (line 17) | function isHeader(lineNo) {
function headerLevel (line 22) | function headerLevel(lineNo, line, nextLine) {
FILE: public/static/home/editormd/lib/codemirror/addon/fold/xml-fold.js
function cmp (line 15) | function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }
function Iter (line 21) | function Iter(cm, line, ch, range) {
function tagAt (line 28) | function tagAt(iter, ch) {
function nextLine (line 33) | function nextLine(iter) {
function prevLine (line 39) | function prevLine(iter) {
function toTagEnd (line 46) | function toTagEnd(iter) {
function toTagStart (line 57) | function toTagStart(iter) {
function toNextTag (line 69) | function toNextTag(iter) {
function toPrevTag (line 79) | function toPrevTag(iter) {
function findMatchingClose (line 91) | function findMatchingClose(iter, tag) {
function findMatchingOpen (line 112) | function findMatchingOpen(iter, tag) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/css-hint.js
function add (line 31) | function add(keywords) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/html-hint.js
function populate (line 332) | function populate(obj) {
function htmlHint (line 342) | function htmlHint(cm, options) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/javascript-hint.js
function forEach (line 14) | function forEach(arr, f) {
function arrayContains (line 18) | function arrayContains(arr, item) {
function scriptHint (line 31) | function scriptHint(editor, keywords, getToken, options) {
function javascriptHint (line 60) | function javascriptHint(editor, options) {
function getCoffeeScriptToken (line 67) | function getCoffeeScriptToken(editor, cur) {
function coffeescriptHint (line 85) | function coffeescriptHint(editor, options) {
function getCompletions (line 100) | function getCompletions(token, context, keywords, options) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/show-hint.js
function retrieveHints (line 28) | function retrieveHints(getter, cm, options, then) {
function Completion (line 52) | function Completion(cm, options) {
function done (line 103) | function done() {
function update (line 111) | function update() {
function finishUpdate (line 116) | function finishUpdate(data_) {
function clearDebounce (line 124) | function clearDebounce() {
function activity (line 131) | function activity() {
function getText (line 159) | function getText(completion) {
function buildKeyMap (line 164) | function buildKeyMap(completion, handle) {
function getHintElement (line 199) | function getHintElement(hintsElement, el) {
function Widget (line 206) | function Widget(completion, data) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/sql-hint.js
function getKeywords (line 23) | function getKeywords(editor) {
function getText (line 29) | function getText(item) {
function getItem (line 33) | function getItem(list, item) {
function shallowClone (line 39) | function shallowClone(object) {
function match (line 46) | function match(string, word) {
function addMatches (line 52) | function addMatches(result, search, wordlist, formatter) {
function cleanName (line 64) | function cleanName(name) {
function insertBackticks (line 72) | function insertBackticks(name) {
function nameCompletion (line 83) | function nameCompletion(cur, token, result, editor) {
function eachWord (line 141) | function eachWord(lineText, f) {
function convertCurToNumber (line 150) | function convertCurToNumber(cur) {
function convertNumberToCur (line 155) | function convertNumberToCur(num) {
function findTableByAlias (line 159) | function findTableByAlias(alias, editor) {
FILE: public/static/home/editormd/lib/codemirror/addon/hint/xml-hint.js
function getHints (line 16) | function getHints(cm, options) {
FILE: public/static/home/editormd/lib/codemirror/addon/lint/javascript-lint.js
function validator (line 24) | function validator(text, options) {
function cleanup (line 34) | function cleanup(error) {
function fixWith (line 42) | function fixWith(error, fixes, severity, force) {
function isBogus (line 62) | function isBogus(error) {
function parseErrors (line 72) | function parseErrors(errors, output) {
FILE: public/static/home/editormd/lib/codemirror/addon/lint/lint.js
function showTooltip (line 15) | function showTooltip(e, content) {
function rm (line 31) | function rm(elt) {
function hideTooltip (line 34) | function hideTooltip(tt) {
function showTooltipFor (line 41) | function showTooltipFor(e, content, node) {
function LintState (line 58) | function LintState(cm, options, hasGutter) {
function parseOptions (line 66) | function parseOptions(cm, options) {
function clearMarks (line 74) | function clearMarks(cm) {
function makeMarker (line 82) | function makeMarker(labels, severity, multiple, tooltips) {
function getMaxSeverity (line 97) | function getMaxSeverity(a, b) {
function groupByLine (line 102) | function groupByLine(annotations) {
function annotationTooltip (line 111) | function annotationTooltip(ann) {
function startLinting (line 120) | function startLinting(cm) {
function updateLinting (line 129) | function updateLinting(cm, annotationsNotSorted) {
function onChange (line 164) | function onChange(cm) {
function popupSpanTooltip (line 170) | function popupSpanTooltip(ann, e) {
function onMouseOver (line 175) | function onMouseOver(cm, e) {
FILE: public/static/home/editormd/lib/codemirror/addon/merge/merge.js
function DiffView (line 18) | function DiffView(mv, type) {
function ensureDiff (line 60) | function ensureDiff(dv) {
function registerUpdate (line 70) | function registerUpdate(dv) {
function registerScroll (line 126) | function registerScroll(dv) {
function syncScroll (line 135) | function syncScroll(dv, type) {
function getOffsets (line 177) | function getOffsets(editor, around) {
function setScrollLock (line 184) | function setScrollLock(dv, val, action) {
function clearMarks (line 192) | function clearMarks(editor, arr, classes) {
function updateMarks (line 207) | function updateMarks(editor, diff, state, type, classes) {
function markChanges (line 227) | function markChanges(editor, diff, type, marks, from, to, classes) {
function makeConnections (line 274) | function makeConnections(dv) {
function getMatchingOrigLine (line 294) | function getMatchingOrigLine(editLine, chunks) {
function findAlignedLines (line 306) | function findAlignedLines(dv, other) {
function alignChunks (line 331) | function alignChunks(dv, force) {
function alignLines (line 363) | function alignLines(cm, lines, aligners) {
function padAbove (line 377) | function padAbove(cm, line, size) {
function drawConnectorsForChunk (line 389) | function drawConnectorsForChunk(dv, chunk, sTopOrig, sTopEdit, w) {
function copyChunk (line 426) | function copyChunk(dv, to, from, chunk) {
function buildGap (line 495) | function buildGap(dv) {
function asString (line 541) | function asString(obj) {
function getDiff (line 549) | function getDiff(a, b) {
function getChunks (line 565) | function getChunks(diff) {
function endOfLineClean (line 592) | function endOfLineClean(diff, i) {
function startOfLineClean (line 601) | function startOfLineClean(diff, i) {
function chunkBoundariesAround (line 610) | function chunkBoundariesAround(chunks, n, nInEdit) {
function collapseSingle (line 626) | function collapseSingle(cm, from, to) {
function collapseStretch (line 645) | function collapseStretch(size, editors) {
function unclearNearChunks (line 659) | function unclearNearChunks(dv, margin, off, clear) {
function collapseIdenticalStretches (line 669) | function collapseIdenticalStretches(mv, margin) {
function elt (line 693) | function elt(tag, content, className, style) {
function clear (line 702) | function clear(node) {
function attrs (line 707) | function attrs(elt) {
function copyObj (line 712) | function copyObj(obj, target) {
function moveOver (line 718) | function moveOver(pos, str, copy, other) {
function posMin (line 732) | function posMin(a, b) { return (a.line - b.line || a.ch - b.ch) < 0 ? a ...
function posMax (line 733) | function posMax(a, b) { return (a.line - b.line || a.ch - b.ch) > 0 ? a ...
function posEq (line 734) | function posEq(a, b) { return a.line == b.line && a.ch == b.ch; }
FILE: public/static/home/editormd/lib/codemirror/addon/mode/loadmode.js
function splitCallback (line 15) | function splitCallback(cont, n) {
function ensureDeps (line 19) | function ensureDeps(mode, cont) {
FILE: public/static/home/editormd/lib/codemirror/addon/mode/multiplex.js
function indexOf (line 19) | function indexOf(string, pattern, from) {
FILE: public/static/home/editormd/lib/codemirror/addon/mode/multiplex_test.js
function MT (line 22) | function MT(name) {
FILE: public/static/home/editormd/lib/codemirror/addon/mode/simple.js
function ensureState (line 61) | function ensureState(states, name) {
function toRegex (line 66) | function toRegex(val, caret) {
function asToken (line 78) | function asToken(val) {
function Rule (line 87) | function Rule(data, states) {
function tokenFunction (line 94) | function tokenFunction(states, config) {
function cmp (line 155) | function cmp(a, b) {
function enterLocalMode (line 167) | function enterLocalMode(config, state, spec, token) {
function indexOf (line 183) | function indexOf(val, arr) {
function indentFunction (line 187) | function indentFunction(states, meta) {
FILE: public/static/home/editormd/lib/codemirror/addon/runmode/colorize.js
function textContent (line 16) | function textContent(node, out) {
FILE: public/static/home/editormd/lib/codemirror/addon/runmode/runmode-standalone.js
function splitLines (line 9) | function splitLines(string){ return string.split(/\r?\n|\r/); }
function StringStream (line 11) | function StringStream(string) {
FILE: public/static/home/editormd/lib/codemirror/addon/runmode/runmode.node.js
function splitLines (line 8) | function splitLines(string){ return string.split(/\r?\n|\r/); }
function StringStream (line 10) | function StringStream(string) {
FILE: public/static/home/editormd/lib/codemirror/addon/scroll/annotatescrollbar.js
function Annotation (line 21) | function Annotation(cm, options) {
FILE: public/static/home/editormd/lib/codemirror/addon/scroll/scrollpastend.js
function onChange (line 28) | function onChange(cm, change) {
function updateBottomMargin (line 33) | function updateBottomMargin(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/scroll/simplescrollbars.js
function Bar (line 14) | function Bar(cls, orientation, scroll) {
function SimpleScrollbars (line 84) | function SimpleScrollbars(cls, place, scroll) {
FILE: public/static/home/editormd/lib/codemirror/addon/search/match-highlighter.js
function State (line 36) | function State(options) {
function cursorActivity (line 66) | function cursorActivity(cm) {
function highlightMatches (line 72) | function highlightMatches(cm) {
function isWord (line 97) | function isWord(cm, from, to) {
function boundariesAround (line 114) | function boundariesAround(stream, re) {
function makeOverlay (line 119) | function makeOverlay(query, hasBoundary, style) {
FILE: public/static/home/editormd/lib/codemirror/addon/search/matchesonscrollbar.js
function SearchAnnotation (line 20) | function SearchAnnotation(cm, query, caseFold, options) {
function offsetLine (line 58) | function offsetLine(line, changeStart, sizeChange) {
FILE: public/static/home/editormd/lib/codemirror/addon/search/search.js
function searchOverlay (line 21) | function searchOverlay(query, caseInsensitive) {
function SearchState (line 41) | function SearchState() {
function getSearchState (line 45) | function getSearchState(cm) {
function queryCaseInsensitive (line 48) | function queryCaseInsensitive(query) {
function getSearchCursor (line 51) | function getSearchCursor(cm, query, pos) {
function dialog (line 55) | function dialog(cm, text, shortText, deflt, f) {
function confirmDialog (line 59) | function confirmDialog(cm, text, shortText, fs) {
function parseQuery (line 63) | function parseQuery(query) {
function doSearch (line 75) | function doSearch(cm, rev) {
function findNext (line 94) | function findNext(cm, rev) {cm.operation(function() {
function clearSearch (line 105) | function clearSearch(cm) {cm.operation(function() {
function replace (line 117) | function replace(cm, all) {
FILE: public/static/home/editormd/lib/codemirror/addon/search/searchcursor.js
function SearchCursor (line 15) | function SearchCursor(doc, query, pos, caseFold) {
function savePosAndFail (line 124) | function savePosAndFail(line) {
function adjustPos (line 162) | function adjustPos(orig, folded, pos) {
FILE: public/static/home/editormd/lib/codemirror/addon/selection/active-line.js
function clearActiveLines (line 35) | function clearActiveLines(cm) {
function sameArray (line 42) | function sameArray(a, b) {
function updateActiveLines (line 49) | function updateActiveLines(cm, ranges) {
function selectionChange (line 68) | function selectionChange(cm, sel) {
FILE: public/static/home/editormd/lib/codemirror/addon/selection/mark-selection.js
function onCursorActivity (line 36) | function onCursorActivity(cm) {
function onChange (line 40) | function onChange(cm) {
function coverRange (line 49) | function coverRange(cm, from, to, addAt) {
function clear (line 65) | function clear(cm) {
function reset (line 71) | function reset(cm) {
function update (line 78) | function update(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/selection/selection-pointer.js
function mousemove (line 43) | function mousemove(cm, event) {
function mouseout (line 54) | function mouseout(cm, event) {
function reset (line 62) | function reset(cm) {
function scheduleUpdate (line 67) | function scheduleUpdate(cm) {
function update (line 77) | function update(cm) {
FILE: public/static/home/editormd/lib/codemirror/addon/tern/tern.js
function getFile (line 147) | function getFile(ts, name, c) {
function findDoc (line 157) | function findDoc(ts, doc, name) {
function resolveDoc (line 169) | function resolveDoc(ts, id) {
function trackChange (line 175) | function trackChange(ts, doc, change) {
function sendDoc (line 195) | function sendDoc(ts, doc) {
function hint (line 204) | function hint(ts, cm, c) {
function typeToIcon (line 239) | function typeToIcon(type) {
function showContextInfo (line 251) | function showContextInfo(ts, cm, pos, queryName, c) {
function updateArgHints (line 274) | function updateArgHints(ts, cm) {
function showArgHints (line 316) | function showArgHints(ts, cm, pos) {
function parseFnType (line 337) | function parseFnType(text) {
function jumpToDef (line 370) | function jumpToDef(ts, cm) {
function jumpBack (line 398) | function jumpBack(ts, cm) {
function moveTo (line 404) | function moveTo(ts, curDoc, doc, start, end) {
function findContext (line 413) | function findContext(doc, data) {
function atInterestingExpression (line 443) | function atInterestingExpression(cm) {
function rename (line 451) | function rename(ts, cm) {
function selectName (line 462) | function selectName(ts, cm) {
function applyChanges (line 480) | function applyChanges(ts, changes) {
function buildRequest (line 500) | function buildRequest(ts, doc, query, pos) {
function getFragmentAround (line 542) | function getFragmentAround(data, start, end) {
function elt (line 573) | function elt(tagname, cls /*, ... elts*/) {
function dialog (line 584) | function dialog(cm, text, f) {
function tempTooltip (line 593) | function tempTooltip(cm, content) {
function makeTooltip (line 623) | function makeTooltip(x, y, content) {
function remove (line 631) | function remove(node) {
function fadeOut (line 636) | function fadeOut(tooltip) {
function showError (line 641) | function showError(ts, cm, msg) {
function closeArgHints (line 648) | function closeArgHints(ts) {
function docValue (line 652) | function docValue(ts, doc) {
function WorkerServer (line 660) | function WorkerServer(ts) {
FILE: public/static/home/editormd/lib/codemirror/addon/tern/worker.js
function getFile (line 26) | function getFile(file, c) {
function startServer (line 31) | function startServer(defs, plugins, scripts) {
FILE: public/static/home/editormd/lib/codemirror/addon/wrap/hardwrap.js
function findParagraph (line 16) | function findParagraph(cm, pos, options) {
function findBreakPoint (line 32) | function findBreakPoint(text, column, wrapOn, killTrailingSpace) {
function wrapRange (line 42) | function wrapRange(cm, from, to, options) {
FILE: public/static/home/editormd/lib/codemirror/lib/codemirror.js
function CodeMirror (line 59) | function CodeMirror(place, options) {
function Display (line 130) | function Display(place, doc, input) {
function loadMode (line 232) | function loadMode(cm) {
function resetModeState (line 237) | function resetModeState(cm) {
function wrappingChanged (line 248) | function wrappingChanged(cm) {
function estimateHeight (line 266) | function estimateHeight(cm) {
function estimateLineHeights (line 284) | function estimateLineHeights(cm) {
function themeChanged (line 292) | function themeChanged(cm) {
function guttersChanged (line 298) | function guttersChanged(cm) {
function updateGutters (line 306) | function updateGutters(cm) {
function updateGutterSpace (line 321) | function updateGutterSpace(cm) {
function lineLength (line 329) | function lineLength(line) {
function findMaxLine (line 348) | function findMaxLine(cm) {
function setGuttersForLineNumbers (line 364) | function setGuttersForLineNumbers(options) {
function measureForScrollbars (line 378) | function measureForScrollbars(cm) {
function NativeScrollbars (line 394) | function NativeScrollbars(place, scroll, cm) {
function NullScrollbars (line 473) | function NullScrollbars() {}
function initScrollbars (line 484) | function initScrollbars(cm) {
function updateScrollbars (line 506) | function updateScrollbars(cm, measure) {
function updateScrollbarsInner (line 520) | function updateScrollbarsInner(cm, measure) {
function visibleLines (line 542) | function visibleLines(display, doc, viewport) {
function alignHorizontally (line 567) | function alignHorizontally(cm) {
function maybeUpdateLineNumberWidth (line 586) | function maybeUpdateLineNumberWidth(cm) {
function lineNumberFor (line 604) | function lineNumberFor(options, i) {
function compensateForHScroll (line 611) | function compensateForHScroll(display) {
function DisplayUpdate (line 617) | function DisplayUpdate(cm, viewport, force) {
function maybeClipScrollbars (line 641) | function maybeClipScrollbars(cm) {
function updateDisplayIfNeeded (line 655) | function updateDisplayIfNeeded(cm, update) {
function postUpdateDisplay (line 727) | function postUpdateDisplay(cm, update) {
function updateDisplaySimple (line 758) | function updateDisplaySimple(cm, viewport) {
function setDocumentHeight (line 771) | function setDocumentHeight(cm, measure) {
function updateHeightsInViewport (line 780) | function updateHeightsInViewport(cm) {
function updateWidgetHeight (line 807) | function updateWidgetHeight(line) {
function getDimensions (line 814) | function getDimensions(cm) {
function patchDisplay (line 832) | function patchDisplay(cm, updateNumbersFrom, dims) {
function updateLineForChanges (line 877) | function updateLineForChanges(cm, lineView, lineN, dims) {
function ensureLineWrapped (line 890) | function ensureLineWrapped(lineView) {
function updateLineBackground (line 901) | function updateLineBackground(lineView) {
function getLineContent (line 915) | function getLineContent(cm, lineView) {
function updateLineText (line 928) | function updateLineText(cm, lineView) {
function updateLineClasses (line 943) | function updateLineClasses(lineView) {
function updateLineGutter (line 953) | function updateLineGutter(cm, lineView, lineN, dims) {
function updateLineWidgets (line 983) | function updateLineWidgets(cm, lineView, dims) {
function buildLineElement (line 994) | function buildLineElement(cm, lineView, lineN, dims) {
function insertLineWidgets (line 1008) | function insertLineWidgets(cm, lineView, dims) {
function insertLineWidgetsFor (line 1014) | function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {
function positionLineWidget (line 1030) | function positionLineWidget(widget, node, lineView, dims) {
function copyPos (line 1060) | function copyPos(x) {return Pos(x.line, x.ch);}
function maxPos (line 1061) | function maxPos(a, b) { return cmp(a, b) < 0 ? b : a; }
function minPos (line 1062) | function minPos(a, b) { return cmp(a, b) < 0 ? a : b; }
function ensureFocus (line 1066) | function ensureFocus(cm) {
function isReadOnly (line 1070) | function isReadOnly(cm) {
function applyTextInput (line 1079) | function applyTextInput(cm, inserted, deleted, sel) {
function copyableRanges (line 1132) | function copyableRanges(cm) {
function disableBrowserMagic (line 1143) | function disableBrowserMagic(field) {
function TextareaInput (line 1151) | function TextareaInput(cm) {
function hiddenTextarea (line 1169) | function hiddenTextarea() {
function prepareCopyCut (line 1222) | function prepareCopyCut(e) {
function p (line 1344) | function p() {
function prepareSelectAllHack (line 1440) | function prepareSelectAllHack() {
function rehide (line 1451) | function rehide() {
function ContentEditableInput (line 1490) | function ContentEditableInput(cm) {
function onCopyCut (line 1551) | function onCopyCut(e) {
function poll (line 1665) | function poll() {
function posToDOM (line 1775) | function posToDOM(cm, pos) {
function badPos (line 1791) | function badPos(pos, bad) { if (bad) pos.bad = true; return pos; }
function domToPos (line 1793) | function domToPos(cm, node, offset) {
function locateNodeInLineView (line 1812) | function locateNodeInLineView(lineView, node, offset) {
function domTextBetween (line 1867) | function domTextBetween(cm, from, to, fromLine, toLine) {
function Selection (line 1917) | function Selection(ranges, primIndex) {
function Range (line 1954) | function Range(anchor, head) {
function normalizeSelection (line 1969) | function normalizeSelection(ranges, primIndex) {
function simpleSelection (line 1985) | function simpleSelection(anchor, head) {
function clipLine (line 1991) | function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.fi...
function clipPos (line 1992) | function clipPos(doc, pos) {
function clipToLen (line 1998) | function clipToLen(pos, linelen) {
function isLine (line 2004) | function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.si...
function clipPosArray (line 2005) | function clipPosArray(doc, array) {
function extendRange (line 2020) | function extendRange(doc, range, head, other) {
function extendSelection (line 2039) | function extendSelection(doc, head, other, options) {
function extendSelections (line 2045) | function extendSelections(doc, heads, options) {
function replaceOneSelection (line 2053) | function replaceOneSelection(doc, i, range, options) {
function setSimpleSelection (line 2060) | function setSimpleSelection(doc, anchor, head, options) {
function filterSelectionChange (line 2066) | function filterSelectionChange(doc, sel) {
function setSelectionReplaceHistory (line 2082) | function setSelectionReplaceHistory(doc, sel, options) {
function setSelection (line 2093) | function setSelection(doc, sel, options) {
function setSelectionNoUndo (line 2098) | function setSelectionNoUndo(doc, sel, options) {
function setSelectionInner (line 2110) | function setSelectionInner(doc, sel) {
function reCheckSelection (line 2124) | function reCheckSelection(doc) {
function skipAtomicInSelection (line 2130) | function skipAtomicInSelection(doc, sel, bias, mayClear) {
function skipAtomic (line 2145) | function skipAtomic(doc, pos, bias, mayClear) {
function updateSelection (line 2197) | function updateSelection(cm) {
function prepareSelection (line 2201) | function prepareSelection(cm, primary) {
function drawSelectionCursor (line 2219) | function drawSelectionCursor(cm, range, output) {
function drawSelectionRange (line 2238) | function drawSelectionRange(cm, range, output) {
function restartBlink (line 2313) | function restartBlink(cm) {
function startWorker (line 2329) | function startWorker(cm, time) {
function highlightWorker (line 2334) | function highlightWorker(cm) {
function findStartLine (line 2376) | function findStartLine(cm, n, precise) {
function getStateBefore (line 2392) | function getStateBefore(cm, n, precise) {
function paddingTop (line 2410) | function paddingTop(display) {return display.lineSpace.offsetTop;}
function paddingVert (line 2411) | function paddingVert(display) {return display.mover.offsetHeight - displ...
function paddingH (line 2412) | function paddingH(display) {
function scrollGap (line 2421) | function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth; }
function displayWidth (line 2422) | function displayWidth(cm) {
function displayHeight (line 2425) | function displayHeight(cm) {
function ensureLineHeights (line 2433) | function ensureLineHeights(cm, lineView, rect) {
function mapFromLineView (line 2454) | function mapFromLineView(lineView, line, lineN) {
function updateExternalMeasurement (line 2467) | function updateExternalMeasurement(cm, line) {
function measureChar (line 2480) | function measureChar(cm, line, ch, bias) {
function findViewForLine (line 2485) | function findViewForLine(cm, lineN) {
function prepareMeasureForLine (line 2498) | function prepareMeasureForLine(cm, line) {
function measureCharPrepared (line 2518) | function measureCharPrepared(cm, prepared, ch, bias, varHeight) {
function nodeAndOffsetInLineMap (line 2540) | function nodeAndOffsetInLineMap(map, ch, bias) {
function measureCharInner (line 2577) | function measureCharInner(cm, prepared, ch, bias) {
function maybeUpdateRectForZooming (line 2636) | function maybeUpdateRectForZooming(measure, rect) {
function clearLineMeasurementCacheFor (line 2646) | function clearLineMeasurementCacheFor(lineView) {
function clearLineMeasurementCache (line 2655) | function clearLineMeasurementCache(cm) {
function clearCaches (line 2662) | function clearCaches(cm) {
function pageScrollX (line 2669) | function pageScrollX() { return window.pageXOffset || (document.document...
function pageScrollY (line 2670) | function pageScrollY() { return window.pageYOffset || (document.document...
function intoCoordSystem (line 2676) | function intoCoordSystem(cm, lineObj, rect, context) {
function fromCoordSystem (line 2698) | function fromCoordSystem(cm, coords, context) {
function charCoords (line 2715) | function charCoords(cm, pos, context, lineObj, bias) {
function cursorCoords (line 2723) | function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHei...
function estimateCoords (line 2755) | function estimateCoords(cm, pos) {
function PosWithInfo (line 2769) | function PosWithInfo(line, ch, outside, xRel) {
function coordsChar (line 2778) | function coordsChar(cm, x, y) {
function coordsCharInner (line 2799) | function coordsCharInner(cm, lineObj, lineNo, x, y) {
function textHeight (line 2841) | function textHeight(display) {
function charWidth (line 2861) | function charWidth(display) {
function startOperation (line 2883) | function startOperation(cm) {
function fireCallbacksForOps (line 2910) | function fireCallbacksForOps(group) {
function endOperation (line 2927) | function endOperation(cm) {
function endOperations (line 2942) | function endOperations(group) {
function endOperation_R1 (line 2956) | function endOperation_R1(op) {
function endOperation_W1 (line 2969) | function endOperation_W1(op) {
function endOperation_R2 (line 2973) | function endOperation_R2(op) {
function endOperation_W2 (line 2994) | function endOperation_W2(op) {
function endOperation_finish (line 3017) | function endOperation_finish(op) {
function runInOp (line 3064) | function runInOp(cm, f) {
function operation (line 3071) | function operation(cm, f) {
function methodOp (line 3081) | function methodOp(f) {
function docMethodOp (line 3089) | function docMethodOp(f) {
function LineView (line 3104) | function LineView(doc, line, lineN) {
function buildViewArray (line 3116) | function buildViewArray(cm, from, to) {
function regChange (line 3132) | function regChange(cm, from, to, lendiff) {
function regLineChange (line 3197) | function regLineChange(cm, line, type) {
function resetView (line 3211) | function resetView(cm) {
function findViewIndex (line 3219) | function findViewIndex(cm, n) {
function viewCuttingPoint (line 3230) | function viewCuttingPoint(cm, oldN, newN, dir) {
function adjustView (line 3256) | function adjustView(cm, from, to) {
function countDirtyView (line 3277) | function countDirtyView(cm) {
function registerEventHandlers (line 3289) | function registerEventHandlers(cm) {
function onResize (line 3398) | function onResize(cm) {
function eventInWidget (line 3411) | function eventInWidget(display, e) {
function posFromMouse (line 3424) | function posFromMouse(cm, e, liberal, forRect) {
function onMouseDown (line 3445) | function onMouseDown(e) {
function leftButtonDown (line 3483) | function leftButtonDown(cm, e, start) {
function leftButtonStartDrag (line 3509) | function leftButtonStartDrag(cm, e, start, modifier) {
function leftButtonSelect (line 3536) | function leftButtonSelect(cm, e, start, type, addNew) {
function gutterEvent (line 3678) | function gutterEvent(cm, e, type, prevent, signalfn) {
function clickInGutter (line 3701) | function clickInGutter(cm, e) {
function onDrop (line 3709) | function onDrop(e) {
function onDragStart (line 3759) | function onDragStart(cm, e) {
function setScrollTop (line 3785) | function setScrollTop(cm, val) {
function setScrollLeft (line 3796) | function setScrollLeft(cm, val, isScroller) {
function onScrollWheel (line 3840) | function onScrollWheel(cm, e) {
function doHandleBinding (line 3912) | function doHandleBinding(cm, bound, dropShift) {
function lookupKeyForEditor (line 3932) | function lookupKeyForEditor(cm, name, handle) {
function dispatchKey (line 3942) | function dispatchKey(cm, name, e, handle) {
function handleKeyBinding (line 3974) | function handleKeyBinding(cm, e) {
function handleCharBinding (line 3993) | function handleCharBinding(cm, e, ch) {
function onKeyDown (line 3999) | function onKeyDown(e) {
function showCrossHair (line 4020) | function showCrossHair(cm) {
function onKeyUp (line 4035) | function onKeyUp(e) {
function onKeyPress (line 4040) | function onKeyPress(e) {
function onFocus (line 4053) | function onFocus(cm) {
function onBlur (line 4070) | function onBlur(cm) {
function onContextMenu (line 4085) | function onContextMenu(cm, e) {
function contextMenuInGutter (line 4090) | function contextMenuInGutter(cm, e) {
function adjustForChange (line 4107) | function adjustForChange(pos, change) {
function computeSelAfterChange (line 4116) | function computeSelAfterChange(doc, change) {
function offsetPos (line 4126) | function offsetPos(pos, old, nw) {
function computeReplacedSel (line 4135) | function computeReplacedSel(doc, changes, hint) {
function filterChange (line 4155) | function filterChange(doc, change, update) {
function makeChange (line 4179) | function makeChange(doc, change, ignoreReadOnly) {
function makeChangeInner (line 4201) | function makeChangeInner(doc, change) {
function makeChangeFromHistory (line 4219) | function makeChangeFromHistory(doc, type, allowSelectionOnly) {
function shiftDoc (line 4285) | function shiftDoc(doc, distance) {
function makeChangeSingleDoc (line 4301) | function makeChangeSingleDoc(doc, change, selAfter, spans) {
function makeChangeSingleDocInEditor (line 4334) | function makeChangeSingleDocInEditor(cm, change, spans) {
function replaceRange (line 4393) | function replaceRange(doc, code, from, to, origin) {
function maybeScrollWindow (line 4404) | function maybeScrollWindow(cm, coords) {
function scrollPosIntoView (line 4424) | function scrollPosIntoView(cm, pos, end, margin) {
function scrollIntoView (line 4448) | function scrollIntoView(cm, x1, y1, x2, y2) {
function calculateScrollPos (line 4458) | function calculateScrollPos(cm, x1, y1, x2, y2) {
function addToScrollPos (line 4488) | function addToScrollPos(cm, left, top) {
function ensureCursorVisible (line 4498) | function ensureCursorVisible(cm) {
function resolveScrollToPos (line 4512) | function resolveScrollToPos(cm) {
function indentLine (line 4532) | function indentLine(cm, n, how, aggressive) {
function changeLine (line 4593) | function changeLine(doc, handle, changeType, op) {
function deleteNearSelection (line 4604) | function deleteNearSelection(cm, compute) {
function findPosH (line 4636) | function findPosH(doc, pos, dir, unit, visually) {
function findPosV (line 4687) | function findPosV(cm, pos, dir, unit) {
function interpret (line 5106) | function interpret(val) {
function option (line 5162) | function option(name, deflt, handle, notOnInit) {
function normalizeKeyName (line 5608) | function normalizeKeyName(name) {
function getKeyMap (line 5694) | function getKeyMap(val) {
function save (line 5715) | function save() {textarea.value = cm.getValue();}
function markText (line 5965) | function markText(doc, from, to, options, type) {
function markTextShared (line 6058) | function markTextShared(doc, from, to, options, type) {
function findSharedMarkers (line 6073) | function findSharedMarkers(doc) {
function copySharedMarkers (line 6078) | function copySharedMarkers(doc, markers) {
function detachSharedMarkers (line 6090) | function detachSharedMarkers(markers) {
function MarkedSpan (line 6106) | function MarkedSpan(marker, from, to) {
function getMarkedSpanFor (line 6112) | function getMarkedSpanFor(spans, marker) {
function removeMarkedSpan (line 6120) | function removeMarkedSpan(spans, span) {
function addMarkedSpan (line 6126) | function addMarkedSpan(line, span) {
function markedSpansBefore (line 6135) | function markedSpansBefore(old, startCh, isInsert) {
function markedSpansAfter (line 6146) | function markedSpansAfter(old, endCh, isInsert) {
function stretchSpansOverChange (line 6165) | function stretchSpansOverChange(doc, change) {
function clearEmptySpans (line 6227) | function clearEmptySpans(spans) {
function mergeOldSpans (line 6241) | function mergeOldSpans(doc, change) {
function removeReadOnlyRanges (line 6264) | function removeReadOnlyRanges(doc, from, to) {
function detachMarkedSpans (line 6293) | function detachMarkedSpans(line) {
function attachMarkedSpans (line 6300) | function attachMarkedSpans(line, spans) {
function extraLeft (line 6309) | function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0; }
function extraRight (line 6310) | function extraRight(marker) { return marker.inclusiveRight ? 1 : 0; }
function compareCollapsedMarkers (line 6315) | function compareCollapsedMarkers(a, b) {
function collapsedSpanAtSide (line 6328) | function collapsedSpanAtSide(line, start) {
function collapsedSpanAtStart (line 6338) | function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, t...
function collapsedSpanAtEnd (line 6339) | function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, fal...
function conflictingCollapsedRange (line 6344) | function conflictingCollapsedRange(doc, lineNo, from, to, marker) {
function visualLine (line 6364) | function visualLine(line) {
function visualLineContinued (line 6373) | function visualLineContinued(line) {
function visualLineNo (line 6384) | function visualLineNo(doc, lineN) {
function visualLineEndNo (line 6391) | function visualLineEndNo(doc, lineN) {
function lineIsHidden (line 6403) | function lineIsHidden(doc, line) {
function lineIsHiddenInner (line 6414) | function lineIsHiddenInner(doc, line, span) {
function adjustScrollWhenAboveVisible (line 6442) | function adjustScrollWhenAboveVisible(cm, line, diff) {
function widgetHeight (line 6471) | function widgetHeight(widget) {
function addLineWidget (line 6484) | function addLineWidget(cm, handle, node, options) {
function updateLine (line 6518) | function updateLine(line, text, markedSpans, estimateHeight) {
function cleanUpLine (line 6530) | function cleanUpLine(line) {
function extractLineClasses (line 6535) | function extractLineClasses(type, output) {
function callBlankLine (line 6549) | function callBlankLine(mode, state) {
function readToken (line 6556) | function readToken(mode, stream, state, inner) {
function takeToken (line 6566) | function takeToken(cm, pos, precise, asArray) {
function runMode (line 6588) | function runMode(cm, text, mode, state, f, lineClasses, forceToEnd) {
function highlightLine (line 6629) | function highlightLine(cm, line, state, forceToEnd) {
function getLineStyles (line 6667) | function getLineStyles(cm, line, updateFrontier) {
function processLine (line 6681) | function processLine(cm, text, state, startAt) {
function interpretTokenStyle (line 6696) | function interpretTokenStyle(style, options) {
function buildLineContent (line 6708) | function buildLineContent(cm, lineView) {
function defaultSpecialCharPlaceholder (line 6762) | function defaultSpecialCharPlaceholder(ch) {
function buildToken (line 6771) | function buildToken(builder, text, style, startStyle, endStyle, title, c...
function buildTokenSplitSpaces (line 6824) | function buildTokenSplitSpaces(inner) {
function buildTokenBadBidi (line 6838) | function buildTokenBadBidi(inner, order) {
function buildCollapsedSpan (line 6857) | function buildCollapsedSpan(builder, size, marker, ignoreWidget) {
function insertLineContent (line 6874) | function insertLineContent(line, builder, styles) {
function isWholeLineUpdate (line 6939) | function isWholeLineUpdate(doc, change) {
function updateDoc (line 6945) | function updateDoc(doc, change, markedSpans, estimateHeight) {
function LeafChunk (line 7008) | function LeafChunk(lines) {
function BranchChunk (line 7048) | function BranchChunk(children) {
function linkedDocs (line 7501) | function linkedDocs(doc, f, sharedHistOnly) {
function attachDoc (line 7516) | function attachDoc(cm, doc) {
function getLine (line 7530) | function getLine(doc, n) {
function getBetween (line 7545) | function getBetween(doc, start, end) {
function getLines (line 7557) | function getLines(doc, from, to) {
function updateLineHeight (line 7565) | function updateLineHeight(line, height) {
function lineNo (line 7572) | function lineNo(line) {
function lineAtHeight (line 7586) | function lineAtHeight(chunk, h) {
function heightAtLine (line 7607) | function heightAtLine(lineObj) {
function getOrder (line 7629) | function getOrder(line) {
function History (line 7637) | function History(startGen) {
function historyChangeFromChange (line 7654) | function historyChangeFromChange(doc, change) {
function clearSelectionEvents (line 7663) | function clearSelectionEvents(array) {
function lastChangeEvent (line 7673) | function lastChangeEvent(hist, force) {
function addChangeToHistory (line 7688) | function addChangeToHistory(doc, change, selAfter, opId) {
function selectionEventCanBeMerged (line 7730) | function selectionEventCanBeMerged(doc, origin, prev, sel) {
function addSelectionToHistory (line 7743) | function addSelectionToHistory(doc, sel, opId, options) {
function pushSelectionToHistory (line 7765) | function pushSelectionToHistory(sel, dest) {
function attachLocalSpans (line 7772) | function attachLocalSpans(doc, change, from, to) {
function removeClearedSpans (line 7783) | function removeClearedSpans(spans) {
function getOldSpans (line 7793) | function getOldSpans(doc, change) {
function copyHistoryArray (line 7803) | function copyHistoryArray(events, newGroup, instantiateSel) {
function rebaseHistSelSingle (line 7828) | function rebaseHistSelSingle(pos, from, to, diff) {
function rebaseHistArray (line 7844) | function rebaseHistArray(array, from, to, diff) {
function rebaseHist (line 7872) | function rebaseHist(hist, change) {
function e_defaultPrevented (line 7891) | function e_defaultPrevented(e) {
function e_target (line 7896) | function e_target(e) {return e.target || e.srcElement;}
function e_button (line 7897) | function e_button(e) {
function signalLater (line 7954) | function signalLater(emitter, type /*, values...*/) {
function fireOrphanDelayed (line 7971) | function fireOrphanDelayed() {
function signalDOMEvent (line 7980) | function signalDOMEvent(cm, e, override) {
function signalCursorActivity (line 7987) | function signalCursorActivity(cm) {
function hasHandler (line 7995) | function hasHandler(emitter, type) {
function eventMixin (line 8002) | function eventMixin(ctor) {
function Delayed (line 8019) | function Delayed() {this.id = null;}
function findColumn (line 8044) | function findColumn(string, goal, tabSize) {
function spaceStr (line 8059) | function spaceStr(n) {
function lst (line 8065) | function lst(arr) { return arr[arr.length-1]; }
function indexOf (line 8073) | function indexOf(array, elt) {
function map (line 8078) | function map(array, f) {
function nothing (line 8084) | function nothing() {}
function createObj (line 8086) | function createObj(base, props) {
function copyObj (line 8098) | function copyObj(obj, target, overwrite) {
function bind (line 8106) | function bind(f) {
function isWordChar (line 8116) | function isWordChar(ch, helper) {
function isEmpty (line 8122) | function isEmpty(obj) {
function isExtendingChar (line 8133) | function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendi...
function elt (line 8137) | function elt(tag, content, className, style) {
function removeChildren (line 8163) | function removeChildren(e) {
function removeChildrenAndAdd (line 8169) | function removeChildrenAndAdd(parent, e) {
function activeElt (line 8184) | function activeElt() { return document.activeElement; }
function classTest (line 8192) | function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)...
function joinClasses (line 8205) | function joinClasses(a, b) {
function forEachCodeMirror (line 8218) | function forEachCodeMirror(f) {
function ensureGlobalHandlers (line 8228) | function ensureGlobalHandlers() {
function registerGlobalHandlers (line 8233) | function registerGlobalHandlers() {
function zeroWidthElement (line 8260) | function zeroWidthElement(measure) {
function hasBadBidiRects (line 8275) | function hasBadBidiRects(measure) {
function hasBadZoomedRects (line 8322) | function hasBadZoomedRects(measure) {
function iterateBidiSections (line 8351) | function iterateBidiSections(order, from, to, f) {
function bidiLeft (line 8364) | function bidiLeft(part) { return part.level % 2 ? part.to : part.from; }
function bidiRight (line 8365) | function bidiRight(part) { return part.level % 2 ? part.from : part.to; }
function lineLeft (line 8367) | function lineLeft(line) { var order = getOrder(line); return order ? bid...
function lineRight (line 8368) | function lineRight(line) {
function lineStart (line 8374) | function lineStart(cm, lineN) {
function lineEnd (line 8382) | function lineEnd(cm, lineN) {
function lineStartSmart (line 8392) | function lineStartSmart(cm, pos) {
function compareBidiLevel (line 8404) | function compareBidiLevel(order, a, b) {
function getBidiPartAt (line 8411) | function getBidiPartAt(order, pos) {
function moveInLine (line 8431) | function moveInLine(line, pos, dir, byUnit) {
function moveVisually (line 8443) | function moveVisually(line, start, dir, byUnit) {
function moveLogically (line 8466) | function moveLogically(line, start, dir, byUnit) {
function charType (line 8500) | function charType(code) {
function BidiSpan (line 8515) | function BidiSpan(level, from, to) {
FILE: public/static/home/editormd/lib/codemirror/mode/asterisk/asterisk.js
function basicToken (line 66) | function basicToken(stream,state){
FILE: public/static/home/editormd/lib/codemirror/mode/clike/clike.js
function tokenBase (line 29) | function tokenBase(stream, state) {
function tokenString (line 75) | function tokenString(quote) {
function tokenComment (line 88) | function tokenComment(stream, state) {
function Context (line 100) | function Context(indented, column, type, align, prev) {
function pushContext (line 107) | function pushContext(state, col, type) {
function popContext (line 113) | function popContext(state) {
function words (line 182) | function words(str) {
function cppHook (line 191) | function cppHook(stream, state) {
function cpp11StringHook (line 209) | function cpp11StringHook(stream, state) {
function tokenAtString (line 234) | function tokenAtString(stream, state) {
function tokenRawString (line 247) | function tokenRawString(stream, state) {
function def (line 258) | function def(mimes, mode) {
function tokenTripleString (line 350) | function tokenTripleString(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/clojure/clojure.js
function makeKeywords (line 25) | function makeKeywords(str) {
function stateStack (line 65) | function stateStack(indent, type, prev) { // represents a state stack ob...
function pushStack (line 71) | function pushStack(state, indent, type) {
function popStack (line 75) | function popStack(state) {
function isNumber (line 79) | function isNumber(ch, stream){
function eatCharacter (line 113) | function eatCharacter(stream) {
FILE: public/static/home/editormd/lib/codemirror/mode/cobol/cobol.js
function makeKeywords (line 22) | function makeKeywords(str) {
function isNumber (line 150) | function isNumber(ch, stream){
FILE: public/static/home/editormd/lib/codemirror/mode/coffeescript/coffeescript.js
function wordRegexp (line 21) | function wordRegexp(words) {
function tokenBase (line 50) | function tokenBase(stream, state) {
function tokenFactory (line 177) | function tokenFactory(delimiter, singleline, outclass) {
function longComment (line 204) | function longComment(stream, state) {
function indent (line 216) | function indent(stream, state, type) {
function dedent (line 240) | function dedent(stream, state) {
function tokenLexer (line 264) | function tokenLexer(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/commonlisp/commonlisp.js
function readSym (line 21) | function readSym(stream) {
function base (line 30) | function base(stream, state) {
function inString (line 63) | function inString(stream, state) {
function inComment (line 72) | function inComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/css/css.js
function ret (line 31) | function ret(style, tp) { type = tp; return style; }
function tokenBase (line 35) | function tokenBase(stream, state) {
function tokenString (line 90) | function tokenString(quote) {
function tokenParenthesized (line 105) | function tokenParenthesized(stream, state) {
function Context (line 116) | function Context(type, indent, prev) {
function pushContext (line 122) | function pushContext(state, stream, type) {
function popContext (line 127) | function popContext(state) {
function pass (line 132) | function pass(type, stream, state) {
function popAndPass (line 135) | function popAndPass(type, stream, state, n) {
function wordAsValue (line 143) | function wordAsValue(stream) {
function keySet (line 375) | function keySet(array) {
function tokenCComment (line 642) | function tokenCComment(stream, state) {
function tokenSGMLComment (line 654) | function tokenSGMLComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/css/less_test.js
function MT (line 8) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/css/scss_test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/css/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/d/d.js
function tokenBase (line 27) | function tokenBase(stream, state) {
function tokenString (line 77) | function tokenString(quote) {
function tokenComment (line 90) | function tokenComment(stream, state) {
function tokenNestedComment (line 102) | function tokenNestedComment(stream, state) {
function Context (line 114) | function Context(indented, column, type, align, prev) {
function pushContext (line 121) | function pushContext(state, col, type) {
function popContext (line 127) | function popContext(state) {
function words (line 189) | function words(str) {
FILE: public/static/home/editormd/lib/codemirror/mode/dart/dart.js
function set (line 23) | function set(words) {
FILE: public/static/home/editormd/lib/codemirror/mode/django/django.js
function tokenBase (line 24) | function tokenBase (stream, state) {
function inTag (line 34) | function inTag (close) {
FILE: public/static/home/editormd/lib/codemirror/mode/dtd/dtd.js
function ret (line 23) | function ret(style, tp) {type = tp; return style;}
function tokenBase (line 25) | function tokenBase(stream, state) {
function tokenSGMLComment (line 54) | function tokenSGMLComment(stream, state) {
function tokenString (line 66) | function tokenString(quote) {
function inBlock (line 80) | function inBlock(style, terminator) {
FILE: public/static/home/editormd/lib/codemirror/mode/dylan/dylan.js
function chain (line 152) | function chain(stream, state, f) {
function ret (line 159) | function ret(_type, style, _content) {
function tokenBase (line 165) | function tokenBase(stream, state) {
function tokenComment (line 250) | function tokenComment(stream, state) {
function tokenString (line 263) | function tokenString(quote, type, style) {
FILE: public/static/home/editormd/lib/codemirror/mode/ecl/ecl.js
function words (line 16) | function words(str) {
function metaHook (line 22) | function metaHook(stream, state) {
function tokenBase (line 42) | function tokenBase(stream, state) {
function tokenString (line 108) | function tokenString(quote) {
function tokenComment (line 121) | function tokenComment(stream, state) {
function Context (line 133) | function Context(indented, column, type, align, prev) {
function pushContext (line 140) | function pushContext(state, col, type) {
function popContext (line 143) | function popContext(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/eiffel/eiffel.js
function wordObj (line 15) | function wordObj(words) {
function chain (line 89) | function chain(newtok, stream, state) {
function tokenBase (line 94) | function tokenBase(stream, state) {
function readQuoted (line 121) | function readQuoted(quote, style, unescaped) {
FILE: public/static/home/editormd/lib/codemirror/mode/erlang/erlang.js
function tokenizer (line 103) | function tokenizer(stream,state) {
function nongreedy (line 294) | function nongreedy(stream,re,words) {
function greedy (line 308) | function greedy(stream,re,words) {
function doubleQuote (line 325) | function doubleQuote(stream) {
function singleQuote (line 329) | function singleQuote(stream) {
function quote (line 333) | function quote(stream,quoteChar,escapeChar) {
function lookahead (line 345) | function lookahead(stream) {
function is_member (line 350) | function is_member(element,list) {
function rval (line 354) | function rval(state,stream,type) {
function aToken (line 388) | function aToken(tok,col,ind,typ) {
function realToken (line 395) | function realToken(type,stream) {
function fakeToken (line 402) | function fakeToken(type) {
function peekToken (line 406) | function peekToken(state,depth) {
function pushToken (line 417) | function pushToken(state,token) {
function maybe_drop_pre (line 425) | function maybe_drop_pre(s,token) {
function maybe_drop_post (line 439) | function maybe_drop_post(s) {
function d (line 466) | function d(stack,tt) {
function indenter (line 506) | function indenter(state,textAfter) {
function wordafter (line 549) | function wordafter(str) {
function postcommaToken (line 555) | function postcommaToken(state) {
function defaultToken (line 562) | function defaultToken(state) {
function getToken (line 576) | function getToken(state,tokens) {
function getTokenIndex (line 583) | function getTokenIndex(objs,propname,propvals) {
function truthy (line 593) | function truthy(x) {
FILE: public/static/home/editormd/lib/codemirror/mode/forth/forth.js
function toWordList (line 16) | function toWordList(words) {
function searchWordList (line 67) | function searchWordList (wordList, word) {
FILE: public/static/home/editormd/lib/codemirror/mode/fortran/fortran.js
function words (line 15) | function words(array) {
function tokenBase (line 117) | function tokenBase(stream, state) {
function tokenString (line 155) | function tokenString(quote) {
FILE: public/static/home/editormd/lib/codemirror/mode/gas/gas.js
function x86 (line 144) | function x86(_parserConfig) {
function armv6 (line 191) | function armv6(_parserConfig) {
function nextUntilUnescaped (line 234) | function nextUntilUnescaped(stream, end) {
function clikeComment (line 245) | function clikeComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/gfm/gfm.js
function blankLine (line 16) | function blankLine(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/gfm/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
function FT (line 8) | function FT(name) { test.mode(name, modeHighlightFormatting, Array.proto...
FILE: public/static/home/editormd/lib/codemirror/mode/go/go.js
function tokenBase (line 40) | function tokenBase(stream, state) {
function tokenString (line 84) | function tokenString(quote) {
function tokenComment (line 97) | function tokenComment(stream, state) {
function Context (line 109) | function Context(indented, column, type, align, prev) {
function pushContext (line 116) | function pushContext(state, col, type) {
function popContext (line 119) | function popContext(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/groovy/groovy.js
function words (line 15) | function words(str) {
function tokenBase (line 30) | function tokenBase(stream, state) {
function startString (line 79) | function startString(quote, stream, state) {
function tokenBaseUntilBrace (line 105) | function tokenBaseUntilBrace() {
function tokenComment (line 123) | function tokenComment(stream, state) {
function expectExpression (line 135) | function expectExpression(last) {
function Context (line 140) | function Context(indented, column, type, align, prev) {
function pushContext (line 147) | function pushContext(state, col, type) {
function popContext (line 150) | function popContext(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/haml/haml.js
function rubyInQuote (line 19) | function rubyInQuote(endQuote) {
function ruby (line 33) | function ruby(stream, state) {
function html (line 41) | function html(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/haml/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/haskell/haskell.js
function switchState (line 16) | function switchState(source, setState, f) {
function normal (line 32) | function normal(source, setState) {
function ncomment (line 125) | function ncomment(type, nest) {
function stringLiteral (line 149) | function stringLiteral(source, setState) {
function stringGap (line 172) | function stringGap(source, setState) {
function setType (line 184) | function setType(t) {
FILE: public/static/home/editormd/lib/codemirror/mode/haxe/haxe.js
function kw (line 20) | function kw(type) {return {type: type, style: "keyword"};}
function chain (line 39) | function chain(stream, state, f) {
function nextUntilUnescaped (line 44) | function nextUntilUnescaped(stream, end) {
function ret (line 57) | function ret(tp, style, cont) {
function haxeTokenBase (line 62) | function haxeTokenBase(stream, state) {
function haxeTokenString (line 125) | function haxeTokenString(quote) {
function haxeTokenComment (line 133) | function haxeTokenComment(stream, state) {
function HaxeLexical (line 149) | function HaxeLexical(indented, column, type, align, prev, info) {
function inScope (line 158) | function inScope(state, varname) {
function parseHaxe (line 163) | function parseHaxe(state, style, type, content, stream) {
function imported (line 185) | function imported(state, typename)
function registerimport (line 195) | function registerimport(importname) {
function pass (line 204) | function pass() {
function cont (line 207) | function cont() {
function register (line 211) | function register(varname) {
function pushcontext (line 224) | function pushcontext() {
function popcontext (line 228) | function popcontext() {
function pushlex (line 232) | function pushlex(type, info) {
function poplex (line 240) | function poplex() {
function expect (line 250) | function expect(wanted) {
function statement (line 259) | function statement(type) {
function expression (line 281) | function expression(type) {
function maybeexpression (line 291) | function maybeexpression(type) {
function maybeoperator (line 296) | function maybeoperator(type, value) {
function maybeattribute (line 305) | function maybeattribute(type) {
function metadef (line 311) | function metadef(type) {
function metaargs (line 316) | function metaargs(type) {
function importdef (line 320) | function importdef (type, value) {
function typedef (line 325) | function typedef (type, value)
function maybelabel (line 331) | function maybelabel(type) {
function property (line 335) | function property(type) {
function objprop (line 338) | function objprop(type) {
function commasep (line 342) | function commasep(what, end) {
function block (line 353) | function block(type) {
function vardef1 (line 357) | function vardef1(type, value) {
function vardef2 (line 361) | function vardef2(type, value) {
function forspec1 (line 365) | function forspec1(type, value) {
function forin (line 371) | function forin(_type, value) {
function functiondef (line 374) | function functiondef(type, value) {
function typeuse (line 379) | function typeuse(type) {
function typestring (line 382) | function typestring(type) {
function typeprop (line 387) | function typeprop(type) {
function funarg (line 390) | function funarg(type, value) {
FILE: public/static/home/editormd/lib/codemirror/mode/htmlembedded/htmlembedded.js
function htmlDispatch (line 24) | function htmlDispatch(stream, state) {
function scriptingDispatch (line 34) | function scriptingDispatch(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/htmlmixed/htmlmixed.js
function html (line 31) | function html(stream, state) {
function maybeBackup (line 58) | function maybeBackup(stream, pat, style) {
function script (line 68) | function script(stream, state) {
function css (line 77) | function css(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/http/http.js
function failFirstLine (line 15) | function failFirstLine(stream, state) {
function start (line 21) | function start(stream, state) {
function responseStatusCode (line 33) | function responseStatusCode(stream, state) {
function responseStatusText (line 54) | function responseStatusText(stream, state) {
function requestPath (line 60) | function requestPath(stream, state) {
function requestProtocol (line 66) | function requestProtocol(stream, state) {
function header (line 75) | function header(stream) {
function body (line 89) | function body(stream) {
FILE: public/static/home/editormd/lib/codemirror/mode/idl/idl.js
function wordRegexp (line 14) | function wordRegexp(words) {
function tokenBase (line 244) | function tokenBase(stream) {
FILE: public/static/home/editormd/lib/codemirror/mode/jade/jade.js
function State (line 29) | function State() {
function javaScript (line 105) | function javaScript(stream, state) {
function javaScriptArguments (line 122) | function javaScriptArguments(stream, state) {
function yieldStatement (line 143) | function yieldStatement(stream) {
function doctype (line 149) | function doctype(stream) {
function interpolation (line 155) | function interpolation(stream, state) {
function interpolationContinued (line 163) | function interpolationContinued(stream, state) {
function caseStatement (line 179) | function caseStatement(stream, state) {
function when (line 186) | function when(stream, state) {
function defaultStatement (line 194) | function defaultStatement(stream) {
function extendsStatement (line 200) | function extendsStatement(stream, state) {
function append (line 207) | function append(stream, state) {
function prepend (line 213) | function prepend(stream, state) {
function block (line 219) | function block(stream, state) {
function include (line 226) | function include(stream, state) {
function includeFiltered (line 233) | function includeFiltered(stream, state) {
function includeFilteredContinued (line 240) | function includeFilteredContinued(stream, state) {
function mixin (line 249) | function mixin(stream, state) {
function call (line 256) | function call(stream, state) {
function callArguments (line 270) | function callArguments(stream, state) {
function conditional (line 281) | function conditional(stream, state) {
function each (line 288) | function each(stream, state) {
function eachContinued (line 294) | function eachContinued(stream, state) {
function whileStatement (line 309) | function whileStatement(stream, state) {
function tag (line 316) | function tag(stream, state) {
function filter (line 327) | function filter(stream, state) {
function code (line 344) | function code(stream, state) {
function id (line 351) | function id(stream) {
function className (line 357) | function className(stream) {
function attrs (line 363) | function attrs(stream, state) {
function attrsContinued (line 375) | function attrsContinued(stream, state) {
function attributesBlock (line 419) | function attributesBlock(stream, state) {
function indent (line 427) | function indent(stream) {
function comment (line 433) | function comment(stream, state) {
function colon (line 441) | function colon(stream) {
function text (line 447) | function text(stream, state) {
function dot (line 459) | function dot(stream, state) {
function fail (line 472) | function fail(stream) {
function setInnerMode (line 478) | function setInnerMode(stream, state, mode) {
function innerMode (line 491) | function innerMode(stream, state, force) {
function restOfLine (line 511) | function restOfLine(stream, state) {
function startState (line 525) | function startState() {
function copyState (line 528) | function copyState(state) {
function nextToken (line 537) | function nextToken(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/javascript/javascript.js
function kw (line 27) | function kw(type) {return {type: type, style: "keyword"};}
function readRegexp (line 73) | function readRegexp(stream) {
function ret (line 88) | function ret(tp, style, cont) {
function tokenBase (line 92) | function tokenBase(stream, state) {
function tokenString (line 144) | function tokenString(quote) {
function tokenComment (line 160) | function tokenComment(stream, state) {
function tokenQuasi (line 172) | function tokenQuasi(stream, state) {
function findFatArrow (line 192) | function findFatArrow(stream, state) {
function JSLexical (line 222) | function JSLexical(indented, column, type, align, prev, info) {
function inScope (line 231) | function inScope(state, varname) {
function parseJS (line 240) | function parseJS(state, style, type, content, stream) {
function pass (line 264) | function pass() {
function cont (line 267) | function cont() {
function register (line 271) | function register(varname) {
function pushcontext (line 292) | function pushcontext() {
function popcontext (line 296) | function popcontext() {
function pushlex (line 300) | function pushlex(type, info) {
function poplex (line 311) | function poplex() {
function expect (line 321) | function expect(wanted) {
function statement (line 330) | function statement(type, value) {
function expression (line 356) | function expression(type) {
function expressionNoComma (line 359) | function expressionNoComma(type) {
function expressionInner (line 362) | function expressionInner(type, noComma) {
function maybeexpression (line 380) | function maybeexpression(type) {
function maybeexpressionNoComma (line 384) | function maybeexpressionNoComma(type) {
function maybeoperatorComma (line 389) | function maybeoperatorComma(type, value) {
function maybeoperatorNoComma (line 393) | function maybeoperatorNoComma(type, value, noComma) {
function quasi (line 408) | function quasi(type, value) {
function continueQuasi (line 413) | function continueQuasi(type) {
function arrowBody (line 420) | function arrowBody(type) {
function arrowBodyNoComma (line 424) | function arrowBodyNoComma(type) {
function maybelabel (line 428) | function maybelabel(type) {
function property (line 432) | function property(type) {
function objprop (line 435) | function objprop(type, value) {
function getterSetter (line 449) | function getterSetter(type) {
function afterprop (line 454) | function afterprop(type) {
function commasep (line 458) | function commasep(what, end) {
function contCommasep (line 473) | function contCommasep(what, end, info) {
function block (line 478) | function block(type) {
function maybetype (line 482) | function maybetype(type) {
function typedef (line 485) | function typedef(type) {
function vardef (line 488) | function vardef() {
function pattern (line 491) | function pattern(type, value) {
function proppattern (line 496) | function proppattern(type, value) {
function maybeAssign (line 504) | function maybeAssign(_type, value) {
function vardefCont (line 507) | function vardefCont(type) {
function maybeelse (line 510) | function maybeelse(type, value) {
function forspec (line 513) | function forspec(type) {
function forspec1 (line 516) | function forspec1(type) {
function formaybeinof (line 522) | function formaybeinof(_type, value) {
function forspec2 (line 526) | function forspec2(type, value) {
function forspec3 (line 531) | function forspec3(type) {
function functiondef (line 534) | function functiondef(type, value) {
function funarg (line 539) | function funarg(type) {
function className (line 543) | function className(type, value) {
function classNameAfter (line 546) | function classNameAfter(type, value) {
function classBody (line 550) | function classBody(type, value) {
function classGetterSetter (line 563) | function classGetterSetter(type) {
function afterModule (line 568) | function afterModule(type, value) {
function afterExport (line 572) | function afterExport(_type, value) {
function afterImport (line 577) | function afterImport(type) {
function importSpec (line 581) | function importSpec(type, value) {
function maybeFrom (line 586) | function maybeFrom(_type, value) {
function arrayLiteral (line 589) | function arrayLiteral(type) {
function maybeArrayComprehension (line 593) | function maybeArrayComprehension(type) {
function comprehension (line 598) | function comprehension(type) {
function isContinuedStatement (line 603) | function isContinuedStatement(state, textAfter) {
FILE: public/static/home/editormd/lib/codemirror/mode/javascript/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
function LD (line 167) | function LD(name) {
FILE: public/static/home/editormd/lib/codemirror/mode/jinja2/jinja2.js
function tokenBase (line 36) | function tokenBase (stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/julia/julia.js
function wordRegexp (line 17) | function wordRegexp(words) {
function in_array (line 39) | function in_array(state) {
function cur_scope (line 49) | function cur_scope(state) {
function tokenBase (line 57) | function tokenBase(stream, state) {
function tokenStringFactory (line 214) | function tokenStringFactory(delimiter) {
function tokenLexer (line 249) | function tokenLexer(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/kotlin/kotlin.js
function words (line 15) | function words(str) {
function tokenBase (line 34) | function tokenBase(stream, state) {
function startString (line 96) | function startString(quote, stream, state) {
function tokenBaseUntilBrace (line 137) | function tokenBaseUntilBrace() {
function tokenBaseUntilSpace (line 157) | function tokenBaseUntilSpace() {
function tokenComment (line 174) | function tokenComment(stream, state) {
function expectExpression (line 186) | function expectExpression(last) {
function Context (line 191) | function Context(indented, column, type, align, prev) {
function pushContext (line 199) | function pushContext(state, col, type) {
function popContext (line 203) | function popContext(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/lua/lua.js
function prefixRE (line 21) | function prefixRE(words) {
function wordRE (line 24) | function wordRE(words) {
function readBracket (line 70) | function readBracket(stream) {
function normal (line 77) | function normal(stream, state) {
function bracketed (line 100) | function bracketed(level, style) {
function string (line 113) | function string(quote) {
FILE: public/static/home/editormd/lib/codemirror/mode/markdown/markdown.js
function getMode (line 19) | function getMode(name) {
function switchInline (line 79) | function switchInline(stream, state, f) {
function switchBlock (line 84) | function switchBlock(stream, state, f) {
function blankLine (line 92) | function blankLine(state) {
function blockNormal (line 115) | function blockNormal(stream, state) {
function htmlBlock (line 190) | function htmlBlock(stream, state) {
function local (line 201) | function local(stream, state) {
function leavingLocal (line 214) | function leavingLocal(stream, state) {
function getType (line 226) | function getType(state) {
function handleText (line 308) | function handleText(stream, state) {
function inlineNormal (line 315) | function inlineNormal(stream, state) {
function linkInline (line 532) | function linkInline(stream, state) {
function linkHref (line 552) | function linkHref(stream, state) {
function getLinkHrefInside (line 567) | function getLinkHrefInside(endChar) {
function footnoteLink (line 588) | function footnoteLink(stream, state) {
function footnoteLinkInside (line 599) | function footnoteLinkInside(stream, state) {
function footnoteUrl (line 613) | function footnoteUrl(stream, state) {
function inlineRE (line 631) | function inlineRE(endChar) {
FILE: public/static/home/editormd/lib/codemirror/mode/markdown/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
function FT (line 8) | function FT(name) { test.mode(name, modeHighlightFormatting, Array.proto...
FILE: public/static/home/editormd/lib/codemirror/mode/mirc/mirc.js
function parseWords (line 18) | function parseWords(str) {
function chain (line 86) | function chain(stream, state, f) {
function tokenBase (line 90) | function tokenBase(stream, state) {
function tokenComment (line 153) | function tokenComment(stream, state) {
function tokenUnparsed (line 164) | function tokenUnparsed(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/mllike/mllike.js
function tokenBase (line 50) | function tokenBase(stream, state) {
function tokenString (line 91) | function tokenString(stream, state) {
function tokenComment (line 106) | function tokenComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/modelica/modelica.js
function tokenLineComment (line 30) | function tokenLineComment(stream, state) {
function tokenBlockComment (line 36) | function tokenBlockComment(stream, state) {
function tokenString (line 48) | function tokenString(stream, state) {
function tokenIdent (line 62) | function tokenIdent(stream, state) {
function tokenQIdent (line 81) | function tokenQIdent(stream, state) {
function tokenUnsignedNuber (line 93) | function tokenUnsignedNuber(stream, state) {
function words (line 202) | function words(str) {
function def (line 213) | function def(mimes, mode) {
FILE: public/static/home/editormd/lib/codemirror/mode/nginx/nginx.js
function words (line 16) | function words(str) {
function ret (line 36) | function ret(style, tp) {type = tp; return style;}
function tokenBase (line 38) | function tokenBase(stream, state) {
function tokenCComment (line 97) | function tokenCComment(stream, state) {
function tokenSGMLComment (line 109) | function tokenSGMLComment(stream, state) {
function tokenString (line 121) | function tokenString(quote) {
FILE: public/static/home/editormd/lib/codemirror/mode/ntriples/ntriples.js
function transitState (line 59) | function transitState(currState, c) {
FILE: public/static/home/editormd/lib/codemirror/mode/octave/octave.js
function wordRegexp (line 15) | function wordRegexp(words) {
function tokenTranspose (line 46) | function tokenTranspose(stream, state) {
function tokenComment (line 57) | function tokenComment(stream, state) {
function tokenBase (line 66) | function tokenBase(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/pascal/pascal.js
function words (line 15) | function words(str) {
function tokenBase (line 27) | function tokenBase(stream, state) {
function tokenString (line 65) | function tokenString(quote) {
function tokenComment (line 77) | function tokenComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/pegjs/pegjs.js
function identifier (line 17) | function identifier(stream) {
FILE: public/static/home/editormd/lib/codemirror/mode/perl/perl.js
function tokenChain (line 483) | function tokenChain(stream,state,chain,style,tail){ // NOTE: chain.l...
function tokenSOMETHING (line 503) | function tokenSOMETHING(stream,state,string){
function tokenPerl (line 511) | function tokenPerl(stream,state){
function look (line 804) | function look(stream, c){
function prefix (line 809) | function prefix(stream, c){
function suffix (line 819) | function suffix(stream, c){
function eatSuffix (line 826) | function eatSuffix(stream, c){
FILE: public/static/home/editormd/lib/codemirror/mode/php/php.js
function keywords (line 14) | function keywords(str) {
function matchSequence (line 21) | function matchSequence(list, end) {
function stringWithEscapes (line 33) | function stringWithEscapes(closing) {
function stringWithEscapes_ (line 36) | function stringWithEscapes_(stream, state, closing) {
function dispatch (line 152) | function dispatch(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/php/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
function build_recursive_monsters (line 78) | function build_recursive_monsters(nt, t, n){
function build_recursive_monsters_2 (line 124) | function build_recursive_monsters_2(mf1, mf2, nt, t, n){
FILE: public/static/home/editormd/lib/codemirror/mode/pig/pig.js
function chain (line 28) | function chain(stream, state, f) {
function ret (line 34) | function ret(tp, style) {
function tokenComment (line 39) | function tokenComment(stream, state) {
function tokenString (line 52) | function tokenString(quote) {
function tokenBase (line 67) | function tokenBase(stream, state) {
function keywords (line 150) | function keywords(str) {
FILE: public/static/home/editormd/lib/codemirror/mode/puppet/puppet.js
function define (line 22) | function define(style, string) {
function tokenString (line 47) | function tokenString(stream, state) {
function tokenize (line 68) | function tokenize(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/python/python.js
function wordRegexp (line 14) | function wordRegexp(words) {
function top (line 44) | function top(state) {
function tokenBase (line 87) | function tokenBase(stream, state) {
function tokenBaseInner (line 108) | function tokenBaseInner(stream, state) {
function tokenStringFactory (line 193) | function tokenStringFactory(delimiter) {
function pushScope (line 226) | function pushScope(stream, state, type) {
function dedent (line 238) | function dedent(stream, state) {
function tokenLexer (line 247) | function tokenLexer(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/q/q.js
function buildRE (line 19) | function buildRE(w){return new RegExp("^("+w.join("|")+")$");}
function tokenBase (line 20) | function tokenBase(stream,state){
function tokenLineComment (line 62) | function tokenLineComment(stream,state){
function tokenBlockComment (line 65) | function tokenBlockComment(stream,state){
function tokenCommentToEOF (line 72) | function tokenCommentToEOF(stream){return stream.skipToEnd(),"comment";}
function tokenString (line 73) | function tokenString(stream,state){
function pushContext (line 82) | function pushContext(state,type,col){state.context={prev:state.context,i...
function popContext (line 83) | function popContext(state){state.indent=state.context.indent;state.conte...
FILE: public/static/home/editormd/lib/codemirror/mode/r/r.js
function wordObj (line 15) | function wordObj(str) {
function tokenBase (line 27) | function tokenBase(stream, state) {
function tokenString (line 81) | function tokenString(quote) {
function push (line 102) | function push(state, type, stream) {
function pop (line 109) | function pop(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/rst/rst.js
function format (line 76) | function format(string) {
function to_normal (line 156) | function to_normal(stream, state) {
function to_explicit (line 356) | function to_explicit(stream, state) {
function to_comment (line 463) | function to_comment(stream, state) {
function to_verbatim (line 467) | function to_verbatim(stream, state) {
function as_block (line 471) | function as_block(stream, state, token) {
function to_mode (line 484) | function to_mode(stream, state) {
function context (line 503) | function context(phase, stage, mode, local) {
function change (line 507) | function change(state, tok, ctx) {
function stage (line 512) | function stage(state) {
function phase (line 516) | function phase(state) {
FILE: public/static/home/editormd/lib/codemirror/mode/ruby/ruby.js
function wordObj (line 15) | function wordObj(words) {
function chain (line 34) | function chain(newtok, stream, state) {
function tokenBase (line 39) | function tokenBase(stream, state) {
function tokenBaseUntilBrace (line 152) | function tokenBaseUntilBrace(depth) {
function tokenBaseOnce (line 168) | function tokenBaseOnce() {
function readQuoted (line 179) | function readQuoted(quote, style, embed, unescaped) {
function readHereDoc (line 210) | function readHereDoc(phrase) {
function readBlockComment (line 217) | function readBlockComment(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/ruby/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/rust/rust.js
function r (line 40) | function r(tc, style) {
function tokenBase (line 45) | function tokenBase(stream, state) {
function tokenString (line 104) | function tokenString(stream, state) {
function tokenComment (line 118) | function tokenComment(depth) {
function pass (line 144) | function pass() {
function cont (line 147) | function cont() {
function pushlex (line 152) | function pushlex(type, info) {
function poplex (line 161) | function poplex() {
function typecx (line 169) | function typecx() { cx.state.keywords = typeKeywords; }
function valcx (line 170) | function valcx() { cx.state.keywords = valKeywords; }
function commasep (line 173) | function commasep(comb, end) {
function stat_of (line 185) | function stat_of(comb, tag) {
function block (line 188) | function block(type) {
function endstatement (line 201) | function endstatement(type) {
function expression (line 205) | function expression(type) {
function maybeop (line 218) | function maybeop(type) {
function maybeprop (line 225) | function maybeprop() {
function exprbrace (line 229) | function exprbrace(type) {
function record_of (line 239) | function record_of(comb) {
function blockvars (line 249) | function blockvars(type) {
function letdef1 (line 255) | function letdef1(type) {
function letdef2 (line 261) | function letdef2(type) {
function maybetype (line 265) | function maybetype(type) {
function inop (line 269) | function inop(type) {
function fndef (line 273) | function fndef(type) {
function tydef (line 283) | function tydef(type) {
function enumdef (line 289) | function enumdef(type) {
function enumblock (line 296) | function enumblock(type) {
function mod (line 302) | function mod(type) {
function iface (line 307) | function iface(type) {
function impl (line 313) | function impl(type) {
function typarams (line 320) | function typarams() {
function argdef (line 326) | function argdef(type) {
function rtype (line 331) | function rtype(type) {
function rtypemaybeparam (line 340) | function rtypemaybeparam() {
function fntype (line 344) | function fntype(type) {
function pattern (line 349) | function pattern(type) {
function patternmaybeop (line 356) | function patternmaybeop(type) {
function altbody (line 361) | function altbody(type) {
function altblock1 (line 365) | function altblock1(type) {
function altblock2 (line 372) | function altblock2(type) {
function macro (line 377) | function macro(type) {
function matchBrackets (line 381) | function matchBrackets(type, comb) {
function parse (line 388) | function parse(state, stream, style) {
FILE: public/static/home/editormd/lib/codemirror/mode/sass/sass.js
function tokenRegexp (line 15) | function tokenRegexp(words) {
function urlTokens (line 28) | function urlTokens(stream, state) {
function comment (line 48) | function comment(indentation, multiLine) {
function buildStringTokenizer (line 67) | function buildStringTokenizer(quote, greedy) {
function buildInterpolationTokenizer (line 93) | function buildInterpolationTokenizer(currentTokenizer) {
function indent (line 105) | function indent(state) {
function dedent (line 114) | function dedent(state) {
function tokenBase (line 120) | function tokenBase(stream, state) {
function tokenLexer (line 356) | function tokenLexer(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/scheme/scheme.js
function makeKeywords (line 23) | function makeKeywords(str) {
function stateStack (line 32) | function stateStack(indent, type, prev) { // represents a state stack ob...
function pushStack (line 38) | function pushStack(state, indent, type) {
function popStack (line 42) | function popStack(state) {
function isBinaryNumber (line 51) | function isBinaryNumber (stream) {
function isOctalNumber (line 55) | function isOctalNumber (stream) {
function isDecimalNumber (line 59) | function isDecimalNumber (stream, backup) {
function isHexNumber (line 66) | function isHexNumber (stream) {
FILE: public/static/home/editormd/lib/codemirror/mode/shell/shell.js
function define (line 17) | function define(style, string) {
function tokenBase (line 38) | function tokenBase(stream, state) {
function tokenString (line 84) | function tokenString(quote) {
function tokenize (line 123) | function tokenize(stream, state) {
FILE: public/static/home/editormd/lib/codemirror/mode/shell/test.js
function MT (line 6) | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arg...
FILE: public/static/home/editormd/lib/codemirror/mode/sieve/sieve.js
function words (line 15) | function words(str) {
function tokenBase (line 25) | function tokenBase(stream, state) {
function tokenMultiLineString (line 112) | function tokenMultiLineString(stream, state)
function tokenCComment (line 137) | function tokenCComment(stream, state) {
function tokenString (line 149) | function tokenString(quote) {
FILE: public/static/home/editormd/lib/codemirror/mode/slim/slim.js
function backup (line 72) | function backup(pos, tokenize, style) {
function maybeBackup (line 87) | function maybeBackup(stream, state, pat, offset, style) {
function continueLine (line 97) | function continueLine(state, column) {
function finishContinue (line 106) | function finishContinue(state) {
function lineContinuable (line 113) | function lineContinuable(column, tokenize) {
function commaContinuable (line 127) | function commaContinuable(column, tokenize) {
function rubyInQuote (line 138) | function rubyInQuote(endQuote, tokenize) {
function startRubySplat (line 152) | function startRubySplat(tokenize) {
function ruby (line 174) | function ruby(stream, state) {
function htmlLine (line 178) | function htmlLine(st
Copy disabled (too large)
Download .json
Condensed preview — 5315 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (35,890K chars).
[
{
"path": ".editorconfig",
"chars": 213,
"preview": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 4\ntrim_"
},
{
"path": ".gitattributes",
"chars": 130,
"preview": "* text=auto\n*.css linguist-vendored\n*.scss linguist-vendored\n*.js linguist-vendored\nCHANGELOG.md export-ignore\ncore.auto"
},
{
"path": ".gitignore",
"chars": 0,
"preview": ""
},
{
"path": ".styleci.yml",
"chars": 174,
"preview": "php:\n preset: laravel\n disabled:\n - unused_use\n finder:\n not-name:\n - index.php\n - server.php\njs:\n f"
},
{
"path": "LICENSE",
"chars": 1059,
"preview": "MIT License\n\nCopyright (c) 2020 :)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this"
},
{
"path": "README.md",
"chars": 5697,
"preview": "\n\n> Laravel诗词博客-匠心编程,热爱生活。\n\n> 感謝各位朋友的支持,很开心和你分享我的代码,希望"
},
{
"path": "app/Admin/Actions/Post/GoArticle.php",
"chars": 319,
"preview": "<?php\n\nnamespace App\\Admin\\Actions\\Post;\n\nuse Encore\\Admin\\Actions\\RowAction;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nc"
},
{
"path": "app/Admin/Controllers/AuthController.php",
"chars": 162,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse Encore\\Admin\\Controllers\\AuthController as BaseAuthController;\n\nclass AuthC"
},
{
"path": "app/Admin/Controllers/BlogAboutArticleController.php",
"chars": 2805,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogAboutArticle;\nuse Encore\\Admin\\Controllers\\AdminController;\n"
},
{
"path": "app/Admin/Controllers/BlogAboutCardOneController.php",
"chars": 2987,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogAboutCardOne;\nuse Encore\\Admin\\Controllers\\AdminController;\n"
},
{
"path": "app/Admin/Controllers/BlogAboutCardTwoController.php",
"chars": 3042,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogAboutCardTwo;\nuse Encore\\Admin\\Controllers\\AdminController;\n"
},
{
"path": "app/Admin/Controllers/BlogAboutController.php",
"chars": 2268,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogAbout;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse Enc"
},
{
"path": "app/Admin/Controllers/BlogFriendsController.php",
"chars": 3599,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogFriends;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse E"
},
{
"path": "app/Admin/Controllers/BlogMessageController.php",
"chars": 2587,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogMessage;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse E"
},
{
"path": "app/Admin/Controllers/BlogNavArticleController.php",
"chars": 3269,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavArticle;\nuse Encore\\Admin\\Controllers\\AdminController;\nus"
},
{
"path": "app/Admin/Controllers/BlogNavController.php",
"chars": 5713,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Admin\\Actions\\Post\\GoArticle;\nuse App\\Models\\BlogNav;\nuse Encore\\Admin\\"
},
{
"path": "app/Admin/Controllers/BlogNavMusicController.php",
"chars": 3723,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavMusic;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse "
},
{
"path": "app/Admin/Controllers/BlogNavPhotoController.php",
"chars": 3464,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavPhoto;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse "
},
{
"path": "app/Admin/Controllers/BlogNavShareOneController.php",
"chars": 3260,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavShareOne;\nuse Encore\\Admin\\Controllers\\AdminController;\nu"
},
{
"path": "app/Admin/Controllers/BlogNavShareTwoController.php",
"chars": 3137,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavShareTwo;\nuse Encore\\Admin\\Controllers\\AdminController;\nu"
},
{
"path": "app/Admin/Controllers/BlogNavVideoController.php",
"chars": 3757,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNavVideo;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse "
},
{
"path": "app/Admin/Controllers/BlogNoticeController.php",
"chars": 2051,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogNotice;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse En"
},
{
"path": "app/Admin/Controllers/BlogSubscribeController.php",
"chars": 2093,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Models\\BlogSubscribe;\nuse Encore\\Admin\\Controllers\\AdminController;\nuse"
},
{
"path": "app/Admin/Controllers/BlogUploadFileController.php",
"chars": 6879,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse App\\Model"
},
{
"path": "app/Admin/Controllers/ExampleController.php",
"chars": 1380,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse Encore\\Admin\\Controllers\\AdminController;\nuse Encore\\Admin\\Form;\nuse Encore"
},
{
"path": "app/Admin/Controllers/HomeController.php",
"chars": 940,
"preview": "<?php\n\nnamespace App\\Admin\\Controllers;\n\nuse App\\Http\\Controllers\\Controller;\nuse Encore\\Admin\\Controllers\\Dashboard;\nus"
},
{
"path": "app/Admin/bootstrap.php",
"chars": 1242,
"preview": "<?php\n\nuse Encore\\Admin\\Form;\nuse Encore\\Admin\\Admin;\n/**\n * Laravel-admin - admin builder based on Laravel.\n * @author "
},
{
"path": "app/Admin/routes.php",
"chars": 1528,
"preview": "<?php\n\nuse Illuminate\\Routing\\Router;\n\nAdmin::routes();\n\nRoute::group([\n 'prefix' => config('admin.route.prefi"
},
{
"path": "app/Console/Kernel.php",
"chars": 848,
"preview": "<?php\n\nnamespace App\\Console;\n\nuse Illuminate\\Console\\Scheduling\\Schedule;\nuse Illuminate\\Foundation\\Console\\Kernel as C"
},
{
"path": "app/Exceptions/Handler.php",
"chars": 1058,
"preview": "<?php\n\nnamespace App\\Exceptions;\n\nuse Exception;\nuse Illuminate\\Foundation\\Exceptions\\Handler as ExceptionHandler;\n\nclas"
},
{
"path": "app/Http/Controllers/Auth/ForgotPasswordController.php",
"chars": 834,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\SendsPa"
},
{
"path": "app/Http/Controllers/Auth/LoginController.php",
"chars": 943,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\Authent"
},
{
"path": "app/Http/Controllers/Auth/RegisterController.php",
"chars": 1891,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\User;\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Support\\F"
},
{
"path": "app/Http/Controllers/Auth/ResetPasswordController.php",
"chars": 952,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\ResetsP"
},
{
"path": "app/Http/Controllers/Auth/VerificationController.php",
"chars": 1071,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\Verifie"
},
{
"path": "app/Http/Controllers/Controller.php",
"chars": 361,
"preview": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Foundation\\Bus\\DispatchesJobs;\nuse Illuminate\\Routing\\Controller "
},
{
"path": "app/Http/Controllers/Home/AboutController.php",
"chars": 878,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Home;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\BlogAbout;\n\nclass About"
},
{
"path": "app/Http/Controllers/Home/ArticleController.php",
"chars": 4514,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Home;\n\nuse App\\Http\\Requests\\StoreBlogSubscribePost;\nuse App\\Models\\BlogMessage;\nu"
},
{
"path": "app/Http/Controllers/Home/ArticleDetailController.php",
"chars": 4391,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Http\\Requests\\StoreArticleMsgPost;\nuse App\\Models\\BlogMessage;\nuse "
},
{
"path": "app/Http/Controllers/Home/CardOneController.php",
"chars": 768,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogNavShareOne;\nuse Illuminate\\Http\\Request;\nuse App\\Http\\C"
},
{
"path": "app/Http/Controllers/Home/CardTwoController.php",
"chars": 766,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogNavShareTwo;\nuse Illuminate\\Http\\Request;\nuse App\\Http\\C"
},
{
"path": "app/Http/Controllers/Home/FriendsController.php",
"chars": 1870,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Home;\n\nuse App\\Http\\Requests\\StoreBlogFriendsPost;\nuse App\\Models\\BlogFriends;\nuse"
},
{
"path": "app/Http/Controllers/Home/IndexController.php",
"chars": 222,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\Home;\n\nuse App\\Http\\Controllers\\Controller;\n\nclass IndexController extends Control"
},
{
"path": "app/Http/Controllers/Home/MessageController.php",
"chars": 519,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogMessage;\nuse App\\Http\\Controllers\\Controller;\n\nclass Mes"
},
{
"path": "app/Http/Controllers/Home/MusicController.php",
"chars": 1228,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogNavMusic;\nuse Illuminate\\Http\\Request;\nuse App\\Http\\Cont"
},
{
"path": "app/Http/Controllers/Home/PhotoController.php",
"chars": 1335,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogNavPhoto;\nuse Illuminate\\Http\\Request;\nuse App\\Http\\Cont"
},
{
"path": "app/Http/Controllers/Home/VideoController.php",
"chars": 1880,
"preview": "<?php\n\nnamespace App\\Http\\Controllers\\home;\n\nuse App\\Models\\BlogMessage;\nuse App\\Models\\BlogNavVideo;\nuse Illuminate\\Htt"
},
{
"path": "app/Http/Kernel.php",
"chars": 2893,
"preview": "<?php\n\nnamespace App\\Http;\n\nuse Illuminate\\Foundation\\Http\\Kernel as HttpKernel;\n\nclass Kernel extends HttpKernel\n{\n "
},
{
"path": "app/Http/Middleware/AetherUploadCORS.php",
"chars": 1012,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\nuse AetherUpload\\ConfigMapper;\n\nclass AetherUploadCORS\n{\n /**\n "
},
{
"path": "app/Http/Middleware/Authenticate.php",
"chars": 464,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Auth\\Middleware\\Authenticate as Middleware;\n\nclass Authenticate ex"
},
{
"path": "app/Http/Middleware/CheckForMaintenanceMode.php",
"chars": 414,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode as"
},
{
"path": "app/Http/Middleware/EncryptCookies.php",
"chars": 294,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Cookie\\Middleware\\EncryptCookies as Middleware;\n\nclass EncryptCook"
},
{
"path": "app/Http/Middleware/RedirectIfAuthenticated.php",
"chars": 523,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass RedirectIfAuthenticated\n"
},
{
"path": "app/Http/Middleware/TrimStrings.php",
"chars": 340,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\TrimStrings as Middleware;\n\nclass TrimS"
},
{
"path": "app/Http/Middleware/TrustProxies.php",
"chars": 436,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Http\\Request;\nuse Fideloper\\Proxy\\TrustProxies as Middleware;\n\ncla"
},
{
"path": "app/Http/Middleware/VerifyCsrfToken.php",
"chars": 511,
"preview": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken as Middleware;\n\nclass V"
},
{
"path": "app/Http/Requests/StoreArticleMsgPost.php",
"chars": 1062,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass StoreArticleMsgPost extends Form"
},
{
"path": "app/Http/Requests/StoreBlogFriendsPost.php",
"chars": 860,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass StoreBlogFriendsPost extends For"
},
{
"path": "app/Http/Requests/StoreBlogSubscribePost.php",
"chars": 663,
"preview": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass StoreBlogSubscribePost extends F"
},
{
"path": "app/Jobs/ProcessPodcast.php",
"chars": 782,
"preview": "<?php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Queue\\In"
},
{
"path": "app/Jobs/SendReminderEmail.php",
"chars": 1431,
"preview": "<?php\n\nnamespace App\\Jobs;\n\nuse App\\Mail\\ArticleMail;\nuse App\\Models\\BlogNavArticle;\nuse Illuminate\\Bus\\Queueable;\nuse I"
},
{
"path": "app/Mail/ArticleMail.php",
"chars": 1092,
"preview": "<?php\n\nnamespace App\\Mail;\n\nuse App\\Models\\BlogNavArticle;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nu"
},
{
"path": "app/Models/BlogAbout.php",
"chars": 473,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogAbout extends Model\n{\n protected $ta"
},
{
"path": "app/Models/BlogAboutArticle.php",
"chars": 158,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogAboutArticle extends Model\n{\n protec"
},
{
"path": "app/Models/BlogAboutCardOne.php",
"chars": 159,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogAboutCardOne extends Model\n{\n protec"
},
{
"path": "app/Models/BlogAboutCardTwo.php",
"chars": 159,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogAboutCardTwo extends Model\n{\n protec"
},
{
"path": "app/Models/BlogFriends.php",
"chars": 146,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogFriends extends Model\n{\n protected $"
},
{
"path": "app/Models/BlogMessage.php",
"chars": 146,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogMessage extends Model\n{\n protected $"
},
{
"path": "app/Models/BlogNav.php",
"chars": 635,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Encore\\Admin\\Traits\\ModelTree;\nuse Encore\\Admi"
},
{
"path": "app/Models/BlogNavArticle.php",
"chars": 315,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavArticle extends Model\n{\n protecte"
},
{
"path": "app/Models/BlogNavMusic.php",
"chars": 441,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavMusic extends Model\n{\n protected "
},
{
"path": "app/Models/BlogNavPhoto.php",
"chars": 426,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavPhoto extends Model\n{\n protected "
},
{
"path": "app/Models/BlogNavShareOne.php",
"chars": 313,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavShareOne extends Model\n{\n protect"
},
{
"path": "app/Models/BlogNavShareTwo.php",
"chars": 314,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavShareTwo extends Model\n{\n protect"
},
{
"path": "app/Models/BlogNavVideo.php",
"chars": 149,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNavVideo extends Model\n{\n protected "
},
{
"path": "app/Models/BlogNotice.php",
"chars": 145,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogNotice extends Model\n{\n protected $t"
},
{
"path": "app/Models/BlogSubscribe.php",
"chars": 152,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\n\nclass BlogSubscribe extends Model\n{\n protecte"
},
{
"path": "app/Models/BlogTag.php",
"chars": 139,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogTag extends Model\n{\n protected $tabl"
},
{
"path": "app/Models/BlogUploadFile.php",
"chars": 154,
"preview": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BlogUploadFile extends Model\n{\n protecte"
},
{
"path": "app/Observers/BlogAboutCardTwoObserver.php",
"chars": 1568,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogAboutCardTwo;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogAbo"
},
{
"path": "app/Observers/BlogConfigObserver.php",
"chars": 1207,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse Encore\\Admin\\Config\\ConfigModel;\n\nclass BlogConfigObserver\n{\n /**\n * Handle "
},
{
"path": "app/Observers/BlogFriendsObserver.php",
"chars": 1244,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogFriends;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogFriendsO"
},
{
"path": "app/Observers/BlogNavArticleObserver.php",
"chars": 3051,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Jobs\\SendReminderEmail;\nuse App\\Models\\BlogNavArticle;\nuse App\\Models\\BlogTag;\n"
},
{
"path": "app/Observers/BlogNavMusicObserver.php",
"chars": 1601,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNavMusic;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogNavMusi"
},
{
"path": "app/Observers/BlogNavObserver.php",
"chars": 2517,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNav;\nuse App\\Models\\BlogNavArticle;\nuse App\\Models\\BlogNavMusic;\nuse"
},
{
"path": "app/Observers/BlogNavPhotoObserver.php",
"chars": 1566,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNavPhoto;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogNavPhot"
},
{
"path": "app/Observers/BlogNavShareOneObserver.php",
"chars": 1516,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNavShareOne;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogNavS"
},
{
"path": "app/Observers/BlogNavShareTwoObserver.php",
"chars": 1516,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNavShareTwo;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogNavS"
},
{
"path": "app/Observers/BlogNavVideoObserver.php",
"chars": 1644,
"preview": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Models\\BlogNavVideo;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass BlogNavVide"
},
{
"path": "app/Providers/AppServiceProvider.php",
"chars": 3864,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse App\\Models\\BlogAboutCardTwo;\nuse App\\Models\\BlogFriends;\nuse App\\Models\\BlogNav;\nus"
},
{
"path": "app/Providers/AuthServiceProvider.php",
"chars": 578,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Foundation\\Support\\Providers\\AuthSe"
},
{
"path": "app/Providers/BroadcastServiceProvider.php",
"chars": 380,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\nuse Illuminate\\Support\\Facades\\Broadcast;\n\nclas"
},
{
"path": "app/Providers/EventServiceProvider.php",
"chars": 710,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Event;\nuse Illuminate\\Auth\\Events\\Registered;\nuse Illumi"
},
{
"path": "app/Providers/RouteServiceProvider.php",
"chars": 1529,
"preview": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Route;\nuse Illuminate\\Foundation\\Support\\Providers\\Route"
},
{
"path": "app/User.php",
"chars": 734,
"preview": "<?php\n\nnamespace App;\n\nuse Illuminate\\Notifications\\Notifiable;\nuse Illuminate\\Contracts\\Auth\\MustVerifyEmail;\nuse Illum"
},
{
"path": "artisan",
"chars": 1686,
"preview": "#!/usr/bin/env php\n<?php\n\ndefine('LARAVEL_START', microtime(true));\n\n/*\n|-----------------------------------------------"
},
{
"path": "bootstrap/app.php",
"chars": 1643,
"preview": "<?php\nrequire ('common.php');\n/*\n|--------------------------------------------------------------------------\n| Create Th"
},
{
"path": "bootstrap/cache/.gitignore",
"chars": 14,
"preview": "*\n!.gitignore\n"
},
{
"path": "bootstrap/common.php",
"chars": 1355,
"preview": "<?php\n\n/**\n * 递归无限级分类\n */\nfunction modelTree($tree,$pid = 0,$level = 0){\n if(count($tree) == 0){\n return [];\n "
},
{
"path": "composer.json",
"chars": 2052,
"preview": "{\n \"name\": \"laravel/laravel\",\n \"type\": \"project\",\n \"description\": \"The Laravel Framework.\",\n \"keywords\": [\n "
},
{
"path": "config/admin.php",
"chars": 15461,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Laravel-ad"
},
{
"path": "config/aetherupload.php",
"chars": 5328,
"preview": "<?php\n\nreturn [\n\n # 【分布式设置】:如启用分布式部署,此类配置项必须在应用服务器与储存服务器都进行配置。 #\n # 【一般设置】:只需在储存服务器配置。 #\n\n /*\n |------------"
},
{
"path": "config/app.php",
"chars": 9311,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Applicatio"
},
{
"path": "config/auth.php",
"chars": 3280,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Authentica"
},
{
"path": "config/broadcasting.php",
"chars": 1604,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Br"
},
{
"path": "config/cache.php",
"chars": 3066,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/database.php",
"chars": 5024,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/filesystems.php",
"chars": 3042,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Fi"
},
{
"path": "config/hashing.php",
"chars": 1571,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Ha"
},
{
"path": "config/logging.php",
"chars": 2657,
"preview": "<?php\n\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Handler\\SyslogUdpHandler;\n\nreturn [\n\n /*\n |-----------------"
},
{
"path": "config/mail.php",
"chars": 4701,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Mail Drive"
},
{
"path": "config/queue.php",
"chars": 2657,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Default Qu"
},
{
"path": "config/services.php",
"chars": 1317,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | Third Part"
},
{
"path": "config/session.php",
"chars": 6972,
"preview": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n /*\n |--------------------------------------------------------------"
},
{
"path": "config/static.php",
"chars": 195,
"preview": "<?php\n/**\n * Created by PhpStorm.\n * User: PHP是世界上最好的语言\n * Date: 2019/8/30/030\n * Time: 10:40\n */\n//前台静态资源文件存放目录\ndefine("
},
{
"path": "config/view.php",
"chars": 1053,
"preview": "<?php\n\nreturn [\n\n /*\n |--------------------------------------------------------------------------\n | View Stora"
},
{
"path": "database/.gitignore",
"chars": 26,
"preview": "*.sqlite\n*.sqlite-journal\n"
},
{
"path": "database/factories/UserFactory.php",
"chars": 875,
"preview": "<?php\n\n/** @var \\Illuminate\\Database\\Eloquent\\Factory $factory */\nuse App\\User;\nuse Illuminate\\Support\\Str;\nuse Faker\\Ge"
},
{
"path": "database/migrations/2019_08_24_022201_create_blog_nav_table.php",
"chars": 1066,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025115_create_blog_nav_article_table.php",
"chars": 1203,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025134_create_blog_nav_photo_table.php",
"chars": 1179,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025151_create_blog_nav_music_table.php",
"chars": 1324,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025209_create_blog_nav_video_table.php",
"chars": 1307,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025230_create_blog_nav_share1_table.php",
"chars": 1228,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_24_025240_create_blog_nav_share2_table.php",
"chars": 1155,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_25_102118_create_blog_message_table.php",
"chars": 1209,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_25_131502_create_blog_friends_table.php",
"chars": 1310,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_26_021306_create_blog_apply_table.php",
"chars": 851,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_26_021945_create_blog_about_table.php",
"chars": 968,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_26_104822_create_blog_upload_files_table.php",
"chars": 921,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_29_042857_create_blog_notices_table.php",
"chars": 897,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_29_140729_create_blog_about_articles_table.php",
"chars": 992,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_29_140755_create_blog_about_card_ones_table.php",
"chars": 1043,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_08_29_140807_create_blog_about_card_twos_table.php",
"chars": 1068,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_09_15_132631_create_blog_subscribes_table.php",
"chars": 1002,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_09_27_084944_create_blog_tags_table.php",
"chars": 796,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_10_07_060955_create_jobs_table.php",
"chars": 860,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/migrations/2019_10_07_071533_create_failed_jobs_table.php",
"chars": 789,
"preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
},
{
"path": "database/seeds/BlogArticleTableSeeder.php",
"chars": 976,
"preview": "<?php\n\nuse Illuminate\\Database\\Seeder;\n\nclass BlogArticleTableSeeder extends Seeder\n{\n /**\n * Run the database se"
},
{
"path": "database/seeds/BlogSubscribeSeeder.php",
"chars": 431,
"preview": "<?php\n\nuse Illuminate\\Database\\Seeder;\n\nclass BlogSubscribeSeeder extends Seeder\n{\n /**\n * Run the database seeds"
},
{
"path": "database/seeds/DatabaseSeeder.php",
"chars": 281,
"preview": "<?php\n\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n /**\n * Seed the application's data"
},
{
"path": "package.json",
"chars": 1125,
"preview": "{\n \"private\": true,\n \"scripts\": {\n \"dev\": \"npm run development\",\n \"development\": \"cross-env NODE_ENV"
},
{
"path": "php",
"chars": 0,
"preview": ""
},
{
"path": "phpunit.xml",
"chars": 1156,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit backupGlobals=\"false\"\n backupStaticAttributes=\"false\"\n b"
},
{
"path": "public/.htaccess",
"chars": 152,
"preview": "Options +FollowSymLinks -Indexes\nRewriteEngine On\n\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteCond %{REQUEST_FILENAME} !"
},
{
"path": "public/css/app.css",
"chars": 127801,
"preview": "@import url(https://fonts.googleapis.com/css?family=Nunito);\n\n/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Cop"
},
{
"path": "public/index.php",
"chars": 1823,
"preview": "<?php\n\n/**\n * Laravel - A PHP Framework For Web Artisans\n *\n * @package Laravel\n * @author Taylor Otwell <taylor@lara"
},
{
"path": "public/js/app.js",
"chars": 336904,
"preview": "!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.expo"
},
{
"path": "public/robots.txt",
"chars": 24,
"preview": "User-agent: *\nDisallow:\n"
},
{
"path": "public/static/home/assets/clipboard/clipboard.js",
"chars": 29275,
"preview": "/*!\n * clipboard.js v2.0.4\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function we"
},
{
"path": "public/static/home/assets/cplayer/cplayer.js",
"chars": 72048,
"preview": "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.am"
},
{
"path": "public/static/home/assets/css/editormd.css",
"chars": 78133,
"preview": "/*\n * Editor.md\n *\n * @file editormd.css \n * @version v1.5.0 \n * @description Open source online markdown edi"
},
{
"path": "public/static/home/assets/css/fonts-googleapis.css",
"chars": 5565,
"preview": "/* cyrillic-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 200;\n src: local('Mon"
},
{
"path": "public/static/home/assets/css/google-fonts/fonts-googleapis.css",
"chars": 4950,
"preview": "/* cyrillic-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 200;\n src: local('Mon"
},
{
"path": "public/static/home/assets/css/my_settings.css",
"chars": 2910,
"preview": "::-webkit-scrollbar {\n /*隐藏滚轮*/\n display: none;\n}\n\n.bd-callout-info {}\n\n.bd-callout {\n padding: 1.25rem;\n ma"
},
{
"path": "public/static/home/assets/css/paper-kit.css",
"chars": 170422,
"preview": "/*!\n\n =========================================================\n * Paper Kit - v2.2.0\n ================================="
},
{
"path": "public/static/home/assets/demo/demo.css",
"chars": 8886,
"preview": ".tim-row {\n margin-bottom: 20px;\n}\n\n.tim-white-buttons {\n background-color: #777777;\n}\n\n.typography-line {\n padding-l"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/.github/ISSUE_TEMPLATE/bug_report.md",
"chars": 834,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the b"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/.github/ISSUE_TEMPLATE/feature_request.md",
"chars": 595,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your fea"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/.github/ISSUE_TEMPLATE/question.md",
"chars": 109,
"preview": "---\nname: Question\nabout: Describe your question here.\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\nHow do I ...\n"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/.gitignore",
"chars": 15,
"preview": "node_modules/*\n"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/README.md",
"chars": 2033,
"preview": "# fancyBox\n\njQuery lightbox script for displaying images, videos and more.\nTouch enabled, responsive and fully customiza"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/bower.json",
"chars": 478,
"preview": "{\n \"name\": \"fancybox\",\n \"description\": \"Touch enabled, responsive and fully customizable jQuery lightbox script\",\n \"k"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/dist/jquery.fancybox.css",
"chars": 17412,
"preview": "body.compensate-for-scrollbar {\n overflow: hidden;\n}\n\n.fancybox-active {\n height: auto;\n}\n\n.fancybox-is-hidden {\n "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/dist/jquery.fancybox.js",
"chars": 160665,
"preview": "// ==================================================\n// fancyBox v3.5.7\n//\n// Licensed GPLv3 for open source use\n// or "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/docs/index.html",
"chars": 66704,
"preview": "<!doctype html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, i"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/gulpfile.js",
"chars": 1787,
"preview": "var gulp = require(\"gulp\"),\n concat = require(\"gulp-concat\"),\n uglify = require(\"gulp-uglify\"),\n rename = require(\"gu"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/package.json",
"chars": 1223,
"preview": "{\n \"name\": \"@fancyapps/fancybox\",\n \"description\": \"Touch enabled, responsive and fully customizable jQuery lightbox sc"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/css/core.css",
"chars": 12699,
"preview": "body.compensate-for-scrollbar {\n overflow: hidden;\n}\n\n.fancybox-active {\n height: auto;\n}\n\n.fancybox-is-hidden {\n "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/css/fullscreen.css",
"chars": 176,
"preview": "\n/* Fullscreen */\n\n.fancybox-button--fullscreen::before {\n\twidth: 15px;\n\theight: 11px;\n\tleft: calc(50% - 7px);\n\ttop: ca"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/css/share.css",
"chars": 1619,
"preview": "/* Share */\n\n.fancybox-share {\n background: #f4f4f4;\n border-radius: 3px;\n max-width: 90%;\n padding: 30px;\n "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/css/slideshow.css",
"chars": 488,
"preview": "/* Slideshow button */\n\n.fancybox-button--play {}\n\n.fancybox-button--play::before,\n.fancybox-button--pause::before {\n\tto"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/css/thumbs.css",
"chars": 2416,
"preview": "/* Thumbs */\n\n.fancybox-thumbs {\n background: #ddd;\n bottom: 0;\n display: none;\n margin: 0;\n -webkit-over"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/core.js",
"chars": 96597,
"preview": "(function (window, document, $, undefined) {\n \"use strict\";\n\n window.console = window.console || {\n info: function "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/fullscreen.js",
"chars": 5100,
"preview": "// ==========================================================================\n//\n// FullScreen\n// Adds fullscreen functi"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/guestures.js",
"chars": 26561,
"preview": "// ==========================================================================\n//\n// Guestures\n// Adds touch guestures, h"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/hash.js",
"chars": 6273,
"preview": "// ==========================================================================\n//\n// Hash\n// Enables linking to each moda"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/media.js",
"chars": 8009,
"preview": "// ==========================================================================\n//\n// Media\n// Adds additional media type "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/share.js",
"chars": 4456,
"preview": "//// ==========================================================================\n//\n// Share\n// Displays simple form for "
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/slideshow.js",
"chars": 5538,
"preview": "// ==========================================================================\n//\n// SlideShow\n// Enables slideshow funct"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/thumbs.js",
"chars": 6695,
"preview": "// ==========================================================================\n//\n// Thumbs\n// Displays thumbnails in a g"
},
{
"path": "public/static/home/assets/fancybox/fancybox-master/src/js/wheel.js",
"chars": 1152,
"preview": "// ==========================================================================\n//\n// Wheel\n// Basic mouse weheel support "
},
{
"path": "public/static/home/assets/fonts/font_back.css",
"chars": 5565,
"preview": "/* cyrillic-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 200;\n src: local('Mon"
},
{
"path": "public/static/home/assets/fonts/font_css_back.css",
"chars": 30999,
"preview": "/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/lice"
},
{
"path": "public/static/home/assets/js/iconfont.js",
"chars": 16381,
"preview": "!function(o){var t,a='<svg><symbol id=\"icon-weixinfenxiang\" viewBox=\"0 0 1024 1024\"><path d=\"M1019.471 512.174c0 280.346"
},
{
"path": "public/static/home/assets/js/paper-kit.js",
"chars": 11346,
"preview": "\n // =========================================================\n // Paper Kit 2 PRO - v2.3.0\n // ======================="
},
{
"path": "public/static/home/assets/js/plugins/bootstrap-datepicker.js",
"chars": 90220,
"preview": "/*! version : 4.17.47\n =========================================================\n bootstrap-datetimejs\n https://github.c"
},
{
"path": "public/static/home/assets/js/plugins/bootstrap-switch.js",
"chars": 26264,
"preview": "/**\n * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.\n *\n * @version v3.3.4\n * @homepage htt"
},
{
"path": "public/static/home/assets/layer/layer.js",
"chars": 22104,
"preview": "/*! layer-v3.1.1 Web弹层组件 MIT License http://layer.layui.com/ By 贤心 */\n ;!function(e,t){\"use strict\";var i,n,a=e.layui&"
},
{
"path": "public/static/home/assets/layer/mobile/layer.js",
"chars": 3290,
"preview": "/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */\n ;!function(e){\"use strict\";var t=d"
},
{
"path": "public/static/home/assets/layer/mobile/need/layer.css",
"chars": 5260,
"preview": ".layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:conten"
},
{
"path": "public/static/home/assets/layer/theme/default/layer.css",
"chars": 14367,
"preview": ".layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:elli"
},
{
"path": "public/static/home/assets/pjax/jquery.pjax.js",
"chars": 25260,
"preview": "/*!\n * Copyright 2012, Chris Wanstrath\n * Released under the MIT License\n * https://github.com/defunkt/jquery-pjax\n */\n\n"
},
{
"path": "public/static/home/assets/rotating-card/README.md",
"chars": 15,
"preview": "# rotating-card"
},
{
"path": "public/static/home/assets/rotating-card/css/bootstrap.css",
"chars": 126433,
"preview": "/*!\n * Bootstrap v3.0.2 by @fat and @mdo\n * Copyright 2013 Twitter, Inc.\n * Licensed under https://www.apache.org/licens"
},
{
"path": "public/static/home/assets/rotating-card/css/pe-icon-7-stroke.css",
"chars": 8331,
"preview": "@font-face {\n\tfont-family: 'Pe-icon-7-stroke';\n\tsrc:url('../fonts/Pe-icon-7-stroke.eot?-2irksn');\n\tsrc:url('../fonts/Pe-"
},
{
"path": "public/static/home/assets/rotating-card/css/rotating-card.css",
"chars": 5936,
"preview": "body {\n\tmargin-top: 60px;\n\tfont-size: 14px;\n\tfont-family: \"Helvetica Nueue\",Arial,Verdana,sans-serif;\n\tbackground-color:"
},
{
"path": "public/static/home/assets/rotating-card/index.html",
"chars": 20414,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title>Rotating CSS Cards by Creative Tim </title>\n\n\t<meta charset=\"utf-8\" />\n\t<meta h"
},
{
"path": "public/static/home/assets/rotating-card/js/jquery-1.10.2.js",
"chars": 273229,
"preview": "/*!\n * jQuery JavaScript Library v1.10.2\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * "
},
{
"path": "public/static/home/assets/rotating-card/rotating-card.html",
"chars": 23950,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <title>Rotating CSS Cards by Creative Tim </title>\n\n\t<meta charset=\"utf-8\" />\n\t<meta h"
}
]
// ... and 5115 more files (download for full content)
About this extraction
This page contains the full source code of the qqphp-com/laravel-blog-poetry-all GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5315 files (32.1 MB), approximately 8.7M tokens, and a symbol index with 21949 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.