Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / api / jscriptyAnswerReport / jscriptyAnswerReport.controller.js
index 18efe98..6303cc2 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x36fc=['include','findAll','rows','catch','show','intersection','find','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','sendStatus','status','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','JscriptyAnswerReport','rawAttributes','type','model','keys','query','attributes','fields','length','nolimit','sort','where','filters','filter','merge','map','VIRTUAL','options','count','includeAll'];(function(_0x45c726,_0x4ad231){var _0x4c52dd=function(_0x18e1ee){while(--_0x18e1ee){_0x45c726['push'](_0x45c726['shift']());}};_0x4c52dd(++_0x4ad231);}(_0x36fc,0xe3));var _0xc36f=function(_0x1ffb99,_0x262b20){_0x1ffb99=_0x1ffb99-0x0;var _0x444b1f=_0x36fc[_0x1ffb99];return _0x444b1f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc36f('0x0'));var rimraf=require(_0xc36f('0x1'));var zipdir=require(_0xc36f('0x2'));var jsonpatch=require(_0xc36f('0x3'));var rp=require(_0xc36f('0x4'));var moment=require(_0xc36f('0x5'));var BPromise=require(_0xc36f('0x6'));var Mustache=require(_0xc36f('0x7'));var util=require(_0xc36f('0x8'));var path=require(_0xc36f('0x9'));var sox=require(_0xc36f('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xc36f('0xb'));var jsforce=require(_0xc36f('0xc'));var deskjs=require(_0xc36f('0xd'));var toCsv=require(_0xc36f('0xe'));var querystring=require(_0xc36f('0xf'));var Papa=require(_0xc36f('0x10'));var Redis=require(_0xc36f('0x11'));var authService=require(_0xc36f('0x12'));var qs=require(_0xc36f('0x13'));var as=require(_0xc36f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xc36f('0x15'));var utils=require('../../config/utils');var config=require(_0xc36f('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc36f('0x17'))['db'];function respondWithStatusCode(_0x56c0bc,_0x377018){_0x377018=_0x377018||0xcc;return function(_0x2172ff){if(_0x2172ff){return _0x56c0bc[_0xc36f('0x18')](_0x377018);}return _0x56c0bc['status'](_0x377018)['end']();};}function respondWithResult(_0xce055e,_0x1114ec){_0x1114ec=_0x1114ec||0xc8;return function(_0x4bbd37){if(_0x4bbd37){return _0xce055e[_0xc36f('0x19')](_0x1114ec)['json'](_0x4bbd37);}};}function respondWithFilteredResult(_0x91f003,_0x3396f4){return function(_0x3c8bb6){if(_0x3c8bb6){var _0x37aea0=_0x3c8bb6['count'],_0x50bcea=_0x3396f4['offset'],_0x28d050=_0x3396f4[_0xc36f('0x1a')]+_0x3396f4[_0xc36f('0x1b')],_0x47999f;if(_0x28d050>=_0x37aea0){_0x28d050=_0x37aea0;_0x47999f=0xc8;}else{_0x47999f=0xce;}_0x91f003[_0xc36f('0x19')](_0x47999f);return _0x91f003[_0xc36f('0x1c')](_0xc36f('0x1d'),_0x50bcea+'-'+_0x28d050+'/'+_0x37aea0)['json'](_0x3c8bb6);}return null;};}function patchUpdates(_0x3e3189){return function(_0x184f02){try{jsonpatch[_0xc36f('0x1e')](_0x184f02,_0x3e3189,!![]);}catch(_0x7ae362){return BPromise[_0xc36f('0x1f')](_0x7ae362);}return _0x184f02[_0xc36f('0x20')]();};}function saveUpdates(_0x51ec45,_0x53e2cd){return function(_0x564a82){if(_0x564a82){return _0x564a82[_0xc36f('0x21')](_0x51ec45)[_0xc36f('0x22')](function(_0x203b46){return _0x203b46;});}return null;};}function removeEntity(_0x210cae,_0x1ff541){return function(_0x4b34ac){if(_0x4b34ac){return _0x4b34ac[_0xc36f('0x23')]()[_0xc36f('0x22')](function(){_0x210cae[_0xc36f('0x19')](0xcc)[_0xc36f('0x24')]();});}};}function handleEntityNotFound(_0x4fbbe6,_0x504adf){return function(_0x1b2fe5){if(!_0x1b2fe5){_0x4fbbe6[_0xc36f('0x18')](0x194);}return _0x1b2fe5;};}function handleError(_0x3a5360,_0x52b08a){_0x52b08a=_0x52b08a||0x1f4;return function(_0x105d1e){logger[_0xc36f('0x25')](_0x105d1e[_0xc36f('0x26')]);if(_0x105d1e[_0xc36f('0x27')]){delete _0x105d1e[_0xc36f('0x27')];}_0x3a5360['status'](_0x52b08a)[_0xc36f('0x28')](_0x105d1e);};}exports['index']=function(_0x1fc544,_0x23830f){var _0x4ea11e={},_0x3ace16={},_0x929927={'count':0x0,'rows':[]};var _0x3807a1=_['map'](db[_0xc36f('0x29')][_0xc36f('0x2a')],function(_0x14f7e5){return{'name':_0x14f7e5['fieldName'],'type':_0x14f7e5[_0xc36f('0x2b')]['key']};});_0x3ace16[_0xc36f('0x2c')]=_['map'](_0x3807a1,_0xc36f('0x27'));_0x3ace16['query']=_[_0xc36f('0x2d')](_0x1fc544[_0xc36f('0x2e')]);_0x3ace16['filters']=_['intersection'](_0x3ace16[_0xc36f('0x2c')],_0x3ace16['query']);_0x4ea11e[_0xc36f('0x2f')]=_['intersection'](_0x3ace16['model'],qs[_0xc36f('0x30')](_0x1fc544['query'][_0xc36f('0x30')]));_0x4ea11e[_0xc36f('0x2f')]=_0x4ea11e[_0xc36f('0x2f')][_0xc36f('0x31')]?_0x4ea11e['attributes']:_0x3ace16[_0xc36f('0x2c')];if(!_0x1fc544['query']['hasOwnProperty'](_0xc36f('0x32'))){_0x4ea11e['limit']=qs['limit'](_0x1fc544['query']['limit']);_0x4ea11e[_0xc36f('0x1a')]=qs[_0xc36f('0x1a')](_0x1fc544[_0xc36f('0x2e')]['offset']);}_0x4ea11e['order']=qs[_0xc36f('0x33')](_0x1fc544['query'][_0xc36f('0x33')]);_0x4ea11e[_0xc36f('0x34')]=qs[_0xc36f('0x35')](_['pick'](_0x1fc544[_0xc36f('0x2e')],_0x3ace16[_0xc36f('0x35')]),_0x3807a1);if(_0x1fc544[_0xc36f('0x2e')][_0xc36f('0x36')]){_0x4ea11e['where']=_[_0xc36f('0x37')](_0x4ea11e['where'],{'$or':_[_0xc36f('0x38')](_0x3807a1,function(_0x4479ab){if(_0x4479ab[_0xc36f('0x2b')]!==_0xc36f('0x39')){var _0x50c612={};_0x50c612[_0x4479ab[_0xc36f('0x27')]]={'$like':'%'+_0x1fc544['query']['filter']+'%'};return _0x50c612;}})});}_0x4ea11e=_[_0xc36f('0x37')]({},_0x4ea11e,_0x1fc544[_0xc36f('0x3a')]);var _0x30512c={'where':_0x4ea11e['where']};return db[_0xc36f('0x29')][_0xc36f('0x3b')](_0x30512c)[_0xc36f('0x22')](function(_0x4869bc){_0x929927[_0xc36f('0x3b')]=_0x4869bc;if(_0x1fc544[_0xc36f('0x2e')][_0xc36f('0x3c')]){_0x4ea11e[_0xc36f('0x3d')]=[{'all':!![]}];}return db[_0xc36f('0x29')][_0xc36f('0x3e')](_0x4ea11e);})['then'](function(_0x2efc3b){_0x929927[_0xc36f('0x3f')]=_0x2efc3b;return _0x929927;})['then'](respondWithFilteredResult(_0x23830f,_0x4ea11e))[_0xc36f('0x40')](handleError(_0x23830f,null));};exports[_0xc36f('0x41')]=function(_0xd4a155,_0x10b895){var _0x6a6311={'raw':!![],'where':{'id':_0xd4a155['params']['id']}},_0x40be74={};_0x40be74['model']=_[_0xc36f('0x2d')](db[_0xc36f('0x29')][_0xc36f('0x2a')]);_0x40be74[_0xc36f('0x2e')]=_[_0xc36f('0x2d')](_0xd4a155[_0xc36f('0x2e')]);_0x40be74['filters']=_['intersection'](_0x40be74[_0xc36f('0x2c')],_0x40be74['query']);_0x6a6311['attributes']=_[_0xc36f('0x42')](_0x40be74[_0xc36f('0x2c')],qs[_0xc36f('0x30')](_0xd4a155[_0xc36f('0x2e')][_0xc36f('0x30')]));_0x6a6311[_0xc36f('0x2f')]=_0x6a6311[_0xc36f('0x2f')][_0xc36f('0x31')]?_0x6a6311[_0xc36f('0x2f')]:_0x40be74[_0xc36f('0x2c')];if(_0xd4a155['query']['includeAll']){_0x6a6311[_0xc36f('0x3d')]=[{'all':!![]}];}_0x6a6311=_['merge']({},_0x6a6311,_0xd4a155[_0xc36f('0x3a')]);return db[_0xc36f('0x29')][_0xc36f('0x43')](_0x6a6311)[_0xc36f('0x22')](handleEntityNotFound(_0x10b895,null))[_0xc36f('0x22')](respondWithResult(_0x10b895,null))[_0xc36f('0x40')](handleError(_0x10b895,null));};exports[_0xc36f('0x44')]=function(_0x1f7502,_0x49960d){return db[_0xc36f('0x29')][_0xc36f('0x44')](_0x1f7502['body'],{})[_0xc36f('0x22')](respondWithResult(_0x49960d,0xc9))[_0xc36f('0x40')](handleError(_0x49960d,null));};exports[_0xc36f('0x21')]=function(_0x4b44f9,_0x1ca9b6){if(_0x4b44f9[_0xc36f('0x45')]['id']){delete _0x4b44f9[_0xc36f('0x45')]['id'];}return db[_0xc36f('0x29')][_0xc36f('0x43')]({'where':{'id':_0x4b44f9[_0xc36f('0x46')]['id']}})[_0xc36f('0x22')](handleEntityNotFound(_0x1ca9b6,null))[_0xc36f('0x22')](saveUpdates(_0x4b44f9[_0xc36f('0x45')],null))['then'](respondWithResult(_0x1ca9b6,null))['catch'](handleError(_0x1ca9b6,null));};exports[_0xc36f('0x23')]=function(_0x6d0085,_0x281770){return db[_0xc36f('0x29')][_0xc36f('0x43')]({'where':{'id':_0x6d0085[_0xc36f('0x46')]['id']}})[_0xc36f('0x22')](handleEntityNotFound(_0x281770,null))[_0xc36f('0x22')](removeEntity(_0x281770,null))[_0xc36f('0x40')](handleError(_0x281770,null));};exports['describe']=function(_0x28fab3,_0x1434aa){return db[_0xc36f('0x29')][_0xc36f('0x47')]()[_0xc36f('0x22')](respondWithResult(_0x1434aa,null))[_0xc36f('0x40')](handleError(_0x1434aa,null));};
\ No newline at end of file
+var _0x2070=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','json','save','update','then','destroy','stack','name','send','map','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters','filter','merge','options','JscriptyAnswerReport','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','describe','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','squel','crypto','desk.js','to-csv','papaparse','ioredis'];(function(_0x2e33d3,_0x4375d2){var _0x5cd87d=function(_0x2ae53c){while(--_0x2ae53c){_0x2e33d3['push'](_0x2e33d3['shift']());}};_0x5cd87d(++_0x4375d2);}(_0x2070,0x1a2));var _0x0207=function(_0x430222,_0x2b4850){_0x430222=_0x430222-0x0;var _0x1c82b2=_0x2070[_0x430222];return _0x1c82b2;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x0207('0x0'));var jsonpatch=require(_0x0207('0x1'));var rp=require(_0x0207('0x2'));var moment=require('moment');var BPromise=require(_0x0207('0x3'));var Mustache=require(_0x0207('0x4'));var util=require('util');var path=require(_0x0207('0x5'));var sox=require(_0x0207('0x6'));var csv=require('to-csv');var ejs=require(_0x0207('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x0207('0x8'));var crypto=require(_0x0207('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x0207('0xa'));var toCsv=require(_0x0207('0xb'));var querystring=require('querystring');var Papa=require(_0x0207('0xc'));var Redis=require(_0x0207('0xd'));var authService=require(_0x0207('0xe'));var qs=require(_0x0207('0xf'));var as=require(_0x0207('0x10'));var hardwareService=require(_0x0207('0x11'));var logger=require(_0x0207('0x12'))(_0x0207('0x13'));var utils=require(_0x0207('0x14'));var config=require(_0x0207('0x15'));var licenseUtil=require(_0x0207('0x16'));var db=require(_0x0207('0x17'))['db'];function respondWithStatusCode(_0x22be26,_0x7c84b){_0x7c84b=_0x7c84b||0xcc;return function(_0x5bb744){if(_0x5bb744){return _0x22be26[_0x0207('0x18')](_0x7c84b);}return _0x22be26['status'](_0x7c84b)[_0x0207('0x19')]();};}function respondWithResult(_0x3bd0c4,_0x3ffc3a){_0x3ffc3a=_0x3ffc3a||0xc8;return function(_0x1748a1){if(_0x1748a1){return _0x3bd0c4[_0x0207('0x1a')](_0x3ffc3a)['json'](_0x1748a1);}};}function respondWithFilteredResult(_0x3cb346,_0x1cbefd){return function(_0x5e8d17){if(_0x5e8d17){var _0x2bb662=typeof _0x1cbefd[_0x0207('0x1b')]===_0x0207('0x1c')&&typeof _0x1cbefd[_0x0207('0x1d')]==='undefined';var _0x1bdc25=_0x5e8d17[_0x0207('0x1e')];var _0x171122=_0x2bb662?0x0:_0x1cbefd[_0x0207('0x1b')];var _0x45bb5d=_0x2bb662?_0x5e8d17[_0x0207('0x1e')]:_0x1cbefd[_0x0207('0x1b')]+_0x1cbefd[_0x0207('0x1d')];var _0x4255bb;if(_0x45bb5d>=_0x1bdc25){_0x45bb5d=_0x1bdc25;_0x4255bb=0xc8;}else{_0x4255bb=0xce;}_0x3cb346[_0x0207('0x1a')](_0x4255bb);return _0x3cb346[_0x0207('0x1f')](_0x0207('0x20'),_0x171122+'-'+_0x45bb5d+'/'+_0x1bdc25)[_0x0207('0x21')](_0x5e8d17);}return null;};}function patchUpdates(_0xfc201){return function(_0x3474f3){try{jsonpatch['apply'](_0x3474f3,_0xfc201,!![]);}catch(_0x2c8567){return BPromise['reject'](_0x2c8567);}return _0x3474f3[_0x0207('0x22')]();};}function saveUpdates(_0x1421e7,_0x37c050){return function(_0x56a158){if(_0x56a158){return _0x56a158[_0x0207('0x23')](_0x1421e7)[_0x0207('0x24')](function(_0x5cd2bc){return _0x5cd2bc;});}return null;};}function removeEntity(_0x16bf24,_0x11bb0f){return function(_0x40224d){if(_0x40224d){return _0x40224d[_0x0207('0x25')]()[_0x0207('0x24')](function(){_0x16bf24['status'](0xcc)[_0x0207('0x19')]();});}};}function handleEntityNotFound(_0x4089f1,_0x4a0b93){return function(_0x94e0e1){if(!_0x94e0e1){_0x4089f1['sendStatus'](0x194);}return _0x94e0e1;};}function handleError(_0x3ae0af,_0x3cfd1b){_0x3cfd1b=_0x3cfd1b||0x1f4;return function(_0x2e496f){logger['error'](_0x2e496f[_0x0207('0x26')]);if(_0x2e496f[_0x0207('0x27')]){delete _0x2e496f[_0x0207('0x27')];}_0x3ae0af[_0x0207('0x1a')](_0x3cfd1b)[_0x0207('0x28')](_0x2e496f);};}exports['index']=function(_0x33b7dc,_0x527cdb){var _0x3a7dbd={},_0x873259={},_0x435e79={'count':0x0,'rows':[]};var _0x4e5e7b=_[_0x0207('0x29')](db['JscriptyAnswerReport']['rawAttributes'],function(_0x9cd617){return{'name':_0x9cd617[_0x0207('0x2a')],'type':_0x9cd617[_0x0207('0x2b')][_0x0207('0x2c')]};});_0x873259[_0x0207('0x2d')]=_['map'](_0x4e5e7b,_0x0207('0x27'));_0x873259[_0x0207('0x2e')]=_[_0x0207('0x2f')](_0x33b7dc[_0x0207('0x2e')]);_0x873259['filters']=_[_0x0207('0x30')](_0x873259[_0x0207('0x2d')],_0x873259[_0x0207('0x2e')]);_0x3a7dbd[_0x0207('0x31')]=_[_0x0207('0x30')](_0x873259[_0x0207('0x2d')],qs['fields'](_0x33b7dc['query'][_0x0207('0x32')]));_0x3a7dbd['attributes']=_0x3a7dbd[_0x0207('0x31')][_0x0207('0x33')]?_0x3a7dbd[_0x0207('0x31')]:_0x873259[_0x0207('0x2d')];if(!_0x33b7dc['query'][_0x0207('0x34')]('nolimit')){_0x3a7dbd['limit']=qs[_0x0207('0x1d')](_0x33b7dc[_0x0207('0x2e')][_0x0207('0x1d')]);_0x3a7dbd[_0x0207('0x1b')]=qs[_0x0207('0x1b')](_0x33b7dc[_0x0207('0x2e')][_0x0207('0x1b')]);}_0x3a7dbd['order']=qs[_0x0207('0x35')](_0x33b7dc[_0x0207('0x2e')][_0x0207('0x35')]);_0x3a7dbd[_0x0207('0x36')]=qs['filters'](_['pick'](_0x33b7dc['query'],_0x873259[_0x0207('0x37')]),_0x4e5e7b);if(_0x33b7dc[_0x0207('0x2e')][_0x0207('0x38')]){_0x3a7dbd[_0x0207('0x36')]=_['merge'](_0x3a7dbd[_0x0207('0x36')],{'$or':_[_0x0207('0x29')](_0x4e5e7b,function(_0x21c9a1){if(_0x21c9a1[_0x0207('0x2b')]!=='VIRTUAL'){var _0x59aaae={};_0x59aaae[_0x21c9a1[_0x0207('0x27')]]={'$like':'%'+_0x33b7dc['query']['filter']+'%'};return _0x59aaae;}})});}_0x3a7dbd=_[_0x0207('0x39')]({},_0x3a7dbd,_0x33b7dc[_0x0207('0x3a')]);var _0x360052={'where':_0x3a7dbd['where']};return db[_0x0207('0x3b')][_0x0207('0x1e')](_0x360052)[_0x0207('0x24')](function(_0x9527d7){_0x435e79['count']=_0x9527d7;if(_0x33b7dc[_0x0207('0x2e')][_0x0207('0x3c')]){_0x3a7dbd[_0x0207('0x3d')]=[{'all':!![]}];}return db[_0x0207('0x3b')][_0x0207('0x3e')](_0x3a7dbd);})['then'](function(_0x3dc87d){_0x435e79[_0x0207('0x3f')]=_0x3dc87d;return _0x435e79;})[_0x0207('0x24')](respondWithFilteredResult(_0x527cdb,_0x3a7dbd))[_0x0207('0x40')](handleError(_0x527cdb,null));};exports[_0x0207('0x41')]=function(_0x5a532b,_0x121e5c){var _0x151bfa={'raw':!![],'where':{'id':_0x5a532b[_0x0207('0x42')]['id']}},_0x4cce6a={};_0x4cce6a[_0x0207('0x2d')]=_[_0x0207('0x2f')](db[_0x0207('0x3b')][_0x0207('0x43')]);_0x4cce6a[_0x0207('0x2e')]=_[_0x0207('0x2f')](_0x5a532b[_0x0207('0x2e')]);_0x4cce6a[_0x0207('0x37')]=_[_0x0207('0x30')](_0x4cce6a[_0x0207('0x2d')],_0x4cce6a[_0x0207('0x2e')]);_0x151bfa[_0x0207('0x31')]=_['intersection'](_0x4cce6a[_0x0207('0x2d')],qs[_0x0207('0x32')](_0x5a532b[_0x0207('0x2e')][_0x0207('0x32')]));_0x151bfa['attributes']=_0x151bfa['attributes'][_0x0207('0x33')]?_0x151bfa['attributes']:_0x4cce6a[_0x0207('0x2d')];if(_0x5a532b[_0x0207('0x2e')]['includeAll']){_0x151bfa[_0x0207('0x3d')]=[{'all':!![]}];}_0x151bfa=_[_0x0207('0x39')]({},_0x151bfa,_0x5a532b[_0x0207('0x3a')]);return db['JscriptyAnswerReport'][_0x0207('0x44')](_0x151bfa)[_0x0207('0x24')](handleEntityNotFound(_0x121e5c,null))[_0x0207('0x24')](respondWithResult(_0x121e5c,null))['catch'](handleError(_0x121e5c,null));};exports[_0x0207('0x45')]=function(_0x25b94c,_0x33f716){return db[_0x0207('0x3b')]['create'](_0x25b94c[_0x0207('0x46')],{})[_0x0207('0x24')](respondWithResult(_0x33f716,0xc9))['catch'](handleError(_0x33f716,null));};exports['update']=function(_0x4ad321,_0x567782){if(_0x4ad321['body']['id']){delete _0x4ad321['body']['id'];}return db[_0x0207('0x3b')][_0x0207('0x44')]({'where':{'id':_0x4ad321[_0x0207('0x42')]['id']}})[_0x0207('0x24')](handleEntityNotFound(_0x567782,null))[_0x0207('0x24')](saveUpdates(_0x4ad321[_0x0207('0x46')],null))['then'](respondWithResult(_0x567782,null))['catch'](handleError(_0x567782,null));};exports[_0x0207('0x25')]=function(_0x22b375,_0x583536){return db['JscriptyAnswerReport']['find']({'where':{'id':_0x22b375[_0x0207('0x42')]['id']}})[_0x0207('0x24')](handleEntityNotFound(_0x583536,null))[_0x0207('0x24')](removeEntity(_0x583536,null))[_0x0207('0x40')](handleError(_0x583536,null));};exports[_0x0207('0x47')]=function(_0x3bdf14,_0x20f479){return db[_0x0207('0x3b')][_0x0207('0x47')]()['then'](respondWithResult(_0x20f479,null))[_0x0207('0x40')](handleError(_0x20f479,null));};
\ No newline at end of file