diff --git a/.gitignore b/.gitignore index b512c09..96cbc11 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +test/ \ No newline at end of file diff --git a/README.md b/README.md index d298d19..f75f738 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,46 @@ # resume-generator -> 简历生成器,可以通过填写`json`,运行项目生成简历。 +> 简历生成器,可以通过填写`json`,运行项目生成简历。[示例](https://dk-plus.github.io/resume-generator/dist/) ## 使用方法 1. 克隆项目,运行`npm install` 2. 修改`src/modules/data.json` 3. 运行`npm run dev`,用chrome打开`dist`目录的`index.html`预览效果 -4. 在菜单中选择`打印`,可另存为`pdf` \ No newline at end of file +4. 在菜单中选择`打印`,可另存为`pdf` + +## 项目结构 +```txt +│ .gitignore +│ package-lock.json +│ package.json +│ README.md +│ webpack.config.js +│ +├─dist +│ app.css +│ app.js +│ dk.pdf +│ index.html //最终生成文件 +│ +├─src +│ │ index.html +│ │ index.js +│ │ +│ ├─config +│ │ img.jpg //存放简历照片 +│ │ +│ ├─controllers +│ │ parse.js //扩展功能,用phantomjs转html为pdf,目前不支持css3布局 +│ │ +│ ├─modules +│ │ data.json //简历数据 +│ │ render.js +│ │ +│ └─view +│ index.less +│ index.tpl +│ reset.less +│ reset_css.js +│ util.less +│ +└─test +``` \ No newline at end of file diff --git a/dist/app.css b/dist/app.css index ee6ec26..ad763e6 100644 --- a/dist/app.css +++ b/dist/app.css @@ -71,7 +71,7 @@ body { color: #666; } #main > div { - padding: 30px 0; + padding: 0; } #main .info { width: 33.3%; @@ -97,10 +97,9 @@ body { border: 3px solid #fff; box-shadow: 0 0 5px #000; overflow: hidden; -} -#main .info .header .avater img { - width: 100%; - height: 100%; + background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAIgAiADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2LtWP4k0mXVbFFgYebE+4KTw3FO8RarNpNlHNAkbM0gTEgJGME+o9K53/AITbUf8Anha/98N/8VQBoeGPD13YXjXV2FTClFQEEnnrx9K6muc8OeIbrV7yWGeOFVSPeDGCDnIHcn1ro6AEoz1orG1rxJBpJ8pFEtx12ZwFHqaANnNHrXDDXvEF4DJbxyeX0/c2+5fzINSWvjC/tphHfQLIB975drigDtc0tQWd3De2yTwOGjccYqLVbt7HTLi5jCl4xkBuR1/CgC3RXN6Z4r82xurm/ESeUyqixA5c88DJPpWdJ4j1u+LPZQOkQPWKLf8AmSCKAO1pa4vTfGFzHcCLUFV0ztZ8bWU+pFdmCGAIOQeQfWgA9az9b059U0yW3RgJCQy56Eil1q+l07S5bqFUaRCMB+QcnnoRXLf8JtqPT7Pa/wDfDf8AxVAFjQPDN9bamlzdKsaxEkfMCWPTt2rsa5XQ/FF5qeqRWssUAjcE5RWzwCfU+ldVQAUUlNlkSKJ5JGCooyWPQD1oAfSZrkdQ8ZyNKY9PgXbnAeQZLfQVUXV/EwxJ5c7J1/49uMfXFAHc5pawPDuuXWpyzwXUSI8ShsqCM8+lb9ABRRRQAUUUUAFFFFABRRRQAUUUUAFall/x6p+P86y61LL/AI9U/H+dAE9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGH64qnrH/ACBr/wD64P8AyNXao6x/yBr7/rg/8jQBy3gj/kJ3H/XH/wBmFdvXEeCP+Qncf9cf/ZhXb0AQXlyLOznuCMiJC+PWuF0Cy/trWXe5JkVcyyZP3jnpXWeJM/2Be467R/6EKxPAuPMvuecJj6c0AdcihFCoAoAwAOKyfEWkx6hpsrhB58Kl0bHJx2/EVr02XHlSZ6bTmgDjvBN4yXM9o33ZF3gejDg/nXQeI/8AkA3v+6P5iuS8I5OvRY6bGJ+mK63xH/yAb3/dH8xQBx/h3Rxq94yyMRBD80n+16D2r0GKJIY1jjQIqjACjGK5LwL/AK2++ifzNdhQBxHjW2SO/hmQYMyfNgdSD1/Wun0OQy6LZsxyTEAT69v6Vzvjj/X2X+438xXQeHv+QFZf9cx/M0AaNIw+Rs8jFOprfcb6UAefeEv+Rggzzw3/AKCa9Drz3wn/AMjBb/Rv/QTXoVABXJ+NdQZEhsUbhh5kmO/PA/Sur7VwXjDJ1ts/881x+tAG74V0WK1skvJYw1xMNwLfwr2/HFdAKjtsfZYQOmxcflUtADQihy+0bsY3Y5p1FFABRRRQAUUUUAFFFFABRRRQAUUUUAFall/x6p+P86y61LL/AI9U/H+dAE9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSdqD0NZlAGpj3orMx70CgDToqG0/1AzU1AGHVLV/+QNf/wDXB/5Gs/xHoVxq727W7wr5YIbzCRn8gaxP+EI1DH+vtf8Avpv/AImgB3gj/kJ3H/XH/wBmFdvXDDwRqPee1/76b/4mrGn+EL601C3uHmtikcgchWbOAe3y0AdRf2v2ywuLfODJGVB9+1cN4b1AaRqzJcZSOQeXJkfdOeCa9BrB1vwtHqUjXFvIIbg/ez91/c+h96AN1WVlDKQQRkEHrWR4k1aPT9OljDAzzAoig889T+Vc8uheIbQGOB5RH/0yuMD8sirFl4PuribzdRuAoPLANuZvqe1ADvBVg3mz3zLhMeWh9TnJ/lW74j/5AF7/ALo/mKvW9vHbQJDCgSNBhVHaoNWs5L7TLi2iZQ8gwC3Tr/8AWoA5vwL/AK2/+if1rr6wvDehXOjvcmeSJhKFA8sk9M+oHrW7QBx/jj/XWX+43863/D3/ACArL/rmP5mqXiPQbnV5LdoJIlEakHzCR1PsDWnpdo9lptvbSlS8a7SV6fhQBbpHPyN9KyvEWkz6vZxRQPGrLJuJkJAxg+gNc7/whGo/897X/vpv/iaAK3hPjxBB9H/9BNeg5rh/+EI1D/nva/8AfTf/ABNOTwVqKurefa8EHhm/+JoA7Y9weK4/xtZsJ4L0LlCvlsfQ5JH867ADAwKiubWK8t3gmQPG4wRQBkeGNXivdPitmcC4hXYVJ5YDoR61uCuMvPBl1DKZLGdXUHIDHay/jUS6T4mOEMtwqnjm5GP50AdvvXfs3DdjOM806sHw7oVzpk0891OrvKoGFJOPqTW9QAUUUUAFFFFABRRRQAUUUUAFFFFABWpZf8eqfj/OsutSy/49U/H+dAE9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACHoazBWmehrMFAC0UUUAXbT/AFAqaobT/UCpqAMSiiigAooooAKKKKAEopaKACiiigAooooAKKKKACiiigAooooAKKKKAEopaKAExS0UUAFFFFABRRRQAUUUUAFFFJ+NAC0UlLQAVqWX/Hqn4/zrLrUsv+PVPx/nQBPRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAh6GswVpnoazBQAtFFFAF20/1AqaobT/UCpqAMSiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABV3MFHc4qxcXWmWNzbWVzPFFPdbvJWRsGQjGce/zCooP9fH/vD+deafHfj/AIR8+9x/7TqW7CPUZrIpzGdw9O//ANeqvcg9q8X8KfFfVtE2W2obtSshgYdv3iD/AGWPX6H8xXseheJtE8XWvnaddK0gGWiPyyR/7y/16UJpgS5rUsv+PVPx/nVGa1eHJ+8vr6Vesv8Aj1T8f5mqGWKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEPQ1mCtM9DWYKAFooooAu2n+oFTVDaf6gVNQBiUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA+D/AF0f+8P515p8ePu+H/rcf+069Lh/10f+8P515p8ePu+H/rcf+06mWzEeRVNa3dxY3KXFrPJBMhyskbEMv41D2orID1nwh8ZJN8Nl4jQOjEIt7GMFe2XXofqPyNewWtzb3dus1tMkkTcqyHINfIwrb8OeLtW8M3KyWN03lZBeBuUcehHrz1FXGQH1Jmlrz/wn8VdI8QFLW9IsL0jo/wDq345w3b8a74MCMg5q07gOopKWmMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBD0NZgrTPQ1mCgBaKKKALtp/qBU1Q2n+oFTUAYlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAOiOJUJ6Bgf1rzv47W2+w0S53f6uWWPbjruCnP/AI5XoafeX61wfxz/AOQDpX/Xy3/oNTLZiPFaKKKzGFJS0UAHNdj4U+Jer+HCsEsjX1lwPJmbJUZ/hPUfTpXH0lCdhH1doGsRa/odpqkMTxx3Cbgj4yOSO30rSrlfhx/yT3R/+uR/9CNdTWqAWiiimMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEPQ1mCtM9DWYKAFoFFFAFy0/1H41P+NUornyo9u3P40/7b/0z/WgDOooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBU+8v1rg/jn/AMgHSv8Ar5b/ANBrvE+8v1rg/jn/AMgHSv8Ar5b/ANBqZbMR4rRRRWYwooooAKKKKAPpb4b/APJPdG/65H/0Jq6quV+G/wDyT3Rv+uR/9CauqrVbCCiiimMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEPQ1mCtM9DWYKAFooooAKKTNGfagCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikoAWinRxPK2EXNStZSgZG0/Q0hEFFGMZB4x1pKYxyfeX61wfxz/5AOlf9fLf+g13ifeX61wfxz/5AOlf9fLf+g1MtmI8VooorMYUUUUAFFFFAH0t8N/+Se6N/wBcj/6E1dVXK/Df/knujf8AXI/+hNXVVqthBRRRTGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACHoazBWmehrMFAC0UUUATwW6yR7iWz9ak+xx+rfmKdaf6gVNQBiUUUlAC0UmaM0ALRSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJRmjB6AVahsmbmQlR6d6AKyqWOACT7VbhscAtNwPQGud8RfEXw74Vc20krXN0ODBagMyn/aJIA+nX2ryXxT8T9Y8QPLBbStY2G75I4jh2GeNzdc8dqlySEen+KPilofh0SW1owv71cgRwn5EPP3m+o7c81wui/GjVYNRkfV4YrmzkOdkCbWj4HC88jjv6/hXmwAwf8/5/wA/Wio5mB9RaJ4k0TxXbGXTryOV1HzJ0ePnHKnmrE1q8XIy6+o7V8vWOoXWmXSXNlcyW8yYw8TYPBzj3GR3r1Lwl8ZsItr4kjLAYC3cKdsfxr68dR+VUpAelJ94fUVwnxz/AOQDpX/Xy3/oNeh2k+n6xbLeafcxTxMeJImBUn046GvPPjn/AMgHSv8Ar5b/ANBNN7AeK0UUVmMKKKKACiiigD6W+G//ACT3Rv8Arkf/AEJq6quV+G//ACT3Rv8Arkf/AEJq6qtVsIKKKKYwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAQ9DWYK0z0NZgoAWiiigC7af6gVNUNp/qBU1AHPXTmO0ncHG2Njn8DXn1hrd7b3kEs15cPEHG4PISCO4xn3ru9WbbpF8fSF/5GuGtbL7T4bu5V5eCZW49MYP+NAHogOeRznpiuV8XapPDNb2lrPJG+DIxjYg+w4/OtXw3fC80SBmbLRDy3ye47/lXP2Kf2zq+qX7LmOOJwvpyCq/pk0AaHgy9nu474TzySlSmPMcnGc+v0rpq4/wK372/XPUIf8A0L/GuwoAKKKKACiiigAooooAKKKKACiiigAooooAKKKdFC8pwi59+1ADKmhtpJecYX+9TrmSw0ize81C5jihQfM8pwB7e59q8s8VfGcuJLXw3EUXobyZRk+6L/U/lUtpCPR9b8R6J4StPO1G6VHYZSMfNJJ/ur/Xp6mvHPFXxZ1XXN9tp27TrI5HyN+9kHu3b6D864i7vLi/upLm6nknmkOWkkckn8TUNQ5ALnOSeSe9JRRUgFFFFMYnaj8KWigDV0LxNqvhy4E2nXrw85aM8o/TOQeO31rovG3xBi8YaHYW7WT293BMZJMMChGCBg9fSuJpKLiCiiigYUUUUAFFFFAH0t8N/wDknujf9cj/AOhNXVVyvw3/AOSe6N/1yP8A6E1dVWq2EFFFFMYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAIehrMFaZ6GswUALRRRQBdtP9QKmqG0/1AqagDlNcONEvj/0yYVi+DYVn0m+icZWRyre421reI22aBeH/AGQPzIFZ/ggf8Su4PrMf/QR/jQBg2moPo0Gr2Dkh2XYuOxzgn8jn8q6Pw7Y/ZfDzMww9wrSH6YwP0/rUGs+FptR1X7VDLEkbhfMDEg56Ejg9q6ExqluY0AChNoHtQByHgZv9Mu19Ywf1/wDr12lcN4JbGrzr6wH/ANCFdzQAUUUUAFFFFABRRRQAUUUUAFJS+tJ60AHFKqlyAoyT2qeCyeTl/lX071i+J/Hug+EI3ilkFxe44tYCC/8AwI/wj6/gDSA3o7NUQvcEBQMkZ4HuTXC+K/i7peiiS10dU1C7XjeD+5Q/X+L8OPevMfFPxC1nxQWimm+zWR6W0BIU/wC8erfjx6CuXxUOQjT13xHqfiO6+0alePOR91OiJ7KOgrMx75paKkBKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB9LfDf/AJJ7o3/XI/8AoTV1Vcr8N/8Aknujf9cj/wChNXVVqthBRRRTGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACHoazBWmehrMFAC0UUUAXbT/UCpqhtP9QKmoA4vxW2PD9yPUp/6EKreCRjR5D6zH+S1t3dlBf25guY98ZOSuSOfwNNsrC30+Ew20Xlxk7sbiefx+lAFmk6ilooA4PwbldcZe/lMD+YrvKz7TQ9Psbn7Rb22yXkbt7Hr14JrQoAKKKKACiiigAooooAKKKKAEqW0UPcID0yTUVT2X/Hyn4/yoA84+LnjPV9F1CHRtOuPs0U1ss0ksfEhyzjAPYfJ25rxxmLMzMxZmOSSckn1Nei/G8H/hMLM/8ATgn/AKMkrzqsnuISiiikMKKKKACiiigAoopKAHUlGP0q9caHqtnbC5udLvILc9JZYGVT+JGKQijSikxRQAUUUUxhRRRQAUUUUAFFFFAH0t8N/wDknujf9cj/AOhNXVVyvw3/AOSe6N/1yP8A6E1dVWq2EFFFFMYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAIehrMFaZ6GswUALRRRQBdtP9QKmqG0/1AqagDEooooAKKKKACiiigAooooAKKKKACiiigAooooASprQ/6Sn1qKpLT/j5joA8j+OP/If03/r1P/oRrzKvTfjj/wAh/TP+vU/+hGvMqxe4gooooGFFFFAAKKKt6ZpV7rN4tnp9s9zOwJ2J6evoKQirj05re8M+CtX8T3CLaWzLbZG+5cYRBzyD/F06D/69ek+E/g1a2ipdeIXW4nByLaNv3Y5BGTgE9OR05x2r0dHttPt0tbKGOOKMbVSMAKo9qtQA5bwp8MdG8MbLqcC9vgvMsv3UJHO1en5811rXFvchoZUVo24w4BBqnJI0pJdsmmYq7AcN4p+DVjeiS50GQWkxyfs7kmNjyeP7uTj2HpXkWqaLqGi3LW+o2cttKOzjg9+D0P4V9Nw3Dwn5TkdwabqelaV4lsmtNStI51xwJB8yHGMqeoP0qXG4HyxiivTfFnwdvLN3utAzd25yTA7DzFyeNvYjB788e9eaPG8TvHIpR0O1lYYIPoahqwDaKKKBhRRRQAUUUUAfS3w3/wCSe6N/1yP/AKE1dVXK/Df/AJJ7o3/XI/8AoTV1VarYQUUUUxhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAh6GswVp9jVP7HJ/eX86AIaKn+ySf3lo+ySf3loAmtP8AUCpqjgjMce04z7VJQBiUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAHrUlp/x8pUfrUlp/x8pQB5H8cf8AkP6Z/wBep/8AQjXmVem/HH/kP6Z/16n/ANCNeZVi9xBRRRQMKKKKACvpL4eWdrZeBtNuILaKOSaBXlZEALnpk+p4r5tr6Y8Ef8k70f8A69l/nTgI0prl5sgnC+gqED8qWitRhRRRQAUn86WigCzBeOpCv8w6D1FeafHCytY9O068S3iW5knKPKEG5lCk4J/GvQ0++v1FcH8c/wDkA6V/18t/6DUvYR4rRRRWYwooooAKKKKAPpb4b/8AJPdG/wCuR/8AQmrqq5X4b/8AJPdG/wCuR/8AQmrqq1WwgooopjCiikpALSdqM1manrtlpakSybpe0a9f/rVE6kKcXKbsiXJJXZpA06uW0HXrrVtZdHCpCIiVjHrkck966mow+IhXhzw2FCamroKKKK3LCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMSiiigAooooAKKKKACiiigAooooAKKKKACiiigA9aktP+PlKj9aktP8Aj5SgDyP44/8AIf0z/r1P/oRrzKvTfjj/AMh/TP8Ar1P/AKEa8yrF7iCiiigYUUUUAHrX0x4I/wCSd6P/ANey/wA6+Z/WvpjwR/yTvR/+vZf504biLtFFFajCiiigAooooAVPvL9a4P45/wDIB0r/AK+W/wDQa7xPvL9a4P45/wDIB0r/AK+W/wDQamWzEeK0UUVmMKKKKACiiigD6W+G/wDyT3Rv+uR/9Cauqrlfhv8A8k90b/rkf/Qmrqa1WwhaSjPFMklSJGaRgqjqScUXAdVe81C2sIjJczLGvbPU/T1rndV8YRxbotPAd848xh8o+g71ytzdT3cpluJWkc92NeRi83p0rxp+8/wOepiFHSOrN3VPF01xuisgYYzwXYfMfp6VzzMzuWdizHqSck00Djml9a+dr4mpXlzVHc45zc9Wb3gv/kMP/wBcW/mK7yuD8F/8hh/+uLfzFd5X0uTf7r82d2G/hi0UUV6puFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB61Jaf8fKVH61Jaf8fKUAeR/HH/kP6Z/16n/0I15lXpvxx/5D+mf9ep/9CNeZVi9xBRRRQMKKKKACvpjwMC3w90ZQMn7MtfM/Su88HfFS/wDD8cVjfRi706NdqqqgSRjHAU8Ajjv65zTi7CPaOmRgjFFGja/o/iqy+06ddLL1BHR0x6g81NNavECfvL6itAIqKSimMKB0oHJxg5ParUNkzjdISq+nekBBErPIoCknNcF8c/8AkA6V/wBfLf8AoNdR4n8f6H4RTyZZDPdEZW3h5brg5PQfj6V4f4r8cap4tkUXhjjto23RwRrwnXnPUnBx/Spk1sI52iiioGFFFFABRRRQB9LfDf8A5J7o3/XI/wDoRrqMjBrl/hx/yT3R/wDrif8A0M1o+JndNAumRyh+UZU88sBRVqezpyn2VyZPlTZHqvie007dHH+/m/uqeF+prjtQ1e71JyZ5TszxGvCiqVLXyeKzGtiNG7Lsjz51pT9BtOpKK4TIKSlpKAN/wX/yGH/64t/MV3lcH4L/AOQw/wD1xb+YrvK+ryb/AHX5s9DDfwxaKKK9U3CiiigAooooAKKKKACiiigAooooAKKKKACiiigApKBzmigApaQUUAeT/wDC5NA/58tS/wC/cf8A8XXTeGvE1n4osJbyyinjjjlMJE6gHIAPYnj5q+cgPavZfg5/yK93/wBfrf8AoEdRFtsR6BRRRVjCiiigAooooAKKKKACiiigAooooAPWpLT/AI+UqP1qS0/4+UoA8j+OP/If0z/r1P8A6Ea8yr0344/8h/TP+vU/+hGvMqxe4gooooGFFFFABRRRQBYsNQu9MulurK5kt50OQ8bYP4+o46GvWPCPxkSQQ2XiKMhzhPtsYGCeeXHGO3Irx/tQOKE7CPq6I2ep2yXVlPHJHIAVkjbKtnmmrZylsMNo7mvmvw94q1Xwxdedp10yqc7onJMb/VfXjr1ruLz45X8tl5dpo8Nvcf8APV5i6/guB/OrUkB6tqms6R4Ys2udQukhGOAx+Z+CcKO/SvHPFnxc1DV1e10hZNOtTkNJkebICMYz/D36Vwt/qN3ql09ze3UtzM3V5WJPXp7DnoKrVLkAru0js7sWdjlmJ5J9z3opKKkAooopjCiiigAooooA+lvhz/yT3R/+uJ/9CNaHin/kXrr/AIB/6GKz/hz/AMk90f8A64n/ANCNaHin/kXrr/gH/oYrPF/7vU9H+TM6nwM8+ooor4k80KKKKACkpaSgRv8Agv8A5DD/APXFv5iu8rg/Bf8AyGH/AOuLfzFd5X1eTf7r82ehhv4YtFFFeqbhRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lABUVxdQWsLzXEyQwoMtJIwVVHuT0rnPGfjjTvB1iHm/f3kgzDbKeW68k9l46/lmvAvEfi7VvFFyZNQuSYw2Y4EyI4/oM9fc81LlYR7Pq3xf8AC+ms0dvJPfyKcf6PH8uf95iAfwzXPS/HeFWPk+HpHX1e7Cn9ENeQAFiAMkngYHWtKLwzrk8Ykh0TUJIzyHS1cj88VHMwPUbX462TsBdaFcRL3MU6yH8iFrstA+IfhvxE6xWt8IrhukFwNjE+3Y/gTXzfc2dzZSGK6tpYJP7kqFT+RqEcdCQRQpMD6i2ew/KlAx0p1FaAFFFFMYUUUUAFFFFABRRRQAUUUUAFFFFACVLaDFylRU5HMbhx1U5oA8n+OP8AyH9N/wCvU/8AoRrzHGOtfUmsaFo/im0NvqNqkvGFbo6deQfxrx3xX8I9R0gTXmlE31mMtsVf3qD6c7u/Ss3ER57S0MpRyrAqynBB4IPpSVABRRRTGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFJQPagBetHQVd0jRr7XLxLTT7WS4lYgfIpwvux7D61694T+DlnYBbrX3W6m6i3T/Vrx0J/i60JXEdX8OOfh7o//XE/+hmtDxT/AMi9df8AAP8A0MVqRQx28KxQxrHGgwqIMACsvxSf+Kfuh3+T/wBCFZ4v/d6no/yZFT4GefUUUV8SeaFFFFABSUtJQI3/AAX/AMhh/wDri38xXeVwfgv/AJDD/wDXFv5iu8r6vJv91+bPQw38MWiiivVNwooooAKKKKACiiigAooooAKKKKACk7UtFAHmvxR8AnX7U6xpsedSt0w8ajmdBngf7Q7evT0rzHwb4C1HxdclkzbWMTbZbl16H+6o/iP+T2r6Xx1qOGCOBdkUSRrknCDAyTkn8Sc1HLcRh+HPBei+GIVFhZoZwPmuZAGlb/gXb6DAroMUtFVYClqWlWOr2j2uoWkVzAwwUlXI/D0PuK+eviH4K/4RHVUNuWk0+6y0LNyUI6oT3xnj2/GvpHtXC/FywS98A3UxAMlpJHMh7j5tp/RjUyWgG+DxS1wXh/4r6XqciQajG2nztwHZt0bf8C6j8a7sOrAMpBU9CDwapO4DqKKKYwooooAKKKKACiiigAooooAKKKKACiiigBBkHI6+oq1Deso2yZYevcVWpKAMvxP8P9E8WxNIyi2uz0uYQN3fhh3HNeLeKPh9rPhcmSeL7RaE8XEIJUf73938a9+R2jbcpwfaraXSSxtFcorBhg5HBHuKhxuI+T6K928WfCLTdZL3WkutjcnkxgZjc5z07GvG9Z8O6p4eujb6lZvA2eGxlX68gjg9KhqwGbRQKKQBRRRTGFFFFABRRRQAUUUlAC0DmjHBrsfCnwy1fxGVnljaxsc/66ZeWGedq9f6UJXEcjDDJcSrFDG0kjHCqiliT7Ada9K8LfBu7vfLutdma0gPPkR/6xhx1PavTPDng3RPCNsv2aIPcYAa4kGZHPP5dT0ro42LKGKlSexqlHuBS0nRdP0O0Ftp1pHbxDqEHJ+p71fzgGqGpazZ6XGTPJ856IvLGuN1XxJdajmNCYIP7qnk/U1yYvMKOGVm7vsv60MqlaMDo9V8U2tjujgIuJumFPyr9TXH3+qXWpPuuJcgchBwq1U/Glr5vFZhWxGjdl2RxzqymJRRRXEZhRRRQAUlLSUCN/wX/wAhh/8Ari38xXeVwfgv/kMP/wBcW/mK7yvq8m/3X5s9DDfwxaKKK9U3CiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopKACuO+KU6wfDvVcnmQRoo9SXX+gNdjng1418bPEcbtaeH4HBaNvtFxg9DghV/Ik/lUvYR5KM446V6J8MvG0lneRaJfTFrWY7bd2P+qbsufQ9Mev51m/ErwzFoOtpPaxhLS9BkVB0VxwwHtyD+OK46N2jdWUlWU5BHY9qz2YH1Hn2pay/Dmp/wBseHtOvyfmmhUvjpuHDfqK1K1QBRRRTGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAPimeEnY3HoelS3MFhrNo1pf20csbjBSQZH4elVqKVhHmXir4MvEsl14dlaVQCfskh+Yeyt378GvL7qyubC4e3uoJIJkOGSRcEc4/pX1JDdvEMH5l9D2qnrnhnRvFtoYr+3VnH3ZFOJE+hqXED5goru/FXwp1XQ/MubAG/sVGdyf6xBzncvce4rhSrKxVgQwOCCOQai1gEooooGFFFW9N0u91e6W2sLWS4mbokYz+fp+NIRUHPStvw54R1bxNcpHY2rGLID3DDCIPXPfp0FekeFPgzDAEuvEUglfORaxH5R0+8e/TpXp8AgtIVtrGBFReAsa4VatR7gcb4T+Fej+HRHd3xF/eqPvSD92hwM7V7/U12okklGIF2oON5H8hQUWMGW5lB2jvwq1z2q+MI4t0OngO+ceYw+X8PWsq+JpYeN5uxMpqCuzduLi00yMzXUwUn+J+p+lctqPjCaUtHZJ5SYI3uPm+o9Kwbm6nu5TLcStI57sahAxXz2LzipVvGn7q/E454hy0Wg5neRy8js7Mcksck0lFFeS3d3ZzhRRRQMKKKKACiiigAoopPagRv+C/+Qy//XFv5iu8rhvBcT/2nJKEPlCIrvxxnI4z+FdzX1eTr/ZV6s9DDfwxaKKK9U3CiiigAooooAKKKKACiiigAooooAKKKKACiiigApKPWsHxX4rsPCWlPeXjbpGysECn5pW9B6D1Pb8hSEVvG/jG28H6M1w5WS8lyttAT95vU/7I7/l1Ir5uvLyfULye7upmlnncvI7fxE/5/wA9Kua/r974k1WbUL6XdI5wqj7sa84VfQf59TUvhfwze+KtWjsbNcD70spHyxJ6n+g7n8TWbdwPSvjHEp8OWMp+8t2FB9ijE/8AoNeOivW/jLeoml6bY5+eSYzY9AoI/wDZ68kAoluB7p8LZC/gi0U9EkkA/wC+if612Nct8OLRrPwTpquMNKGl/BmJH6YrqatAFFFFUMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoGQcgkH2oooAtQ3xHEnI/vDrXNeKPhtoficPcRqLO8bnz4BgMf9peh+tbVOSRo23KcfSlYR89+JPAuteGJGN3beZb5+W4h+ZCOevoeO9YEUTyyCONGdz0VRkn6V9WrPDcxtDdRoysMEOAVYe9ZmmeEPDmhXct7Z6fBHPIchsZK8DhR26VHIB5R4T+EGoaiVudaLWVrwREP9Y/PPHYGvYNI0TSvDNp9l0yzSLON2wZdz6se9aGZpuxiT1/iP+FVbzU7DRoj5snznnYDlmpSlCnHmk7ITaSuy15ckvMzYXrsX+prL1PxLZ6YphhHnTD+BOg+prmtU8S3eoZjjJgg6bVPJ+prHrw8XnW8aC+f+Ry1MT0iXdR1e71OQmeU7M8IvCiqPSnUV4U6kqknKbuzlbbd2JRRRUgFFFFABRRRQAZooozQIKM0AEnaASScAAVv6V4SuLoCW6JgiP8I++f8ACtqGGqV5csFcqEHPYxILeW5lEcMbSO3QKK6nSfByp+91Bgx7RL0/E10Vjpttp0Xl20KoO5HVvqatCvocHk9Ol71X3n+H/BOynhlHWWoyGBIIxHGiog6BRjFS0UV66SWiOgKKKKoYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlFc/wCK/Flj4R0pry8bfK+VggB+aVvQeg9T2+uBSAXxV4rsPCekve3jb5GysECn5pW9B6D1Pb64FfOfiLxFf+JtUkv7+Tc7cIg+7EvZVHp/XmjxD4hvvE2qSX9/Lukb5URfuxr2VR6f/rPrUnhfwvf+KtTWyskwBzLMw+WJfU/0Hf8AWs27iG+G/DV/4o1RLGxjyeskjfdiX1Y/0r6O8L+F7DwnpS2NkmSfmmmYfNK394/4dqXwz4Y0/wAK6UtjYJ6GWVvvyt6n/DtW3VxjYD5Z8V+I5PE2tzXrBkix5cEZ/gQZx+J6n61W0DRp9d1q106AENM+GYfwKPvN+A/z0qrZWVxqF3HbWkLzzSHCIgyTXuHgTwTH4Xs2muNr6hOAJGHIReoQf1P+FQlcDqLa3jtLaG3iQLHEgRQOwAwB+lTUUVoMKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUZGDSqpY7QCT6Vbhs8DfMcAdv8aQivFbSS9FwPU1bKWthEZZ5FQD+NzwKx9V8XW1tuiswLiXH3v4F/Hv8Ah+dclfahc6jN5lzKXIzhegX6CvLxebUqF4x95/gYVK8Y6LVm/qnjAuGi05cL085v/ZR/U/lXMO7yOzu7OxOSzHk0mOf60tfOYnF1MQ7zfy6HHOpKb1EooornJCiiigAooooAKKKTtQA6koqzY6fc6hJst4Wf1boF+ppwhKb5Yq7BJvRFb1rS0vw/eakQVTyoe8j9PwHeul0rwla2e2S6PnyjkAj5R+HeuhUBRgcAdhXuYTJW/erv5HTTw3WRmaX4fstLUFE8yX/no/X8PStQVy/ijx/onhaN0uLgT3mMrbRHLdDjP93p3rxrxF8Ttd1u6JhunsLZGzHHbMVPXgs2ck8fSvdpwhSjywVkdcYpKyPo7P1pa8U8KfGaWHy7TxFGZo+ALuJRvH+8vQ/Uc+xr1/TdVsdXs0u7C6iuYG6PGcj6H0Psa0TTGXKSjNLVDCiiigAooooAKKKKACiiigAooooAKKKKACkpaTHB5oA57xZ4tsPCOlNd3bb5XysFupw0rf0Hqf5nAr508QeIb/xLqkt/qEu+RuFQfdjXnCqOw/8A1nua2/ilcTT+PdTSSVnWLYkYY8IuwHA9OTXI1k3cRt+FPCd/4s1MWtmu2JMGe4YfLEv9T6D/AOua+jfDnhzT/C+lJYafHtQcvIfvyt/eY+v8ugr5lsdc1XTIWistVvbWMncUguGQE+pAIqz/AMJd4i/6GLVP/A2T/wCKoi0gPqjI9aMj1r5X/wCEu8Rf9DDqn/gbJ/8AFUf8Jd4i/wChh1T/AMDZP/iqrnA930Lwvpfh2EpYWqozcPK3Lv8AVv6dK1sUtFUAUUUUxhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUtJSAs3F1HpOkvdtGX2qDgdSScDn8a4nU9dvNUJWR/Lh7RJ0P1Peut8Rf8ivP/ux/+hCuBr57OsTUjNUouyav+LOPEzknyoQUtJS14JyCUUUUDCiiigAooooAKM0mRTkRpGCKpZm6BRkn6UJXEID/APrp8MMlxII4o2dz/Coya39L8ITXCCW9doFI4RcFvx9K6vT9LtNMj2W0QU93PU/jXqYXKKtX3p+6vxN6eHlLV6HNaT4PJAl1BsL1ESH+Zrrbe3jtYhFDGqIvQKMCkuLqCzgee4mSKJPvO5wBXlfin4zW9v5lr4ei86QZX7TIMKDyPlHft1r6HD4SjhlaC/zOyFOMFZHouueItL8O2hudSvEgXnapPzOfRR1NeOeK/i/f6kXtdEDWNr0Mp/1r89v7oxXB6lqt9q901zf3ctzM3VpDnH09PwqoR3rZyLHSSyTOXlkaR26s5yT+NNooqQAVpaJ4g1Lw9d/adMvJLdz94DlXHoy9D/n61m0dKaA+gfh98Rh4wlksLmzMF/DEZWaM5jdQQMjJyDlhxz9a7+vBPgh/yOF7/wBeD/8AoyOve60jsCCiiiqGFFFFABRRRQAUUUUAFFFFABRRRQAUUUlAHkHjH4U634h8U6hqlpdWCQXDKVWWRwwwoHOEI6isP/hSHiP/AJ/dL/7+yf8AxFe90tTyoR4J/wAKQ8R/8/ul/wDf2T/4ij/hSHiP/n90v/v7J/8AEV73RRyIZ4J/wpDxH/z+6X/39k/+Io/4Uh4j/wCf3S/+/sn/AMRXvdFHIgMSiiiqAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAD1pPWl9aT1pAHiP/kV5v8Adj/9CWuB7V33iP8A5Feb/dj/APQlrge1fL55/HXp+rOHFfEJRRRXkHOFFFFABS0lAoEHaj1FWLKwudQk2W0LOe56AfjXXaX4TtrMJNeMJpV52/wKf6114XAVcS/dVl3NKdKU9jnNJ0G71NwwUxQd5SP5DvXa6ZodnpafuYwZO8jcsaklvVj+SJQcd+1WbVi9urMckk/zNfS4PLaWGV7Xl3/y7HbToxh6kmOtcL4u+KOk+HBJbWuL6+GVKIfkQ/7R/wAK7uud8TeCtH8U27re24S424S5iGJF/Hv0HBrudzU+ffEXi/VvE9yz312xizlIEOEQew79Op5rErs/FXwx1fw6JLiFTe2QPEkS/Moz/EPy5rjMVmAUUUUDCiiigBaSlpKQj0T4H/8AI43v/Xg//oyOvfK8D+B//I43v/Xg/wD6Mjr3ytY7AgoooqhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGJRRRQAUlLTWbajN6DNAC0tc9pHir+1L9LX7F5W4E7vNz0HpiuhoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA9aT1pfWk9aQB4j/5Feb/dj/8AQlrge1d94j/5Feb/AHY//Qlrge1fL55/HXp+rOHFfEJRRRXkHOFFFFAB2rZ8NaNDqs0xnZvLh25QfxZz3/Csauq8C9b/AP7Z/wDs1dmXU41MTGM1da/kzSik5pM6JTbafD5NvGqgcbV/rVaWeSY/MeOwFE/+vk/3j/M0yvslFJWR6KVhK1bL/j1T8f51l1qWX/Hqn4/zqhk9JS0UANIyCD0PFeYfEvwFop0K+122hNrdwIGYQ8LJzjBHbr2r1GuV+JH/ACTzWf8AriP/AEIVL2EfNNFFFZjCiiigBaSlpKQj0T4H/wDI43v/AF4P/wCjI698rwP4H/8AI43v/Xg//oyOvfK1jsCCiiiqGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYeaK4Zde8Q3gMltHII/+mNvuX9QaltPF99bTCK+gVwPvDbtcUAdpmmyf6p/901HZ3cN9bpPbuGjcZGO3tUkv+qf/dNAHA+Ef+Q9F/ut/I16AORXn3haWO31YzyuEjjiZizdq0brxZfXk7w6ZakDsdhZz+HagDsKK4ZPFGs2MwF2u8cfJLFsOPbAFdfpupQ6paLcwHg8EHqp9KALVAqtqVy9np1xcRgF44ywDdKyPDev3Wr3E8c8cKBEDDywR39yaAOhpM0dqyfEWqz6TZRzQJGzNIExICRjBPYj0oA1/Wisrw9qc2q6e1xOqKwkKYjBxjA9SfWtT1oAKM1zGseLxazSW9kiSMhw0j/dB9hWcut+JG/fCOZouuPs3y4+uP60AdxRXDjxtqIH+pteO5Rh/WtDQvE15qWppbTRW6oQSSikHp7k0AdTRRRQAUUUUAHrSetL60nrSAPEf/Irzf7sf/oS1wPau+8R/wDIrzf7sf8A6EtcD2r5fPP469P1Zw4r4hKKKK8g5wooooAUV1PgXrf/APbP/wBmrlhXU+Bet/8A9s//AGau/Kf97h8/yZrh/jRs3H/HxL/vf1NMp9x/x8S/739TTK+xPRCtSy/49U/H+dZdall/x6p+P86AJ6KKKACuV+JH/JPdZ/64j/0IV1Vcr8SP+Se6z/1xH/oQqXsI+aaKKKzGFFFFAC0lLSUhHonwP/5HG9/68H/9GR175XgfwP8A+Rxvf+vB/wD0ZHXvlax2BBRRRVDCiiigAooooAKKKKACiiigAooooAKQkKMk4HvS1FcDMDf570AO82P/AJ6L+dHmx/8APRfzrOxRigDREiE4DqT9afWbHxIp9xWlQAUUUUAYSqqKFUAKBgADFZHiXTYr3SppCo82BS6NjnA6j8q5/wDszxT/AM9Lr/wLH/xVI2leJ3VlZrllYYKm6BBHp96gCx4Iu2W4uLQn5WXzAOwIOD/Ouvl/1Un+6a5TwzoeoafqnnXNv5cflld29Tzx6H2rq5f9U/8AumgDzHTbGXUr2O1iO1n6k9h3Nei6dplvplsIYEAH8TEcsfU/5/wrivCP/Iei/wB1v5GvQaAMvxFYJfaRcbgDJEpkRscgjk/niue8E3TJfXFtk7ZE3gehBx/I12FyR9knJ6bD1+hrhPCGf7ej/wBxs/lQB2Guf8gS9/65Gub8Df8AH7d/9cx/Ouk1z/kCXv8A1yNc34G/4/bv/rmP50AdnXOeNv8AkFQf9dx/6C1dH2rnPG3/ACCoP+u4/wDQWoAf4L40Z/8Ars38lrU1eZ7fSbySM4dYzg+lZfgv/kDP/wBdm/ktbdzAlzazQycJIhVvYetAHEeELKK61R3lVWEKb1B/vZ4P4V3n4/8A1q80sb6TRtTaWBllCEoT2kXPr79a6ceN7Ix5NtcB/QYx+eaAM7xnZxQXlvPGgVpgd+0dx3/Wuj8O3D3Wh2skhJYKVz64JH9K426uLzxLqaCOLkfKiLyEHqa72wtVsrGG2Q5ESBaALFFFFABRRRQAetJ60vrSetIA8R/8ivN/ux/+hLXA9q77xH/yK83+7H/6EtcD2r5fPP469P1Zw4r4hKKKK8g5wpaSjNAgFdV4G63/AP2z/wDZq5q1tJ7yTy7eFpW9F7fU9q7jw5osmjxTPNIpeXBKjouM/wCNeplFCbrxqJaK+vyZvh4vmuTXH/HxL/vf1NMp0zBppGHQmm19YegFall/x6p+P86y61LL/j1T8f50AT0UUUAJXLfEj/knus/9cR/6EK6ms/WtIg13SLnTblnWG4Xa5Q89c/0pNaCPlAUV23ij4WavoAkuLYfb7IZPmRrhlHJ+ZfbHUVxOOKytYAooooGLSUtJSEeifA//AJHG9/68H/8ARkde+V4H8D/+Rxvf+vB//Rkde+VrHYEFFFFUMKKKKACiiigAooooAKKKKACiiigAqOYfuX+lSU2TmJ/oaAM6ikpaAAcGtOsutMcqDQAtFFFAGEDkZHIIyCKWuDhHiTTAIoo7oL2Aj8wD9DUon8U3YZALle3MYj/XAoA7cDk02T/VP/umsrw7Y3llbzfbn3SyOGGX3EDHc1rOu9GX1GKAOA8I/wDIei/3W/ka9AyK4F/DOsWEwkt0LEdJIGwf1walW/8AFCAxhLvjjP2fJ/PFAHR+JdRSx0qZd2JZ1MaL356n8qxPBNixuJ71gdqr5Sn1JIz/ACqG38M6nqlz52oO0a55aRssfYDtXY2lpFZWyW8CBY0GAB/M0AQaxEZdHvVHXyWx+RrlfBU6x6pNExwZIuM+oI4/Ku3IBBBAIPBBrhtR8M32n3ZnsFeSINujMf3k9sf4UAdznrXGeLtXiumWxhw4ifc8g/vYIwPWog/ifUU+zMLhVPB3RiP8zgE1cm8Jtb6LJHCgnvXZSSCBgZ5Az/n9KALngv8A5Az/APXZv5LVzxLO9voN0Y85IC5HoTimeGLC50/TWhuY/LkMpIG4HjA9M+lW9WktYtMuDef6grhgOp9APegDmPBttZ3AvFnjjkkO0BXXPy8k4rePhjSSxb7EM9eHbH5ZriNO0+51C8ZbBGG3kMTjaO2TWsdB8RQgtHcuT0wlwQf1IoA7C3tbe0QpbwpEp6hABn61MPr07VwUx8R6SvnzzXKoP4mk3qP1NdB4b8Qtqoe3uFVbhBuyvAYf40Ab1FFFABRRRQAetJ60vrSetIA8Rf8AIrzf7sf/AKEtcD2rvvEX/Irzf7sf/oS1wHavl88/jr0/VnDiviCjIxRnitbS/Dd5qJV2Uwwd3Ycn6CvMo0Z1pctNXZhGLk7IykVpGCIpZm4AAyTXRaT4QluAJr4mJD0RfvH6ntXRWGkWGjR5RR5neRuWNOmvXfKp8q+vevfweSxh71fV9uh108MlrIliS00uERQRqMcYXqfqarzXEk2cnC9gKi6k0te3GKirJHSlYSlooqhhWpZf8eqfj/OsutSy/wCPVPx/nQBPRRRQAUUUUAJjNcP4r+GGjeI0lnt0WxvmBxLGvysf9pe/Su5pO1Kwj5d8SeDNX8LT7b23zCfu3EYyjc+vY+xrC7Zr66ntormF4p4kljfhkcZBry7xX8G7W98y60GUW0uM/ZX+4eD909ieOtQ4geLUVd1XRr7RbyS0v7WSCVDj5hw3uD3FUhUAeifA/wD5HG9/68H/APRkde+V4H8D/wDkcb3/AK8H/wDRkde+VrHYEFFFFUMKKKKACiiigAooooAKKKKACiiigApCMqR7UtFAGX60tBGCR6GigArRj5jX6Cs3tWjDzEv+6KAH0UUUAYdLzRRQAn1paKKAEo7UtFACCloooASilooATnvzRjHelooATsa5rxwH+wW5XOwSnd9ccV01Q3NtDdwPBPGJI2GCD/P2NAHN+Dr+zhs5bZ5UjnMhfDHG4YGMetdQCCODkfXNcrdeBlLFrW82r2SRc/qKpf8ACEaj/wA97X/vtv8A4mgDe8Q6xaW+mXMHnJJNKhQIpyRnucdMVh+CrWR9SmuMERxoVJ9SSOKt2vgdQwN1d7l7pGuM/ia6a1tIbKBYIIxHGvQD+Z9aAJqKKKACiiigApKWkA6ikAniL/kWJx/sx/8AoS1xmn6Xd6k5W2iyBwXbhR+P+FegFLe/sTbXGCnG5ScZwc/0p3nwWsXlW6LheAqDgV5mLy1YmupyeiVvxZzzo88rvYzdM8L2enASzkTSjnLj5V+grRlvtvyxAf7xqrJK8rZds+3pTK7qNCnRjy01ZG0YKKshWYuxZjknuaSlorYoKKKKACiiigArUsv+PVPx/nWXWpZf8eqfj/OgCeiiigAooooAKKKKAEo7UtFAGbq2h6drlobbUbSK4jPTeOV9we1eOeK/g7e2AkutCd72HOfs7Y8xeT09R09690oxU2TEeD/BSKSDxrfxyo0brYOCrDBH7yOveaprplmmonUFto1uyhjMqrglSQSD6/dFXKIqyAKKKKoYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBmuMSMPQ0lPmGJn+tMoAStC35gX6VQq9bH/R1/wA96AJaKKKAMSiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEox+VLRQAUUUUAFFFFABRRRQAUUUUAFall/x6p+P86y61LL/j1T8f50AT0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAULjid/wAKjqW6GJj7gVFQAVctP9T9DVOrdn/qmHvQBYooooAxKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArUsv+PVPx/nWXWpZf8eqfj/OgCeiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCldj96D7VDVi8HzIfaq9ACdqt2f3H+tVas2R4k/CgC1RRRQBiUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWpZf8AHqn4/wA6y61LL/j1T8f50AT0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVbwcIfrVard5/q1PvVSgBKs2R+Z6rdjViz/1jfT+tAFyiiigDEooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtSy/wCPVPx/nWXWpZf8eqfj/OgCeiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikoAhux+5z6GqdXbn/AFDfUVSoASp7Q/vj9KhqS1/14+lAF+iiigD/2Q==); + background-position: center; + background-size: 100%; } #main .info .header .name { font-size: 24px; diff --git a/dist/app.js b/dist/app.js index bf34c7a..e5755a6 100644 --- a/dist/app.js +++ b/dist/app.js @@ -10441,16 +10441,21 @@ return jQuery; "use strict"; +/** + * 入口文件 + * author: dkplus + */ var $ = __webpack_require__(0); var render = __webpack_require__(2); var resetCss = __webpack_require__(11); __webpack_require__(12); +console.log('%cresume-generator 1.0.0', "background:linear-gradient(to right,#00343F,#1db0b8);height:2rem;line-height:2rem;font-size:1rem;font-weight:bold;color:#fff;border-left:5px solid #1db0b8;border-right:3px solid #00343F;border-radius:0 0 30px 0;padding:0 10px;text-shadow:0 0 5px #000"); render.init(); resetCss.init(); -console.log($); +// console.log($); /***/ }), /* 2 */ @@ -10459,6 +10464,10 @@ console.log($); "use strict"; +/** + * 渲染数据 + * author: dkplus + */ var artT = __webpack_require__(3); var $ = __webpack_require__(0); var data = __webpack_require__(9); @@ -10471,7 +10480,7 @@ var $html = $(_opt.html); var render = function () { function init() { - console.log('render'); + // console.log('render'); renderHtml(data); } @@ -11778,7 +11787,7 @@ if (true) { /* 9 */ /***/ (function(module, exports) { -module.exports = {"info":{"avater":"img.jpg","name":"邓康","detail":"意向:前端开发","personal":[["e-mail","dkplus@qq.com"],["地址","天河龙洞广东金融学院"],["博客","www.cnblogs.cn/dkplus"],["github","github.com/dk-plus"],["手机","13556130815"]],"skills":[["css",90],["javascript",80],["webpack",60],["nodejs",40],["canvas",40],["html",90]]},"experience":[{"id":"教育经历","name":"广东金融学院","time":"2015.09-至今","detail":["学习各种知识,改换行了","终于换行了"],"ol":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"],"ul":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"]},{"id":"教育经历","name":"广东金融学院","time":"2015.09-至今","detail":["学习各种知识,改换行了","终于换行了"],"ol":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"],"ul":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"]},{"id":"教育经历","name":"广东金融学院","time":"2015.09-至今","detail":["学习各种知识,改换行了","终于换行了"],"ol":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"],"ul":["第一件事是怎样","第二件事是怎样","第三件事是怎样","第四件事是怎样","第五件事是怎样"]}]} +module.exports = {"info":{"name":"邓康","detail":"意向:前端开发","personal":[["e-mail","dkplus@qq.com"],["地址","天河龙洞广东金融学院"],["博客","www.cnblogs.com/dkplus"],["github","github.com/dk-plus"],["手机","13556130815"]],"skills":[["html",90],["css",90],["javascript",70],["webpack",60],["nodejs",40],["canvas",40],["photoshop",70],["沟通协调",70]]},"experience":[{"id":"教育经历","project":[{"name":"广东金融学院","time":"2015.09-至今","detail":["英语六级","加入学校IT社团爪哇部落,成为前端副组长,获校园软件设计大赛三等奖,"]}]},{"id":"实习经历","project":[{"name":"阿里巴巴-pp助手","time":"2018.01-至今","detail":["配合运营同学和设计同学,负责pp助手的运营与营销活动页的制作与维护","这次实习学到的:"],"ul":["与运营和设计沟通需求,以最合理的需求和最佳的效果实现页面","用rem适配移动端,webpack项目工程化和nodejs模块化开发,git多人协作","调试页面发现和解决各种工具的报错以及测试同学提到bug","阅读、学习团队文档与代码规范"]}]},{"id":"项目经历","project":[{"name":"pp助手春节活动","time":"2018新年期间","detail":["利用zepto操作页面元素以及相关的团队类库制作动画"]},{"name":"resume-generator","time":"2018.03","detail":["一个用art-template渲染的简历生成器,只需编写json数据即可生成简历"]},{"name":"web-slide","time":"2018.02","detail":["一个网页ppt,也是基于art-template渲染"]}]},{"id":"自我评价","project":[{"name":"前端学习","time":"2016.12-至今","ul":["学习基础,编写html、css以及一些css3动画,熟悉ps切图","学习js,看javascript高级程序设计、语言精粹、canvas开发;","学习前端动画:dom动画,css3动画,canvas动画;","初次接触jquery、bootstrap、webpack。","学习nodejs、es6模块化开发与项目工程化;","学习git多人协作;"]}]}]} /***/ }), /* 10 */ @@ -11788,7 +11797,7 @@ module.exports = function (obj) { obj || (obj = {}); var __t, __p = ''; with (obj) { -__p += '
\r\n
\r\n
\r\n \r\n
\r\n
{{data.info.name}}
\r\n
{{data.info.detail}}
\r\n
\r\n
\r\n

