Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / api / intVtigerField / intVtigerField.controller.js
index e9a8268..88cf9ac 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2e6b=['path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','error','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','VtigerField','findAll','rows','catch','show','length','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2e6b,0x95));var _0xb2e6=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x2e6b[_0x14add3];return _0x4a174f;};'use strict';var pdf=require(_0xb2e6('0x0'));var emlformat=require(_0xb2e6('0x1'));var rimraf=require(_0xb2e6('0x2'));var zipdir=require(_0xb2e6('0x3'));var jsonpatch=require(_0xb2e6('0x4'));var rp=require(_0xb2e6('0x5'));var moment=require(_0xb2e6('0x6'));var BPromise=require('bluebird');var Mustache=require(_0xb2e6('0x7'));var util=require(_0xb2e6('0x8'));var path=require(_0xb2e6('0x9'));var sox=require(_0xb2e6('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xb2e6('0xb'));var squel=require(_0xb2e6('0xc'));var crypto=require(_0xb2e6('0xd'));var jsforce=require(_0xb2e6('0xe'));var deskjs=require(_0xb2e6('0xf'));var toCsv=require(_0xb2e6('0x10'));var querystring=require(_0xb2e6('0x11'));var Papa=require(_0xb2e6('0x12'));var Redis=require(_0xb2e6('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xb2e6('0x14'));var as=require(_0xb2e6('0x15'));var hardwareService=require(_0xb2e6('0x16'));var logger=require(_0xb2e6('0x17'))('api');var utils=require(_0xb2e6('0x18'));var config=require(_0xb2e6('0x19'));var db=require(_0xb2e6('0x1a'))['db'];function respondWithStatusCode(_0x2c857d,_0x44c871){_0x44c871=_0x44c871||0xcc;return function(_0x339c6d){if(_0x339c6d){return _0x2c857d[_0xb2e6('0x1b')](_0x44c871);}return _0x2c857d[_0xb2e6('0x1c')](_0x44c871)[_0xb2e6('0x1d')]();};}function respondWithResult(_0x45a728,_0x2ef64b){_0x2ef64b=_0x2ef64b||0xc8;return function(_0x2ea7fd){if(_0x2ea7fd){return _0x45a728['status'](_0x2ef64b)[_0xb2e6('0x1e')](_0x2ea7fd);}};}function respondWithFilteredResult(_0x8aea70,_0xddf75c){return function(_0xe82126){if(_0xe82126){var _0x55dacf=_0xe82126[_0xb2e6('0x1f')],_0x33168f=_0xddf75c['offset'],_0x3ee6a7=_0xddf75c[_0xb2e6('0x20')]+_0xddf75c[_0xb2e6('0x21')],_0x4707fd;if(_0x3ee6a7>=_0x55dacf){_0x3ee6a7=_0x55dacf;_0x4707fd=0xc8;}else{_0x4707fd=0xce;}_0x8aea70[_0xb2e6('0x1c')](_0x4707fd);return _0x8aea70[_0xb2e6('0x22')](_0xb2e6('0x23'),_0x33168f+'-'+_0x3ee6a7+'/'+_0x55dacf)[_0xb2e6('0x1e')](_0xe82126);}return null;};}function patchUpdates(_0x42f3b6){return function(_0x359fab){try{jsonpatch['apply'](_0x359fab,_0x42f3b6,!![]);}catch(_0x348e00){return BPromise[_0xb2e6('0x24')](_0x348e00);}return _0x359fab[_0xb2e6('0x25')]();};}function saveUpdates(_0x428ce7,_0x533370){return function(_0x2639f4){if(_0x2639f4){return _0x2639f4[_0xb2e6('0x26')](_0x428ce7)[_0xb2e6('0x27')](function(_0x6c24a9){return _0x6c24a9;});}return null;};}function removeEntity(_0x4dec06,_0x5855b5){return function(_0x5405b6){if(_0x5405b6){return _0x5405b6[_0xb2e6('0x28')]()[_0xb2e6('0x27')](function(){_0x4dec06['status'](0xcc)[_0xb2e6('0x1d')]();});}};}function handleEntityNotFound(_0x2f469f,_0x210f31){return function(_0x5f14d0){if(!_0x5f14d0){_0x2f469f[_0xb2e6('0x1b')](0x194);}return _0x5f14d0;};}function handleError(_0x4cbf9d,_0x15ef06){_0x15ef06=_0x15ef06||0x1f4;return function(_0x3c719e){logger[_0xb2e6('0x29')](_0x3c719e['stack']);if(_0x3c719e[_0xb2e6('0x2a')]){delete _0x3c719e[_0xb2e6('0x2a')];}_0x4cbf9d[_0xb2e6('0x1c')](_0x15ef06)[_0xb2e6('0x2b')](_0x3c719e);};}exports[_0xb2e6('0x2c')]=function(_0x15cd54,_0x4ba63a){var _0x2782c6={},_0x5d4f3c={},_0x29a0b8={'count':0x0,'rows':[]};var _0x53f5c5=_[_0xb2e6('0x2d')](db['VtigerField'][_0xb2e6('0x2e')],function(_0x36d77a){return{'name':_0x36d77a[_0xb2e6('0x2f')],'type':_0x36d77a[_0xb2e6('0x30')][_0xb2e6('0x31')]};});_0x5d4f3c['model']=_[_0xb2e6('0x2d')](_0x53f5c5,_0xb2e6('0x2a'));_0x5d4f3c[_0xb2e6('0x32')]=_[_0xb2e6('0x33')](_0x15cd54[_0xb2e6('0x32')]);_0x5d4f3c[_0xb2e6('0x34')]=_[_0xb2e6('0x35')](_0x5d4f3c[_0xb2e6('0x36')],_0x5d4f3c[_0xb2e6('0x32')]);_0x2782c6[_0xb2e6('0x37')]=_[_0xb2e6('0x35')](_0x5d4f3c[_0xb2e6('0x36')],qs['fields'](_0x15cd54[_0xb2e6('0x32')][_0xb2e6('0x38')]));_0x2782c6['attributes']=_0x2782c6['attributes']['length']?_0x2782c6[_0xb2e6('0x37')]:_0x5d4f3c[_0xb2e6('0x36')];if(!_0x15cd54[_0xb2e6('0x32')][_0xb2e6('0x39')](_0xb2e6('0x3a'))){_0x2782c6[_0xb2e6('0x21')]=qs['limit'](_0x15cd54['query'][_0xb2e6('0x21')]);_0x2782c6[_0xb2e6('0x20')]=qs[_0xb2e6('0x20')](_0x15cd54['query'][_0xb2e6('0x20')]);}_0x2782c6[_0xb2e6('0x3b')]=qs['sort'](_0x15cd54['query'][_0xb2e6('0x3c')]);_0x2782c6[_0xb2e6('0x3d')]=qs[_0xb2e6('0x34')](_[_0xb2e6('0x3e')](_0x15cd54['query'],_0x5d4f3c[_0xb2e6('0x34')]));if(_0x15cd54[_0xb2e6('0x32')]['filter']){_0x2782c6['where']=_[_0xb2e6('0x3f')](_0x2782c6[_0xb2e6('0x3d')],{'$or':_[_0xb2e6('0x2d')](_0x53f5c5,function(_0x5f1264){if(_0x5f1264[_0xb2e6('0x30')]!==_0xb2e6('0x40')){var _0x348299={};_0x348299[_0x5f1264[_0xb2e6('0x2a')]]={'$like':'%'+_0x15cd54[_0xb2e6('0x32')][_0xb2e6('0x41')]+'%'};return _0x348299;}})});}_0x2782c6=_[_0xb2e6('0x3f')]({},_0x2782c6,_0x15cd54[_0xb2e6('0x42')]);var _0x202e16={'where':_0x2782c6[_0xb2e6('0x3d')]};return db['VtigerField']['count'](_0x202e16)[_0xb2e6('0x27')](function(_0x3d2d4e){_0x29a0b8['count']=_0x3d2d4e;if(_0x15cd54[_0xb2e6('0x32')][_0xb2e6('0x43')]){_0x2782c6[_0xb2e6('0x44')]=[{'all':!![]}];}return db[_0xb2e6('0x45')][_0xb2e6('0x46')](_0x2782c6);})[_0xb2e6('0x27')](function(_0x68f779){_0x29a0b8[_0xb2e6('0x47')]=_0x68f779;return _0x29a0b8;})[_0xb2e6('0x27')](respondWithFilteredResult(_0x4ba63a,_0x2782c6))[_0xb2e6('0x48')](handleError(_0x4ba63a,null));};exports[_0xb2e6('0x49')]=function(_0xac550e,_0x25262c){var _0x591fd8={'raw':!![],'where':{'id':_0xac550e['params']['id']}},_0xf98db6={};_0xf98db6[_0xb2e6('0x36')]=_['keys'](db[_0xb2e6('0x45')][_0xb2e6('0x2e')]);_0xf98db6[_0xb2e6('0x32')]=_[_0xb2e6('0x33')](_0xac550e['query']);_0xf98db6[_0xb2e6('0x34')]=_[_0xb2e6('0x35')](_0xf98db6[_0xb2e6('0x36')],_0xf98db6[_0xb2e6('0x32')]);_0x591fd8[_0xb2e6('0x37')]=_[_0xb2e6('0x35')](_0xf98db6[_0xb2e6('0x36')],qs[_0xb2e6('0x38')](_0xac550e['query'][_0xb2e6('0x38')]));_0x591fd8[_0xb2e6('0x37')]=_0x591fd8[_0xb2e6('0x37')][_0xb2e6('0x4a')]?_0x591fd8[_0xb2e6('0x37')]:_0xf98db6[_0xb2e6('0x36')];if(_0xac550e[_0xb2e6('0x32')]['includeAll']){_0x591fd8['include']=[{'all':!![]}];}_0x591fd8=_[_0xb2e6('0x3f')]({},_0x591fd8,_0xac550e['options']);return db[_0xb2e6('0x45')][_0xb2e6('0x4b')](_0x591fd8)[_0xb2e6('0x27')](handleEntityNotFound(_0x25262c,null))[_0xb2e6('0x27')](respondWithResult(_0x25262c,null))['catch'](handleError(_0x25262c,null));};exports[_0xb2e6('0x4c')]=function(_0x12d3e0,_0x1b27d1){return db[_0xb2e6('0x45')][_0xb2e6('0x4c')](_0x12d3e0[_0xb2e6('0x4d')],{})[_0xb2e6('0x27')](respondWithResult(_0x1b27d1,0xc9))[_0xb2e6('0x48')](handleError(_0x1b27d1,null));};exports[_0xb2e6('0x26')]=function(_0x92bf43,_0x428430){if(_0x92bf43[_0xb2e6('0x4d')]['id']){delete _0x92bf43['body']['id'];}return db[_0xb2e6('0x45')][_0xb2e6('0x4b')]({'where':{'id':_0x92bf43[_0xb2e6('0x4e')]['id']}})['then'](handleEntityNotFound(_0x428430,null))[_0xb2e6('0x27')](saveUpdates(_0x92bf43[_0xb2e6('0x4d')],null))['then'](respondWithResult(_0x428430,null))[_0xb2e6('0x48')](handleError(_0x428430,null));};exports[_0xb2e6('0x28')]=function(_0x2e7c54,_0x186c35){return db['VtigerField'][_0xb2e6('0x4b')]({'where':{'id':_0x2e7c54[_0xb2e6('0x4e')]['id']}})[_0xb2e6('0x27')](handleEntityNotFound(_0x186c35,null))['then'](removeEntity(_0x186c35,null))[_0xb2e6('0x48')](handleError(_0x186c35,null));};
\ No newline at end of file
+var _0x1258=['map','VtigerField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','findAll','rows','show','params','keys','includeAll','include','catch','create','body','rimraf','fast-json-patch','moment','mustache','util','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','update','then','destroy','error','stack','name','send','index'];(function(_0x3cfb42,_0x466f88){var _0x4ee87e=function(_0x57cd82){while(--_0x57cd82){_0x3cfb42['push'](_0x3cfb42['shift']());}};_0x4ee87e(++_0x466f88);}(_0x1258,0x1c4));var _0x8125=function(_0x1ba36e,_0x20f86d){_0x1ba36e=_0x1ba36e-0x0;var _0x408b99=_0x1258[_0x1ba36e];return _0x408b99;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8125('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8125('0x1'));var rp=require('request-promise');var moment=require(_0x8125('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x8125('0x3'));var util=require(_0x8125('0x4'));var path=require('path');var sox=require(_0x8125('0x5'));var csv=require('to-csv');var ejs=require(_0x8125('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8125('0x7'));var crypto=require(_0x8125('0x8'));var jsforce=require(_0x8125('0x9'));var deskjs=require(_0x8125('0xa'));var toCsv=require(_0x8125('0xb'));var querystring=require(_0x8125('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8125('0xd'));var as=require(_0x8125('0xe'));var hardwareService=require(_0x8125('0xf'));var logger=require(_0x8125('0x10'))(_0x8125('0x11'));var utils=require(_0x8125('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x8125('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d3d01,_0x50f425){_0x50f425=_0x50f425||0xcc;return function(_0x1ffb22){if(_0x1ffb22){return _0x5d3d01[_0x8125('0x14')](_0x50f425);}return _0x5d3d01[_0x8125('0x15')](_0x50f425)[_0x8125('0x16')]();};}function respondWithResult(_0x28d807,_0x17ebef){_0x17ebef=_0x17ebef||0xc8;return function(_0x28a7d1){if(_0x28a7d1){return _0x28d807[_0x8125('0x15')](_0x17ebef)[_0x8125('0x17')](_0x28a7d1);}};}function respondWithFilteredResult(_0x226d40,_0x138dd4){return function(_0x1cd32c){if(_0x1cd32c){var _0x555890=typeof _0x138dd4[_0x8125('0x18')]===_0x8125('0x19')&&typeof _0x138dd4['limit']==='undefined';var _0x53eb33=_0x1cd32c[_0x8125('0x1a')];var _0x1356c5=_0x555890?0x0:_0x138dd4['offset'];var _0x6596fc=_0x555890?_0x1cd32c[_0x8125('0x1a')]:_0x138dd4[_0x8125('0x18')]+_0x138dd4[_0x8125('0x1b')];var _0x2d763f;if(_0x6596fc>=_0x53eb33){_0x6596fc=_0x53eb33;_0x2d763f=0xc8;}else{_0x2d763f=0xce;}_0x226d40[_0x8125('0x15')](_0x2d763f);return _0x226d40['set'](_0x8125('0x1c'),_0x1356c5+'-'+_0x6596fc+'/'+_0x53eb33)[_0x8125('0x17')](_0x1cd32c);}return null;};}function patchUpdates(_0x58365f){return function(_0x3d01a0){try{jsonpatch[_0x8125('0x1d')](_0x3d01a0,_0x58365f,!![]);}catch(_0x4db344){return BPromise['reject'](_0x4db344);}return _0x3d01a0['save']();};}function saveUpdates(_0x153200,_0x53183d){return function(_0x25e238){if(_0x25e238){return _0x25e238[_0x8125('0x1e')](_0x153200)[_0x8125('0x1f')](function(_0x3b5da3){return _0x3b5da3;});}return null;};}function removeEntity(_0x4aa55b,_0x1e8e97){return function(_0x5eff99){if(_0x5eff99){return _0x5eff99[_0x8125('0x20')]()['then'](function(){_0x4aa55b[_0x8125('0x15')](0xcc)[_0x8125('0x16')]();});}};}function handleEntityNotFound(_0x3726f8,_0x4b3dc5){return function(_0x123987){if(!_0x123987){_0x3726f8['sendStatus'](0x194);}return _0x123987;};}function handleError(_0x4a0c7b,_0xe63824){_0xe63824=_0xe63824||0x1f4;return function(_0x5a8807){logger[_0x8125('0x21')](_0x5a8807[_0x8125('0x22')]);if(_0x5a8807['name']){delete _0x5a8807[_0x8125('0x23')];}_0x4a0c7b[_0x8125('0x15')](_0xe63824)[_0x8125('0x24')](_0x5a8807);};}exports[_0x8125('0x25')]=function(_0x40e825,_0x1f158c){var _0x13939e={},_0x57ff32={},_0x46973d={'count':0x0,'rows':[]};var _0x58a01a=_[_0x8125('0x26')](db[_0x8125('0x27')][_0x8125('0x28')],function(_0x55fdf5){return{'name':_0x55fdf5[_0x8125('0x29')],'type':_0x55fdf5[_0x8125('0x2a')][_0x8125('0x2b')]};});_0x57ff32[_0x8125('0x2c')]=_[_0x8125('0x26')](_0x58a01a,_0x8125('0x23'));_0x57ff32['query']=_['keys'](_0x40e825[_0x8125('0x2d')]);_0x57ff32[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x57ff32['model'],_0x57ff32[_0x8125('0x2d')]);_0x13939e[_0x8125('0x30')]=_[_0x8125('0x2f')](_0x57ff32[_0x8125('0x2c')],qs['fields'](_0x40e825[_0x8125('0x2d')][_0x8125('0x31')]));_0x13939e[_0x8125('0x30')]=_0x13939e[_0x8125('0x30')][_0x8125('0x32')]?_0x13939e[_0x8125('0x30')]:_0x57ff32['model'];if(!_0x40e825[_0x8125('0x2d')][_0x8125('0x33')](_0x8125('0x34'))){_0x13939e[_0x8125('0x1b')]=qs[_0x8125('0x1b')](_0x40e825['query'][_0x8125('0x1b')]);_0x13939e[_0x8125('0x18')]=qs['offset'](_0x40e825[_0x8125('0x2d')][_0x8125('0x18')]);}_0x13939e[_0x8125('0x35')]=qs['sort'](_0x40e825[_0x8125('0x2d')][_0x8125('0x36')]);_0x13939e[_0x8125('0x37')]=qs[_0x8125('0x2e')](_['pick'](_0x40e825[_0x8125('0x2d')],_0x57ff32[_0x8125('0x2e')]),_0x58a01a);if(_0x40e825['query'][_0x8125('0x38')]){_0x13939e[_0x8125('0x37')]=_[_0x8125('0x39')](_0x13939e[_0x8125('0x37')],{'$or':_[_0x8125('0x26')](_0x58a01a,function(_0x302259){if(_0x302259[_0x8125('0x2a')]!==_0x8125('0x3a')){var _0x1f4f3b={};_0x1f4f3b[_0x302259[_0x8125('0x23')]]={'$like':'%'+_0x40e825[_0x8125('0x2d')][_0x8125('0x38')]+'%'};return _0x1f4f3b;}})});}_0x13939e=_[_0x8125('0x39')]({},_0x13939e,_0x40e825[_0x8125('0x3b')]);var _0x365956={'where':_0x13939e[_0x8125('0x37')]};return db['VtigerField'][_0x8125('0x1a')](_0x365956)[_0x8125('0x1f')](function(_0x376f9b){_0x46973d[_0x8125('0x1a')]=_0x376f9b;if(_0x40e825[_0x8125('0x2d')]['includeAll']){_0x13939e['include']=[{'all':!![]}];}return db[_0x8125('0x27')][_0x8125('0x3c')](_0x13939e);})[_0x8125('0x1f')](function(_0x3ba1c9){_0x46973d[_0x8125('0x3d')]=_0x3ba1c9;return _0x46973d;})[_0x8125('0x1f')](respondWithFilteredResult(_0x1f158c,_0x13939e))['catch'](handleError(_0x1f158c,null));};exports[_0x8125('0x3e')]=function(_0x7313e3,_0x1be525){var _0x3bbb20={'raw':!![],'where':{'id':_0x7313e3[_0x8125('0x3f')]['id']}},_0x7d70b8={};_0x7d70b8[_0x8125('0x2c')]=_['keys'](db[_0x8125('0x27')]['rawAttributes']);_0x7d70b8[_0x8125('0x2d')]=_[_0x8125('0x40')](_0x7313e3['query']);_0x7d70b8[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x7d70b8[_0x8125('0x2c')],_0x7d70b8[_0x8125('0x2d')]);_0x3bbb20['attributes']=_['intersection'](_0x7d70b8[_0x8125('0x2c')],qs[_0x8125('0x31')](_0x7313e3[_0x8125('0x2d')][_0x8125('0x31')]));_0x3bbb20[_0x8125('0x30')]=_0x3bbb20[_0x8125('0x30')][_0x8125('0x32')]?_0x3bbb20['attributes']:_0x7d70b8[_0x8125('0x2c')];if(_0x7313e3[_0x8125('0x2d')][_0x8125('0x41')]){_0x3bbb20[_0x8125('0x42')]=[{'all':!![]}];}_0x3bbb20=_['merge']({},_0x3bbb20,_0x7313e3['options']);return db[_0x8125('0x27')]['find'](_0x3bbb20)[_0x8125('0x1f')](handleEntityNotFound(_0x1be525,null))[_0x8125('0x1f')](respondWithResult(_0x1be525,null))[_0x8125('0x43')](handleError(_0x1be525,null));};exports['create']=function(_0x164b16,_0x4dd2f1){return db[_0x8125('0x27')][_0x8125('0x44')](_0x164b16[_0x8125('0x45')],{})[_0x8125('0x1f')](respondWithResult(_0x4dd2f1,0xc9))[_0x8125('0x43')](handleError(_0x4dd2f1,null));};exports[_0x8125('0x1e')]=function(_0x2234b6,_0x50ef42){if(_0x2234b6[_0x8125('0x45')]['id']){delete _0x2234b6['body']['id'];}return db['VtigerField']['find']({'where':{'id':_0x2234b6['params']['id']}})[_0x8125('0x1f')](handleEntityNotFound(_0x50ef42,null))[_0x8125('0x1f')](saveUpdates(_0x2234b6[_0x8125('0x45')],null))[_0x8125('0x1f')](respondWithResult(_0x50ef42,null))[_0x8125('0x43')](handleError(_0x50ef42,null));};exports[_0x8125('0x20')]=function(_0x10a45e,_0x2954a4){return db['VtigerField']['find']({'where':{'id':_0x10a45e[_0x8125('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2954a4,null))[_0x8125('0x1f')](removeEntity(_0x2954a4,null))[_0x8125('0x43')](handleError(_0x2954a4,null));};
\ No newline at end of file