Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / userProfileSection / userProfileSection.controller.js
index 50f66cd..1cae10a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8b8d=['includeAll','findAll','rows','catch','show','rawAttributes','find','create','body','params','describe','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','ejs','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../mysqldb','sendStatus','status','json','count','set','Content-Range','apply','reject','save','update','then','destroy','end','stack','name','send','map','UserProfileSection','key','keys','filters','intersection','model','fields','query','attributes','length','hasOwnProperty','limit','offset','order','sort','filter','merge','where','type','VIRTUAL','options'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x8b8d,0x15f));var _0xd8b8=function(_0x1caf6a,_0x26a5bf){_0x1caf6a=_0x1caf6a-0x0;var _0x1bf493=_0x8b8d[_0x1caf6a];return _0x1bf493;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd8b8('0x0'));var zipdir=require(_0xd8b8('0x1'));var jsonpatch=require(_0xd8b8('0x2'));var rp=require('request-promise');var moment=require(_0xd8b8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd8b8('0x4'));var util=require(_0xd8b8('0x5'));var path=require(_0xd8b8('0x6'));var sox=require('sox');var csv=require(_0xd8b8('0x7'));var ejs=require(_0xd8b8('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xd8b8('0x9'));var jsforce=require(_0xd8b8('0xa'));var deskjs=require(_0xd8b8('0xb'));var toCsv=require('to-csv');var querystring=require(_0xd8b8('0xc'));var Papa=require('papaparse');var Redis=require(_0xd8b8('0xd'));var authService=require(_0xd8b8('0xe'));var qs=require(_0xd8b8('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xd8b8('0x10'));var utils=require(_0xd8b8('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xd8b8('0x12'))['db'];function respondWithStatusCode(_0x3603dd,_0x51a18a){_0x51a18a=_0x51a18a||0xcc;return function(_0x2ae405){if(_0x2ae405){return _0x3603dd[_0xd8b8('0x13')](_0x51a18a);}return _0x3603dd[_0xd8b8('0x14')](_0x51a18a)['end']();};}function respondWithResult(_0x8d59a0,_0x5eef54){_0x5eef54=_0x5eef54||0xc8;return function(_0x3ae41f){if(_0x3ae41f){return _0x8d59a0['status'](_0x5eef54)[_0xd8b8('0x15')](_0x3ae41f);}};}function respondWithFilteredResult(_0xadade6,_0x3d0a39){return function(_0x27072e){if(_0x27072e){var _0x48c645=_0x27072e[_0xd8b8('0x16')],_0x24f1e1=_0x3d0a39['offset'],_0x9b123b=_0x3d0a39['offset']+_0x3d0a39['limit'],_0x57694c;if(_0x9b123b>=_0x48c645){_0x9b123b=_0x48c645;_0x57694c=0xc8;}else{_0x57694c=0xce;}_0xadade6[_0xd8b8('0x14')](_0x57694c);return _0xadade6[_0xd8b8('0x17')](_0xd8b8('0x18'),_0x24f1e1+'-'+_0x9b123b+'/'+_0x48c645)[_0xd8b8('0x15')](_0x27072e);}return null;};}function patchUpdates(_0x2ecd33){return function(_0x26daad){try{jsonpatch[_0xd8b8('0x19')](_0x26daad,_0x2ecd33,!![]);}catch(_0xcd42a2){return BPromise[_0xd8b8('0x1a')](_0xcd42a2);}return _0x26daad[_0xd8b8('0x1b')]();};}function saveUpdates(_0xb94d96,_0x300560){return function(_0x43834a){if(_0x43834a){return _0x43834a[_0xd8b8('0x1c')](_0xb94d96)[_0xd8b8('0x1d')](function(_0x335c57){return _0x335c57;});}return null;};}function removeEntity(_0x40bdce,_0x56e304){return function(_0x14ca52){if(_0x14ca52){return _0x14ca52[_0xd8b8('0x1e')]()[_0xd8b8('0x1d')](function(){_0x40bdce[_0xd8b8('0x14')](0xcc)[_0xd8b8('0x1f')]();});}};}function handleEntityNotFound(_0x51af5b,_0x1c07f0){return function(_0x449084){if(!_0x449084){_0x51af5b[_0xd8b8('0x13')](0x194);}return _0x449084;};}function handleError(_0x2198d5,_0x5a1380){_0x5a1380=_0x5a1380||0x1f4;return function(_0x21df38){logger['error'](_0x21df38[_0xd8b8('0x20')]);if(_0x21df38['name']){delete _0x21df38[_0xd8b8('0x21')];}_0x2198d5['status'](_0x5a1380)[_0xd8b8('0x22')](_0x21df38);};}exports['index']=function(_0x4434a1,_0x242a30){var _0x406ff7={},_0x49bfb7={},_0x1769c={'count':0x0,'rows':[]};var _0x5afdbb=_[_0xd8b8('0x23')](db[_0xd8b8('0x24')]['rawAttributes'],function(_0x54b2cc){return{'name':_0x54b2cc['fieldName'],'type':_0x54b2cc['type'][_0xd8b8('0x25')]};});_0x49bfb7['model']=_[_0xd8b8('0x23')](_0x5afdbb,_0xd8b8('0x21'));_0x49bfb7['query']=_[_0xd8b8('0x26')](_0x4434a1['query']);_0x49bfb7[_0xd8b8('0x27')]=_['intersection'](_0x49bfb7['model'],_0x49bfb7['query']);_0x406ff7['attributes']=_[_0xd8b8('0x28')](_0x49bfb7[_0xd8b8('0x29')],qs[_0xd8b8('0x2a')](_0x4434a1[_0xd8b8('0x2b')]['fields']));_0x406ff7['attributes']=_0x406ff7[_0xd8b8('0x2c')][_0xd8b8('0x2d')]?_0x406ff7[_0xd8b8('0x2c')]:_0x49bfb7[_0xd8b8('0x29')];if(!_0x4434a1['query'][_0xd8b8('0x2e')]('nolimit')){_0x406ff7[_0xd8b8('0x2f')]=qs['limit'](_0x4434a1['query'][_0xd8b8('0x2f')]);_0x406ff7[_0xd8b8('0x30')]=qs[_0xd8b8('0x30')](_0x4434a1[_0xd8b8('0x2b')]['offset']);}_0x406ff7[_0xd8b8('0x31')]=qs[_0xd8b8('0x32')](_0x4434a1[_0xd8b8('0x2b')][_0xd8b8('0x32')]);_0x406ff7['where']=qs['filters'](_['pick'](_0x4434a1['query'],_0x49bfb7['filters']),_0x5afdbb);if(_0x4434a1['query'][_0xd8b8('0x33')]){_0x406ff7['where']=_[_0xd8b8('0x34')](_0x406ff7[_0xd8b8('0x35')],{'$or':_[_0xd8b8('0x23')](_0x5afdbb,function(_0x385c9d){if(_0x385c9d[_0xd8b8('0x36')]!==_0xd8b8('0x37')){var _0xa98ddf={};_0xa98ddf[_0x385c9d[_0xd8b8('0x21')]]={'$like':'%'+_0x4434a1[_0xd8b8('0x2b')][_0xd8b8('0x33')]+'%'};return _0xa98ddf;}})});}_0x406ff7=_['merge']({},_0x406ff7,_0x4434a1[_0xd8b8('0x38')]);var _0x392ca0={'where':_0x406ff7[_0xd8b8('0x35')]};return db['UserProfileSection']['count'](_0x392ca0)[_0xd8b8('0x1d')](function(_0x3fd1d4){_0x1769c[_0xd8b8('0x16')]=_0x3fd1d4;if(_0x4434a1['query'][_0xd8b8('0x39')]){_0x406ff7['include']=[{'all':!![]}];}return db['UserProfileSection'][_0xd8b8('0x3a')](_0x406ff7);})[_0xd8b8('0x1d')](function(_0x1f14fa){_0x1769c[_0xd8b8('0x3b')]=_0x1f14fa;return _0x1769c;})[_0xd8b8('0x1d')](respondWithFilteredResult(_0x242a30,_0x406ff7))[_0xd8b8('0x3c')](handleError(_0x242a30,null));};exports[_0xd8b8('0x3d')]=function(_0x5209ae,_0xad2112){var _0x550e85={'raw':![],'where':{'id':_0x5209ae['params']['id']}},_0x5114f6={};_0x5114f6[_0xd8b8('0x29')]=_[_0xd8b8('0x26')](db[_0xd8b8('0x24')][_0xd8b8('0x3e')]);_0x5114f6[_0xd8b8('0x2b')]=_[_0xd8b8('0x26')](_0x5209ae[_0xd8b8('0x2b')]);_0x5114f6['filters']=_[_0xd8b8('0x28')](_0x5114f6['model'],_0x5114f6[_0xd8b8('0x2b')]);_0x550e85[_0xd8b8('0x2c')]=_[_0xd8b8('0x28')](_0x5114f6[_0xd8b8('0x29')],qs[_0xd8b8('0x2a')](_0x5209ae[_0xd8b8('0x2b')][_0xd8b8('0x2a')]));_0x550e85[_0xd8b8('0x2c')]=_0x550e85[_0xd8b8('0x2c')]['length']?_0x550e85[_0xd8b8('0x2c')]:_0x5114f6[_0xd8b8('0x29')];if(_0x5209ae[_0xd8b8('0x2b')]['includeAll']){_0x550e85['include']=[{'all':!![]}];}_0x550e85=_[_0xd8b8('0x34')]({},_0x550e85,_0x5209ae['options']);return db[_0xd8b8('0x24')][_0xd8b8('0x3f')](_0x550e85)['then'](handleEntityNotFound(_0xad2112,null))[_0xd8b8('0x1d')](respondWithResult(_0xad2112,null))[_0xd8b8('0x3c')](handleError(_0xad2112,null));};exports[_0xd8b8('0x40')]=function(_0x161860,_0x247eea){return db[_0xd8b8('0x24')][_0xd8b8('0x40')](_0x161860['body'],{})[_0xd8b8('0x1d')](respondWithResult(_0x247eea,0xc9))[_0xd8b8('0x3c')](handleError(_0x247eea,null));};exports[_0xd8b8('0x1c')]=function(_0x22550c,_0x1df856){if(_0x22550c[_0xd8b8('0x41')]['id']){delete _0x22550c[_0xd8b8('0x41')]['id'];}return db[_0xd8b8('0x24')][_0xd8b8('0x3f')]({'where':{'id':_0x22550c[_0xd8b8('0x42')]['id']}})[_0xd8b8('0x1d')](handleEntityNotFound(_0x1df856,null))['then'](saveUpdates(_0x22550c[_0xd8b8('0x41')],null))[_0xd8b8('0x1d')](respondWithResult(_0x1df856,null))[_0xd8b8('0x3c')](handleError(_0x1df856,null));};exports[_0xd8b8('0x1e')]=function(_0x236ebc,_0x29c49d){return db['UserProfileSection'][_0xd8b8('0x3f')]({'where':{'id':_0x236ebc[_0xd8b8('0x42')]['id']}})[_0xd8b8('0x1d')](handleEntityNotFound(_0x29c49d,null))[_0xd8b8('0x1d')](removeEntity(_0x29c49d,null))[_0xd8b8('0x3c')](handleError(_0x29c49d,null));};exports[_0xd8b8('0x43')]=function(_0x2b37b4,_0x27ffc0){return db[_0xd8b8('0x24')][_0xd8b8('0x43')]()[_0xd8b8('0x1d')](respondWithResult(_0x27ffc0,null))[_0xd8b8('0x3c')](handleError(_0x27ffc0,null));};
\ No newline at end of file
+var _0x4618=['UserProfileSection','rawAttributes','fieldName','type','key','model','keys','filters','query','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','then','rows','catch','show','params','intersection','include','find','create','body','describe','eml-format','zip-dir','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','error','stack','name','index','map'];(function(_0x18cd5b,_0x10240b){var _0x5eaa52=function(_0x2bccad){while(--_0x2bccad){_0x18cd5b['push'](_0x18cd5b['shift']());}};_0x5eaa52(++_0x10240b);}(_0x4618,0x109));var _0x8461=function(_0x2fc012,_0x503e5b){_0x2fc012=_0x2fc012-0x0;var _0x2891f9=_0x4618[_0x2fc012];return _0x2891f9;};'use strict';var emlformat=require(_0x8461('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8461('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8461('0x2'));var moment=require(_0x8461('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8461('0x4'));var path=require(_0x8461('0x5'));var sox=require(_0x8461('0x6'));var csv=require(_0x8461('0x7'));var ejs=require(_0x8461('0x8'));var fs=require('fs');var fs_extra=require(_0x8461('0x9'));var _=require(_0x8461('0xa'));var squel=require(_0x8461('0xb'));var crypto=require(_0x8461('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x8461('0xd'));var toCsv=require(_0x8461('0x7'));var querystring=require(_0x8461('0xe'));var Papa=require('papaparse');var Redis=require(_0x8461('0xf'));var authService=require(_0x8461('0x10'));var qs=require(_0x8461('0x11'));var as=require(_0x8461('0x12'));var hardwareService=require(_0x8461('0x13'));var logger=require(_0x8461('0x14'))(_0x8461('0x15'));var utils=require('../../config/utils');var config=require(_0x8461('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x8461('0x17'))['db'];function respondWithStatusCode(_0x390a0c,_0x2e3c26){_0x2e3c26=_0x2e3c26||0xcc;return function(_0x244477){if(_0x244477){return _0x390a0c[_0x8461('0x18')](_0x2e3c26);}return _0x390a0c['status'](_0x2e3c26)[_0x8461('0x19')]();};}function respondWithResult(_0x46e243,_0x4c5314){_0x4c5314=_0x4c5314||0xc8;return function(_0x265fed){if(_0x265fed){return _0x46e243[_0x8461('0x1a')](_0x4c5314)[_0x8461('0x1b')](_0x265fed);}};}function respondWithFilteredResult(_0x1baf14,_0x3da535){return function(_0x4ec6c1){if(_0x4ec6c1){var _0x3a2834=typeof _0x3da535[_0x8461('0x1c')]===_0x8461('0x1d')&&typeof _0x3da535[_0x8461('0x1e')]===_0x8461('0x1d');var _0x36abb3=_0x4ec6c1[_0x8461('0x1f')];var _0x11e0aa=_0x3a2834?0x0:_0x3da535['offset'];var _0x11d62d=_0x3a2834?_0x4ec6c1['count']:_0x3da535['offset']+_0x3da535[_0x8461('0x1e')];var _0x5f24ba;if(_0x11d62d>=_0x36abb3){_0x11d62d=_0x36abb3;_0x5f24ba=0xc8;}else{_0x5f24ba=0xce;}_0x1baf14[_0x8461('0x1a')](_0x5f24ba);return _0x1baf14[_0x8461('0x20')](_0x8461('0x21'),_0x11e0aa+'-'+_0x11d62d+'/'+_0x36abb3)[_0x8461('0x1b')](_0x4ec6c1);}return null;};}function patchUpdates(_0xc1c46e){return function(_0x3c08b4){try{jsonpatch['apply'](_0x3c08b4,_0xc1c46e,!![]);}catch(_0x255109){return BPromise[_0x8461('0x22')](_0x255109);}return _0x3c08b4[_0x8461('0x23')]();};}function saveUpdates(_0x20d72b,_0x1aac85){return function(_0x47b95a){if(_0x47b95a){return _0x47b95a[_0x8461('0x24')](_0x20d72b)['then'](function(_0x215e57){return _0x215e57;});}return null;};}function removeEntity(_0x21b70d,_0x277fd0){return function(_0x1a60d6){if(_0x1a60d6){return _0x1a60d6[_0x8461('0x25')]()['then'](function(){_0x21b70d[_0x8461('0x1a')](0xcc)[_0x8461('0x19')]();});}};}function handleEntityNotFound(_0x539aab,_0x3ac870){return function(_0x177e4d){if(!_0x177e4d){_0x539aab[_0x8461('0x18')](0x194);}return _0x177e4d;};}function handleError(_0x3445c0,_0x2332c8){_0x2332c8=_0x2332c8||0x1f4;return function(_0x1b296e){logger[_0x8461('0x26')](_0x1b296e[_0x8461('0x27')]);if(_0x1b296e[_0x8461('0x28')]){delete _0x1b296e[_0x8461('0x28')];}_0x3445c0['status'](_0x2332c8)['send'](_0x1b296e);};}exports[_0x8461('0x29')]=function(_0x2260a1,_0x2a2730){var _0x39425f={},_0x317215={},_0x1d0d33={'count':0x0,'rows':[]};var _0x1a7eb6=_[_0x8461('0x2a')](db[_0x8461('0x2b')][_0x8461('0x2c')],function(_0x54b7a8){return{'name':_0x54b7a8[_0x8461('0x2d')],'type':_0x54b7a8[_0x8461('0x2e')][_0x8461('0x2f')]};});_0x317215[_0x8461('0x30')]=_['map'](_0x1a7eb6,_0x8461('0x28'));_0x317215['query']=_[_0x8461('0x31')](_0x2260a1['query']);_0x317215[_0x8461('0x32')]=_['intersection'](_0x317215[_0x8461('0x30')],_0x317215[_0x8461('0x33')]);_0x39425f[_0x8461('0x34')]=_['intersection'](_0x317215[_0x8461('0x30')],qs[_0x8461('0x35')](_0x2260a1[_0x8461('0x33')][_0x8461('0x35')]));_0x39425f[_0x8461('0x34')]=_0x39425f[_0x8461('0x34')][_0x8461('0x36')]?_0x39425f[_0x8461('0x34')]:_0x317215[_0x8461('0x30')];if(!_0x2260a1[_0x8461('0x33')][_0x8461('0x37')]('nolimit')){_0x39425f[_0x8461('0x1e')]=qs['limit'](_0x2260a1[_0x8461('0x33')][_0x8461('0x1e')]);_0x39425f['offset']=qs[_0x8461('0x1c')](_0x2260a1['query']['offset']);}_0x39425f[_0x8461('0x38')]=qs[_0x8461('0x39')](_0x2260a1[_0x8461('0x33')][_0x8461('0x39')]);_0x39425f[_0x8461('0x3a')]=qs[_0x8461('0x32')](_[_0x8461('0x3b')](_0x2260a1[_0x8461('0x33')],_0x317215['filters']),_0x1a7eb6);if(_0x2260a1[_0x8461('0x33')][_0x8461('0x3c')]){_0x39425f[_0x8461('0x3a')]=_[_0x8461('0x3d')](_0x39425f['where'],{'$or':_[_0x8461('0x2a')](_0x1a7eb6,function(_0x579ba0){if(_0x579ba0[_0x8461('0x2e')]!==_0x8461('0x3e')){var _0x379297={};_0x379297[_0x579ba0['name']]={'$like':'%'+_0x2260a1['query']['filter']+'%'};return _0x379297;}})});}_0x39425f=_[_0x8461('0x3d')]({},_0x39425f,_0x2260a1[_0x8461('0x3f')]);var _0x215782={'where':_0x39425f[_0x8461('0x3a')]};return db['UserProfileSection'][_0x8461('0x1f')](_0x215782)['then'](function(_0x1edf53){_0x1d0d33[_0x8461('0x1f')]=_0x1edf53;if(_0x2260a1['query'][_0x8461('0x40')]){_0x39425f['include']=[{'all':!![]}];}return db['UserProfileSection'][_0x8461('0x41')](_0x39425f);})[_0x8461('0x42')](function(_0x4b44a9){_0x1d0d33[_0x8461('0x43')]=_0x4b44a9;return _0x1d0d33;})[_0x8461('0x42')](respondWithFilteredResult(_0x2a2730,_0x39425f))[_0x8461('0x44')](handleError(_0x2a2730,null));};exports[_0x8461('0x45')]=function(_0x4d05ed,_0x3a87f3){var _0x56794b={'raw':![],'where':{'id':_0x4d05ed[_0x8461('0x46')]['id']}},_0x11638d={};_0x11638d[_0x8461('0x30')]=_[_0x8461('0x31')](db['UserProfileSection'][_0x8461('0x2c')]);_0x11638d[_0x8461('0x33')]=_['keys'](_0x4d05ed['query']);_0x11638d['filters']=_[_0x8461('0x47')](_0x11638d[_0x8461('0x30')],_0x11638d[_0x8461('0x33')]);_0x56794b['attributes']=_[_0x8461('0x47')](_0x11638d[_0x8461('0x30')],qs['fields'](_0x4d05ed[_0x8461('0x33')][_0x8461('0x35')]));_0x56794b[_0x8461('0x34')]=_0x56794b[_0x8461('0x34')][_0x8461('0x36')]?_0x56794b['attributes']:_0x11638d[_0x8461('0x30')];if(_0x4d05ed[_0x8461('0x33')][_0x8461('0x40')]){_0x56794b[_0x8461('0x48')]=[{'all':!![]}];}_0x56794b=_[_0x8461('0x3d')]({},_0x56794b,_0x4d05ed['options']);return db[_0x8461('0x2b')][_0x8461('0x49')](_0x56794b)[_0x8461('0x42')](handleEntityNotFound(_0x3a87f3,null))[_0x8461('0x42')](respondWithResult(_0x3a87f3,null))[_0x8461('0x44')](handleError(_0x3a87f3,null));};exports['create']=function(_0x48883a,_0x5c724b){return db[_0x8461('0x2b')][_0x8461('0x4a')](_0x48883a[_0x8461('0x4b')],{})[_0x8461('0x42')](respondWithResult(_0x5c724b,0xc9))[_0x8461('0x44')](handleError(_0x5c724b,null));};exports[_0x8461('0x24')]=function(_0x5880e7,_0x5254d4){if(_0x5880e7[_0x8461('0x4b')]['id']){delete _0x5880e7[_0x8461('0x4b')]['id'];}return db[_0x8461('0x2b')][_0x8461('0x49')]({'where':{'id':_0x5880e7['params']['id']}})[_0x8461('0x42')](handleEntityNotFound(_0x5254d4,null))[_0x8461('0x42')](saveUpdates(_0x5880e7[_0x8461('0x4b')],null))['then'](respondWithResult(_0x5254d4,null))['catch'](handleError(_0x5254d4,null));};exports['destroy']=function(_0x547eb9,_0x30a59f){return db[_0x8461('0x2b')][_0x8461('0x49')]({'where':{'id':_0x547eb9[_0x8461('0x46')]['id']}})[_0x8461('0x42')](handleEntityNotFound(_0x30a59f,null))[_0x8461('0x42')](removeEntity(_0x30a59f,null))[_0x8461('0x44')](handleError(_0x30a59f,null));};exports[_0x8461('0x4c')]=function(_0x153313,_0x3cba24){return db[_0x8461('0x2b')][_0x8461('0x4c')]()[_0x8461('0x42')](respondWithResult(_0x3cba24,null))['catch'](handleError(_0x3cba24,null));};
\ No newline at end of file