Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / smsTransferReport / smsTransferReport.controller.js
index e2f56c6..68eadb1 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xd846=['crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','then','destroy','error','name','send','map','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SmsTransferReport','includeAll','include','findAll','catch','show','length','body','update','find','describe','html-pdf','eml-format','rimraf','request-promise','mustache','util','sox','lodash','squel'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xd846,0x195));var _0x6d84=function(_0x3c7c0c,_0x2eee68){_0x3c7c0c=_0x3c7c0c-0x0;var _0x33d7b2=_0xd846[_0x3c7c0c];return _0x33d7b2;};'use strict';var pdf=require(_0x6d84('0x0'));var emlformat=require(_0x6d84('0x1'));var rimraf=require(_0x6d84('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x6d84('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6d84('0x4'));var util=require(_0x6d84('0x5'));var path=require('path');var sox=require(_0x6d84('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x6d84('0x7'));var squel=require(_0x6d84('0x8'));var crypto=require(_0x6d84('0x9'));var jsforce=require(_0x6d84('0xa'));var deskjs=require(_0x6d84('0xb'));var toCsv=require(_0x6d84('0xc'));var querystring=require(_0x6d84('0xd'));var Papa=require(_0x6d84('0xe'));var Redis=require(_0x6d84('0xf'));var authService=require(_0x6d84('0x10'));var qs=require(_0x6d84('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6d84('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x6d84('0x13'));var config=require(_0x6d84('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x35fbfd,_0xc9c489){_0xc9c489=_0xc9c489||0xcc;return function(_0x1b772e){if(_0x1b772e){return _0x35fbfd[_0x6d84('0x15')](_0xc9c489);}return _0x35fbfd[_0x6d84('0x16')](_0xc9c489)[_0x6d84('0x17')]();};}function respondWithResult(_0x492a0b,_0x1b4d95){_0x1b4d95=_0x1b4d95||0xc8;return function(_0x1d66dd){if(_0x1d66dd){return _0x492a0b[_0x6d84('0x16')](_0x1b4d95)[_0x6d84('0x18')](_0x1d66dd);}};}function respondWithFilteredResult(_0xfd8617,_0x40f7d1){return function(_0x560578){if(_0x560578){var _0x225564=_0x560578[_0x6d84('0x19')],_0x2352c4=_0x40f7d1[_0x6d84('0x1a')],_0x568062=_0x40f7d1[_0x6d84('0x1a')]+_0x40f7d1[_0x6d84('0x1b')],_0xa26940;if(_0x568062>=_0x225564){_0x568062=_0x225564;_0xa26940=0xc8;}else{_0xa26940=0xce;}_0xfd8617[_0x6d84('0x16')](_0xa26940);return _0xfd8617[_0x6d84('0x1c')]('Content-Range',_0x2352c4+'-'+_0x568062+'/'+_0x225564)['json'](_0x560578);}return null;};}function patchUpdates(_0x4dd8af){return function(_0x59344e){try{jsonpatch[_0x6d84('0x1d')](_0x59344e,_0x4dd8af,!![]);}catch(_0x38cdbb){return BPromise[_0x6d84('0x1e')](_0x38cdbb);}return _0x59344e[_0x6d84('0x1f')]();};}function saveUpdates(_0x2a5c63,_0x320b0b){return function(_0x107403){if(_0x107403){return _0x107403['update'](_0x2a5c63)[_0x6d84('0x20')](function(_0x4b6a46){return _0x4b6a46;});}return null;};}function removeEntity(_0x450e9b,_0x561895){return function(_0x3d846f){if(_0x3d846f){return _0x3d846f[_0x6d84('0x21')]()[_0x6d84('0x20')](function(){_0x450e9b[_0x6d84('0x16')](0xcc)[_0x6d84('0x17')]();});}};}function handleEntityNotFound(_0x464b88,_0x383ccd){return function(_0x100376){if(!_0x100376){_0x464b88['sendStatus'](0x194);}return _0x100376;};}function handleError(_0x117369,_0x19a7ab){_0x19a7ab=_0x19a7ab||0x1f4;return function(_0x1add21){logger[_0x6d84('0x22')](_0x1add21['stack']);if(_0x1add21['name']){delete _0x1add21[_0x6d84('0x23')];}_0x117369[_0x6d84('0x16')](_0x19a7ab)[_0x6d84('0x24')](_0x1add21);};}exports['index']=function(_0x1bfc9c,_0x11a472){var _0x3dc46b={},_0x392e33={},_0x2c9e5b={'count':0x0,'rows':[]};var _0x5d1fa3=_[_0x6d84('0x25')](db['SmsTransferReport'][_0x6d84('0x26')],function(_0x283cd0){return{'name':_0x283cd0[_0x6d84('0x27')],'type':_0x283cd0[_0x6d84('0x28')][_0x6d84('0x29')]};});_0x392e33['model']=_[_0x6d84('0x25')](_0x5d1fa3,_0x6d84('0x23'));_0x392e33[_0x6d84('0x2a')]=_[_0x6d84('0x2b')](_0x1bfc9c[_0x6d84('0x2a')]);_0x392e33[_0x6d84('0x2c')]=_['intersection'](_0x392e33[_0x6d84('0x2d')],_0x392e33[_0x6d84('0x2a')]);_0x3dc46b[_0x6d84('0x2e')]=_[_0x6d84('0x2f')](_0x392e33['model'],qs[_0x6d84('0x30')](_0x1bfc9c[_0x6d84('0x2a')][_0x6d84('0x30')]));_0x3dc46b['attributes']=_0x3dc46b[_0x6d84('0x2e')]['length']?_0x3dc46b[_0x6d84('0x2e')]:_0x392e33[_0x6d84('0x2d')];if(!_0x1bfc9c[_0x6d84('0x2a')]['hasOwnProperty'](_0x6d84('0x31'))){_0x3dc46b[_0x6d84('0x1b')]=qs['limit'](_0x1bfc9c['query'][_0x6d84('0x1b')]);_0x3dc46b[_0x6d84('0x1a')]=qs[_0x6d84('0x1a')](_0x1bfc9c[_0x6d84('0x2a')]['offset']);}_0x3dc46b[_0x6d84('0x32')]=qs['sort'](_0x1bfc9c[_0x6d84('0x2a')][_0x6d84('0x33')]);_0x3dc46b[_0x6d84('0x34')]=qs[_0x6d84('0x2c')](_[_0x6d84('0x35')](_0x1bfc9c[_0x6d84('0x2a')],_0x392e33['filters']),_0x5d1fa3);if(_0x1bfc9c[_0x6d84('0x2a')][_0x6d84('0x36')]){_0x3dc46b[_0x6d84('0x34')]=_[_0x6d84('0x37')](_0x3dc46b[_0x6d84('0x34')],{'$or':_[_0x6d84('0x25')](_0x5d1fa3,function(_0x513b3c){if(_0x513b3c[_0x6d84('0x28')]!==_0x6d84('0x38')){var _0x27cfe2={};_0x27cfe2[_0x513b3c[_0x6d84('0x23')]]={'$like':'%'+_0x1bfc9c[_0x6d84('0x2a')][_0x6d84('0x36')]+'%'};return _0x27cfe2;}})});}_0x3dc46b=_[_0x6d84('0x37')]({},_0x3dc46b,_0x1bfc9c[_0x6d84('0x39')]);var _0x1f1471={'where':_0x3dc46b[_0x6d84('0x34')]};return db[_0x6d84('0x3a')][_0x6d84('0x19')](_0x1f1471)[_0x6d84('0x20')](function(_0x12d6bf){_0x2c9e5b[_0x6d84('0x19')]=_0x12d6bf;if(_0x1bfc9c[_0x6d84('0x2a')][_0x6d84('0x3b')]){_0x3dc46b[_0x6d84('0x3c')]=[{'all':!![]}];}return db[_0x6d84('0x3a')][_0x6d84('0x3d')](_0x3dc46b);})[_0x6d84('0x20')](function(_0x205918){_0x2c9e5b['rows']=_0x205918;return _0x2c9e5b;})[_0x6d84('0x20')](respondWithFilteredResult(_0x11a472,_0x3dc46b))[_0x6d84('0x3e')](handleError(_0x11a472,null));};exports[_0x6d84('0x3f')]=function(_0x4fa168,_0x2aac29){var _0xd4083e={'raw':!![],'where':{'id':_0x4fa168['params']['id']}},_0x3dfcb5={};_0x3dfcb5[_0x6d84('0x2d')]=_[_0x6d84('0x2b')](db[_0x6d84('0x3a')][_0x6d84('0x26')]);_0x3dfcb5[_0x6d84('0x2a')]=_[_0x6d84('0x2b')](_0x4fa168[_0x6d84('0x2a')]);_0x3dfcb5[_0x6d84('0x2c')]=_[_0x6d84('0x2f')](_0x3dfcb5[_0x6d84('0x2d')],_0x3dfcb5[_0x6d84('0x2a')]);_0xd4083e[_0x6d84('0x2e')]=_[_0x6d84('0x2f')](_0x3dfcb5[_0x6d84('0x2d')],qs[_0x6d84('0x30')](_0x4fa168[_0x6d84('0x2a')][_0x6d84('0x30')]));_0xd4083e[_0x6d84('0x2e')]=_0xd4083e[_0x6d84('0x2e')][_0x6d84('0x40')]?_0xd4083e[_0x6d84('0x2e')]:_0x3dfcb5[_0x6d84('0x2d')];if(_0x4fa168[_0x6d84('0x2a')][_0x6d84('0x3b')]){_0xd4083e[_0x6d84('0x3c')]=[{'all':!![]}];}_0xd4083e=_[_0x6d84('0x37')]({},_0xd4083e,_0x4fa168['options']);return db[_0x6d84('0x3a')]['find'](_0xd4083e)['then'](handleEntityNotFound(_0x2aac29,null))[_0x6d84('0x20')](respondWithResult(_0x2aac29,null))[_0x6d84('0x3e')](handleError(_0x2aac29,null));};exports['create']=function(_0x3db3c7,_0x2ecd66){return db[_0x6d84('0x3a')]['create'](_0x3db3c7[_0x6d84('0x41')],{})[_0x6d84('0x20')](respondWithResult(_0x2ecd66,0xc9))['catch'](handleError(_0x2ecd66,null));};exports[_0x6d84('0x42')]=function(_0x5ce014,_0x45a306){if(_0x5ce014[_0x6d84('0x41')]['id']){delete _0x5ce014[_0x6d84('0x41')]['id'];}return db[_0x6d84('0x3a')][_0x6d84('0x43')]({'where':{'id':_0x5ce014['params']['id']}})['then'](handleEntityNotFound(_0x45a306,null))['then'](saveUpdates(_0x5ce014[_0x6d84('0x41')],null))[_0x6d84('0x20')](respondWithResult(_0x45a306,null))[_0x6d84('0x3e')](handleError(_0x45a306,null));};exports[_0x6d84('0x21')]=function(_0x2e5604,_0x31283a){return db[_0x6d84('0x3a')][_0x6d84('0x43')]({'where':{'id':_0x2e5604['params']['id']}})['then'](handleEntityNotFound(_0x31283a,null))[_0x6d84('0x20')](removeEntity(_0x31283a,null))['catch'](handleError(_0x31283a,null));};exports[_0x6d84('0x44')]=function(_0x4a84da,_0x5ac281){return db['SmsTransferReport']['describe']()[_0x6d84('0x20')](respondWithResult(_0x5ac281,null))['catch'](handleError(_0x5ac281,null));};
\ No newline at end of file
+var _0x544a=['offset','limit','set','Content-Range','reject','save','then','error','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','SmsTransferReport','fields','find','create','body','update','destroy','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count'];(function(_0x1797b6,_0x404895){var _0x5688f5=function(_0x44b3a4){while(--_0x44b3a4){_0x1797b6['push'](_0x1797b6['shift']());}};_0x5688f5(++_0x404895);}(_0x544a,0xbd));var _0xa544=function(_0x4d4a14,_0x18efc7){_0x4d4a14=_0x4d4a14-0x0;var _0x292f6e=_0x544a[_0x4d4a14];return _0x292f6e;};'use strict';var pdf=require(_0xa544('0x0'));var emlformat=require(_0xa544('0x1'));var rimraf=require(_0xa544('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa544('0x3'));var moment=require('moment');var BPromise=require(_0xa544('0x4'));var Mustache=require(_0xa544('0x5'));var util=require('util');var path=require(_0xa544('0x6'));var sox=require(_0xa544('0x7'));var csv=require(_0xa544('0x8'));var ejs=require(_0xa544('0x9'));var fs=require('fs');var _=require(_0xa544('0xa'));var squel=require('squel');var crypto=require(_0xa544('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa544('0xc'));var toCsv=require(_0xa544('0x8'));var querystring=require('querystring');var Papa=require(_0xa544('0xd'));var Redis=require(_0xa544('0xe'));var authService=require(_0xa544('0xf'));var qs=require(_0xa544('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa544('0x11'));var logger=require(_0xa544('0x12'))('api');var utils=require(_0xa544('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xa544('0x14'));var db=require(_0xa544('0x15'))['db'];function respondWithStatusCode(_0x4ca317,_0x310bd4){_0x310bd4=_0x310bd4||0xcc;return function(_0x272364){if(_0x272364){return _0x4ca317[_0xa544('0x16')](_0x310bd4);}return _0x4ca317[_0xa544('0x17')](_0x310bd4)[_0xa544('0x18')]();};}function respondWithResult(_0x40404a,_0x1ffda8){_0x1ffda8=_0x1ffda8||0xc8;return function(_0x4261d5){if(_0x4261d5){return _0x40404a[_0xa544('0x17')](_0x1ffda8)[_0xa544('0x19')](_0x4261d5);}};}function respondWithFilteredResult(_0x76e46d,_0x2cfc7a){return function(_0x4cb09c){if(_0x4cb09c){var _0xf285db=_0x4cb09c[_0xa544('0x1a')],_0x127ae5=_0x2cfc7a[_0xa544('0x1b')],_0x5341f1=_0x2cfc7a[_0xa544('0x1b')]+_0x2cfc7a[_0xa544('0x1c')],_0x9093bd;if(_0x5341f1>=_0xf285db){_0x5341f1=_0xf285db;_0x9093bd=0xc8;}else{_0x9093bd=0xce;}_0x76e46d[_0xa544('0x17')](_0x9093bd);return _0x76e46d[_0xa544('0x1d')](_0xa544('0x1e'),_0x127ae5+'-'+_0x5341f1+'/'+_0xf285db)[_0xa544('0x19')](_0x4cb09c);}return null;};}function patchUpdates(_0x1cb087){return function(_0x4f91ec){try{jsonpatch['apply'](_0x4f91ec,_0x1cb087,!![]);}catch(_0x51c042){return BPromise[_0xa544('0x1f')](_0x51c042);}return _0x4f91ec[_0xa544('0x20')]();};}function saveUpdates(_0x57a154,_0x453b93){return function(_0xa644ba){if(_0xa644ba){return _0xa644ba['update'](_0x57a154)[_0xa544('0x21')](function(_0x2a5029){return _0x2a5029;});}return null;};}function removeEntity(_0x2d332e,_0xb7df3d){return function(_0x5cb6ad){if(_0x5cb6ad){return _0x5cb6ad['destroy']()['then'](function(){_0x2d332e[_0xa544('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x407a61,_0x3794e3){return function(_0x11a6db){if(!_0x11a6db){_0x407a61[_0xa544('0x16')](0x194);}return _0x11a6db;};}function handleError(_0x14a587,_0x13150b){_0x13150b=_0x13150b||0x1f4;return function(_0xcd7bfa){logger[_0xa544('0x22')](_0xcd7bfa[_0xa544('0x23')]);if(_0xcd7bfa['name']){delete _0xcd7bfa[_0xa544('0x24')];}_0x14a587[_0xa544('0x17')](_0x13150b)['send'](_0xcd7bfa);};}exports[_0xa544('0x25')]=function(_0x116924,_0x43db5b){var _0x4fdf9e={},_0x1cc970={},_0x925a20={'count':0x0,'rows':[]};var _0x2939db=_[_0xa544('0x26')](db['SmsTransferReport'][_0xa544('0x27')],function(_0x290c45){return{'name':_0x290c45[_0xa544('0x28')],'type':_0x290c45['type'][_0xa544('0x29')]};});_0x1cc970[_0xa544('0x2a')]=_['map'](_0x2939db,'name');_0x1cc970[_0xa544('0x2b')]=_[_0xa544('0x2c')](_0x116924[_0xa544('0x2b')]);_0x1cc970['filters']=_[_0xa544('0x2d')](_0x1cc970[_0xa544('0x2a')],_0x1cc970[_0xa544('0x2b')]);_0x4fdf9e['attributes']=_[_0xa544('0x2d')](_0x1cc970[_0xa544('0x2a')],qs['fields'](_0x116924[_0xa544('0x2b')]['fields']));_0x4fdf9e[_0xa544('0x2e')]=_0x4fdf9e[_0xa544('0x2e')][_0xa544('0x2f')]?_0x4fdf9e['attributes']:_0x1cc970['model'];if(!_0x116924[_0xa544('0x2b')][_0xa544('0x30')](_0xa544('0x31'))){_0x4fdf9e['limit']=qs['limit'](_0x116924[_0xa544('0x2b')][_0xa544('0x1c')]);_0x4fdf9e[_0xa544('0x1b')]=qs['offset'](_0x116924['query'][_0xa544('0x1b')]);}_0x4fdf9e[_0xa544('0x32')]=qs[_0xa544('0x33')](_0x116924[_0xa544('0x2b')][_0xa544('0x33')]);_0x4fdf9e[_0xa544('0x34')]=qs[_0xa544('0x35')](_['pick'](_0x116924[_0xa544('0x2b')],_0x1cc970[_0xa544('0x35')]),_0x2939db);if(_0x116924[_0xa544('0x2b')][_0xa544('0x36')]){_0x4fdf9e['where']=_[_0xa544('0x37')](_0x4fdf9e[_0xa544('0x34')],{'$or':_[_0xa544('0x26')](_0x2939db,function(_0x31b81d){if(_0x31b81d['type']!==_0xa544('0x38')){var _0x2a89c9={};_0x2a89c9[_0x31b81d[_0xa544('0x24')]]={'$like':'%'+_0x116924['query'][_0xa544('0x36')]+'%'};return _0x2a89c9;}})});}_0x4fdf9e=_[_0xa544('0x37')]({},_0x4fdf9e,_0x116924[_0xa544('0x39')]);var _0x28e888={'where':_0x4fdf9e['where']};return db['SmsTransferReport'][_0xa544('0x1a')](_0x28e888)[_0xa544('0x21')](function(_0x50c517){_0x925a20[_0xa544('0x1a')]=_0x50c517;if(_0x116924[_0xa544('0x2b')][_0xa544('0x3a')]){_0x4fdf9e[_0xa544('0x3b')]=[{'all':!![]}];}return db['SmsTransferReport'][_0xa544('0x3c')](_0x4fdf9e);})['then'](function(_0x564771){_0x925a20[_0xa544('0x3d')]=_0x564771;return _0x925a20;})[_0xa544('0x21')](respondWithFilteredResult(_0x43db5b,_0x4fdf9e))[_0xa544('0x3e')](handleError(_0x43db5b,null));};exports[_0xa544('0x3f')]=function(_0x42fcce,_0x2d0a52){var _0x70c14b={'raw':!![],'where':{'id':_0x42fcce[_0xa544('0x40')]['id']}},_0x1a5b73={};_0x1a5b73[_0xa544('0x2a')]=_['keys'](db[_0xa544('0x41')][_0xa544('0x27')]);_0x1a5b73['query']=_['keys'](_0x42fcce[_0xa544('0x2b')]);_0x1a5b73[_0xa544('0x35')]=_['intersection'](_0x1a5b73[_0xa544('0x2a')],_0x1a5b73['query']);_0x70c14b[_0xa544('0x2e')]=_[_0xa544('0x2d')](_0x1a5b73[_0xa544('0x2a')],qs[_0xa544('0x42')](_0x42fcce[_0xa544('0x2b')][_0xa544('0x42')]));_0x70c14b['attributes']=_0x70c14b['attributes'][_0xa544('0x2f')]?_0x70c14b[_0xa544('0x2e')]:_0x1a5b73[_0xa544('0x2a')];if(_0x42fcce['query']['includeAll']){_0x70c14b[_0xa544('0x3b')]=[{'all':!![]}];}_0x70c14b=_[_0xa544('0x37')]({},_0x70c14b,_0x42fcce[_0xa544('0x39')]);return db[_0xa544('0x41')][_0xa544('0x43')](_0x70c14b)[_0xa544('0x21')](handleEntityNotFound(_0x2d0a52,null))[_0xa544('0x21')](respondWithResult(_0x2d0a52,null))[_0xa544('0x3e')](handleError(_0x2d0a52,null));};exports[_0xa544('0x44')]=function(_0x74346e,_0x55951d){return db[_0xa544('0x41')][_0xa544('0x44')](_0x74346e[_0xa544('0x45')],{})[_0xa544('0x21')](respondWithResult(_0x55951d,0xc9))[_0xa544('0x3e')](handleError(_0x55951d,null));};exports[_0xa544('0x46')]=function(_0x4ed3de,_0x5bfb1b){if(_0x4ed3de[_0xa544('0x45')]['id']){delete _0x4ed3de[_0xa544('0x45')]['id'];}return db[_0xa544('0x41')][_0xa544('0x43')]({'where':{'id':_0x4ed3de[_0xa544('0x40')]['id']}})[_0xa544('0x21')](handleEntityNotFound(_0x5bfb1b,null))[_0xa544('0x21')](saveUpdates(_0x4ed3de['body'],null))['then'](respondWithResult(_0x5bfb1b,null))[_0xa544('0x3e')](handleError(_0x5bfb1b,null));};exports[_0xa544('0x47')]=function(_0x987504,_0x2da6e5){return db[_0xa544('0x41')]['find']({'where':{'id':_0x987504[_0xa544('0x40')]['id']}})[_0xa544('0x21')](handleEntityNotFound(_0x2da6e5,null))[_0xa544('0x21')](removeEntity(_0x2da6e5,null))[_0xa544('0x3e')](handleError(_0x2da6e5,null));};exports['describe']=function(_0x909aa9,_0x1b8e91){return db[_0xa544('0x41')]['describe']()[_0xa544('0x21')](respondWithResult(_0x1b8e91,null))[_0xa544('0x3e')](handleError(_0x1b8e91,null));};
\ No newline at end of file