个人信息

\r\n {{each data.info.personal as per}}\r\n
\r\n
{{per[1]}}
\r\n
\r\n {{/each}}\r\n
\r\n
\r\n

个人技能

\r\n
    \r\n {{each data.info.skills as skill}}\r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n {{/each}}\r\n
\r\n
\r\n
\r\n
\r\n {{each data.experience as exp}}\r\n
\r\n

{{exp.id}}

\r\n
\r\n
{{exp.name}}
\r\n
{{exp.time}}
\r\n
\r\n {{each exp.detail as detail}}\r\n
\r\n {{detail}}\r\n
\r\n {{/each}}\r\n
\r\n
    \r\n {{each exp.ul as ul}}\r\n
  • {{ul}}
  • \r\n {{/each}}\r\n
\r\n
    \r\n {{each exp.ul as ol}}\r\n
  1. {{ol}}
  2. \r\n {{/each}}\r\n
\r\n
\r\n
\r\n {{/each}}\r\n
'; +__p += '
\r\n
\r\n
\r\n
\r\n
{{data.info.name}}
\r\n
{{data.info.detail}}
\r\n
\r\n
\r\n

个人信息

\r\n {{each data.info.personal as per}}\r\n
\r\n
{{per[1]}}
\r\n
\r\n {{/each}}\r\n
\r\n
\r\n

