Built motion from commit ffdca78c.|2.6.24
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.controller.js
index 95a3294..2b0d00d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x0c3c=['catch','show','params','find','create','body','describe','uniqueid','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','index','map','CmHopperHistory','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows'];(function(_0x448fea,_0x526599){var _0x3f74b6=function(_0x20c998){while(--_0x20c998){_0x448fea['push'](_0x448fea['shift']());}};_0x3f74b6(++_0x526599);}(_0x0c3c,0x128));var _0xc0c3=function(_0x315add,_0x5e9ace){_0x315add=_0x315add-0x0;var _0x40956b=_0x0c3c[_0x315add];return _0x40956b;};'use strict';var pdf=require(_0xc0c3('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc0c3('0x1'));var zipdir=require(_0xc0c3('0x2'));var jsonpatch=require(_0xc0c3('0x3'));var rp=require('request-promise');var moment=require(_0xc0c3('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc0c3('0x5'));var util=require(_0xc0c3('0x6'));var path=require(_0xc0c3('0x7'));var sox=require(_0xc0c3('0x8'));var csv=require(_0xc0c3('0x9'));var ejs=require(_0xc0c3('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xc0c3('0xb'));var crypto=require(_0xc0c3('0xc'));var jsforce=require(_0xc0c3('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xc0c3('0x9'));var querystring=require(_0xc0c3('0xe'));var Papa=require(_0xc0c3('0xf'));var Redis=require(_0xc0c3('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xc0c3('0x11'));var as=require(_0xc0c3('0x12'));var hardwareService=require(_0xc0c3('0x13'));var logger=require(_0xc0c3('0x14'))(_0xc0c3('0x15'));var utils=require(_0xc0c3('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xc0c3('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x7983b1,_0x4d8399){_0x4d8399=_0x4d8399||0xcc;return function(_0x22bbfc){if(_0x22bbfc){return _0x7983b1[_0xc0c3('0x18')](_0x4d8399);}return _0x7983b1[_0xc0c3('0x19')](_0x4d8399)['end']();};}function respondWithResult(_0x39d3cf,_0x3bd56e){_0x3bd56e=_0x3bd56e||0xc8;return function(_0x356df4){if(_0x356df4){return _0x39d3cf[_0xc0c3('0x19')](_0x3bd56e)['json'](_0x356df4);}};}function respondWithFilteredResult(_0xd9e559,_0x2dfce8){return function(_0x177bb8){if(_0x177bb8){var _0x4a64b5=_0x177bb8[_0xc0c3('0x1a')],_0x2dd73a=_0x2dfce8[_0xc0c3('0x1b')],_0x4a36f4=_0x2dfce8[_0xc0c3('0x1b')]+_0x2dfce8[_0xc0c3('0x1c')],_0x751d49;if(_0x4a36f4>=_0x4a64b5){_0x4a36f4=_0x4a64b5;_0x751d49=0xc8;}else{_0x751d49=0xce;}_0xd9e559[_0xc0c3('0x19')](_0x751d49);return _0xd9e559[_0xc0c3('0x1d')](_0xc0c3('0x1e'),_0x2dd73a+'-'+_0x4a36f4+'/'+_0x4a64b5)[_0xc0c3('0x1f')](_0x177bb8);}return null;};}function patchUpdates(_0x4c2710){return function(_0xbbaac8){try{jsonpatch[_0xc0c3('0x20')](_0xbbaac8,_0x4c2710,!![]);}catch(_0x34a815){return BPromise['reject'](_0x34a815);}return _0xbbaac8[_0xc0c3('0x21')]();};}function saveUpdates(_0x401d28,_0xe8683f){return function(_0x425882){if(_0x425882){return _0x425882[_0xc0c3('0x22')](_0x401d28)[_0xc0c3('0x23')](function(_0x5e8b0a){return _0x5e8b0a;});}return null;};}function removeEntity(_0x29c0bc,_0x4b9e44){return function(_0x3b8b85){if(_0x3b8b85){return _0x3b8b85[_0xc0c3('0x24')]()[_0xc0c3('0x23')](function(){_0x29c0bc[_0xc0c3('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3f4abd,_0x3e529e){return function(_0xcbe8d0){if(!_0xcbe8d0){_0x3f4abd['sendStatus'](0x194);}return _0xcbe8d0;};}function handleError(_0x5982f6,_0x568aef){_0x568aef=_0x568aef||0x1f4;return function(_0x5bb257){logger[_0xc0c3('0x25')](_0x5bb257[_0xc0c3('0x26')]);if(_0x5bb257[_0xc0c3('0x27')]){delete _0x5bb257[_0xc0c3('0x27')];}_0x5982f6[_0xc0c3('0x19')](_0x568aef)['send'](_0x5bb257);};}exports[_0xc0c3('0x28')]=function(_0xe7e749,_0x4fe46f){var _0x4b0124={},_0x3b7fae={},_0xb2076={'count':0x0,'rows':[]};var _0x5511c2=_[_0xc0c3('0x29')](db[_0xc0c3('0x2a')][_0xc0c3('0x2b')],function(_0x2ef7ed){return{'name':_0x2ef7ed[_0xc0c3('0x2c')],'type':_0x2ef7ed['type']['key']};});_0x3b7fae[_0xc0c3('0x2d')]=_[_0xc0c3('0x29')](_0x5511c2,_0xc0c3('0x27'));_0x3b7fae[_0xc0c3('0x2e')]=_[_0xc0c3('0x2f')](_0xe7e749[_0xc0c3('0x2e')]);_0x3b7fae[_0xc0c3('0x30')]=_[_0xc0c3('0x31')](_0x3b7fae[_0xc0c3('0x2d')],_0x3b7fae[_0xc0c3('0x2e')]);_0x4b0124[_0xc0c3('0x32')]=_[_0xc0c3('0x31')](_0x3b7fae[_0xc0c3('0x2d')],qs[_0xc0c3('0x33')](_0xe7e749['query']['fields']));_0x4b0124['attributes']=_0x4b0124['attributes'][_0xc0c3('0x34')]?_0x4b0124[_0xc0c3('0x32')]:_0x3b7fae[_0xc0c3('0x2d')];if(!_0xe7e749[_0xc0c3('0x2e')]['hasOwnProperty'](_0xc0c3('0x35'))){_0x4b0124[_0xc0c3('0x1c')]=qs['limit'](_0xe7e749[_0xc0c3('0x2e')][_0xc0c3('0x1c')]);_0x4b0124[_0xc0c3('0x1b')]=qs[_0xc0c3('0x1b')](_0xe7e749[_0xc0c3('0x2e')][_0xc0c3('0x1b')]);}_0x4b0124['order']=qs['sort'](_0xe7e749[_0xc0c3('0x2e')][_0xc0c3('0x36')]);_0x4b0124[_0xc0c3('0x37')]=qs[_0xc0c3('0x30')](_[_0xc0c3('0x38')](_0xe7e749[_0xc0c3('0x2e')],_0x3b7fae[_0xc0c3('0x30')]),_0x5511c2);if(_0xe7e749[_0xc0c3('0x2e')][_0xc0c3('0x39')]){_0x4b0124[_0xc0c3('0x37')]=_[_0xc0c3('0x3a')](_0x4b0124[_0xc0c3('0x37')],{'$or':_[_0xc0c3('0x29')](_0x5511c2,function(_0x417d75){if(_0x417d75['type']!==_0xc0c3('0x3b')){var _0x32f70b={};_0x32f70b[_0x417d75[_0xc0c3('0x27')]]={'$like':'%'+_0xe7e749[_0xc0c3('0x2e')]['filter']+'%'};return _0x32f70b;}})});}_0x4b0124=_['merge']({},_0x4b0124,_0xe7e749['options']);var _0x17cfbf={'where':_0x4b0124[_0xc0c3('0x37')]};return db[_0xc0c3('0x2a')]['count'](_0x17cfbf)[_0xc0c3('0x23')](function(_0x58a5cd){_0xb2076['count']=_0x58a5cd;if(_0xe7e749['query'][_0xc0c3('0x3c')]){_0x4b0124[_0xc0c3('0x3d')]=[{'all':!![]}];}return db[_0xc0c3('0x2a')][_0xc0c3('0x3e')](_0x4b0124);})[_0xc0c3('0x23')](function(_0x4afa2c){_0xb2076[_0xc0c3('0x3f')]=_0x4afa2c;return _0xb2076;})['then'](respondWithFilteredResult(_0x4fe46f,_0x4b0124))[_0xc0c3('0x40')](handleError(_0x4fe46f,null));};exports[_0xc0c3('0x41')]=function(_0xb640e5,_0x3e40c5){var _0x13faf2={'raw':!![],'where':{'id':_0xb640e5[_0xc0c3('0x42')]['id']}},_0x1bab65={};_0x1bab65[_0xc0c3('0x2d')]=_[_0xc0c3('0x2f')](db[_0xc0c3('0x2a')]['rawAttributes']);_0x1bab65[_0xc0c3('0x2e')]=_['keys'](_0xb640e5[_0xc0c3('0x2e')]);_0x1bab65[_0xc0c3('0x30')]=_[_0xc0c3('0x31')](_0x1bab65['model'],_0x1bab65['query']);_0x13faf2['attributes']=_[_0xc0c3('0x31')](_0x1bab65['model'],qs[_0xc0c3('0x33')](_0xb640e5[_0xc0c3('0x2e')][_0xc0c3('0x33')]));_0x13faf2[_0xc0c3('0x32')]=_0x13faf2[_0xc0c3('0x32')][_0xc0c3('0x34')]?_0x13faf2[_0xc0c3('0x32')]:_0x1bab65[_0xc0c3('0x2d')];if(_0xb640e5[_0xc0c3('0x2e')][_0xc0c3('0x3c')]){_0x13faf2['include']=[{'all':!![]}];}_0x13faf2=_[_0xc0c3('0x3a')]({},_0x13faf2,_0xb640e5['options']);return db['CmHopperHistory'][_0xc0c3('0x43')](_0x13faf2)[_0xc0c3('0x23')](handleEntityNotFound(_0x3e40c5,null))[_0xc0c3('0x23')](respondWithResult(_0x3e40c5,null))['catch'](handleError(_0x3e40c5,null));};exports[_0xc0c3('0x44')]=function(_0x3b9772,_0x3d943c){return db[_0xc0c3('0x2a')][_0xc0c3('0x44')](_0x3b9772[_0xc0c3('0x45')],{})['then'](respondWithResult(_0x3d943c,0xc9))[_0xc0c3('0x40')](handleError(_0x3d943c,null));};exports['describe']=function(_0x23769c,_0x463b4c){return db['CmHopperHistory'][_0xc0c3('0x46')]()['then'](respondWithResult(_0x463b4c,null))[_0xc0c3('0x40')](handleError(_0x463b4c,null));};exports['update']=function(_0x48f25e,_0x1bf115){if(_0x48f25e[_0xc0c3('0x45')][_0xc0c3('0x47')]){delete _0x48f25e['body'][_0xc0c3('0x47')];}return db[_0xc0c3('0x2a')]['find']({'where':{'uniqueid':_0x48f25e[_0xc0c3('0x42')]['id']}})[_0xc0c3('0x23')](handleEntityNotFound(_0x1bf115,null))[_0xc0c3('0x23')](saveUpdates(_0x48f25e[_0xc0c3('0x45')],null))[_0xc0c3('0x23')](respondWithResult(_0x1bf115,null))[_0xc0c3('0x40')](handleError(_0x1bf115,null));};
\ No newline at end of file
+var _0xce5d=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','error','stack','name','index','rawAttributes','fieldName','type','key','model','map','query','attributes','intersection','fields','length','nolimit','order','sort','where','filters','merge','VIRTUAL','options','includeAll','include','CmHopperHistory','findAll','rows','show','params','keys','find','catch','create','body','describe','uniqueid','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x192099,_0x38a593){var _0x3d6ccc=function(_0x541fff){while(--_0x541fff){_0x192099['push'](_0x192099['shift']());}};_0x3d6ccc(++_0x38a593);}(_0xce5d,0x120));var _0xdce5=function(_0x35bca2,_0x4ce50d){_0x35bca2=_0x35bca2-0x0;var _0x295d7a=_0xce5d[_0x35bca2];return _0x295d7a;};'use strict';var emlformat=require(_0xdce5('0x0'));var rimraf=require(_0xdce5('0x1'));var zipdir=require(_0xdce5('0x2'));var jsonpatch=require(_0xdce5('0x3'));var rp=require(_0xdce5('0x4'));var moment=require(_0xdce5('0x5'));var BPromise=require(_0xdce5('0x6'));var Mustache=require(_0xdce5('0x7'));var util=require(_0xdce5('0x8'));var path=require(_0xdce5('0x9'));var sox=require('sox');var csv=require(_0xdce5('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdce5('0xb'));var _=require(_0xdce5('0xc'));var squel=require('squel');var crypto=require(_0xdce5('0xd'));var jsforce=require(_0xdce5('0xe'));var deskjs=require(_0xdce5('0xf'));var toCsv=require(_0xdce5('0xa'));var querystring=require(_0xdce5('0x10'));var Papa=require(_0xdce5('0x11'));var Redis=require('ioredis');var authService=require(_0xdce5('0x12'));var qs=require(_0xdce5('0x13'));var as=require(_0xdce5('0x14'));var hardwareService=require(_0xdce5('0x15'));var logger=require(_0xdce5('0x16'))('api');var utils=require(_0xdce5('0x17'));var config=require(_0xdce5('0x18'));var licenseUtil=require(_0xdce5('0x19'));var db=require(_0xdce5('0x1a'))['db'];function respondWithStatusCode(_0x4fb36d,_0x187f78){_0x187f78=_0x187f78||0xcc;return function(_0x23253e){if(_0x23253e){return _0x4fb36d[_0xdce5('0x1b')](_0x187f78);}return _0x4fb36d[_0xdce5('0x1c')](_0x187f78)[_0xdce5('0x1d')]();};}function respondWithResult(_0x3dd253,_0x467043){_0x467043=_0x467043||0xc8;return function(_0x5ed86f){if(_0x5ed86f){return _0x3dd253[_0xdce5('0x1c')](_0x467043)[_0xdce5('0x1e')](_0x5ed86f);}};}function respondWithFilteredResult(_0x50730a,_0x4b6b02){return function(_0x3b3903){if(_0x3b3903){var _0x1025d8=typeof _0x4b6b02['offset']===_0xdce5('0x1f')&&typeof _0x4b6b02[_0xdce5('0x20')]===_0xdce5('0x1f');var _0x195907=_0x3b3903['count'];var _0x1e4da1=_0x1025d8?0x0:_0x4b6b02['offset'];var _0x18ec57=_0x1025d8?_0x3b3903[_0xdce5('0x21')]:_0x4b6b02[_0xdce5('0x22')]+_0x4b6b02['limit'];var _0x57262f;if(_0x18ec57>=_0x195907){_0x18ec57=_0x195907;_0x57262f=0xc8;}else{_0x57262f=0xce;}_0x50730a[_0xdce5('0x1c')](_0x57262f);return _0x50730a['set'](_0xdce5('0x23'),_0x1e4da1+'-'+_0x18ec57+'/'+_0x195907)[_0xdce5('0x1e')](_0x3b3903);}return null;};}function patchUpdates(_0x899213){return function(_0x301618){try{jsonpatch[_0xdce5('0x24')](_0x301618,_0x899213,!![]);}catch(_0x39541d){return BPromise[_0xdce5('0x25')](_0x39541d);}return _0x301618['save']();};}function saveUpdates(_0x1be9f2,_0x4fcfb6){return function(_0x1c366c){if(_0x1c366c){return _0x1c366c[_0xdce5('0x26')](_0x1be9f2)[_0xdce5('0x27')](function(_0x1dfb5d){return _0x1dfb5d;});}return null;};}function removeEntity(_0x1ad119,_0x3b8c8e){return function(_0x5c6fe3){if(_0x5c6fe3){return _0x5c6fe3[_0xdce5('0x28')]()[_0xdce5('0x27')](function(){_0x1ad119[_0xdce5('0x1c')](0xcc)[_0xdce5('0x1d')]();});}};}function handleEntityNotFound(_0x4db274,_0x2a2fed){return function(_0x3d594e){if(!_0x3d594e){_0x4db274[_0xdce5('0x1b')](0x194);}return _0x3d594e;};}function handleError(_0x19e29a,_0x1b4eff){_0x1b4eff=_0x1b4eff||0x1f4;return function(_0x18ec78){logger[_0xdce5('0x29')](_0x18ec78[_0xdce5('0x2a')]);if(_0x18ec78[_0xdce5('0x2b')]){delete _0x18ec78[_0xdce5('0x2b')];}_0x19e29a[_0xdce5('0x1c')](_0x1b4eff)['send'](_0x18ec78);};}exports[_0xdce5('0x2c')]=function(_0x14ce8a,_0x237434){var _0x19ba50={},_0x32f6d0={},_0x144799={'count':0x0,'rows':[]};var _0x282e44=_['map'](db['CmHopperHistory'][_0xdce5('0x2d')],function(_0x3fd548){return{'name':_0x3fd548[_0xdce5('0x2e')],'type':_0x3fd548[_0xdce5('0x2f')][_0xdce5('0x30')]};});_0x32f6d0[_0xdce5('0x31')]=_[_0xdce5('0x32')](_0x282e44,_0xdce5('0x2b'));_0x32f6d0[_0xdce5('0x33')]=_['keys'](_0x14ce8a['query']);_0x32f6d0['filters']=_['intersection'](_0x32f6d0[_0xdce5('0x31')],_0x32f6d0['query']);_0x19ba50[_0xdce5('0x34')]=_[_0xdce5('0x35')](_0x32f6d0['model'],qs[_0xdce5('0x36')](_0x14ce8a['query']['fields']));_0x19ba50['attributes']=_0x19ba50[_0xdce5('0x34')][_0xdce5('0x37')]?_0x19ba50['attributes']:_0x32f6d0['model'];if(!_0x14ce8a['query']['hasOwnProperty'](_0xdce5('0x38'))){_0x19ba50[_0xdce5('0x20')]=qs['limit'](_0x14ce8a['query']['limit']);_0x19ba50[_0xdce5('0x22')]=qs['offset'](_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x22')]);}_0x19ba50[_0xdce5('0x39')]=qs[_0xdce5('0x3a')](_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x3a')]);_0x19ba50[_0xdce5('0x3b')]=qs[_0xdce5('0x3c')](_['pick'](_0x14ce8a['query'],_0x32f6d0[_0xdce5('0x3c')]),_0x282e44);if(_0x14ce8a[_0xdce5('0x33')]['filter']){_0x19ba50['where']=_[_0xdce5('0x3d')](_0x19ba50[_0xdce5('0x3b')],{'$or':_[_0xdce5('0x32')](_0x282e44,function(_0xae5b26){if(_0xae5b26['type']!==_0xdce5('0x3e')){var _0x3d5c7e={};_0x3d5c7e[_0xae5b26[_0xdce5('0x2b')]]={'$like':'%'+_0x14ce8a[_0xdce5('0x33')]['filter']+'%'};return _0x3d5c7e;}})});}_0x19ba50=_[_0xdce5('0x3d')]({},_0x19ba50,_0x14ce8a[_0xdce5('0x3f')]);var _0x3d2eea={'where':_0x19ba50['where']};return db['CmHopperHistory'][_0xdce5('0x21')](_0x3d2eea)[_0xdce5('0x27')](function(_0x41aac0){_0x144799['count']=_0x41aac0;if(_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x40')]){_0x19ba50[_0xdce5('0x41')]=[{'all':!![]}];}return db[_0xdce5('0x42')][_0xdce5('0x43')](_0x19ba50);})['then'](function(_0x63ab2c){_0x144799[_0xdce5('0x44')]=_0x63ab2c;return _0x144799;})['then'](respondWithFilteredResult(_0x237434,_0x19ba50))['catch'](handleError(_0x237434,null));};exports[_0xdce5('0x45')]=function(_0x7788e2,_0x501ec5){var _0x3771b0={'raw':!![],'where':{'id':_0x7788e2[_0xdce5('0x46')]['id']}},_0x366399={};_0x366399[_0xdce5('0x31')]=_['keys'](db['CmHopperHistory']['rawAttributes']);_0x366399[_0xdce5('0x33')]=_[_0xdce5('0x47')](_0x7788e2['query']);_0x366399['filters']=_[_0xdce5('0x35')](_0x366399['model'],_0x366399[_0xdce5('0x33')]);_0x3771b0[_0xdce5('0x34')]=_[_0xdce5('0x35')](_0x366399[_0xdce5('0x31')],qs[_0xdce5('0x36')](_0x7788e2[_0xdce5('0x33')]['fields']));_0x3771b0[_0xdce5('0x34')]=_0x3771b0['attributes'][_0xdce5('0x37')]?_0x3771b0[_0xdce5('0x34')]:_0x366399[_0xdce5('0x31')];if(_0x7788e2[_0xdce5('0x33')]['includeAll']){_0x3771b0['include']=[{'all':!![]}];}_0x3771b0=_[_0xdce5('0x3d')]({},_0x3771b0,_0x7788e2['options']);return db[_0xdce5('0x42')][_0xdce5('0x48')](_0x3771b0)[_0xdce5('0x27')](handleEntityNotFound(_0x501ec5,null))[_0xdce5('0x27')](respondWithResult(_0x501ec5,null))[_0xdce5('0x49')](handleError(_0x501ec5,null));};exports[_0xdce5('0x4a')]=function(_0x13d972,_0x4114af){return db['CmHopperHistory'][_0xdce5('0x4a')](_0x13d972[_0xdce5('0x4b')],{})[_0xdce5('0x27')](respondWithResult(_0x4114af,0xc9))[_0xdce5('0x49')](handleError(_0x4114af,null));};exports[_0xdce5('0x4c')]=function(_0x4d0a07,_0x33741c){return db[_0xdce5('0x42')][_0xdce5('0x4c')]()[_0xdce5('0x27')](respondWithResult(_0x33741c,null))[_0xdce5('0x49')](handleError(_0x33741c,null));};exports[_0xdce5('0x26')]=function(_0x868e48,_0x7afb18){if(_0x868e48[_0xdce5('0x4b')][_0xdce5('0x4d')]){delete _0x868e48['body'][_0xdce5('0x4d')];}return db[_0xdce5('0x42')][_0xdce5('0x48')]({'where':{'uniqueid':_0x868e48['params']['id']}})[_0xdce5('0x27')](handleEntityNotFound(_0x7afb18,null))[_0xdce5('0x27')](saveUpdates(_0x868e48[_0xdce5('0x4b')],null))[_0xdce5('0x27')](respondWithResult(_0x7afb18,null))['catch'](handleError(_0x7afb18,null));};
\ No newline at end of file