From 8ddeb382c0b44d0e353e36e6535f75081d862ca4 Mon Sep 17 00:00:00 2001 From: zeus Date: Sun, 14 Feb 2021 22:06:34 +0200 Subject: [PATCH] labobject --- .gitignore | 1 + package-lock.json | 3801 +++++++++-------- package.json | 3 +- src-local/LabLearningObject-hybrid | 1 + .../0ajszhq4ez8f.html | 349 ++ .../0hd24n8mvc5m.html | 328 ++ .../0uidbgygmbl.html | 349 ++ .../LabLearningObject-hybrid-tmp/19c9pc.html | 34 + .../19k5t7bavu.html | 122 + .../1afnbdhzmw2.html | 349 ++ .../1phnqpkvfry.html | 349 ++ .../LabLearningObject-hybrid-tmp/1qxpjt.html | 34 + .../2rhwqkk4wrm.html | 122 + .../LabLearningObject-hybrid-tmp/38lhb.html | 34 + .../3c8uxdoe3uu.html | 349 ++ .../LabLearningObject-hybrid-tmp/3evffi.html | 34 + .../3rzj4jh6hoa.html | 122 + .../3te3bmpxzfl.html | 122 + .../3tkemg3auu4.html | 129 + .../4b7t3lv3jpx.html | 122 + .../4btap7h39qf.html | 349 ++ .../4x5g88x91hq.html | 122 + .../50t9m85xl7r.html | 349 ++ .../5khqgmlerke.html | 165 + .../LabLearningObject-hybrid-tmp/5n1fhh.html | 34 + .../5qvy432j0ci.html | 165 + .../5u9f3j9feiw.html | 349 ++ .../5w8xro98amb.html | 168 + .../LabLearningObject-hybrid-tmp/6edtl.html | 34 + .../6glg6tyt9tb.html | 349 ++ .../6kupcd1kodm.html | 719 ++++ .../LabLearningObject-hybrid-tmp/6tcftt.html | 34 + .../6thjb5rlbdu.html | 349 ++ .../75jkqov60ls.html | 714 ++++ .../7aot7uvycir.html | 349 ++ .../7du1hqyyq1g.html | 349 ++ .../LabLearningObject-hybrid-tmp/7svezi.html | 34 + .../7wyz2fc6rmv.html | 45 + .../LabLearningObject-hybrid-tmp/83hh8g.html | 34 + .../87h7inxr9qg.html | 129 + .../8r36ab9nf5m.html | 349 ++ .../916plim6uu.html | 349 ++ .../93f5fugs1tb.html | 165 + .../LabLearningObject-hybrid-tmp/98p2lr.html | 34 + .../99kzjb5x8m.html | 349 ++ .../9dddazn5zqm.html | 349 ++ .../9ev86wois4.html | 122 + .../9f51uydi5wd.html | 349 ++ .../9rkmk4um3bs.html | 349 ++ .../LabLearningObject-hybrid-tmp/9s18a8.html | 34 + .../a1pe6qafxin.html | 349 ++ .../LabLearningObject-hybrid-tmp/a2l6ys.html | 34 + .../aixf26djuxt.html | 349 ++ .../LabLearningObject-hybrid-tmp/an1dho.html | 34 + .../asxh7xuhpqr.html | 165 + .../axcyus99gy.html | 301 ++ .../azh9w6ys9jn.html | 165 + .../b1500q27hm.html | 349 ++ .../b2r8fhdtzun.html | 349 ++ .../LabLearningObject-hybrid-tmp/b9rbn.html | 34 + .../bbb8sb8gnb4.html | 168 + .../bbrbcb4x489.html | 349 ++ .../bhcyj5rlxb8.html | 122 + .../bnaki4o9rs.html | 122 + .../buum6jtk4lf.html | 45 + .../LabLearningObject-hybrid-tmp/bwmp2.html | 34 + .../bz4dsqp7eo5.html | 349 ++ .../c28zy8bemxd.html | 349 ++ .../LabLearningObject-hybrid-tmp/c80kmq.html | 34 + .../c9g3860bb2v.html | 122 + .../LabLearningObject-hybrid-tmp/ca447s.html | 34 + .../ccdyjhwixp.html | 122 + .../LabLearningObject-hybrid-tmp/ce22he.html | 34 + .../cezsd2kfd2d.html | 129 + .../coqfzs7rkm9.html | 122 + .../ctnlpr63i95.html | 122 + .../LabLearningObject-hybrid-tmp/d6ulqy.html | 34 + .../db7saktwcyu.html | 349 ++ .../dbmkimnsntc.html | 349 ++ .../LabLearningObject-hybrid-tmp/dcjtuo.html | 34 + .../ded0jk4zkri.html | 165 + .../LabLearningObject-hybrid-tmp/dhscge.html | 34 + .../ds96dcjes6.html | 45 + .../dss3ig3mpjj.html | 168 + .../LabLearningObject-hybrid-tmp/dtniws.html | 34 + .../LabLearningObject-hybrid-tmp/dtvjh.html | 34 + .../e0fnevbqns.html | 301 ++ .../ea78da7efci.html | 349 ++ .../ei0i06um1zu.html | 122 + .../eix9yu0eg5a.html | 349 ++ .../eknizlly6e.html | 301 ++ .../exv9ge57qvi.html | 349 ++ .../LabLearningObject-hybrid-tmp/f0un7p.html | 34 + .../LabLearningObject-hybrid-tmp/f8ni2.html | 34 + .../fcmqxjqkegr.html | 349 ++ src-local/LabLearningObject-hybrid-tmp/file | 0 .../fjrbqu462l.html | 349 ++ .../fqhoq2ndiq7.html | 349 ++ .../LabLearningObject-hybrid-tmp/fwuqtg.html | 34 + .../LabLearningObject-hybrid-tmp/g59w7.html | 34 + .../LabLearningObject-hybrid-tmp/g9ddd.html | 34 + .../g9v2rm0vcsw.html | 349 ++ .../gdci62z921.html | 122 + .../git1nx7lasp.html | 714 ++++ .../h0046t19zd.html | 349 ++ .../h3b8t9ru2.html | 349 ++ .../h7shumxlsb.html | 328 ++ .../haeuf7tl5iq.html | 349 ++ .../hc8am7z2w3.html | 165 + .../hejr75n7xoo.html | 349 ++ .../LabLearningObject-hybrid-tmp/hig4m3.html | 34 + .../hl440wq3rnu.html | 122 + .../LabLearningObject-hybrid-tmp/hqsh4.html | 34 + .../ig3815wpakc.html | 165 + .../imjwbntkj3d.html | 122 + .../iqun9ljkwqd.html | 122 + .../irms6yrg3xa.html | 349 ++ .../LabLearningObject-hybrid-tmp/is7b5.html | 34 + .../j4zle1dnbqb.html | 129 + .../j60xh3p1crr.html | 349 ++ .../j79egukh06k.html | 349 ++ .../LabLearningObject-hybrid-tmp/jbybog.html | 34 + .../LabLearningObject-hybrid-tmp/jfvi9c.html | 34 + .../LabLearningObject-hybrid-tmp/jjgf9.html | 34 + .../jpf352o0vt.html | 349 ++ .../jr3wferc76.html | 349 ++ .../jznztcyblum.html | 122 + .../k1o2fuzkjec.html | 343 ++ .../LabLearningObject-hybrid-tmp/k85fav.html | 34 + .../kbqjb3card.html | 349 ++ .../kdsqpplmq6d.html | 122 + .../kn8pll65kk.html | 129 + .../LabLearningObject-hybrid-tmp/kokznc.html | 34 + .../LabLearningObject-hybrid-tmp/ktdgb9.html | 34 + .../ku8q7e7f8g.html | 129 + .../LabLearningObject-hybrid-tmp/l5v5jo.html | 34 + .../l9dm7x0i89m.html | 349 ++ .../LabLearningObject-hybrid-tmp/lozxt2.html | 34 + .../lreoyc08wc.html | 349 ++ .../LabLearningObject-hybrid-tmp/luhlg.html | 34 + .../LabLearningObject-hybrid-tmp/m0195j.html | 34 + .../m7zy5c65orm.html | 349 ++ .../mabj164260d.html | 122 + .../mdy44shp9ac.html | 129 + .../mmdy6eql0fp.html | 349 ++ .../mqduv4n9boj.html | 349 ++ .../mvslupi4n8.html | 349 ++ .../n2la4e2xulp.html | 328 ++ .../nd3ewfddvso.html | 328 ++ .../nkx54h9o4gi.html | 129 + .../nmc4bxl04tq.html | 168 + .../nssqh89k4hs.html | 349 ++ .../ny1rq14d6a.html | 122 + .../nznnf5b0lcs.html | 349 ++ .../o1beq2qgezi.html | 301 ++ .../o9po9uvqi7h.html | 349 ++ .../oc5pj14rnh.html | 349 ++ .../oglq5azt71q.html | 168 + .../p3vxnmwgkb.html | 168 + .../p6hoq10bc8.html | 349 ++ .../pfq3jirfbvm.html | 122 + .../pi21kg3bkx.html | 165 + .../LabLearningObject-hybrid-tmp/pp6wsi.html | 34 + .../pv1oyaxwx3n.html | 301 ++ .../LabLearningObject-hybrid-tmp/q24kt.html | 34 + .../qbkn5hjp669.html | 165 + .../qgw58g2rluh.html | 349 ++ .../qhra43kqzuh.html | 349 ++ .../qm6rnzyx34.html | 122 + .../qs921xh55o.html | 122 + .../r109ayd06y.html | 122 + .../r7snzdnl2sk.html | 175 + .../rbnhnl1mxve.html | 349 ++ .../rj8jjo0pfeb.html | 349 ++ .../rkn3iv15dn.html | 122 + .../rkz3fq0kqga.html | 122 + .../rnaeiv6k8gi.html | 122 + .../rq1yvm97k6.html | 122 + .../LabLearningObject-hybrid-tmp/rw1e3e.html | 34 + .../LabLearningObject-hybrid-tmp/rzize9.html | 34 + .../sgqlgbcsr2.html | 122 + .../LabLearningObject-hybrid-tmp/sw161h.html | 34 + .../LabLearningObject-hybrid-tmp/sxel8f.html | 34 + .../t7o40bsz5gj.html | 349 ++ .../tdrp8n2nvmk.html | 349 ++ .../tmpxn7p9wle.html | 349 ++ .../tu90u2ovrus.html | 349 ++ .../LabLearningObject-hybrid-tmp/tz1gqo.html | 34 + .../u1mtre1ntye.html | 349 ++ .../LabLearningObject-hybrid-tmp/ubii0j.html | 34 + .../uq5kqsx593.html | 349 ++ .../urn2fp1rqi.html | 122 + .../uzbzac8vdcd.html | 45 + .../v9bsnn2l5g.html | 328 ++ .../v9zqixm9u8e.html | 129 + .../vfcy9cux28.html | 122 + .../vj8hf9t01th.html | 122 + .../LabLearningObject-hybrid-tmp/vsl0a.html | 34 + .../vuuuoa6zdn.html | 122 + .../vuwtrw3lcv.html | 349 ++ .../LabLearningObject-hybrid-tmp/vv4vzm.html | 34 + .../w4132bieiel.html | 349 ++ .../w4j9b9g36sq.html | 298 ++ .../w6bhwnqh3vs.html | 168 + .../wd4nwtuv3.html | 45 + .../wg7uo9f7xjk.html | 122 + .../wgwzgjd3xy.html | 349 ++ .../whw8pprt22r.html | 122 + .../LabLearningObject-hybrid-tmp/wks9ty.html | 34 + .../wm95oilje4q.html | 349 ++ .../wpytgr4fnp9.html | 349 ++ .../wt6c2eyd4ui.html | 122 + .../x1acwzy4w0e.html | 301 ++ .../LabLearningObject-hybrid-tmp/xgjis3.html | 34 + .../xjd2zhnjt5.html | 349 ++ .../xk733f4fewi.html | 122 + .../xkdsscpy0w.html | 122 + .../xkwf9wgcpdr.html | 349 ++ .../LabLearningObject-hybrid-tmp/yvhi6r.html | 34 + .../LabLearningObject-hybrid-tmp/ywi2wq.html | 34 + .../z349lfetth.html | 122 + .../z3lhczzuex9.html | 122 + .../z8ei59vcmwb.html | 349 ++ .../za6tz5acu0g.html | 349 ++ .../LabLearningObject-hybrid-tmp/zbkajy.html | 34 + .../zjlw4ravhl.html | 298 ++ .../zkgx8qgu7c.html | 165 + .../zwstm76b6r.html | 349 ++ .../zyf8gevajjk.html | 122 + .../zzfhqxtl62.html | 301 ++ src-local/git-update.sh | 15 + src-local/llo/new.js | 242 +- src-local/player/asciinema-player.css | 2563 +++++++++++ src-local/player/asciinema-player.js | 1213 ++++++ src-local/player/asciiplayer.vue | 24 + src-local/player/demo.cast | 101 + src-local/player/index.html | 9 + src-local/start-server.sh | 6 + src/App.vue | 33 +- src/assets/img/academy.png | Bin 0 -> 5209 bytes src/assets/img/book.png | Bin 0 -> 1404 bytes src/assets/img/clipart.png | Bin 0 -> 71242 bytes src/assets/img/clipart1.png | Bin 0 -> 63423 bytes src/assets/img/code.png | Bin 0 -> 1591 bytes src/assets/img/gruebeln-clipart.jpg | Bin 0 -> 41039 bytes src/assets/img/library.png | Bin 0 -> 3325 bytes src/assets/img/list.png | Bin 0 -> 1299 bytes src/assets/img/penguin21.png | Bin 0 -> 67468 bytes src/assets/img/penguin21a.png | Bin 0 -> 84996 bytes src/assets/img/penguin3.png | Bin 0 -> 30408 bytes src/assets/img/penguin3a.png | Bin 0 -> 30408 bytes src/assets/img/penguinfledgling.png | Bin 0 -> 31057 bytes src/assets/img/penguinfledgling1.png | Bin 0 -> 31057 bytes src/assets/img/video.png | Bin 0 -> 1260 bytes src/assets/img/video1.png | Bin 0 -> 1345 bytes src/assets/img/workhardhackharder-denim.png | Bin 0 -> 101940 bytes src/assets/img/workhardhackharder-green.png | Bin 0 -> 104070 bytes src/assets/img/workhardhackharder-purple.png | Bin 0 -> 114428 bytes src/assets/img/workhardhackharder-red.png | Bin 0 -> 111050 bytes src/assets/img/workhardhackharder.png | Bin 0 -> 113768 bytes src/components/asciidoc.vue | 39 + src/components/asciiplayer.vue | 47 + src/components/managello.vue | 55 + src/components/manageservices/1 | 252 ++ .../manageservices/join-service.vue | 5 + .../manageservices/llo-search-backup.vue | 588 +++ .../manageservices/llo-search-backup1.vue | 1444 +++++++ src/components/manageservices/llo-search.vue | 1438 +++++++ src/components/manageservices/llo-view.vue | 336 ++ .../mynetwork/availableservices.vue | 1 + src/components/mynetwork/myconnect-server.vue | 1 - src/demo.cast | 101 + src/main.js | 1 + src/store/modules/create_pipelineLLO.js | 172 +- viwsession/session1 | 243 +- 275 files changed, 55503 insertions(+), 1942 deletions(-) create mode 160000 src-local/LabLearningObject-hybrid create mode 100644 src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/19c9pc.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/1qxpjt.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/38lhb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/3evffi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/5n1fhh.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/6edtl.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/6tcftt.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/7svezi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/83hh8g.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/916plim6uu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/98p2lr.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/9s18a8.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/a2l6ys.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/an1dho.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/b9rbn.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bwmp2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/c80kmq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ca447s.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ce22he.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/d6ulqy.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dcjtuo.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dhscge.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dtniws.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/dtvjh.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/f0un7p.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/f8ni2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/file create mode 100644 src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/fwuqtg.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/g59w7.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/g9ddd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/gdci62z921.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/hig4m3.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/hqsh4.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/is7b5.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jbybog.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jfvi9c.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jjgf9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/k85fav.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/kokznc.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ktdgb9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/l5v5jo.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/lozxt2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/luhlg.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/m0195j.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/mabj164260d.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/pp6wsi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/q24kt.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rw1e3e.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/rzize9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/sw161h.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/sxel8f.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/tz1gqo.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ubii0j.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vsl0a.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/vv4vzm.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wks9ty.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/xgjis3.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/yvhi6r.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/ywi2wq.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/z349lfetth.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zbkajy.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html create mode 100644 src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html create mode 100644 src-local/git-update.sh create mode 100644 src-local/player/asciinema-player.css create mode 100644 src-local/player/asciinema-player.js create mode 100644 src-local/player/asciiplayer.vue create mode 100644 src-local/player/demo.cast create mode 100644 src-local/player/index.html create mode 100644 src/assets/img/academy.png create mode 100644 src/assets/img/book.png create mode 100644 src/assets/img/clipart.png create mode 100644 src/assets/img/clipart1.png create mode 100644 src/assets/img/code.png create mode 100644 src/assets/img/gruebeln-clipart.jpg create mode 100644 src/assets/img/library.png create mode 100644 src/assets/img/list.png create mode 100644 src/assets/img/penguin21.png create mode 100644 src/assets/img/penguin21a.png create mode 100644 src/assets/img/penguin3.png create mode 100644 src/assets/img/penguin3a.png create mode 100644 src/assets/img/penguinfledgling.png create mode 100644 src/assets/img/penguinfledgling1.png create mode 100644 src/assets/img/video.png create mode 100644 src/assets/img/video1.png create mode 100644 src/assets/img/workhardhackharder-denim.png create mode 100644 src/assets/img/workhardhackharder-green.png create mode 100644 src/assets/img/workhardhackharder-purple.png create mode 100644 src/assets/img/workhardhackharder-red.png create mode 100644 src/assets/img/workhardhackharder.png create mode 100644 src/components/asciidoc.vue create mode 100644 src/components/asciiplayer.vue create mode 100644 src/components/managello.vue create mode 100644 src/components/manageservices/1 create mode 100644 src/components/manageservices/llo-search-backup.vue create mode 100644 src/components/manageservices/llo-search-backup1.vue create mode 100644 src/components/manageservices/llo-search.vue create mode 100644 src/components/manageservices/llo-view.vue create mode 100644 src/demo.cast diff --git a/.gitignore b/.gitignore index fdbd599..99aa386 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ vimsession swarmlabdoc.js swarmlabdoc.asciidoc_config +package-lock.json # local env files diff --git a/package-lock.json b/package-lock.json index fd2eba2..362168f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@fortawesome/free-brands-svg-icons": "^5.15.1", "@fortawesome/free-solid-svg-icons": "^5.15.1", "@fortawesome/vue-fontawesome": "^2.0.0", + "asciidoctor": "^2.2.0", "axios": "^0.21.0", "bootstrap-vue": "^2.19.0", "express": "^4.17.1", @@ -33,7 +34,7 @@ "vue-template-compiler": "^2.6.12", "vue-wait": "^1.4.8", "vue2-datepicker": "^3.8.2", - "vuetable-2": "^1.7.5", + "vuetable-2": "^1.3.1", "vuex": "^3.6.0" }, "devDependencies": { @@ -41,35 +42,68 @@ "@vue/cli-service": "^4.5.7" } }, + "node_modules/@asciidoctor/cli": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@asciidoctor/cli/-/cli-3.4.0.tgz", + "integrity": "sha512-jOtxA0I6zB+6z+GGwm9+xhlmGTqCTkFPE902L6fauFlE6v7LxjhLYNxvjDVyn0zMrFLybvoSRcAnM3DcticNoQ==", + "dependencies": { + "yargs": "15.3.1" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0" + }, + "peerDependencies": { + "@asciidoctor/core": "^2.0.0-rc.1" + } + }, + "node_modules/@asciidoctor/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.1.tgz", + "integrity": "sha512-wdVseZjCcBvFfWSsCGyyvJkSQJ9UmXDdTDKnL+HerM12XQq4eWtk7lniSIKO459ipqImcsrueib47EtkzzRjLw==", + "dependencies": { + "asciidoctor-opal-runtime": "0.3.0", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0", + "yarn": ">=1.1.0" + } + }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", "dev": true }, "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -87,43 +121,43 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz", + "integrity": "sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-validator-option": "^7.12.11", "browserslist": "^4.14.5", "semver": "^5.5.0" }, @@ -132,163 +166,152 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz", + "integrity": "sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", + "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", "dev": true, "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "dependencies": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { @@ -301,12 +324,12 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { @@ -322,43 +345,43 @@ "dev": true }, "node_modules/@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -368,13 +391,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", + "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0" }, "peerDependencies": { @@ -382,27 +405,27 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.13.tgz", + "integrity": "sha512-x2aOr5w4ARJoYHFKoG2iEUL/Xe99JAJXjAasHijXp3/KgaetJXGE62SmHgsW3Tia/XUT5AxF2YC0F+JyhPY/0Q==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -422,12 +445,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "peerDependencies": { @@ -435,12 +458,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", + "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" }, "peerDependencies": { @@ -448,12 +471,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", + "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "peerDependencies": { @@ -461,12 +484,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", + "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" }, "peerDependencies": { @@ -474,12 +497,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "peerDependencies": { @@ -487,26 +510,26 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", + "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" }, "peerDependencies": { @@ -514,12 +537,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz", + "integrity": "sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" }, @@ -528,26 +551,26 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", + "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "engines": { "node": ">=4" @@ -569,24 +592,24 @@ } }, "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -629,12 +652,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -713,80 +736,79 @@ } }, "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", + "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", + "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz", - "integrity": "sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", + "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" }, "peerDependencies": { @@ -794,124 +816,124 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", + "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", + "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", + "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", + "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -919,14 +941,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", + "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -934,15 +956,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", + "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -950,83 +972,83 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", + "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1036,25 +1058,25 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "semver": "^5.5.1" }, "peerDependencies": { @@ -1062,24 +1084,24 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", + "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" }, "peerDependencies": { @@ -1087,92 +1109,92 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", + "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.13.tgz", + "integrity": "sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.13", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.13", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", @@ -1182,41 +1204,41 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "core-js-compat": "^3.8.0", "semver": "^5.5.0" }, @@ -1241,46 +1263,46 @@ } }, "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" } }, "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "node_modules/@babel/types": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz", - "integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1289,54 +1311,54 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz", - "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==", + "version": "0.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.34.tgz", + "integrity": "sha512-XcIn3iYbTEzGIxD0/dY5+4f019jIcEIWBiHc3KrmK/ROahwxmZ/s+tdj97p/5K0klz4zZUiMfUlYP0ajhSJjmA==", "hasInstallScript": true, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz", - "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==", + "version": "1.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.34.tgz", + "integrity": "sha512-0KNN0nc5eIzaJxlv43QcDmTkDY1CqeN6J7OCGSs+fwGPdtv0yOQqRjieopBCmw+yd7uD3N2HeNL3Zm5isDleLg==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.1.tgz", - "integrity": "sha512-pkTZIWn7iuliCCgV+huDfZmZb2UjslalXGDA2PcqOVUYJmYL11y6ooFiMJkJvUZu+xgAc1gZgQe+Px12mZF0CA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.2.tgz", + "integrity": "sha512-YPlVjE1cEO+OJ9I9ay3TQ3I88+XkxMTYwnnddqAboxLhPNGncsHV0DjWOVLCyuAY66yPfyndWwVn4v7vuqsO1g==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz", - "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.2.tgz", + "integrity": "sha512-ZfCU+QjaFsdNZmOGmfqEWhzI3JOe37x5dF4kz9GeXvKn/sTxhqMtZ7mh3lBf76SvcYY5/GKFuyG7p1r4iWMQqw==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/vue-fontawesome": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.0.tgz", - "integrity": "sha512-N3VKw7KzRfOm8hShUVldpinlm13HpvLBQgT63QS+aCrIRLwjoEUXY5Rcmttbfb6HkzZaeqjLqd/aZCQ53UjQpg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.2.tgz", + "integrity": "sha512-ecpKSBUWXsxRJVi/dbOds4tkKwEcBQ1JSDZFzE2jTFpF8xIh3OgTX8POIor6bOltjibr3cdEyvnDjecMwUmxhQ==", "peerDependencies": { "@fortawesome/fontawesome-svg-core": ">= 1.2.0 < 1.3", "vue": "~2" @@ -1581,21 +1603,21 @@ } }, "node_modules/@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", "dev": true, "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", "dev": true, "dependencies": { "@types/node": "*", @@ -1614,9 +1636,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", "dev": true, "dependencies": { "@types/node": "*" @@ -1634,14 +1656,14 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "node_modules/@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "node_modules/@types/minimatch": { @@ -1657,9 +1679,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.14.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz", - "integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -1687,19 +1709,19 @@ "dev": true }, "node_modules/@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", "dev": true, "dependencies": { - "@types/mime": "*", + "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/socket.io-client": { - "version": "1.4.34", - "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz", - "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==" + "version": "1.4.35", + "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz", + "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw==" }, "node_modules/@types/source-list-map": { "version": "0.1.2", @@ -1714,9 +1736,9 @@ "dev": true }, "node_modules/@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz", + "integrity": "sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==", "dev": true, "dependencies": { "source-map": "^0.6.1" @@ -1732,9 +1754,9 @@ } }, "node_modules/@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "dependencies": { "@types/anymatch": "*", @@ -1794,15 +1816,15 @@ "dev": true }, "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz", - "integrity": "sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", "dev": true }, "node_modules/@vue/babel-plugin-jsx": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.5.tgz", - "integrity": "sha512-IUxERGiEeX9i1Vt9UtBYqOtfPYjOwEP0sFyPRI8xjkXAhJpaAIwa8JdcYakOqzIlXwhk3XD+7VFdyr/v+rLLFw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", + "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", @@ -1810,7 +1832,7 @@ "@babel/template": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.0-rc.2", + "@vue/babel-helper-vue-transform-on": "^1.0.2", "camelcase": "^6.0.0", "html-tags": "^3.1.0", "svg-tags": "^1.0.0" @@ -1843,9 +1865,9 @@ } }, "node_modules/@vue/babel-preset-app": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.9.tgz", - "integrity": "sha512-d2H4hFnJsGnZtJAAZIbo1dmQJ2SI1MYix1Tc9/etlnJtCDPRHeCNodCSeuLgDwnoAyT3unzyHmTtaO56KRDuOQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.11.tgz", + "integrity": "sha512-9VoFlm/9vhynKNGM+HA7qBsoQSUEnuG5i5kcFI9vTLLrh8A0fxrwUyVLLppO6T1sAZ6vrKdQFnEkjL+RkRAwWQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.0", @@ -2014,20 +2036,20 @@ } }, "node_modules/@vue/cli-overlay": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.9.tgz", - "integrity": "sha512-E2PWv6tCdUz+eEDj2Th2oxiKmzMe02qi0PcxiNaO7oaqggmEOrp1rLgop7DWpiLDBiqUZk2x0vjK/q2Tz8z/eg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.11.tgz", + "integrity": "sha512-aDQNw+oGk5+KR0vL9TocjfzyYHTJxR2lS8iPbcL4lRglCs2dudOE7QWXypj5dM4rQus0jJ5fxJTS55o9uy9fcQ==", "dev": true }, "node_modules/@vue/cli-plugin-babel": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.9.tgz", - "integrity": "sha512-2tzaJU5yqAfXVhg1aYyd/Yfif6brv+tDZ49D1aOk7ZgMIwH5YUa0yo5HPcPOcmfpoVoNYcpqVYRfyT4EXIYSpg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.11.tgz", + "integrity": "sha512-ogUMeO2waDtghIWwmuAzMJAnnPdmqRdJlwJDca9u6BK9jX1bxNThBSFS/MN2VmlYzulOnqH4zAC87jTWNg/czg==", "dev": true, "dependencies": { "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/babel-preset-app": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "babel-loader": "^8.1.0", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", @@ -2038,30 +2060,30 @@ } }, "node_modules/@vue/cli-plugin-router": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.9.tgz", - "integrity": "sha512-eBBfbZpQ1sJrdlx8i7iReFxSnuzwmrv+s2OCT3kjBd6uWRqGnD4VihpS4srC7vZLzDQrDplumSn0a93L9Qf3wQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.11.tgz", + "integrity": "sha512-09tzw3faOs48IUPwLutYaNC7eoyyL140fKruTwdFdXuBLDdSQVida57Brx0zj2UKXc5qF8hk4GoGrOshN0KfNg==", "dev": true, "dependencies": { - "@vue/cli-shared-utils": "^4.5.9" + "@vue/cli-shared-utils": "^4.5.11" }, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" } }, "node_modules/@vue/cli-plugin-vuex": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.9.tgz", - "integrity": "sha512-mFNIJhYiJjzCgytkDHX00ROy5Yzl7prkZpUbeDE0biwcLteMf2s3qZVbESOQl6GcviqcfEt2f3tHQQtLNa+OLg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.11.tgz", + "integrity": "sha512-JBPeZLubiSHbRkEKDj0tnLiU43AJ3vt6JULn4IKWH1XWZ6MFC8vElaP5/AA4O3Zko5caamDDBq3TRyxdA2ncUQ==", "dev": true, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" } }, "node_modules/@vue/cli-service": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.9.tgz", - "integrity": "sha512-E3XlfM0q+UnnjbC9rwLIWNo2umZCRwnlMJY0KOhY1hFvqisGIYzFmQQ4o01KGyTx2BZNMuQg7Kw+BZ5gyM1Wig==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.11.tgz", + "integrity": "sha512-FXeJh2o6B8q/njv2Ebhe9EsLXt9sPMXGDY5zVvcV5jgj9wkoej9yLfnmwWCau5kegNClP6bcM+BEHuMYxJ+ubQ==", "dev": true, "dependencies": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", @@ -2070,10 +2092,10 @@ "@types/minimist": "^1.2.0", "@types/webpack": "^4.0.0", "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.9", - "@vue/cli-plugin-router": "^4.5.9", - "@vue/cli-plugin-vuex": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/cli-overlay": "^4.5.11", + "@vue/cli-plugin-router": "^4.5.11", + "@vue/cli-plugin-vuex": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -2113,7 +2135,7 @@ "thread-loader": "^2.1.3", "url-loader": "^2.2.0", "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7", + "vue-loader-v16": "npm:vue-loader@^16.1.0", "vue-style-loader": "^4.1.2", "webpack": "^4.0.0", "webpack-bundle-analyzer": "^3.8.0", @@ -2128,7 +2150,7 @@ "node": ">=8" }, "optionalDependencies": { - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7" + "vue-loader-v16": "npm:vue-loader@^16.1.0" }, "peerDependencies": { "@vue/compiler-sfc": "^3.0.0-beta.14", @@ -2159,9 +2181,9 @@ } }, "node_modules/@vue/cli-shared-utils": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.9.tgz", - "integrity": "sha512-anvsrv+rkQC+hgxaT2nQQxnSWSsIzyysZ36LO7qPjXvDRBvcvKLAAviFlUkYbZ+ntbV8puzJ3zw+gUhQw4SEVA==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz", + "integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==", "dev": true, "dependencies": { "@hapi/joi": "^15.0.1", @@ -2689,6 +2711,36 @@ "node": ">=0.10.0" } }, + "node_modules/asciidoctor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/asciidoctor/-/asciidoctor-2.2.1.tgz", + "integrity": "sha512-adH/pDPDZCd4eb1ku7N8WepN+O6Yl0lVQPWE/ep7+0BFkBm4P/Sx8DUqzZ+X+nG6WSZlma5Uu0gNuDgrc7etFg==", + "dependencies": { + "@asciidoctor/cli": "3.4.0", + "@asciidoctor/core": "2.2.1" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0", + "yarn": ">=1.1.0" + } + }, + "node_modules/asciidoctor-opal-runtime": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.0.tgz", + "integrity": "sha512-YapVwl2qbbs6sIe1dvAlMpBzQksFVTSa2HOduOKFNhZlE9bNmn+moDgGVvjWPbzMPo/g8gItyTHfWB2u7bQxag==", + "dependencies": { + "glob": "7.1.3", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11" + } + }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -2829,9 +2881,9 @@ "dev": true }, "node_modules/axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dependencies": { "follow-redirects": "^1.10.0" } @@ -2968,9 +3020,9 @@ } }, "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { "node": ">=8" } @@ -3054,9 +3106,9 @@ "dev": true }, "node_modules/bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/bootstrap" @@ -3067,9 +3119,9 @@ } }, "node_modules/bootstrap-vue": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.0.tgz", - "integrity": "sha512-R55XY83Ro3w8OfVEWn/eOyw8eayGDdZs0qYFuvG29eW4zVb9NtB4LwgskOhIaqF3Yzac/6ra/FqQUm+uVhDYfA==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", "hasInstallScript": true, "dependencies": { "@nuxt/opencollective": "^0.3.2", @@ -3232,16 +3284,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" }, "bin": { "browserslist": "cli.js" @@ -3321,6 +3373,25 @@ "y18n": "^4.0.0" } }, + "node_modules/cacache/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/cacache/node_modules/ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -3369,13 +3440,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3455,9 +3526,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001168", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz", - "integrity": "sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "node_modules/case-sensitive-paths-webpack-plugin": { @@ -3496,13 +3567,13 @@ "dev": true }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -3513,7 +3584,7 @@ "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.1" } }, "node_modules/chokidar/node_modules/braces": { @@ -3726,9 +3797,9 @@ } }, "node_modules/cli-highlight": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz", - "integrity": "sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "dependencies": { "chalk": "^4.0.0", @@ -3736,7 +3807,7 @@ "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "bin": { "highlight": "bin/highlight" @@ -3746,6 +3817,15 @@ "npm": ">=5.0.0" } }, + "node_modules/cli-highlight/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3777,6 +3857,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "node_modules/cli-highlight/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3804,6 +3895,41 @@ "node": ">=8" } }, + "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3816,6 +3942,59 @@ "node": ">=8" } }, + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/cli-spinners": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", @@ -3846,7 +4025,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3857,7 +4035,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -3866,7 +4043,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -3875,7 +4051,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3889,7 +4064,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -3921,9 +4095,9 @@ } }, "node_modules/codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==" + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", + "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" }, "node_modules/collection-visit": { "version": "1.0.0", @@ -4009,11 +4183,6 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "node_modules/component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -4102,9 +4271,9 @@ } }, "node_modules/consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "node_modules/console-browserify": { "version": "1.2.0", @@ -4361,9 +4530,9 @@ } }, "node_modules/core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", "dev": true, "hasInstallScript": true, "funding": { @@ -4372,12 +4541,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", "dev": true, "dependencies": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.1", "semver": "7.0.0" }, "funding": { @@ -4562,15 +4731,15 @@ } }, "node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, "node_modules/css-select-base-adapter": { @@ -4602,12 +4771,15 @@ } }, "node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true, "engines": { - "node": "*" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/cssesc": { @@ -4804,7 +4976,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -5230,9 +5401,9 @@ } }, "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "dependencies": { "dom-serializer": "0", @@ -5318,23 +5489,23 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.627", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.627.tgz", - "integrity": "sha512-O5IVRS4sCxP2+vECAp7uHkaI8V+dKYpuCyBcLn+hqVAOy/RONd8zx+6eH7TuWSTBYs/oUrzBXkNMZuVsQd58kQ==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, "node_modules/elliptic/node_modules/bn.js": { @@ -5345,8 +5516,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -5373,31 +5543,22 @@ } }, "node_modules/engine.io-client": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.0.5.tgz", - "integrity": "sha512-1lkn0QdekHQPMTcxUh8LqIuxQHNtKV5GvqkQzmZ1rYKAvB6puMm13U7K1ps3OQZ4joE46asQiAKrcdL9weNEVw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.1.tgz", + "integrity": "sha512-iYasV/EttP/2pLrdowe9G3zwlNIFhwny8VSIh+vPlMnYZqSzLsTzSLa9hFy015OrH1s4fzoYxeHjVkO8hSFKwg==", "dependencies": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", - "debug": "~4.1.0", + "debug": "~4.3.1", "engine.io-parser": "~4.0.1", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.2.1", + "ws": "~7.4.2", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" } }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/engine.io-parser": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", @@ -5410,9 +5571,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -5435,18 +5596,18 @@ } }, "node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { "prr": "~1.0.1" }, @@ -5473,23 +5634,25 @@ } }, "node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", + "is-negative-zero": "^2.0.1", "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -5950,15 +6113,15 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=0.8.0" } }, "node_modules/figgy-pudding": { @@ -6086,7 +6249,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -6105,9 +6267,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", "funding": [ { "type": "individual", @@ -6233,10 +6395,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "Please update to v 2.2.x", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "hasInstallScript": true, "optional": true, "os": [ @@ -6265,15 +6426,14 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -6314,9 +6474,9 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6327,9 +6487,6 @@ }, "engines": { "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { @@ -6389,9 +6546,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==" }, "node_modules/gzip-size": { "version": "5.1.1", @@ -6584,9 +6741,9 @@ "dev": true }, "node_modules/highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", "dev": true, "engines": { "node": "*" @@ -6648,9 +6805,9 @@ "dev": true }, "node_modules/html-entities": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", - "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "node_modules/html-minifier": { @@ -6803,6 +6960,12 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "node_modules/http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -7196,9 +7359,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, "engines": { "node": ">= 0.4" @@ -7429,11 +7592,12 @@ } }, "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" }, "engines": { @@ -7675,9 +7839,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dependencies": { "minimist": "^1.2.5" }, @@ -7822,7 +7986,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -8092,19 +8255,19 @@ } }, "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "dependencies": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" }, "engines": { "node": ">= 0.6" @@ -8455,9 +8618,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "node_modules/node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "node_modules/normalize-package-data": { @@ -8898,7 +9061,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -9046,7 +9208,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -10160,9 +10321,9 @@ } }, "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -10245,41 +10406,16 @@ }, "engines": { "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -10312,9 +10448,9 @@ "dev": true }, "node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -10348,14 +10484,14 @@ "devOptional": true }, "node_modules/renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "dependencies": { - "css-select": "^1.1.0", + "css-select": "^2.0.2", "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", + "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" } @@ -10442,7 +10578,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10450,8 +10585,7 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "node_modules/requires-port": { "version": "1.0.0", @@ -10588,9 +10722,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.30.0.tgz", - "integrity": "sha512-26EUhOXRLaUY7+mWuRFqGeGGNmhB1vblpTENO1Z7mAzzIZeVxZr9EZoaY1kyGLFWdSOZxRMAufiN2mkbO6dAlw==", + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", "dependencies": { "chokidar": ">=2.0.0 <4.0.0" }, @@ -10602,9 +10736,9 @@ } }, "node_modules/sass-loader": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", - "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "dependencies": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -10870,8 +11004,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "node_modules/set-immediate-shim": { "version": "1.0.1", @@ -10970,9 +11103,9 @@ "dev": true }, "node_modules/simple-git": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz", - "integrity": "sha512-/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==", + "version": "2.34.2", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", + "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", "dependencies": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", @@ -11176,77 +11309,58 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/socket.io-client": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.0.3.tgz", - "integrity": "sha512-kwCJAKb6JMqE9ZYXg78Dgt8rYLSwtJ/g/LJqpb/pOTFRZMSr1cKAsCaisHZ+IBwKHBY7DYOOkjtkHqseY3ZLpw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", + "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", "dependencies": { "@types/component-emitter": "^1.2.10", - "backo2": "1.0.2", - "component-bind": "1.0.0", + "backo2": "~1.0.2", "component-emitter": "~1.3.0", - "debug": "~4.1.0", - "engine.io-client": "~4.0.0", + "debug": "~4.3.1", + "engine.io-client": "~4.1.0", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.1" + "socket.io-parser": "~4.0.4" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/socket.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.2.tgz", - "integrity": "sha512-Bs3IYHDivwf+bAAuW/8xwJgIiBNtlvnjYRc4PbXgniLmcP1BrakBoq/QhO24rgtgW7VZ7uAaswRGxutUnlAK7g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "dependencies": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", - "debug": "~4.1.0" + "debug": "~4.3.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "dependencies": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" } }, "node_modules/sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "dependencies": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" } }, "node_modules/sockjs-client/node_modules/debug": { @@ -11258,18 +11372,6 @@ "ms": "^2.1.1" } }, - "node_modules/sockjs-client/node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -11325,9 +11427,9 @@ } }, "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "node_modules/spdx-correct": { "version": "3.1.1", @@ -11783,44 +11885,10 @@ "node": ">=4.0.0" } }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "node_modules/sweetalert2": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.12.5.tgz", - "integrity": "sha512-AyHHvwIIkelpfTLAKb3RDdOJv5rXoKGfMzcWr9lx6EEK/PnRU3bZosvnJavXgf2f5Uaz+N3KlqtDOgLVdi33hA==", + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.14.0.tgz", + "integrity": "sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw==", "funding": { "url": "https://sweetalert2.github.io/#donations" } @@ -11905,6 +11973,26 @@ "node": ">= 8" } }, + "node_modules/terser-webpack-plugin/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/terser-webpack-plugin/node_modules/p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -12360,6 +12448,14 @@ "node": ">=0.10.0" } }, + "node_modules/unxhr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", + "integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==", + "engines": { + "node": ">=8.11" + } + }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -12377,9 +12473,9 @@ "dev": true }, "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } @@ -12423,9 +12519,9 @@ } }, "node_modules/url-loader/node_modules/mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true, "bin": { "mime": "cli.js" @@ -12593,9 +12689,9 @@ "dev": true }, "node_modules/vue-loader": { - "version": "15.9.5", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.5.tgz", - "integrity": "sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA==", + "version": "15.9.6", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", + "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", "dev": true, "dependencies": { "@vue/component-compiler-utils": "^3.1.0", @@ -12619,9 +12715,9 @@ }, "node_modules/vue-loader-v16": { "name": "vue-loader", - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.1.tgz", - "integrity": "sha512-wz/+HFg/3SBayHWAlZXARcnDTl3VOChrfW9YnxvAweiuyKX/7IGx1ad/4yJHmwhgWlOVYMAbTiI7GV8G33PfGQ==", + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", "dev": true, "optional": true, "dependencies": { @@ -12728,11 +12824,11 @@ "dev": true }, "node_modules/vue-socket.io-extended": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.5.tgz", - "integrity": "sha512-7OUA76lpqHqVWD6+Qpc9UnEGBL4HzswDnaJSSOtd0TGwOLj+E2L59ExwLhHUuXB7QlLheFU/RzGJQ708YysABA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.6.tgz", + "integrity": "sha512-fUt5ZxXntNTG0vkoHjUjpu8jKhao5MEfG4qj/zA2FOQMnbLVf/X/sLM2uypCtebowAyGPeoVXLq7U3GhguJhsg==", "dependencies": { - "@types/socket.io-client": "1.4.34" + "@types/socket.io-client": "1.4.35" } }, "node_modules/vue-style-loader": { @@ -12752,11 +12848,14 @@ "dev": true }, "node_modules/vue-sweetalert2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.1.1.tgz", - "integrity": "sha512-9ytddeXkjixIGzUxgmVAVdIOrbPiWcjEPQuO3mEPq4zc8clbQbhOn192zvYUdcM0SbRPzbafyXTFx9mNMNJzQA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.2.0.tgz", + "integrity": "sha512-6D7sNEWiUek8eNUl4oHJJvQPiXFVKGrtoJnUaturyVxBY7+MYQF1C7YEiktSp2UtatUPdObt+ozU5dN1TnvD4w==", "dependencies": { "sweetalert2": "10.x" + }, + "peerDependencies": { + "vue": "*" } }, "node_modules/vue-template-compiler": { @@ -12783,9 +12882,9 @@ } }, "node_modules/vue2-datepicker": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.8.2.tgz", - "integrity": "sha512-GUoNLyzPl3Xi7ruSQFF59BzMXWuflxzP9yM3P4ARz9GfhzLLFgYVLAEkJi6DNQU7zozBMzz+VNIQDwPaDNMo6Q==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.0.tgz", + "integrity": "sha512-nRqIZx5Ks0TDHFyzyHYIlfmuszEsEvRhwJ6HGuGGHQpjOfrIgkJ9B0pnEEJaVS3LKX6IWCVQMUq0H7I2UKmHqA==", "dependencies": { "date-format-parse": "^0.2.6" }, @@ -12836,9 +12935,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/vuex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", - "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", "peerDependencies": { "vue": "^2.0.0" } @@ -12985,9 +13084,9 @@ } }, "node_modules/webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -12997,7 +13096,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -13107,9 +13206,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true, "bin": { "mime": "cli.js" @@ -13119,9 +13218,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "dependencies": { "ansi-html": "0.0.7", @@ -13144,11 +13243,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -13718,15 +13817,17 @@ } }, "node_modules/websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" }, "engines": { - "node": ">=0.6.0" + "node": ">=0.8.0" } }, "node_modules/websocket-extensions": { @@ -13753,8 +13854,7 @@ "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "node_modules/wordwrap": { "version": "0.0.3", @@ -13776,7 +13876,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -13790,7 +13889,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -13799,7 +13897,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13814,7 +13911,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13825,14 +13921,12 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -13841,7 +13935,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13855,7 +13948,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -13869,9 +13961,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz", - "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "engines": { "node": ">=8.3.0" }, @@ -13915,10 +14007,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -13930,7 +14021,7 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "yargs-parser": "^18.1.1" }, "engines": { "node": ">=8" @@ -13940,7 +14031,6 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -13953,7 +14043,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, "engines": { "node": ">=6" } @@ -13962,7 +14051,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -13971,7 +14059,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -13980,7 +14067,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13994,7 +14080,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -14009,35 +14094,52 @@ } }, "dependencies": { + "@asciidoctor/cli": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@asciidoctor/cli/-/cli-3.4.0.tgz", + "integrity": "sha512-jOtxA0I6zB+6z+GGwm9+xhlmGTqCTkFPE902L6fauFlE6v7LxjhLYNxvjDVyn0zMrFLybvoSRcAnM3DcticNoQ==", + "requires": { + "yargs": "15.3.1" + } + }, + "@asciidoctor/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.1.tgz", + "integrity": "sha512-wdVseZjCcBvFfWSsCGyyvJkSQJ9UmXDdTDKnL+HerM12XQq4eWtk7lniSIKO459ipqImcsrueib47EtkzzRjLw==", + "requires": { + "asciidoctor-opal-runtime": "0.3.0", + "unxhr": "1.0.1" + } + }, "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", "dev": true }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -14048,199 +14150,188 @@ } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz", + "integrity": "sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-validator-option": "^7.12.11", "browserslist": "^4.14.5", "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz", + "integrity": "sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", + "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "dev": true, "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -14253,12 +14344,12 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -14274,75 +14365,75 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", + "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.13.tgz", + "integrity": "sha512-x2aOr5w4ARJoYHFKoG2iEUL/Xe99JAJXjAasHijXp3/KgaetJXGE62SmHgsW3Tia/XUT5AxF2YC0F+JyhPY/0Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13" } }, "@babel/plugin-proposal-dynamic-import": { @@ -14356,105 +14447,105 @@ } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", + "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", + "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", + "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", + "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz", + "integrity": "sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", + "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -14467,21 +14558,21 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-dynamic-import": { @@ -14512,12 +14603,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -14575,364 +14666,363 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", + "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", + "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz", - "integrity": "sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", + "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", + "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", + "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", + "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", + "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", + "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", + "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", + "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", + "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", + "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.13.tgz", + "integrity": "sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.13", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.13", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", @@ -14942,41 +15032,41 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "core-js-compat": "^3.8.0", "semver": "^5.5.0" } @@ -14995,46 +15085,46 @@ } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz", - "integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -15043,38 +15133,38 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz", - "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==" + "version": "0.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.34.tgz", + "integrity": "sha512-XcIn3iYbTEzGIxD0/dY5+4f019jIcEIWBiHc3KrmK/ROahwxmZ/s+tdj97p/5K0klz4zZUiMfUlYP0ajhSJjmA==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz", - "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==", + "version": "1.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.34.tgz", + "integrity": "sha512-0KNN0nc5eIzaJxlv43QcDmTkDY1CqeN6J7OCGSs+fwGPdtv0yOQqRjieopBCmw+yd7uD3N2HeNL3Zm5isDleLg==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/free-brands-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.1.tgz", - "integrity": "sha512-pkTZIWn7iuliCCgV+huDfZmZb2UjslalXGDA2PcqOVUYJmYL11y6ooFiMJkJvUZu+xgAc1gZgQe+Px12mZF0CA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.2.tgz", + "integrity": "sha512-YPlVjE1cEO+OJ9I9ay3TQ3I88+XkxMTYwnnddqAboxLhPNGncsHV0DjWOVLCyuAY66yPfyndWwVn4v7vuqsO1g==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz", - "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.2.tgz", + "integrity": "sha512-ZfCU+QjaFsdNZmOGmfqEWhzI3JOe37x5dF4kz9GeXvKn/sTxhqMtZ7mh3lBf76SvcYY5/GKFuyG7p1r4iWMQqw==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/vue-fontawesome": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.0.tgz", - "integrity": "sha512-N3VKw7KzRfOm8hShUVldpinlm13HpvLBQgT63QS+aCrIRLwjoEUXY5Rcmttbfb6HkzZaeqjLqd/aZCQ53UjQpg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.2.tgz", + "integrity": "sha512-ecpKSBUWXsxRJVi/dbOds4tkKwEcBQ1JSDZFzE2jTFpF8xIh3OgTX8POIor6bOltjibr3cdEyvnDjecMwUmxhQ==", "requires": {} }, "@hapi/address": { @@ -15270,21 +15360,21 @@ } }, "@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", "dev": true, "requires": { "@types/node": "*", @@ -15303,9 +15393,9 @@ } }, "@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", "dev": true, "requires": { "@types/node": "*" @@ -15323,14 +15413,14 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimatch": { @@ -15346,9 +15436,9 @@ "dev": true }, "@types/node": { - "version": "14.14.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz", - "integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "@types/normalize-package-data": { @@ -15376,19 +15466,19 @@ "dev": true }, "@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", "dev": true, "requires": { - "@types/mime": "*", + "@types/mime": "^1", "@types/node": "*" } }, "@types/socket.io-client": { - "version": "1.4.34", - "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz", - "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==" + "version": "1.4.35", + "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz", + "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw==" }, "@types/source-list-map": { "version": "0.1.2", @@ -15403,9 +15493,9 @@ "dev": true }, "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz", + "integrity": "sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -15420,9 +15510,9 @@ } }, "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "requires": { "@types/anymatch": "*", @@ -15480,15 +15570,15 @@ "dev": true }, "@vue/babel-helper-vue-transform-on": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz", - "integrity": "sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", "dev": true }, "@vue/babel-plugin-jsx": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.5.tgz", - "integrity": "sha512-IUxERGiEeX9i1Vt9UtBYqOtfPYjOwEP0sFyPRI8xjkXAhJpaAIwa8JdcYakOqzIlXwhk3XD+7VFdyr/v+rLLFw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", + "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -15496,7 +15586,7 @@ "@babel/template": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.0-rc.2", + "@vue/babel-helper-vue-transform-on": "^1.0.2", "camelcase": "^6.0.0", "html-tags": "^3.1.0", "svg-tags": "^1.0.0" @@ -15525,9 +15615,9 @@ } }, "@vue/babel-preset-app": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.9.tgz", - "integrity": "sha512-d2H4hFnJsGnZtJAAZIbo1dmQJ2SI1MYix1Tc9/etlnJtCDPRHeCNodCSeuLgDwnoAyT3unzyHmTtaO56KRDuOQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.11.tgz", + "integrity": "sha512-9VoFlm/9vhynKNGM+HA7qBsoQSUEnuG5i5kcFI9vTLLrh8A0fxrwUyVLLppO6T1sAZ6vrKdQFnEkjL+RkRAwWQ==", "dev": true, "requires": { "@babel/core": "^7.11.0", @@ -15656,20 +15746,20 @@ } }, "@vue/cli-overlay": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.9.tgz", - "integrity": "sha512-E2PWv6tCdUz+eEDj2Th2oxiKmzMe02qi0PcxiNaO7oaqggmEOrp1rLgop7DWpiLDBiqUZk2x0vjK/q2Tz8z/eg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.11.tgz", + "integrity": "sha512-aDQNw+oGk5+KR0vL9TocjfzyYHTJxR2lS8iPbcL4lRglCs2dudOE7QWXypj5dM4rQus0jJ5fxJTS55o9uy9fcQ==", "dev": true }, "@vue/cli-plugin-babel": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.9.tgz", - "integrity": "sha512-2tzaJU5yqAfXVhg1aYyd/Yfif6brv+tDZ49D1aOk7ZgMIwH5YUa0yo5HPcPOcmfpoVoNYcpqVYRfyT4EXIYSpg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.11.tgz", + "integrity": "sha512-ogUMeO2waDtghIWwmuAzMJAnnPdmqRdJlwJDca9u6BK9jX1bxNThBSFS/MN2VmlYzulOnqH4zAC87jTWNg/czg==", "dev": true, "requires": { "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/babel-preset-app": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "babel-loader": "^8.1.0", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", @@ -15677,25 +15767,25 @@ } }, "@vue/cli-plugin-router": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.9.tgz", - "integrity": "sha512-eBBfbZpQ1sJrdlx8i7iReFxSnuzwmrv+s2OCT3kjBd6uWRqGnD4VihpS4srC7vZLzDQrDplumSn0a93L9Qf3wQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.11.tgz", + "integrity": "sha512-09tzw3faOs48IUPwLutYaNC7eoyyL140fKruTwdFdXuBLDdSQVida57Brx0zj2UKXc5qF8hk4GoGrOshN0KfNg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.5.9" + "@vue/cli-shared-utils": "^4.5.11" } }, "@vue/cli-plugin-vuex": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.9.tgz", - "integrity": "sha512-mFNIJhYiJjzCgytkDHX00ROy5Yzl7prkZpUbeDE0biwcLteMf2s3qZVbESOQl6GcviqcfEt2f3tHQQtLNa+OLg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.11.tgz", + "integrity": "sha512-JBPeZLubiSHbRkEKDj0tnLiU43AJ3vt6JULn4IKWH1XWZ6MFC8vElaP5/AA4O3Zko5caamDDBq3TRyxdA2ncUQ==", "dev": true, "requires": {} }, "@vue/cli-service": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.9.tgz", - "integrity": "sha512-E3XlfM0q+UnnjbC9rwLIWNo2umZCRwnlMJY0KOhY1hFvqisGIYzFmQQ4o01KGyTx2BZNMuQg7Kw+BZ5gyM1Wig==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.11.tgz", + "integrity": "sha512-FXeJh2o6B8q/njv2Ebhe9EsLXt9sPMXGDY5zVvcV5jgj9wkoej9yLfnmwWCau5kegNClP6bcM+BEHuMYxJ+ubQ==", "dev": true, "requires": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", @@ -15704,10 +15794,10 @@ "@types/minimist": "^1.2.0", "@types/webpack": "^4.0.0", "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.9", - "@vue/cli-plugin-router": "^4.5.9", - "@vue/cli-plugin-vuex": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/cli-overlay": "^4.5.11", + "@vue/cli-plugin-router": "^4.5.11", + "@vue/cli-plugin-vuex": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -15747,7 +15837,7 @@ "thread-loader": "^2.1.3", "url-loader": "^2.2.0", "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7", + "vue-loader-v16": "npm:vue-loader@^16.1.0", "vue-style-loader": "^4.1.2", "webpack": "^4.0.0", "webpack-bundle-analyzer": "^3.8.0", @@ -15757,9 +15847,9 @@ } }, "@vue/cli-shared-utils": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.9.tgz", - "integrity": "sha512-anvsrv+rkQC+hgxaT2nQQxnSWSsIzyysZ36LO7qPjXvDRBvcvKLAAviFlUkYbZ+ntbV8puzJ3zw+gUhQw4SEVA==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz", + "integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -16194,6 +16284,24 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, + "asciidoctor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/asciidoctor/-/asciidoctor-2.2.1.tgz", + "integrity": "sha512-adH/pDPDZCd4eb1ku7N8WepN+O6Yl0lVQPWE/ep7+0BFkBm4P/Sx8DUqzZ+X+nG6WSZlma5Uu0gNuDgrc7etFg==", + "requires": { + "@asciidoctor/cli": "3.4.0", + "@asciidoctor/core": "2.2.1" + } + }, + "asciidoctor-opal-runtime": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.0.tgz", + "integrity": "sha512-YapVwl2qbbs6sIe1dvAlMpBzQksFVTSa2HOduOKFNhZlE9bNmn+moDgGVvjWPbzMPo/g8gItyTHfWB2u7bQxag==", + "requires": { + "glob": "7.1.3", + "unxhr": "1.0.1" + } + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -16316,9 +16424,9 @@ "dev": true }, "axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { "follow-redirects": "^1.10.0" } @@ -16421,9 +16529,9 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bindings": { "version": "1.5.0", @@ -16505,15 +16613,15 @@ "dev": true }, "bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", "requires": {} }, "bootstrap-vue": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.0.tgz", - "integrity": "sha512-R55XY83Ro3w8OfVEWn/eOyw8eayGDdZs0qYFuvG29eW4zVb9NtB4LwgskOhIaqF3Yzac/6ra/FqQUm+uVhDYfA==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", "requires": { "@nuxt/opencollective": "^0.3.2", "bootstrap": ">=4.5.3 <5.0.0", @@ -16653,16 +16761,16 @@ } }, "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" } }, "buffer": { @@ -16729,6 +16837,19 @@ "y18n": "^4.0.0" }, "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -16770,13 +16891,13 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "call-me-maybe": { @@ -16838,9 +16959,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001168", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz", - "integrity": "sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -16873,13 +16994,13 @@ "dev": true }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -17053,9 +17174,9 @@ } }, "cli-highlight": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz", - "integrity": "sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -17063,9 +17184,15 @@ "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -17085,6 +17212,17 @@ "supports-color": "^7.1.0" } }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -17106,6 +17244,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -17114,6 +17278,44 @@ "requires": { "has-flag": "^4.0.0" } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true } } }, @@ -17138,7 +17340,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -17148,20 +17349,17 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17172,7 +17370,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -17197,9 +17394,9 @@ } }, "codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==" + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", + "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" }, "collection-visit": { "version": "1.0.0", @@ -17279,11 +17476,6 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -17359,9 +17551,9 @@ "dev": true }, "consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "console-browserify": { "version": "1.2.0", @@ -17564,18 +17756,18 @@ } }, "core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", "dev": true }, "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", "dev": true, "requires": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.1", "semver": "7.0.0" }, "dependencies": { @@ -17728,15 +17920,15 @@ } }, "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, "css-select-base-adapter": { @@ -17764,9 +17956,9 @@ } }, "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -17920,8 +18112,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -18263,9 +18454,9 @@ } }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { "dom-serializer": "0", @@ -18338,23 +18529,23 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.627", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.627.tgz", - "integrity": "sha512-O5IVRS4sCxP2+vECAp7uHkaI8V+dKYpuCyBcLn+hqVAOy/RONd8zx+6eH7TuWSTBYs/oUrzBXkNMZuVsQd58kQ==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { @@ -18367,8 +18558,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "3.0.0", @@ -18389,30 +18579,20 @@ } }, "engine.io-client": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.0.5.tgz", - "integrity": "sha512-1lkn0QdekHQPMTcxUh8LqIuxQHNtKV5GvqkQzmZ1rYKAvB6puMm13U7K1ps3OQZ4joE46asQiAKrcdL9weNEVw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.1.tgz", + "integrity": "sha512-iYasV/EttP/2pLrdowe9G3zwlNIFhwny8VSIh+vPlMnYZqSzLsTzSLa9hFy015OrH1s4fzoYxeHjVkO8hSFKwg==", "requires": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", - "debug": "~4.1.0", + "debug": "~4.3.1", "engine.io-parser": "~4.0.1", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.2.1", + "ws": "~7.4.2", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } } }, "engine.io-parser": { @@ -18424,9 +18604,9 @@ } }, "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -18445,15 +18625,15 @@ } }, "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } @@ -18477,23 +18657,25 @@ } }, "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", + "is-negative-zero": "^2.0.1", "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" } }, "es-to-primitive": { @@ -18857,9 +19039,9 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -18967,7 +19149,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -18983,9 +19164,9 @@ } }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" }, "for-in": { "version": "1.0.2", @@ -19073,9 +19254,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, "function-bind": { @@ -19093,13 +19274,12 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -19131,9 +19311,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19193,9 +19373,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==" }, "gzip-size": { "version": "5.1.1", @@ -19338,9 +19518,9 @@ "dev": true }, "highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", "dev": true }, "hmac-drbg": { @@ -19396,9 +19576,9 @@ "dev": true }, "html-entities": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", - "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "html-minifier": { @@ -19527,6 +19707,12 @@ } } }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -19819,9 +20005,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-color-stop": { @@ -19979,11 +20165,12 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -20176,9 +20363,9 @@ "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "requires": { "minimist": "^1.2.5" } @@ -20298,7 +20485,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "requires": { "p-locate": "^4.1.0" } @@ -20519,16 +20705,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "mimic-fn": { @@ -20828,9 +21014,9 @@ } }, "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "normalize-package-data": { @@ -21168,7 +21354,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "requires": { "p-limit": "^2.2.0" } @@ -21296,8 +21481,7 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -22241,9 +22425,9 @@ }, "dependencies": { "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -22316,34 +22500,13 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpu-core": { @@ -22367,9 +22530,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -22396,14 +22559,14 @@ "devOptional": true }, "renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "requires": { - "css-select": "^1.1.0", + "css-select": "^2.0.2", "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", + "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" }, @@ -22474,14 +22637,12 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "requires-port": { "version": "1.0.0", @@ -22596,17 +22757,17 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.30.0.tgz", - "integrity": "sha512-26EUhOXRLaUY7+mWuRFqGeGGNmhB1vblpTENO1Z7mAzzIZeVxZr9EZoaY1kyGLFWdSOZxRMAufiN2mkbO6dAlw==", + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", - "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "requires": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -22815,8 +22976,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -22896,9 +23056,9 @@ "dev": true }, "simple-git": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz", - "integrity": "sha512-/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==", + "version": "2.34.2", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", + "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", "requires": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", @@ -23069,73 +23229,52 @@ } }, "socket.io-client": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.0.3.tgz", - "integrity": "sha512-kwCJAKb6JMqE9ZYXg78Dgt8rYLSwtJ/g/LJqpb/pOTFRZMSr1cKAsCaisHZ+IBwKHBY7DYOOkjtkHqseY3ZLpw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", + "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", "requires": { "@types/component-emitter": "^1.2.10", - "backo2": "1.0.2", - "component-bind": "1.0.0", + "backo2": "~1.0.2", "component-emitter": "~1.3.0", - "debug": "~4.1.0", - "engine.io-client": "~4.0.0", + "debug": "~4.3.1", + "engine.io-client": "~4.1.0", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } + "socket.io-parser": "~4.0.4" } }, "socket.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.2.tgz", - "integrity": "sha512-Bs3IYHDivwf+bAAuW/8xwJgIiBNtlvnjYRc4PbXgniLmcP1BrakBoq/QhO24rgtgW7VZ7uAaswRGxutUnlAK7g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "requires": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", - "debug": "~4.1.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } + "debug": "~4.3.1" } }, "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" } }, "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "requires": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" }, "dependencies": { "debug": { @@ -23146,15 +23285,6 @@ "requires": { "ms": "^2.1.1" } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } } } }, @@ -23206,9 +23336,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "spdx-correct": { "version": "3.1.1", @@ -23585,42 +23715,12 @@ "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - } } }, "sweetalert2": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.12.5.tgz", - "integrity": "sha512-AyHHvwIIkelpfTLAKb3RDdOJv5rXoKGfMzcWr9lx6EEK/PnRU3bZosvnJavXgf2f5Uaz+N3KlqtDOgLVdi33hA==" + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.14.0.tgz", + "integrity": "sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw==" }, "tapable": { "version": "1.1.3", @@ -23692,6 +23792,20 @@ "unique-filename": "^1.1.1" } }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -24045,6 +24159,11 @@ } } }, + "unxhr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", + "integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==" + }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -24058,9 +24177,9 @@ "dev": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -24098,9 +24217,9 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } @@ -24236,9 +24355,9 @@ "dev": true }, "vue-loader": { - "version": "15.9.5", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.5.tgz", - "integrity": "sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA==", + "version": "15.9.6", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", + "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", "dev": true, "requires": { "@vue/component-compiler-utils": "^3.1.0", @@ -24257,9 +24376,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.1.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.1.tgz", - "integrity": "sha512-wz/+HFg/3SBayHWAlZXARcnDTl3VOChrfW9YnxvAweiuyKX/7IGx1ad/4yJHmwhgWlOVYMAbTiI7GV8G33PfGQ==", + "version": "npm:vue-loader@16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", "dev": true, "optional": true, "requires": { @@ -24338,11 +24457,11 @@ } }, "vue-socket.io-extended": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.5.tgz", - "integrity": "sha512-7OUA76lpqHqVWD6+Qpc9UnEGBL4HzswDnaJSSOtd0TGwOLj+E2L59ExwLhHUuXB7QlLheFU/RzGJQ708YysABA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.6.tgz", + "integrity": "sha512-fUt5ZxXntNTG0vkoHjUjpu8jKhao5MEfG4qj/zA2FOQMnbLVf/X/sLM2uypCtebowAyGPeoVXLq7U3GhguJhsg==", "requires": { - "@types/socket.io-client": "1.4.34" + "@types/socket.io-client": "1.4.35" } }, "vue-style-loader": { @@ -24364,9 +24483,9 @@ } }, "vue-sweetalert2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.1.1.tgz", - "integrity": "sha512-9ytddeXkjixIGzUxgmVAVdIOrbPiWcjEPQuO3mEPq4zc8clbQbhOn192zvYUdcM0SbRPzbafyXTFx9mNMNJzQA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.2.0.tgz", + "integrity": "sha512-6D7sNEWiUek8eNUl4oHJJvQPiXFVKGrtoJnUaturyVxBY7+MYQF1C7YEiktSp2UtatUPdObt+ozU5dN1TnvD4w==", "requires": { "sweetalert2": "10.x" } @@ -24393,9 +24512,9 @@ "requires": {} }, "vue2-datepicker": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.8.2.tgz", - "integrity": "sha512-GUoNLyzPl3Xi7ruSQFF59BzMXWuflxzP9yM3P4ARz9GfhzLLFgYVLAEkJi6DNQU7zozBMzz+VNIQDwPaDNMo6Q==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.0.tgz", + "integrity": "sha512-nRqIZx5Ks0TDHFyzyHYIlfmuszEsEvRhwJ6HGuGGHQpjOfrIgkJ9B0pnEEJaVS3LKX6IWCVQMUq0H7I2UKmHqA==", "requires": { "date-format-parse": "^0.2.6" } @@ -24440,9 +24559,9 @@ } }, "vuex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", - "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", "requires": {} }, "watchpack": { @@ -24563,9 +24682,9 @@ } }, "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -24575,7 +24694,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -24754,17 +24873,17 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } }, "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -24787,11 +24906,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -25132,11 +25251,13 @@ } }, "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -25158,8 +25279,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wordwrap": { "version": "0.0.3", @@ -25178,7 +25298,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -25188,14 +25307,12 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -25204,7 +25321,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25212,20 +25328,17 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -25236,7 +25349,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -25249,9 +25361,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz", - "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "requires": {} }, "xmlhttprequest-ssl": { @@ -25275,10 +25387,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "requires": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -25290,26 +25401,23 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "yargs-parser": "^18.1.1" }, "dependencies": { "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -25320,7 +25428,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -25331,7 +25438,6 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -25340,8 +25446,7 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" } } }, diff --git a/package.json b/package.json index a1b3dcc..a692088 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@fortawesome/free-brands-svg-icons": "^5.15.1", "@fortawesome/free-solid-svg-icons": "^5.15.1", "@fortawesome/vue-fontawesome": "^2.0.0", + "asciidoctor": "^2.2.0", "axios": "^0.21.0", "bootstrap-vue": "^2.19.0", "express": "^4.17.1", @@ -35,7 +36,7 @@ "vue-template-compiler": "^2.6.12", "vue-wait": "^1.4.8", "vue2-datepicker": "^3.8.2", - "vuetable-2": "^1.7.5", + "vuetable-2": "^1.3.1", "vuex": "^3.6.0" }, "devDependencies": { diff --git a/src-local/LabLearningObject-hybrid b/src-local/LabLearningObject-hybrid new file mode 160000 index 0000000..67928e8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid @@ -0,0 +1 @@ +Subproject commit 67928e846526796d305c87e33ed2b88cad3834f6 diff --git a/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html b/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html b/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html b/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/19c9pc.html b/src-local/LabLearningObject-hybrid-tmp/19c9pc.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/19c9pc.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html b/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html b/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html b/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html b/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html b/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/38lhb.html b/src-local/LabLearningObject-hybrid-tmp/38lhb.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/38lhb.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html b/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3evffi.html b/src-local/LabLearningObject-hybrid-tmp/3evffi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3evffi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html b/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html b/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html b/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html b/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html b/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html b/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html b/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html b/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html b/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html b/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html b/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html b/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6edtl.html b/src-local/LabLearningObject-hybrid-tmp/6edtl.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6edtl.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html b/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html b/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html new file mode 100644 index 0000000..687ac48 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html @@ -0,0 +1,719 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6tcftt.html b/src-local/LabLearningObject-hybrid-tmp/6tcftt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6tcftt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html b/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html b/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html new file mode 100644 index 0000000..206ae57 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html @@ -0,0 +1,714 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html b/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html b/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7svezi.html b/src-local/LabLearningObject-hybrid-tmp/7svezi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7svezi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html b/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/83hh8g.html b/src-local/LabLearningObject-hybrid-tmp/83hh8g.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/83hh8g.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html b/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html b/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html b/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html b/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/98p2lr.html b/src-local/LabLearningObject-hybrid-tmp/98p2lr.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/98p2lr.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html b/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html b/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html b/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html b/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html b/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9s18a8.html b/src-local/LabLearningObject-hybrid-tmp/9s18a8.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9s18a8.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html b/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html b/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html b/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/an1dho.html b/src-local/LabLearningObject-hybrid-tmp/an1dho.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/an1dho.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html b/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html b/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html b/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html b/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html b/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b9rbn.html b/src-local/LabLearningObject-hybrid-tmp/b9rbn.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b9rbn.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html b/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html b/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html b/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html b/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html b/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html new file mode 100644 index 0000000..f2775b3 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise answer

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bwmp2.html b/src-local/LabLearningObject-hybrid-tmp/bwmp2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bwmp2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html b/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html b/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c80kmq.html b/src-local/LabLearningObject-hybrid-tmp/c80kmq.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c80kmq.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html b/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ca447s.html b/src-local/LabLearningObject-hybrid-tmp/ca447s.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ca447s.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html b/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ce22he.html b/src-local/LabLearningObject-hybrid-tmp/ce22he.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ce22he.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html b/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html b/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html b/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html b/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html b/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html b/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html b/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html b/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dhscge.html b/src-local/LabLearningObject-hybrid-tmp/dhscge.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dhscge.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html b/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html new file mode 100644 index 0000000..f2775b3 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise answer

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html b/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html new file mode 100644 index 0000000..c905b40 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dtniws.html b/src-local/LabLearningObject-hybrid-tmp/dtniws.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dtniws.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dtvjh.html b/src-local/LabLearningObject-hybrid-tmp/dtvjh.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dtvjh.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html b/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html b/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html b/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html b/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html b/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html b/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/f0un7p.html b/src-local/LabLearningObject-hybrid-tmp/f0un7p.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/f0un7p.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/f8ni2.html b/src-local/LabLearningObject-hybrid-tmp/f8ni2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/f8ni2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html b/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/file b/src-local/LabLearningObject-hybrid-tmp/file new file mode 100644 index 0000000..e69de29 diff --git a/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html b/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html b/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html b/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g59w7.html b/src-local/LabLearningObject-hybrid-tmp/g59w7.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g59w7.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g9ddd.html b/src-local/LabLearningObject-hybrid-tmp/g9ddd.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g9ddd.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html b/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html b/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html b/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html new file mode 100644 index 0000000..206ae57 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html @@ -0,0 +1,714 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html b/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html b/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html b/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html b/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html b/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html b/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hig4m3.html b/src-local/LabLearningObject-hybrid-tmp/hig4m3.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hig4m3.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html b/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hqsh4.html b/src-local/LabLearningObject-hybrid-tmp/hqsh4.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hqsh4.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html b/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html b/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html b/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html b/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/is7b5.html b/src-local/LabLearningObject-hybrid-tmp/is7b5.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/is7b5.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html b/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html b/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html b/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jbybog.html b/src-local/LabLearningObject-hybrid-tmp/jbybog.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jbybog.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html b/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jjgf9.html b/src-local/LabLearningObject-hybrid-tmp/jjgf9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jjgf9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html b/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html b/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html b/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html b/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html new file mode 100644 index 0000000..36d6f0a --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html @@ -0,0 +1,343 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/k85fav.html b/src-local/LabLearningObject-hybrid-tmp/k85fav.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/k85fav.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html b/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html b/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html b/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kokznc.html b/src-local/LabLearningObject-hybrid-tmp/kokznc.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kokznc.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html b/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html b/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html b/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html b/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/lozxt2.html b/src-local/LabLearningObject-hybrid-tmp/lozxt2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/lozxt2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html b/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/luhlg.html b/src-local/LabLearningObject-hybrid-tmp/luhlg.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/luhlg.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/m0195j.html b/src-local/LabLearningObject-hybrid-tmp/m0195j.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/m0195j.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html b/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html b/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html b/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html b/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html b/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html b/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html b/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html b/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html b/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html b/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html b/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html b/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html b/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html b/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html b/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html b/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html b/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html b/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html b/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html b/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html b/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html b/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html b/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/q24kt.html b/src-local/LabLearningObject-hybrid-tmp/q24kt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/q24kt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html b/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html b/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html b/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html b/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html b/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html b/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html b/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html new file mode 100644 index 0000000..cfdc196 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html @@ -0,0 +1,175 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html b/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html b/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html b/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html b/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html b/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html b/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html b/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rzize9.html b/src-local/LabLearningObject-hybrid-tmp/rzize9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rzize9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html b/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sw161h.html b/src-local/LabLearningObject-hybrid-tmp/sw161h.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sw161h.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sxel8f.html b/src-local/LabLearningObject-hybrid-tmp/sxel8f.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sxel8f.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html b/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html b/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html b/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html b/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html b/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html b/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ubii0j.html b/src-local/LabLearningObject-hybrid-tmp/ubii0j.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ubii0j.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html b/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html b/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html b/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html b/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html b/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html b/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html b/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vsl0a.html b/src-local/LabLearningObject-hybrid-tmp/vsl0a.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vsl0a.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html b/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html b/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html b/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html b/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html b/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html new file mode 100644 index 0000000..55cb15f --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html @@ -0,0 +1,298 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html b/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html b/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html b/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html b/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html b/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wks9ty.html b/src-local/LabLearningObject-hybrid-tmp/wks9ty.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wks9ty.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html b/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html b/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html b/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html b/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xgjis3.html b/src-local/LabLearningObject-hybrid-tmp/xgjis3.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xgjis3.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html b/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html b/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html b/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html b/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html b/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html b/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html b/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html b/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html b/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html b/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zbkajy.html b/src-local/LabLearningObject-hybrid-tmp/zbkajy.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zbkajy.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html b/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html new file mode 100644 index 0000000..55cb15f --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html @@ -0,0 +1,298 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html b/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html b/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html b/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html b/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/git-update.sh b/src-local/git-update.sh new file mode 100644 index 0000000..f2b2685 --- /dev/null +++ b/src-local/git-update.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +REPOSRC=$1 +LOCALREPO=$2 + +# We do it this way so that we can abstract if from just git later on +LOCALREPO_VC_DIR=$LOCALREPO/.git + +if [ ! -d $LOCALREPO_VC_DIR ] +then + git clone $REPOSRC $LOCALREPO +else + cd $LOCALREPO + git pull $REPOSRC +fi diff --git a/src-local/llo/new.js b/src-local/llo/new.js index 4083f6a..186fc76 100644 --- a/src-local/llo/new.js +++ b/src-local/llo/new.js @@ -31,7 +31,27 @@ origin: function(origin, callback){ // allow requests with no origin //app.use(cors) -app.use(helmet()); +//app.use(helmet()); + +app.use( + helmet({ + frameguard: false, + contentSecurityPolicy: false + }) +); +/* +app.use(helmet.contentSecurityPolicy()); +app.use(helmet.dnsPrefetchControl()); +app.use(helmet.expectCt()); +app.use(helmet.frameguard()); +app.use(helmet.hidePoweredBy()); +app.use(helmet.hsts()); +app.use(helmet.ieNoOpen()); +app.use(helmet.noSniff()); +app.use(helmet.permittedCrossDomainPolicies()); +app.use(helmet.referrerPolicy()); +app.use(helmet.xssFilter()); +*/ app.use(express.json()); var serverPort = 3080; @@ -97,11 +117,225 @@ watcher }); */ +var static_options = { + dotfiles: 'ignore', + etag: false, + extensions: ['html'], + index: false, + redirect: false, + setHeaders: function (res, path, stat) { + res.set('x-timestamp', Date.now()) + } +} + +app.use('/player', express.static('LabLearningObject-hybrid', static_options)) +app.use('/asciidoc', express.static('LabLearningObject-hybrid-tmp', static_options)) // *************************************************** // rest get // *************************************************** +app.post('/save_course_ascii', (req, res, next) => { + + const code = req.body["code"] + let file = Math.random().toString(36).slice(2); + var RES = new Object(); + var showexec = `./LabLearningObject-hybrid-tmp/${file}.html` + //console.log('file '+showexec) + //console.log(req.body) + fs.writeFile(showexec, code, (err) => { + if (err) { + console.error(`exec error: ${err}`); + RES.error = true + RES.error_msg = "no" + RES.data = 'nofile' + res.json(RES) + }else{ + RES.error = false + RES.error_msg = "ok" + RES.data = file + res.json(RES) + } + }); + +}); + +app.get('/get_course_ascii', (req, res, next) => { + + const dir = req.query["dir"] + const file = req.query["file"] + + var showexec = `./LabLearningObject-hybrid/${dir}/${file}` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } +//console.log(data) + var nn = [] + //var datajson = JSON.parse(data); +//console.log(datajson) + + + var RES = new Object(); + RES.error = false + RES.error_msg = "ok" + RES.data = data; + res.json(RES) + }); + +}); + +app.get('/get_course', (req, res, next) => { + + const course = req.query["course"] + + var showexec = `./LabLearningObject-hybrid/${course}/index.js` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } +//console.log(data) + var nn = [] + var datajson = JSON.parse(data); +//console.log(datajson) + + + var RES = new Object(); + RES.code = req.query["action"] + RES.token = req.query["token"] + RES.error = false + RES.error_msg = "ok" + //RES.data = data; + RES.data = datajson; + res.json(RES.data) + }); + +}); + +app.get('/get_llo', (req, res, next) => { + + var RES = new Object(); + const page = req.query["page"] + const per_page = req.query["per_page"] + var level = req.query["level"] + var filter = 'NULL' + RES.sort = req.query["sort"] + if(typeof req.query["filter"] !== "undefined" && req.query["filter"] !== ''){ +//console.log('no') + filter = req.query["filter"] + }else{ +console.log('yes') + } + RES.type = req.query["type"] + + var showexec = `./LabLearningObject-hybrid/index.js` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } + var nn = [] + var datajson = JSON.parse(data); + var datalenth = datajson.length + var results = [] + if(filter !== 'NULL'){ + var grep = new RegExp(filter); + for (var i=0 ; i < datalenth ; i++) + { + if(grep.test(datajson[i]['title'])){ + results.push(datajson[i]); + } + } + datajson=results + } + + var resultsl = [] + var filterlevel = '' + if(level !== 0){ + if (level == 1){ + filterlevel = 'Elementary' + } else if (level == 2){ + filterlevel = 'Intermediate' + } else if (level == 3){ + filterlevel = 'Advanced' + } else if (level == 4){ + filterlevel = 'Expert' + } else if (level == 5){ + filterlevel = 'Guru' + } + var greplevel = new RegExp(filterlevel); + var datalenth1 = datajson.length + for (var i=0 ; i < datalenth1 ; i++) + { + if(greplevel.test(datajson[i]['level'])){ + resultsl.push(datajson[i]); + } + } + datajson=resultsl + } + +//console.log(datajson) + + var total = datajson.length; + var perpage = per_page + //var page = 1 + var lastpage = Math.trunc(total/5); + + if(lastpage <= 1) { + lastpage=1 + }else{ + lastpage++ + } + + var next=(page+1); + if(next >= lastpage){ + next=lastpage; + } + var prev=(page-1); + if(prev == 0){ + prev=1; + } + var from=((page-1)*perpage)+1; + var to=(perpage*page) + + + var myplaybooks = new Object(); + var links = ` + { + "pagination": { + "total": ${total}, + "per_page": ${perpage}, + "current_page": ${page}, + "last_page": ${lastpage}, + "next_page_url": "?page=${next}", + "prev_page_url": "?page=${prev}", + "from": ${from}, + "to": ${to}, + "frommongo": ${from}, + "tomongo": ${to} + } + } + ` + //"next_page_url": "?page="+${next}, + //"prev_page_url": "?page="+${prev}, +//console.log(JSON.stringify(links)) + //myplaybooks.links = links + myplaybooks.links = JSON.parse(links); + myplaybooks.data = datajson; + + var RES = new Object(); + RES.code = req.query["action"] + RES.token = req.query["token"] + RES.error = false + RES.error_msg = "ok" + RES.data = myplaybooks; + res.json(RES.data) + }); + +}); + app.get('/dockerservices', (req, res, next) => { var RES = new Object(); @@ -268,7 +502,7 @@ app.get('/getserviceshybridstatus', (req, res, next) => { var found = 'no'; for(var i = 0; i < datajson.length; i++) { var servicename = datajson[i].Names - console.log(JSON.stringify(search+' '+servicename)) + //console.log(JSON.stringify(search+' '+servicename)) if(extenderror.test(servicename)){ found = 'yes'; } @@ -662,7 +896,7 @@ TEST=${service} }); ppid = child[0].pid; - console.log(ppid) + //console.log(ppid) child[0].stdout.on('data', function (data) { var n = {} n.data = data.toString() @@ -799,7 +1033,7 @@ SSH_PORT= socket.on('container-stop', (service, id) => { var mypath = process.cwd() - console.log(mypath); + //console.log(mypath); var containerrm = '/bin/sh ./hybrid/connect/container-stop.sh '+id const stop = spawn(containerrm, { stdio: 'pipe', diff --git a/src-local/player/asciinema-player.css b/src-local/player/asciinema-player.css new file mode 100644 index 0000000..8d77df4 --- /dev/null +++ b/src-local/player/asciinema-player.css @@ -0,0 +1,2563 @@ +.asciinema-player-wrapper { + position: relative; + text-align: center; + outline: none; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.5em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; + line-height: 1.3333333333em; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; + height: 1.3333333333em; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 1.3333333333em; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal.font-small { + font-size: 12px; +} +.asciinema-terminal.font-medium { + font-size: 18px; +} +.asciinema-terminal.font-big { + font-size: 24px; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbbbbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: -35px; + left: 0; + transition: bottom 0.15s linear; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbbbbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: pointer; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbbbbb; + border-radius: 3px; +} +.asciinema-player .control-bar.live .progressbar .bar { + cursor: default; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + bottom: 0px; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 32px; + background-color: rgba(0, 0, 0, 0.5); +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 32px; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; +} +.asciinema-player .start-prompt .play-button { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + display: table; + width: 100%; + height: 100%; +} +.asciinema-player .start-prompt .play-button div { + vertical-align: middle; + display: table-cell; +} +.asciinema-player .start-prompt .play-button div span { + width: 96px; + height: 96px; + display: inline-block; +} +@-webkit-keyframes expand { + 0% { + -webkit-transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-moz-keyframes expand { + 0% { + -moz-transform: scale(0); + } + 50% { + -moz-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-o-keyframes expand { + 0% { + -o-transform: scale(0); + } + 50% { + -o-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@keyframes expand { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1); + } + 100% { + z-index: 1; + } +} +.loader { + position: absolute; + left: 50%; + top: 50%; + margin: -20px 0 0 -20px; + background-color: white; + border-radius: 50%; + box-shadow: 0 0 0 6.66667px #141414; + width: 40px; + height: 40px; +} +.loader:before, +.loader:after { + content: ""; + position: absolute; + left: 50%; + top: 50%; + display: block; + margin: -21px 0 0 -21px; + border-radius: 50%; + z-index: 2; + width: 42px; + height: 42px; +} +.loader:before { + background-color: #141414; + -webkit-animation: expand 1.6s linear infinite both; + -moz-animation: expand 1.6s linear infinite both; + animation: expand 1.6s linear infinite both; +} +.loader:after { + background-color: white; + -webkit-animation: expand 1.6s linear 0.8s infinite both; + -moz-animation: expand 1.6s linear 0.8s infinite both; + animation: expand 1.6s linear 0.8s infinite both; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #cccccc; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #cccccc; +} +.asciinema-theme-asciinema .fg-0 { + color: #000000; +} +.asciinema-theme-asciinema .bg-0 { + background-color: #000000; +} +.asciinema-theme-asciinema .fg-1 { + color: #dd3c69; +} +.asciinema-theme-asciinema .bg-1 { + background-color: #dd3c69; +} +.asciinema-theme-asciinema .fg-2 { + color: #4ebf22; +} +.asciinema-theme-asciinema .bg-2 { + background-color: #4ebf22; +} +.asciinema-theme-asciinema .fg-3 { + color: #ddaf3c; +} +.asciinema-theme-asciinema .bg-3 { + background-color: #ddaf3c; +} +.asciinema-theme-asciinema .fg-4 { + color: #26b0d7; +} +.asciinema-theme-asciinema .bg-4 { + background-color: #26b0d7; +} +.asciinema-theme-asciinema .fg-5 { + color: #b954e1; +} +.asciinema-theme-asciinema .bg-5 { + background-color: #b954e1; +} +.asciinema-theme-asciinema .fg-6 { + color: #54e1b9; +} +.asciinema-theme-asciinema .bg-6 { + background-color: #54e1b9; +} +.asciinema-theme-asciinema .fg-7 { + color: #d9d9d9; +} +.asciinema-theme-asciinema .bg-7 { + background-color: #d9d9d9; +} +.asciinema-theme-asciinema .fg-8 { + color: #4d4d4d; +} +.asciinema-theme-asciinema .bg-8 { + background-color: #4d4d4d; +} +.asciinema-theme-asciinema .fg-9 { + color: #dd3c69; +} +.asciinema-theme-asciinema .bg-9 { + background-color: #dd3c69; +} +.asciinema-theme-asciinema .fg-10 { + color: #4ebf22; +} +.asciinema-theme-asciinema .bg-10 { + background-color: #4ebf22; +} +.asciinema-theme-asciinema .fg-11 { + color: #ddaf3c; +} +.asciinema-theme-asciinema .bg-11 { + background-color: #ddaf3c; +} +.asciinema-theme-asciinema .fg-12 { + color: #26b0d7; +} +.asciinema-theme-asciinema .bg-12 { + background-color: #26b0d7; +} +.asciinema-theme-asciinema .fg-13 { + color: #b954e1; +} +.asciinema-theme-asciinema .bg-13 { + background-color: #b954e1; +} +.asciinema-theme-asciinema .fg-14 { + color: #54e1b9; +} +.asciinema-theme-asciinema .bg-14 { + background-color: #54e1b9; +} +.asciinema-theme-asciinema .fg-15 { + color: #ffffff; +} +.asciinema-theme-asciinema .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango .asciinema-terminal { + color: #cccccc; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #cccccc; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #cc0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #cc0000; +} +.asciinema-theme-tango .fg-2 { + color: #4e9a06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4e9a06; +} +.asciinema-theme-tango .fg-3 { + color: #c4a000; +} +.asciinema-theme-tango .bg-3 { + background-color: #c4a000; +} +.asciinema-theme-tango .fg-4 { + color: #3465a4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465a4; +} +.asciinema-theme-tango .fg-5 { + color: #75507b; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507b; +} +.asciinema-theme-tango .fg-6 { + color: #06989a; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989a; +} +.asciinema-theme-tango .fg-7 { + color: #d3d7cf; +} +.asciinema-theme-tango .bg-7 { + background-color: #d3d7cf; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #ef2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #ef2929; +} +.asciinema-theme-tango .fg-10 { + color: #8ae234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8ae234; +} +.asciinema-theme-tango .fg-11 { + color: #fce94f; +} +.asciinema-theme-tango .bg-11 { + background-color: #fce94f; +} +.asciinema-theme-tango .fg-12 { + color: #729fcf; +} +.asciinema-theme-tango .bg-12 { + background-color: #729fcf; +} +.asciinema-theme-tango .fg-13 { + color: #ad7fa8; +} +.asciinema-theme-tango .bg-13 { + background-color: #ad7fa8; +} +.asciinema-theme-tango .fg-14 { + color: #34e2e2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34e2e2; +} +.asciinema-theme-tango .fg-15 { + color: #eeeeec; +} +.asciinema-theme-tango .bg-15 { + background-color: #eeeeec; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} diff --git a/src-local/player/asciinema-player.js b/src-local/player/asciinema-player.js new file mode 100644 index 0000000..5ad47e0 --- /dev/null +++ b/src-local/player/asciinema-player.js @@ -0,0 +1,1213 @@ +/** + * asciinema-player v2.6.1 + * + * Copyright 2011-2018, Marcin Kulik + * + */ + +// CustomEvent polyfill from MDN (https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) + +(function () { + if (typeof window.CustomEvent === "function") return false; + + function CustomEvent ( event, params ) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent( 'CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); + +/** + * @license + * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt + */ +// @version 0.7.22 +"undefined"==typeof WeakMap&&!function(){var e=Object.defineProperty,t=Date.now()%1e9,n=function(){this.name="__st"+(1e9*Math.random()>>>0)+(t++ +"__")};n.prototype={set:function(t,n){var o=t[this.name];return o&&o[0]===t?o[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},"delete":function(e){var t=e[this.name];return t&&t[0]===e?(t[0]=t[1]=void 0,!0):!1},has:function(e){var t=e[this.name];return t?t[0]===e:!1}},window.WeakMap=n}(),function(e){function t(e){E.push(e),b||(b=!0,w(o))}function n(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}function o(){b=!1;var e=E;E=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();r(e),n.length&&(e.callback_(n,e),t=!0)}),t&&o()}function r(e){e.nodes_.forEach(function(t){var n=v.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})}function i(e,t){for(var n=e;n;n=n.parentNode){var o=v.get(n);if(o)for(var r=0;r0){var r=n[o-1],i=p(r,e);if(i)return void(n[o-1]=i)}else t(this.observer);n[o]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=v.get(e);t||v.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=v.get(e),n=0;n=0)){n.push(e);for(var o,r=e.querySelectorAll("link[rel="+a+"]"),d=0,s=r.length;s>d&&(o=r[d]);d++)o["import"]&&i(o["import"],t,n);t(e)}}var a=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=r,e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||o(e,t)}function n(t,n){return e.upgrade(t,n)?!0:void(n&&a(t))}function o(e,t){b(e,function(e){return n(e,t)?!0:void 0})}function r(e){N.push(e),y||(y=!0,setTimeout(i))}function i(){y=!1;for(var e,t=N,n=0,o=t.length;o>n&&(e=t[n]);n++)e();N=[]}function a(e){_?r(function(){d(e)}):d(e)}function d(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function s(e){u(e),b(e,function(e){u(e)})}function u(e){_?r(function(){c(e)}):c(e)}function c(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}function f(e){if(e.shadowRoot&&!e.shadowRoot.__watched){g.dom&&console.log("watching shadow-root for: ",e.localName);for(var t=e.shadowRoot;t;)w(t),t=t.olderShadowRoot}}function p(e,n){if(g.dom){var o=n[0];if(o&&"childList"===o.type&&o.addedNodes&&o.addedNodes){for(var r=o.addedNodes[0];r&&r!==document&&!r.host;)r=r.parentNode;var i=r&&(r.URL||r._URL||r.host&&r.host.localName)||"";i=i.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,i||"")}var a=l(e);n.forEach(function(e){"childList"===e.type&&(M(e.addedNodes,function(e){e.localName&&t(e,a)}),M(e.removedNodes,function(e){e.localName&&s(e)}))}),g.dom&&console.groupEnd()}function m(e){for(e=window.wrap(e),e||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(p(e,t.takeRecords()),i())}function w(e){if(!e.__observer){var t=new MutationObserver(p.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function v(e){e=window.wrap(e),g.dom&&console.group("upgradeDocument: ",e.baseURI.split("/").pop());var n=e===window.wrap(document);t(e,n),w(e),g.dom&&console.groupEnd()}function h(e){E(e,v)}var g=e.flags,b=e.forSubtree,E=e.forDocumentTree,_=window.MutationObserver._isPolyfilled&&g["throttle-attached"];e.hasPolyfillMutations=_,e.hasThrottledAttached=_;var y=!1,N=[],M=Array.prototype.forEach.call.bind(Array.prototype.forEach),O=Element.prototype.createShadowRoot;O&&(Element.prototype.createShadowRoot=function(){var e=O.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=f,e.upgradeDocumentTree=h,e.upgradeDocument=v,e.upgradeSubtree=o,e.upgradeAll=t,e.attached=a,e.takeRecords=m}),window.CustomElements.addModule(function(e){function t(t,o){if("template"===t.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(t),!t.__upgraded__&&t.nodeType===Node.ELEMENT_NODE){var r=t.getAttribute("is"),i=e.getRegisteredDefinition(t.localName)||e.getRegisteredDefinition(r);if(i&&(r&&i.tag==t.localName||!r&&!i["extends"]))return n(t,i,o)}}function n(t,n,r){return a.upgrade&&console.group("upgrade:",t.localName),n.is&&t.setAttribute("is",n.is),o(t,n),t.__upgraded__=!0,i(t),r&&e.attached(t),e.upgradeSubtree(t,r),a.upgrade&&console.groupEnd(),t}function o(e,t){Object.__proto__?e.__proto__=t.prototype:(r(e,t.prototype,t["native"]),e.__proto__=t.prototype)}function r(e,t,n){for(var o={},r=t;r!==n&&r!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(r),d=0;i=a[d];d++)o[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i)),o[i]=1);r=Object.getPrototypeOf(r)}}function i(e){e.createdCallback&&e.createdCallback()}var a=e.flags;e.upgrade=t,e.upgradeWithDefinition=n,e.implementPrototype=o}),window.CustomElements.addModule(function(e){function t(t,o){var s=o||{};if(!t)throw new Error("document.registerElement: first argument `name` must not be empty");if(t.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(t)+"'.");if(r(t))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(t)+"'. The type name is invalid.");if(u(t))throw new Error("DuplicateDefinitionError: a type with name '"+String(t)+"' is already registered");return s.prototype||(s.prototype=Object.create(HTMLElement.prototype)),s.__name=t.toLowerCase(),s["extends"]&&(s["extends"]=s["extends"].toLowerCase()),s.lifecycle=s.lifecycle||{},s.ancestry=i(s["extends"]),a(s),d(s),n(s.prototype),c(s.__name,s),s.ctor=l(s),s.ctor.prototype=s.prototype,s.prototype.constructor=s.ctor,e.ready&&v(document),s.ctor}function n(e){if(!e.setAttribute._polyfilled){var t=e.setAttribute;e.setAttribute=function(e,n){o.call(this,e,n,t)};var n=e.removeAttribute;e.removeAttribute=function(e){o.call(this,e,null,n)},e.setAttribute._polyfilled=!0}}function o(e,t,n){e=e.toLowerCase();var o=this.getAttribute(e);n.apply(this,arguments);var r=this.getAttribute(e);this.attributeChangedCallback&&r!==o&&this.attributeChangedCallback(e,o,r)}function r(e){for(var t=0;t<_.length;t++)if(e===_[t])return!0}function i(e){var t=u(e);return t?i(t["extends"]).concat([t]):[]}function a(e){for(var t,n=e["extends"],o=0;t=e.ancestry[o];o++)n=t.is&&t.tag;e.tag=n||e.__name,n&&(e.is=e.__name)}function d(e){if(!Object.__proto__){var t=HTMLElement.prototype;if(e.is){var n=document.createElement(e.tag);t=Object.getPrototypeOf(n)}for(var o,r=e.prototype,i=!1;r;)r==t&&(i=!0),o=Object.getPrototypeOf(r),o&&(r.__proto__=o),r=o;i||console.warn(e.tag+" prototype not found in prototype chain for "+e.is),e["native"]=t}}function s(e){return g(M(e.tag),e)}function u(e){return e?y[e.toLowerCase()]:void 0}function c(e,t){y[e]=t}function l(e){return function(){return s(e)}}function f(e,t,n){return e===N?p(t,n):O(e,t)}function p(e,t){e&&(e=e.toLowerCase()),t&&(t=t.toLowerCase());var n=u(t||e);if(n){if(e==n.tag&&t==n.is)return new n.ctor;if(!t&&!n.is)return new n.ctor}var o;return t?(o=p(e),o.setAttribute("is",t),o):(o=M(e),e.indexOf("-")>=0&&b(o,HTMLElement),o)}function m(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return h(e),e}}var w,v=(e.isIE,e.upgradeDocumentTree),h=e.upgradeAll,g=e.upgradeWithDefinition,b=e.implementPrototype,E=e.useNative,_=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],y={},N="http://www.w3.org/1999/xhtml",M=document.createElement.bind(document),O=document.createElementNS.bind(document);w=Object.__proto__||E?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},m(Node.prototype,"cloneNode"),m(document,"importNode"),document.registerElement=t,document.createElement=p,document.createElementNS=f,e.registry=y,e["instanceof"]=w,e.reservedTagList=_,e.getRegisteredDefinition=u,document.register=document.registerElement}),function(e){function t(){i(window.wrap(document)),window.CustomElements.ready=!0;var e=window.requestAnimationFrame||function(e){setTimeout(e,16)};e(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=e.useNative,o=e.initializeModules;e.isIE;if(n){var r=function(){};e.watchShadow=r,e.upgrade=r,e.upgradeAll=r,e.upgradeDocumentTree=r,e.upgradeSubtree=r,e.takeRecords=r,e["instanceof"]=function(e,t){return e instanceof t}}else o();var i=e.upgradeDocumentTree,a=e.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){e["import"]&&a(wrap(e["import"]))}),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var d=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(d,t)}else t()}(window.CustomElements); +if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { + Math.imul = function (a, b) { + var ah = (a >>> 16) & 0xffff; + var al = a & 0xffff; + var bh = (b >>> 16) & 0xffff; + var bl = b & 0xffff; + // the shift by 0 fixes the sign on the high part + // the final |0 converts the unsigned value into a signed value + return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); + } +} + +/** + * React v15.5.4 + * + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.React=t()}}(function(){return function t(e,n,r){function o(u,a){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[u]={exports:{}};e[u][0].call(l.exports,function(t){var n=e[u][1][t];return o(n||t)},l,l.exports,t,e,n,r)}return n[u].exports}for(var i="function"==typeof require&&require,u=0;u1){for(var y=Array(d),h=0;h1){for(var m=Array(v),b=0;b8&&C<=11),x=32,w=String.fromCharCode(x),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},k=!1,P=null,S={eventTypes:T,extractEvents:function(e,t,n,r){return[u(e,t,n,r),p(e,t,n,r)]}};t.exports=S},{123:123,19:19,20:20,78:78,82:82}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=s},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(123),i=(e(58),e(125),e(94)),a=e(136),s=e(140),u=(e(142),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+":",n+=i(r,o,t)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if("float"!==a&&"cssFloat"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var p in u)o[p]="";else o[a]=""}}}};t.exports=d},{123:123,125:125,136:136,140:140,142:142,4:4,58:58,94:94}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e(112),i=e(24),a=(e(137),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&o("24"),this._callbacks=null,this._contexts=null;for(var r=0;r8));var A=!1;b.canUseDOM&&(A=k("input")&&(!document.documentMode||document.documentMode>11));var D={get:function(){return O.get.call(this)},set:function(e){I=""+e,O.set.call(this,e)}},L={eventTypes:S,extractEvents:function(e,t,n,o){var i,a,s=t?E.getNodeFromInstance(t):window;if(r(s)?R?i=u:a=l:P(s)?A?i=f:(i=m,a=h):v(s)&&(i=g),i){var c=i(e,t);if(c){var p=w.getPooled(S.change,c,n,o);return p.type="change",C.accumulateTwoPhaseDispatches(p),p}}a&&a(e,s,t),"topBlur"===e&&y(t,s)}};t.exports=L},{102:102,109:109,110:110,123:123,16:16,19:19,33:33,71:71,80:80}],8:[function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=e(9),p=e(13),d=(e(33),e(58),e(93)),f=e(114),h=e(115),m=d(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n-1||a("96",e),!l.plugins[n]){t.extractEvents||a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)||a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&a("99",n),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]&&a("100",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(112),s=(e(137),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s&&a("101"),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]&&a("102",n),u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=l},{112:112,137:137}],18:[function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),t.exports=r},{106:106,143:143,24:24}],21:[function(e,t,n){"use strict";var r=e(11),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};t.exports=l},{11:11}],22:[function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function o(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}var i={escape:r,unescape:o};t.exports=i},{}],23:[function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink&&s("87")}function o(e){r(e),(null!=e.value||null!=e.onChange)&&s("88")}function i(e){r(e),(null!=e.checked||null!=e.onChange)&&s("89")}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e(112),u=e(64),l=e(145),c=e(120),p=l(c.isValidElement),d=(e(137),e(142),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),f={value:function(e,t,n){return!e[t]||d[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},h={},m={checkPropTypes:function(e,t,n){for(var r in f){if(f.hasOwnProperty(r))var o=f[r](t,r,e,"prop",null,u);o instanceof Error&&!(o.message in h)&&(h[o.message]=!0,a(n))}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=m},{112:112,120:120,137:137,142:142,145:145,64:64}],24:[function(e,t,n){"use strict";var r=e(112),o=(e(137),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length=0||null!=t.is}function h(e){var t=e.type;d(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=e(112),v=e(143),g=e(2),y=e(5),_=e(9),C=e(10),b=e(11),E=e(12),x=e(16),w=e(17),T=e(25),k=e(32),P=e(33),S=e(38),N=e(39),M=e(40),I=e(43),O=(e(58),e(61)),R=e(68),A=(e(129),e(95)),D=(e(137),e(109),e(141),e(118),e(142),k),L=x.deleteListener,U=P.getNodeFromInstance,F=T.listenTo,j=w.registrationNameModules,V={string:!0,number:!0},B="__html",W={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},H=11,q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},K={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},z={listing:!0,pre:!0,textarea:!0},Y=v({menuitem:!0},K),X=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},G={}.hasOwnProperty,$=1;h.displayName="ReactDOMComponent",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=$++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case"input":S.mountWrapper(this,i,t),i=S.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"option":N.mountWrapper(this,i,t),i=N.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,t),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"textarea":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,p;null!=t?(a=t._namespaceURI,p=t._tag):n._tag&&(a=n._namespaceURI,p=n._tag),(null==a||a===C.svg&&"foreignobject"===p)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var d;if(e.useCreateElement){var f,h=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=h.createElement("div"),v=this._currentElement.type;m.innerHTML="<"+v+">",f=m.removeChild(m.firstChild)}else f=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else f=h.createElementNS(a,this._currentElement.type);P.precacheNode(this,f),this._flags|=D.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(f),this._updateDOMProperties(null,i,e);var y=_(f);this._createInitialChildren(e,i,r,y),d=y}else{var b=this._createOpenTagMarkupAndPutListeners(e,i),x=this._createContentMarkup(e,i,r);d=!x&&K[this._tag]?b+"/>":b+">"+x+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"select":case"button":i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return d},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(j.hasOwnProperty(r))o&&i(this,r,o,e);else{"style"===r&&(o&&(o=this._previousStyleCopy=v({},t.style)),o=y.createMarkupForStyles(o,this));var a=null;null!=this._tag&&f(this._tag,t)?W.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=A(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return z[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&_.queueHTML(r,o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&_.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=a},{143:143,33:33,9:9}],36:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=e(8),o=e(33),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=i},{33:33,8:8}],38:[function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;dt.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=e(123),l=e(105),c=e(106),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};t.exports=d},{105:105,106:106,123:123}],42:[function(e,t,n){"use strict";var r=e(112),o=e(143),i=e(8),a=e(9),s=e(33),u=e(95),l=(e(137),e(118),function(e){this._currentElement=e,this._stringText=""+e, +this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(i),p=l.createComment(" /react-text "),d=a(l.createDocumentFragment());return a.queueChild(d,a(c)),this._stringText&&a.queueChild(d,a(l.createTextNode(this._stringText))),a.queueChild(d,a(p)),s.precacheNode(this,c),this._closingComment=p,d}var f=u(this._stringText);return e.renderToStaticMarkup?f:""+f+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n&&r("67",this._domID),8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=l},{112:112,118:118,137:137,143:143,33:33,8:8,9:9,95:95}],43:[function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=e(112),a=e(143),s=e(23),u=e(33),l=e(71),c=(e(137),e(142),{getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&i("91"),a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a&&i("92"),Array.isArray(u)&&(u.length<=1||i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});t.exports=c},{112:112,137:137,142:142,143:143,23:23,33:33,71:71}],44:[function(e,t,n){"use strict";function r(e,t){"_hostNode"in e||u("33"),"_hostNode"in t||u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e||u("35"),"_hostNode"in t||u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e||u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(u[l],"captured",i)}var u=e(112);e(137);t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},{112:112,137:137}],45:[function(e,t,n){"use strict";var r=e(120),o=e(30),i=o;r.addons&&(r.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=i),t.exports=i},{120:120,30:30}],46:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(143),i=e(71),a=e(89),s=e(129),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};t.exports=d},{129:129,143:143,71:71,89:89}],47:[function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:b,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(C),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var o=e(1),i=e(3),a=e(7),s=e(14),u=e(15),l=e(21),c=e(27),p=e(31),d=e(33),f=e(35),h=e(44),m=e(42),v=e(46),g=e(52),y=e(55),_=e(65),C=e(73),b=e(74),E=e(75),x=!1;t.exports={inject:r}},{1:1,14:14,15:15,21:21,27:27,3:3,31:31,33:33,35:35,42:42,44:44,46:46,52:52,55:55,65:65,7:7,73:73,74:74,75:75}],48:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],49:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,t.exports=i},{}],50:[function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};t.exports=i},{}],51:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e(16),i={handleTopLevel:function(e,t,n,i){r(o.extractEvents(e,t,n,i))}};t.exports=i},{16:16}],52:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do{e.ancestors.push(o),o=o&&r(o)}while(o);for(var i=0;i/," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(i.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};t.exports=i},{92:92}],60:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=v.createElement(F,{child:t});if(e){var u=E.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return j._updateRootComponent(c,s,a,n,g),m}j.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),C=l(n),b=_&&!c&&!C,x=j._renderNewRootComponent(s,n,b,a)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return j._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)||f("40");var t=d(e);return t?(delete L[t._instance.rootID],k.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)||f("41"),i){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),m=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===A&&f("42",m)}if(t.nodeType===A&&f("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),y.precacheNode(n,t.firstChild)}};t.exports=j},{108:108,11:11,112:112,114:114,116:116,119:119,120:120,130:130,137:137,142:142,25:25,33:33,34:34,36:36,53:53,57:57,58:58,59:59,66:66,70:70,71:71,9:9}],61:[function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=e(112),p=e(28),d=(e(57),e(58),e(119),e(66)),f=e(26),h=(e(129),e(97)),m=(e(137),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a;return a=h(t,0),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,0),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=d.mountComponent(s,t,this,this._hostContainerInfo,n,0);s._mountIndex=i++,o.push(u)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[s(e)])},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[a(e)])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],g=a[s];v===g?(c=u(c,this.moveChild(v,m,p,f)),f=Math.max(v._mountIndex,f),v._mountIndex=p):(v&&(f=Math.max(v._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],m,p,t,n)),h++),p++,m=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n||null}var a=e(112),s=(e(119),e(57)),u=(e(58),e(71)),l=(e(137),e(142),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);if(!o)return null;o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],r(o)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,"setState");n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),r(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&a("122",t,o(e))}});t.exports=l},{112:112,119:119,137:137,142:142,57:57,58:58,71:71}],71:[function(e,t,n){"use strict";function r(){P.ReactReconcileTransaction&&b||c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=P.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),b.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==g.length&&c("124",t,g.length),g.sort(a),y++;for(var n=0;n]/;t.exports=o},{}],96:[function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);if(t)return t=s(t),t?i.getNodeFromInstance(t):null;"function"==typeof e.render?o("44"):o("45",Object.keys(e))}var o=e(112),i=(e(119),e(33)),a=e(57),s=e(103);e(137),e(142);t.exports=r},{103:103,112:112,119:119,137:137,142:142,33:33,57:57}],97:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e;void 0===o[n]&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(22),e(117));e(142);void 0!==n&&n.env,t.exports=o}).call(this,void 0)},{117:117,142:142,22:22}],98:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],99:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}t.exports=r},{}],100:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(99),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{99:99}],101:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return!!r&&!!n[r]}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],102:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e(62);t.exports=r},{62:62}],104:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],105:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],106:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(123),i=null;t.exports=r},{123:123}],107:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=e(123),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),t.exports=o},{123:123}],108:[function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||!1===e)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=e(112),s=e(143),u=e(29),l=e(49),c=e(54),p=(e(121),e(137),e(142),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),t.exports=i},{112:112,121:121,137:137,142:142,143:143,29:29,49:49,54:54}],109:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(123);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),t.exports=r},{123:123}],110:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],111:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(95);t.exports=r},{95:95}],112:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r]/,u=e(93),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}t.exports=l},{10:10,123:123,93:93}],115:[function(e,t,n){"use strict";var r=e(123),o=e(95),i=e(114),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){if(3===e.nodeType)return void(e.nodeValue=t);i(e,o(t))})),t.exports=a},{114:114,123:123,95:95}],116:[function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}t.exports=r},{}],117:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,m=0,v=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g":"<"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=e(123),i=e(137),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],l=[1,"","
"],c=[3,"","
"],p=[1,'',""],d={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){d[e]=p,s[e]=!0}),t.exports=r},{123:123,137:137}],134:[function(e,t,n){"use strict";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(135),i=/^ms-/;t.exports=r},{135:135}],137:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],139:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e(138);t.exports=r},{138:138}],140:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a 0x10FFFF || // not a valid Unicode code point + floor(codePoint) != codePoint // not an integer + ) { + throw RangeError('Invalid code point: ' + codePoint); + } + if (codePoint <= 0xFFFF) { // BMP code point + codeUnits.push(codePoint); + } else { // Astral code point; split in surrogate halves + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + codePoint -= 0x10000; + highSurrogate = (codePoint >> 10) + 0xD800; + lowSurrogate = (codePoint % 0x400) + 0xDC00; + codeUnits.push(highSurrogate, lowSurrogate); + } + if (index + 1 == length || codeUnits.length > MAX_SIZE) { + result += stringFromCharCode.apply(null, codeUnits); + codeUnits.length = 0; + } + } + return result; + }; + if (defineProperty) { + defineProperty(String, 'fromCodePoint', { + 'value': fromCodePoint, + 'configurable': true, + 'writable': true + }); + } else { + String.fromCodePoint = fromCodePoint; + } + }()); +} + +/*! http://mths.be/codepointat v0.1.0 by @mathias */ +if (!String.prototype.codePointAt) { + (function() { + 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` + var codePointAt = function(position) { + if (this == null) { + throw TypeError(); + } + var string = String(this); + var size = string.length; + // `ToInteger` + var index = position ? Number(position) : 0; + if (index != index) { // better `isNaN` + index = 0; + } + // Account for out-of-bounds indices: + if (index < 0 || index >= size) { + return undefined; + } + // Get the first code unit + var first = string.charCodeAt(index); + var second; + if ( // check if it’s the start of a surrogate pair + first >= 0xD800 && first <= 0xDBFF && // high surrogate + size > index + 1 // there is a next code unit + ) { + second = string.charCodeAt(index + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; + }; + if (Object.defineProperty) { + Object.defineProperty(String.prototype, 'codePointAt', { + 'value': codePointAt, + 'configurable': true, + 'writable': true + }); + } else { + String.prototype.codePointAt = codePointAt; + } + }()); +} + +function registerAsciinemaPlayerElement() { + var AsciinemaPlayerProto = Object.create(HTMLElement.prototype); + + function merge() { + var merged = {}; + for (var i=0; i>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)} +function oa(a,b,c){if(!a)throw Error();if(2b?1:0};var ua=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(ca(a))return ca(b)&&1==b.length?a.indexOf(b,c):-1;for(;cb?null:ca(a)?a.charAt(b):a[b]}function ya(a,b){var c=ua(a,b),d;(d=0<=c)&&Array.prototype.splice.call(a,c,1);return d}function za(a,b){a.sort(b||Aa)}function Ca(a,b){for(var c=Array(a.length),d=0;db?1:a2*this.Fc&&Na(this),!0):!1};function Na(a){if(a.Fc!=a.ib.length){for(var b=0,c=0;ba){var b=Ra[a];if(b)return b}b=new Qa([a|0],0>a?-1:0);-128<=a&&128>a&&(Ra[a]=b);return b}function Ta(a){if(isNaN(a)||!isFinite(a))return Ua;if(0>a)return Ta(-a).kb();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Va;return new Qa(b,0)}var Va=4294967296,Ua=Sa(0),Wa=Sa(1),Xa=Sa(16777216);g=Qa.prototype; +g.Of=function(){return 0a||36>>0).toString(a);c=e;if(c.hc())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function Ya(a,b){return 0>b?0:bthis.compare(Xa)};g.Ve=function(a){return 0>=this.compare(a)};g.compare=function(a){a=this.ze(a);return a.Eb()?-1:a.hc()?0:1};g.kb=function(){return this.Hf().add(Wa)}; +g.add=function(a){for(var b=Math.max(this.Ma.length,a.Ma.length),c=[],d=0,e=0;e<=b;e++){var f=d+(Ya(this,e)&65535)+(Ya(a,e)&65535),h=(f>>>16)+(Ya(this,e)>>>16)+(Ya(a,e)>>>16);d=h>>>16;f&=65535;h&=65535;c[e]=h<<16|f}return new Qa(c,c[c.length-1]&-2147483648?-1:0)};g.ze=function(a){return this.add(a.kb())}; +g.multiply=function(a){if(this.hc()||a.hc())return Ua;if(this.Eb())return a.Eb()?this.kb().multiply(a.kb()):this.kb().multiply(a).kb();if(a.Eb())return this.multiply(a.kb()).kb();if(this.Ue()&&a.Ue())return Ta(this.vd()*a.vd());for(var b=this.Ma.length+a.Ma.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d>>16,h=Ya(this,d)&65535,k=Ya(a,e)>>>16,l=Ya(a,e)&65535;c[2*d+2*e]+=h*l;ab(c,2*d+2*e);c[2*d+2*e+1]+=f*l;ab(c,2*d+2*e+1);c[2*d+2*e+1]+= +h*k;ab(c,2*d+2*e+1);c[2*d+2*e+2]+=f*k;ab(c,2*d+2*e+2)}for(d=0;d>>16,a[b]&=65535,b++} +function Za(a,b){if(b.hc())throw Error("division by zero");if(a.hc())return Ua;if(a.Eb())return b.Eb()?Za(a.kb(),b.kb()):Za(a.kb(),b).kb();if(b.Eb())return Za(a,b.kb()).kb();if(30=f?1:Math.pow(2,f-48);h=Ta(e);for(var k=h.multiply(b);k.Eb()||k.xf(d);)e-=f,h=Ta(e),k=h.multiply(b);h.hc()&&(h=Wa);c=c.add(h);d=d.ze(k)}return c}g.Hf=function(){for(var a=this.Ma.length,b=[],c=0;c>5;a%=32;for(var c=this.Ma.length+b+(0>>32-a:Ya(this,e-b);return new Qa(d,this.Lc)}; +g.ad=function(a){var b=a>>5;a%=32;for(var c=this.Ma.length-b,d=[],e=0;e>>a|Ya(this,e+b+1)<<32-a:Ya(this,e+b);return new Qa(d,this.Lc)};function cb(a,b){null!=a&&this.append.apply(this,arguments)}g=cb.prototype;g.xc="";g.set=function(a){this.xc=""+a};g.append=function(a,b,c){this.xc+=String(a);if(null!=b)for(var d=1;d>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function hd(a){a=gd(a|0,-862048943);return gd(a<<15|a>>>-15,461845907)} +function id(a,b){var c=(a|0)^(b|0);return gd(c<<13|c>>>-13,5)+-430675100|0}function jd(a,b){var c=(a|0)^b;c=gd(c^c>>>16,-2048144789);c=gd(c^c>>>13,-1028477387);return c^c>>>16}function kd(a){a:{var b=1;for(var c=0;;)if(b>2)}function qd(a){return a instanceof rd} +function sd(a,b){if(a.Zb===b.Zb)return 0;var c=wb(a.fb);if(t(c?b.fb:c))return-1;if(t(a.fb)){if(wb(b.fb))return 1;c=Aa(a.fb,b.fb);return 0===c?Aa(a.name,b.name):c}return Aa(a.name,b.name)}function rd(a,b,c,d,e){this.fb=a;this.name=b;this.Zb=c;this.Oc=d;this.hb=e;this.m=2154168321;this.J=4096}g=rd.prototype;g.toString=function(){return this.Zb};g.equiv=function(a){return this.K(null,a)};g.K=function(a,b){return b instanceof rd?this.Zb===b.Zb:!1}; +g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return D.c(c,this);case 3:return D.l(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return D.c(c,this)};a.l=function(a,c,d){return D.l(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return D.c(a,this)};g.c=function(a,b){return D.l(a,this,b)};g.P=function(){return this.hb}; +g.T=function(a,b){return new rd(this.fb,this.name,this.Zb,this.Oc,b)};g.U=function(){var a=this.Oc;return null!=a?a:this.Oc=a=pd(kd(this.name),nd(this.fb))};g.hd=function(){return this.name};g.jd=function(){return this.fb};g.R=function(a,b){return Jc(b,this.Zb)};var td=function td(a){switch(arguments.length){case 1:return td.h(arguments[0]);case 2:return td.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}}; +td.h=function(a){if(a instanceof rd)return a;var b=a.indexOf("/");return 1>b?td.c(null,a):td.c(a.substring(0,b),a.substring(b+1,a.length))};td.c=function(a,b){var c=null!=a?[v.h(a),"/",v.h(b)].join(""):b;return new rd(a,b,c,null,null)};td.L=2;function ud(a){return null!=a?a.J&131072||q===a.Tf?!0:a.J?!1:Ab(cd,a):Ab(cd,a)} +function E(a){if(null==a)return null;if(null!=a&&(a.m&8388608||q===a.Pe))return a.S(null);if(vb(a)||"string"===typeof a)return 0===a.length?null:new Jb(a,0,null);if(Ab(Bc,a))return Cc(a);throw Error([v.h(a)," is not ISeqable"].join(""));}function y(a){if(null==a)return null;if(null!=a&&(a.m&64||q===a.G))return a.Ia(null);a=E(a);return null==a?null:Wb(a)}function vd(a){return null!=a?null!=a&&(a.m&64||q===a.G)?a.bb(null):(a=E(a))?Yb(a):wd:wd} +function z(a){return null==a?null:null!=a&&(a.m&128||q===a.Id)?a.Ka(null):E(vd(a))}var G=function G(a){switch(arguments.length){case 1:return G.h(arguments[0]);case 2:return G.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e=d)return-1;!(0c&&(c+=d,c=0>c?0:c);for(;;)if(cc?d+c:c;for(;;)if(0<=c){if(G.c(Vd(a,c),b))return c;--c}else return-1}function Yd(a,b){this.o=a;this.i=b} +Yd.prototype.ja=function(){return this.ia?0:a};g.Rc=function(){var a=this.W(null);return 0d)c=1;else if(0===c)c=0;else a:for(d=0;;){var e=Ke(Vd(a,d),Vd(b,d));if(0===e&&d+1>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24} +var v=function v(a){switch(arguments.length){case 0:return v.B();case 1:return v.h(arguments[0]);default:for(var c=[],d=arguments.length,e=0;;)if(ed:e))c[d]=a.next(),d+=1;else return qf(new nf(c,0,d),Rf.h?Rf.h(a):Rf.call(null,a))}else return null},null,null)};function Sf(a,b,c,d,e,f){this.buffer=a;this.ub=b;this.pe=c;this.Rb=d;this.ye=e;this.Gf=f} +Sf.prototype.step=function(){if(this.ub!==Nf)return!0;for(;;)if(this.ub===Nf)if(this.buffer.Td()){if(this.pe)return!1;if(this.ye.ja()){if(this.Gf)var a=P(this.Rb,ae(null,this.ye.next()));else a=this.ye.next(),a=this.Rb.c?this.Rb.c(null,a):this.Rb.call(null,null,a);Hd(a)&&(this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0)}else this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0}else this.ub=this.buffer.remove();else return!0};Sf.prototype.ja=function(){return this.step()}; +Sf.prototype.next=function(){if(this.ja()){var a=this.ub;this.ub=Nf;return a}throw Error("No such element");};Sf.prototype.remove=function(){return Error("Unsupported operation")};Sf.prototype[Fb]=function(){return yd(this)}; +function Tf(a,b){var c=new Sf(Qf,Nf,!1,null,b,!1);c.Rb=function(){var b=function(a){return function(){function b(b,c){a.buffer=a.buffer.add(c);return b}var c=null;c=function(a,c){switch(arguments.length){case 0:return null;case 1:return a;case 2:return b.call(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};c.B=function(){return null};c.h=function(a){return a};c.c=b;return c}()}(c);return a.h?a.h(b):a.call(null,b)}();return c} +function Uf(a,b){var c=Kf(b);c=Tf(a,c);c=Rf(c);return t(c)?c:wd}function Vf(a,b){for(;;){if(null==E(b))return!0;var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c)){c=a;var d=z(b);a=c;b=d}else return!1}}function Wf(a,b){for(;;)if(E(b)){var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c))return c;c=a;var d=z(b);a=c;b=d}else return null}function Xf(a){if(Ge(a))return 0===(a&1);throw Error(["Argument must be an integer: ",v.h(a)].join(""));} +function Yf(a){return function(){function b(b,c){return wb(a.c?a.c(b,c):a.call(null,b,c))}function c(b){return wb(a.h?a.h(b):a.call(null,b))}function d(){return wb(a.B?a.B():a.call(null))}var e=null,f=function(){function b(a,b,d){var e=null;if(2a?0:a-1>>>5<<5}function Jg(a,b,c){for(;;){if(0===b)return c;var d=Gg(a);d.o[0]=c;c=d;b-=5}} +var Kg=function Kg(a,b,c,d){var f=Hg(c),h=a.F-1>>>b&31;5===b?f.o[h]=d:(c=c.o[h],null!=c?(b-=5,a=Kg.M?Kg.M(a,b,c,d):Kg.call(null,a,b,c,d)):a=Jg(null,b-5,d),f.o[h]=a);return f};function Lg(a,b){throw Error(["No item ",v.h(a)," in vector of length ",v.h(b)].join(""));}function Mg(a,b){if(b>=Ig(a))return a.fa;for(var c=a.root,d=a.shift;;)if(0>>d&31];d=e}else return c.o} +var Ng=function Ng(a,b,c,d,e){var h=Hg(c);if(0===b)h.o[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.o[k];a=Ng.Z?Ng.Z(a,b,c,d,e):Ng.call(null,a,b,c,d,e);h.o[k]=a}return h},Og=function Og(a,b,c){var e=a.F-2>>>b&31;if(5=this.F)a=new Jb(this.fa,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0this.F-Ig(this)){for(var c=this.fa.length,d=Array(c+1),e=0;;)if(e>>5>1<b)return new R(null,b,5,T,a,null);for(var c=32,d=(new R(null,32,5,T,a.slice(0,32),null)).Pc(null);;)if(cb||this.end<=this.start+b?Lg(b,this.end-this.start):A.c(this.Ja,this.start+b)};g.ka=function(a,b,c){return 0>b||this.end<=this.start+b?c:A.l(this.Ja,this.start+b,c)}; +g.dc=function(a,b,c){a=this.start+b;if(0>b||this.end+1<=a)throw Error(["Index ",v.h(b)," out of bounds [0,",v.h(this.W(null)),"]"].join(""));b=this.meta;c=K.l(this.Ja,a,c);var d=this.end;a+=1;return Zg(b,c,this.start,d>a?d:a,null)};g.ba=function(){return null!=this.Ja&&q===this.Ja.fe?Qg(this.Ja,this.start,this.end):new Jf(Hf,this)};g.P=function(){return this.meta};g.W=function(){return this.end-this.start};g.Ac=function(){return A.c(this.Ja,this.end-1)}; +g.Bc=function(){if(this.start===this.end)throw Error("Can't pop empty vector");return Zg(this.meta,this.Ja,this.start,this.end-1,null)};g.Rc=function(){return this.start!==this.end?new Zd(this,this.end-this.start-1,null):null};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(he,this.meta)};g.Fa=function(a,b){return null!=this.Ja&&q===this.Ja.fe?Rg(this.Ja,b,this.start,this.end):Kd(this,b)}; +g.Ga=function(a,b,c){return null!=this.Ja&&q===this.Ja.fe?Sg(this.Ja,b,c,this.start,this.end):Ld(this,b,c)};g.O=function(a,b,c){if("number"===typeof b)return this.dc(null,b,c);throw Error("Subvec's key for assoc must be a number.");};g.S=function(){var a=this;return function(b){return function e(d){return d===a.end?null:ae(A.c(a.Ja,d),new kf(null,function(){return function(){return e(d+1)}}(b),null,null))}}(this)(a.start)};g.T=function(a,b){return Zg(b,this.Ja,this.start,this.end,this.w)}; +g.X=function(a,b){return Zg(this.meta,qc(this.Ja,this.end,b),this.start,this.end+1,null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)}; +g.c=function(a,b){return this.ka(null,a,b)};Yg.prototype[Fb]=function(){return yd(this)};function Zg(a,b,c,d,e){for(;;)if(b instanceof Yg)c=b.start+c,d=b.start+d,b=b.Ja;else{if(!ze(b))throw Error("v must satisfy IVector");var f=H(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new Yg(a,b,c,d,e)}}function $g(a,b){return a===b.la?b:new Fg(a,Gb(b.o))} +var ah=function ah(a,b,c,d){c=$g(a.root.la,c);var f=a.F-1>>>b&31;if(5===b)a=d;else{var h=c.o[f];null!=h?(b-=5,a=ah.M?ah.M(a,b,h,d):ah.call(null,a,b,h,d)):a=Jg(a.root.la,b-5,d)}c.o[f]=a;return c};function Tg(a,b,c,d){this.F=a;this.shift=b;this.root=c;this.fa=d;this.J=88;this.m=275}g=Tg.prototype; +g.Dc=function(a,b){if(this.root.la){if(32>this.F-Ig(this))this.fa[this.F&31]=b;else{var c=new Fg(this.root.la,this.fa),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.fa=d;if(this.F>>>5>1<>>d&31,m=k(d-5,f.o[p]);f.o[p]=m}return f}}(a)(a.shift,a.root)}();a.root=d}return a}if(b===a.F)return a.Dc(null,c);throw Error(["Index ",v.h(b)," out of bounds for TransientVector of length",v.h(a.F)].join(""));}throw Error("assoc! after persistent!");} +g.W=function(){if(this.root.la)return this.F;throw Error("count after persistent!");};g.$=function(a,b){if(this.root.la)return(0<=b&&b=c)return new r(this.meta,this.F-1,d,null);G.c(b,this.o[e])||(d[f]=this.o[e],d[f+1]=this.o[e+1],f+=2);e+=2}}else return this}; +g.O=function(a,b,c){a=ih(this.o,b);if(-1===a){if(this.Fb?4:2*(b+1));Be(this.o,0,c,0,2*b);return new xh(a,this.na,c)};g.qd=function(){return yh(this.o,0,null)};g.Jc=function(a,b){return vh(this.o,a,b)};g.sc=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.na&e))return d;var f=$e(this.na&e-1);e=this.o[2*f];f=this.o[2*f+1];return null==e?f.sc(a+5,b,c,d):rh(c,e)?f:d}; +g.Kb=function(a,b,c,d,e,f){var h=1<<(c>>>b&31),k=$e(this.na&h-1);if(0===(this.na&h)){var l=$e(this.na);if(2*l>>b&31]=zh.Kb(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0!== +(this.na>>>d&1)&&(k[d]=null!=this.o[e]?zh.Kb(a,b+5,od(this.o[e]),this.o[e],this.o[e+1],f):this.o[e+1],e+=2),d+=1;else break;return new Ah(a,l+1,k)}b=Array(2*(l+4));Be(this.o,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;Be(this.o,2*k,b,2*(k+1),2*(l-k));f.H=!0;a=this.Gc(a);a.o=b;a.na|=h;return a}l=this.o[2*k];h=this.o[2*k+1];if(null==l)return l=h.Kb(a,b+5,c,d,e,f),l===h?this:uh(this,a,2*k+1,l);if(rh(d,l))return e===h?this:uh(this,a,2*k+1,e);f.H=!0;f=b+5;b=od(l);if(b===c)e=new Bh(null,b,2,[l,h,d,e]);else{var p=new qh; +e=zh.Kb(a,f,b,l,h,p).Kb(a,f,c,d,e,p)}d=2*k;k=2*k+1;a=this.Gc(a);a.o[d]=null;a.o[k]=e;return a}; +g.Jb=function(a,b,c,d,e){var f=1<<(b>>>a&31),h=$e(this.na&f-1);if(0===(this.na&f)){var k=$e(this.na);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=zh.Jb(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0!==(this.na>>>c&1)&&(h[c]=null!=this.o[d]?zh.Jb(a+5,od(this.o[d]),this.o[d],this.o[d+1],e):this.o[d+1],d+=2),c+=1;else break;return new Ah(null,k+1,h)}a=Array(2*(k+1));Be(this.o, +0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;Be(this.o,2*h,a,2*(h+1),2*(k-h));e.H=!0;return new xh(null,this.na|f,a)}var l=this.o[2*h];f=this.o[2*h+1];if(null==l)return k=f.Jb(a+5,b,c,d,e),k===f?this:new xh(null,this.na,sh(this.o,2*h+1,k));if(rh(c,l))return d===f?this:new xh(null,this.na,sh(this.o,2*h+1,d));e.H=!0;e=this.na;k=this.o;a+=5;var p=od(l);if(p===b)c=new Bh(null,p,2,[l,f,c,d]);else{var m=new qh;c=zh.Jb(a,p,l,f,m).Jb(a,b,c,d,m)}a=2*h;h=2*h+1;d=Gb(k);d[a]=null;d[h]=c;return new xh(null,e,d)}; +g.rd=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.na&d))return this;var e=$e(this.na&d-1),f=this.o[2*e],h=this.o[2*e+1];return null==f?(a=h.rd(a+5,b,c),a===h?this:null!=a?new xh(null,this.na,sh(this.o,2*e+1,a)):this.na===d?null:new xh(null,this.na^d,th(this.o,e))):rh(c,f)?new xh(null,this.na^d,th(this.o,e)):this};g.ba=function(){return new wh(this.o,0,null,null)};var zh=new xh(null,0,[]);function Ch(a,b,c){this.o=a;this.i=b;this.Lb=c} +Ch.prototype.ja=function(){for(var a=this.o.length;;){if(null!=this.Lb&&this.Lb.ja())return!0;if(this.i>>a&31];return null!=e?e.sc(a+5,b,c,d):d};g.Kb=function(a,b,c,d,e,f){var h=c>>>b&31,k=this.o[h];if(null==k)return a=uh(this,a,h,zh.Kb(a,b+5,c,d,e,f)),a.F+=1,a;b=k.Kb(a,b+5,c,d,e,f);return b===k?this:uh(this,a,h,b)}; +g.Jb=function(a,b,c,d,e){var f=b>>>a&31,h=this.o[f];if(null==h)return new Ah(null,this.F+1,sh(this.o,f,zh.Jb(a+5,b,c,d,e)));a=h.Jb(a+5,b,c,d,e);return a===h?this:new Ah(null,this.F,sh(this.o,f,a))}; +g.rd=function(a,b,c){var d=b>>>a&31,e=this.o[d];if(null!=e){a=e.rd(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.F)a:{e=this.o;a=e.length;b=Array(2*(this.F-1));c=0;for(var f=1,h=0;;)if(ca?d:rh(c,this.o[a])?this.o[a+1]:d}; +g.Kb=function(a,b,c,d,e,f){if(c===this.ec){b=Eh(this.o,this.F,d);if(-1===b){if(this.o.length>2*this.F)return b=2*this.F,c=2*this.F+1,a=this.Gc(a),a.o[b]=d,a.o[c]=e,f.H=!0,a.F+=1,a;c=this.o.length;b=Array(c+2);Be(this.o,0,b,0,c);b[c]=d;b[c+1]=e;f.H=!0;d=this.F+1;a===this.la?(this.o=b,this.F=d,a=this):a=new Bh(this.la,this.ec,d,b);return a}return this.o[b+1]===e?this:uh(this,a,b+1,e)}return(new xh(a,1<<(this.ec>>>b&31),[null,this,null,null])).Kb(a,b,c,d,e,f)}; +g.Jb=function(a,b,c,d,e){return b===this.ec?(a=Eh(this.o,this.F,c),-1===a?(a=2*this.F,b=Array(a+2),Be(this.o,0,b,0,a),b[a]=c,b[a+1]=d,e.H=!0,new Bh(null,this.ec,this.F+1,b)):G.c(this.o[a+1],d)?this:new Bh(null,this.ec,this.F,sh(this.o,a+1,d))):(new xh(null,1<<(this.ec>>>a&31),[null,this])).Jb(a,b,c,d,e)};g.rd=function(a,b,c){a=Eh(this.o,this.F,c);return-1===a?this:1===this.F?null:new Bh(null,this.ec,this.F-1,th(this.o,Ze(a)))};g.ba=function(){return new wh(this.o,0,null,null)}; +function Fh(a,b,c,d,e){this.meta=a;this.Mb=b;this.i=c;this.s=d;this.w=e;this.m=32374988;this.J=0}g=Fh.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}(); +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.P=function(){return this.meta};g.Ka=function(){return null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s))};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)}; +g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){return null==this.s?new R(null,2,5,T,[this.Mb[this.i],this.Mb[this.i+1]],null):y(this.s)};g.bb=function(){var a=null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s));return null!=a?a:wd};g.S=function(){return this};g.T=function(a,b){return new Fh(b,this.Mb,this.i,this.s,this.w)};g.X=function(a,b){return ae(b,this)}; +Fh.prototype[Fb]=function(){return yd(this)};function yh(a,b,c){if(null==c)for(c=a.length;;)if(bthis.F?H(z(this))+1:this.F};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){var a=this.stack;return null==a?null:nc(a)};g.bb=function(){var a=y(this.stack);a=Mh(this.vc?a.right:a.left,z(this.stack),this.vc);return null!=a?new Nh(null,a,this.vc,this.F-1,null):wd};g.S=function(){return this}; +g.T=function(a,b){return new Nh(b,this.stack,this.vc,this.F,this.w)};g.X=function(a,b){return ae(b,this)};Nh.prototype[Fb]=function(){return yd(this)};function Oh(a,b,c){return new Nh(null,Mh(a,null,b),b,c,null)} +function Ph(a,b,c,d){return c instanceof Qh?c.left instanceof Qh?new Qh(c.key,c.H,c.left.bc(),new Rh(a,b,c.right,d,null),null):c.right instanceof Qh?new Qh(c.right.key,c.right.H,new Rh(c.key,c.H,c.left,c.right.left,null),new Rh(a,b,c.right.right,d,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)} +function Sh(a,b,c,d){return d instanceof Qh?d.right instanceof Qh?new Qh(d.key,d.H,new Rh(a,b,c,d.left,null),d.right.bc(),null):d.left instanceof Qh?new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),new Rh(d.key,d.H,d.left.right,d.right,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)} +function Th(a,b,c,d){if(c instanceof Qh)return new Qh(a,b,c.bc(),d,null);if(d instanceof Rh)return Sh(a,b,c,d.ud());if(d instanceof Qh&&d.left instanceof Rh)return new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),Sh(d.key,d.H,d.left.right,d.right.ud()),null);throw Error("red-black tree invariant violation");} +function Uh(a,b,c,d){if(d instanceof Qh)return new Qh(a,b,c,d.bc(),null);if(c instanceof Rh)return Ph(a,b,c.ud(),d);if(c instanceof Qh&&c.right instanceof Rh)return new Qh(c.right.key,c.right.H,Ph(c.key,c.H,c.left.ud(),c.right.left),new Rh(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");} +var Vh=function Vh(a,b,c){var e=null!=a.left?function(){var e=a.left;return Vh.l?Vh.l(e,b,c):Vh.call(null,e,b,c)}():c;if(Hd(e))return e;var f=function(){var c=a.key,f=a.H;return b.l?b.l(e,c,f):b.call(null,e,c,f)}();if(Hd(f))return f;if(null!=a.right){var h=a.right;return Vh.l?Vh.l(h,b,f):Vh.call(null,h,b,f)}return f};function Rh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Rh.prototype; +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}(); +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return a.He(this)};g.ud=function(){return new Qh(this.key,this.H,this.left,this.right,null)};g.bc=function(){return this};g.De=function(a){return a.Ge(this)};g.replace=function(a,b,c,d){return new Rh(a,b,c,d,null)}; +g.Ge=function(a){return new Rh(a.key,a.H,this,a.right,null)};g.He=function(a){return new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)};g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)}; +g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)}; +g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)};g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)}; +g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)};g.c=function(a,b){return this.ka(null,a,b)};Rh.prototype[Fb]=function(){return yd(this)}; +function Qh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Qh.prototype;g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}(); +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return new Qh(this.key,this.H,this.left,a,null)};g.ud=function(){throw Error("red-black tree invariant violation");};g.bc=function(){return new Rh(this.key,this.H,this.left,this.right,null)}; +g.De=function(a){return new Qh(this.key,this.H,a,this.right,null)};g.replace=function(a,b,c,d){return new Qh(a,b,c,d,null)};g.Ge=function(a){return this.left instanceof Qh?new Qh(this.key,this.H,this.left.bc(),new Rh(a.key,a.H,this.right,a.right,null),null):this.right instanceof Qh?new Qh(this.right.key,this.right.H,new Rh(this.key,this.H,this.left,this.right.left,null),new Rh(a.key,a.H,this.right.right,a.right,null),null):new Rh(a.key,a.H,this,a.right,null)}; +g.He=function(a){return this.right instanceof Qh?new Qh(this.key,this.H,new Rh(a.key,a.H,a.left,this.left,null),this.right.bc(),null):this.left instanceof Qh?new Qh(this.left.key,this.left.H,new Rh(a.key,a.H,a.left,this.left.left,null),new Rh(this.key,this.H,this.left.right,this.right,null),null):new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)}; +g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)};g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)}; +g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)};g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)}; +g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)}; +g.c=function(a,b){return this.ka(null,a,b)};Qh.prototype[Fb]=function(){return yd(this)}; +var Wh=function Wh(a,b,c,d,e){if(null==b)return new Qh(c,d,null,null,null);var h=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===h)return e[0]=b,null;if(0>h)return h=function(){var h=b.left;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}(),null!=h?b.De(h):null;h=function(){var h=b.right;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}();return null!=h?b.Ee(h):null},Xh=function Xh(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof Qh){if(b instanceof Qh){var d= +function(){var d=a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Qh(a.key,a.H,a.left,d.left,null),new Qh(b.key,b.H,d.right,b.right,null),null):new Qh(a.key,a.H,a.left,new Qh(b.key,b.H,d,b.right,null),null)}return new Qh(a.key,a.H,a.left,function(){var d=a.right;return Xh.c?Xh.c(d,b):Xh.call(null,d,b)}(),null)}if(b instanceof Qh)return new Qh(b.key,b.H,function(){var d=b.left;return Xh.c?Xh.c(a,d):Xh.call(null,a,d)}(),b.right,null);d=function(){var d= +a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Rh(a.key,a.H,a.left,d.left,null),new Rh(b.key,b.H,d.right,b.right,null),null):Th(a.key,a.H,a.left,new Rh(b.key,b.H,d,b.right,null))},Yh=function Yh(a,b,c,d){if(null!=b){var f=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===f)return d[0]=b,Xh(b.left,b.right);if(0>f)return f=function(){var f=b.left;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}(),null!=f||null!=d[0]?b.left instanceof +Rh?Th(b.key,b.H,f,b.right):new Qh(b.key,b.H,f,b.right,null):null;f=function(){var f=b.right;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}();return null!=f||null!=d[0]?b.right instanceof Rh?Uh(b.key,b.H,b.left,f):new Qh(b.key,b.H,b.left,f,null):null}return null},Zh=function Zh(a,b,c,d){var f=b.key,h=a.c?a.c(c,f):a.call(null,c,f);return 0===h?b.replace(f,d,b.left,b.right):0>h?b.replace(f,b.H,function(){var f=b.left;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}(),b.right):b.replace(f,b.H,b.left, +function(){var f=b.right;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}())};function $h(a,b,c,d,e){this.Bb=a;this.mc=b;this.F=c;this.meta=d;this.w=e;this.m=418776847;this.J=8192}g=$h.prototype;g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(ed?c.left:c.right}else return null}g.has=function(a){return He(this,a)};g.V=function(a,b){return this.I(null,b,null)}; +g.I=function(a,b,c){a=ai(this,b);return null!=a?a.H:c};g.Qc=function(a,b,c){return null!=this.mc?Jd(Vh(this.mc,b,c)):c};g.P=function(){return this.meta};g.W=function(){return this.F};g.Rc=function(){return 0(a.h?a.h(c):a.call(null,c))?b:c};Ai.A=function(a,b,c,d){return Mb(function(b,c){return Ai.l(a,b,c)},Ai.l(a,b,c),d)};Ai.N=function(a){var b=y(a),c=z(a);a=y(c);var d=z(c);c=y(d);d=z(d);return Ai.A(b,a,c,d)};Ai.L=3;function Bi(a,b){return new kf(null,function(){var c=E(b);if(c){var d=y(c);d=a.h?a.h(d):a.call(null,d);c=t(d)?ae(y(c),Bi(a,vd(c))):null}else c=null;return c},null,null)}function Di(a,b,c){this.i=a;this.end=b;this.step=c} +Di.prototype.ja=function(){return 0this.end};Di.prototype.next=function(){var a=this.i;this.i+=this.step;return a};function Ei(a,b,c,d,e){this.meta=a;this.start=b;this.end=c;this.step=d;this.w=e;this.m=32375006;this.J=139264}g=Ei.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)}; +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}(); +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.$=function(a,b){if(0<=b&&bthis.end&&0===this.step)return this.start;throw Error("Index out of bounds");}; +g.ka=function(a,b,c){return 0<=b&&bthis.end&&0===this.step?this.start:c};g.ba=function(){return new Di(this.start,this.end,this.step)};g.P=function(){return this.meta};g.Ka=function(){return 0this.end?new Ei(this.meta,this.start+this.step,this.end,this.step,null):null}; +g.W=function(){return wb(this.S(null))?0:Math.ceil((this.end-this.start)/this.step)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){for(a=this.start;;)if(0this.end){c=b.c?b.c(c,a):b.call(null,c,a);if(Hd(c))return B(c);a+=this.step}else return c};g.Ia=function(){return null==this.S(null)?null:this.start}; +g.bb=function(){return null!=this.S(null)?new Ei(this.meta,this.start+this.step,this.end,this.step,null):wd};g.S=function(){return 0this.step?this.start>this.end?this:null:this.start===this.end?null:this};g.T=function(a,b){return new Ei(b,this.start,this.end,this.step,this.w)};g.X=function(a,b){return ae(b,this)};Ei.prototype[Fb]=function(){return yd(this)};function Fi(a,b,c){return new Ei(null,a,b,c,null)} +function Gi(a,b){return new R(null,2,5,T,[Bi(a,b),ng(a,b)],null)} +function Hi(a){var b=y;return function(){function c(c,d,e){return new R(null,2,5,T,[b.l?b.l(c,d,e):b.call(null,c,d,e),a.l?a.l(c,d,e):a.call(null,c,d,e)],null)}function d(c,d){return new R(null,2,5,T,[b.c?b.c(c,d):b.call(null,c,d),a.c?a.c(c,d):a.call(null,c,d)],null)}function e(c){return new R(null,2,5,T,[b.h?b.h(c):b.call(null,c),a.h?a.h(c):a.call(null,c)],null)}function f(){return new R(null,2,5,T,[b.B?b.B():b.call(null),a.B?a.B():a.call(null)],null)}var h=null,k=function(){function c(a,b,c,e){var f= +null;if(3lb)return Jc(a,"#");Jc(a,c);if(0===tb.h(f))E(h)&&Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}());else{if(E(h)){var l=y(h);b.l?b.l(l,a,f):b.call(null,l,a,f)}for(var p=z(h),m=tb.h(f)-1;;)if(!p||null!=m&&0===m){E(p)&&0===m&&(Jc(a,d),Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}()));break}else{Jc(a,d);var u=y(p);c=a;h=f;b.l?b.l(u,c,h):b.call(null,u,c,h);var w=z(p);c=m-1;p=w;m=c}}return Jc(a,e)}finally{lb=k}} +function Li(a,b){for(var c=E(b),d=null,e=0,f=0;;)if(fH(a)?a.toUpperCase():[v.h(a.substring(0,1).toUpperCase()),v.h(a.substring(1))].join("")} +function Qo(a){if("string"===typeof a)return a;a=jf(a);var b=Fo(a,/-/),c=E(b);b=y(c);c=z(c);return t(Oo.h?Oo.h(b):Oo.call(null,b))?a:Kb(v,b,ig.c(Po,c))}function Ro(a){var b=function(){var b=function(){var b=me(a);return b?(b=a.displayName,t(b)?b:a.name):b}();if(t(b))return b;b=function(){var b=null!=a?a.J&4096||q===a.Oe?!0:!1:!1;return b?jf(a):b}();if(t(b))return b;b=qe(a);return xe(b)?Tk.h(b):null}();return Do(""+v.h(b),"$",".")}var So=!1;if("undefined"===typeof To)var To=0;function Uo(a){return setTimeout(a,16)}var Vo="undefined"===typeof window||null==window.document?Uo:function(){var a=window,b=a.requestAnimationFrame;if(t(b))return b;b=a.webkitRequestAnimationFrame;if(t(b))return b;b=a.mozRequestAnimationFrame;if(t(b))return b;a=a.msRequestAnimationFrame;return t(a)?a:Uo}();function Wo(a,b){return a.cljsMountOrder-b.cljsMountOrder}if("undefined"===typeof Xo)var Xo=function(){return null};function Yo(a){this.Yd=a} +function Zo(a,b){var c=a[b];if(null==c)return null;a[b]=null;for(var d=c.length,e=0;;)if(e=d&&a.push(gq(c));return a}}(e),[b,c],a))}};if("undefined"===typeof jq)var jq=null;function kq(){if(null!=jq)return jq;if("undefined"!==typeof ReactDOM)return jq=ReactDOM;if("undefined"!==typeof require){var a=jq=require("react-dom");if(t(a))return a;throw Error("require('react-dom') failed");}throw Error("js/ReactDOM is missing");}if("undefined"===typeof lq)var lq=dg.h(Ef); +function mq(a,b,c){var d=So;So=!0;try{return kq().render(a.B?a.B():a.call(null),b,function(){return function(){var d=So;So=!1;try{return gg.M(lq,K,b,new R(null,2,5,T,[a,b],null)),Zo(bp,"afterRender"),null!=c?c.B?c.B():c.call(null):null}finally{So=d}}}(d))}finally{So=d}}function nq(a,b){return mq(a,b,null)}function oq(a,b,c){qp();return mq(function(){return gq(me(a)?a.B?a.B():a.call(null):a)},b,c)}Wp=function(a){return kq().findDOMNode(a)};function pq(a){switch(arguments.length){case 2:return oq(arguments[0],arguments[1],null);case 3:return oq(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}}function qq(a,b){return oq(a,b,null)} +da("reagent.core.force_update_all",function(){qp();qp();for(var a=E(mh(B(lq))),b=null,c=0,d=0;;)if(d=Number(c)?a:a=-1Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+sa(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+sa(b,a)+d);return d};yq.fc.d=function(a,b,c,d,e,f,h,k){return yq.fc.f(parseInt(a,10),b,c,d,0,f,h,k)}; +yq.fc.i=yq.fc.d;yq.fc.u=yq.fc.d;function zq(a){var b=be([Vk,null]);return wg.c(t(a)?a:Ef,function(){return function e(a){return new kf(null,function(){for(var b=a;;)if(b=E(b)){if(Ae(b)){var d=Wc(b),k=H(d),l=of(k);a:for(var p=0;;)if(p=H(h)&&Vf(function(){return function(a){return!(a instanceof Xq)}}(b,c,d,e,f,h),h)))throw Error(Bq("%s is not a valid sequence schema; %s%s%s",be([a,"a valid sequence schema consists of zero or more `one` elements, ","followed by zero or more `optional` elements, followed by an optional ", +"schema that will match the remaining elements."])));return new R(null,2,5,T,[O.c(c,f),y(h)],null)} +R.prototype.xb=function(){var a=this,b=Zq(a),c=J(b,0,null),d=J(b,1,null);return Wg(O.c(function(){return function(a,b,c,d){return function m(e){return new kf(null,function(){return function(){for(;;){var a=E(e);if(a){if(Ae(a)){var b=Wc(a),c=H(b),d=of(c);return function(){for(var a=0;;)if(ac?f:c;return $r(a,ea?0:a}():function(){var a=e-b;return f>a?f:a}())} +function gs(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl);d=null!=d&&(d.m&64||q===d.G)?P(U,d):d;var e=D.c(d,Aj),f=D.c(c,Yj),h=D.c(c,no);return $r(c,e>f?function(){var a=h-1,c=e+b;return a=a}}(l,p,a,c,c,d,e,f,h,k),h),l,p);return Zr(c,d)} +function it(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d,f=D.c(e,zn),h=D.c(c,tk),k=D.c(c,fl),l=b-1;d=J(cf(Bi(function(a,b,c,d,e,f,h){return function(a){return h>a}}(l,a,c,c,d,e,f,h,k),h)),l,0);return Zr(c,d)}function jt(a){return K.l(a,im,Ve)}function kt(a){return K.l(a,im,Hr)}function lt(a,b,c){return K.l(a,b,c)}function mt(a,b,c){return Wg(O.A(jg(b,a),new R(null,1,5,T,[c],null),be([jg(H(a)-b-1,kg(b,a))])))} +function nt(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d;d=D.c(e,zn);e=D.c(e,Aj);var f=D.c(c,fl);D.c(c,no);var h=D.c(c,Oj),k=D.c(c,Rj),l=D.c(c,$l),p=D.c(c,im);p=95b?p.h?p.h(b):p.call(null,b):b;h=tr(p,h);return G.c(f,d+1)?t(k)?K.l(Yr(zg(c,new R(null,3,5,T,[il,e,d],null),h),d+1),vk,!0):zg(c,new R(null,3,5,T,[il,e,d],null),h):Yr(Ag.Z(c,new R(null,2,5,T,[il,e],null),t(l)?mt:lt,d,h),d+1)} +function ot(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,Rj),e=D.c(c,vk);t(t(d)?e:d)&&(c=null!=c&&(c.m&64||q===c.G)?P(U,c):c,d=D.c(c,pl),d=null!=d&&(d.m&64||q===d.G)?P(U,d):d,d=D.c(d,Aj),e=D.c(c,no),c=Yr(c,0),c=G.c(e,d+1)?Tr.h(c):$r(c,d+1));return c=nt(c,b)}function pt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,fl),c=D.c(a,no);return K.l(a,il,Wg(qg(c,Wg(qg(b,new R(null,2,5,T,[69,Ef],null))))))} +function qt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl);b=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(b,Aj);var c=D.c(a,fl),d=D.c(a,Oj);return zg(a,new R(null,2,5,T,[il,b],null),gr.c(c,d))}function rt(a,b,c){return Wg(O.c(jg(b,a),qg(H(a)-b,vr(c))))}function st(a,b,c){return Wg(O.c(qg(b+1,vr(c)),kg(b+1,a)))} +function tt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl),c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(c,zn);c=D.c(c,Aj);var d=D.c(a,fl),e=D.c(a,Oj);--d;return Ag.Z(a,new R(null,2,5,T,[il,c],null),rt,b=k?Zr(c,k-1):c,m=Mb(D,p,new R(null,2,5,T,[pl,zn],null));return Ag.l(p,new R(null,2,5,T,[il,h],null),function(a,b,c,d,e,f,h,k,m,l,p,Q){return function(a){return Wg(O.A(jg(b,a),kg(b+c,a),be([qg(c,vr(Q))])))}}(p,m,function(){var a=k-m;return b=a}}(c,b)(b)}()))return Gu(a,b+64);throw Jt;}catch(h){if(h instanceof Error){var d=h;if(d===Jt)try{if(55===b)return Bg(a,V,ms);throw Jt;}catch(k){if(k instanceof Error){var e=k;if(e===Jt)try{if(56===b)return Bg(a,V,ns);throw Jt;}catch(l){if(l instanceof Error){var f=l;if(f===Jt)try{if(99===b)return du(a); +throw Jt;}catch(p){if(p instanceof Error){d=p;if(d===Jt)throw Jt;throw d;}throw p;}else throw f;}else throw l;}else throw e;}else throw k;}else throw d;}else throw h;}else throw Jt;}catch(h){if(h instanceof Error)if(d=h,d===Jt)try{if(35===c)try{if(56===b)return Bg(a,V,pt);throw Jt;}catch(k){if(k instanceof Error){e=k;if(e===Jt)throw Jt;throw e;}throw k;}else throw Jt;}catch(k){if(k instanceof Error)if(e=k,e===Jt)try{if(40===c)try{if(48===b)return Zt(a);throw Jt;}catch(l){if(l instanceof Error){f= +l;if(f===Jt)return $t(a);throw f;}throw l;}else throw Jt;}catch(l){if(l instanceof Error){f=l;if(f===Jt)return a;throw f;}throw l;}else throw e;else throw k;}else throw d;else throw h;}},function(a){return a},function(a){return a},Gu,function(a,b){return Cg(a,V,ot,b)},function(a,b){var c=function(){switch(b){case 64:return eu;case 65:return fu;case 66:return gu;case 67:return hu;case 68:return iu;case 69:return ju;case 70:return ku;case 71:return lu;case 72:return mu;case 73:return nu;case 74:return ou; +case 75:return pu;case 76:return su;case 77:return tu;case 80:return uu;case 83:return qu;case 84:return ru;case 87:return vu;case 88:return wu;case 90:return xu;case 96:return lu;case 97:return hu;case 100:return Du;case 101:return fu;case 102:return mu;case 103:return yu;case 104:return zu;case 108:return Au;case 109:return Cu;case 112:return Eu;case 114:return Fu;default:return null}}();return t(c)?c.h?c.h(a):c.call(null,a):a},function(a){return a},function(a,b){return K.l(a,kk,ge.c(kk.h(a),b))}, +function(a){return a},function(a,b){return K.l(a,rk,ge.c(rk.h(a),b))},function(a){return a},function(a){return a},function(a){return K.A(a,rk,he,be([kk,he]))}]);function Iu(a,b){for(var c=a,d=Tl.h(c),e=b;;){var f=y(e);if(t(f)){var h=160<=f?65:f;h=D.c(d.h?d.h(xq):d.call(null,xq),h);d=J(h,0,null);h=J(h,1,null);a:for(;;)if(E(h)){var k=y(h);k=Hu.h?Hu.h(k):Hu.call(null,k);c=k.c?k.c(c,f):k.call(null,c,f);h=z(h)}else break a;e=vd(e)}else return K.l(c,Tl,d)}} +function Ju(a,b){var c=xg(function(a){return a.codePointAt(0)},b);return Iu(a,c)} +function Ku(a,b){try{if(ze(b)&&3===H(b)){var c=Vd(b,0),d=Vd(b,1),e=Vd(b,2);return[v.h(a+8),";2;",v.h(c),";",v.h(d),";",v.h(e)].join("")}throw Jt;}catch(k){if(k instanceof Error){var f=k;if(f===Jt)try{if(t(function(){return function(){return function(a){return 8>a}}(f)(b)}()))return""+v.h(a+b);throw Jt;}catch(l){if(l instanceof Error){var h=l;if(h===Jt)try{if(t(function(){return function(){return function(a){return 16>a}}(h,f)(b)}()))return""+v.h(a+52+b);throw Jt;}catch(p){if(p instanceof Error){c= +p;if(c===Jt)return[v.h(a+8),";5;",v.h(b)].join("");throw c;}throw p;}else throw h;}else throw l;}else throw f;}else throw k;}}ag.c(Ku,30);ag.c(Ku,40);var Lu=function Lu(a){if(null!=a&&null!=a.yd)return a.yd(a);var c=Lu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Lu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.lines",a);},Mu=function Mu(a){if(null!=a&&null!=a.xd)return a.xd(a);var c=Mu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Mu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.cursor",a);};function Nu(a,b){var c=0parseFloat(Iv)){Hv=String(Kv);break a}}Hv=Iv}var gb={}; +function Lv(a){return fb(a,function(){for(var b=0,c=ra(String(Hv)).split("."),d=ra(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Uv="closure_listenable_"+(1E6*Math.random()|0),Vv=0;function Wv(a,b,c,d,e){this.listener=a;this.Xd=null;this.src=b;this.type=c;this.capture=!!d;this.Ub=e;this.key=++Vv;this.$c=this.Fd=!1}function Xv(a){a.$c=!0;a.listener=null;a.Xd=null;a.src=null;a.Ub=null};function Yv(a){this.src=a;this.rb={};this.wd=0}Yv.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.rb[f];a||(a=this.rb[f]=[],this.wd++);var h=Zv(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(l){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);f=a.type;for(var h=e.length-1;!c.Kc&&0<=h;h--){c.currentTarget=e[h];var k=nw(e[h],f,!0,c);d=d&&k}for(h=0;!c.Kc&& +h>>0);function fw(a){if(ha(a))return a;a[pw]||(a[pw]=function(b){return a.handleEvent(b)});return a[pw]};function qw(){wv.call(this);this.Ib=new Yv(this);this.ff=this;this.ve=null}qa(qw,wv);qw.prototype[Uv]=!0;g=qw.prototype;g.addEventListener=function(a,b,c,d){dw(this,a,b,c,d)};g.removeEventListener=function(a,b,c,d){lw(this,a,b,c,d)}; +g.dispatchEvent=function(a){var b,c=this.ve;if(c)for(b=[];c;c=c.ve)b.push(c);c=this.ff;var d=a.type||a;if(ca(a))a=new Sv(a,c);else if(a instanceof Sv)a.target=a.target||c;else{var e=a;a=new Sv(d,c);Ia(a,e)}e=!0;if(b)for(var f=b.length-1;!a.Kc&&0<=f;f--){var h=a.currentTarget=b[f];e=rw(h,d,!0,a)&&e}a.Kc||(h=a.currentTarget=c,e=rw(h,d,!0,a)&&e,a.Kc||(e=rw(h,d,!1,a)&&e));if(b)for(f=0;!a.Kc&&fthis.head?(Yw(this.o,this.fa,a,0,this.o.length-this.fa),Yw(this.o,0,a,this.o.length-this.fa,this.head),this.fa=0,this.head=this.length,this.o=a):this.fa===this.head?(this.head=this.fa=0,this.o=a):null};function ax(a,b){for(var c=a.length,d=0;;)if(da)){a+=1;continue}break}hx=!1;return 0c)return a;a:for(;;){var e=cMath.random()&&15>d)d+=1;else break a;if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(d=Ex(a,b,Array(d));;)return 0<=this.level?(c=c[0].forward,d.forward[0]=c[0],c[0]=d):null}; +Gx.prototype.remove=function(a){var b=Array(15),c=Fx(this.header,a,this.level,b);c=0===c.forward.length?null:c.forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;c===(ad)return c===b.header?null:c;var e;a:for(e=c;;){e=d=a)break a}null!=e?(--d,c=e):--d}}Gx.prototype.S=function(){return function(a){return function d(c){return new kf(null,function(){return function(){return null==c?null:ae(new R(null,2,5,T,[c.key,c.H],null),d(c.forward[0]))}}(a),null,null)}}(this)(this.header.forward[0])}; +Gx.prototype.R=function(a,b,c){return Y(b,function(){return function(a){return Y(b,Qi,""," ","",c,a)}}(this),"{",", ","}",c,this)};var Ix=new Gx(Ex(null,null,0),0);function Jx(a){var b=(new Date).valueOf()+a,c=Hx(b),d=t(t(c)?c.keya:b)?a+8:a,[v.h(c),v.h(a)].join("")):null} +function Vy(a){var b=J(a,0,null),c=J(a,1,null);a=J(a,2,null);return["rgb(",v.h(b),",",v.h(c),",",v.h(a),")"].join("")} +var Wy=hj(function(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Nk),c=D.c(a,pl);a=K.l(a,Nk,t(c)?wb(b):b);var d=null!=a&&(a.m&64||q===a.G)?P(U,a):a,e=D.c(d,Ok),f=D.c(d,Tn);b=D.c(d,Kj);var h=D.c(d,dk);c=D.c(d,Vl);var k=D.c(d,Nk),l=D.c(d,Yn);d=D.c(d,pl);var p=t(k)?t(e)?e:"fg":f;e=Uy(t(k)?t(f)?f:"bg":e,b,"fg-");h=Uy(p,h,"bg-");c=vg(ub,new R(null,6,5,T,[e,h,t(b)?"bright":null,t(l)?"italic":null,t(c)?"underline":null,t(d)?"cursor":null],null));if(E(c))a:for(b=new cb,c=E(c);;)if(null!=c)b.append(""+ +v.h(y(c))),c=z(c),null!=c&&b.append(" ");else{b=b.toString();break a}else b=null;l=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(l,Ok);c=D.c(l,Tn);h=D.c(l,Nk);l=t(h)?c:a;a=t(h)?a:c;a=hi.A(be([t(ze.h?ze.h(l):ze.call(null,l))?new r(null,1,[ik,Vy(l)],null):null,t(ze.h?ze.h(a):ze.call(null,a))?new r(null,1,[al,Vy(a)],null):null]));return hi.A(be([t(b)?new r(null,1,[vn,b],null):null,t(a)?new r(null,1,[fm,a],null):null]))}); +function Xy(a,b){var c=J(a,0,null),d=J(a,1,null);d=Bg(d,pl,function(){return function(a){return t(a)?B(b):a}}(a,c,d));return new R(null,3,5,T,[ro,Wy.h?Wy.h(d):Wy.call(null,d),c],null)}function Yy(a,b){var c=J(a,0,null),d=J(a,1,null),e=jg(b,c);e=E(e)?new R(null,2,5,T,[Eo(e),d],null):null;var f=K.l(d,pl,!0);f=new R(null,2,5,T,[Vd(c,b),f],null);c=kg(b+1,c);d=E(c)?new R(null,2,5,T,[Eo(c),d],null):null;return vg(ub,new R(null,3,5,T,[e,f,d],null))} +function Zy(a,b){for(var c=he,d=a,e=b;;)if(E(d)){var f=y(d),h=J(f,0,null);J(f,1,null);h=H(h);if(h<=e)c=ge.c(c,f),d=vd(d),e-=h;else return O.A(c,Yy(f,e),be([vd(d)]))}else return c}function $y(a,b,c){a=t(B(b))?Zy(B(a),B(b)):B(a);return new R(null,2,5,T,[Lm,Ii(bg(function(){return function(a,b){return pe(new R(null,3,5,T,[Xy,b,c],null),new r(null,1,[mk,a],null))}}(a),a))],null)}var qA=new ti(null,new r(null,3,["small",null,"medium",null,"big",null],null),null); +function rA(a,b,c,d,e){var f=yp(function(){var a=B(c);return t(qA.h?qA.h(a):qA.call(null,a))?["font-",v.h(a)].join(""):null}),h=yp(function(){return function(){var d=B(a),e=B(b),f=B(c);f=t(qA.h?qA.h(f):qA.call(null,f))?null:new r(null,1,[wk,f],null);return hi.A(be([new r(null,2,[fl,[v.h(d),"ch"].join(""),no,[v.h(1.3333333333*e),"em"].join("")],null),f]))}}(f)),k=yp(function(){return function(){return Lu(B(d))}}(f,h)),l=yp(function(a,c,d){return function(){return xg(function(a,b,c){return function(d){return yp(function(a, +b,c){return function(){return D.c(B(c),d)}}(a,b,c))}}(a,c,d),Fi(0,B(b),1))}}(f,h,k)),p=yp(function(){return function(){return Mu(B(d))}}(f,h,k,l)),m=yp(function(a,b,c,d,e){return function(){return zn.h(B(e))}}(f,h,k,l,p)),u=yp(function(a,b,c,d,e){return function(){return Aj.h(B(e))}}(f,h,k,l,p,m)),w=yp(function(a,b,c,d,e){return function(){return On.h(B(e))}}(f,h,k,l,p,m,u));return function(a,b,c,d,f,h,k,l){return function(){return new R(null,3,5,T,[Gm,new r(null,2,[vn,B(a),fm,B(b)],null),bg(function(a, +b,c,d,f,h,k,l){return function(m,p){var u=yp(function(a,b,c,d,e,f,h,k){return function(){var a=B(k);return t(a)?(a=G.c(m,B(h)))?B(f):a:a}}(a,b,c,d,f,h,k,l));return pe(new R(null,4,5,T,[$y,p,u,e],null),new r(null,1,[mk,m],null))}}(a,b,c,d,f,h,k,l),B(d))],null)}}(f,h,k,l,p,m,u,w)} +function sA(){return new R(null,2,5,T,[Ym,new r(null,4,[Mn,"1.1",Fl,"0 0 866.0254037844387 866.0254037844387",vn,"icon",mo,new r(null,1,[An,'\x3cdefs\x3e \x3cmask id\x3d"small-triangle-mask"\x3e \x3crect width\x3d"100%" height\x3d"100%" fill\x3d"white"/\x3e \x3cpolygon points\x3d"508.01270189221935 433.01270189221935, 208.0127018922194 259.8076211353316, 208.01270189221927 606.217782649107" fill\x3d"black"\x3e\x3c/polygon\x3e \x3c/mask\x3e \x3c/defs\x3e \x3cpolygon points\x3d"808.0127018922194 433.01270189221935, 58.01270189221947 -1.1368683772161603e-13, 58.01270189221913 866.0254037844386" mask\x3d"url(#small-triangle-mask)" fill\x3d"white"\x3e\x3c/polygon\x3e \x3cpolyline points\x3d"481.2177826491071 333.0127018922194, 134.80762113533166 533.0127018922194" stroke\x3d"white" stroke-width\x3d"90"\x3e\x3c/polyline\x3e'],null)], +null)],null)}function tA(){return new R(null,3,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L11,6 L1,12 Z"],null)],null)],null)}function uA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L4,0 L4,12 L1,12 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M8,0 L11,0 L11,12 L8,12 Z"],null)],null)],null)} +function vA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M12,0 L7,0 L9,2 L7,4 L8,5 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M0,12 L0,7 L2,9 L4,7 L5,8 L3,10 L5,12 Z"],null)],null)],null)} +function wA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M7,5 L7,0 L9,2 L11,0 L12,1 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M5,7 L0,7 L2,9 L0,11 L1,12 L3,10 L5,12 Z"],null)],null)],null)}function xA(a,b){return function(b){return function(){return new R(null,3,5,T,[cl,new r(null,1,[Sl,b],null),new R(null,1,5,T,[t(B(a))?uA:tA],null)],null)}}(Ty(b,new fy(null,null,null)))} +function yA(a){return 10>a?["0",v.h(a)].join(""):a}function zA(a){var b=Math.floor((a%60+60)%60);return[v.h(yA(Math.floor(a/60))),":",v.h(yA(b))].join("")}function AA(a,b){var c=T,d=new R(null,2,5,T,[Yk,zA(B(a))],null),e=T;var f=B(a);var h=B(b);f=["-",v.h(zA(h-f))].join("");return new R(null,3,5,c,[Ml,d,new R(null,2,5,e,[co,f],null)],null)} +function BA(){function a(a){a.preventDefault();return Ry(a.currentTarget.parentNode.parentNode.parentNode)}return function(){return new R(null,4,5,T,[un,new r(null,1,[Sl,a],null),new R(null,1,5,T,[vA],null),new R(null,1,5,T,[wA],null)],null)}} +function CA(a,b){var c=Sy(b,function(a){var b=a.currentTarget.offsetWidth,c=a.currentTarget.getBoundingClientRect();return cy(Nu(a.clientX-c.left,b)/b)}),d=yp(function(){return function(){return[v.h(100*B(a)),"%"].join("")}}(c));return function(a,b){return function(){return new R(null,2,5,T,[Vj,new R(null,3,5,T,[Bl,new r(null,1,[Ql,a],null),new R(null,2,5,T,[Cj,new R(null,2,5,T,[ro,new r(null,1,[fm,new r(null,1,[fl,B(b)],null)],null)],null)],null)],null)],null)}}(c,d)} +function DA(a,b,c,d){return function(e){return function(){return new R(null,5,5,T,[Kk,new R(null,3,5,T,[xA,a,d],null),new R(null,3,5,T,[AA,b,c],null),new R(null,1,5,T,[BA],null),new R(null,3,5,T,[CA,e,d],null)],null)}}(yp(function(){return B(b)/B(c)}))} +function EA(a){return function(a){return function(){return new R(null,3,5,T,[ol,new r(null,1,[Sl,a],null),new R(null,2,5,T,[Xk,new R(null,2,5,T,[km,new R(null,2,5,T,[ro,new R(null,1,5,T,[sA],null)],null)],null)],null)],null)}}(Ty(a,new fy(null,null,null)))}function FA(){return new R(null,2,5,T,[Ek,new R(null,1,5,T,[xn],null)],null)}function GA(a){return Wf(function(b){return a[b]},new R(null,4,5,T,["altKey","shiftKey","metaKey","ctrlKey"],null))} +function HA(a){var b=t(GA(a))?null:function(){switch(a.key){case " ":return new fy(null,null,null);case "f":return bm;case "0":return cy(0);case "1":return cy(.1);case "2":return cy(.2);case "3":return cy(.3);case "4":return cy(.4);case "5":return cy(.5);case "6":return cy(.6);case "7":return cy(.7);case "8":return cy(.8);case "9":return cy(.9);default:return null}}();if(t(b))return b;switch(a.key){case "\x3e":return new ey(null,null,null);case "\x3c":return new dy(null,null,null);default:return null}} +function IA(a){if(t(GA(a)))return null;switch(a.which){case 37:return new ay(null,null,null);case 39:return new $x(null,null,null);default:return null}}function JA(a){var b=HA(a);return t(b)?(a.preventDefault(),G.c(b,bm)?(Ry(a.currentTarget),null):b):null}function KA(a){var b=IA(a);return t(b)?(a.preventDefault(),b):null} +function LA(a,b,c,d){a=t(a)?['"',v.h(a),'"'].join(""):"untitled";return new R(null,4,5,T,[dl,t(d)?new R(null,2,5,T,[jo,new r(null,1,[zl,d],null)],null):null,a,t(b)?new R(null,3,5,T,[ro," by ",t(c)?new R(null,3,5,T,[lo,new r(null,1,[ho,c],null),b],null):b],null):null],null)} +function MA(a){var b=Mx(1,ig.h(iy)),c=Kx(1);lx(function(c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(x){if(x instanceof Object)b[5]=x,Cx(b),d=Z;else throw x;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+ +(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(){return function(c){var d=c[1];if(7===d)return c[7]=c[2],Ax(c,12,b,!1);if(1===d)return c[2]=null,c[1]=2,Z;if(4===d)return c[8]=c[2],Ax(c,5,b,!0);if(6===d)return d=Jx(3E3),Ux(c,8,new R(null,2,5,T,[a,d],null));if(3===d)return Bx(c,c[2]);if(12===d)return c[9]=c[2],c[2]=null,c[1]=2,Z;if(2===d)return zx(c,4,a);if(11===d)return c[2]=c[2],c[1]=7,Z;if(9===d)return c[2]=null,c[1]=6,Z;if(5===d)return c[10]=c[2],c[2]=null,c[1]=6,Z;if(10===d)return c[2]= +null,c[1]=11,Z;if(8===d){var e=c[2];d=J(e,0,null);e=J(e,1,null);e=G.c(e,a);c[11]=d;c[1]=e?9:10;return Z}return null}}(c),c)}(),f=function(){var a=d.B?d.B():d.call(null);a[6]=c;return a}();return yx(f)}}(c));return b} +function NA(a,b){var c=dg.h(b),d=Kx(1);lx(function(b,c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(F){if(F instanceof Object)b[5]=F,Cx(b),d=Z;else throw F;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this, +a)}throw Error("Invalid arity: "+(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(b,c){return function(d){var e=d[1];if(7===e){var f=d[7],h=wb(null==f);d[8]=d[2];d[1]=h?8:9;return Z}if(20===e)return f=d[7],d[1]=t(q===f.Fe)?23:24,Z;if(27===e)return d[2]=!1,d[1]=28,Z;if(1===e)return d[2]=null,d[1]=2,Z;if(24===e)return f=d[7],d[1]=t(!f.Tc)?26:27,Z;if(4===e){f=d[7];var k=d[9];h=d[2];var l=J(h,0,null),m=J(h,1,null);d[10]=m;d[7]=l;d[9]=h;d[1]=t(null==l)?5:6;return Z}return 15===e?(d[2]=!1,d[1]= +16,Z):21===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=22,Z):31===e?(d[11]=d[2],d[2]=null,d[1]=2,Z):13===e?(d[2]=d[2],d[1]=10,Z):22===e?(d[1]=t(d[2])?29:30,Z):29===e?(f=d[7],h=B(a),h=Zx(f,h),h=gg.l(c,wo,h),d[2]=h,d[1]=31,Z):6===e?(d[2]=null,d[1]=7,Z):28===e?(d[2]=d[2],d[1]=25,Z):25===e?(d[2]=d[2],d[1]=22,Z):17===e?(m=d[10],f=d[7],k=d[9],h=gg.c(a,function(){return function(a,b){return function(a){return Xx(b,a)}}(k,f,m,m,f,k,e,b,c)}()),d[2]=h,d[1]=19,Z):3===e?Bx(d,d[2]):12===e?(f=d[7],d[1]=t(!f.Tc)?14:15,Z): +2===e?(h=B(c),h=E(h),Ux(d,4,h)):23===e?(d[2]=!0,d[1]=25,Z):19===e?(f=d[7],h=wb(null==f),d[12]=d[2],d[1]=h?20:21,Z):11===e?(d[2]=!0,d[1]=13,Z):9===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=10,Z):5===e?(m=d[10],h=gg.l(c,re,m),d[2]=h,d[1]=7,Z):14===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=16,Z):26===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=28,Z):16===e?(d[2]=d[2],d[1]=13,Z):30===e?(d[2]=null,d[1]=31,Z):10===e?(d[1]=t(d[2])?17:18,Z):18===e?(d[2]=null,d[1]=19,Z):8===e?(f=d[7],d[1]=t(q===f.sb)?11:12,Z):null}}(b,c),b,c)}(),e=function(){var a= +d.B?d.B():d.call(null);a[6]=b;return a}();return yx(e)}}(d,c));return d} +function OA(a,b,c){c=Ty(c,!0);var d=Sy(b,JA),e=Sy(b,KA),f=yp(function(){return function(){return Hm.h(B(a))}}(c,d,e)),h=yp(function(){return function(){return el.h(B(a))}}(c,d,e,f)),k=yp(function(a,b,c,d,e){return function(){var a=B(d);return t(a)?a:B(e)}}(c,d,e,f,h)),l=yp(function(b,c,d,e,f,h){return function(){var b=Gk.h(B(a));b=t(b)?b:wb(B(h));return t(b)?"hud":null}}(c,d,e,f,h,k)),p=yp(function(){return function(){return["asciinema-theme-",v.h(gm.h(B(a)))].join("")}}(c,d,e,f,h,k,l)),m=yp(function(){return function(){var b= +fl.h(B(a));return t(b)?b:80}}(c,d,e,f,h,k,l,p)),u=yp(function(){return function(){var b=no.h(B(a));return t(b)?b:24}}(c,d,e,f,h,k,l,p,m)),w=yp(function(){return function(){return wk.h(B(a))}}(c,d,e,f,h,k,l,p,m,u)),x=yp(function(){return function(){return V.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w)),C=yp(function(){return function(){return ml.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x)),F=yp(function(){return function(){return jn.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C)),I=yp(function(){return function(){return Uj.h(B(a))}}(c, +d,e,f,h,k,l,p,m,u,w,x,C,F)),M=yp(function(){return function(){return wl.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I)),S=B(a),X=null!=S&&(S.m&64||q===S.G)?P(U,S):S,Ga=D.c(X,ki),db=D.c(X,li),Q=D.c(X,mi),xb=D.c(X,ni);return function(a,c,d,e,f,h,k,l,m,p,u,w,x,C,F,I,M,S,Q,X,Ga,db){return function(){return new R(null,3,5,T,[Cn,new r(null,5,[Jj,-1,Zj,c,Rn,d,Vm,a,vn,B(k)],null),new R(null,7,5,T,[Sm,new r(null,1,[vn,B(l)],null),new R(null,6,5,T,[rA,m,p,u,w,x],null),new R(null,5,5,T,[DA,C,F,I,b],null),t(t(Q)?Q: +X)?new R(null,5,5,T,[LA,Q,X,Ga,db],null):null,t(B(h))?null:new R(null,2,5,T,[EA,b],null),t(B(e))?new R(null,1,5,T,[FA],null):null],null)],null)}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I,M,S,X,Ga,db,Q,xb)} +function PA(a){var b=Kx(null),c=Kx(new dx(bx(1),1));return function(b,c){return function(){return Pp(new r(null,4,[ln,"asciinema-player",Dm,function(b,c){return function(){return OA(a,b,c)}}(b,c),$k,function(b,c){return function(){var d=ty(Gl.h(B(a))),e=MA(c);Tx(e,b);return NA(a,Je([b,d]))}}(b,c),Wm,function(){return function(){return uy(Gl.h(B(a)))}}(b,c)],null))}}(b,c)};function QA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Ak),e=D.c(c,Gl);d=a.h?a.h(d):a.call(null,d);zy(e,d);return K.l(c,Ak,d)}$x.prototype.sb=q;$x.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+5,e));return c};ay.prototype.sb=q;ay.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+-5,e));return c};by.prototype.sb=q; +by.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,wl),e=D.c(c,Gl);t(d)&&(d*=nn.h(this),yy(e,d));return c};dy.prototype.sb=q;dy.prototype.qb=function(a,b){return QA(function(){return function(a){return a/2}}(this),b)};ey.prototype.sb=q;ey.prototype.qb=function(a,b){return QA(function(){return function(a){return 2*a}}(this),b)};fy.prototype.sb=q;fy.prototype.qb=function(a,b){xy(Gl.h(b));return b};gy.prototype.sb=q;gy.prototype.qb=function(a,b){return K.l(b,ml,so.h(this))}; +hy.prototype.sb=q;hy.prototype.qb=function(a,b){return K.l(b,Gk,so.h(this))};jy.prototype.sb=q;jy.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,fl);D.c(c,no);D.c(c,wl);c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;var d=D.c(c,fl),e=D.c(c,no),f=null!=this&&(this.m&64||q===this.G)?P(U,this):this,h=D.c(f,fl),k=D.c(f,no);f=D.c(f,wl);return K.A(c,fl,t(d)?d:h,be([no,t(e)?e:k,wl,f]))};ky.prototype.sb=q;ky.prototype.qb=function(a,b){return K.l(b,Hm,Hm.h(this))};oy.prototype.sb=q; +oy.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,oi);t(d)&&(ap(bp),d.B?d.B():d.call(null));return c};ry.prototype.sb=q;ry.prototype.qb=function(a,b){return K.l(b,Uj,Zk.h(this))};function RA(){return ig.l(function(a,b){return new R(null,2,5,T,[a,new gy(b,null,null,null)],null)},rg(function(a){return a+.5},.5),og(new R(null,2,5,T,[!1,!0],null)))}function SA(a){var b=Dy(RA());return K.l(K.l(a,ml,!0),Ol,b)} +function TA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Ol);Tw(b);return K.l(K.l(a,ml,!0),Ol,null)}function UA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(a,Ol);return t(a)?Je([a]):vi}my.prototype.sb=q; +my.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,jn);var d=null!=b&&(b.m&64||q===b.G)?P(U,b):b,e=D.c(d,jn);c=D.c(d,pi);var f=D.c(d,qi),h=null!=this&&(this.m&64||q===this.G)?P(U,this):this;h=D.c(h,jn);if(G.c(e,h))return d;d=K.A(d,jn,h,be([el,!0]));if(t(h))return t(c)&&(c.B?c.B():c.call(null)),SA(d);t(f)&&(f.B?f.B():f.call(null));return TA(d)};my.prototype.Fe=q;my.prototype.de=function(a,b){return UA(b)};py.prototype.sb=q; +py.prototype.qb=function(a,b){var c=K.l(b,V,V.h(this));c=null!=c&&(c.m&64||q===c.G)?P(U,c):c;var d=D.c(c,Ol);return t(d)?SA(TA(c)):c};py.prototype.Fe=q;py.prototype.de=function(a,b){return UA(b)};function VA(a){return t(a)?(a=ig.c(parseFloat,Fo(""+v.h(a),/:/)),a=ig.l(Ye,cf(a),rg(function(){return function(a){return 60*a}}(a),1)),P(Xe,a)):null} +function WA(a,b,c){t(a)?"string"===typeof a?t(0===a.indexOf("data:application/json;base64,"))?(b=a.substring(29).replace(RegExp("\\s","g"),""),b=JSON.parse(atob(b)),b=fj(b),b=new r(null,1,[V,new r(null,1,[il,b],null)],null)):t(0===a.indexOf("data:text/plain,"))?(a=a.substring(16),b=Ju(Ot(t(b)?b:80,t(c)?c:24),a),b=new r(null,1,[V,b],null)):b=t(0===a.indexOf("npt:"))?new r(null,1,[Zk,VA(a.substring(4))],null):null:b=new r(null,1,[V,new r(null,1,[il,a],null)],null):b=null;return b} +var XA=new r(null,2,[pl,new r(null,1,[On,!1],null),il,he],null); +function YA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,no),e=D.l(c,wk,"small"),f=D.l(c,Ak,1),h=D.c(c,Hk),k=D.c(c,fl),l=D.c(c,rl),p=D.l(c,cm,!1),m=D.l(c,gm,"asciinema"),u=D.c(c,qm),w=D.c(c,Bm),x=D.l(c,vm,!1),C=D.l(c,Em,!1),F=function(){var a=VA(h);return t(a)?a:0}();w=WA(w,k,d);var I=null!=w&&(w.m&64||q===w.G)?P(U,w):w;w=D.c(I,V);I=D.c(I,Zk);var M=t(I)?I:wb(w)&&0 +
+ + diff --git a/src-local/player/demo.cast b/src-local/player/demo.cast new file mode 100644 index 0000000..732ec14 --- /dev/null +++ b/src-local/player/demo.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 143, "height": 44, "timestamp": 1612541189, "idle_time_limit": 2.5, "env": {"SHELL": "/bin/bash", "TERM": "xterm"}} +[0.038915, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[5.582632, "o", "docker exec -it -udocker hybrid-linux_master_1 /bin/bash"] +[7.056028, "o", "\r\n"] +[7.195975, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[7.196479, "o", "docker@76a11f452a37:/project$ "] +[10.453584, "o", "i"] +[10.776779, "o", "f"] +[11.014731, "o", "c"] +[11.726258, "o", "o"] +[11.8379, "o", "nfig "] +[12.457711, "o", "\r\n"] +[12.459382, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.2 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:02 txqueuelen 0 (Ethernet)\r\n RX packets 1511 bytes 87967 (87.9 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 104533 bytes 4405311 (4.4 MB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 1951 bytes 182571 (182.5 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 1951 bytes 182571 (182.5 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[12.460276, "o", "docker@76a11f452a37:/project$ "] +[15.46855, "o", "n"] +[15.665159, "o", "m"] +[15.836823, "o", "a"] +[16.074323, "o", "p"] +[16.275806, "o", " "] +[16.567909, "o", "-"] +[17.127539, "o", "s"] +[17.717655, "o", "P"] +[18.026098, "o", " "] +[19.612596, "o", "1"] +[20.081581, "o", "7"] +[20.333127, "o", "2"] +[21.925102, "o", "."] +[22.051564, "o", "2"] +[23.163517, "o", "7"] +[23.814861, "o", "."] +[24.253768, "o", "0"] +[25.073106, "o", "."] +[25.304095, "o", "2"] +[25.744479, "o", "/"] +[26.273982, "o", "2"] +[26.602261, "o", "4"] +[26.868424, "o", "\r\n"] +[26.874464, "o", "\r\nStarting Nmap 7.60 ( https://nmap.org ) at 2021-02-05 16:06 UTC\r\n"] +[29.792163, "o", "Nmap scan report for 172.27.0.1\r\nHost is up (0.00047s latency).\r\nNmap scan report for 76a11f452a37 (172.27.0.2)\r\n"] +[29.792306, "o", "Host is up (0.00028s latency).\r\nNmap scan report for hybrid-linux_worker_1.hybrid-linux_hybrid-linux (172.27.0.3)\r\nHost is up (0.00023s latency).\r\nNmap scan report for hybrid-linux_worker_2.hybrid-linux_hybrid-linux (172.27.0.4)\r\nHost is up (0.00018s latency).\r\n"] +[29.792532, "o", "Nmap done: 256 IP addresses (4 hosts up) scanned in 2.92 seconds\r\n"] +[29.793575, "o", "docker@76a11f452a37:/project$ "] +[31.346812, "o", "s"] +[31.547982, "o", "s"] +[31.685745, "o", "h"] +[31.947886, "o", " "] +[32.226221, "o", "d"] +[32.467607, "o", "o"] +[32.667054, "o", "c"] +[32.838412, "o", "k"] +[32.979163, "o", "e"] +[33.236816, "o", "r"] +[33.317479, "o", " "] +[33.837631, "o", "@"] +[34.948683, "o", "\b \b"] +[35.146621, "o", "\b \b"] +[37.593721, "o", "@"] +[39.452856, "o", "1"] +[39.670476, "o", "7"] +[39.902152, "o", "2"] +[41.457314, "o", "."] +[41.627979, "o", "2"] +[42.445799, "o", "7"] +[43.047344, "o", "."] +[43.375327, "o", "0"] +[43.945384, "o", "."] +[44.076185, "o", "3"] +[44.334094, "o", "\r\n"] +[44.475023, "o", "Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com\r\n * Management: https://landscape.canonical.com\r\n * Support: https://ubuntu.com/advantage\r\nThis system has been minimized by removing packages and content that are\r\nnot required on a system that users do not log into.\r\n\r\nTo restore this content, you can run the 'unminimize' command.\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\nLast login: Fri Feb 5 15:58:17 2021 from 172.27.0.2\r\r\n"] +[44.479108, "o", "$ "] +[46.184679, "o", "b"] +[46.281021, "o", "a"] +[46.492581, "o", "s"] +[46.586355, "o", "h"] +[46.925913, "o", "\r\n"] +[46.932565, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[46.933432, "o", "docker@d0524f1565d4:~$ "] +[47.834941, "o", "i"] +[48.035487, "o", "f"] +[48.263395, "o", "c"] +[49.035877, "o", "o"] +[49.137918, "o", "nfig "] +[49.845107, "o", "\r\n"] +[49.847923, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.3 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:03 txqueuelen 0 (Ethernet)\r\n RX packets 108165 bytes 4561685 (4.5 MB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 303 bytes 25824 (25.8 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 0 bytes 0 (0.0 B)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 0 bytes 0 (0.0 B)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[49.848378, "o", "docker@d0524f1565d4:~$ "] +[52.117657, "o", "e"] +[52.455103, "o", "x"] +[52.905012, "o", "i"] +[53.066025, "o", "t"] +[53.324857, "o", "\r\nexit\r\n"] +[53.325427, "o", "$ "] +[54.098112, "o", "e"] +[54.345206, "o", "x"] +[54.647069, "o", "i"] +[54.784636, "o", "t"] +[55.068005, "o", "\r\n"] +[55.069202, "o", "Connection to 172.27.0.3 closed.\r\r\n"] +[55.069533, "o", "docker@76a11f452a37:/project$ "] +[58.464996, "o", "exit\r\n"] +[58.519256, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[63.505678, "o", "exit\r\n"] diff --git a/src-local/player/index.html b/src-local/player/index.html new file mode 100644 index 0000000..be4d3fd --- /dev/null +++ b/src-local/player/index.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src-local/start-server.sh b/src-local/start-server.sh index 6e9154e..c485378 100755 --- a/src-local/start-server.sh +++ b/src-local/start-server.sh @@ -6,3 +6,9 @@ sleep 3 pm2 stop hybridserver sleep 3 pm2 start hybridserver + +/bin/bash ./git-update.sh https://git.swarmlab.io:3000/llo/LabLearningObject-hybrid.git LabLearningObject-hybrid + +if [ ! -d 'LabLearningObject-hybrid-tmp']; then + mkdir LabLearningObject-hybrid-tmp +fi diff --git a/src/App.vue b/src/App.vue index ef9cda3..51bb3fe 100644 --- a/src/App.vue +++ b/src/App.vue @@ -150,6 +150,12 @@ Bootstrap + + LearningObjects + + + Courses + @@ -210,6 +216,12 @@ + + + + + + @@ -251,6 +263,18 @@ + + + + + + + + + @@ -313,6 +337,7 @@ import NetworkTable from "./components/mynetwork.vue"; import ServicesTable from "./components/myservices.vue"; import ManageServices from "./components/manageservices.vue"; import ManageDeploy from "./components/managedeploy.vue"; +import ManageLlo from "./components/managello.vue"; export default { name: 'app', @@ -321,7 +346,8 @@ export default { ServicesTable, ConnectServer, ManageServices, - ManageDeploy + ManageDeploy, + ManageLlo }, data() { return { @@ -401,11 +427,14 @@ export default { }, hybrid(action) { this.hybridmenou = action - //console.log(action) + console.log(action) if(action == 'bootstrap'){ this.$root.$emit('hybrid_refresh_dockerservices') }else if(action == 'connect-server'){ this.$root.$emit('hybrid_connect_server') + }else if(action == 'llo'){ + console.log('llo '+action) + //this.$root.$emit('hybrid_manage_llo') }else if(action == 'services'){ this.$root.$emit('hybrid_refresh_availableservices') }else if(action == 'manage_service'){ diff --git a/src/assets/img/academy.png b/src/assets/img/academy.png new file mode 100644 index 0000000000000000000000000000000000000000..e3bbc0fcd8ec87ce4a2bae06d0edff0079734774 GIT binary patch literal 5209 zcmZ{oXE+-S`^6JN%p&HC5^C>Rl-O#I+M_m)8ZDx=_nx(9&DMB~+Iy7>nwV|PQk$q) zv0{7se*Rzo-*uh)T<632cz-zw272n`B#a~g0DxRmL)GxFhyPDRgn#dly#3f;1Ns=M zD+B5$ng9F^AQvTFB>O)OcC1Zb^18c#w ztr6O%q-128CU$%#NTK86kRBoKX_4bKWtE`;$JkgfJ_U<}+^bjq(|?h;>Obn^ZYw{` zdHyN?`}l>~xtqG7Uv1ASF0{KM|E{j=|FZrRi<@G72z)rcJiK53GkRmDKNZ@&&bf9t zyBSt`yIOYn5VH)EyAOW2GJ7~-C+{HYxGpgqPTf9S|1)%#YkNOjE3r%hH?^h73G%j1j{*JlGvx3HPkwEg zg}G06w#GisGpLhS2oX+Q3jmHa2@Qc#U+fg2=v248SdT1+cI{3<_xzAxBPJtOPA7US3LPi#TDc(7U|AAZe7wZ)L+fk(_O(N#uUm+lIbhgpWPcfCWH)P^ zMPEWN#z&K9@)Q3Sl2Agk*9D-tODEwFJWqEQE`%H9k)K8%5k%U0p+frj?)**XT&ETkcsYPy4>@PI%Y)5#&(4&FK{8} zPofA)XOVc~)V%h|=Nz8oPHk=&?B|?VgBq)50c+xqaU^_s@3x2)AsI1FL}M-rSBrf_ zrlcAW_i|?@^|QOmGLM_tpA`9;7y=TRxx_5efBQx|LiuQJSFYEZ!U}1g-=z5#AbssO2tSnHt4tS>BI2Y z)qrK{&jRZq<~TKW-EZ)X@`bbP&x}Ak6uFltUt!|BXbEfQ7+R+FJ50x+NXWx$cEBVu zC)qqltlW5n=j%Yr_nX}vVW7Oy_5?E#_XAC4b2Pvhj@VnN=ovFxJ+L=COI>Hn@3%KD*~?xAu^scTUxbJ=Hk<#~pMp^VDTz>}O}Mq@m|9~ATvEJ`T9ZU1Dm9nbPT z)~CF-P;U{NoTM~+lv?q0Kv{F?{p;R%NP@|mG)PC9Pq)0TP}XK#5|nf3?o?cGG3&K^ zPzJH%3wcVR5=3d-n&{D}m|XkS8a$JD`}PLxfzD#VI!#AU$f-s3y2v!ZpC0#jf8jr) zT&yG+szjj2Nahd%OJG@u-tL+-8b7zb z)wR+qJx61UN}iFhOE}8)g$Lllv`dHe-us|ZLnzNidn0IInF8!rs#YrqXZxrck5%PY zz(TSHxOb_3;?Gcjny-7bbi1fBjli!$tN@uTB44(_EYFqjt9Y19xwipUhoeZq*%7Xk zPeFfLNk`$baoffv%5OJ!cmwWt+dTo=avE6BaoJN!SN{0i%Q}>otP#ve3}5)se2<`t zyk?zhOSEJ_Pj%ESJ;_>ES!5^3ROQPoi&NfKwzrNyHiAQJmi-IDLU~eArm#ZOb z80tmJ-Xd+@ie`boXYiiAU#V;xd%aPWnh~swL)PrF7{05ROkjSzj3DWuBk}9c(M+I;~wYy$*#Vzn{ZSv zm_=&qu5fHPHCtOImM}uIl7m7pS{u>A8sk}8qH+6AQY|Kt zS=CeS`mBQ75L5EEsE%)PJ*qWs9rwp4t^oEj^B4jP_5iGLsPjA9D;ku;A)DEY#UsS)Z7}o=6 zPp6VSMrxg7f|HIJ@C+9bl{eR+=_p%pNv;ytOSd$`p(my3W!nOQNOR^b?@EBY3iqmL zlDnC3xpuwi-bMvEy7cnkpy48P$ci0yF6 zbLpAzWXcsO&6t~#a<1XTJQZ-r2;_i&YK(8Q*nVHCSz(e;x1)UbLrrn`L-S@?dQ7?W z$gO*bzFO5N%9G@Z5hFF%me-zg<~3z?()L#3rY2dzg^n`}AGUD%W@F^Y!@M2@yjgLL62{ zg7CW^Id^mC?Z&*Djd!F4-WqenifezxES=I1uIm{kRV~r3r<|Q5pNUEz-PZ0GCtf@@ zed2zQRP(dQJY}q&RWCf8lSLe3Dk7D_P`xlxBcs{S7XQ*JBXTs16TH1e>zF0Sm?jK4xJfkTvGP(&vf?TS%F=S`B z**n7aFx8;J^odoD(`tbwj|y7Lq!xC@Y7HIiC$&tcLI+AWyzg9b!m%tsx-<*VO7jd> zkByr513$_;Kr`pI^ks1`aa=QjwMQ^2G}fcGK0>|mWtki7^eUn_)O!EMYcB4*AwEg9 zY#_2(%iQrCbofcVU%;oS%Ml$JQ5Y_h+YeQces$6wiE}+E9w;Mn*5VZ(TWvF)@_CW^ z{GDO$7tp5v6s^ic#nd)fa;}7=P-EnUf*grqoo9dPZx4UckBB^@>XZ`nUANp^{nKB` z-|ryR67d6;q|yZc2FHpi$T9v>drLpjRf^ucYIEdDV9(9)>$2-CB(N?)6PyvYte%&& z#bzhWvMm$1KAZQSe|TI)R@q4QSU_fRB=RmXDT+?SK%lN{r=D=-33p?G4Ey6K zBdYMmJnP9IEqi63c=xE2JpHrNKrbdWr_#9TB49r>KHD}RIX#)dPIo>;IoGtfbW`- z!{L*UYz3>B_Gx8r((s&7sfF7X?KdXrg2W;V)Zd6{_SL`)obh?A(S+KUu{Yd2njM6dB$0t@CzFHs59B;-6)!fc{JeW_%+&$|(OhrAdpEWsa7+uHPLH)$kV&ISxYKwQrnABS&k(?g|Nz-%-`PcE*X z@x9ER@8y2Phkjy-t2fZCI;-tk5jFtfMsDKTfOJGn6w-2oT%+zx9zP=EUjbno(DeoW zFhy-CyhmQIqO)7+23r)$h%X)-A|-YXspHQWAl10ii~qwg59^lapQ8+4i?+jSeVG+Q z^Hkf=IQ#1<={JeEnpqJ$hU|@idj3t?(I~?RwmNYydfQ$Pn~qWD?Et}A+{x6ywjkZISn2_ zapF|1x(AEB1%O0)iCm?gE>8zfqurX{l6*%9>3sZ$dQ#^jeVQT6wiN7}xR7{>oVL(^ovXhD;@tfegyePilM+FN?{oAW%iKCEXFc zTzU6F$_w$fjjm?~=2$5RVeNmSKl4(;9re#1t35}FOU5$8N=p-nn8n7wnvTkLG zLiFBF?EQv~O1A_7EGIf|%vN{rdC3Sk$b0}eydB_H$`%0)L@`{{wILEfJy$IKCM5w- zCM&c<6xCTstrOgdW&ZIpg5{%W&V2QP_hESV1>)@%fq;j!CM`>>KIm_WdAjr`HaZe5Yn%idbCTJrutRlb zqU|&O9LhmdX{y&vs9U%OR2GA9`67{I;FTZ%Eeg=u2E4qtc(Z{DyXd!`$unhB4`0~o z1dXVMlZEzvLl(gNGkb3*Od8dRps+EibxW)+>L!+`juNyTV@* z3B2A;V%wx@ZHk%-=BUk;6iaM41kO;hl&Xd!44yS?`HXUZB9S_5>kjB8!MiNKKuJ|| z>7YRg(-u`dzPxfKy~8VL%UA_)TU@&qNQ+1$`P88KE50A0BTl?)XBL;@#I8#sdXZ7; z0Hqbk`hZQxC(((TL?m0w(-V2U>c*Mg9n>AjoBcrfHT0=M)}+%B?V)xHMUU2VQ z^EbZ=qvHl$xB){{KAH2^ivck_lu%7eYP^>h+!(q~KAzPy8D&<_qk&w}>3-9{0#fG2 zH_fd%f&lmOb|)C8zJ0FTny>SXuA>cAr%Vy1tDN5OgWu1892LipNY>K{P&xgFkpc$B zEcBi?N6pSSq#<3=4O|h6L}GYjTQ^5q7h2>v3dr=`6HHv(zArP|8J;zaJ_Ge(RbhAU zc~RJlfN+aus}KcnK_)_aiqNn zci2C7?9tqjo1CqrK7^jv&%%|4kB%!&98LgC3gQoxZ!lc4>8-xeYB0Quan|U(k&x^@ zv2CzJBT`YmpGMejshbxF?H4G&Bw-6VF-zmW6w@HC7)-wser>^{ofq1gcD$mnl)~pC<{!sX~?i(>Qq92Ar?$h@-Z09{9{do*&#O`7f()bLC?d3QH zi0f@l+P{Df@74u&=%^#ox0))NHUBrH`^U1iGNB!3o5*elHE}Kh1z%l zj&0JV<6q1>w3oImRjKNJoXb<;6+hj3cM*qKjpwb!73eSCLC;?}Xc;;X&oAG^C~6z^ z?ht0=SQ~$fMNE?xxEWok^>&~;JQw)4cr%>dG`0Hw{@*b7|KT-px!>}DzkV$V53#qd R`#T2$G}ZJ}>y_;y{|kNSCd&W- literal 0 HcmV?d00001 diff --git a/src/assets/img/book.png b/src/assets/img/book.png new file mode 100644 index 0000000000000000000000000000000000000000..6a84707efd4ddac166b60027f853f3d6ed62f1c3 GIT binary patch literal 1404 zcmd^<`&W_&9L8V3x9~NoI6!zwahk)?MJw#K0@P4f8F*Ql$AV0=xt1LrUJ`vnODzdg zR5(tAvCNfbrIag0)Q)qm&=PNDj+PpELNIkXLmmDd`{8*$&-2swr|*-`3JJ7_93cPz z?1O^>Lal_Cg&~(AsSigCdgv0MouK z#P8>-PXPe9HaLJ0o_gFU*>o2dh+|gze{ns?1DjtEu*|KP{DS4Q9I^RNJU_AeA|9Sg zFRS41DStmS9Z_)$U*DT`b7@>lj4ANxAjS~hMVh~!@|;@$wg@a6CBj@poSvwmWw!|G zT4@xsyM96JpN9UpQ?hF{>gCk#&f+&=^r&qo1nibmi4_{qvF(n};!TgY}~| z=Y^!UYOU~Bo9Z_dw+bzvCzNKOwYD?%6kUHy_~bFzQH!s^Bn6VAD+p}VMRstmyLRYo!kgcmW#@?W*BW~OmNK@=zM0^({}t>-|XN&nq7ie^>Oa$ zYe;e8UMCgaaJ6|q;v1Yi5P^kQEcjm~umS2(0=6KTtg*0RENEcEIY=Civq+}rBWK8T zKLiAMXW`@lh;$rD0f3-{2C;qy_Ckd$Sb%)$3X<8d3m8PEGZ5nAw6(%IWQgg zzdLiy)=Wy3r8=+%y+)U)F5o~Oa>g0257X$IY)8Q4k$0S#4>$A+uBflBg^NYsmvyPY zRASF%Uxp-Hr}(&+*muT;FJAiW7GHdOcIYiUd;s3WSo!>@V*sk#-b8G6opjgqk`9Zv zv{o0?`Urs%R|G}(3f9u7WmviW&f9%OLyxIdczGMin^-4^iR$Ts0xhWwx`@8b+LxhR*HKt4`ak6A$2`yC0bSZWhw*M&K zoa}r5L45}yJI9!fJDFkUOVhVNv!`!78XtLv4Uu-n`--Wt9EY(znqtktH4pNi(`Bdw zRnm>lYG!sC2J+_O^c_lIhYQ#^Mb-#&DQ>6~+a{CK@_tF0M<*vw{NmTshP}G5-MW}S M@cxj1JANF&e{9NKDgXcg literal 0 HcmV?d00001 diff --git a/src/assets/img/clipart.png b/src/assets/img/clipart.png new file mode 100644 index 0000000000000000000000000000000000000000..ace6707b0ca625d7771b275b1ba57c0e817388be GIT binary patch literal 71242 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 z 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

Ej{|0+OaLC;YyY- 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

PUd3ydR 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/clipart1.png b/src/assets/img/clipart1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec3715f7d5758037f7ceddc9c2d7984a0af22cf4 GIT binary patch literal 63423 zcmW(-Wgwkz8=skGnxnfJM|U^V-8D>XO#bC`9o1LYu_I}tG^PKZM z&wbt3^{ZQinu;6-DlzJd7cVdrfvIW(@K7_ zUbR>MT1}VNu1v$y5nRU++H$rVRjIjHo&FBDZfAQ(%1R+q1!GAfD`eW%%^&v+Fw3e# z?V`rzU;-BR89h*S*lP z^3!62bCvhi(ZhUq_eNbo!3GHlNoIXYN(weUi_X1XrICPRiAGUvZxrDy0h@uAVT03} zs%$*9j759QKAlp^R0@-(ti820fhPDZc@~y3Cwu#SkAMIEeazr~fA&=>>~+=M)$x

dXX0UnG^R0P~#aL<2cZK<;MP@Smizeh{W3!$&c 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

R5D6ck zDmvQrL0VQ;|M6L+@yV2aZdE@bc9(UoVGUw1I^z8pKc#MKN{@uF*lh(?6d5(d>3yZm& zHWI2FcNZS3aVpAU<7P_y1uY4tXfHtRD|yV_5_tg^m*J=g8|v~PC*1D@yWwF%F8~Xf z{SLZyN}Hz32RH@_!{L|bhVOe>K!%+}p1gC)Jl=s4a~0smeXC$+w6GtaLN$2a0=N1H zk=N>j{ux0MOt`>aZ876G1;M4q%L=esrD%SUkco>p&kukka}OYuoWgk!v(KC2wKo3V zrKeB)&&&Nxat!u$+wEJviz_Qg{@cYS)7~t}Ryc@c9`g8-^>|!k%0DeFO%%vDHb--J zX00xiS=Z(D(&f`msZXD>ph4dEqEI1kt@aXKdS&Is3j6&HD&jp&jJSw_&GO^d!Ftn* zOj`dk_{BY4CcMSRhh04ZH%#DyQSn?e>@+Wj;ieoEpbW-xc#z1&h1|@6_fRRWq)XYU zaAuUe)!uAf1l{-f6!O9mVcuKG6=3j<16aH9-!9bLTfO@BOWd?Y@{yYH!@<1fi;cFMMxco zTuh@_$BjXmpaV11T`1(EH@pA$d3+J**{i@{_t_4gx=Ar0=Y85J ze*WKYG!-dtb+)vqK(=Y?`HCBIZP>?8;}`epnKr6;E!TEn7TWkXu&%rbbX>R? z{djNOyEaJ+KMN43nVNk>lcf*^mZ77viHF&d2CcLuA%>`lNBZx>$0o+@SUe=hmN4#N zj+ekdFKqE6y9u)lKY3hJ6Nu)EwoucbdfGam%;xOX0h;+&Qws|LKG0bYz-yIYP1H5K zdS&xIHPw6zfX-YG4-d~cX(W9N_qQs>a@_B^uLQ@cGTJpY@^Kb8;zT9mTmRSG8L`lFQhW}*DH!#X8GQ^>0UPn&d+br9v`$jL zQ=8;ewhGlBacV=fgAo}yxvG=T&?%MA?Dxry!+G$doYKXg5IIX>rNqW z&V!dP^!sfYCL}$C&z-8?Hj_@1D?c_ z@Z1PrAB;5gqh|8=RueRx_CZM}Nfkrw=l=n*hh@&@Er{kp zCse&H9;}3jo}a2FZy$?vXJ9&`rLRxl03||0R#sNOC)o09pFA-RhI>2MK2x04&F}WY zw*1YFkEQbbr{mAFc7hcAME~!}t^z^b;PH8yTfo&0`#pd+uneJLxcI9vEPd?XRbsAU z6%aj{#J%cxczD>h$FHk>$U;+h{L?~+L|{Roy8_j$IJzliu)~AKxzHPH{Uey8t?GKN(3$ zx}yE0vnsW2i{fSB+ngSTrq{cs;X&jAq@c*j%^kW0gFZB%HVt$K8ADhCglRNXRr$$N zZ#F-~;%FEpF=&yd(=l?g7TN)!0V!Z&4HgOwW6Kb=6vZ-7B%h1PInRgu9-naiZU0_? zKkrc}m4(~+L)N*8TB4*(kkx>aD-PDEC`d4kE(FQx(uSH+_L2t(;3-UjQ`9Yu%Jk9! z`-Lzi-5WS{5i_6jw4MwXeZ?0l|Mi^aDYiL>cErnv59eQF%ZILlNZ{8RARFkNNM-0~ z0>pVT{#-7RSD@pr_{Z?A#VoW1}CwAbBodrmHm5x(pLGoC^w&?)|2&2=)n*&YppGbIPUW2zn2iaZ- z>Hs4c7@rS9^%I{ne{byS9$qfZ&f?eU=LjY5&3e5`LorG+aM-y0kLBrX&YIlRy=-RO zWR_2MX8@egUm(m5lkTH-$$@um01dkj{>n5UriR~-UcXy_B`>LTwIbB9g9)A7psH~f zY|JlUgtdtVXA<(suL<^>3aga8lsQV*m7$F+;)xpT?$$~Jc$n(}hhG{?4tJS2~bYr!*62^;Q#EAM<>e*T{8Vt2~FX9&39U=0|zz{1M^Y-ByA zpui7L3GP0?GyX9A4{0d{#F*OV9uQ%a8;OKJ#Wk8ebpZ1Q`1dv~6I zId~QdPx%ILpY#)R_*J(J;7Jb?7;;qbGR+(sTg6-J2Iw11hmzeyYQz5g?Id11(h$+W+hOJyX<*KrX18-c*89wwop z8jZP0LxgU>P}Z&|sBONFV`(VMj~}!g$kyAqjxt!16b^6kzp7pE8K*w;dEtAu;PxY=7$Lp>%xS%iZ8hXGNQQ1(}v*y-{-^Oc8Gd&>b4l! zi;8|uxJp>P;bmo>(THAvt{7pn*p~ae+h` zZG!{&KNMIN1ekD6nwv@WTl@Mh{Cwa;9$u&qOsw_78?D@;;TzCbY=KpVXszvWSU=WM z3Hp2{&uAF)zmKFOz&WMvde1g`b_0U3JO1;&!x3bHvO`GfMxPXyQd*y7Y)RD9~mm z#6uaEZw5;k5gt&a93<+j8L zk^Z(kUU?xPAYek}pXD>Xxl?p~u<8xG$}V5}|6i7t#|TEfRUKCU5sSUdf-d%bdCsI! z5z6A?@yprU@cj_sQqIB!8i1(Hm|Czbsm?jW2%|SLa*pa-REM-Lk O|FqQfaHT4?;r|DQmITlM literal 0 HcmV?d00001 diff --git a/src/assets/img/code.png b/src/assets/img/code.png new file mode 100644 index 0000000000000000000000000000000000000000..92f4ab9178a74063ec738db9fdc2435ac04d6105 GIT binary patch literal 1591 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 J?G-<#{|8o@P;~$R literal 0 HcmV?d00001 diff --git a/src/assets/img/library.png b/src/assets/img/library.png new file mode 100644 index 0000000000000000000000000000000000000000..357de5c4517b8148594669bf17c729173f481220 GIT binary patch literal 3325 zcmd5dz;hjdyKamwl#pu9_sEnWPGu&}oP04mcriq5T- zuGfcIyG8&2n_8B~8Y+_L2LQ<3wz0H06XP|5hn(MTrEzt*wqgFoodc%}Bk%TD`?Yv_ ztdl)fZ2S}`f6p{a%d;f17?S+dzI2-cwyul0{;ZluT_oGUu<5<~r_{Lg`rWrxdkCBP z3O~l`35|{)s(lDR6`d+Rqm^M>@K2L}pBjN6nfcf`CVAUF78^5kugNHQZ(2A+*J>X! zSB=m}W*+JEv?HBjxg;Y;X6=ObUe~_!HcEo@*TWG;63t0G@Vt`ll?ZCWzH#}5*89rx~d4=){Ih6_&MLn!-n{TC2zL)p~M z{)g`%649EdMm3fxS^V=gWzXkHqq50Gh|%E}MQCDpfE_}+chKWwY8-lIZFxF7c|bK( zRLVA_a@d1&mG^Rvi&S$ZCb{vqbxO0Ry+nta=gSQ_>d^-wvyBGQJz2r)I~p|124d$s z6T2CBnZbJD=Eqd~{T&mkItG|W-TIANnXH+h2C_&gqU_lfab47iYMQsWnk*c9+r>9M zPn`h|^Ego54W6)!S$(uKMdu9^nHgz#tLI*LXJf;`H2tZfSEA-X5hkQsD3Ww>`!Mz* z-r%g*2nSl@9E243J%D=lsW)`AW>Pg+fuIA$7qmyq1*H38K6^zjvAph+h*9^jJKOCJdi0 za8-LYpSvWPtAJ9D0Q*v*w7eU4cNbO?9nP1AUz+ou)Cdio!^H8YAxYkiEE8`B17AJU zO07=K02nrN*S{#w>qrvg_BD7gFL zUv>b&&j!xXiRPN`KnjRxInIOjMrS2jV1f&=N1C)I&={_Yl@<{IqtX-^F3TW<$kjRO z#SJVisZz9|#{bqsPtb)&VXI|l;zmlRO(W)JchA~1Cr+tvn8dt_U64$2?CWU zVR2A(Ju5q37~X~QGl#mX27za{h&RC;g!f%07R?>$S)8zP&X%GF)c%qXG==+8z}~xF+a}S|mc9AwqzTRht&sVd zHYqH07m8W1f^?6J0L6oUk|s^Ga2-nfjsw8hy4c%)699>5?yJZpT1fd@4UGU8s!eko zmgqtOtp@G4#e=bK)nD{QBKnU1$=u9OSe%tST#>YzTEN%=Js>z;by-2HNd#Df0Kql% zQ>1vWCX800{|8$C=p)~;j8^#Dc3f(9-yU*>aF=DP{)_Iu!+`NE^cgmRtW1BIhM2oL zlRwD%)q%gr-p#6?;K`$&|1LFMgRH38qHiqdB+J4kH<#Y@Tk^rj^miw7ZUVi{0k$`G zDc1W93p>BIt7!Jdfr<997T*1IL=)vohg|Kf_z~@E@tn=tm)ZYS2zzRtqU+xKzozi? zB)9~8-M*omQYCx;P*bPE#QV9 zzlN-P%MHvPztGUm2wx~f7>CEt3{3zw$Gn+Xn@5Pz!l^v>qM-oi>LUc%zDQcV7E| zQ^OX`Y zbo0?>u&p{e>HP5SONcNA zH>5eTbwaG|`<%>6JB(k*lH{8K5l=mz$%ic}diCfp|KTuv4X9<^{Jyj%Zt}~KNNeUD zlFWz-qo`&0g~JlLHgi-h$DM4fytpAu$k_>uDx}q+6mz2+?krRU8Z&#ReMCk`({#ct zP3R_^N@0walzU`K$ZoFkKS)5?q47`Pf){mq;^w*r(l01;bKd3y8Gr1Q&vpY my=fJzUI+@R`iE+{3EckT!N{Yb0n#fAzy|7IS$@pt%6|Zj@Nu31 literal 0 HcmV?d00001 diff --git a/src/assets/img/list.png b/src/assets/img/list.png new file mode 100644 index 0000000000000000000000000000000000000000..123b10cf695a2c412a6eb1f2dd5e8a03c79d87af GIT binary patch literal 1299 zcmXX`X;4#F7`-nEArb;9N`$bf2vH`rC_~Xe!WIP_ML;y6pbZKpES40g4NLT?pfb!D z6;Vec6L4Sxg&-vaE24k=UF*zav+eEt!>e-Q8B+J3ieO=KVvlvA3P9 z_!(NC=c6g*(C_Is}ilA76Jr?jGcL8wrAP`N{5+54>1o31ln4-gC zlB^M%YMwGlQ}_IEb@RY;*O@rV-gI5jIX9wA21)1itRPm>sa%7$-N5YJJp>gm?FFv} z^9PqaXSy*@yn+ji`z=ZS762b}l2J19!ELR-JxGZJQ4I2x^ESe`WzLm=N=d`9Ivqd$ z6CHl%O*`wHaid>9zSPy^+!`PbEx+CakR-5;B$HbqHAT{F`HMZ&a5KP0Jo!x+*9F`! z1lv*A-r@7l0cEH%E4hE4iofm-*g{1fIjA}esq&=Be{3cKzS<0glrZ5`nl6#BD-tLf zWC|V(V4`)w8>IwG`6SYsW^1kmCM~$R6k)UA8;@sIUU@Tp2G6lBOmqf#!C?10!q9&c zkxF!zJ)qgufa$VqzGrAEOAvn`BthBpCTv@YynWbbAry=nAc43GBPVa?hk(hmk|W}U z!&A%(g%-ozxK-mG^WyXImj1;Ato~-q=;#Mfcd0V#2C-oxV1AJfbEsi5D=79v%wn8{ zTY467vsNIgh8o|7aldom6}Qe91w*~Zk2@9Ws8JN;68?hUQ(L#>GCp{u?2hk+*4tgx ztvgpy+LWg|@bU?UI}HBFUqeTAVZt6X4b~)))aJGfYBV#8qG!#f`K-bW<${&<4aGmw z1RB+JjUhWTl*o(4ifYwosXOm2`{0%Egww5->&s>oJfK;^b%F3|lO=He*BhVCww+d7n`qawRvyS8@G>}Kho;gE z%Q?a=;`d_ThreG0nU70?v8kNC*PB#YHir(+Qjr>ml2X(CRp~eBtIX_Ekjr>~RLBrmMJIQMTKnjK3TT89Ax2R~&d^e6TZn`29;I4J(o;Zw-F- z>XcL;^O|IS4fjwH(f+v;;>|>vDc}n3p8?%wm8CX%LBB?@!{Q)&0r0juXl@U~)xk<# kB#9So+i?gYHxzt!6gmC2ma}m5I{J};nC-D_MFj8E|0HP=1poj5 literal 0 HcmV?d00001 diff --git a/src/assets/img/penguin21.png b/src/assets/img/penguin21.png new file mode 100644 index 0000000000000000000000000000000000000000..e50bce45a830f03f7ed085bd01da84985c8afc8b GIT binary patch literal 67468 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

Y>^AQcZ=i~$<*E{3i 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/penguin21a.png b/src/assets/img/penguin21a.png new file mode 100644 index 0000000000000000000000000000000000000000..7bd4b5b4375d4fb6af48c99a60b636bd667b1c48 GIT binary patch literal 84996 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/penguin3.png b/src/assets/img/penguin3.png new file mode 100644 index 0000000000000000000000000000000000000000..b287e2ad726a8fc87451c5d9b5eb6745f82d7f43 GIT binary patch literal 30408 zcmd2?RaYEMv>n`Sa35TPyW0#fxChq|JV=5C0t^sjAi>?;-4fghB)Gd1EV%pSyFcMR z-G^S?t5#Kaosv^~pR*gTsji5FNr4Ff0C1F`5N!YeA@KEzM@M}v8C9%mc)ek`LJdCw z09*|JT?pQV(w+bSriMKjtf^_|;_mXv&czj^1O|g#Kf2i1JG}=0ycaWdY;|?^NhEJp zFXdFiVF@ZO+QjG}ZMjGoQ7kh%9R|K~I9=`nu~s*MygV}HU`{wvR21wRu@(n*1m-;2 zHeFs+aDI5i?}rWFe8<_go4+H^jdN1F6&IQHV`yFI*hx@+EkPJ|sT>W#dhoBlfsJi0 znLtcNR{%bGy*1sZCk6z-t-plC8~QG^4giAp6c#$5OD(;Nhbrs^??5iq1OfIHq02p1 zL#gq3aZq?|hP*fAHIp;wq>I=P<)z}LT~7fMM}>WO&SN@8wll-Z@wkb!sl$_L1mx^5>R-72H#YLQG0h7LJKNjy%6)Ri zmcRA=o^5-~yY!!&?))VlZ?4umHW>r?Oam2>Z`XTHe;l{)G+zKym`v zYh)=eyU94ZP^r36mbB%5uvG-fv4)P+P_tWbPs>mXbZOaz z#=GKj_2~V?m2}0sw?xnCW^D_^K$aauC$ywn3`ekvFkpy6Cru5xrR#`dsoOqG*_jLQAapAb>CEF|T9f2Lx_bGg` zdiiPEDSVX`&;+BuXlUm3fI%6n3O`H}=(g?kxl>i8SiT z4GQn_APrskmz zrH*Z>cu829ZHbGnbb-I&6CBmBSG89IT%eUxYrfSs0K$4lUhmC8=ZI4t>Jcc|$6PzI z@Wqq8HRXxAHBz#yG*=YNugtGsuYHkVBaOC|;&z+iu8y(GTAY00AF)bw!nVmqStOv^ z%=_NNu`DS$$)Frsu2rsh*e+CcRGeAVF5hbS5Qr=LOPR%lMbS2T6eV+4XF+GB7_*o} zO;YTtimS}AkTSOw;??O~e4LWiVFt@mbtzu`+`fBH<;VS``}EQ5p@ZB zluV*u(9K1Hn)}z%nHJczR|Z^YnP{23@in%2LLz@g;kyFfH~RsTEyk@610M$RnNgYP zm{rsc)Q;1%)tZagio{jLRey~PkK~QarV6G@^3L(?rthZDrLX<4F!DCyXew#?`Ch4R z+o;I!xT(!K#7NYz&_K_~v|gbyvyy4HwX(ICptxB*UcEeP*0#6itZAsJ^apv(&OGW; zRnvziKTBIHQrjQ>RlUdY?eTsse&3%Y(Qv{RaLcKUsQo`Rd?XTkE4G?8nsF@c*MFI` z&uwckhCepXztu$ehpo>(Qzv~&(U#P<`BU&kcqCjU=nq%26jwUsz{+6zwzB(`o9Twn zai$ z*-aUZ9ks^|(e&S&9Y?eLYZ=+=kIfPi7NQ?29pxHsKrz9aEa)|{4F0qRxrZb{R?}^H zHAJg9l?B9*-`qVmPL~03Hrb%Db~\XnoCRawM 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 MQP7mHmbD7{UrBqxFaQ7m literal 0 HcmV?d00001 diff --git a/src/assets/img/penguin3a.png b/src/assets/img/penguin3a.png new file mode 100644 index 0000000000000000000000000000000000000000..b287e2ad726a8fc87451c5d9b5eb6745f82d7f43 GIT binary patch literal 30408 zcmd2?RaYEMv>n`Sa35TPyW0#fxChq|JV=5C0t^sjAi>?;-4fghB)Gd1EV%pSyFcMR z-G^S?t5#Kaosv^~pR*gTsji5FNr4Ff0C1F`5N!YeA@KEzM@M}v8C9%mc)ek`LJdCw z09*|JT?pQV(w+bSriMKjtf^_|;_mXv&czj^1O|g#Kf2i1JG}=0ycaWdY;|?^NhEJp zFXdFiVF@ZO+QjG}ZMjGoQ7kh%9R|K~I9=`nu~s*MygV}HU`{wvR21wRu@(n*1m-;2 zHeFs+aDI5i?}rWFe8<_go4+H^jdN1F6&IQHV`yFI*hx@+EkPJ|sT>W#dhoBlfsJi0 znLtcNR{%bGy*1sZCk6z-t-plC8~QG^4giAp6c#$5OD(;Nhbrs^??5iq1OfIHq02p1 zL#gq3aZq?|hP*fAHIp;wq>I=P<)z}LT~7fMM}>WO&SN@8wll-Z@wkb!sl$_L1mx^5>R-72H#YLQG0h7LJKNjy%6)Ri zmcRA=o^5-~yY!!&?))VlZ?4umHW>r?Oam2>Z`XTHe;l{)G+zKym`v zYh)=eyU94ZP^r36mbB%5uvG-fv4)P+P_tWbPs>mXbZOaz z#=GKj_2~V?m2}0sw?xnCW^D_^K$aauC$ywn3`ekvFkpy6Cru5xrR#`dsoOqG*_jLQAapAb>CEF|T9f2Lx_bGg` zdiiPEDSVX`&;+BuXlUm3fI%6n3O`H}=(g?kxl>i8SiT z4GQn_APrskmz zrH*Z>cu829ZHbGnbb-I&6CBmBSG89IT%eUxYrfSs0K$4lUhmC8=ZI4t>Jcc|$6PzI z@Wqq8HRXxAHBz#yG*=YNugtGsuYHkVBaOC|;&z+iu8y(GTAY00AF)bw!nVmqStOv^ z%=_NNu`DS$$)Frsu2rsh*e+CcRGeAVF5hbS5Qr=LOPR%lMbS2T6eV+4XF+GB7_*o} zO;YTtimS}AkTSOw;??O~e4LWiVFt@mbtzu`+`fBH<;VS``}EQ5p@ZB zluV*u(9K1Hn)}z%nHJczR|Z^YnP{23@in%2LLz@g;kyFfH~RsTEyk@610M$RnNgYP zm{rsc)Q;1%)tZagio{jLRey~PkK~QarV6G@^3L(?rthZDrLX<4F!DCyXew#?`Ch4R z+o;I!xT(!K#7NYz&_K_~v|gbyvyy4HwX(ICptxB*UcEeP*0#6itZAsJ^apv(&OGW; zRnvziKTBIHQrjQ>RlUdY?eTsse&3%Y(Qv{RaLcKUsQo`Rd?XTkE4G?8nsF@c*MFI` z&uwckhCepXztu$ehpo>(Qzv~&(U#P<`BU&kcqCjU=nq%26jwUsz{+6zwzB(`o9Twn zai$ z*-aUZ9ks^|(e&S&9Y?eLYZ=+=kIfPi7NQ?29pxHsKrz9aEa)|{4F0qRxrZb{R?}^H zHAJg9l?B9*-`qVmPL~03Hrb%Db~\XnoCRawM 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 MQP7mHmbD7{UrBqxFaQ7m literal 0 HcmV?d00001 diff --git a/src/assets/img/penguinfledgling.png b/src/assets/img/penguinfledgling.png new file mode 100644 index 0000000000000000000000000000000000000000..56e5a0215eb9ad156eb169ff414f9f8e07a9ca8d GIT binary patch literal 31057 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 IDz*{-4`E-MZU6uP literal 0 HcmV?d00001 diff --git a/src/assets/img/penguinfledgling1.png b/src/assets/img/penguinfledgling1.png new file mode 100644 index 0000000000000000000000000000000000000000..56e5a0215eb9ad156eb169ff414f9f8e07a9ca8d GIT binary patch literal 31057 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 IDz*{-4`E-MZU6uP literal 0 HcmV?d00001 diff --git a/src/assets/img/video.png b/src/assets/img/video.png new file mode 100644 index 0000000000000000000000000000000000000000..084b222bdc0a839943ee25a0dfcba5187e531f26 GIT binary patch literal 1260 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHI1Gwjv*CsZ|ANJzT+U#UN{v5JVLr3toy^s zv-6zdyPy~(Bu&{Y+)_^FbiCatVZ+IzFKKrj1)9<45#-C@On{Zb*WqwTA=98)X zKzne3I5~NL`~9=eOk4eO%|7+R=|-#TWox5kZr`1IG-cb48DU@Vw||?q`tat>=4HY5 zeg5a}Z{wX@XuNXT^Rn&kpA+rsb(wOvhF>jrYhjMok?;GX-eY;;-udV2->lg1nBGYri%g$Eu*=qNI#YF^6MpSBvhOeU@hl za9hU^Yu>BWU{u6nF!#^Vu=`AmQzq&-gvQ@qvHLhyef5{qN5p{=*-|K`$4!H0sMcZ&NX(+oj zsD;+1uC8!oNOj>(5c>S~A;*Fq5k{4T)hs|?u4J0=>0G;0G%y%WGR^Q%FE3RA>Tzf2 z^jUd*zr-R|U_fa*2p|934Ad0IWbz4pm2B9t;p|lXhLcOpZKpYz8nrO^ zzNx#c;9&5{{l+W(c@r2mO?dX}XV@E|qDrO{d#(oRO^J=P+%6B&Kq#|H^+WIDl^ zcq(nb#-g*EIT-F9;Zpcg8R{bqOj{z1EH52`pI-|#Qv;^1l}sGpN(&>Kvw<=)j4fBh z-L^@_Haz23(){Rmdl!p9P@LrLv>L_}3qEoxNHi{rle){sI7L;Z!JxAuw?>*JV44Ku z8`CD~@V{rjh$|F-@%$vD-0-2G_rQKW1xcp{jmswt3h#cs+*-1(JRp pc7JD#q0A;*T;%}+gT{otd+W0^t{$)PVv7bT^K|udS?83{1ONi1_kREY literal 0 HcmV?d00001 diff --git a/src/assets/img/video1.png b/src/assets/img/video1.png new file mode 100644 index 0000000000000000000000000000000000000000..370e60e2c00f28575ca50706db43ac81a9c418cb GIT binary patch literal 1345 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHP<{{978JN-pust&(zW zF{l#M6)&!ZEYyr;Mm^Jsi+|e~g(40!uuiRgxj3L07))z28=SmfRp!+>XWqX&$2(PjG6*gyipL+O} zsgv^_UijUSow!t&XUqPwufg&<6=F?wC5gw5nr{9d-{ST+SlM+eO9^|fMqF^S-cifP zk_~BhA{KZgGxeri-;@5=Zb4dX`roCUGoru!6~Fl8;HCWQ3+!^&y<8u7`HJ!Uo@YyU zyh~~e)jb&UzxCIW%Bd@NmzZ@g(~s8ETJYaH{qMTvS50SKUF$mQWK@y1&@UnNqu!cd l-kqz$ENDO?Hw4Se|1-uvS+CD|+ua5v;_2$=vd$@?2>=g*Nmc*= literal 0 HcmV?d00001 diff --git a/src/assets/img/workhardhackharder-denim.png b/src/assets/img/workhardhackharder-denim.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6df6d696a622e7103c7dbc359297fe2d3986d1 GIT binary patch literal 101940 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

y{x9h z@uzF!1K#t}v#9K&2bC+FSKh9_#9%_;kdh_H>+Ab~mC>eQ1_y24H^J`iO;(u%D#&*d82iNj3UG?S6_*Bqydki@t$^+Ziv-Dgc8*HgWQXZV~m(t-T?<0 z-AtqH#l`Dmk_ecFuOo%s;yoJr4|;l@5L$sX>dF!MwE9EqG?;fEtaA+AJ7^_+j)6g| z%uc^ANfBUh9~fq>D{@;lM|NvscL(%_&!rujAAD*~s$JLUokPR z$<=ypfh;M~s>ym;{qSI;@*>hgfe&{`iH?K3xDL8S@9nd6cF+sGP3M4nV_NFT#>T$; z(Q-3N9blp53p`t?K%L^>Xdeg1m&C!AV5>6?*4~CWRxjakMf}+|QuYm59h-u2_77V9jKOS+HFkp$e1%#_nG?b8|EPbTZ>05`l(5zXF-p^JI1|c^TBQL%?mgN z)rmB`rRguU6yj==-aKU~N&L?U+V#Sx>`>F6^uyaY8K0L2213ZT%J1;ZEi!X-gZjTq zCu1#^WJ9RpOkGe4zzFMUyY1o~^LVWsjpsBV-g44%Xd;vP`D^vaG^Tk4E*RPII{D0k zuN}XL$eblRg->`4{AhRQi=2dOnAbjtsfm!?M}C6FuahVGntn~W9vQC&o!VhCE$h3g zra1HSdKGBkl*2_ZwV8E5occZojwR?=0p15>Uj`&*d29*&%3+UXyPT6m+pNFkxCFh| z%kh>U<)CDobLqqEmmK1Nn$v(m%JCJ|zXll!l=^JX~od+K|36H z4A)t%yf?wa$8cdTl+0xH1dRo)^nt_dQ>}W=_)1Tjr|O;N8vHA%psTSm6LxZrB4uPo z!O6-zDl_)8gUj0XV~i|+=$aUN-e}EM8!~Swv#Gly9m=BE*I`*X+<7Nz8&|#yDKP(a z5&U9&GE0Q<#VNa)u9yyu)7vA82@S26wP@cXlbB0!q){MEzPKL48+}y%B1+B7Sf5$y z&D{f>0eH5>E>(Oe`Op|d&F=iXqrJxDscsbed}MCRGe`2pakb6$Ixh>hK?VG=>(+Q~ zAYk={AlK)jxYPb~;=YkEUOz)vDVAD_Wq!7LTr0d@*S6Hh0t%VG3OS7D;SPGZbDsu% zOT~HTbF13FpJP8!uCAOAq_~}+wWg&kHrKlnKfgw@^SlN;*F=2=wTXE!v@LJ(Dr6|f z>n&cVBqvu{I$uPs-e7Sw8YXyjgUs{Zsj!_gmnzHXgEXy$qb&10klyk*FgO^R{Oof# zXf{5P|8!y|q13|uJXoKVMY35jnT@LLEQDzDrke!#W{;6-I1LqTkMHd4Ag{BntF&Pu z{K3}I#@{V=PV6NDkZRd>qs%>LZs_c&QwvaqOP}Z)Y3FdC7ll6kqA#jn5~3u_`MCjq zcRft;fsswt`=5j2heAKvR%gN)Os;1LAEXG%V;=+C^?LMpM`CCT6MwzGCx;V} zrFLCn{4BqowAt&<+&Svaiz*db*qM9(>l|B2(qPeomU(6Ws&iHF8(VY8+Wn!#?z$d| zg-?9a$@C(Q(Ce5zy@A)|X~zQr9_7>Lh4F`E<{5`;TafLRG3uWKT7TDaF4=;$*Y_sP zqub!#z*kdiLwds|Irn<|^V~i>ZjN)VsnGP}q+*lmM#e{7>+J`v-YHjA90Jq^3D4VD>ax0?GUve)qE7ln_Tu2S)VBG;MOm2m2a za6l(}y}9{{t@(Zu%GDt~>cbpuda~qJkrNkMTko)d8x($G9Q9D}vuhs>q%0OlT5E|m z0Xj_KC4Du-S|v7xYeUW1vc({LqMRBuHH-@-TWoU|&U4!F2}B~?tT zZFgg1cDM6}Q>j;T3>*3qASzpj!a$CPVxUK306*_dp^PNr{e2k0iSU_0e8LKR%N~m8 zU_z6nC^enWeb0l)I!*p4*qmf6FgvO)UIrAdconPZWG5hk0{lxFo-x>x^|X~S_7!3Z zKbDJW4M#@ERAo^K}Z;i>S0!F zJWG1(*r4{w@p)!Fv^`FM_xzQIo5>Gtr*v+1jFs$1SAio~SRADCH7MCb3{$nmBg$lo zf#ZA_Yv<%d>uOziZ#ir29GjemdP4pJ-a9ImvO!|hRIWXs{b!5+pQJvWG?fl=1*EEc z-BCVv43ezhAc%@pD3RBOjG8A3HXdp3SZUIdq&TLMj<2LSt0_BHwhYo5(golrkG969 zOWh^{tBrmgM$MOADCzJ#MREu`J!$kYTTT%P{wum?!PE>qA)!M*Fg1ONW3k82J7kQ=#r5`#rw47m;(F0gu#>i zP4CXNv#*o6=XQ{W9Wy6zHgVEw6&5}tJYYU}J+Y3OWc#+{SM)oGpNQBWNh+}w(ZMcr zGpfKf*3UX=mJDF}<>`-n+tc(M{u^QdrOJz0)wh=$(vGz~>(wPu7Od)D_yr z%Xuo~VweBsr}=Puj#?a(6c|*OUO?c1f4qYj^aN>!XM`>!G_PYBz}rILBDr-NcEfst zb~%hMhL<@?)v+DR!%>-SF^3sr7(a5&miO>odTaF@JOhMaFik+#g-^l0|+o&8S%83d3t*p!}2tB-QUly?CP2PHQQ89ig!H8KB%YdBc({W)7wYK?8=`fVh@`{)^&LoKMzA! zGhwhe{9y1|a zu|8>f2eyOsmK*#_`8FZ2nVNV_vi8>Y+Jr!xFZ&~F)dGa$dm)j)Bv+Eq$ z)K=O_>s-04;-E$(nr+hc&5cW4nHPLgVfGJR`i)!A?TfeOgiW z-R)r`6=#^ey?uUb`0_pjxGlBRFR|pE5@v*n3kYb>FR*L3nw+>v&smnp!W#@*+2Kh= zkHaONJNtROJbCamUbjzK!F|pQ$CANyc`-bfm%CX2v zC^3wTjMl8em(&w0N@G2t7iu9+X3V7F2FN0b4~j!-0pp?8@!jaY-q3;gwOw}8{mJy( zSN4C<-GKn-U=S=Yzm+oA>SW5hQ}kEfuUW zhK|Scos|cZC8m(RnvuD?>ucgcNN(_N6F1}u1|=h3SUpR60prnkvhtb8gc+VcpmrV8 zS5K&^Fm+NZO{@wX{HwVxAvTEwoKHhWKrjqGY=7p;=I; zR~B?^^YGC@T)0fZ?^(h$+0pUO!SPy@k^a$7AjXY#EsuD#99u1FCMX)OdL(6}F->bY zJJ3r#)k1W9vkSwTNWFJ8Qt5|aXNayr!NTBPp zv?D)8IKO#L-!<!mr%}TqR9CU}> z^!>Gu)k%KxHLcyu-x5Y6SCP__{IvyWZ5fLsYUIp;4VPN_my5V_7!Pgv-kJBlQO5rB z!!W{E$Q8jgA&`{FF`aEy+kh}It~H#k8DT+_B>2M*?oKtGk6dp+dB*^yw;1q%i;ay! zrL?%c-7#~lge{}InUS2FJWa(6$WNO6%3?C_KkM9GvJrV;beZZEp)Z`pfi!0pwPy;^H8uF~v7|O}3Y~FUt8+?SF?uP7z94IrmaL za-bSUk-ZcZDzMpL1LET1pz;!9wlYqU=zsY7A;Wxy|7JmBXQ{}BO_2C@h?98XiZ|Tu z#b*=iht*rU93jlooPDLY!|C#D)0|j#%1>sY-EW=X&XnB66dk8{`|$#<1iyj3*%iMjBwao4@VM zz(2vh<4Fs{#WZF#%nj42vyIQS6b);{@4>brersCP1OP&z*SP4!pG0jJ6?7I?pX~JXft0;bRE7;ca);qwJGuXzeZ_2D^q0Y;v$56g0^-hQP}j$<46!$6N@wgu-=87j>9WXpIktAl zw+d_1*V6!vHPg}GN_FeBsm!j-yP&yWYp!8~&^^zn(KX0>W;q>+TlYfk`V&^v!%6+x zZrBtLyn;&-BCT0^Ez};v*wLF)!gFv$5j^1B(DmHh z+<;vvq0E4FkM1W_Mw3vTV(3s^6J9iI;vRw0567}>ri^Fa?+61s_!r}nI&%tMx_(4n zDX8K(>{wZ&i)gdRKxNvV{~lM9N!^?zwr+(%=>IiEgw#0sw?w=lc{}2Rq*65$j2&Uc zeRyc7we9p=_?OXYLEqc__noajd+6?Hv((dNbpT$kx7Ifi_+5IpL@C$VL-(E%WWlOU zI5y+F-QxR)anG@D{^|An`Mjp8Rl5p!jQl<|o&ov>ztbEBtsW8`x?RUDY#tu*$0!S` zxwxT*o9p$i;ZSGtEE^01G7b+GO<_Au$V$6`mdC$MBYz#DX?LM^1zH6fX^3+}S9ogC zu^uyvdz$i*dTR&oqrGtw|B!`t+R!&d39HIuZ&7~4mBJdaI~nfpiB3-Th|ki^~wWsp}oHHCYsLEt1|x?e?!7)xIBNZ<|ZX7 z^BTqqvh6%DDr6#NL#Zjmu;{{6o=ga;92{tO84u4NnkJGWL5GkD zBnK=Z6tK#>DPkz35h5>>J~Q)+$uIQ%Fkdc5lJi+}QHP1}$9xlivo%7>|FVF^A zUvp_jPrRt66uD)}k{Uu8$ z?3S{WtVoVFuy@d_fZEkMtP3w8tI-sq;6R*E9Gt%R%6WoG(E?ZSB<`NWPYD*8N~3YY zYyGW1LJQ%}4YET%q07IUV3tMj_Q~->uGn3w>UH{Y`LI}(ajB>X;k6^apUqszc)sp= zz8+1u+^sm?=ysF8mr#nPADwrz$6#Q<^$_@xLK`!}0`)fbAwj($rn)}Pgaf#2NoQh} zeZ8BTe$%H2|LLAtb_jV})dUdb;l}8H=ST6;ovwq={dCiOs$;Jy4=Lidw7}JYaH3r8 zqvh|*U}JbKRW?A%Qv8+}m6uR_8YYd^_H9meQYCmnkiI%nlRcZ}$;jL2oN-F9c^ft4tF@wDiWRV)gU9kf+Jmv=oenY5Ml-(tI2~oO6rQK8swg z!F)ZzrE|1sFN(a%R-XI9cK1TM#pmPS>}(u&91g2XPZM<)96)UWoGGIVj%6A?y87}t zGm%vB_E8$~Q|Yk|BYA@RXZZe&Rr~c;YE0_Y^<&yUQ=L6&J$0`E)aZU>t6a$w>#cQl z>YCtt$b{5n*o|ELr(E>NvS^lPw+BY{v(X$ben*ZxKoZ7@m&m%g08B z83`P>i|Cpi8*E-D&lHfq&DIn0{7#P3*he=={=oSjUPJ~X*sgOXSDgeDAn*Zw+atWF zF_#0+lR>kykf?8LJ0Jj_RZ9=SsK}zJucFmz?c1m-4KX>0RlVM>DZun}}qU^-ECx>h33(3+pCj+Dk@;hhuJ<`cV zK_`fOZ2atb?CjZP=y8kxRnHA28jjBF+m1F)qVa6_wD?l7J?J!jf^gr34oX6}QT#v? zDB%zgtxi7hWF_U!K=zmCnVmQ;&jQ3uK>rCTdAeFi0^bfE@7CrZp%8g@vxIa)i}e0$ zJi^f5rZpzZjoEHGWf&nPLwU~{{WYoIk(G=f(R!g3s`zU9s7wV^*%?Y#cu=;v%D#H^ z3=ATTGdv2g>S`fL+BG&?!XH58Y*nS{D{5hjq(MW#loL11bvCzdDYM zH=et$^UP00JKkrk!Ie#pMZyidtVi7@Edau(N-IEeFURurLDU3CX1fwPwd=BxT-_X} z@3(Rr690J_KLoVO9;ukSS;td!1;A|@UgAm+x^J8={O{x0V<&IOI6$*5UcP)w7)Ui_ zHTlrif5%rm+Z}yjAH;E(8Jo!o^eim+#@NAjW>(;((kGvf!4Ln*R&Pz$lTMRghiW9z zs*N3l)jS1z7cSzRW!mNQ)?EW|qkQy?KaGwVk~0(r>=q?SnEQH@n6^y7>Jof&!*;3J zR1vO#>qQ~|^@=E^$TAn)-lM_C$rVUP2~oe;P{*5Rc|9rz8XzXorE+p5_iT3kh|3I=gjk z;)?Z#-YoJG%8`acJPE+g|!FD*_}LVh$m z!j5H1M7=oLeZHIzeifpWmXwZpq@w+tjZola#tOCAt!=OR=CY2a1@Xg))qy84x#YrS zV2SA%GhUF)6+7rI(QHv%;x*JX?WQypfUHSJzOp0ak}6-0RDqTN?a^pp`aHNWr;!friDC2dRn7yDT_G6}M!+;dC&FSk_Z51{n* z7U5gAE=aU*!raxjv{hcqc<%N%nbCwn`5TYEP%+gNiEQJ4H^GZ4U7)8B-T8wfe4psU zc(nk2cs>}gV`?w+9vZ68v5KiNe=4jHV{z$M5ZX(}_z>|cg~=Q*rKz-|^rAg~FIU-t z-T>it|F5^|gQ&yu9L92T(}Aa-UIVb*`) zH**!CBlEG8e#|3Gv_9U~=rt#oNK#1-){SQ#vhNN+*-t`5^((#m*xkX)Mj|(X^dOvT zq$4}~)25FAKyi``U1_GhO?9yjakd3Enjg(NXBT;MdRfzse{miG`NusVjd+!{d~uYy zJ4{LPnCW_IT~ihTVQ)o=BUQ6Z=@FK}*n&(zVrFJEttAtNKe+#W)0#~`0hLVpbhnjm zYQ6b_E-#CiJI2Ihn&YYojMoFE7IU4op2`ljHm{`$&-XQ%&3X{S)Heg)t6^E%<rPnSRGJkBL*Dv@vhSAFKv87$zl=jV{$xqnCDn0yFIFFKiop>n zj^d&I>B!ipb?`u$&H+j~f{o?nUi9pdfZ#7K4c3l+{?eqcpqGf_Dd2i$Q)UazG+*O+ zf4oo)IA!HKfY8tZGw9Q%7mua{D=VB)5qh z)SMk#O0;4cH(F>)+r(p-@hyGI=XlZ3b8$uC9PzxZ&UjHXd+7x~!^O)&X{%nD;IMXM z(bHkOtWt5n%l&(xJFXn&FoR59W)<_hJp`bev_8VkA-)`9n9Lh*)iJ5`V(0Sq%`mTG zzV;CEvdkK{_RyZ9O4*?2FSdKO$6+7t7yNqbs7L!kK$DrRPl_-lj^c%bkLNVfvaC`- zWU!sz9Kii5j6v))d(1B8IDs#EE9@~0S_W*T;}n_v#Hsk;wv4?DDsHhAx-evak&v@nOE6G z$-3PZ-BXKMvU2RULEaJ`H&WOq9L=_xmZdrSC4%b6xI75;sWD%jf@)f&7`dnJY8}&# z)8U-&V`NGgV(VA5c;sxZfaPbL;~)9 zWnqJhw~jd`??n$<`{PXcH3(2&7r4UVs`Qboinh5Bn;h;Gmyoe1vWVq@rT+Iotvidh zhq7p%szxUp+WwImi)n6(-Kg)XXR=3F+x=?>uFd6SpqbJ7rG&6CL0UXlhQAhBu^~1) z=lk*7{M;PY3iFUG(_>+Kdj|cc-@tSYRE)0yW9GbJlie3Wt`U!1BE8_c*AqW}2K%_$ z40D_|ULNe_yPpM+7^2}Hli8}uXW?tw*GOfy+37eBf8TYuHSgXGs$u|(oC}itl&Qt8 z^)fqCZ3&73_A#)LNgiDl;dkYroF*iJdi~QMt^imFr}=mwSpZ3I?o@JF(Ifd? zGiNr}D|YT~tQq#QixJtCQ~zq>B%ba#-{^s=NhLG?-Y*$gtx8@0)q}hRyrGxcF^Ieu z9B{GRK#mZ!OOJ~ZH^!S||MP&(f2+}eKmJa&MOVZ~yv2kJbI&UXnElN(=e5_#xdQqi zv$txCzDQLpzy>#$NdDsV3*Ro(kdh{Z*f^gx3UchwY|?OYdb--|$S`!ydch9koy3LQ zwE?PkkI$!9*g?Sk2`ALHd!Z-gr`6&id-ZA$U^rtV7EFioD?e|1=EtFw5iG`&>z`Vz zTaSX34#CfxSilf!NI!Zwu&yBwdoD@Vc}G}bEu>p+z$O0g8s9^DsUxr&qG2KWC?A{B zIM{mmit>SE9`-R?3>B#atW^1hfrXEa(2l`)?>D#O>2eUFv)Ui3i}jlO&zB=;-fdHS zg^1LNlWjZ>$J(!qg))7g#Y*dR5<_)I#wTa{6Z6(1aZ}@ynyd{vAJvs^csFG&!wc+q zKcjT)(1o0|9zq}xW7Nc}%(;s|mgm|zttosjeOwuXkk58FvC1YXnCoo@w?Y+uIX60H?p8^h~nbK+BKPCd5%pm=caN2u24 zhY=siGv89%abf^Q0)l<&vcKU>ixpk_oYX;me#yD^xEhWl>x%uGpD$Eb;)pUW{lJiD zH66m=(#AxEddn4;$7_HEna(P86>OtRCUCY;{Rc`muxU05<0er|8s4$Pi`2!WB-~i> z)7Z#(Cf~e!P1f6%CN|CICzBg3V>V+Dz_N7_D(iF(#Pr4qD!IGSD!bp%b*!GV!8gsDG42R>dT&o95v8-PFop^wCkSIF3LzVsf&7=X znIm1$kXKNBM;5AW#&Adi7@91z;af#_6WmKv4{$L=i8_`MnCl9lLKMN*^3GlL5qz&g3N6hj(SmoSFgRz zrt!jA>)ga)*+jGG{ZkPsV|h3o3}3?i-nTn0m^YTAe*RaRYu1u;$nY|-yr&GhBencL zsga6XhCkP4{AWA-%l@XWmm2J(ge{v))>)=p#zF@ha#XSWG+U5>sGRt%_P36uFuo6? zwTgyDsFwI|7R=3qvGQacw#4+k9FYisBoICB_sygN{5?8eD1|-~fzA$ctW#k-#v+Fl zzc=?m$v)i{neVLDC~UXR)p_YN%)_1Mv%m}gTkX~6!_C8kv(jcJN|(p4fwyg$*X_B0 zBO35SaJoe5RN0&X9iV3hc3Zvi$wc(nt1npo@!#l1rG7X=!zbl>D0#ra&jYg|3!Sm2 zrZmeZ7=|okS|(RjCAT>|lnqx?Uw?PL(S0?DivoY8M!Z3%UZ<~bi2YMXz-#s_2!PNF z>rk69zU|fE(Wql7VxATv0+TYs)y8#b_nI%+EsML%-0BRoVnuV5_f{|MLSk5<=r6;jSTN|AI0J!{)^8*fZonpo9H34Y?BfWz%)FI zw-FJGjL_JmqZNO$A!gcP;$gCy9IlvRnZjvD-zcBMWvk{B)IK&c#L5Vh zv%feN1ecybubvE!O~4e9<3JewQ<+=l1PnyIv8NzNMWs1GQN@95B3& zA%fnn);Rg?YK!U|lDv7mEUmSgS7Egg9!l$1fz-mo0J&qF|E(n*Te>d(`#)xZTZf7B z#1q%xhpKJue<=}=6H$p|5jRG#MGxtfywFn*EdZlX0{a||0aO;&_$TW8%NnZ9xr{s? z$hQ`WI~y9R23GcXt?zH&5juf*Y;2<#_s2l`fVAS^!k0oWx-jcw&a>!)-=!tRv}!7e z=}B$G6yeq3Jls^Rg~eWhX~1C26TL=^f85jY(Ga6&*=gy7Tm1EPtkE~MENI3Xthf5D zj<%+j7JT0Vy@?RQHhR^n?K_XNyHGqYsP(;cSLyP1*a@}3m*i?`bSJBeJ{zq3to?sq z0`t;_YTjN?;b>EL5$5D9d+GsRfy22?Nwp_o08{E24hWjii%Rf_};-ArjM9v#*L$q=h2eEy#q1_ij$H6QpLe_79z*?< zG9vb$s`y)6{MjspT-*5ok~e}035g7Q*e)oDPU)pe2-t}8eop}_v6oh2HT2|rH}`V1 z_LWP8@%-&IV~hi=4sPO{`wp60y4NnOvVp01-vM9;KJ1_Z1kkYfqfmsGRtQh&{ZEqt zcmMw;Q>kU?66pZa-iJ9_^`rN}O%`}*1B0}+bxw2*tP=1C1f$%7zC6kNJWM)TQxlVg z7U!$mlck`g=DfElf+rHB{$nZe4TUD(QCVNij_w;acOZ~p3B8zqd*~DLW@~Ofu9PZGO zRwflw$%tgBg1irg3=c6Yl?;@C6Q&@s>Z(a`$?>0C69k4UZzFu7qwm%{-{uU53*P}! zn@X1qzQp^fo3wA;7Pe+2|Cf#MD(hu{4~mw4rI~(t!PqlGC8ND|wL|El(>Flzud1?T zo|4}jw)kPAS!a&JqKB9!S31dp@6Zdo_4w%0`h{}K{~dPw^~kcAUKph{jn3@;y;xF% zb($B^hkKc~YZ=dr5b*QYn#4OZP{$(SBsyYebli0a3a!s3EC06xt^*6I~Bm@17YNtcGct|7FJZ_}~O8sj3N{!RM9Dk7?4=T|(_*MJOjMt)1BQ3Zz#{|_53nAL}Ibq)~ScblA;WYu8| zH)CAdu%1WrAUkfWw$&RwC+{)(f*L_VdMMeDW6_$`&@(tyR#bFwc&J;*Y;}Yt!+Qak zq!< zqd_u+z@n(hvx@}(ORs^ok>?BiUU2O&=B|-Zk4ad-k#-9T9{Vz2@*G5=Luhe#x>7@= z?$>u+GaW4Ce8BygBV8ZC0+WJL5v`9vDuc1cgsI(SHgt-bTC@!i5ca6=%BT^rHvI2DwDT9BIX8Cglsm!x=mL5`9X^B4wXV5Y-SxaAzB#KlKemD4#$SPMY;L%7 zlhCnj#o;gGi1$VZEj_)k^q!(!q1_ZU-yCT_PzFqI>J{F>6f`th@55y*8~*S5%{r#( z%HX?W-J=_vNqHG=WtG&tt*P!e9=@qI_-xx=ci)Pq2!>>Yb2r^KHWyV$B(;I_}!RS=?-ggEa? zBA)JEJR_G%_n2beK+zJhp9V)|<%}503JRdU3JP;cN_K{KOI!rK-zPHzN3lvJtbsAEWcyL2(k#c~U|iCERhA(p@_$9P-}4eM!E0-D@O!E}|7U7a`g=B=RKq6P z7<&b5Oasn?&CL25MZHiCDdqe@2bnw5`Kl`NjQUkVcrwio$jILt6SIlh+qxDRJgtPD z06xOqY}^{({3rKH5;!y;A>4Rxrslf3+ug>30-R>bn*9O)KaK4o6iTf-sqcU4&8xs| z^$hi5*E!1p!`lEb&j@*SPe`shjaP%x{@(&dJuf@=C4tkMwd=4JiA#G?;zIh;Xa-10 z6(vNSPO+@eDhIJwfGM4IUbe-OvCNsRMaRk z@eU6A`zPOE#LdmLuYp=aYdd>8G|bFrl=NoDv#eBCC$<3q+??(B-SxBFkk3v!gDxeTv|ow8m7 zf~z05aufxefMkEM>q2%Z2HAVVzZZ#xIm~Z=x+b=-SZMwjrB3#q>JcIZMsEY-$l@8b zS8AbES(gKe?D2}W=frbkrIW?QfI<7R?f-5f52jRWG5H{<4sGdlBtdyb1$vq>INy!D zkk83%!;4l(Ll$*O<{_NO1Yk^w2up8<2!-3J#Qr9=};_ohtnJI0Pq*xp*Y|BR& zk7Rb?@A6Gy;wdEJd;MRaczk!q!@7c>UkjSH79~v^tVdp}X%}D7z=c=;xb6gFq z08Qo@3FF0{q!!DCu9+Pnpy?sEtvnNpp{rA>k=kCviFNjcl+ar{jx8>jTTM*uUPa-@HlF zalT7A8jPY;`!dLp%@#Y6(>Ej}$=lVJS{gh+9rRm-MJsVkE?t^oRMZsnAc6iAxS-A3 z*)+^Yc7c#wtP*P!oReR%Sl1*ux+abelEAB=Rjs;4e%tOg;SsrnEXmZ7KcRH@SRtFY za5LN3J9S%KOP!&$apfRE;gTu&W3d1r&c1`C|+SpVmK%!T;6{QM@CEcZUbjdPd`W|bLe?* z&Fwi0CMmG)s&vkiFPWYn<_Rg)texA3^sl}L#mt}+Kmosz7HWNSQ+GwS<4?2;y7k*G z2Zz<$bfsoSt7re7wAJg#YY>M>{yTROc6XOOI&jn3Y(3HH<84m8$By@C20!n`Y`}rA z<-hfXT2J{qA8%-J$thqR9NW6|Y(K(n3RV;*w~`GE*owKwBo@`} zCNwSqvU;i*zk(u0s+{m$!z9?Bm7Rd!25i$51~Q>3zMTRc!cz@h!_Dv>hlj1ikBnBUt%ACh#~CD^HlD_#ci@$mRY!-n^XBHYr`<6}{_2|}qNV4B z7re3$11Kr~GDDEHZt+zO3k#U1;WOTqzlm|JqLWh&+8isHCr73o?zHD^FzyQa>g6DzUVG32b~^z20r^`sf3YPmF}*BScsrnC4tWVcBTS52 zB9?asgV7k3*ny=nMNx9~S=>w@H+xXn?_sR)mCK##dba~s=z~5P^B-Ah>`QiUvoZv{ z_qRq7ZBPFnP2b>HSNBAFZfx6VW2Z?P+qP}nb{aKp8k>!6-lUCfJ8f(>eE0jk_x^;l z&+OT=*36m(4vh#cv)N6Ss~_e;&a^V_N8TJK%|IeAZ!(A)g# zP0@qb%c7>y(QUWF|NmJXQ=JV+oLtVg#0+?f-itW%p&c6d* zY0hV}q&bxkJ(hsHOH<(E`r&@HXeE!(nLPeqqOZ$}2yk0m(;^o<34cm)#_^}c#>RCFh*m zAm8Nd@N~=4Zk_x;jG-jrOYUNgZ)yA1Z`9l6L-Q-umnG`;JO748GXmD6%vT-&F`SFJ z{I{0(Qi`)}bq{qNWF*FiSPA<>%W(E{puG>PRZh@PqYvKqOX%F14MU*R#uX5{JD`5> z;P(EdghHoxeHWvY4KUAWS$57&Non@Gvuoc-`zXISuc@n>ky-JYRXN(}aGLN4JRXBn zr^q+{om*3jxK2H9ZQV~;U!v1)qD^oHolnH^;P2(NB7oQTv@|tG z&Uzqut+WOro8*9M;z2UBggke<_TM%-Uf0sN7F6d=I;`7+<$NA4n2m*64_+^9D;vmP zY=-#r0OLK7^B>8;6Ih*9k>_qB;mx~OR_C{M5WASXtn5dBQ1>ZW)RS%^R(ajsnKUFC zs9y+r|L|OF+-7WG=cUVRqeE8Lon0F`Ot37%ndrEB4V~@w3JR{qcf{mn;LS-)L`hQa z7syOeNfQ+@Wl!as>nS+j&F5o5@Eby?aobUO`UXft%e;|YvHkXSGO|%ZhU*?g)pylh zskmLw!D~E~^iyL@aImDL#I2K6KDDacexX7$BV!en8saeUwQCmpE5TU8%=y+^RFC-M z#AjWNJ-oAOSEw?S7>|PoA?b^nGh(hkSH1U`hTz1-?5$w$lOX0j+-yfy>nu zxb5-}0m^i!>0s;l3B+s$5~*E{0gjwlIRz^G?IjJ(Fjt~VW@<-Dmt4|PwIPZv6q9il zfOLECfY6^eW6J$lql~lCG1%GVmE#0p`juqyU!Hl)NJ>sF5~S#^FuBxq7623u=Qq(e zm%@K-^uFG~cN8T20Y9`0&|K6*sFb;@VBvQk?F1YJI<*Tx1tY0 z3wEoTTbS2qErENo4a8!^!Q=!Etk=|nIG@_+-^jh8z#~5a>DJ<0BFEKLBY6R?jHzPts$TFzp&oG;mE&aa#hSiQu!SF1Z}Imex*9YnTx@4W?VI8s z8in`RqPl}wH`urtOAQBq{MUNkEMh`oLw**#pdT@SPppdIm*q@V2P+juG2yJT$C0hP zFl$Tr%4GElH#Ab>*i|2RwAdED%+vM9PQ`O2w|E+|czvAlFq>qKa3+Zwmz5?6b}4et z{TRfayUGW+6EZ<2h|VAX%l}3Zzwq(!?B0HxtW$`?@Ab{-_g?3R>Zb>H+*P7Sp7tSP zGup_jclka|$pBnlLd3v-FK@MRaKGM(^Y7#!<0G#idkv>er~8i8sSkEfP;CgUfqS-H zxB5LUKf5bc%2+ zvl!sM=YKqx<<%`rr99njZ94z^EH2!TfA#rigdJkDB^?!!5oJlbEYr{3xf z&uHmlFx*)B?f>mSQp*y0Poa*Kux}h&-F$Y(d`kZFMGskygL8dbow)k+Gi1uH2HqzT z+NEt?w!fG!Ii=am6_of#V!-mFg)3XU$LNHdHvBzXD&hcvjkFD^r^e19%}_c(o071= zy;nYa6_3fGED?j#(9&nWGk(v-WZiV#mF;s1LD(ys({J{fuPy?kioKAW*bf+}sTGov z=H;%obxsOFRA6^UIiqz3h8z}jGn{mlU#^AS$C^)`jX%kO{T?{)%~~NWXSU13qs$`KSg}CLhFIX$%;T%&M72;167G zO2;Wl5-rRV(WTi7*&X7uGP%t?%#|Gp*|xS+*jLq>M-01*%yCV}x>!D0bR>S+Q&aV| zE3a^C!(D;n<>ZNpXWuJ2(^H=$%*_-3%EOn#h;M&WI~j!J2v!jMmKCJiU=gXUOPGU0 zpQ(s_!o4&I4W@JoSSh1^&}WU>uZ`Fj{<_;qojWh{<#kZKK$ogE7#aw}>|=uZi~sg+k_^A?F1sbvuEpvhmWdglH-O4BI43DDLxxK#N<<=Poi zK_p(h4YoK7MSr3Ao1Rx0E=Tp`zqP0s{`{i4LjEliTkzO9fxhu%JSsbDanf4|HFzPfH$D})jWTe4y78&_zrGU!f!6n3mX&kI1l4(}9e&2adP`!IQfk}7J9zv_H_L`~T zRT1g22YplmdaBUD7tpxFfr!__l~iZ&PX%*ZZGYr{(wd>?NIm^RwGp_$A6*DOCck*w z@oo*c`Yl0qQ*#ji>FF;*f!X%!->HoPipqq<#mew_+>N&!o>FdS^REXR8gN<@*EOQ# zEnztq0d5tK!4q?2@;@?Xb85&De(F#zXZpI!I9-%jZN&5$O+o5L?6epE>aBf!x!y0p z<+yHsvLc9^AOU)tUG33k>*#$xVSWLhK7;euj_esVYbsyq+q^{#BZ>$=U=a^c?DhEz*P)D zs&@H!_wnnCEOD#ri?5VaJ-{f}bcgf5>lH%U?4B~YPp?5{yQ!=>{mdgcDi#VNt|x10 zV*Es@c_((lUqyztbID)n{DSxStS58vZ#g^bC#1tG-5lB;aCt%(V7Q9S#oJGliG|yJ zJ632u%tzaubL&Br&ZjrDtu{uNEe+_Kop)#QP~f?IfOS;qn9PJ&CLSg>?ok8b3*iAY z5(m^z$R2}HJ6lsU!`}!4NH|l-42wJaIL*9-GFJG2%wT-=!=24!c3DI(=EH?Uj{2K# zVV8OG;hZ{h9Fir`e?YR|ejpatNBk40t*|@b^iG7NRXwXUc#I&#_?K~J%*z4gydky1 z>o)Z1VnNW}^7%7}ZO`lT`AwVU@6NbCQ~A^^IB|S@;?w@kc?Y{jctQWc8wb?seQk8Gr@nEyH*b0hfsvJ)$a$?^B!pAxoM$y1!;MFS_w7wdGSS z);j|~J{Vc*a}N-xD-4;0CxilnFbE5usAK!O@z=9FV3RK=6s-Qr(`1Z{7t=;KKhA~7 zW(9XY%k9eX`RBR&`#;YJpuG!Tv1WUC@5RdR z@kkAr&4TdBSD>79EkzuUBA~o-P5Y-+xvo7-3@;Z%_S)*krh0pK`-7Uu zoki`C`Rxyw(*U^c@`#v*(#D-lacScE^u+tXJb)Yrfep(ILznZ?;_tJ&TAPGs;)yhmkOaVq> z-n2BNBrf!2L-hU0q)&##pX8qHi1M53H{XBRaO2_dU(Z#wwD1Va&r0$%^Um=Bf=6{p z@b~u{r-p)tn{coaGQNG>G0tR9q&md`!JiByqj^O;qmD_PuV%>kckA#G?l#mSi%x!D z3cV8rP4iTAEBA(ei<3yMY zy*E863BhZ!cd;oNYj>LNl23GQ%ydR=gKRXOlsP_+4r_avZLbI<;=9BrZOg*AI9i%U zY1qAH{|vS3i|?gn2;ITWV)_tEgeL=$bE?bM^6z^7QHzX&zuec`B6|#~KcNkbxSDnM zsZ9X6B;5m@Al!$7IOl8))G!<>yGL$xW+mx7=JlTibWx6)CWmE|Nj;hV_;9zF2^6S{}{Ev2gpHvol|r8CEW zE0gMQ3w`01H6$TsBm?zYf)X4RT6ZboS%3JWxcYf%kLuU1Jb|kx;o%l^w0mfw_bJcs zmK9eW)F|DK4Hwg`{=n9A#kHQ3{GwdF<-SG%f(($m_Ci0(3b=vHSLY`RZ;hhc>O zPqUwh9hNZ(edn_<)Q_u{>Kw0PX?N$WLJjTSi-^FBRu&0hJ_JMT*v)Q|{=(*}0=11# z2y~JF=*f40HY^YHDTSdxE2gOEWn4#)*q>d@k8{V!Fl>_{hVG_%0aE0H%ffZ+GBaG* zm0>$HW-U{;M8$`Zi}BoFV&fR-=(atD(a8kZl2FNri7Wqg$k5AX-|za6Uw{UQki~R$ zYprTYC=bL9kC}C;IoH+h^TWbCK^ie7F|P9wJbV8cpk)@z|;n z8s_)2sSzg*v-#lzJGR`gx4pXf_xyN?%v0{U;n73~$R=vJ4&ZdEo?~9`4Em2D?Wmw7j?+MsIQS|2M3=sE;zI+ktu~v71myC?e0~47 z^Myw;8@{?~sqWX@dxoLST>}!hOxDZ9!c!hUMcq^G+6J9zLdwjk>Z!jTB3hA3p%zR{ z36IS^z!QFo#P0kJQ>Yg-^f<7blT)(jV`MM_Z^aX09`T36p%p_NhTN)+rO%f@%^laEk1nh!Ce76AcmEyb1VR0zhKi zTu}6f{Q)jv!9jX}>8q$)3i7Aaf*;&Wk`;zF8v1ST+|Nf_s7U74qVKr|9yZ~gXUG_6 zaLS_1->hff?%WL|noW-o3BC;2>+|fGdu!3Aw#z39{XM*HBK*;b!Db)C!tzL&u5DYe zbwsfMTU`-c7MAO`td9zAtIjW9+m8}4nSuT1d>f0H^42+;bo|qBAPz~n4b|={tQs%V z3X0ux(!?Z&!pe*jA%H^(<`qGUUT8vDAf0GIbn|FF_65#jStLuU-9ww-eDAmG@-j-; zBA`RMQQfAP#AXs5qwzaUIjPS-kM9es*)_x=;>lLIJESsNH{lEm9CV%OR%xy8kDMFm zlP((c)!gQ!Yqj&=9}^wSrUy3Z!-5l6)@g4FSnzUf@ltcUcN|77MTx|&ZSgu|cKZW*53y$Vv;rpc&ACd9rl;qD;(tE6|t=-A6Aot^vOh#t< zyf|heCgXM)f#(lU>!yh2!kMnA$WvPTng?n;+s{DMDC$;Je9sN)#_z^%;`ivyb~%CU zeCZI|vy*Bh|NLp0hMrl+b0klR&WAK9QXhZxvX}C&uDJF}=U$x=^~D1?r=LqYxLb+J zaXG5Hby#0%psgT890?9rMCP=Dpx1s(Qn=kiIE;wK@WXu+{C7iB?j+ifS&wvE_)WMt zgmx}&Ar~sBTOtWdHth4?Ut@Z1hmLIRobM_A@T2Z50JbK75i7lo&O%S{h|S$4br1Pn zUk)RNbiK3T9R?MDFNS}{VfJ+*l|J`X`5t}X7!P3h>n__k3A~B3NsML3cVXerQ1wFH)*=} zpWG7y)XjMbXDv%0lZ)b1?7-f_iO;iEC;3Kg5Eq0Wo}BXx}|Q%Ye^dPpJS;-NLr zZ?gry#KiC-&kZL@DTMW}^)IJY2xpZzR=Y|jkj3W!K>P8dt@P-CbbQCp8APCq;JesA zq$3754u`B!l2cECw;y8fD7ck}(#_Cv1-*$e_U0SC#@I9dP8#WOb8eTHG}d%NCJu-4 zAS?&;arRqz`;{@;x?->RpHT5Xn`=qV#7S4DV32=fs_DSAmU^3LD;0_2tb#5|=gp3h z1{!X!&7hXePaN?w!?bai5kR|hvxKXB`Iya)|JwK`kZegM6trxj=3~i4N41JN-OzJT1L}ajhKkzpu zqFQ~@mHfqqrnB$B4tOy`ccnmzjNN@^ZVHI_fa8WX39_bo;~Vs;VjKU@`Ynjp6}&i$ zc<+pADQ)ZD*IVP0zY}t)f#@DzZQjiRaJY05^!C2RS*wJP!egEO$=_2CovJv30-pW! zODqn(?D67AGM#`32TFTN>W}>Ce4_7UZSts;FpjgV!hF=H?jIVUEpOvQt`MM|+5Pz;AdHT!=@Hb1Z7C>$xHzL%M~!cWV;n1hTnQ^EFj)JBnN%$cn> zcHRm5AA#*Lh5#+`o(WJ5cB0ZsAa)ZwY* zj)&r-4i}SM{f0ijJAAV~zK&9Hp_(q+O9D`C<5{hKxAmq%|UYue5AOO`Rop+@^-lPP*mj zAzA)p7?#)TN7^~I&Zd9^5A-<8bf0>D*hKh^!uOVKdpQnncsyW}s_bI(J(7cDV}=7T zFeH4vDygUyvVY2ZU%Gu&wzID^FU}Z|l~sVc*~Z)lJ~J~b;t?D5Hq43w@rU?q%=q_= zs4_gf;&(A{+weGnHah&PgdgnTUiqgt%gHq`DsRf6@fYjB->45*b{?DOjUuQgUBgYN zJ5jLt@%wOFbAw=?ksoz+=ELd+3d!5>*NGO}nvOl83}a$)Xo~}vhP8O#d)PFg6q{g< zCqiEqz@EGX#-~xAF%?hMzSm_CjcLkkQxS%&4Nb79S(+h7Q^J=@_c9Yq4=1WM;28vm ze}CMx{;e6K%?Pq@<#%iBJSgsB{bktXa$xxZ4m7=r?ePiS8HKt75!Ps+hOp*?7bRug z5J)A*7rPg4iggoOtl#APdC;h`u4kwTzru>sXw}9|i*{-T?He{LAsl#>>uLs*11=rp zqOuUn{)YqF!bb&uQz7J_@lJS}0`-Q`7R9aUsG3xAJ18_rwf9+a@73Ef>w}g~T{sH^ zgBc3sDzkl!k4JH2{zBj6CEH#Ew808iBBh2T?e{%rUv+`7!ZmBd#zBLnw}!vQY&_n- zhiQnu>*Z8-W}tGSk-f(L2n;(_Z#q^zsKWtTbA9b8oU68GWhY0XQ3{EwR6wEI6wNMM z6I4Ge@op0etyBh&I&aE4XKjP^=sb6F7!BXl!f%OXz=fUeyM*S44@|>!0lifChTf#5@1z#))Dkr`+SX=Zfq1*iElHuKl zv^__We}kQ=JGUh(0|24mK+IB&S^wC8XK@dXM_sME<{8 zPfIlDZHfv{b-V9o)Zs2P6#KGKFMTnrxp~)P!L_Z0#`d1MmE$9cNua+!e&EoA`d%XZ z{g#sQ@kYHY)0pE~5gx>*WfH3)yYtKACv|C5$Sw++b> zB%=pO)4*cIH?S(AyhSJ_>+vz?P8Ia;bEtRPw9F4XI5-WC9>PdLvy+D5$y4P7+w#%_ z2A-ESeF?gRqZP(3^qg+MycLQtr}kKGGu;*R;iY%aUm#i0Q7?e<3@an4L{>_UV2)>6%ay4cY`Cj!fey83>c&RFY}o2`_-1 z={N)niumQbPTN-`?O=ZKIQC_89t;eOAyO-i4|)1^5%Eet%>)R5iP1zNVvK0Iil0_k zTxeWkxqHZP-;DSZigR^fQ!mGkYHdA|Md#riO&Tp#$n)`0DBDjN+>8BsGp>VjxP#rA zVQ;Daq`+sqOF6?dnF0dn0d0PE6T!hHMJ*O{c;p)u4tOQmlm=(q{~iFB?^4*@GNEwBlZ&_UiU-7LNs_El zZw{8rTnJw~?>lbaAClqpZ|$qm(Nlhw%J@g^fW|(sp_7U7ySclIe+)tz_#39{{23}l z^bCrwBEcG#dbO(4B$6Zfar5=0z6NRxboPn)&zI09x^$8NXvsUG1P$9#6a~u%R^~(g zS`6OsKb-?ch-F-)4|sb*;>SNQ*OY`!+;;V|7rBWa{(fuqLO#&nCV?V&qG{5(eW>5L zO6XsNRuVO3M&oDnN7tvwK9h6pqwfqzfByIfLAJsyZl8fGEZ5ha!gcBSF^LKqN_#_B zf>{46v1px*fixo*OQ~kCdP}-pJG9B)D0Hbr*mPfZ%`_sH5*Exqsf8xdtA*ur)Q_`*9u*mli-*U7vfW4hSvn}F zM|O^u;*-U6ga9OklpLL_Bq7!z4%q3`6G2A|a$q_-=tN=d`TZ$YP^kh>9yFnp z5eCa-RJG!7@Zz@n{v*gNOkmfu=(mUvjXcL>G$HANUox4H%VX>Nq_$NnN&Xs^*Get7 zL8;^ z!5oSY1fh55Cki1UMnS3C8y-hHkoH3?obETvaaWf^p@@dy3I%lyqGl^JIbk+XX>$kt z^$Evdl3!X=SiRuDN*ZJC=Ge%)TuWCax?jct_-~lEU8N07XCI1hBM$jX(a^fod#X#g znJM+8-i@|W-?oGur(wWl>hNP~-+$p`fFUcs;$eI)5&A=4Ss!<7D{Tk&Kf{Df6mK^l z;gXcC!u~3+4s>)r`s@EyFcD07DI-Q`6WqBm5I#s8QXh*ulken!j8n6OPIPq#%Bh@O zJ~fm|4q9$RVF0iu#YVI|38x*5b-kXr;KNJ>q+A)RLxy)2+x&S$urbgqTKB(|df?+P zu1wsUw`&Q|99x5)rI(YSjMR#R)M|)U@+mvFv+}o94sSri1rhiKT4>ly`@}!rP?c-~ z^(BXT*0D~1^CUc!>=oeER`HLt>aILEtzm=)MmU{>cJox~+c{of4&ak+Nmakqcq0@w z*$voF+p)5ep~jh+$LT%g%n5S>ixoK$;DHdiA{wWD1wmgq|EZclFFnN3IV4<1`Wo1!o;3_9Z-K}WDf zmRhW(uCN{hQ~RWn>$N}ce&Il&z*ZG#_TYTQl$LP#`IUu>eorIuvYZE(SBGz+gJLdK zl;=suSH@V@=-4ommc^yF zI0E#d&PZ^u^E0oEJn2u?gsb%^om*POD+fp)T}``$BSCdzNbi7hpc4sH5{-aBz%DiQ zcQ|(7FO`T+PFf)^HkLURgvKScDK+LiMxNWV#5oV+9qIj7ONj)aSXXgMkIu~%=YUmJ zRUz}IC~!WPCcrxXwUh-fOo)Dj%6*#v?VflQj_5@QoWurLBh*el(`B4R2qZt zn~vH+hkxFi@Eh5B6Cj|_tpX8q+T-Ea2>OHSxR|w8a760Iwa9SOvu*SvF>hB|6F6&r zZ;eJyZ}1zq<#zEW%DB2R;XTOaUlD}iYSWbE^a;gK2i~2j@0`)rxTjqQ&Prn8?!HX? zC}+gSjYCa?hnQg#^LM)bg$7t*hAQhCme6a(jKdl4nFs)H$RsEYT5q7tc^wm79`?;% zV^r~&LH-QpC;$n@Iwmw8A->%w#1xQMkG#|mi3r<+e}jYRn_Ie7BE5@Y!iycm92Obi zMVSwHVi0)X0ByRxv$Lvi?)!@r8hj|f9xwUfj@+(K<}j2p3>H32O4K6<6C@^Yng&t= z9F_}-Y;9mx_M|p?aBq0R2^-{kz z#ZZOI>GFG;$qR0wT42etPyW$n+n0cU#Oae`QT9u!A2I9=2@(9S_@-CYsi9nq!AV1o z$Al9&f5)Lx3>GCukOL{Q$M5vL#7bQ9!&dzBE3))|Rt~{*XImbQQ;D(N1y*oimfaxZ zEREg@2ELCBzoj~Ck(P}5@vVM4BTZitvvdM31{%MQU2#J_8rYg^zD;isP)85E9_GQF zK$#?g$&D+BGzjRQ1=;#X#>OgZYOG`+HP$5xOo60?jdbJz%7h01nD5Y$IMv8yz{vmP z5*!ZVw=_&%V6mrTL6k!UnDfzQTaV8=+)?ttg7V|{YT)|x>%u}G2ZSlOI{;%`;?tJ#!80eZu9&L8R33&Atqzbq3dHDsgyae~Z7a^#ntkT-o=OeN%O6$%+U$LjIW z*R{0S?@>a^_q^u?6J}&pDF>y3^wtM?QR7j<;ejQ5yP-8IIyx|L*}TVSPTfqO851-8 zlWgMom6g~N#CGi6YZKrgpG(iAK?#`-r#FS1UbJ$&o^k*JnJ+#xWKDC}s^{07h6>0+ z28Tck%8X6Ww@_{o~mk$%V759;l z!)J*5$O!R+65AQUq6UxfmD0;5d& ztox4xs_!P{>|sIGciq8dW94#4-^8|)e*gXr;Y*?*bR5hG9b^n5ejYE%g2!?hJ!HgO zO6F)i%&oII$IT%24;K-2f(haya~!PkPiQ|Y0I}*C6DBrDxXmkcMlmU;U4;W1&A^y&-KGd&N4&XzvJo@U-H4Kucm^L+nY| zA7c5=20&p3u_^iJO(gGkj}~tDeXU;LZt;&WPsRC;>F96s%fS3gLx0CnScSUZ`x!KG zaaxX_EGD!+#kxfmJT>bKvmaw|0Ua= z2@|Rqd8G9?<-TXUEm@I{srdo>V~%*-%hX@3M?HM`C_`k~0oRpE5={Zh?h6};UVwoA z!Ms&$Gw7fb{C*qzVy};0SoR@=(rk;QBMiB&rm@5UMi^c7`-XDu2gcnfbR%QM)>p zguGYTTw@l!zP8_GPsq(t+=$HkDJ>Bp?OL2=a}fm46xI%~sThX{!Vb)r6xU;~J#X`v zDlU25{n#alklH|qXP?tpqDt;;pBSTk(u>R}_kS5Du0#oC^ccIqxUD6oMVT&2yib3; z)X$kWQBQ73efEA(7oR&~Gt!DpKd(@csY2B@86cst~a}1oN$$z9t{Pnflt&mL*Qp54wDJ)n= zH_UPR#L^SvLySaHTK;+R!-eO!IV{)(f)KuGTjJ8-&`OZ#%o(B`@~da&Esj=6>>ZsX zD4f>UI<*v=YuExdw;)fjVPJy0uH#$d*tbJ-)`Kr8JR4}<4ZbWw(#!a=Q!~3sM&LUj z{XTu4USg5^@y%%=CVRu17~+c6ke!9rbWWUUe#RU@_QwWqDu4O<&^Bhn9a@(86noB( zV&;ibl9(-tcDD!xmihz{=?9A?{xn}@>~Moen8QV2K*VK`pa}y}%Nf@={$dF6k8Cea z-|!XsD{wbne=0pnh+(R~Mq{zUOnDhEmKn7(THCF54Fx=Sd2U1|K6T>Xz>PY_r9D2- z(qSqJ*(gS-b@j=W^FOG_F@23eTK)Qcq^gk|NKTkeo|GK8H~wO_u<3VC%0{Lm3mxzs zLwhvCgHT^2%M=^+yY-!P6dG{W`Ka=Q-UI?3X~KbYg?QPxAl1-JiL#6Ax1)9c zMJC~1ZOQIjzZn@H0+XFt?5$Jp6bDz&R%FAkq(ADkIM8O#?;?~x!|d4bsZdW*qw}}_ zi9n7tE?oXZss4a&tmcf5<^Ft+f>0p}JIBL6AF+kqw^4KYix%0#Rk0(!H+w)cvkzFd z+&!2f&NNdi`h%r-Ry!mmz0Ou2`^^*sWby@ukB^Fp4PZ0tE}j3I@qtr_Qs{L1xkRM# z9?E2%JZPcq;0z067zu@hoP25o49SEqB9FQX@m_5vQi>HDz+=uz|M&`xA=P%;$WJaY(n4-3GQzn zHH7)}^Nj5V2;v;zN$Z$MLqPqycIeaeF|ZOTBH!gqKX8LXvMZ+*==2NwoR7wp6f<16 zG>@voDm1HZwh?bBQ@tsYJ%h7Qf8jEdU7#vtg0xE$&9H(5mi)awMT3JMP4%y8B=X+xKde*?BT zbLrU@kfd3zv)zdj;+Rt&ENku@b4VZcyW(*Ctm>-7QrG{KDFzDLJ}Hh`9Pz^t@gRio zqwpkf0^BS?XlX69rGwI%@=&VO{fco>X>1%8*i67S?i+dtdG^}p8V2dbS7K7j)vIc; zp~J1sr?0^^S-i}$ppdI0LPA1KO-&Rm2o#ZGLVX0TkezX!Ix+`t@%W3$kH ztfBuvI#5-T=9C@tVAT*IEQKGs)F$pz39*`7zVF!qN{YN@-xNt28WvDB5Qpjf!*wpR zJhMGn$iy5RwzviASRTaom<_kRj7lTh_P!O@xJUEdbdavf__*c;;dbJ-(MS~eGIop@ zWjy3^`SDXn8Pv-5x?BO=D)~*(^n5g&A<<#ZA0RGH7SK7fRGsoA!BGwn$SmURg9RCy zLIDjlsI!X5QpSfVGngg))*5@3x;_4oA7TX=8qo4G2o)hhAW<$9TxXrGrR6M~NS{3> zp+{=* zB#->a$(bNXhyN-51f<`TLSGN!E-2h3q*wJWT-9` zX2OKKxW1pcJ(I_}fjq00#yZgAlwkLe6nY}oD^87`p^iY@&@VE#>Shqf2(j599Kw9Xe7T@gSU@DQ^7J$>Cuh5s< zKV-R;4cjKVUw2}+;>is>w#le5B|ezbyf#YOY6QV#Nj!e0La!$^Uv5JdMnE&rZeZ~e zFD7zOu!@0ofkn~lL-xLf7bp%muUrE6gveneCffWYv~?&ng%*PiVI>`0oRzaIOsO2l zsUt4L@yzl^c{wvnQ5GpUTV2DC2YilO2Pr)$HF^kYhm|_~rCuYBNhX~8&|BvJIA=_4 zCxPm=piLC^+QsAQeo_|&8~dA1*nr-ObY~bQPBDj+n%EXDK01{z0ya>+4Nc(8k*@}bL4jeQ?syP9Zl@-3P15Ux zaw}+03?;Qp-Pk$HoHG|Xs%Yw-2E=c{e&)f_zc+g-PGf>5j8J118C}T;qsoCxObQF_ z)xYMw;bh%P#3c5hr${t%GZ<2>Y=;-L)yj~N25>XM=MM-2Q=Vgt3YcnF?q&-6o_ma~ z7OCbq_fIE8Klw3Y;GInsJ*dgX5@}{=8VlCr{!jBAa0(tUf@&$28@cSh( zDN4N6Hl*DP(qLp`3;T9`eN6xj!PH3rL8A9+BC+I`<#g^%t!P-h_S4}kllsYD4OsSp zSVODi3DlnkmE}M!CD@r#p2@@l88V{Px0aDE^E0^Zy0?PoT2+stjF=+Fq9NOol5zQk zId0L9L21oGNDfvl>VxetHT{lJVg|S@Dx^(UuJ_C_hOqp6bMU5hs;^?kr$|2Ng;}cu zC9%4|Hn9djb&fXMi3fAq@H?R&s3d-6q}1|T#3ylOx*+pf5|L*@;XA4kzXj|;sNN2U z^VY*|OJYOvKWd-eJ+43d5JN4_t}Wa_9{{|}qq^ow_{n!L5qg`^pgF|ziuS3y{vfR1 z2^OWh%5mp-3Ezkd!QVX}R%H5-*x=(80te9LJ{nQ|Yp=l!clY3L-#-8jKy1u{8%eMK zW~m#3fr1te1MoZ+Af__I4F;RbZE+R_o$Vigq?XG(xt30|-YI5q`%V#*DobfrsOa1y za5%O_u)zDiPrLN;Hdkw)qYK}T@uh(~cOP%S2l;npQhEkkHya{U(RHm2jJs)Ga!wpdLqg~&kr~19=@Y@s?x3H#$yo!Cd9yV0B*1US$#bZwL(`lw-;%%}DKm$Jn4A=Z%%fgbuzf=5$^L%-H9W!l z-`nxQ62aBz(~dAouArc7AVU0qO*sZ2I|+Zwi~vxFzU=eYyu~Tx`Zl@yJM24wRYOQ> zv|X-WdGL#EZ+ao8a|Kl<6Q10LN8uGZqm16gD4`XGQ2#}1`_B^J?taji z@r6|ncwsdfM|rGy0QC;c5j^rCSL|PL)ATMyB$+bN2Rzu-(=Uj+2Op|o2&)T=lz(?S zG}Kho!~AqH&b%RkOTp^oJ=nmyOiBYToYlJyo>pAE>a zNl}dy1A(XumgYH#-^9{7`oY3X<}cqga#e z9)OmRJ|7zX%{{HiP~7OvIJw~%@vhOug7b;1>8T%UoZg3?q;X4S-Mb67K%aZ^Y!5cf zk$RoRBc;=HEv5s|V#t!Xy;teb>+BR5M+x!N3;yXqoTHgniXr?9sZ9IDf%#TJjH}|` z1TTI4!vsnHc9LRUKs0F3)rhA63+}Iym@(sPoYKbD%Mu0;$b=E@?NX(kkKl`7J)~yE z1G0&&H-!c%atg<4!w^9^hnM{^+q(q`uUeZej}h@YXq%NG7}fh1W~w^dVfkKuiimmD zDf=)q#@A+|4qU~cSr<-#=HjEI0|(Abq2+4TtT4H+4(928;c)|!s3b!5(*CpxMe>{a zq-QdX*TqEQBoeSKD0g;ck8~&0Y&wQ$fzJW9*;=p;sV|{Q`)%GLvSe~Miq#R$0-b*j zb%cqLej1CWw&$-29LN4dXN8#w*(L#^PI6y*u>UCi9Uog51Zmai_!y7^_KIj>gMNOb z>195VNPb%xbPn<-8Lin@=*Wn0w`(sG?Ek16am7>^zaJgsASbqd7SCc=O8nYU-JaS< z32j2|8X9#<$b15s<)lUvY<;VgFTEe+NVRErx~Dv zkWP&LS-`{*8n0Xl{TQ^pMhXWuS&-pjJaYTJ3A+5!VXgcqd{OrXM?I==;3hW}9{SU> zu{Bf7wOvWDHi?a$N<5i_f^dI;^kos?fB8_!({l;5Ty;&km?=q z^Ct7iNTLck)^%uOV3o@DrKW6dc#meO~33i za3`?TT8%VaRK(Cvp>SC~C4W|5u>Pj;Y)aJ`6TWJa5ATy{9u0~s$4yH-@-X>6p&V!S zuVy-XPHlPCHd6Dm@zqa=%<2J=n#A$i^~7(d5$^W!U~Ksy_-HvNLZ#)5;t zsn?t8F4_#n3^JL`K}e}G0bpB4V}1Bp%)BVSA#@V>2-F8humD_1aKlT@>QJl|l_V`n z43&cgipU_lmK3u%Ih8&}fmz&j6n~3>1#o55bUF3~%nMUcxL<#=4J_*B&)hV|Ua&d>W~CbjbUu0CT@DIGAcG_;Y-*;#IXJW5pl64r)=5WxDXAK03$$A?ht0s_LHa;d8lkceiv) ziXdG|ON(?j2-0zpZV;rqyGua0q|zxM-6D;EG`vTj&-eH4Kj5Bo_nAF=*36nUCML>d znjeYSipD-Z8Dk_ed~rFpQJ}wmgK@mi_%)~Ja+6DgYBf~g#Y3{LhlojSEmGUunPfLS zhjxRo89uDiwP(%Lphue8RW|<$5a%FVd(CIE9j7n!groHdJjYqHCvT$|7SWH`%Q@gG z={F40I$lK|&=e)qI2v=JvoG`IwcRW~CW?GfUNCv&st z-kuyu==iJK7+YjIQ>mTWO3O*McKeLg4Qpk1oUM)TWW`lIu2C^L?*(7Z6NeaOhi!ThdC)3HFDS6QKcs=`CoOmt@n!Y82FmR zx^m3Z*;$lpJJ4WHp_7*w6;?j_z6pI4G*&}nk-(~mt>;p{7puO|cDC5thX$G%3Y>@c z!pPc}Q0cOS^z=7|hGP;RP;kVN;Am)QV}S8`qg$NR(BhYL(d$Z}6g!`MFP{Ooq88@= zN^VYKpXGyo+ZI)74cl7S{aOQ-eIEHC%&)!~75ys*S-Cv+Nwb&xF?swGp)xPdSJTFJ zy(Mqm6{{kw78eyH78&;=3_yTthw`jiGy6}}G=Xsmw^Z5OS-3jE~qW&7* zVL^c;ormCf_0&(ml_VIphPXrZX^e+@WHn$f)}Kp+!d2!I@!tRq?Ep_RQPQHj^_&OL zbTH>;@%|}J4HM}{4a64TAT%iot@y=$sHdRp z$amQ%$p-V`btGTH5DO2;+{w53BI!4J-WPuAx%S%3L?&xX6)TjmWaV$8x5JQ!pm^Za zei4T26SrN>A7yImq$O5TybE>;kH%D1#gKR9u08Veu(0AWZ0FMaTh$&r@0 z?)fyN5LuJ)w?1{ZR<-frPT>mynzE7-2PdZmM|Y6C1Z3?%msE>9cWkFz=R25RymB|j zluv1}WHHn7?vIU%iW8%cShYsRB*-7-vf;-QxE*z-OL~1~Pe=r|QE|Rp)u(+{%JqFA z#kc&RRc$6tc}(l4+mmojY<=x0TCb&w?=6Gj45ZJ94GK;|9U8tG5PyUCi^slXq3W=U zC(H3SD6T^ZV?Aj9`7FGNhf(tdf;lu48h@*@Tw-5*NWVz;Vy8JJPRq!>-d1N|eivd~ zh_d|sSP1ocK=FPCv2FeNJRz{CG(Y}g&uB?mpynu=8z}zL#*U~1bwX=XiPm~9 z!dl)cntqs-P+>-ovbU)2?#a{$R)ePH7!Pq|(j9f}hYT{H0i*E};CT~ZB}gb2oR;)b zDzB(tz2eQZp?`Djrv0{Rrx8lq1x}YO;^@9?D|;^-WtE$gHFnCP*38T-Dl&4O{BKPL z3eWFSAMYn@McB6t^MOgSeNa(1$Bw-%Yp_9dml z-cZ^zZrmXB^5n{@?s{@0AlN^`G1ct|i zXCaTS-&?si#Xg8ojBZ;WaD?FTmnRW{_iwdx2&>Ij)gWubU$;f7qEPeZ@|a1N|AaK2Qn|8%(bTUpMnTc(Hxvwh&-NT)!oH zf$%(U+h?x)Lrvuy7rI=KftA@@#s9*6HNJa>VwJmpJbT zdDxKXZRZQh62oJPLH9`ZQ57hb(DMb4c&>#_VQS{HlF9>k_k0+pAOqo$y6TKb%)ZvQwBL(2$ir zL3~PGlAtl;gPFz-rk?kmW=!s?uxXLc+c@jPd`5xwOiLp2B#beij!LKIGbR;zer)ri z9_#YqRAFb7Kia`>mkvour_?@@>2vT#KyWMX(cng^QfqPoly4*sb1jv*)NwxzVgLCe zM26YbFP8AmXcPbW{2>zjzS;g;+uJjll{96&rFWd6udtncGjcx|{KAc$OK_BLl*qP3 zS|KMYr6R+m#LtIfz*{wZzbQAj=LO*+3>w zKO16;^jrO%ar1A^@+G{DOT_c^0`__&1>CH8?;UeqTQN?Ui?)~M&; z`H`R$500q)n&X?=c7~aY9b*W*wu9XNHa>W%75B?~SD98DO|N9GOS>wtS&p#SF43OV zMSWi%nNJM!H?^@-nz5umPMF{i232LWfa4fb)pX%@VyMvz4Pi&OjzL1xLdMp@!r(k4 z9O?%wSi?D)v58YfK>%_)QtD5o<`^DxZ+*JmetOjv_NZq$i-6|WxmqpWA8M{lUw4BJ6jAJkzM&qWI z_+th0jIJ>va>pu4k~&q&6ldvh){~*>w?-qc*uj-3-PUJAmlRq0F~4-?aJwQ$pqPp> z$mYd-){pjCZLCEcv`wDi(>(?FAAo=SBCciyRhwA2EhVAY! zoT1JEg?9Q@F$}BpM}p=YS9)3y2rfkVnr;1Gn)?P|$EbU7VSQ4_k6fBBz{drOx(6UX5Y2x?||{)Frap3BrO56#dbLi923!&n+w~X z04s95fMZVNr?fYZN@e1)$WjZm^B4473X%$)m9*X8f-W1~gQx2GM1CIHzHj#G2Yi=9sp?Mgu@3z}KGrX3g0G52sxju< zRaldD>0woLb%NZC-Y4}p@aW?)3F|6PV;2$lc*S}n1ljY;O7BW^3?GX;AsbY-6?=^s zNG(Xv^mB~#c9oQQzHH^h^3+hK2eDJ}Y1%24(PbhOpz%}sC4yvB=R^5Tjwzy^?PpoV zVvN(8<;259JykFDWH*Z7t;?wK&V?UJCATfVTgNK-1Q>A=-c_WD^Xkw2Mt>qAOkAv; zabUBAG(M}D#5JhO%Som;bj8C$x+awag`+!2X5oXj*VM4`@`wC9f%0aEg)gq^jJBn4xv0do+8R{!j5?YJKagL5MD#-mnYGnTY_F) zJRJU+OV1W>^qI8Na>whexJWbHDK#rsYl(xz`mC*qP`6qMgo!DraC;ECoGZspc|I1A z50;A3C(A~c@)luu8%|~~%!{y{tt6Ic`FLTDGB=#Rg3W`!X)c8mnDt!2f~-0A3X1wo z#8n=&nlob_^?d5nkVyP7S$*JG79ez3V@+He_vb4nq)^kRcGIcu`r?Ao)@k6eJlr}} zfvRnFMTbS$UnBNXON)lrWw^zz3t|k(#pQ6zY`M58ZVOt-8#{{b^km3VfLvl^(AR+03u-9*0N>N%g6+EXrt|#PBM^ht?u{K0)h) zp80so@YZ*X_dZ9;UD%6KG6?(=_uMDx~@j0JiSBq_`1XWBEJm{fy(X1wP2tQ z=Yh`{%T=85y;?savs_0bw)_u>yGPj$b;9gV3VWLNo#9tP*gTK%Ur5bD)w4d*sD|*K3|;1%Y>>` zIR-Z$A|d?_bX;m8O$}H6Ec0V%Uc|l+sT7uJD=?t%z9*ZW=y%qLds2~v?1pDzhr-Vr z<$mL_6`sD9cGI(fU@Xr#aescI@e(IsPc~$<{Vnk%1W^&O>8pFeZs`9(eVvPR2O7QvkVCV>0WeyABWA*)mCUCBsNR<(ItieGEN zqnn?H*xM$e(Oy5#wP_J^(OM&fwKNeX!DU^F4C*R7FCuEoblohUuJz*8K)_Q@nhw>R zbAZ*{O?H+z76JPYDZ??a=3_Zy#cTsz+Zl`qM1)o0b%%+wI8??7{1STZCSvBI_BV#< z1qdu}ox|QKt4_>(J~Gm;sLD!L$Sp~m&1ITZDr9%&rXvH}T5!Kayk}@kXV5(AkoxXI zos^aAHqG&^G{{l9D~?R{b$=VNUqA1IJnA!{cHLkl@{9Lt1(+p>9(vnLTuVK)n=~PK zliOxJO^XL>N)jYDVKt?ywzNR8zd=#_$`IBYvl1p0 zdRn+!BP3Iu4Lz?9&=}yL572ZmvgS{IaZhr(2y7Fhemtx{_6hMKIz$%}{x zPq0XEe6Th@q&G4!Um)O7pq~uHJfP#ihh}n`z(x}huz-TjtH#sBitiXdi)Ca;X+QXs z8XuwWboZ`8cy>`=4XLy0OqO_{^@T*;y;*Mt$C0OM^8_+a{uDH(+K~=9dRFPtt+xJJ z0)}-0OueLd(cA*tb%zrx;IL2&mHHmJGN2sIis9>i&UUA}UnGGZcVg?aIUtKj(J}TX zkiJq7)U-XqwtdaKkc|a_D#iKZTfei{z82SC{^nSBtgxc5L?={^d@OBSxlIf#ouzIT z_No`o z{q=M;_3Bzq2Bl&fdE)z~LxHC-26Kl_5hX9f1atPR>GDgnnpoIgP@w7;o|E46Zgv~%#}=v`IJ<(Z4a@jTPnW~blNP|$JOTO<-r7+7h@lCIhiQ8oUE=Sso1wSs zvBi#?g>Ta?_5U{Ef&G-o-}hE+0AO`zP8dIe#!bJC}!vL(>y42ytYJ2YD8J1+(2r)I!!m^ zgkcn?r$n?5c-HC)`+@{J&JdQFg;IKgG-1x};|^_212QVxa5Sc%U9j)g9I1gG+|U4X zSRP6LhJMY<1B*Fy3&@l1c>p=69rzBdHIKnVhs`VK+hzsly7TwF`pm>)5HdXHhVoLe z@B;l_u+%u5F0iO>8}iY;x>rsul=ap5CEIpNGx9f~_Pqj#nifDh(NES)h9BzJ!s`44 zRvoS&aA{Xw81EpAfpQ(R%-U3&Byv+4NzvgeMN#O54(LPZOoZ)`2dT;lQzQGfkdb-` zCC^Lw?|w`%V*U}_Z41B<`c>eK`sbs-jlSzbA_~QiwfAKOZglpcCZsC3o)lsTo>&{U z($PVy(Zxo0L=Mz?9QD*r`*R_DkB4oS;qE9Zz8d@SZTy&vH(~zEg}fBUUpk22U{GC0ya6l$QDmtdLwDjP>UR&mDZQTQtr_ipjzCkbj(wp~kH)nj>cAPVR zqik8z)>zU=9~pD_t3`=n{VG8z^UALt>RiGTPn8c^{A`;ku;2Z~(A=5~hu)hva)IC4 z+;q98J!_&yO3`u=#90L0Bov;Li7FCHer>TkvQt|cTSsZ?s6@nIu0#2njJS1<&BE&J z@Ez@Y>s(~ma18$LL)dcyd4zbUv`n2r!f+&;1z~uBd|$vrLnwd@*A_k>572$ADnUp8{RHcEx0=k?fdOJd!rH%v zDsBp^3#R|dR3=v!McQzwgUBFpArlB$Y%-q=^qB~?dd8IEOh~*D&jlq$Cn~KFL`{FO zK{iWs2P!v(frFax1WK}n=5uTi-)Y>|ErsY0|NeS39PYD##q3Q(smPrDWS13@_NgK- zoSMekIyeWvdPajP^-XK-Q1~21U&XM;b9-0VGCHjNMgD3Q#&62Gu2HTyH+yK-B9f^# zRZM6Wm94IpbromUeB|pbsfgsc7Ps#UgasjMZ!K z5Rj$Fa=f7m=Qj_m05d%qJA%A2n3l+%*SowmltfI1>Y;yL*B7(hFt65N*aP-es}K3> z2a~^92?(&Bn?*dJYP^1pFPcw=3>qgW6!nstmVaww1bgq`U5&Qj2?hx+B1dp6E+v=v zWwo`x7?v&72~KSG z>$Uh<-{x|;JZ6uOxpcC(^lOYfoaBgV0MV6^KsTzr(wlQWCj?=FUmmBlaa2W3|Hw~7 zaP#6Ul#3VTNld5RvZzU;@BUC|7Dv85Uf7>M{OtyqE1^-{m?kC@rYW@ub2J)Ke{`2m z=t9zJ;0+yC4#!<2VpuRdj~P#CWw+N!)GY)bKM_tpZyTXX*2EcepiHX1cM{|;t+vSc zd=~}zlaEL~6*QD-K3V`K{jYXSwRiyInUpS@o9sT5w3np)H)e2cD?Ln zYOqLYtn|zcQ6ge%Upm%~c+ctJ8IB+1ieDZtcgNT92~kC6K*2e=j+aqOi^K^UIhJhh zHy|H4for3_@1kkNIQe8BPdS&Lv2M(aTgi`3N}v=t>js>BN;FPg&Lhd41?=9|&f3XO zT`VB=XcR=~@RuRn@4bqB`h%rj-;Nt6Lm78~V!ep9bSYdX?IcjB`pOwjK+U;bjjv3) z{AQs^hGG7_%|w?r;M?Td|9QDk=QwSu69ZP#WzTYiIyA5mji{^jne`)y0`#?&Ltz48 z)HChSa0m`;AHxqD=v`BG*UXhR3UE=22aN6R1H_$LJ?l-!qPI#}dTDiK7>i0uQj(K- zF~KOw3Q{YcjiPy?~!dNHqkw_@dF@)x1MLCE``My3*#{ ziZnoUXbT|xGpLkJgnapc0!j>tqQJJ9bdADhGd+>_ z6)WgT6knhUOxFH<hP#KFt68aae)e-de~F zKjPEqcb*oFtsKcjRqKZ3m{*AQH@HMf36mr-rd=4f_GX!qc^F?=KlzgT&Fwx=S)0Sy zgD_Y`bK0X*>!iDkQwT)f4)ZD}vN|1$5w zLRf{uQE%^eQuAM4x4FpUnG~yU>wzRY*Ou8vdghmBz!ZMIQ_k~LI{Kf04-~+m(of^` z;pd&|?YeyFpawCv>wak4m-@c9ZSyk1WZ)@}Cd1_9WNifU&FIL8lA>Y-2n1Vuz^)=5 zxZp~&b$@Uerzf2P4Xa<@6S?lUZ@D@2U=-{%+eQY30LO0-d@GfBK^c%%ZfYj>Px=+*gC%%3|d2yf15a=^n_pq6>pY6xn)iEO`+sMhBnV8tC34%^B zB-rQHyEYl4it^LfYF=juYf3J}imIYjC@>=}z!-J)XYP1lTl}kMF4K z9DMW{m1j=_LD6pZh>WG}lv%y=2CMg;!jVeBX7-g-Cw1&it(Q>vm#P!|Rm@^?F)s%F z6C@F2PdVR-(9Q0h;reMOT3M&T1bMo_+4H(HB0zLMX0YJcL5Xb!=N9SU?eqF`N!4u} zR?@YkRu)TG&=S%@6ySLpj(-jxUfh)KtP>{rxR%=wFBQKl{|f|Lsz*nL8hf9#c?5@q z1mcGBr^nR)?PVS5-}Z%=mAX|W#}<9f`Dn3zl~ypnI4xmc{!+F!3%wC%2pf<)^1KTi zKB&hcPd(I=o*eQ{ogfCF9tnXt2HidGc}BIPNs|`tlbjil^Y9>)85H3-N5eaRp7{wI z{Zru)5@&a74V3aQ4CwD*x?l1#i8V-*>oT=<2$mEGJ|Q9Ps=!)WjY`|jPIn#I)3#lb zf#He)t=1<;3jKf;A9RFCR}2NVIFK9`R`zXl;ATGH@yOVzJi!l&{J7H-30)w6ay-EC|N9tbT- z_aIp+jdIUPEI$3=E#P6&f%7fqL|9=-wxWS%vB!r7cyd(QS;fot^tI3diC2e^O1XQ^ zIv>=SOB?}i$E+jI76Z=fP-gy<;`RB-oE70@*UeP#v?gErlS-o@|>~leLXG9KIzKH+W^Uj)DloW7v5!PnMdC|EuQe-Ex zMF&^8biL7SL{CTy^S0E<%%Ic?exiB7rvD53CoNIJ6`(flqP%q2S&woN7rY<4Dy?5=~ zw{Pd?=NlUv<>hRl{Gy&bz|KZJH}bEc!6qH?&b-az>iw&$h1j^;kNHk)rh#`P(B3NB zUxQA0E`*WRYAK4bFSyk5sjeK3+Fd87B8rXZ{lARH7YLKdyl6AWb3yc{@T3mN*C9Ul z4>(^uyH`~8Z5Sm|m!5wG5B-obnoI_Wko^()p}T}9ll@KPi-+Zx7Gq?^TrvRX^d&)M zj4Sy^)A!^kynOUxotoPg@ar`08#BLCo6W9=oCT}wZ#6WOW;$>^J6AG@ z4P-japZsV2xuMM$BNRdgjg{@^r<^3>o!dPvK2LcrnyCG89eV@4Hjc+ivZt2k3Z9b2 zKf@ifp2L5|B;JUZ-K)U!fmSb}Pccue#1OXLK+wkx(kdrDP_S@rNTPv3EB_Ilw2M4I z%K85Ka@_HR{$Vmg(iHhwt66-MrFzIC5gXxf;~*Um2-G9@Gylo% zYA%bJUf+v_UmEVxt7F5or9beTCh z;|i%LIF_KppYcTdxHiit5*Q+}U)AC5co@+eK9bdCM`n}>=bC5gRr!2jFY-EM2BJQz z#8J9E$?;`tx4_w8C)Vf@8O~>v^~^0RueAVFxv(gBMf2NuDIo~o8g$e82%ubG8cE#Y z!YNV0x=9;qRi4c5a%meE|vH zr9zX-{zdvg0A@vdWUcinp|#*cL`3uy4DrFc;qMy809v;{*KPAf_0adaZN|d*XIn7;u-+9wVQCOcw8oY= zT+&uHAw3=4r~XPkaSt}NEwF8?F3LR;;A#Yqga?jpIUgBjW@-vU1S0r&dDrqnc1&Pe zxc$JucW5Y{bs){i*jOmgo}(qeVvWu9|34R0^4k7U$2f{qjG9%u8t(kJ1jIc+#R@oE zsPKNJeF{Cuz^rXLO4Zg$E#5?>A|i^M$q|285Mek8c(g4wLd_$>w?3(eh=^!gxroi% zsIBFJ>j0ZqS76~;2KO`UE376hEp06Z^6~VSaU5PpFzN<4#WUApHMi?@Ji^;_(q z@2Hi9BmW~2nts2mXNx-Ee0f1?n{K0Fc zFS-fAyWw8aQG#PO=gM~l$r7L>(z|~d1{z_NK8s;@Tl?i&!KJjA85*Yqcqa}_m6`<< z7;b55^1Jx1)Ae|NEPk_F5Jv4?nwLi>C@9z$fIL$|8$%X)dLjuZ{XLJLTfucl^;aF_ zZQW-HlKUGK(BObn#tBIT7zLxsFerxG35BUE$|uXo?z%0I5X-z7)A3@q`ld>{HbdwD zbl83`f4t6lyf%7zLL>fg8izyqtk!ar{CxF;(FFtZ!93uDS;XJVLoJ35TGS4B%WV9% z14J+MH(!+y?Xl&!YHUyI)J z4V8ZK6nwTJB0S<9AZoE_{lD*f%?`+IsBdSQHtiFA`}`1$9xoS7T-zf7sG$#?xF+_Om(BDbb+7zg~VSVz6u2-F>*92IswZy(u6;%MtbZ-Hk$% z$!mcgoh1n}_yD;x9??e9&{JdN|4tdCmOWrOnu@?KB{@uff0w7bjQ(Jb`viv%-i;0W zDI_om;nDmm_P%i!QSNK~n;4AHDg7*X=Qu#Ktic9_&l&nuVFHWv>*9~s<2eBj*B)KB z%ggN^PV==U3yn6;HY&=>NDt@LO60_|&+tP{L_waUFmlA-bS$&8tloK-Z~H9w2d@{HFq{Cj^vpsm zSWWxUa|2)r2lMfwCg8r8<^kro4h}@^JRP98T=rP4w-}a-AxGk4lOgDq#_;=`ouIVY z5TDaW8XXpgu*TsY_}@pD{ujXaI?>=~5f*8S&Fz#_I*}d7|8u{f>>>cGVVy*VC#*9C z<6JL5oYJSCm5VBl3dqR>i`^E^@do;l0W?1h*!CgKBmfR#Z@~4iQEn2l_#HSY*9n|V zzS3kj*X*zeiv&HZ^STr*BFXE%*)4{NG4M1i;9EXgfz2QPjJ@?OI?O|btlh<0N+py0 zUOVXaqNP|b1TozQ7K8*SlCGiVfC5aQcHY#+dvZ1TxbR1??0gUsZsfnS&uhsHImx?h zA~RllIsaA|6ZXB7w2S!98#U#h+dpkgjeYT+34+sTSy|Cu?I1qgXac2IR+AGF0-3fz z=VP56_?*=H^e^K0yS7aM(O-3VHbjHA=TY&m1A?Of`1TKuKx|t;RH+A$4^AV-x|9X( z)|Lid3Vdc_%p#>QTez^SgH~$>V!?1axj#vOdg7N9M!u)ud&0}A&oIW~9!-L*UC$9-@0hHbR*xz~ zt0%(wikbXCb|xvXh_D82FJ#g^LWa`@|9wU{>fwXKy!F%i?QSOBxBu1(3Vhm-QZ=E= zgzY>dkw**H12L69nN($s;M28v6&=8Nf2>k`ZtG5Ex2rNAT zkXk8(Q6^nU02UTo_H7pNqe<~ZT1<#oh6R?Fl($r4+f$Q2=Y=`R2Uq=2d^8vnni97ETBIH^#(+ZmWk71E!xaIqn9Ny6hFq5{BH z8&FXd0#NIGdIE({hY?I{%Pr=60}d{_|{Th9w|u} z2SbEEwV5QKA?wEA<@&p5kl`XF5>-itpYqrIC1YbMM*NN4gSs|pfHg3A3I_0tMQ)MB=&WWZk3^LPdJ1v}z*J$43IKwlUQV@XNUu;TK zFEIi*Kp(v;nW~mWP@aNz2i7hgZcCI9gtCNRXD3vH+2*Nz2q5aPzz-V12P{CISw6Cjcq^c;(z0s;BaKA8^=o=bc{wA}_5KaQVl4a}Z(9y@nB zMv9@m)uEX7s{S3<<%szX@O|(MVFCuM9ULxTh~5LyWa&B7L_}I30i8BdUIJmQv{0cn z^5jGGzsTz+IG2WsU|(BXt}nPk$)bQhIhJGjV7z&pBXDO=2P2e7UV#AzOiB9E0A|>6 zDWrM<%j5Rw*8@9CZpQLF)jU#F`l8=GTP;HQL!dYh5`<&u3af#>O6QqCjKJYQf< zX7$M6tp6~lUVYy(K#F+=&TIbr+nPXTQW66cULeGO`oF&bGCM1Um~h&w#GcDG!Q>LR zc7Ipi-mm^iBQvh{2Zd=wnO^H(@tCWn8}+^2qTliwa&%UCXHPa})?X1`yAlz|yb4AB$lmRhwjOdmX& z{s!WCykc)C2(iXg{l2LpKANLs_;5MvHLPsxFQu9yJu{4+LKTdeRc3P)WKH`$UAxtyjx7BL;-j7xalJ6N}n zTgoQ%!wBGsbp?TT8bW6`*LjTaX2 zQvUDf-~a8+?UR=)Okyb4M>*5jbWDFsRk|im71W2nYs{iRvF1=Mi~<(pKvoV_%+QJD z_{&%=@nKNi`ezFXVgt$fL8qYJ=wFy7Ll**2d;p$+%U5 zADUy+%Xg3cH3=GlE1GuOS5ZwN8?HMervQ*G>{{F`$In||Ss5)!h|`4(FDols_??KV zF`fQ~Wz6$`|4_I`n#ME*7RzW$(P>X5!<}xNFvCGa{it(1fo0Dkm22GsZa~O zDKTfGBmXYHy|qwD8}P2c^+8rx3wUU!Wef~BR}I>?ZNhq-0QVKybEU%zRCs>v8p;q41 zm-HmWAbU^raJH#0^;?tJ4*1#(Kxv0iqoKZ-JPFtf@pM z<(o~K$6ZGty3quUkH%0_vk&#}8-OtGQ0TR_!uFD>jLJ#+e{Mqr@EmHMEZZJLU;J4b zUQ31*l5y94`;`%Bl|%5yH>ICNuD&G!$$iz_N{NSvRn$7`LFtEDn`{#~_TpEE)J@-? z;zCjAfQN&x(sFU(a~(`it{-0 ziA6MA(~(U)dg{CNxuTsT5&$}wrx+)yg zK#n3Szn5#2iQ?=8&b#On8MWs~(leKp3w88iIKJ$%#}ouaos!+h#b=Lle1Au@Lr$nX zmhyzBPx`^|MNUoh&O0}bYWX02TxTV`Qm;mJLxAjG6jK5@Nks`|+chFxsZP@*3jVEg zwQKt%_@uT-j45FI9S%TkOPyIVIvf(JQayMP!oXvFf%gZ)PzUEeRQo4WO~z}p3#TqS zZv#Wy%!7=unf|-smY^uahh=W^6pjf;FId3%_HYVlB9Aw7T`NAvUwDD&hnN4}2R=yY zzq2r|C zCNICu582m1jYp=o3xHIU))zm1_~V|#Vxkf@!;>-ts3F!68X;NnI2?@}L|P_mIW zmfX9SH1pjqxzBlfQ~|Qb>QD-Wu_lPRet?mg#ESPX*K+p|k)a*- z>g8a_qo6R~;zYw!t`9j$=G5oUV1U3RCHX#Vtj`tH*Yh&TiCBr$(RPA~ln$oNe+I$= zI6my8CQUKuHSDvk4tt-H-U=1d>$^%~zQXOxjXMu`_ql1}Ag1q$L-;e6(e@!!THVt0 z?-BA>i;}<4z@$0#GlRgD^^BrjME^g7ciduF#Q0ZM;-xe$F@M}8+}zF=ow^Pkfx8$d zUuk3*A0OX8J5|@xBBH6G;v>$$(#JU>!RC6-t2kGX>zJNQ20xY#m?Hvk!#g2b@4Om|qI(ird@U1LuDn&T0Dg z?P4ka-}`Vt@6J<~O!U$re(QKlm3etrF{pgq7R=%T*zjYpBHInScaE*S{?uO-TkxPd z5Ef|EqDqxXOjGsmj>P-2&lx62YE&j2_tEUh>5IKJN8rll0x42u%_RWgE@=kM3wNyzlTwAoHw!cTZ?FS%P#T2-2Yt~7Em<4x+x1G&$q@_}>XvT^D4o3lM zqakD8zJXv6WF$JjNp~;*z{=6+=!NvZLp0td(IxB!Dz&1^{gmko4GSih>`sCvWl=_@ zzQyg)wURbNE8qwWL&HbGWHS^j*OaTLqq8{^MTQ3&t$D7~773$F5#)ctkHvc3#?P*P z>Y4wZW~oNfOR)G6ul-Cf9r7JlpJX9FxX|J49N5Z z|LFZ1l*LqvBegxI1FHvF$bzGFX7BRLBqb4abmSg`ikQ~O*7g^thyc&!w)X)y(>Y7% zupI9_R!cCPJ7MAAnDKWB2~BDy9Q%LwgcXDb{qaueezvt(plNbYolXVw4kIkvg!E@| zpDcu^mj!kI0#r#s9YcE4Y9;r=xu8qJv{c%KxO4V#aC_Zx@ur8LY!W@-nJP7AHr0IG zuxVPQ>gw9vOuN<0V%Z<3^dD-aw1G4$sXg+0NzIyjZIb+#xO>1m`v#HQdIaMAIE zR-OCt`K2%-2XUGWoV=$L2K{At5ViKlyg~h38tPYOs)9wm5mb#084bNea6Oa|N;B3`QuVy=2sb}POL8O=q2Bw~xnwm0lwq2d|6jOB4oBuO< z@J2r;VNO!v{NX%4CLqs zl6ev^m2hB_6Aw{ml(wW!n&Xyu7T0#qJTJG8l3uaDD*K@vl)F5UtQ8g_=4nKm2nXPC zVo6ccNd}89n*;Yp9$l_2i0Nd;)DTfzBuWB;0&v*29{wzK2giTz6C22GNHh&R3$;q? zk&+gD2JqBg#m1nc$VMj**M0f{@3mvn_L{RJr!mON;DAyHDOG}T7p9FaSdK}z(VY;W zW%Z7dAAwI6M>V@Py%5nP8aprAd_u_J{L*Engl;4|ez_Ir-*_ro}m*$}u*(xdIg3UV>tOjsDx{xUYjgM{Vt;^c2K*9)0w z6#TW#@(z@gi{pJ9$I&(MNr9^(D|8ECcwJqcd>r-t;_AZyldh=evtD2raMm>4YDKB} zKSu?M_2Xb>pZ*SJU6hOKY^m$4s<(bECiCh_hizsHiARaE&!jMgI*B?ibOcnUa?I3p zU<`XP@dyS&yN{S_q~_HtZ=M!&y!jX!a*yYs+5-XsJVB=3qFME%gf)CgF@?3BM$aE5 zTibHFV>(D|fd37}HPfI#sLx?Zj{i;95tt!W6+I0G9oWc-`CkVnZ(~!Yv_(TrC3rCV zyz;rH#ec9z3$PCgPEd2Y2&ZoG(p?@Jx|{sLGgSYvR~thf2S?3>Hq7MdvSyN4L)}Rz zby1_pRt?xw$A9glyEA4>3DRas(T}!y_sb#=7+Q)=Otj6~<&nFppmN)w5{&bw?F&jT zW*+KbeaDfj;~YUmYT#jGdZ2yIYA}fl$N>{pAz=yqlEKcuw+a~L^Rm!S({AS z(Sg8@WtjFaI=Ds#j`R^jjdEswAI#TfRNJ(67Te$CW)??p<@cq|?1IqB@k=8L-BTFL z^RV?ofyQT4b{@t=BtwOPPLo??Y`-4utB0)sO3c3^Khb^G4vsu89s+-09TCuS&=?dq z`ymTv2Ph|Ccm&|)A&Tk!arrEar!%hUf1w8q&~j$7JJeNIRo(v{<_2#m8t+{?Wi)<6 z0X;oE%p6Y;rY1jyr*087L|K7DuKr8sF+-fid7=aAz^RFNTPGl-jBaf(`LceB6p` z%X4FsyX)})!*=&7`x;JW=CE}FoB*0{kmP<^lWEFfWYp3BGl6|TSDNFVNz(L=FI1_^ zW;`zA?&_QRB|id@nQM!&lFA#|cW*6~%-;s1&^|TK1eIcWlH?w@Kq=^OVZZpPPY1|Q z<4?T|4&wzw4T9rN|FBh>MnYntFbaPD6UWRgVm@d4)g(*ChsVQZG|$CLzn@;~o#8C27E8I29o zS@!LRZVe5CN`e{gA1xQmrzoc>8)6zF;`sl7@}Twh!*@Z5NNS=hk3TQ21`Fot(LT_M zJsw|P-tSzqPO7S@a(K>3wGr~QoClemyHr%z8{L?`OGH}x88EXvcPM!C5zKG>OZW(g8&p@&TG@4Y- z+3>BrOK!`*iyUG;*-^6pzo^&h`aYbz9pq~3h zi*$rHrw8x)Mis&ll}d0lIaZ_?#^HnCvPKo2;tCCf%3EA;PJ60f(Q6hP-ZeudczJ?)JOTh2 z`~Zbkg!qew+laEXODvp~+3((ZZySn-Dg3Yl+-Kd;HfmM=v>ndYt}atmEln@y%7No= z(R+nPo4pML3-I5*WCqNZ5!X8Zzw+KIs;RDP14XbRMMYG)4Un!t07Fv{P&z^qdX<{c z3B9NY2#6@XBfW$WT0lCAsPr0of=Evw^xn?S`+on;KfZCse|Ij9Hw*LY(aril-5{b?EPLcVC;Yo^gwN!QdnpzN>l4cp}`GOueSv z{A)2XJtHG-Pt@?3}bklkZErI=)4fm-pK-Bs6wO_-ctzL^a}} z5=jor%;-m;i@X?t1Isd!qC*Gb>l90#4(3V8q_J_Ez^40$&ANvmi?ZwE59~QOB~qx2 zjmWh%ub5t!m)hO@-0${f8n_;ny3BF`6w8-x(z|I4k$*eBG4f^mNw4F!)U5zk&YJz& z!AFja!E5cZu%Dbu~FIIDo*nGg;?ZdQVRLZ>Le?& zyIdzq8NN?LKNYYS$LW^{J^STV#TJz+XGB+({`?wn+j^Q z8a(@F{c5Yq$$*-Oko`IRp#7ntI6$a+yx^Jnaq(ZTY2M^rSYE2B1vihrJ4V=y%HuYf3sa%N1ch40aHo!NpbfX9fk;Y5*bqN~Jsi>&eM2Cd)UKmcu%Sia!=8Lie8-O;; zz(v*Qw&Ce6s$8}6te3)!-h}2s4im_emoH3ql-}Ii6;N1J9T}smD{FnT#0M!KBkNWHvq<%E`G4#qM+_#y%I zN#qP)uAXW*etTY&bg>+~BFkWOQr-(r3Doht9bNEUS;?H)ja)Bw6v?%Xcnf+SYh{{q z;dHS-2b^zIM|G4Z641Wn!HVBAzw~g#rfz8292gK7ta_&0m5_FZ>S7Cu?=mV%m8ObE zlOY$Qii=h{qBqq@5;uwnGXGlrJ%`U=wza#NcJB$M|JegjyBTQM|4vZt4OV+rpNxWJ zhcah2c$2R*M$J~PH>?wxr}l0+7ye|Pmial2yC^O(!;IJeMv5dnIBweL5a^ZN zO~X4$er+=!{$mV`j1BlaqKbZ$jMb7E?M)SpBrxP-YkS@2GV-Gd z871k5C05DB(M6B8vw{WB60%XRK_Ex7RU+&Rs@SBMX<^d^+1UA%$j4AEUND zy5~M;&3wADD!HS2pShe-@cf6SmfG4{pd4I~$9CrU_r2&_pb$ee)bqBhV}-zVTA|wR zrvi-Ft*5ba-a+R9rMg-aQrG|hLB6|~;% zl8y(h$+%K#s4e!yFmhc?ySKD|zAxaW-^4IlTDoehb1_zMGwC#Ju-xp}n?_QB6x%$< z5jxW}u(UOG)IAmFbZPB)cgne3P}a&A-M{?g@AxZNKtLmTS@7`%0lBG`+jhXPe0^o1 zpOY&e!@`ZmUH(kq*ZS>&%bqfKzrky%ubrPemyDSq-2?Vkz3!IQ7~}&6Lyi*TLUz`-HiKOisoFJF*hfb{Yh-c4kXC?*%IZMK|bg#B)1i?~}F8YqIV zhRtis2>M@)|yxOOcHvJ5%qc_O4N?1C@1WnXFrC9@fmaORFqj9C7{{HpG z)d0-1GkbgMGs?d@?|r^Vk>i|s&eOhH9eu|{?j4yn1#>`aywU0ztbNqeGK%5C59v^% z?3cb8!8<{dc3Jh)zwH#@Hlm-s&7u$T=JcS#oUxxq7z5x##D-ZfD6&6?sXackpwaC< z*>hI<0L54(Hv+exagFaSbDVIJY+Tigg3>zvpei|8sWGvT`dFWx{r9rj9%XQ%Bnfs^ zG~wL9L~Rro7mI>-Gm?v@YZ#kRsjht#3v8%=wDsZRnFW>*W`?gh-$d0uS3g)@2PP!pfZv(CV%h@ZMmLfT4^VDl5t6LCY&M-Krd5&64bOzL)Dt_;|U(d?Q`hh2N;pbDBm!3n=oz)kV*^C){An5#~ zvRjI<^YiU$l0Cj(r{IjzgsSIKw@bo{7mB#H*Au0K1)w?dtI??`JcqgUeIwo6`- zL%u$4h1XoNuSU;POWsKz9mFxCyTsteQ%>F2%zEK@*soG7>kB?Rnjhl>Hc=~VCnD6Bug|az4Xk#x)H1%CtaSp22A%0ZOdB~(vUQP zZMQlXNE%a}5Q50dnrt_K(!wozuxvQ*7`e7~~ zk~M+h4~_4RXy#9zxB3K{6+G?YZ<`Sa-Q+mN1<-RGH@bWI9?LUCEUIq!WNZo->?<}y z4yR7b{eUZb$plv_H?%tFwzYQUX93&X2>{VXy)W~t@rlT2-dfL*Y<9>ubc8-(dzUgu} zk;%^`AdyKjVZsxs=bNq^)(UDD>WmodE`lmqdC_5kR8mls$q zE-#k7J=E!8$^}8p&ewT1)4KF(A!?Q$!n}km*UffHRJ73Z!1bAv=KI*mU)-b^08m$b7=2lcxSUW9&1@C!nubrF)9DwlC z{oO9a2nek_XBH0uecGRm_@%-3^8sI@yUL+;um&*&`syY4S1VNDHh8Rp@yf`8#U zHn+WoMeuh~9j95-doic+sjBiYw}L zsMoxj`p3q|qIEeQKmq_5vk=;cH(@%ZE>aE4n6iWN_tj!+!sjS59V|`h1P!^|R>Afn z{Z$T&72itSS~4bc(?k{1p)?GS+gWeN6)|9Nyp#yTFw* zB7y6d`GH!#Qf*2~O2W!p&%I@_Rkpt-w3JmjG~Jt-VP7v}A%0}=&8D=m`a!LZ-Qhx>%9ZzKw5ky=Es9L!pH< z@Zfc(Xpr3}EC4{A14u?^&4o*|jfI4SI(yy@*XGX4mdk2sY?}Tvcrjw`gR30;m+PZ6 zPm7NZdvFOsn<{+hC}t%~4Mw^0(Y!Ni{JTBeV$jo934n+Z>NU(JriB}nQeFh9B^ zU;=nL^z{r!3{GxZdR`hdl=!({V5_?P9a&p&zlA8h{qwU`N*j9B{KWkaXV`W`R=zIV zk>-!>L7{_3?U`>5{Up>m_C!uJRGAtQGR|FL2->O4%sZD7iPDGNzhG@= zVGh{fH9G|zGcGl*IGHrtwD>9Wjo6e41241ZrKfZyjx7OrHD{XPu8de-Eeh8EcO=)nCv7T)4pIEr=5Qc^3anVyj%KUf z?Z-3>IaBpSmL{tJ_8vVtxp z$0w8Gco;Kt-lM+M&sr7M)%|t#eCkm{PQAq((M!)en7pPTmZtv5)bX-#J?PZE1T=T_ z{WMO0q5gB=dQJu@S~#F=%%PG~%H_%D_#1Y@rIyI2@TP-`<}B(*Qy+i*^ckcEP_0=Z zJ~OSDje!j$kMb{I|0>7WkGw^;N!?j_f!nF1Oi^U0sO+Z|0kEtdX6I>-^l&1uuDut-4d5#WC&Fkmbvar;&J>dcO#Wm z8!n13^S7uvC|uPK!&&SFnqak~G)zxXc5yi#Zr*p9d$^~sb$^DsVg^Wvk`0G1Tk1x@ z9h=JW?;)HptZruOaM3lA0M1w-r~bTy{jlhL$HtDSo&pn9FS4d{(*>1X6;F?0p^2m` z3}YDw-dm@~CkNdvr%O{c5e9loc6^v0`Z=wh6 zOVjNMdGX>>{#M*&iO76z=P%j?*Nda1SsjqVmr_-$z4U|1J7!q_;B`&v9U2q9Fqnxb@`z;t0q=VcW$|C zDty>=qyVgQT}{3Y;M$u0S27x^m;JO5T?{z&YlL*DhQ4Bw-Vf+?)6|ew2NHyTn3b0! z1UF_MusA&Kc1{7O7T=Clb%52GHh!aRXHCk@`yts?HQCUpp`*2O=~!%HDc!&imAy;kJPVoMo~~BN`RbdsP)|(nv^G!e z_E# ztIuvHK1C1Lhg$lTx;R=qe{J_cE#Fz9TIBgoQH}xl%NxQ0r9H|d_DzEX!MtNS)L23u zMn7$AS*VWf%LF^^v>_n}t6V3otuwF9iYayp6OcvXtjo(Ve1D@u{6WkaUwWCh>a%f# zX+1kHXT|s_Y=jnQ*$Zw)9!}=Uk7=Sk@l8vVHf?f5d|g&EQ$GnhbqugJ=g=7zw9C;l z;z%vf$`tN+VNRJ(E326bThG7sg;W%bg>npZs=sSd%{r`rHML{n>eqva!EOu>q)=e! z{dgKlm0PB%0!(G-b2kT=%OF0cnM`eJ;73NS0||J>lHJB|o?p$r`K~5WZ7*+bHSY)8 z)O4=-rK|G*jB@8e>h3n=H0 zmO1`zyq5UW0}e4ERX*Z_;Ubf{DuiQ_jB%G5Qx?P4FAtIh+$n0{^J<6aLPhjT>yYiw zyTd1I6HD9f_xCbSvfyrAsRgK0Am%c(^q7W!`au0q_e*W{_juJjAk0aq-LwIXeb7?uz8wjD^O(Wkn#B4RfQJowhUv&z8g- zCYWTDOuR6>YhpBQu=8d>zXXmcKKdDC=eJ%!vb$4;bJ#nAP0hoaHkc_$1NGI=$cQ;$ zX8kLVxzNPvaFLv z9_b*pSUf{jE!rb@Fy+OMXMd@Mx0B%ci3~r8>v~Eaa2sob>`z6k@g;i%e^Os zKI!b2D4-vq!IFSk@jMi&ncPU7Itmp7ggIx@4IIS@0?B1+$v+d=4|yqn!$3;5``>{m zYwuO`@{slq{dJX@RMqYYpO3X3jNB-jKX7MZ);gS@y=we|bFZGghcVVA7^}`;PI_zux z_dxq}J6!2)S81SdfEam|QhT(pQAACLxIM0{k^q}RSg zstG!*0ZP0O%H(yLvT_v6G}Tq=_R%(mhNs}QG}rSf&PBL|%$uL$IkaFOIDD5~D3p8B z^m)8gVuY5>Ti4$3HerncsC?}X+2Q*zxzu-M39_Mc?EcUc9n}Pe<4s|NmrUA5h`Y1V z5Fa-FPKOTJ>DTq+3j^T0Q8NRQZKMi&tJs55?APDPc&psy+-HuRrBWSp4wd`Mthtk_ zxy$l3={KuK?)s%xL$I*D9MetOfpj^wHgnnQV0ILAQwYRisM3x6Z7it*t(f7*Pakv* zmS_6cknSeD-Ohr1l;Ec(0T*!q#D-%c?B=!Cj2z%+=aS%qW?(XkO*sTl3v%3)^ezDE z51hgT;BvK#E$7q&hqs<@YqK1OLgHR3NY`?QZIx=Y?HS9+9rhwL1MlG!AX?Dt4eoaW ze)%r|?h`ERH;5q7iwQZ@K~;ws?pQA=wyt-cPZegd8)D$)C^A`eO41rxT`tl6lH!Qc zvD(ptKYQc{#2wo3kQE@IqL6Pl9qU`IG**wwssM^CYJWJ8%=`v5!)LFzA=M>Qe*&3h z!a;|qM(N9|69GG2n-PRUT+};WP5S%065vh_0b|SMDx(wyxoyJKL%f@%Rw8G_aw~RU ztgP<5f`C!MvQXuu3vx~1)Q_Yj!+bQe>cJPm77&WdBK8KIZ06m1t3(AP$2Uu}`wIt` z1ef!(+w};GY_;_&%|Cp8{gZHfl5;NrY3-x%{_Q8Q*o$JeJI~pCWDOVGUBZ_G25v`@ z_+0%}>LW%Y99U`c*VyTOAt_Lk@x|-#?kC&d3-W7%?5aE;yyAa_tr$ai)+0di8KwFz z`DkV7*iu%woWw{zgF8p#@Ivh257SeA27cbm$~!cbO;@Y~nNMMEUQcl&3Avl=VWg82 z635NF>m`f_T}(Rkq(>1&01=u(xPx)Lj%I&c@yejfk{gJpLlv7pKYw<76yg}YIgYEz z8(;k^mTN|_epfa#lZLi_%kYX}v-GT$|8gfdu0gLr*wa^w&A?Qt)k*~p+oq1aOZG_i zxDfmV6z7G${i-}AodMNrjoOeV@yqb5qLkB}3bpqQXTCxvq47q{&hbqU8rY+wjVzu# z4_rIQR4vP--{g$k&D37&`R(Lb=P6v4h%L9uTjXQ*{95}dt`n!Dg46B09?wqytPbGq zYo=KuUZ3`>a0N_<+&q~xJF!Nd@m{iX#1=X!zx_M@74RVsL_|cYRt#vQ_4aV13yrqV zn<-}F&JB6lK_oJ=&1r9E+y=BtiW)fj!2Gg!hz+0>6$gHntx6hn+5@Ll zx{r`A_hnTCR zgx%;QXnz)S3NXXTiRXihpe3@sDep^lUZu@H5p%uLqca%|W288qZbPnvUPbQo@Zc{ z9hIR2c4*q$>KbtW-P`4Gb>t6v2>^7(w;Dd~-dVU?PTK~ND`*N$JyHwrqH^ zzmiaDH`K%=fP}8$A1;-l;*$16w2K%BZ8_ZKhPpbw54A-KoTYyAJsZO_ohV&3@3rRb z`zy!ldf*uVG~os>Wy|QkAF_X(KsTkbDMq_qU2YThG~nez*P#*yP8WD8J@m~{O$aAx#XaZ%A7V^{QoK(abfB5H($liE^Pkm0>)<<1zr?BftB`HC_R zA)0}uYzzy0cbBTN7~EqPwfjnVkQdoxbNsihfw~`1)mpl&rKuq^nhEa9eNiA0jV;?R zBz<{SQf_3enOeQab1#q^LZ8#4WQo)uFZR!o!-I?fCtZ0rYd1pO@!-IddKU#f`WD&hG0`z1l$6q0R*o_E0Hch}1cy~UHQsQBbNw-Qa#C^$M@1iX?5--V9(e|O z_-{RPCgrU^caE3*Tb?-91$CFOah!Obc(=TJ*>mFU8Ccc$1Qb@fZkW^l$)Sx^7R^VB z_@$!EG@_p0Gl58J_ANP8^D3GjhtmjfUO66qxV&jNZe$WBg7KazO6d*Ee^HqO`c0fL zBkhTtdWF3u%OA;eOdUk8oUUUGPiNi3f63_=Ob^@(&KQoXZ0aekc8IR;yCmm4PFLdD z2PDiQF%26Xs?vZ27R%f^5I!BvJ+Bpoc2OCSQm;3cGgAmB)BWXse)SkQ{PE~e zRimj89r&SfGXJhhqrKNEwx_7 z?VXX~;nM7h$6jAdFji5ONMcZbg-7GoIuE75CQJ>PzE;n=F&R4?sF#wdQz)SFH}njk z3t&j9k31~yBt)#Tqc!`WjORHC1CehIRnuzpbJ@xue4D8Abw-RhkUrjPAMX6?knLpp z9<)*z-92O$u;FK<2U0ae|>?X{QX-+G7SK?iQC`mQ~TTSY~ zvYz%8vvG00pkx4af4P0uAJYfTCZxP>wHecHTX+0szIMDC)a=mULtS=lgX?si3vSyL z6BInP%1h;LvgNe!^QSWC-l9Y|@gqX&m;n+{5CngpVM_rBg*{zS1pJI(os zdHy=vINopI#msas(Fn@6X(-p;8!{`|adzI8a3xhr5%Z=t|ckg{F->Ez7%gTPPUz6$?E*y2O@Jkb4YW_NJC*=F5sb!ry@VfT=% z#TUB;9=rE|kpwK`d%?UwO>QJ3b zGX^DT79{pCde$FkzOZCFbeQtS_k=%FP(ve6t#K;T?)_eSCir^!$88S(04?!KOsPFq zpDqXjuU%Z{Sh)|rKD)E8iJfP?vFpDB5<0!nm~>>wKir*Dv`e=$HBc08Oh0oqUDgv; zTOv#XceO5TXF9)6wm7(dczD>n-|ftL?hnOT*L$r>q!chmw!Qyk42N#uHZ^JxP_aKm ztZh9xe@Q#ExG6a`IBokJ05H^E?a;KoVU3zEO2VY5`$-D}F7X+@I>Wo^1LMdFNsFJ;UvDS31ykFD0?xXU9G@%;T&=OryS&rP79|%4P}5Sh!7> z3N~jBxtSa^e^Tb7rGA=Em_k+MC8mtqVTStkdhcohGv%bb4e)FU;`%tMU5F5<)@m>FmAz1Iq^Ld7?8qR zU(>q;qT|OhbKW@3*4`ELL@EhH4J3c8!8V3w{%{`yAZ$MPbkVjJGO`k?E#Z=mUaJMQ9BQFwV zV)XEk)MNn35KD)~zTXuQkZ{y(t){J3!Wb-FW@!MSV?TjtaCJ%*>SwwUWFiq9aIm!t z95DgZ%#_aPgDj52`acOW94j)mRMw$!I5lav|F*kxc$}oky48x zYm1uk0^|vFbqL}cFt{c(nA+sU+LyPn0T8iNeNPoIYTptz;#KJ8Vq3!)gUIfgx?#or z%{g=80GW*0bis2Uoc0kiCDuXrbz=$Y~1K`nG zC~cj_1PQlN;`b^d2eQIUBrMlvIUa^7BUx*QL^N`|b{{0%jFZ%x0i{r*)xsp0qr*Lo z_l?qL*1dCiUP9-~^@UL67%AyL4tJ#gsN#EU-#1al?BGk@W!5$e579oynx=q;WWZvj zf&1zkbB0~EKey)!NfCSIuvW4o5xtdbMO|mCtZj~U>C@nwPNrNi>1^t#rpv2ia$ZGW z3f?Jp&44kz2HU1{gp?H4<|$kEQD~5%oaCQk0kJ=-lJU1(&H-g6Oy>sX+f(VeM1uYr zKp3Ssrcq-frR3H{e3ng1A@TR+3(#A?%JIeFgz0TF~nBc$mDmdDz{k; z0@k+1U$LHL!M^-8~uLDB#TGdS^)P3-=3v zt=p+UzWlhbD5SLgRgCGPhS@UC>oIE-aRP0L!8@64(@sfx_LJhA%g}dqH;!8#N=H#r z;Pkqh{Yz$%>q}GW`(E;MX4mH(t-2ZN+a9`kKpoy)69H~tq&wN_8mhkl$}(gNhusW@ zD09XSmXw9>Yajqg1ttUL+ z>NK+du^5%pYaR4UUBDFxM(RrD%cfjtqB@I}pW=O{xoO%e)@I|*GXU(uDt$N(XC8mn zL>Q)|6p~_vyW9C;F-p3%wzO2!OI&ZMJA`m~*(GphmKtwcwA8!2k?!{@4v2cF*hHvE zP1wNCMtrB)-kjjk`eu>*-86uCkasY!heih#jj^ z*0+7eoOiwOI;xNkGw}me&rDBG&%f!gU+HAAsJVdhhf5@m%*di;cB$TNBx3qRvRg-S|ajFKqkR!lr#heA81U&4#f)6mPVR z;z17K2idL^=d;e@M)~Yxss)i#n=tt>&fKF&g*2Hy=@C=7D4WEUpI#Enk2R)lt8xb8 zGQh45x67|=znipC`wTYM;MpE@2#nb%i->ZlK%>#PtGXQG-Aa}(U3K0%36qFA-PR^( z`0y-0{j;&GPqBpx_kLVFgNUbM7WWIt$wx}c3 zA4oHFbe>pE+Bm;J_ zXdBen;_=wChz${1_bCF|qw0HMnN7KoualjX2mi2=*_K!(m`c>u?aOh*ymp*CZ~IH-r#MGc-({+nVcM1y+Su`_S9MJUlq|P+W@MHhTLcro;1H&;z8~6C zleZPnkEX?Wi$!(cH>CtC&Ux)zb!JXmayixC-GBK5`67XW32yfltWB(rN+X|yZp~pk zpD9OKdHQ1`b|@!deRS_f@No*~q}vM_utCoAW#_dz{xr{Mq1Xub5XWi`0bp}`5fEm#GgRYg{`pwMkDAc|0vJ-$Jkdj7(nVi`$y)690*Mts)PG( z^N4FXTGrzepn5KdQuF{x+*galP{+f?`X}#9YNcFSCl7 zl4NRsF92rrX#CzTF?5yvs;3C$_9tIV7d4 z!~iZj{uB01wMDkFfY0^Qs)!;{mIuyTd_t&=q6uZZ!M5!QT=eE+(?fD64-OB zD{pL@OxS347l>4!a66S@lQTPP-AvnESa6g9@76Rf1quAJk*A;Y39vk%+x988L9u=n zMPo|U&E7Y$r>8S`UBIDAM0B|)=iBrr<}S@mG+A+gnX(QoDg2bmVFwfF57|^VJ|Z>X zqlNEwpVN8#eeFv=&TU_t34j8##PCeaz(+(%2sTrG234#={gJPlFq) z-^`gQ_UC^H*P9*<2mnCm;s+Fec7P<(&fV{zI8L*%_p`q8>?ap1nV@sXtQ zslu#Z*>>rp9Ju|_AO3oZSp-!BJ-1UuC7Atq#xd8z3CD3weNJ+-?Va%k-uyo)lM_jY zR}8tnFcwD>0<9}=sPOfYnAjT7YMBKN)x~c}3np!AfbHt|F|O4+8?!>1-Z5_C{`*gl zKzO^}t|rk8%an+-WWu0Qc54T|aulZnv)KCZ^38MS;q8RPk#m0(dN>z8a*0fjMJ`}_ zrx7XKeU!INVS4)7Sx;6R03#I^I>X3uf5;+lNYG`;JSXF^a=}T}3rOW#ZyhS&9}pYc zt}n5qg9rI4WW-c0Aq1w#xF8)Wjmsm0KNnf@V&9~ER@=V`JPAPF>7q(oTOd6DEw;z+ z)m?>4`@1DVYY8XoRENR@>t?Q55-{EI~hk=2( zSKN$b*EHNmnkg+@pSG~LH?kM5rPw* zv1Oz)FC~-mHOP!HoFSw{jyPB+7>0M**71pTCV$p31@dN;S6K6=$Z(^T41cRkSq8W# zNhAb7p*Jteg{)rOgxA6p@WM-w1G%csnhSsAzSbR%=5b&bp}|K$#C<+_Lxglg9u$b(e&D z#unR7y>pVi#mrS`<$)dl9Fh$qSL~_LX!|KM2zZ(zuBV&?CxWk6_k`XzeMFt-MYDd0 z-;MgZoOoc|OgjFjS5Rd#vAuHlxmxtckGxusc34n`0Ung_UTl(&u}hcCh)g77XR0Xce&efxgAo=EBDUB&)m8oy0N3hExfX zIpdr6_M4MYjY>4{4Ka(P7yZBckFRESI&B@fUNF&JwfUbuQV6IU?FYDuY=#waP?-AE-w&Z>8U*UJ?Sp{Kf0)N(879F*3-%84B z+j!WsHpl?9apkoLF>FLTyH-W{f-{LIm4>LjU;0R?y)ml4J*DGS3xxbT*HX7=po}(j zjx(%UU}ee4`wS(Q-k@R-tL`Agb@n25Wu+}t^nN5XbaQ4&nyM4DCKQ~zA<5o?bwy(|sS!pUN z(tRp6a4g@|Rd0l`Pzg{U7YEe|E?0vEx%n@XFo1#^qQw*FD1`-J55O7L+>x5YUF0r^ zwN!3EgXv!_8ohmHuiL^Kpa^WM0RSj|d@47#m9|v^RxOI)_q|52sZ0?F=mQTKCPCF~Kt5Un%qqYi%1$2O zP>Ja;LU1yG#eBXNb`PkI2#0}Yz3e@PKlaqsL`zORno4$zo$p#xdT>f!jWmdYawS)w zqUGBE6)E)r)k1fx2|BS2$iX%ph}QptPChb>81_WvRdgjsoXt192e_ow$^Jk9nCo8f z<72>_ksYsN`V36`rT>i0(3w4S_dv=U3N5hw@L(Kc2Zi+MuDof7XyZ(RJLq6s$^Tj%bJV#%o8Q+e$6{LA^U(OKZsM-U*pa`7Oi?!^6ct@;th;LQ&%%8z z#P)iMJ@lr0I^Sh@DAdi_O3D2RM!~9i9dd#>W7Sw4r$N4VSH_<+TQ5c?$s`nu1pxkTmoA`nL>AE zK#eo^#vb|?);ftVNBeTf`Q>ZW#aT!th6&lkPFSEfYGbZ8&)W;_Ji}x>Cp4k%)%bX$ z08&FcD+bN!mZPG+LSkav5j&)%boIwuu>Owzt4#H*R5VPJ9QZ+&P_=5)&&4Pg=&bS6A&B9ao*D#K-(Q|8Y$V z$_|eC&r7m*pS%A?9E~PO9#s8_u;ux;+4k15^LE`0&iYJA*Eai$t7*OZir%QhZ-heL zLN5&w%X~Z1rwyIe8r(`iCD+!c``_g&;~RO=&(ma;8t&+p&%ZHw#NIo2gg_b|d_>xP zk?d8bvDXrp%Z>HaPdFJl`M`EBlD#WU)GCe0!O!6m{jVoK7wrf{Dzm{g% z*#(_1FudpImjjCeO;t3m{KzQ1P*J4M7GB9zFybsRY>N{4wpUig2ZnSm3;f%DBx|Uc zSd~q6kd&CB01(?t7{PF+)0b-9eY{tQt0^y?8f{>;NdvR2nIB9-pE)>?9Y29( zog$4MtmbDW*{!!DWP0w;rj58&%sZ#+61PyjxzdKowi}h0CiSRAnJLPb08nD!y4PL= zSa-m9z2I^TUv+rD1%a1TiG7llL70+c{0T4r8cPVfk9Wv2w9V+p!zPlzL;+u`r$St; zYN6O7?`pJ-pUR4VU7(g$aJ9GzxUaCQBxVDvTa;>JhITrK`S=_xhk1Wliq)eL2W85($S#IRbebq#WEg z(7O#cBN!X16A2aPOB_chca@9{MRdz0HV%;J4)NRZ)*3iDkVy?Lp@2)d%t3HwTEV74Vz;&R1`y*?;BLNSvMI2odxtUV z<0O92=YBFvQG9o+t%|yHwoHS+xkM`K&wJ9G9D}Xj-D&>)Z0xR@?Z#T|XG2)tUum}Q zvXGPWn88)43DHKMd*#$Yx91@iX;hRs03avx=2}KUzL%U_23t{Hg1ts^DF+>dhXyEU zG)~lh4|Enq)`y<&VWl?5RbOnz-Sp zP{2c~_GEcH95pP3{Nxv@M;QZ5kH!vYK^vkobiqB@2b=iQ4E0`P;otFpsG9a^ia548 z_r0>CbDSXV>hOdHg}hz6a8O;TG;cyr+XWEJ%++f7yOMoOgyF($B1SKu%!WQjep!1T zDP6uzWp!_M!B*@r3K!fsQ@-A=OOrBN;tFkVORB@*e9?Tv;J>MAZO#!t@*O+6XmK(b zl(#OnjIPm-rdT$TteA-PP=0b8uVYBwHC4DGi|F9=&`CzC@ zg42ELU)8%sX@iRT;Xgmln*a0T%zyjk#g>2mcI7q2Z2+?Vqe4%p&Qt#P`X40$6#1VQ z|LZUR*C+mKYZqH&DAV=7#rdz#{@0KE*I)i$zWkpT{|}w}e{JnQ32aqIbgsr;MR&d`!Zi$We-pzfjVAR;pnB_WuEMZTeUM literal 0 HcmV?d00001 diff --git a/src/assets/img/workhardhackharder-purple.png b/src/assets/img/workhardhackharder-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..99e20b6c167fac59c2f126c7a053c30e10acc0a7 GIT binary patch literal 114428 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 literal 0 HcmV?d00001 diff --git a/src/assets/img/workhardhackharder-red.png b/src/assets/img/workhardhackharder-red.png new file mode 100644 index 0000000000000000000000000000000000000000..da029aa1a8aed104dd001662861c57218492670b GIT binary patch literal 111050 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

A{fnnff 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 Ke9;qQ|NjD&1lvLY literal 0 HcmV?d00001 diff --git a/src/assets/img/workhardhackharder.png b/src/assets/img/workhardhackharder.png new file mode 100644 index 0000000000000000000000000000000000000000..95be8072e8ceac479b4603348b5128e18333892c GIT binary patch literal 113768 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

y(Q#x?&%VPY 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

s?>z0~oPS*+}jne#;-`@QX3GY(GZ)MnT~ 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 f{O_-u%%1vQ1&dp + + + + + diff --git a/src/components/asciiplayer.vue b/src/components/asciiplayer.vue new file mode 100644 index 0000000..fcfd5a1 --- /dev/null +++ b/src/components/asciiplayer.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/components/managello.vue b/src/components/managello.vue new file mode 100644 index 0000000..9190fa6 --- /dev/null +++ b/src/components/managello.vue @@ -0,0 +1,55 @@ + + + + diff --git a/src/components/manageservices/1 b/src/components/manageservices/1 new file mode 100644 index 0000000..3ca13b2 --- /dev/null +++ b/src/components/manageservices/1 @@ -0,0 +1,252 @@ + + + diff --git a/src/components/manageservices/join-service.vue b/src/components/manageservices/join-service.vue index 222c31a..df3f207 100644 --- a/src/components/manageservices/join-service.vue +++ b/src/components/manageservices/join-service.vue @@ -265,6 +265,11 @@ + + + + + + diff --git a/src/components/manageservices/llo-search-backup1.vue b/src/components/manageservices/llo-search-backup1.vue new file mode 100644 index 0000000..f513a8c --- /dev/null +++ b/src/components/manageservices/llo-search-backup1.vue @@ -0,0 +1,1444 @@ + + + diff --git a/src/components/manageservices/llo-search.vue b/src/components/manageservices/llo-search.vue new file mode 100644 index 0000000..7ed6a6e --- /dev/null +++ b/src/components/manageservices/llo-search.vue @@ -0,0 +1,1438 @@ + + + diff --git a/src/components/manageservices/llo-view.vue b/src/components/manageservices/llo-view.vue new file mode 100644 index 0000000..16a30fd --- /dev/null +++ b/src/components/manageservices/llo-view.vue @@ -0,0 +1,336 @@ + + + diff --git a/src/components/mynetwork/availableservices.vue b/src/components/mynetwork/availableservices.vue index 819fe90..7e41d3e 100644 --- a/src/components/mynetwork/availableservices.vue +++ b/src/components/mynetwork/availableservices.vue @@ -197,6 +197,7 @@ import VuetablePagination from 'vuetable-2/src/components/VuetablePagination' import CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js' import card from '@/components/Card.vue' import {ApiConfig} from "@/config/index"; + export default { components: { card, diff --git a/src/components/mynetwork/myconnect-server.vue b/src/components/mynetwork/myconnect-server.vue index c4f39bf..a6e1556 100644 --- a/src/components/mynetwork/myconnect-server.vue +++ b/src/components/mynetwork/myconnect-server.vue @@ -140,7 +140,6 @@ import store from '@/store/index' import {mapState, mapGetters, mapActions,dispatch} from 'vuex' import Vue from 'vue' -import {Vuetable, VuetablePaginationDropdown} from 'vuetable-2' import card from '@/components/Card.vue' import {ApiConfig} from "@/config/index"; export default { diff --git a/src/demo.cast b/src/demo.cast new file mode 100644 index 0000000..732ec14 --- /dev/null +++ b/src/demo.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 143, "height": 44, "timestamp": 1612541189, "idle_time_limit": 2.5, "env": {"SHELL": "/bin/bash", "TERM": "xterm"}} +[0.038915, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[5.582632, "o", "docker exec -it -udocker hybrid-linux_master_1 /bin/bash"] +[7.056028, "o", "\r\n"] +[7.195975, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[7.196479, "o", "docker@76a11f452a37:/project$ "] +[10.453584, "o", "i"] +[10.776779, "o", "f"] +[11.014731, "o", "c"] +[11.726258, "o", "o"] +[11.8379, "o", "nfig "] +[12.457711, "o", "\r\n"] +[12.459382, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.2 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:02 txqueuelen 0 (Ethernet)\r\n RX packets 1511 bytes 87967 (87.9 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 104533 bytes 4405311 (4.4 MB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 1951 bytes 182571 (182.5 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 1951 bytes 182571 (182.5 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[12.460276, "o", "docker@76a11f452a37:/project$ "] +[15.46855, "o", "n"] +[15.665159, "o", "m"] +[15.836823, "o", "a"] +[16.074323, "o", "p"] +[16.275806, "o", " "] +[16.567909, "o", "-"] +[17.127539, "o", "s"] +[17.717655, "o", "P"] +[18.026098, "o", " "] +[19.612596, "o", "1"] +[20.081581, "o", "7"] +[20.333127, "o", "2"] +[21.925102, "o", "."] +[22.051564, "o", "2"] +[23.163517, "o", "7"] +[23.814861, "o", "."] +[24.253768, "o", "0"] +[25.073106, "o", "."] +[25.304095, "o", "2"] +[25.744479, "o", "/"] +[26.273982, "o", "2"] +[26.602261, "o", "4"] +[26.868424, "o", "\r\n"] +[26.874464, "o", "\r\nStarting Nmap 7.60 ( https://nmap.org ) at 2021-02-05 16:06 UTC\r\n"] +[29.792163, "o", "Nmap scan report for 172.27.0.1\r\nHost is up (0.00047s latency).\r\nNmap scan report for 76a11f452a37 (172.27.0.2)\r\n"] +[29.792306, "o", "Host is up (0.00028s latency).\r\nNmap scan report for hybrid-linux_worker_1.hybrid-linux_hybrid-linux (172.27.0.3)\r\nHost is up (0.00023s latency).\r\nNmap scan report for hybrid-linux_worker_2.hybrid-linux_hybrid-linux (172.27.0.4)\r\nHost is up (0.00018s latency).\r\n"] +[29.792532, "o", "Nmap done: 256 IP addresses (4 hosts up) scanned in 2.92 seconds\r\n"] +[29.793575, "o", "docker@76a11f452a37:/project$ "] +[31.346812, "o", "s"] +[31.547982, "o", "s"] +[31.685745, "o", "h"] +[31.947886, "o", " "] +[32.226221, "o", "d"] +[32.467607, "o", "o"] +[32.667054, "o", "c"] +[32.838412, "o", "k"] +[32.979163, "o", "e"] +[33.236816, "o", "r"] +[33.317479, "o", " "] +[33.837631, "o", "@"] +[34.948683, "o", "\b \b"] +[35.146621, "o", "\b \b"] +[37.593721, "o", "@"] +[39.452856, "o", "1"] +[39.670476, "o", "7"] +[39.902152, "o", "2"] +[41.457314, "o", "."] +[41.627979, "o", "2"] +[42.445799, "o", "7"] +[43.047344, "o", "."] +[43.375327, "o", "0"] +[43.945384, "o", "."] +[44.076185, "o", "3"] +[44.334094, "o", "\r\n"] +[44.475023, "o", "Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com\r\n * Management: https://landscape.canonical.com\r\n * Support: https://ubuntu.com/advantage\r\nThis system has been minimized by removing packages and content that are\r\nnot required on a system that users do not log into.\r\n\r\nTo restore this content, you can run the 'unminimize' command.\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\nLast login: Fri Feb 5 15:58:17 2021 from 172.27.0.2\r\r\n"] +[44.479108, "o", "$ "] +[46.184679, "o", "b"] +[46.281021, "o", "a"] +[46.492581, "o", "s"] +[46.586355, "o", "h"] +[46.925913, "o", "\r\n"] +[46.932565, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[46.933432, "o", "docker@d0524f1565d4:~$ "] +[47.834941, "o", "i"] +[48.035487, "o", "f"] +[48.263395, "o", "c"] +[49.035877, "o", "o"] +[49.137918, "o", "nfig "] +[49.845107, "o", "\r\n"] +[49.847923, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.3 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:03 txqueuelen 0 (Ethernet)\r\n RX packets 108165 bytes 4561685 (4.5 MB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 303 bytes 25824 (25.8 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 0 bytes 0 (0.0 B)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 0 bytes 0 (0.0 B)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[49.848378, "o", "docker@d0524f1565d4:~$ "] +[52.117657, "o", "e"] +[52.455103, "o", "x"] +[52.905012, "o", "i"] +[53.066025, "o", "t"] +[53.324857, "o", "\r\nexit\r\n"] +[53.325427, "o", "$ "] +[54.098112, "o", "e"] +[54.345206, "o", "x"] +[54.647069, "o", "i"] +[54.784636, "o", "t"] +[55.068005, "o", "\r\n"] +[55.069202, "o", "Connection to 172.27.0.3 closed.\r\r\n"] +[55.069533, "o", "docker@76a11f452a37:/project$ "] +[58.464996, "o", "exit\r\n"] +[58.519256, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[63.505678, "o", "exit\r\n"] diff --git a/src/main.js b/src/main.js index bcdb0fd..962b15a 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,7 @@ import BootstrapVue from 'bootstrap-vue' import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap-vue/dist/bootstrap-vue.css' import VueSweetalert2 from 'vue-sweetalert2'; +import 'sweetalert2/dist/sweetalert2.min.css'; Vue.use(VueSweetalert2); import VueWait from 'vue-wait' import { ValidationProvider } from 'vee-validate'; diff --git a/src/store/modules/create_pipelineLLO.js b/src/store/modules/create_pipelineLLO.js index 5d18e8e..ef40b4b 100644 --- a/src/store/modules/create_pipelineLLO.js +++ b/src/store/modules/create_pipelineLLO.js @@ -110,6 +110,85 @@ export default { return R; } } + }, + async oncompletiontracking({commit,rootGetters}, value) { + try { + var token = value.token + var params = { + action: value.action, + track: value.track, + course: value.course, + chapter: value.chapter, + evaluation: value.evaluation + } + + var options = { + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var p = await axios.post('https://api.swarmlab.io/completiontracking',params,options); + if(p.error == "invalid_token"){ + console.log(p) + console.log(JSON.stringify(p)) + }else{ + } + //console.log(value.token) + //console.log(value.swarmlabname) + console.log(JSON.stringify(p)) + + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + }, + async getcompletion({commit,rootGetters}, value) { + try { + var token = rootGetters['pipelineLLO/gettoken'] + var params = { + course: value.course, + chapter: value.chapter + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + + const info = await axios.get('https://api.swarmlab.io/getcompletion',options); + return info + + } catch (e) { + console.error(e); + if(e.error == "invalid_token"){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + } + } + }, + async getprogress({commit,rootGetters}, value) { + try { + var token = rootGetters['pipelineLLO/gettoken'] + var params = { + course: value.course + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + + const info = await axios.get('https://api.swarmlab.io/getprogress',options); + return info + + } catch (e) { + console.error(e); + if(e.error == "invalid_token"){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + } + } }, async swarmlabhybridadd({commit,rootGetters}, value) { try { @@ -363,9 +442,100 @@ export default { } } + }, + async save_llo_asciidoctmp({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + code: value + } + var options = { + //params: params, + headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/save_course_ascii' + var p = await axios.post(sock_server_l,params,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + //window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + + }, + async get_llo_course_ascii({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + dir: value.dir, + file: value.file + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/get_course_ascii' + var p = await axios.get(sock_server_l,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + //window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + + }, + async get_llo_course({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + course: value + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/get_course' + var p = await axios.get(sock_server_l,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + }, async get_config({commit,rootGetters}, value) { - console.log('value '+JSON.stringify(value)) + //console.log('value '+JSON.stringify(value)) try { var token = value.token diff --git a/viwsession/session1 b/viwsession/session1 index 4b88b27..3e5b6be 100644 --- a/viwsession/session1 +++ b/viwsession/session1 @@ -22,8 +22,11 @@ badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/myconnect-s badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices.vue badd +449 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/deploy-bootstrap.vue badd +30 /data/appl/ok/swarmlab-hybrid-agent/src/components/managedeploy.vue -badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue -badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +badd +274 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue +badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-view.vue +badd +9 /data/appl/ok/swarmlab-hybrid-agent/src/components/asciiplayer.vue +badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue argglobal silent! argdel * $argadd mynetwork.vue @@ -46,14 +49,14 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe '1resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 101 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) -exe '4resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 4resize ' . ((&columns * 102 + 102) / 204) +exe '1resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 100 + 101) / 203) +exe '3resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) +exe '4resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 4resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -64,7 +67,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 393 - ((11 * winheight(0) + 11) / 22) +let s:l = 393 - ((11 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -83,12 +86,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 51 - ((4 * winheight(0) + 11) / 22) +let s:l = 121 - ((0 * winheight(0) + 11) / 22) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -51 -normal! 0 +121 +normal! 011| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w argglobal @@ -102,7 +105,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 21 - ((0 * winheight(0) + 11) / 22) +let s:l = 21 - ((0 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -129,14 +132,14 @@ normal! zt normal! 010| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w -exe '1resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 101 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) -exe '4resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 4resize ' . ((&columns * 102 + 102) / 204) +exe '1resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 100 + 101) / 203) +exe '3resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) +exe '4resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 4resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src-local/llo/new.js set splitbelow splitright wincmd _ | wincmd | @@ -151,11 +154,11 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) +exe '3resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -166,11 +169,11 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 805 - ((22 * winheight(0) + 22) / 45) +let s:l = 445 - ((16 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -805 +445 normal! 0 lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w @@ -185,12 +188,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 148 - ((21 * winheight(0) + 11) / 22) +let s:l = 47 - ((20 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -148 -normal! 09| +47 +normal! 019| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w argglobal @@ -204,19 +207,19 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 312 - ((0 * winheight(0) + 11) / 22) +let s:l = 316 - ((17 * winheight(0) + 11) / 22) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -312 -normal! 013| +316 +normal! 04| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) +exe '3resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/store/modules/create_pipelineLLO.js set splitbelow splitright wincmd _ | wincmd | @@ -227,8 +230,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -239,12 +242,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 344 - ((18 * winheight(0) + 22) / 45) +let s:l = 160 - ((29 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -344 -normal! 015| +160 +normal! 08| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal @@ -258,16 +261,16 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 133 - ((13 * winheight(0) + 22) / 45) +let s:l = 453 - ((43 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -133 -normal! 0308| +453 +normal! 048| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/myconnect-server.vue set splitbelow splitright wincmd _ | wincmd | @@ -278,8 +281,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -290,7 +293,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 32 - ((30 * winheight(0) + 22) / 45) +let s:l = 32 - ((29 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -309,7 +312,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 161 - ((44 * winheight(0) + 22) / 45) +let s:l = 161 - ((43 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -317,8 +320,8 @@ normal! zt normal! 019| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices.vue set splitbelow splitright wincmd _ | wincmd | @@ -329,8 +332,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal enew file /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/manage-service.vue @@ -354,7 +357,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 28 - ((27 * winheight(0) + 22) / 45) +let s:l = 28 - ((26 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -362,8 +365,8 @@ normal! zt normal! 02| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/deploy-bootstrap.vue set splitbelow splitright wincmd _ | wincmd | @@ -378,11 +381,11 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 75 + 102) / 204) -exe '2resize ' . ((&lines * 17 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 128 + 102) / 204) -exe '3resize ' . ((&lines * 27 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 128 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 74 + 101) / 203) +exe '2resize ' . ((&lines * 17 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 128 + 101) / 203) +exe '3resize ' . ((&lines * 26 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 128 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -393,12 +396,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 262 - ((14 * winheight(0) + 22) / 45) +let s:l = 405 - ((28 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -262 -normal! 010| +405 +normal! 0 lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal @@ -421,7 +424,30 @@ normal! 023| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal -if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue | endif +enew +file /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +exe 'vert 1resize ' . ((&columns * 74 + 101) / 203) +exe '2resize ' . ((&lines * 17 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 128 + 101) / 203) +exe '3resize ' . ((&lines * 26 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 128 + 101) / 203) +tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +set splitbelow splitright +set nosplitbelow +set nosplitright +wincmd t +set winminheight=1 winheight=1 winminwidth=1 winwidth=1 +argglobal setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} @@ -431,25 +457,29 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 300 - ((9 * winheight(0) + 13) / 27) +let s:l = 497 - ((22 * winheight(0) + 22) / 45) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -300 -normal! 09| +497 +normal! 044| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork -wincmd w -exe 'vert 1resize ' . ((&columns * 75 + 102) / 204) -exe '2resize ' . ((&lines * 17 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 128 + 102) / 204) -exe '3resize ' . ((&lines * 27 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 128 + 102) / 204) -tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-view.vue set splitbelow splitright +wincmd _ | wincmd | +vsplit +wincmd _ | wincmd | +vsplit +2wincmd h +wincmd w +wincmd w set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 +exe 'vert 1resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 3resize ' . ((&columns * 67 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -460,14 +490,57 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 22 - ((21 * winheight(0) + 23) / 46) +let s:l = 191 - ((30 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -22 -normal! 037| +191 +normal! 013| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork -tabnext 7 +wincmd w +argglobal +if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue | endif +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +silent! normal! zE +let s:l = 79 - ((23 * winheight(0) + 22) / 44) +if s:l < 1 | let s:l = 1 | endif +exe s:l +normal! zt +79 +normal! 0 +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +argglobal +if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue | endif +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +silent! normal! zE +let s:l = 28 - ((0 * winheight(0) + 22) / 44) +if s:l < 1 | let s:l = 1 | endif +exe s:l +normal! zt +28 +normal! 052| +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +2wincmd w +exe 'vert 1resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 3resize ' . ((&columns * 67 + 101) / 203) +tabnext 8 set stal=1 if exists('s:wipebuf') silent exe 'bwipe ' . s:wipebuf