个人技能

\r\n
    \r\n {{each data.info.skills as skill}}\r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n {{/each}}\r\n
\r\n
\r\n
\r\n
\r\n {{each data.experience as exp}}\r\n
\r\n

{{exp.id}}

\r\n {{each exp.project as pro}}\r\n
\r\n
{{pro.name}}
\r\n
{{pro.time}}
\r\n
\r\n {{each pro.detail as detail}}\r\n
\r\n {{detail}}\r\n
\r\n {{/each}}\r\n
\r\n
    \r\n {{each pro.ul as ul}}\r\n
  • {{ul}}
  • \r\n {{/each}}\r\n
\r\n
    \r\n {{each pro.ol as ol}}\r\n
  1. {{ol}}
  2. \r\n {{/each}}\r\n
\r\n
\r\n {{/each}}\r\n
\r\n {{/each}}\r\n
'; } return __p @@ -11801,6 +11810,10 @@ return __p "use strict"; +/** + * 渲染个人技能进度条 + * author: dkplus + */ var $ = __webpack_require__(0); var init = function init() { // 个人技能进度条值 diff --git a/dist/index.html b/dist/index.html index 77606eb..5669091 100644 --- a/dist/index.html +++ b/dist/index.html @@ -8,147 +8,6 @@
-
-
-
- -
-
邓康
-
意向:前端开发
-
-
-

