Built motion from commit (unavailable).|2.5.22
[motion2.git] / server / api / faxTransferReport / faxTransferReport.controller.js
index 60fb5ef..acc224c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xadb5=['map','fieldName','type','key','model','query','keys','filters','intersection','attributes','nolimit','order','sort','where','VIRTUAL','merge','options','FaxTransferReport','findAll','rows','catch','show','rawAttributes','fields','includeAll','include','find','create','body','update','describe','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','count','offset','limit','set','json','reject','save','then','destroy','stack','name','send','index'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0xadb5,0xad));var _0x5adb=function(_0x3e6069,_0x225230){_0x3e6069=_0x3e6069-0x0;var _0xf882e6=_0xadb5[_0x3e6069];return _0xf882e6;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5adb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5adb('0x1'));var jsonpatch=require(_0x5adb('0x2'));var rp=require(_0x5adb('0x3'));var moment=require('moment');var BPromise=require(_0x5adb('0x4'));var Mustache=require(_0x5adb('0x5'));var util=require(_0x5adb('0x6'));var path=require('path');var sox=require(_0x5adb('0x7'));var csv=require(_0x5adb('0x8'));var ejs=require(_0x5adb('0x9'));var fs=require('fs');var _=require(_0x5adb('0xa'));var squel=require(_0x5adb('0xb'));var crypto=require(_0x5adb('0xc'));var jsforce=require(_0x5adb('0xd'));var deskjs=require(_0x5adb('0xe'));var toCsv=require(_0x5adb('0x8'));var querystring=require(_0x5adb('0xf'));var Papa=require(_0x5adb('0x10'));var Redis=require(_0x5adb('0x11'));var authService=require(_0x5adb('0x12'));var qs=require(_0x5adb('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5adb('0x14'))(_0x5adb('0x15'));var utils=require(_0x5adb('0x16'));var config=require('../../config/environment');var db=require(_0x5adb('0x17'))['db'];function respondWithStatusCode(_0x56012f,_0x2a0b70){_0x2a0b70=_0x2a0b70||0xcc;return function(_0x5433bf){if(_0x5433bf){return _0x56012f[_0x5adb('0x18')](_0x2a0b70);}return _0x56012f[_0x5adb('0x19')](_0x2a0b70)[_0x5adb('0x1a')]();};}function respondWithResult(_0x5c929a,_0x2a545b){_0x2a545b=_0x2a545b||0xc8;return function(_0x34af2c){if(_0x34af2c){return _0x5c929a[_0x5adb('0x19')](_0x2a545b)['json'](_0x34af2c);}};}function respondWithFilteredResult(_0x2312de,_0x518823){return function(_0x367d82){if(_0x367d82){var _0x42a482=_0x367d82[_0x5adb('0x1b')],_0x30614e=_0x518823[_0x5adb('0x1c')],_0x304784=_0x518823[_0x5adb('0x1c')]+_0x518823[_0x5adb('0x1d')],_0x1c0f97;if(_0x304784>=_0x42a482){_0x304784=_0x42a482;_0x1c0f97=0xc8;}else{_0x1c0f97=0xce;}_0x2312de['status'](_0x1c0f97);return _0x2312de[_0x5adb('0x1e')]('Content-Range',_0x30614e+'-'+_0x304784+'/'+_0x42a482)[_0x5adb('0x1f')](_0x367d82);}return null;};}function patchUpdates(_0x558f76){return function(_0x3ef465){try{jsonpatch['apply'](_0x3ef465,_0x558f76,!![]);}catch(_0x5e218c){return BPromise[_0x5adb('0x20')](_0x5e218c);}return _0x3ef465[_0x5adb('0x21')]();};}function saveUpdates(_0x438671,_0x1fd4a7){return function(_0x99bc6c){if(_0x99bc6c){return _0x99bc6c['update'](_0x438671)[_0x5adb('0x22')](function(_0x5c296e){return _0x5c296e;});}return null;};}function removeEntity(_0x4e9f16,_0x3754cc){return function(_0x379b33){if(_0x379b33){return _0x379b33[_0x5adb('0x23')]()[_0x5adb('0x22')](function(){_0x4e9f16[_0x5adb('0x19')](0xcc)[_0x5adb('0x1a')]();});}};}function handleEntityNotFound(_0xfd9bb9,_0x4ca150){return function(_0x4b1957){if(!_0x4b1957){_0xfd9bb9[_0x5adb('0x18')](0x194);}return _0x4b1957;};}function handleError(_0x3220cd,_0x3839fb){_0x3839fb=_0x3839fb||0x1f4;return function(_0xeb556c){logger['error'](_0xeb556c[_0x5adb('0x24')]);if(_0xeb556c[_0x5adb('0x25')]){delete _0xeb556c['name'];}_0x3220cd[_0x5adb('0x19')](_0x3839fb)[_0x5adb('0x26')](_0xeb556c);};}exports[_0x5adb('0x27')]=function(_0x55b40a,_0x13ad1d){var _0xbe21b1={},_0x3a4fca={},_0x2c64a3={'count':0x0,'rows':[]};var _0x36459b=_[_0x5adb('0x28')](db['FaxTransferReport']['rawAttributes'],function(_0x5d457e){return{'name':_0x5d457e[_0x5adb('0x29')],'type':_0x5d457e[_0x5adb('0x2a')][_0x5adb('0x2b')]};});_0x3a4fca[_0x5adb('0x2c')]=_[_0x5adb('0x28')](_0x36459b,'name');_0x3a4fca[_0x5adb('0x2d')]=_[_0x5adb('0x2e')](_0x55b40a[_0x5adb('0x2d')]);_0x3a4fca[_0x5adb('0x2f')]=_[_0x5adb('0x30')](_0x3a4fca[_0x5adb('0x2c')],_0x3a4fca[_0x5adb('0x2d')]);_0xbe21b1[_0x5adb('0x31')]=_[_0x5adb('0x30')](_0x3a4fca[_0x5adb('0x2c')],qs['fields'](_0x55b40a[_0x5adb('0x2d')]['fields']));_0xbe21b1[_0x5adb('0x31')]=_0xbe21b1[_0x5adb('0x31')]['length']?_0xbe21b1[_0x5adb('0x31')]:_0x3a4fca[_0x5adb('0x2c')];if(!_0x55b40a[_0x5adb('0x2d')]['hasOwnProperty'](_0x5adb('0x32'))){_0xbe21b1[_0x5adb('0x1d')]=qs['limit'](_0x55b40a['query'][_0x5adb('0x1d')]);_0xbe21b1['offset']=qs[_0x5adb('0x1c')](_0x55b40a[_0x5adb('0x2d')][_0x5adb('0x1c')]);}_0xbe21b1[_0x5adb('0x33')]=qs[_0x5adb('0x34')](_0x55b40a['query'][_0x5adb('0x34')]);_0xbe21b1[_0x5adb('0x35')]=qs[_0x5adb('0x2f')](_['pick'](_0x55b40a['query'],_0x3a4fca[_0x5adb('0x2f')]),_0x36459b);if(_0x55b40a[_0x5adb('0x2d')]['filter']){_0xbe21b1[_0x5adb('0x35')]=_['merge'](_0xbe21b1[_0x5adb('0x35')],{'$or':_['map'](_0x36459b,function(_0x11cb37){if(_0x11cb37['type']!==_0x5adb('0x36')){var _0x23a1db={};_0x23a1db[_0x11cb37['name']]={'$like':'%'+_0x55b40a[_0x5adb('0x2d')]['filter']+'%'};return _0x23a1db;}})});}_0xbe21b1=_[_0x5adb('0x37')]({},_0xbe21b1,_0x55b40a[_0x5adb('0x38')]);var _0xd5660c={'where':_0xbe21b1['where']};return db[_0x5adb('0x39')][_0x5adb('0x1b')](_0xd5660c)[_0x5adb('0x22')](function(_0x132803){_0x2c64a3[_0x5adb('0x1b')]=_0x132803;if(_0x55b40a['query']['includeAll']){_0xbe21b1['include']=[{'all':!![]}];}return db['FaxTransferReport'][_0x5adb('0x3a')](_0xbe21b1);})[_0x5adb('0x22')](function(_0x3a104a){_0x2c64a3[_0x5adb('0x3b')]=_0x3a104a;return _0x2c64a3;})[_0x5adb('0x22')](respondWithFilteredResult(_0x13ad1d,_0xbe21b1))[_0x5adb('0x3c')](handleError(_0x13ad1d,null));};exports[_0x5adb('0x3d')]=function(_0x3bf282,_0x478a70){var _0x53f2c6={'raw':!![],'where':{'id':_0x3bf282['params']['id']}},_0x27dbb7={};_0x27dbb7[_0x5adb('0x2c')]=_[_0x5adb('0x2e')](db[_0x5adb('0x39')][_0x5adb('0x3e')]);_0x27dbb7[_0x5adb('0x2d')]=_['keys'](_0x3bf282[_0x5adb('0x2d')]);_0x27dbb7[_0x5adb('0x2f')]=_['intersection'](_0x27dbb7[_0x5adb('0x2c')],_0x27dbb7[_0x5adb('0x2d')]);_0x53f2c6['attributes']=_[_0x5adb('0x30')](_0x27dbb7[_0x5adb('0x2c')],qs[_0x5adb('0x3f')](_0x3bf282[_0x5adb('0x2d')][_0x5adb('0x3f')]));_0x53f2c6[_0x5adb('0x31')]=_0x53f2c6[_0x5adb('0x31')]['length']?_0x53f2c6['attributes']:_0x27dbb7[_0x5adb('0x2c')];if(_0x3bf282[_0x5adb('0x2d')][_0x5adb('0x40')]){_0x53f2c6[_0x5adb('0x41')]=[{'all':!![]}];}_0x53f2c6=_['merge']({},_0x53f2c6,_0x3bf282['options']);return db[_0x5adb('0x39')][_0x5adb('0x42')](_0x53f2c6)[_0x5adb('0x22')](handleEntityNotFound(_0x478a70,null))[_0x5adb('0x22')](respondWithResult(_0x478a70,null))[_0x5adb('0x3c')](handleError(_0x478a70,null));};exports['create']=function(_0x182cbc,_0x437f52){return db['FaxTransferReport'][_0x5adb('0x43')](_0x182cbc[_0x5adb('0x44')],{})[_0x5adb('0x22')](respondWithResult(_0x437f52,0xc9))[_0x5adb('0x3c')](handleError(_0x437f52,null));};exports[_0x5adb('0x45')]=function(_0x3a5409,_0x39840e){if(_0x3a5409[_0x5adb('0x44')]['id']){delete _0x3a5409['body']['id'];}return db[_0x5adb('0x39')]['find']({'where':{'id':_0x3a5409['params']['id']}})['then'](handleEntityNotFound(_0x39840e,null))[_0x5adb('0x22')](saveUpdates(_0x3a5409[_0x5adb('0x44')],null))[_0x5adb('0x22')](respondWithResult(_0x39840e,null))['catch'](handleError(_0x39840e,null));};exports[_0x5adb('0x23')]=function(_0x5cbab5,_0x177a81){return db[_0x5adb('0x39')][_0x5adb('0x42')]({'where':{'id':_0x5cbab5['params']['id']}})[_0x5adb('0x22')](handleEntityNotFound(_0x177a81,null))['then'](removeEntity(_0x177a81,null))[_0x5adb('0x3c')](handleError(_0x177a81,null));};exports[_0x5adb('0x46')]=function(_0x55c535,_0x2402a3){return db[_0x5adb('0x39')][_0x5adb('0x46')]()[_0x5adb('0x22')](respondWithResult(_0x2402a3,null))[_0x5adb('0x3c')](handleError(_0x2402a3,null));};
\ No newline at end of file
+var _0x4250=['merge','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','find','create','body','describe','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','sendStatus','end','json','count','offset','limit','status','set','Content-Range','apply','reject','save','update','destroy','then','error','name','send','index','map','FaxTransferReport','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter'];(function(_0x3dba3f,_0x4c0925){var _0x74c474=function(_0x44babd){while(--_0x44babd){_0x3dba3f['push'](_0x3dba3f['shift']());}};_0x74c474(++_0x4c0925);}(_0x4250,0x146));var _0x0425=function(_0x45e98e,_0x169b60){_0x45e98e=_0x45e98e-0x0;var _0x374dba=_0x4250[_0x45e98e];return _0x374dba;};'use strict';var pdf=require(_0x0425('0x0'));var emlformat=require(_0x0425('0x1'));var rimraf=require(_0x0425('0x2'));var zipdir=require(_0x0425('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0425('0x4'));var moment=require(_0x0425('0x5'));var BPromise=require(_0x0425('0x6'));var Mustache=require('mustache');var util=require(_0x0425('0x7'));var path=require(_0x0425('0x8'));var sox=require(_0x0425('0x9'));var csv=require(_0x0425('0xa'));var ejs=require(_0x0425('0xb'));var fs=require('fs');var _=require(_0x0425('0xc'));var squel=require(_0x0425('0xd'));var crypto=require(_0x0425('0xe'));var jsforce=require(_0x0425('0xf'));var deskjs=require(_0x0425('0x10'));var toCsv=require(_0x0425('0xa'));var querystring=require(_0x0425('0x11'));var Papa=require(_0x0425('0x12'));var Redis=require(_0x0425('0x13'));var authService=require(_0x0425('0x14'));var qs=require(_0x0425('0x15'));var as=require(_0x0425('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0425('0x17'));var utils=require('../../config/utils');var config=require(_0x0425('0x18'));var licenseUtil=require(_0x0425('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x107fe1,_0x24dd34){_0x24dd34=_0x24dd34||0xcc;return function(_0x1c67ec){if(_0x1c67ec){return _0x107fe1[_0x0425('0x1a')](_0x24dd34);}return _0x107fe1['status'](_0x24dd34)[_0x0425('0x1b')]();};}function respondWithResult(_0x23e4fb,_0x5be3af){_0x5be3af=_0x5be3af||0xc8;return function(_0x4c8c50){if(_0x4c8c50){return _0x23e4fb['status'](_0x5be3af)[_0x0425('0x1c')](_0x4c8c50);}};}function respondWithFilteredResult(_0x33afcb,_0x1cd255){return function(_0x4a6389){if(_0x4a6389){var _0x4e439a=_0x4a6389[_0x0425('0x1d')],_0xe39d40=_0x1cd255[_0x0425('0x1e')],_0x326425=_0x1cd255[_0x0425('0x1e')]+_0x1cd255[_0x0425('0x1f')],_0x12095a;if(_0x326425>=_0x4e439a){_0x326425=_0x4e439a;_0x12095a=0xc8;}else{_0x12095a=0xce;}_0x33afcb[_0x0425('0x20')](_0x12095a);return _0x33afcb[_0x0425('0x21')](_0x0425('0x22'),_0xe39d40+'-'+_0x326425+'/'+_0x4e439a)['json'](_0x4a6389);}return null;};}function patchUpdates(_0x33678a){return function(_0x157042){try{jsonpatch[_0x0425('0x23')](_0x157042,_0x33678a,!![]);}catch(_0x41f9c7){return BPromise[_0x0425('0x24')](_0x41f9c7);}return _0x157042[_0x0425('0x25')]();};}function saveUpdates(_0x152cf7,_0x34765d){return function(_0x17b1c4){if(_0x17b1c4){return _0x17b1c4[_0x0425('0x26')](_0x152cf7)['then'](function(_0x225906){return _0x225906;});}return null;};}function removeEntity(_0x573ba9,_0x4bcab6){return function(_0x1c4cd3){if(_0x1c4cd3){return _0x1c4cd3[_0x0425('0x27')]()[_0x0425('0x28')](function(){_0x573ba9[_0x0425('0x20')](0xcc)[_0x0425('0x1b')]();});}};}function handleEntityNotFound(_0x347c29,_0x95eceb){return function(_0x4d3c0f){if(!_0x4d3c0f){_0x347c29[_0x0425('0x1a')](0x194);}return _0x4d3c0f;};}function handleError(_0x4d3f93,_0xd7adb4){_0xd7adb4=_0xd7adb4||0x1f4;return function(_0x1d53a9){logger[_0x0425('0x29')](_0x1d53a9['stack']);if(_0x1d53a9[_0x0425('0x2a')]){delete _0x1d53a9[_0x0425('0x2a')];}_0x4d3f93[_0x0425('0x20')](_0xd7adb4)[_0x0425('0x2b')](_0x1d53a9);};}exports[_0x0425('0x2c')]=function(_0x2bbcd0,_0x36146d){var _0x43db4f={},_0x13d82a={},_0x154aa5={'count':0x0,'rows':[]};var _0x120a5b=_[_0x0425('0x2d')](db[_0x0425('0x2e')]['rawAttributes'],function(_0x1a47a4){return{'name':_0x1a47a4[_0x0425('0x2f')],'type':_0x1a47a4[_0x0425('0x30')][_0x0425('0x31')]};});_0x13d82a[_0x0425('0x32')]=_[_0x0425('0x2d')](_0x120a5b,_0x0425('0x2a'));_0x13d82a[_0x0425('0x33')]=_[_0x0425('0x34')](_0x2bbcd0[_0x0425('0x33')]);_0x13d82a[_0x0425('0x35')]=_[_0x0425('0x36')](_0x13d82a[_0x0425('0x32')],_0x13d82a[_0x0425('0x33')]);_0x43db4f[_0x0425('0x37')]=_[_0x0425('0x36')](_0x13d82a[_0x0425('0x32')],qs[_0x0425('0x38')](_0x2bbcd0[_0x0425('0x33')][_0x0425('0x38')]));_0x43db4f[_0x0425('0x37')]=_0x43db4f[_0x0425('0x37')][_0x0425('0x39')]?_0x43db4f[_0x0425('0x37')]:_0x13d82a['model'];if(!_0x2bbcd0[_0x0425('0x33')]['hasOwnProperty'](_0x0425('0x3a'))){_0x43db4f[_0x0425('0x1f')]=qs[_0x0425('0x1f')](_0x2bbcd0[_0x0425('0x33')][_0x0425('0x1f')]);_0x43db4f['offset']=qs[_0x0425('0x1e')](_0x2bbcd0['query'][_0x0425('0x1e')]);}_0x43db4f[_0x0425('0x3b')]=qs['sort'](_0x2bbcd0[_0x0425('0x33')][_0x0425('0x3c')]);_0x43db4f[_0x0425('0x3d')]=qs['filters'](_[_0x0425('0x3e')](_0x2bbcd0[_0x0425('0x33')],_0x13d82a[_0x0425('0x35')]),_0x120a5b);if(_0x2bbcd0[_0x0425('0x33')][_0x0425('0x3f')]){_0x43db4f[_0x0425('0x3d')]=_[_0x0425('0x40')](_0x43db4f['where'],{'$or':_['map'](_0x120a5b,function(_0x55de73){if(_0x55de73[_0x0425('0x30')]!=='VIRTUAL'){var _0x13aec5={};_0x13aec5[_0x55de73[_0x0425('0x2a')]]={'$like':'%'+_0x2bbcd0[_0x0425('0x33')][_0x0425('0x3f')]+'%'};return _0x13aec5;}})});}_0x43db4f=_[_0x0425('0x40')]({},_0x43db4f,_0x2bbcd0['options']);var _0x14946c={'where':_0x43db4f[_0x0425('0x3d')]};return db[_0x0425('0x2e')][_0x0425('0x1d')](_0x14946c)[_0x0425('0x28')](function(_0x208581){_0x154aa5[_0x0425('0x1d')]=_0x208581;if(_0x2bbcd0['query'][_0x0425('0x41')]){_0x43db4f[_0x0425('0x42')]=[{'all':!![]}];}return db[_0x0425('0x2e')][_0x0425('0x43')](_0x43db4f);})['then'](function(_0x3dab51){_0x154aa5[_0x0425('0x44')]=_0x3dab51;return _0x154aa5;})['then'](respondWithFilteredResult(_0x36146d,_0x43db4f))[_0x0425('0x45')](handleError(_0x36146d,null));};exports[_0x0425('0x46')]=function(_0xe322de,_0x5930f3){var _0x3786dc={'raw':!![],'where':{'id':_0xe322de[_0x0425('0x47')]['id']}},_0x6ea0f={};_0x6ea0f[_0x0425('0x32')]=_[_0x0425('0x34')](db[_0x0425('0x2e')][_0x0425('0x48')]);_0x6ea0f[_0x0425('0x33')]=_['keys'](_0xe322de[_0x0425('0x33')]);_0x6ea0f[_0x0425('0x35')]=_[_0x0425('0x36')](_0x6ea0f['model'],_0x6ea0f[_0x0425('0x33')]);_0x3786dc[_0x0425('0x37')]=_[_0x0425('0x36')](_0x6ea0f[_0x0425('0x32')],qs['fields'](_0xe322de[_0x0425('0x33')][_0x0425('0x38')]));_0x3786dc[_0x0425('0x37')]=_0x3786dc[_0x0425('0x37')][_0x0425('0x39')]?_0x3786dc[_0x0425('0x37')]:_0x6ea0f[_0x0425('0x32')];if(_0xe322de[_0x0425('0x33')][_0x0425('0x41')]){_0x3786dc[_0x0425('0x42')]=[{'all':!![]}];}_0x3786dc=_[_0x0425('0x40')]({},_0x3786dc,_0xe322de[_0x0425('0x49')]);return db[_0x0425('0x2e')][_0x0425('0x4a')](_0x3786dc)[_0x0425('0x28')](handleEntityNotFound(_0x5930f3,null))[_0x0425('0x28')](respondWithResult(_0x5930f3,null))[_0x0425('0x45')](handleError(_0x5930f3,null));};exports[_0x0425('0x4b')]=function(_0x516e6b,_0x9cbd3a){return db[_0x0425('0x2e')]['create'](_0x516e6b[_0x0425('0x4c')],{})[_0x0425('0x28')](respondWithResult(_0x9cbd3a,0xc9))[_0x0425('0x45')](handleError(_0x9cbd3a,null));};exports['update']=function(_0x554a1e,_0x2dfdec){if(_0x554a1e[_0x0425('0x4c')]['id']){delete _0x554a1e[_0x0425('0x4c')]['id'];}return db[_0x0425('0x2e')][_0x0425('0x4a')]({'where':{'id':_0x554a1e[_0x0425('0x47')]['id']}})['then'](handleEntityNotFound(_0x2dfdec,null))['then'](saveUpdates(_0x554a1e[_0x0425('0x4c')],null))[_0x0425('0x28')](respondWithResult(_0x2dfdec,null))[_0x0425('0x45')](handleError(_0x2dfdec,null));};exports[_0x0425('0x27')]=function(_0x5d717e,_0x3fc412){return db[_0x0425('0x2e')]['find']({'where':{'id':_0x5d717e['params']['id']}})[_0x0425('0x28')](handleEntityNotFound(_0x3fc412,null))[_0x0425('0x28')](removeEntity(_0x3fc412,null))['catch'](handleError(_0x3fc412,null));};exports[_0x0425('0x4d')]=function(_0x11e444,_0x154985){return db[_0x0425('0x2e')][_0x0425('0x4d')]()[_0x0425('0x28')](respondWithResult(_0x154985,null))['catch'](handleError(_0x154985,null));};
\ No newline at end of file