Built motion from commit efa66e19.|2.6.22
[motion2.git] / server / api / intFreshsalesField / intFreshsalesField.controller.js
index d8f1477..d645426 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb288=['crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','apply','reject','then','destroy','stack','name','index','map','FreshsalesField','type','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','merge','filter','include','findAll','rows','show','rawAttributes','includeAll','options','find','catch','create','body','update','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb288,0x154));var _0x8b28=function(_0x4a50d2,_0x105257){_0x4a50d2=_0x4a50d2-0x0;var _0x5dfe72=_0xb288[_0x4a50d2];return _0x5dfe72;};'use strict';var pdf=require(_0x8b28('0x0'));var emlformat=require(_0x8b28('0x1'));var rimraf=require(_0x8b28('0x2'));var zipdir=require(_0x8b28('0x3'));var jsonpatch=require(_0x8b28('0x4'));var rp=require(_0x8b28('0x5'));var moment=require('moment');var BPromise=require(_0x8b28('0x6'));var Mustache=require(_0x8b28('0x7'));var util=require(_0x8b28('0x8'));var path=require(_0x8b28('0x9'));var sox=require(_0x8b28('0xa'));var csv=require(_0x8b28('0xb'));var ejs=require(_0x8b28('0xc'));var fs=require('fs');var _=require(_0x8b28('0xd'));var squel=require(_0x8b28('0xe'));var crypto=require(_0x8b28('0xf'));var jsforce=require(_0x8b28('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x8b28('0xb'));var querystring=require(_0x8b28('0x11'));var Papa=require('papaparse');var Redis=require(_0x8b28('0x12'));var authService=require(_0x8b28('0x13'));var qs=require(_0x8b28('0x14'));var as=require(_0x8b28('0x15'));var hardwareService=require(_0x8b28('0x16'));var logger=require('../../config/logger')(_0x8b28('0x17'));var utils=require('../../config/utils');var config=require(_0x8b28('0x18'));var licenseUtil=require(_0x8b28('0x19'));var db=require(_0x8b28('0x1a'))['db'];function respondWithStatusCode(_0xde887,_0xf18357){_0xf18357=_0xf18357||0xcc;return function(_0x108786){if(_0x108786){return _0xde887[_0x8b28('0x1b')](_0xf18357);}return _0xde887[_0x8b28('0x1c')](_0xf18357)['end']();};}function respondWithResult(_0x44aae0,_0x429306){_0x429306=_0x429306||0xc8;return function(_0x2475b3){if(_0x2475b3){return _0x44aae0[_0x8b28('0x1c')](_0x429306)[_0x8b28('0x1d')](_0x2475b3);}};}function respondWithFilteredResult(_0x4fe45f,_0x1b3c29){return function(_0x300fa1){if(_0x300fa1){var _0x157818=_0x300fa1[_0x8b28('0x1e')],_0x15f35=_0x1b3c29['offset'],_0x27ee01=_0x1b3c29[_0x8b28('0x1f')]+_0x1b3c29[_0x8b28('0x20')],_0x351a5b;if(_0x27ee01>=_0x157818){_0x27ee01=_0x157818;_0x351a5b=0xc8;}else{_0x351a5b=0xce;}_0x4fe45f[_0x8b28('0x1c')](_0x351a5b);return _0x4fe45f['set']('Content-Range',_0x15f35+'-'+_0x27ee01+'/'+_0x157818)[_0x8b28('0x1d')](_0x300fa1);}return null;};}function patchUpdates(_0x14fff8){return function(_0x58b7d9){try{jsonpatch[_0x8b28('0x21')](_0x58b7d9,_0x14fff8,!![]);}catch(_0x3ea7dd){return BPromise[_0x8b28('0x22')](_0x3ea7dd);}return _0x58b7d9['save']();};}function saveUpdates(_0x56e83d,_0x4fffcf){return function(_0x515628){if(_0x515628){return _0x515628['update'](_0x56e83d)[_0x8b28('0x23')](function(_0x207253){return _0x207253;});}return null;};}function removeEntity(_0x544e41,_0x40c630){return function(_0xa6e5e0){if(_0xa6e5e0){return _0xa6e5e0[_0x8b28('0x24')]()[_0x8b28('0x23')](function(){_0x544e41['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4e0352,_0x5b95fb){return function(_0x26efa4){if(!_0x26efa4){_0x4e0352[_0x8b28('0x1b')](0x194);}return _0x26efa4;};}function handleError(_0x111124,_0x5c9dc2){_0x5c9dc2=_0x5c9dc2||0x1f4;return function(_0x4a59c2){logger['error'](_0x4a59c2[_0x8b28('0x25')]);if(_0x4a59c2[_0x8b28('0x26')]){delete _0x4a59c2[_0x8b28('0x26')];}_0x111124[_0x8b28('0x1c')](_0x5c9dc2)['send'](_0x4a59c2);};}exports[_0x8b28('0x27')]=function(_0x5c8a47,_0x542330){var _0x3bdb8b={},_0x2a0e1f={},_0x4e24ad={'count':0x0,'rows':[]};var _0x463165=_[_0x8b28('0x28')](db[_0x8b28('0x29')]['rawAttributes'],function(_0x167636){return{'name':_0x167636['fieldName'],'type':_0x167636[_0x8b28('0x2a')]['key']};});_0x2a0e1f['model']=_[_0x8b28('0x28')](_0x463165,'name');_0x2a0e1f[_0x8b28('0x2b')]=_[_0x8b28('0x2c')](_0x5c8a47[_0x8b28('0x2b')]);_0x2a0e1f['filters']=_[_0x8b28('0x2d')](_0x2a0e1f[_0x8b28('0x2e')],_0x2a0e1f[_0x8b28('0x2b')]);_0x3bdb8b[_0x8b28('0x2f')]=_[_0x8b28('0x2d')](_0x2a0e1f[_0x8b28('0x2e')],qs['fields'](_0x5c8a47[_0x8b28('0x2b')][_0x8b28('0x30')]));_0x3bdb8b[_0x8b28('0x2f')]=_0x3bdb8b[_0x8b28('0x2f')][_0x8b28('0x31')]?_0x3bdb8b[_0x8b28('0x2f')]:_0x2a0e1f[_0x8b28('0x2e')];if(!_0x5c8a47[_0x8b28('0x2b')][_0x8b28('0x32')]('nolimit')){_0x3bdb8b[_0x8b28('0x20')]=qs[_0x8b28('0x20')](_0x5c8a47[_0x8b28('0x2b')][_0x8b28('0x20')]);_0x3bdb8b[_0x8b28('0x1f')]=qs[_0x8b28('0x1f')](_0x5c8a47[_0x8b28('0x2b')][_0x8b28('0x1f')]);}_0x3bdb8b[_0x8b28('0x33')]=qs['sort'](_0x5c8a47[_0x8b28('0x2b')][_0x8b28('0x34')]);_0x3bdb8b[_0x8b28('0x35')]=qs[_0x8b28('0x36')](_[_0x8b28('0x37')](_0x5c8a47[_0x8b28('0x2b')],_0x2a0e1f['filters']),_0x463165);if(_0x5c8a47['query']['filter']){_0x3bdb8b[_0x8b28('0x35')]=_[_0x8b28('0x38')](_0x3bdb8b[_0x8b28('0x35')],{'$or':_['map'](_0x463165,function(_0x1e0c9e){if(_0x1e0c9e[_0x8b28('0x2a')]!=='VIRTUAL'){var _0x560b5c={};_0x560b5c[_0x1e0c9e['name']]={'$like':'%'+_0x5c8a47['query'][_0x8b28('0x39')]+'%'};return _0x560b5c;}})});}_0x3bdb8b=_['merge']({},_0x3bdb8b,_0x5c8a47['options']);var _0x49d936={'where':_0x3bdb8b[_0x8b28('0x35')]};return db['FreshsalesField'][_0x8b28('0x1e')](_0x49d936)[_0x8b28('0x23')](function(_0x1fa150){_0x4e24ad[_0x8b28('0x1e')]=_0x1fa150;if(_0x5c8a47[_0x8b28('0x2b')]['includeAll']){_0x3bdb8b[_0x8b28('0x3a')]=[{'all':!![]}];}return db[_0x8b28('0x29')][_0x8b28('0x3b')](_0x3bdb8b);})[_0x8b28('0x23')](function(_0x30ed1c){_0x4e24ad[_0x8b28('0x3c')]=_0x30ed1c;return _0x4e24ad;})[_0x8b28('0x23')](respondWithFilteredResult(_0x542330,_0x3bdb8b))['catch'](handleError(_0x542330,null));};exports[_0x8b28('0x3d')]=function(_0x45dd0d,_0xe9a529){var _0x44fcab={'raw':!![],'where':{'id':_0x45dd0d['params']['id']}},_0x20f099={};_0x20f099[_0x8b28('0x2e')]=_[_0x8b28('0x2c')](db['FreshsalesField'][_0x8b28('0x3e')]);_0x20f099[_0x8b28('0x2b')]=_['keys'](_0x45dd0d[_0x8b28('0x2b')]);_0x20f099[_0x8b28('0x36')]=_[_0x8b28('0x2d')](_0x20f099[_0x8b28('0x2e')],_0x20f099[_0x8b28('0x2b')]);_0x44fcab['attributes']=_['intersection'](_0x20f099[_0x8b28('0x2e')],qs[_0x8b28('0x30')](_0x45dd0d['query'][_0x8b28('0x30')]));_0x44fcab[_0x8b28('0x2f')]=_0x44fcab['attributes'][_0x8b28('0x31')]?_0x44fcab['attributes']:_0x20f099['model'];if(_0x45dd0d[_0x8b28('0x2b')][_0x8b28('0x3f')]){_0x44fcab['include']=[{'all':!![]}];}_0x44fcab=_[_0x8b28('0x38')]({},_0x44fcab,_0x45dd0d[_0x8b28('0x40')]);return db[_0x8b28('0x29')][_0x8b28('0x41')](_0x44fcab)[_0x8b28('0x23')](handleEntityNotFound(_0xe9a529,null))[_0x8b28('0x23')](respondWithResult(_0xe9a529,null))[_0x8b28('0x42')](handleError(_0xe9a529,null));};exports[_0x8b28('0x43')]=function(_0x4167f9,_0x10dade){return db[_0x8b28('0x29')][_0x8b28('0x43')](_0x4167f9[_0x8b28('0x44')],{})['then'](respondWithResult(_0x10dade,0xc9))[_0x8b28('0x42')](handleError(_0x10dade,null));};exports[_0x8b28('0x45')]=function(_0x192ce5,_0x56bbbc){if(_0x192ce5[_0x8b28('0x44')]['id']){delete _0x192ce5[_0x8b28('0x44')]['id'];}return db[_0x8b28('0x29')][_0x8b28('0x41')]({'where':{'id':_0x192ce5[_0x8b28('0x46')]['id']}})[_0x8b28('0x23')](handleEntityNotFound(_0x56bbbc,null))['then'](saveUpdates(_0x192ce5['body'],null))[_0x8b28('0x23')](respondWithResult(_0x56bbbc,null))['catch'](handleError(_0x56bbbc,null));};exports[_0x8b28('0x24')]=function(_0x39540f,_0x408aa5){return db[_0x8b28('0x29')]['find']({'where':{'id':_0x39540f['params']['id']}})[_0x8b28('0x23')](handleEntityNotFound(_0x408aa5,null))[_0x8b28('0x23')](removeEntity(_0x408aa5,null))['catch'](handleError(_0x408aa5,null));};
\ No newline at end of file
+var _0xc480=['crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','undefined','limit','offset','count','status','set','Content-Range','json','reject','save','then','destroy','stack','name','send','index','map','FreshsalesField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','include','create','body','update','find','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0xa98302,_0x844f27){var _0x1ad8e3=function(_0x57e51d){while(--_0x57e51d){_0xa98302['push'](_0xa98302['shift']());}};_0x1ad8e3(++_0x844f27);}(_0xc480,0xd2));var _0x0c48=function(_0x12771f,_0x4f203e){_0x12771f=_0x12771f-0x0;var _0xef2dc1=_0xc480[_0x12771f];return _0xef2dc1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0c48('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0c48('0x1'));var rp=require(_0x0c48('0x2'));var moment=require('moment');var BPromise=require(_0x0c48('0x3'));var Mustache=require('mustache');var util=require(_0x0c48('0x4'));var path=require(_0x0c48('0x5'));var sox=require(_0x0c48('0x6'));var csv=require(_0x0c48('0x7'));var ejs=require(_0x0c48('0x8'));var fs=require('fs');var fs_extra=require(_0x0c48('0x9'));var _=require(_0x0c48('0xa'));var squel=require(_0x0c48('0xb'));var crypto=require(_0x0c48('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0c48('0xd'));var toCsv=require('to-csv');var querystring=require(_0x0c48('0xe'));var Papa=require(_0x0c48('0xf'));var Redis=require(_0x0c48('0x10'));var authService=require(_0x0c48('0x11'));var qs=require(_0x0c48('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0c48('0x13'));var logger=require('../../config/logger')(_0x0c48('0x14'));var utils=require(_0x0c48('0x15'));var config=require(_0x0c48('0x16'));var licenseUtil=require(_0x0c48('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c84ec,_0x521c02){_0x521c02=_0x521c02||0xcc;return function(_0xb9ec20){if(_0xb9ec20){return _0x2c84ec[_0x0c48('0x18')](_0x521c02);}return _0x2c84ec['status'](_0x521c02)[_0x0c48('0x19')]();};}function respondWithResult(_0x412ba5,_0x16e67f){_0x16e67f=_0x16e67f||0xc8;return function(_0x1705bf){if(_0x1705bf){return _0x412ba5['status'](_0x16e67f)['json'](_0x1705bf);}};}function respondWithFilteredResult(_0x46bf39,_0x5cd666){return function(_0x2a0856){if(_0x2a0856){var _0x575e34=typeof _0x5cd666['offset']===_0x0c48('0x1a')&&typeof _0x5cd666[_0x0c48('0x1b')]===_0x0c48('0x1a');var _0x31f117=_0x2a0856['count'];var _0xe8b73b=_0x575e34?0x0:_0x5cd666[_0x0c48('0x1c')];var _0x2116c6=_0x575e34?_0x2a0856[_0x0c48('0x1d')]:_0x5cd666[_0x0c48('0x1c')]+_0x5cd666[_0x0c48('0x1b')];var _0x42a5a7;if(_0x2116c6>=_0x31f117){_0x2116c6=_0x31f117;_0x42a5a7=0xc8;}else{_0x42a5a7=0xce;}_0x46bf39[_0x0c48('0x1e')](_0x42a5a7);return _0x46bf39[_0x0c48('0x1f')](_0x0c48('0x20'),_0xe8b73b+'-'+_0x2116c6+'/'+_0x31f117)[_0x0c48('0x21')](_0x2a0856);}return null;};}function patchUpdates(_0x19d0a1){return function(_0x369b3c){try{jsonpatch['apply'](_0x369b3c,_0x19d0a1,!![]);}catch(_0xe44c97){return BPromise[_0x0c48('0x22')](_0xe44c97);}return _0x369b3c[_0x0c48('0x23')]();};}function saveUpdates(_0x9422e8,_0x5c9a1e){return function(_0x496610){if(_0x496610){return _0x496610['update'](_0x9422e8)[_0x0c48('0x24')](function(_0x29769b){return _0x29769b;});}return null;};}function removeEntity(_0x268e1b,_0x424e43){return function(_0x4ec52c){if(_0x4ec52c){return _0x4ec52c[_0x0c48('0x25')]()['then'](function(){_0x268e1b[_0x0c48('0x1e')](0xcc)[_0x0c48('0x19')]();});}};}function handleEntityNotFound(_0x522fc2,_0x52a333){return function(_0xc0bec9){if(!_0xc0bec9){_0x522fc2[_0x0c48('0x18')](0x194);}return _0xc0bec9;};}function handleError(_0x427a1d,_0x5320b4){_0x5320b4=_0x5320b4||0x1f4;return function(_0x16bf5d){logger['error'](_0x16bf5d[_0x0c48('0x26')]);if(_0x16bf5d['name']){delete _0x16bf5d[_0x0c48('0x27')];}_0x427a1d[_0x0c48('0x1e')](_0x5320b4)[_0x0c48('0x28')](_0x16bf5d);};}exports[_0x0c48('0x29')]=function(_0x5cf7ae,_0x38a1b5){var _0x219605={},_0x13b6ac={},_0x28a123={'count':0x0,'rows':[]};var _0x35e9e8=_[_0x0c48('0x2a')](db[_0x0c48('0x2b')][_0x0c48('0x2c')],function(_0x44790a){return{'name':_0x44790a[_0x0c48('0x2d')],'type':_0x44790a[_0x0c48('0x2e')][_0x0c48('0x2f')]};});_0x13b6ac[_0x0c48('0x30')]=_[_0x0c48('0x2a')](_0x35e9e8,_0x0c48('0x27'));_0x13b6ac[_0x0c48('0x31')]=_[_0x0c48('0x32')](_0x5cf7ae[_0x0c48('0x31')]);_0x13b6ac[_0x0c48('0x33')]=_[_0x0c48('0x34')](_0x13b6ac[_0x0c48('0x30')],_0x13b6ac[_0x0c48('0x31')]);_0x219605[_0x0c48('0x35')]=_[_0x0c48('0x34')](_0x13b6ac[_0x0c48('0x30')],qs[_0x0c48('0x36')](_0x5cf7ae['query']['fields']));_0x219605[_0x0c48('0x35')]=_0x219605[_0x0c48('0x35')][_0x0c48('0x37')]?_0x219605['attributes']:_0x13b6ac[_0x0c48('0x30')];if(!_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x38')]('nolimit')){_0x219605[_0x0c48('0x1b')]=qs[_0x0c48('0x1b')](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x1b')]);_0x219605[_0x0c48('0x1c')]=qs['offset'](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x1c')]);}_0x219605['order']=qs[_0x0c48('0x39')](_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x39')]);_0x219605['where']=qs[_0x0c48('0x33')](_[_0x0c48('0x3a')](_0x5cf7ae['query'],_0x13b6ac[_0x0c48('0x33')]),_0x35e9e8);if(_0x5cf7ae['query'][_0x0c48('0x3b')]){_0x219605[_0x0c48('0x3c')]=_[_0x0c48('0x3d')](_0x219605['where'],{'$or':_[_0x0c48('0x2a')](_0x35e9e8,function(_0x53df99){if(_0x53df99[_0x0c48('0x2e')]!==_0x0c48('0x3e')){var _0x259b74={};_0x259b74[_0x53df99[_0x0c48('0x27')]]={'$like':'%'+_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x3b')]+'%'};return _0x259b74;}})});}_0x219605=_['merge']({},_0x219605,_0x5cf7ae[_0x0c48('0x3f')]);var _0x47703e={'where':_0x219605[_0x0c48('0x3c')]};return db[_0x0c48('0x2b')][_0x0c48('0x1d')](_0x47703e)[_0x0c48('0x24')](function(_0xa8b6ed){_0x28a123[_0x0c48('0x1d')]=_0xa8b6ed;if(_0x5cf7ae[_0x0c48('0x31')][_0x0c48('0x40')]){_0x219605['include']=[{'all':!![]}];}return db[_0x0c48('0x2b')][_0x0c48('0x41')](_0x219605);})['then'](function(_0x523b75){_0x28a123[_0x0c48('0x42')]=_0x523b75;return _0x28a123;})['then'](respondWithFilteredResult(_0x38a1b5,_0x219605))[_0x0c48('0x43')](handleError(_0x38a1b5,null));};exports['show']=function(_0x13cfee,_0x27c3d8){var _0x4a2233={'raw':!![],'where':{'id':_0x13cfee[_0x0c48('0x44')]['id']}},_0x1208a6={};_0x1208a6[_0x0c48('0x30')]=_[_0x0c48('0x32')](db[_0x0c48('0x2b')][_0x0c48('0x2c')]);_0x1208a6[_0x0c48('0x31')]=_[_0x0c48('0x32')](_0x13cfee[_0x0c48('0x31')]);_0x1208a6[_0x0c48('0x33')]=_[_0x0c48('0x34')](_0x1208a6[_0x0c48('0x30')],_0x1208a6['query']);_0x4a2233[_0x0c48('0x35')]=_['intersection'](_0x1208a6[_0x0c48('0x30')],qs[_0x0c48('0x36')](_0x13cfee[_0x0c48('0x31')][_0x0c48('0x36')]));_0x4a2233[_0x0c48('0x35')]=_0x4a2233['attributes'][_0x0c48('0x37')]?_0x4a2233[_0x0c48('0x35')]:_0x1208a6[_0x0c48('0x30')];if(_0x13cfee['query'][_0x0c48('0x40')]){_0x4a2233[_0x0c48('0x45')]=[{'all':!![]}];}_0x4a2233=_['merge']({},_0x4a2233,_0x13cfee[_0x0c48('0x3f')]);return db[_0x0c48('0x2b')]['find'](_0x4a2233)[_0x0c48('0x24')](handleEntityNotFound(_0x27c3d8,null))[_0x0c48('0x24')](respondWithResult(_0x27c3d8,null))[_0x0c48('0x43')](handleError(_0x27c3d8,null));};exports[_0x0c48('0x46')]=function(_0x396988,_0x126743){return db['FreshsalesField'][_0x0c48('0x46')](_0x396988[_0x0c48('0x47')],{})['then'](respondWithResult(_0x126743,0xc9))['catch'](handleError(_0x126743,null));};exports[_0x0c48('0x48')]=function(_0x7d6ae2,_0x1c6ec6){if(_0x7d6ae2[_0x0c48('0x47')]['id']){delete _0x7d6ae2[_0x0c48('0x47')]['id'];}return db[_0x0c48('0x2b')]['find']({'where':{'id':_0x7d6ae2['params']['id']}})['then'](handleEntityNotFound(_0x1c6ec6,null))[_0x0c48('0x24')](saveUpdates(_0x7d6ae2[_0x0c48('0x47')],null))[_0x0c48('0x24')](respondWithResult(_0x1c6ec6,null))[_0x0c48('0x43')](handleError(_0x1c6ec6,null));};exports[_0x0c48('0x25')]=function(_0x51fea4,_0x27fe81){return db['FreshsalesField'][_0x0c48('0x49')]({'where':{'id':_0x51fea4[_0x0c48('0x44')]['id']}})[_0x0c48('0x24')](handleEntityNotFound(_0x27fe81,null))[_0x0c48('0x24')](removeEntity(_0x27fe81,null))[_0x0c48('0x43')](handleError(_0x27fe81,null));};
\ No newline at end of file