个人信息

-
-
dkplus@qq.com
-
-
-
迎龙路
-
- - -
-
13556130815
-
-
-
-

个人技能

-
    -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
-
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  • html
  • -
  • js
  • -
  • 学习css
  • -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  • html
  • -
  • js
  • -
  • 学习css
  • -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
\ No newline at end of file diff --git a/src/config/config.js b/src/config/config.js deleted file mode 100644 index ac1b20e..0000000 --- a/src/config/config.js +++ /dev/null @@ -1,7 +0,0 @@ -const config = { - avater: '../modules/dk.jpg' -} - -module.exports = { - config: config -} \ No newline at end of file diff --git a/dist/img.jpg b/src/config/img.jpg similarity index 100% rename from dist/img.jpg rename to src/config/img.jpg diff --git a/src/index.html b/src/index.html index 8f4ce3c..8eaa776 100644 --- a/src/index.html +++ b/src/index.html @@ -8,147 +8,6 @@
-
-
-
- -
-
邓康
-
意向:前端开发
-
-
-

个人信息

-
-
dkplus@qq.com
-
-
-
迎龙路
-
- - -
-
13556130815
-
-
-
-

个人技能

-
    -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -
  • -
-
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  • html
  • -
  • js
  • -
  • 学习css
  • -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  • html
  • -
  • js
  • -
  • 学习css
  • -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
