Built motion from commit 449495f6.|2.6.27
[motion2.git] / server / api / intSugarcrmField / intSugarcrmField.controller.js
index ed5b587..1f5b8dc 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa934=['update','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','intersection','attributes','fields','length','nolimit','sort','where','filters','merge','type','VIRTUAL','filter','options','SugarcrmField','findAll','rows','catch','show','params','keys','includeAll','include','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','reject','save'];(function(_0x3e1226,_0x4199d6){var _0x1ff634=function(_0x4dbed0){while(--_0x4dbed0){_0x3e1226['push'](_0x3e1226['shift']());}};_0x1ff634(++_0x4199d6);}(_0xa934,0x72));var _0x4a93=function(_0x46c97d,_0x1bdfed){_0x46c97d=_0x46c97d-0x0;var _0x1d682f=_0xa934[_0x46c97d];return _0x1d682f;};'use strict';var emlformat=require(_0x4a93('0x0'));var rimraf=require(_0x4a93('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4a93('0x2'));var rp=require(_0x4a93('0x3'));var moment=require(_0x4a93('0x4'));var BPromise=require(_0x4a93('0x5'));var Mustache=require(_0x4a93('0x6'));var util=require(_0x4a93('0x7'));var path=require(_0x4a93('0x8'));var sox=require(_0x4a93('0x9'));var csv=require(_0x4a93('0xa'));var ejs=require(_0x4a93('0xb'));var fs=require('fs');var fs_extra=require(_0x4a93('0xc'));var _=require(_0x4a93('0xd'));var squel=require(_0x4a93('0xe'));var crypto=require(_0x4a93('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4a93('0xa'));var querystring=require(_0x4a93('0x10'));var Papa=require(_0x4a93('0x11'));var Redis=require(_0x4a93('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x4a93('0x13'));var as=require(_0x4a93('0x14'));var hardwareService=require(_0x4a93('0x15'));var logger=require(_0x4a93('0x16'))(_0x4a93('0x17'));var utils=require(_0x4a93('0x18'));var config=require(_0x4a93('0x19'));var licenseUtil=require(_0x4a93('0x1a'));var db=require(_0x4a93('0x1b'))['db'];function respondWithStatusCode(_0x451138,_0x24bbf0){_0x24bbf0=_0x24bbf0||0xcc;return function(_0x59d264){if(_0x59d264){return _0x451138[_0x4a93('0x1c')](_0x24bbf0);}return _0x451138[_0x4a93('0x1d')](_0x24bbf0)[_0x4a93('0x1e')]();};}function respondWithResult(_0x510e6d,_0x5231eb){_0x5231eb=_0x5231eb||0xc8;return function(_0x170ba7){if(_0x170ba7){return _0x510e6d['status'](_0x5231eb)[_0x4a93('0x1f')](_0x170ba7);}};}function respondWithFilteredResult(_0x414cb8,_0x5aa2bb){return function(_0x567d0b){if(_0x567d0b){var _0x8dcfa5=typeof _0x5aa2bb[_0x4a93('0x20')]===_0x4a93('0x21')&&typeof _0x5aa2bb['limit']===_0x4a93('0x21');var _0x2d6ede=_0x567d0b[_0x4a93('0x22')];var _0x301a74=_0x8dcfa5?0x0:_0x5aa2bb['offset'];var _0x42e4f4=_0x8dcfa5?_0x567d0b[_0x4a93('0x22')]:_0x5aa2bb[_0x4a93('0x20')]+_0x5aa2bb[_0x4a93('0x23')];var _0xe149ee;if(_0x42e4f4>=_0x2d6ede){_0x42e4f4=_0x2d6ede;_0xe149ee=0xc8;}else{_0xe149ee=0xce;}_0x414cb8['status'](_0xe149ee);return _0x414cb8['set']('Content-Range',_0x301a74+'-'+_0x42e4f4+'/'+_0x2d6ede)['json'](_0x567d0b);}return null;};}function patchUpdates(_0x31f8a3){return function(_0x57941d){try{jsonpatch['apply'](_0x57941d,_0x31f8a3,!![]);}catch(_0x33530c){return BPromise[_0x4a93('0x24')](_0x33530c);}return _0x57941d[_0x4a93('0x25')]();};}function saveUpdates(_0xfe2abf,_0x239352){return function(_0x12ed42){if(_0x12ed42){return _0x12ed42[_0x4a93('0x26')](_0xfe2abf)[_0x4a93('0x27')](function(_0x257ed5){return _0x257ed5;});}return null;};}function removeEntity(_0x3069c8,_0x9cf225){return function(_0x291ca9){if(_0x291ca9){return _0x291ca9[_0x4a93('0x28')]()[_0x4a93('0x27')](function(){_0x3069c8['status'](0xcc)[_0x4a93('0x1e')]();});}};}function handleEntityNotFound(_0x1fca9e,_0x331ad6){return function(_0x1461e1){if(!_0x1461e1){_0x1fca9e[_0x4a93('0x1c')](0x194);}return _0x1461e1;};}function handleError(_0x53f775,_0x17d021){_0x17d021=_0x17d021||0x1f4;return function(_0x4b747b){logger['error'](_0x4b747b[_0x4a93('0x29')]);if(_0x4b747b[_0x4a93('0x2a')]){delete _0x4b747b['name'];}_0x53f775[_0x4a93('0x1d')](_0x17d021)[_0x4a93('0x2b')](_0x4b747b);};}exports[_0x4a93('0x2c')]=function(_0xc3e8a3,_0x53709c){var _0x886b27={},_0x18df4b={},_0x37ddc6={'count':0x0,'rows':[]};var _0x4cdd33=_[_0x4a93('0x2d')](db['SugarcrmField'][_0x4a93('0x2e')],function(_0xcd833f){return{'name':_0xcd833f[_0x4a93('0x2f')],'type':_0xcd833f['type'][_0x4a93('0x30')]};});_0x18df4b[_0x4a93('0x31')]=_[_0x4a93('0x2d')](_0x4cdd33,_0x4a93('0x2a'));_0x18df4b[_0x4a93('0x32')]=_['keys'](_0xc3e8a3[_0x4a93('0x32')]);_0x18df4b['filters']=_[_0x4a93('0x33')](_0x18df4b['model'],_0x18df4b[_0x4a93('0x32')]);_0x886b27[_0x4a93('0x34')]=_[_0x4a93('0x33')](_0x18df4b[_0x4a93('0x31')],qs[_0x4a93('0x35')](_0xc3e8a3[_0x4a93('0x32')]['fields']));_0x886b27['attributes']=_0x886b27[_0x4a93('0x34')][_0x4a93('0x36')]?_0x886b27[_0x4a93('0x34')]:_0x18df4b[_0x4a93('0x31')];if(!_0xc3e8a3[_0x4a93('0x32')]['hasOwnProperty'](_0x4a93('0x37'))){_0x886b27[_0x4a93('0x23')]=qs[_0x4a93('0x23')](_0xc3e8a3['query'][_0x4a93('0x23')]);_0x886b27['offset']=qs[_0x4a93('0x20')](_0xc3e8a3[_0x4a93('0x32')][_0x4a93('0x20')]);}_0x886b27['order']=qs[_0x4a93('0x38')](_0xc3e8a3[_0x4a93('0x32')][_0x4a93('0x38')]);_0x886b27[_0x4a93('0x39')]=qs[_0x4a93('0x3a')](_['pick'](_0xc3e8a3[_0x4a93('0x32')],_0x18df4b['filters']),_0x4cdd33);if(_0xc3e8a3[_0x4a93('0x32')]['filter']){_0x886b27[_0x4a93('0x39')]=_[_0x4a93('0x3b')](_0x886b27[_0x4a93('0x39')],{'$or':_[_0x4a93('0x2d')](_0x4cdd33,function(_0x4dcc72){if(_0x4dcc72[_0x4a93('0x3c')]!==_0x4a93('0x3d')){var _0xff8c3b={};_0xff8c3b[_0x4dcc72[_0x4a93('0x2a')]]={'$like':'%'+_0xc3e8a3[_0x4a93('0x32')][_0x4a93('0x3e')]+'%'};return _0xff8c3b;}})});}_0x886b27=_['merge']({},_0x886b27,_0xc3e8a3[_0x4a93('0x3f')]);var _0x23b152={'where':_0x886b27[_0x4a93('0x39')]};return db[_0x4a93('0x40')][_0x4a93('0x22')](_0x23b152)['then'](function(_0xc14084){_0x37ddc6['count']=_0xc14084;if(_0xc3e8a3['query']['includeAll']){_0x886b27['include']=[{'all':!![]}];}return db['SugarcrmField'][_0x4a93('0x41')](_0x886b27);})[_0x4a93('0x27')](function(_0x25ce1c){_0x37ddc6[_0x4a93('0x42')]=_0x25ce1c;return _0x37ddc6;})[_0x4a93('0x27')](respondWithFilteredResult(_0x53709c,_0x886b27))[_0x4a93('0x43')](handleError(_0x53709c,null));};exports[_0x4a93('0x44')]=function(_0x2c8a0f,_0x35c75c){var _0x563d72={'raw':!![],'where':{'id':_0x2c8a0f[_0x4a93('0x45')]['id']}},_0x237ace={};_0x237ace[_0x4a93('0x31')]=_[_0x4a93('0x46')](db[_0x4a93('0x40')][_0x4a93('0x2e')]);_0x237ace[_0x4a93('0x32')]=_[_0x4a93('0x46')](_0x2c8a0f[_0x4a93('0x32')]);_0x237ace['filters']=_['intersection'](_0x237ace[_0x4a93('0x31')],_0x237ace['query']);_0x563d72['attributes']=_[_0x4a93('0x33')](_0x237ace[_0x4a93('0x31')],qs['fields'](_0x2c8a0f['query'][_0x4a93('0x35')]));_0x563d72[_0x4a93('0x34')]=_0x563d72['attributes'][_0x4a93('0x36')]?_0x563d72[_0x4a93('0x34')]:_0x237ace[_0x4a93('0x31')];if(_0x2c8a0f['query'][_0x4a93('0x47')]){_0x563d72[_0x4a93('0x48')]=[{'all':!![]}];}_0x563d72=_[_0x4a93('0x3b')]({},_0x563d72,_0x2c8a0f[_0x4a93('0x3f')]);return db[_0x4a93('0x40')][_0x4a93('0x49')](_0x563d72)[_0x4a93('0x27')](handleEntityNotFound(_0x35c75c,null))[_0x4a93('0x27')](respondWithResult(_0x35c75c,null))[_0x4a93('0x43')](handleError(_0x35c75c,null));};exports['create']=function(_0x498815,_0x2a4b78){return db[_0x4a93('0x40')][_0x4a93('0x4a')](_0x498815['body'],{})['then'](respondWithResult(_0x2a4b78,0xc9))['catch'](handleError(_0x2a4b78,null));};exports[_0x4a93('0x26')]=function(_0x30eac0,_0x4939c3){if(_0x30eac0['body']['id']){delete _0x30eac0[_0x4a93('0x4b')]['id'];}return db[_0x4a93('0x40')][_0x4a93('0x49')]({'where':{'id':_0x30eac0['params']['id']}})['then'](handleEntityNotFound(_0x4939c3,null))[_0x4a93('0x27')](saveUpdates(_0x30eac0[_0x4a93('0x4b')],null))[_0x4a93('0x27')](respondWithResult(_0x4939c3,null))[_0x4a93('0x43')](handleError(_0x4939c3,null));};exports[_0x4a93('0x28')]=function(_0x10861f,_0x5aa832){return db[_0x4a93('0x40')][_0x4a93('0x49')]({'where':{'id':_0x10861f['params']['id']}})[_0x4a93('0x27')](handleEntityNotFound(_0x5aa832,null))[_0x4a93('0x27')](removeEntity(_0x5aa832,null))[_0x4a93('0x43')](handleError(_0x5aa832,null));};
\ No newline at end of file
+var _0x6da8=['set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','SugarcrmField','rawAttributes','fieldName','type','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','params','includeAll','find','create','body','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count'];(function(_0x294a0d,_0x4ccad7){var _0x49ce49=function(_0x1f4671){while(--_0x1f4671){_0x294a0d['push'](_0x294a0d['shift']());}};_0x49ce49(++_0x4ccad7);}(_0x6da8,0x78));var _0x86da=function(_0x374d23,_0x54229c){_0x374d23=_0x374d23-0x0;var _0x42d835=_0x6da8[_0x374d23];return _0x42d835;};'use strict';var emlformat=require(_0x86da('0x0'));var rimraf=require(_0x86da('0x1'));var zipdir=require(_0x86da('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x86da('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x86da('0x4'));var util=require(_0x86da('0x5'));var path=require(_0x86da('0x6'));var sox=require(_0x86da('0x7'));var csv=require(_0x86da('0x8'));var ejs=require(_0x86da('0x9'));var fs=require('fs');var fs_extra=require(_0x86da('0xa'));var _=require(_0x86da('0xb'));var squel=require(_0x86da('0xc'));var crypto=require(_0x86da('0xd'));var jsforce=require(_0x86da('0xe'));var deskjs=require(_0x86da('0xf'));var toCsv=require(_0x86da('0x8'));var querystring=require(_0x86da('0x10'));var Papa=require(_0x86da('0x11'));var Redis=require(_0x86da('0x12'));var authService=require(_0x86da('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x86da('0x14'));var logger=require(_0x86da('0x15'))(_0x86da('0x16'));var utils=require(_0x86da('0x17'));var config=require(_0x86da('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x86da('0x19'))['db'];function respondWithStatusCode(_0x572469,_0x5131ee){_0x5131ee=_0x5131ee||0xcc;return function(_0x7f7c0b){if(_0x7f7c0b){return _0x572469[_0x86da('0x1a')](_0x5131ee);}return _0x572469[_0x86da('0x1b')](_0x5131ee)[_0x86da('0x1c')]();};}function respondWithResult(_0x39c792,_0x4c7a6b){_0x4c7a6b=_0x4c7a6b||0xc8;return function(_0x2862e3){if(_0x2862e3){return _0x39c792[_0x86da('0x1b')](_0x4c7a6b)[_0x86da('0x1d')](_0x2862e3);}};}function respondWithFilteredResult(_0x51f5cc,_0x55a1ce){return function(_0x580ca9){if(_0x580ca9){var _0x2b169c=typeof _0x55a1ce[_0x86da('0x1e')]==='undefined'&&typeof _0x55a1ce[_0x86da('0x1f')]===_0x86da('0x20');var _0x236f78=_0x580ca9[_0x86da('0x21')];var _0x259aa4=_0x2b169c?0x0:_0x55a1ce[_0x86da('0x1e')];var _0x171265=_0x2b169c?_0x580ca9[_0x86da('0x21')]:_0x55a1ce['offset']+_0x55a1ce[_0x86da('0x1f')];var _0x3d1484;if(_0x171265>=_0x236f78){_0x171265=_0x236f78;_0x3d1484=0xc8;}else{_0x3d1484=0xce;}_0x51f5cc[_0x86da('0x1b')](_0x3d1484);return _0x51f5cc[_0x86da('0x22')](_0x86da('0x23'),_0x259aa4+'-'+_0x171265+'/'+_0x236f78)[_0x86da('0x1d')](_0x580ca9);}return null;};}function patchUpdates(_0x3de859){return function(_0x5aaa14){try{jsonpatch[_0x86da('0x24')](_0x5aaa14,_0x3de859,!![]);}catch(_0x107c32){return BPromise[_0x86da('0x25')](_0x107c32);}return _0x5aaa14[_0x86da('0x26')]();};}function saveUpdates(_0x19dd1f,_0x518019){return function(_0x371bf8){if(_0x371bf8){return _0x371bf8[_0x86da('0x27')](_0x19dd1f)[_0x86da('0x28')](function(_0x273e0f){return _0x273e0f;});}return null;};}function removeEntity(_0x5bf184,_0x5c8669){return function(_0x46d86f){if(_0x46d86f){return _0x46d86f[_0x86da('0x29')]()[_0x86da('0x28')](function(){_0x5bf184['status'](0xcc)[_0x86da('0x1c')]();});}};}function handleEntityNotFound(_0x20cfbd,_0x2cf580){return function(_0x248c48){if(!_0x248c48){_0x20cfbd['sendStatus'](0x194);}return _0x248c48;};}function handleError(_0x2e8809,_0x1180a9){_0x1180a9=_0x1180a9||0x1f4;return function(_0x5078bf){logger[_0x86da('0x2a')](_0x5078bf['stack']);if(_0x5078bf[_0x86da('0x2b')]){delete _0x5078bf[_0x86da('0x2b')];}_0x2e8809[_0x86da('0x1b')](_0x1180a9)[_0x86da('0x2c')](_0x5078bf);};}exports['index']=function(_0x19e54f,_0x1c3a7b){var _0x24b99e={},_0xf0266d={},_0x3a9c2e={'count':0x0,'rows':[]};var _0x379817=_['map'](db[_0x86da('0x2d')][_0x86da('0x2e')],function(_0x728cee){return{'name':_0x728cee[_0x86da('0x2f')],'type':_0x728cee[_0x86da('0x30')]['key']};});_0xf0266d['model']=_[_0x86da('0x31')](_0x379817,_0x86da('0x2b'));_0xf0266d[_0x86da('0x32')]=_[_0x86da('0x33')](_0x19e54f[_0x86da('0x32')]);_0xf0266d[_0x86da('0x34')]=_['intersection'](_0xf0266d[_0x86da('0x35')],_0xf0266d[_0x86da('0x32')]);_0x24b99e[_0x86da('0x36')]=_[_0x86da('0x37')](_0xf0266d[_0x86da('0x35')],qs[_0x86da('0x38')](_0x19e54f[_0x86da('0x32')]['fields']));_0x24b99e[_0x86da('0x36')]=_0x24b99e[_0x86da('0x36')][_0x86da('0x39')]?_0x24b99e[_0x86da('0x36')]:_0xf0266d[_0x86da('0x35')];if(!_0x19e54f[_0x86da('0x32')][_0x86da('0x3a')](_0x86da('0x3b'))){_0x24b99e[_0x86da('0x1f')]=qs['limit'](_0x19e54f[_0x86da('0x32')]['limit']);_0x24b99e[_0x86da('0x1e')]=qs[_0x86da('0x1e')](_0x19e54f[_0x86da('0x32')]['offset']);}_0x24b99e[_0x86da('0x3c')]=qs['sort'](_0x19e54f[_0x86da('0x32')][_0x86da('0x3d')]);_0x24b99e[_0x86da('0x3e')]=qs[_0x86da('0x34')](_[_0x86da('0x3f')](_0x19e54f['query'],_0xf0266d[_0x86da('0x34')]),_0x379817);if(_0x19e54f[_0x86da('0x32')]['filter']){_0x24b99e[_0x86da('0x3e')]=_[_0x86da('0x40')](_0x24b99e[_0x86da('0x3e')],{'$or':_['map'](_0x379817,function(_0x2db463){if(_0x2db463[_0x86da('0x30')]!==_0x86da('0x41')){var _0x2eaaf0={};_0x2eaaf0[_0x2db463[_0x86da('0x2b')]]={'$like':'%'+_0x19e54f[_0x86da('0x32')][_0x86da('0x42')]+'%'};return _0x2eaaf0;}})});}_0x24b99e=_[_0x86da('0x40')]({},_0x24b99e,_0x19e54f[_0x86da('0x43')]);var _0x53d288={'where':_0x24b99e['where']};return db[_0x86da('0x2d')]['count'](_0x53d288)['then'](function(_0x2a2d2a){_0x3a9c2e[_0x86da('0x21')]=_0x2a2d2a;if(_0x19e54f[_0x86da('0x32')]['includeAll']){_0x24b99e[_0x86da('0x44')]=[{'all':!![]}];}return db['SugarcrmField'][_0x86da('0x45')](_0x24b99e);})[_0x86da('0x28')](function(_0x2a2d28){_0x3a9c2e[_0x86da('0x46')]=_0x2a2d28;return _0x3a9c2e;})['then'](respondWithFilteredResult(_0x1c3a7b,_0x24b99e))[_0x86da('0x47')](handleError(_0x1c3a7b,null));};exports['show']=function(_0x34f037,_0x57f9b0){var _0xcf4178={'raw':!![],'where':{'id':_0x34f037[_0x86da('0x48')]['id']}},_0x514e60={};_0x514e60[_0x86da('0x35')]=_[_0x86da('0x33')](db[_0x86da('0x2d')][_0x86da('0x2e')]);_0x514e60['query']=_[_0x86da('0x33')](_0x34f037[_0x86da('0x32')]);_0x514e60[_0x86da('0x34')]=_['intersection'](_0x514e60[_0x86da('0x35')],_0x514e60[_0x86da('0x32')]);_0xcf4178[_0x86da('0x36')]=_[_0x86da('0x37')](_0x514e60[_0x86da('0x35')],qs[_0x86da('0x38')](_0x34f037[_0x86da('0x32')]['fields']));_0xcf4178[_0x86da('0x36')]=_0xcf4178[_0x86da('0x36')]['length']?_0xcf4178[_0x86da('0x36')]:_0x514e60[_0x86da('0x35')];if(_0x34f037[_0x86da('0x32')][_0x86da('0x49')]){_0xcf4178[_0x86da('0x44')]=[{'all':!![]}];}_0xcf4178=_[_0x86da('0x40')]({},_0xcf4178,_0x34f037[_0x86da('0x43')]);return db[_0x86da('0x2d')][_0x86da('0x4a')](_0xcf4178)[_0x86da('0x28')](handleEntityNotFound(_0x57f9b0,null))['then'](respondWithResult(_0x57f9b0,null))[_0x86da('0x47')](handleError(_0x57f9b0,null));};exports[_0x86da('0x4b')]=function(_0x233785,_0x5333ee){return db[_0x86da('0x2d')]['create'](_0x233785[_0x86da('0x4c')],{})[_0x86da('0x28')](respondWithResult(_0x5333ee,0xc9))['catch'](handleError(_0x5333ee,null));};exports[_0x86da('0x27')]=function(_0xba34f0,_0x20a683){if(_0xba34f0[_0x86da('0x4c')]['id']){delete _0xba34f0[_0x86da('0x4c')]['id'];}return db[_0x86da('0x2d')][_0x86da('0x4a')]({'where':{'id':_0xba34f0['params']['id']}})[_0x86da('0x28')](handleEntityNotFound(_0x20a683,null))[_0x86da('0x28')](saveUpdates(_0xba34f0[_0x86da('0x4c')],null))['then'](respondWithResult(_0x20a683,null))[_0x86da('0x47')](handleError(_0x20a683,null));};exports[_0x86da('0x29')]=function(_0x182ccf,_0x1e7a19){return db[_0x86da('0x2d')]['find']({'where':{'id':_0x182ccf[_0x86da('0x48')]['id']}})[_0x86da('0x28')](handleEntityNotFound(_0x1e7a19,null))[_0x86da('0x28')](removeEntity(_0x1e7a19,null))['catch'](handleError(_0x1e7a19,null));};
\ No newline at end of file