-

教育经历

-
-
广东金融学院
-
2015.09-至今
-
-
学习blablablabla
-
-
    -
  1. html
  2. -
  3. js
  4. -
  5. 学习css
  6. -
-
-
-
\ No newline at end of file diff --git a/src/index.js b/src/index.js index 971d8bf..8dd98c7 100644 --- a/src/index.js +++ b/src/index.js @@ -1,10 +1,15 @@ +/** + * 入口文件 + * author: dkplus + */ const $ = require('jquery'); const render = require('./modules/render'); const resetCss = require('./view/reset_css'); require('./view/index.less'); +console.log('%cresume-generator 1.0.0',"background:linear-gradient(to right,#00343F,#1db0b8);height:2rem;line-height:2rem;font-size:1rem;font-weight:bold;color:#fff;border-left:5px solid #1db0b8;border-right:3px solid #00343F;border-radius:0 0 30px 0;padding:0 10px;text-shadow:0 0 5px #000"); render.init(); resetCss.init(); -console.log($); \ No newline at end of file +// console.log($); \ No newline at end of file diff --git a/src/modules/data.json b/src/modules/data.json index d1f6e19..da6f8a5 100644 --- a/src/modules/data.json +++ b/src/modules/data.json @@ -1,91 +1,87 @@ { "info": { - "avater": "img.jpg", "name": "邓康", "detail": "意向:前端开发", "personal": [ ["e-mail", "dkplus@qq.com"], ["地址", "天河龙洞广东金融学院"], - ["博客", "www.cnblogs.cn/dkplus"], + ["博客", "www.cnblogs.com/dkplus"], ["github", "github.com/dk-plus"], ["手机", "13556130815"] ], "skills": [ + ["html", 90], ["css", 90], - ["javascript", 80], + ["javascript", 70], ["webpack", 60], ["nodejs", 40], ["canvas", 40], - ["html", 90] + ["photoshop", 70], + ["沟通协调", 70] ] }, "experience": [ { "id": "教育经历", - "name": "广东金融学院", - "time": "2015.09-至今", - "detail": [ - "学习各种知识,改换行了", - "终于换行了" - ], - "ol": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ], - "ul": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ] + "project": [{ + "name": "广东金融学院", + "time": "2015.09-至今", + "detail": [ + "英语六级", + "加入学校IT社团爪哇部落,成为前端副组长,获校园软件设计大赛三等奖," + ] + }] },{ - "id": "教育经历", - "name": "广东金融学院", - "time": "2015.09-至今", - "detail": [ - "学习各种知识,改换行了", - "终于换行了" - ], - "ol": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ], - "ul": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ] + "id": "实习经历", + "project": [{ + "name": "阿里巴巴-pp助手", + "time": "2018.01-至今", + "detail": [ + "配合运营同学和设计同学,负责pp助手的运营与营销活动页的制作与维护", + "这次实习学到的:" + ], + "ul": [ + "与运营和设计沟通需求,以最合理的需求和最佳的效果实现页面", + "用rem适配移动端,webpack项目工程化和nodejs模块化开发,git多人协作", + "调试页面发现和解决各种工具的报错以及测试同学提到bug", + "阅读、学习团队文档与代码规范" + ] + }] },{ - "id": "教育经历", - "name": "广东金融学院", - "time": "2015.09-至今", - "detail": [ - "学习各种知识,改换行了", - "终于换行了" - ], - "ol": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ], - "ul": [ - "第一件事是怎样", - "第二件事是怎样", - "第三件事是怎样", - "第四件事是怎样", - "第五件事是怎样" - ] + "id": "项目经历", + "project": [{ + "name": "pp助手春节活动", + "time": "2018新年期间", + "detail": [ + "利用zepto操作页面元素以及相关的团队类库制作动画" + ] + },{ + "name": "resume-generator", + "time": "2018.03", + "detail": [ + "一个用art-template渲染的简历生成器,只需编写json数据即可生成简历" + ] + },{ + "name": "web-slide", + "time": "2018.02", + "detail": [ + "一个网页ppt,也是基于art-template渲染" + ] + }] + },{ + "id": "自我评价", + "project": [{ + "name": "前端学习", + "time": "2016.12-至今", + "ul": [ + "学习基础,编写html、css以及一些css3动画,熟悉ps切图", + "学习js,看javascript高级程序设计、语言精粹、canvas开发;", + "学习前端动画:dom动画,css3动画,canvas动画;", + "初次接触jquery、bootstrap、webpack。", + "学习nodejs、es6模块化开发与项目工程化;", + "学习git多人协作;" + ] + }] } ] } \ No newline at end of file diff --git a/src/modules/render.js b/src/modules/render.js index 08f233e..d167cc8 100644 --- a/src/modules/render.js +++ b/src/modules/render.js @@ -1,3 +1,7 @@ +/** + * 渲染数据 + * author: dkplus + */ const artT = require('art-template'); const $ = require('jquery'); var data = require('./data.json'); @@ -10,7 +14,7 @@ var $html = $(_opt.html); const render = (function(){ function init() { - console.log('render'); + // console.log('render'); renderHtml(data); } diff --git a/src/view/index.less b/src/view/index.less index 1b7b84f..f9623c9 100644 --- a/src/view/index.less +++ b/src/view/index.less @@ -11,7 +11,7 @@ body { align-items: flex-start; color: #666;; > div { - padding: 30px 0; + padding: 0; } .info { width: 33.3%; @@ -35,10 +35,9 @@ body { border: 3px solid #fff; box-shadow: 0 0 5px #000; overflow: hidden; - img { - width: 100%; - height: 100%; - } + background: url('../config/img.jpg'); + background-position: center; + background-size: 100%; } .name { font-size: 24px; diff --git a/src/view/index.tpl b/src/view/index.tpl index 3bc27a8..1dcc0f5 100644 --- a/src/view/index.tpl +++ b/src/view/index.tpl @@ -1,7 +1,6 @@
-
{{data.info.name}}
{{data.info.detail}}
@@ -34,27 +33,29 @@ {{each data.experience as exp}}

{{exp.id}}

-
-
{{exp.name}}
-
{{exp.time}}
-
- {{each exp.detail as detail}} -
- {{detail}} -
+ {{each exp.project as pro}} +
+
{{pro.name}}
+
{{pro.time}}
+
+ {{each pro.detail as detail}} +
+ {{detail}} +
+ {{/each}} +
+
    + {{each pro.ul as ul}} +
  • {{ul}}
  • + {{/each}} +
+
    + {{each pro.ol as ol}} +
  1. {{ol}}
  2. + {{/each}} +
+
{{/each}} -
-
    - {{each exp.ul as ul}} -
  • {{ul}}
  • - {{/each}} -
-
    - {{each exp.ul as ol}} -
  1. {{ol}}
  2. - {{/each}} -
-
{{/each}}
\ No newline at end of file diff --git a/src/view/reset_css.js b/src/view/reset_css.js index 4dc6eaf..8dc92f3 100644 --- a/src/view/reset_css.js +++ b/src/view/reset_css.js @@ -1,3 +1,7 @@ +/** + * 渲染个人技能进度条 + * author: dkplus + */ const $ = require('jquery'); const init = function() { // 个人技能进度条值 diff --git a/src/view/temp.tpl b/src/view/temp.tpl deleted file mode 100644 index 3f53542..0000000 --- a/src/view/temp.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{set info = data.info}} -{{set exp = data.experience}} -
-
-
- -
-
{{info.name}}
-
{{info.detail}}
-
-
-

个人信息

- {{each info.personal as per}} -
-
{{per[1]}}
-
- {{/each}} -
-
-

个人技能

-
    - {{each info.skills as skill}} -
  • - -
    -
    -
    -
    -
    -
  • - {{/each}} -
-
-
-
- {{each exp as exp}} -
-

{{exp.id}}

-
-
{{exp.name}}
-
{{exp.time}}
-
- {{each exp.detail as detail}} -
- {{detail}} -
- {{/each}} -
-
    - {{each exp.ul as ul}} -
  • {{ul}}
  • - {{/each}} -
-
    - {{each exp.ul as ol}} -
  1. {{ol}}
  2. - {{/each}} -
-
-
- {{/each}} -
\ No newline at end of file