Built motion from commit 639a1a7f.|2.6.19
[motion2.git] / server / api / squareReportDetail / squareReportDetail.controller.js
index 67fe77d..e7b607b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1333=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','json','apply','reject','update','then','error','stack','name','send','map','SquareDetailsReport','type','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','show','keys','find','create','catch','body','params','destroy','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','fs-extra','lodash','squel','desk.js','to-csv'];(function(_0x376c11,_0x2ccf4e){var _0x5ae9d6=function(_0x38f09d){while(--_0x38f09d){_0x376c11['push'](_0x376c11['shift']());}};_0x5ae9d6(++_0x2ccf4e);}(_0x1333,0x82));var _0x3133=function(_0x5c88d1,_0xf6d758){_0x5c88d1=_0x5c88d1-0x0;var _0x5bc5d6=_0x1333[_0x5c88d1];return _0x5bc5d6;};'use strict';var emlformat=require(_0x3133('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3133('0x1'));var jsonpatch=require(_0x3133('0x2'));var rp=require(_0x3133('0x3'));var moment=require(_0x3133('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x3133('0x5'));var util=require(_0x3133('0x6'));var path=require('path');var sox=require(_0x3133('0x7'));var csv=require('to-csv');var ejs=require(_0x3133('0x8'));var fs=require('fs');var fs_extra=require(_0x3133('0x9'));var _=require(_0x3133('0xa'));var squel=require(_0x3133('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x3133('0xc'));var toCsv=require(_0x3133('0xd'));var querystring=require(_0x3133('0xe'));var Papa=require(_0x3133('0xf'));var Redis=require(_0x3133('0x10'));var authService=require(_0x3133('0x11'));var qs=require(_0x3133('0x12'));var as=require(_0x3133('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3133('0x14'))(_0x3133('0x15'));var utils=require(_0x3133('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x3133('0x17'));var db=require(_0x3133('0x18'))['db'];function respondWithStatusCode(_0xc48679,_0x21f03e){_0x21f03e=_0x21f03e||0xcc;return function(_0x3d9488){if(_0x3d9488){return _0xc48679[_0x3133('0x19')](_0x21f03e);}return _0xc48679[_0x3133('0x1a')](_0x21f03e)[_0x3133('0x1b')]();};}function respondWithResult(_0x101826,_0x5e959f){_0x5e959f=_0x5e959f||0xc8;return function(_0x5e03aa){if(_0x5e03aa){return _0x101826[_0x3133('0x1a')](_0x5e959f)['json'](_0x5e03aa);}};}function respondWithFilteredResult(_0x45ef59,_0x44be76){return function(_0x33c60c){if(_0x33c60c){var _0x281cb2=typeof _0x44be76[_0x3133('0x1c')]===_0x3133('0x1d')&&typeof _0x44be76[_0x3133('0x1e')]===_0x3133('0x1d');var _0x10bad6=_0x33c60c[_0x3133('0x1f')];var _0x5e0da5=_0x281cb2?0x0:_0x44be76['offset'];var _0x3d7c98=_0x281cb2?_0x33c60c[_0x3133('0x1f')]:_0x44be76[_0x3133('0x1c')]+_0x44be76[_0x3133('0x1e')];var _0x5a220c;if(_0x3d7c98>=_0x10bad6){_0x3d7c98=_0x10bad6;_0x5a220c=0xc8;}else{_0x5a220c=0xce;}_0x45ef59[_0x3133('0x1a')](_0x5a220c);return _0x45ef59[_0x3133('0x20')]('Content-Range',_0x5e0da5+'-'+_0x3d7c98+'/'+_0x10bad6)[_0x3133('0x21')](_0x33c60c);}return null;};}function patchUpdates(_0x379f53){return function(_0x40ae7e){try{jsonpatch[_0x3133('0x22')](_0x40ae7e,_0x379f53,!![]);}catch(_0x1e6e37){return BPromise[_0x3133('0x23')](_0x1e6e37);}return _0x40ae7e['save']();};}function saveUpdates(_0x59b8aa,_0x18e48e){return function(_0x177d3b){if(_0x177d3b){return _0x177d3b[_0x3133('0x24')](_0x59b8aa)[_0x3133('0x25')](function(_0x18c476){return _0x18c476;});}return null;};}function removeEntity(_0x4e1d5f,_0x201d82){return function(_0x524720){if(_0x524720){return _0x524720['destroy']()[_0x3133('0x25')](function(){_0x4e1d5f[_0x3133('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3c5ce2,_0x281a95){return function(_0x9ec1c5){if(!_0x9ec1c5){_0x3c5ce2[_0x3133('0x19')](0x194);}return _0x9ec1c5;};}function handleError(_0x39d705,_0x513ee2){_0x513ee2=_0x513ee2||0x1f4;return function(_0x133af3){logger[_0x3133('0x26')](_0x133af3[_0x3133('0x27')]);if(_0x133af3[_0x3133('0x28')]){delete _0x133af3['name'];}_0x39d705[_0x3133('0x1a')](_0x513ee2)[_0x3133('0x29')](_0x133af3);};}exports['index']=function(_0x107df8,_0x31edfd){var _0x175553={},_0x1d77ef={},_0x1607e4={'count':0x0,'rows':[]};var _0x4eb8c5=_[_0x3133('0x2a')](db[_0x3133('0x2b')]['rawAttributes'],function(_0x8c6a80){return{'name':_0x8c6a80['fieldName'],'type':_0x8c6a80[_0x3133('0x2c')]['key']};});_0x1d77ef[_0x3133('0x2d')]=_[_0x3133('0x2a')](_0x4eb8c5,'name');_0x1d77ef[_0x3133('0x2e')]=_['keys'](_0x107df8[_0x3133('0x2e')]);_0x1d77ef[_0x3133('0x2f')]=_['intersection'](_0x1d77ef['model'],_0x1d77ef[_0x3133('0x2e')]);_0x175553[_0x3133('0x30')]=_[_0x3133('0x31')](_0x1d77ef['model'],qs[_0x3133('0x32')](_0x107df8[_0x3133('0x2e')][_0x3133('0x32')]));_0x175553[_0x3133('0x30')]=_0x175553[_0x3133('0x30')][_0x3133('0x33')]?_0x175553[_0x3133('0x30')]:_0x1d77ef[_0x3133('0x2d')];if(!_0x107df8[_0x3133('0x2e')][_0x3133('0x34')](_0x3133('0x35'))){_0x175553[_0x3133('0x1e')]=qs['limit'](_0x107df8['query']['limit']);_0x175553[_0x3133('0x1c')]=qs[_0x3133('0x1c')](_0x107df8[_0x3133('0x2e')]['offset']);}_0x175553[_0x3133('0x36')]=qs[_0x3133('0x37')](_0x107df8[_0x3133('0x2e')][_0x3133('0x37')]);_0x175553[_0x3133('0x38')]=qs[_0x3133('0x2f')](_['pick'](_0x107df8['query'],_0x1d77ef['filters']),_0x4eb8c5);if(_0x107df8[_0x3133('0x2e')][_0x3133('0x39')]){_0x175553[_0x3133('0x38')]=_[_0x3133('0x3a')](_0x175553['where'],{'$or':_[_0x3133('0x2a')](_0x4eb8c5,function(_0x4d7dda){if(_0x4d7dda[_0x3133('0x2c')]!=='VIRTUAL'){var _0x21d875={};_0x21d875[_0x4d7dda['name']]={'$like':'%'+_0x107df8['query'][_0x3133('0x39')]+'%'};return _0x21d875;}})});}_0x175553=_[_0x3133('0x3a')]({},_0x175553,_0x107df8[_0x3133('0x3b')]);var _0x263342={'where':_0x175553[_0x3133('0x38')]};return db[_0x3133('0x2b')][_0x3133('0x1f')](_0x263342)[_0x3133('0x25')](function(_0x276e8b){_0x1607e4[_0x3133('0x1f')]=_0x276e8b;if(_0x107df8[_0x3133('0x2e')][_0x3133('0x3c')]){_0x175553[_0x3133('0x3d')]=[{'all':!![]}];}return db[_0x3133('0x2b')][_0x3133('0x3e')](_0x175553);})[_0x3133('0x25')](function(_0x37bf92){_0x1607e4['rows']=_0x37bf92;return _0x1607e4;})['then'](respondWithFilteredResult(_0x31edfd,_0x175553))['catch'](handleError(_0x31edfd,null));};exports[_0x3133('0x3f')]=function(_0x134554,_0x2d15ad){var _0x300b70={'raw':!![],'where':{'id':_0x134554['params']['id']}},_0x7ff835={};_0x7ff835['model']=_['keys'](db['SquareDetailsReport']['rawAttributes']);_0x7ff835[_0x3133('0x2e')]=_[_0x3133('0x40')](_0x134554[_0x3133('0x2e')]);_0x7ff835[_0x3133('0x2f')]=_[_0x3133('0x31')](_0x7ff835[_0x3133('0x2d')],_0x7ff835[_0x3133('0x2e')]);_0x300b70[_0x3133('0x30')]=_['intersection'](_0x7ff835['model'],qs[_0x3133('0x32')](_0x134554[_0x3133('0x2e')][_0x3133('0x32')]));_0x300b70[_0x3133('0x30')]=_0x300b70[_0x3133('0x30')]['length']?_0x300b70[_0x3133('0x30')]:_0x7ff835[_0x3133('0x2d')];if(_0x134554[_0x3133('0x2e')][_0x3133('0x3c')]){_0x300b70['include']=[{'all':!![]}];}_0x300b70=_[_0x3133('0x3a')]({},_0x300b70,_0x134554[_0x3133('0x3b')]);return db[_0x3133('0x2b')][_0x3133('0x41')](_0x300b70)[_0x3133('0x25')](handleEntityNotFound(_0x2d15ad,null))[_0x3133('0x25')](respondWithResult(_0x2d15ad,null))['catch'](handleError(_0x2d15ad,null));};exports[_0x3133('0x42')]=function(_0x3c1c77,_0x3250e8){return db['SquareDetailsReport'][_0x3133('0x42')](_0x3c1c77['body'],{})[_0x3133('0x25')](respondWithResult(_0x3250e8,0xc9))[_0x3133('0x43')](handleError(_0x3250e8,null));};exports['update']=function(_0x18f9b7,_0x29ff11){if(_0x18f9b7[_0x3133('0x44')]['id']){delete _0x18f9b7['body']['id'];}return db['SquareDetailsReport'][_0x3133('0x41')]({'where':{'id':_0x18f9b7[_0x3133('0x45')]['id']}})[_0x3133('0x25')](handleEntityNotFound(_0x29ff11,null))['then'](saveUpdates(_0x18f9b7[_0x3133('0x44')],null))['then'](respondWithResult(_0x29ff11,null))['catch'](handleError(_0x29ff11,null));};exports[_0x3133('0x46')]=function(_0x14b04c,_0x5dac5f){return db[_0x3133('0x2b')][_0x3133('0x41')]({'where':{'id':_0x14b04c[_0x3133('0x45')]['id']}})[_0x3133('0x25')](handleEntityNotFound(_0x5dac5f,null))[_0x3133('0x25')](removeEntity(_0x5dac5f,null))[_0x3133('0x43')](handleError(_0x5dac5f,null));};exports[_0x3133('0x47')]=function(_0x48b007,_0x85db22){return db[_0x3133('0x2b')][_0x3133('0x47')]()['then'](respondWithResult(_0x85db22,null))[_0x3133('0x43')](handleError(_0x85db22,null));};
\ No newline at end of file
+var _0xa490=['name','send','index','rawAttributes','type','model','map','query','keys','filters','intersection','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','options','SquareDetailsReport','count','include','rows','catch','show','params','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','set','save','update','destroy','then','sendStatus','error','stack'];(function(_0x34fe4b,_0x4e59a5){var _0x2a5101=function(_0x200965){while(--_0x200965){_0x34fe4b['push'](_0x34fe4b['shift']());}};_0x2a5101(++_0x4e59a5);}(_0xa490,0xf5));var _0x0a49=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xa490[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x0a49('0x0'));var rimraf=require(_0x0a49('0x1'));var zipdir=require(_0x0a49('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0a49('0x3'));var moment=require(_0x0a49('0x4'));var BPromise=require(_0x0a49('0x5'));var Mustache=require(_0x0a49('0x6'));var util=require(_0x0a49('0x7'));var path=require(_0x0a49('0x8'));var sox=require(_0x0a49('0x9'));var csv=require(_0x0a49('0xa'));var ejs=require(_0x0a49('0xb'));var fs=require('fs');var fs_extra=require(_0x0a49('0xc'));var _=require('lodash');var squel=require(_0x0a49('0xd'));var crypto=require(_0x0a49('0xe'));var jsforce=require(_0x0a49('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x0a49('0xa'));var querystring=require('querystring');var Papa=require(_0x0a49('0x10'));var Redis=require(_0x0a49('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x0a49('0x12'));var as=require(_0x0a49('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0a49('0x14'))(_0x0a49('0x15'));var utils=require('../../config/utils');var config=require(_0x0a49('0x16'));var licenseUtil=require(_0x0a49('0x17'));var db=require(_0x0a49('0x18'))['db'];function respondWithStatusCode(_0x1fd442,_0x127e31){_0x127e31=_0x127e31||0xcc;return function(_0x10456b){if(_0x10456b){return _0x1fd442['sendStatus'](_0x127e31);}return _0x1fd442[_0x0a49('0x19')](_0x127e31)[_0x0a49('0x1a')]();};}function respondWithResult(_0x54e569,_0x4681df){_0x4681df=_0x4681df||0xc8;return function(_0x412528){if(_0x412528){return _0x54e569[_0x0a49('0x19')](_0x4681df)[_0x0a49('0x1b')](_0x412528);}};}function respondWithFilteredResult(_0x2c09b7,_0xf31831){return function(_0xd28729){if(_0xd28729){var _0x410d5d=typeof _0xf31831[_0x0a49('0x1c')]==='undefined'&&typeof _0xf31831[_0x0a49('0x1d')]===_0x0a49('0x1e');var _0x4dc4dd=_0xd28729['count'];var _0x9a88f5=_0x410d5d?0x0:_0xf31831[_0x0a49('0x1c')];var _0x46b696=_0x410d5d?_0xd28729['count']:_0xf31831[_0x0a49('0x1c')]+_0xf31831[_0x0a49('0x1d')];var _0x428dda;if(_0x46b696>=_0x4dc4dd){_0x46b696=_0x4dc4dd;_0x428dda=0xc8;}else{_0x428dda=0xce;}_0x2c09b7['status'](_0x428dda);return _0x2c09b7[_0x0a49('0x1f')]('Content-Range',_0x9a88f5+'-'+_0x46b696+'/'+_0x4dc4dd)['json'](_0xd28729);}return null;};}function patchUpdates(_0x5e2a66){return function(_0x4ab5c2){try{jsonpatch['apply'](_0x4ab5c2,_0x5e2a66,!![]);}catch(_0x4ca5a5){return BPromise['reject'](_0x4ca5a5);}return _0x4ab5c2[_0x0a49('0x20')]();};}function saveUpdates(_0x5b73eb,_0x105d35){return function(_0x4449b3){if(_0x4449b3){return _0x4449b3[_0x0a49('0x21')](_0x5b73eb)['then'](function(_0x79b5f8){return _0x79b5f8;});}return null;};}function removeEntity(_0x13af13,_0x29ef80){return function(_0x28d1f5){if(_0x28d1f5){return _0x28d1f5[_0x0a49('0x22')]()[_0x0a49('0x23')](function(){_0x13af13[_0x0a49('0x19')](0xcc)[_0x0a49('0x1a')]();});}};}function handleEntityNotFound(_0x10c385,_0x3476df){return function(_0x411cbe){if(!_0x411cbe){_0x10c385[_0x0a49('0x24')](0x194);}return _0x411cbe;};}function handleError(_0x2b2cd7,_0x5a835f){_0x5a835f=_0x5a835f||0x1f4;return function(_0x1200df){logger[_0x0a49('0x25')](_0x1200df[_0x0a49('0x26')]);if(_0x1200df[_0x0a49('0x27')]){delete _0x1200df[_0x0a49('0x27')];}_0x2b2cd7[_0x0a49('0x19')](_0x5a835f)[_0x0a49('0x28')](_0x1200df);};}exports[_0x0a49('0x29')]=function(_0x36387f,_0x300eeb){var _0x5e434d={},_0x5e1062={},_0x5030fa={'count':0x0,'rows':[]};var _0x228df1=_['map'](db['SquareDetailsReport'][_0x0a49('0x2a')],function(_0x37b92b){return{'name':_0x37b92b['fieldName'],'type':_0x37b92b[_0x0a49('0x2b')]['key']};});_0x5e1062[_0x0a49('0x2c')]=_[_0x0a49('0x2d')](_0x228df1,_0x0a49('0x27'));_0x5e1062[_0x0a49('0x2e')]=_[_0x0a49('0x2f')](_0x36387f['query']);_0x5e1062[_0x0a49('0x30')]=_[_0x0a49('0x31')](_0x5e1062['model'],_0x5e1062[_0x0a49('0x2e')]);_0x5e434d[_0x0a49('0x32')]=_[_0x0a49('0x31')](_0x5e1062[_0x0a49('0x2c')],qs[_0x0a49('0x33')](_0x36387f['query']['fields']));_0x5e434d['attributes']=_0x5e434d[_0x0a49('0x32')][_0x0a49('0x34')]?_0x5e434d[_0x0a49('0x32')]:_0x5e1062[_0x0a49('0x2c')];if(!_0x36387f[_0x0a49('0x2e')]['hasOwnProperty']('nolimit')){_0x5e434d['limit']=qs[_0x0a49('0x1d')](_0x36387f[_0x0a49('0x2e')]['limit']);_0x5e434d['offset']=qs[_0x0a49('0x1c')](_0x36387f['query'][_0x0a49('0x1c')]);}_0x5e434d['order']=qs['sort'](_0x36387f[_0x0a49('0x2e')][_0x0a49('0x35')]);_0x5e434d[_0x0a49('0x36')]=qs['filters'](_[_0x0a49('0x37')](_0x36387f[_0x0a49('0x2e')],_0x5e1062[_0x0a49('0x30')]),_0x228df1);if(_0x36387f['query'][_0x0a49('0x38')]){_0x5e434d[_0x0a49('0x36')]=_[_0x0a49('0x39')](_0x5e434d[_0x0a49('0x36')],{'$or':_['map'](_0x228df1,function(_0x20d09b){if(_0x20d09b[_0x0a49('0x2b')]!==_0x0a49('0x3a')){var _0x25d253={};_0x25d253[_0x20d09b[_0x0a49('0x27')]]={'$like':'%'+_0x36387f['query'][_0x0a49('0x38')]+'%'};return _0x25d253;}})});}_0x5e434d=_[_0x0a49('0x39')]({},_0x5e434d,_0x36387f[_0x0a49('0x3b')]);var _0xf812ee={'where':_0x5e434d[_0x0a49('0x36')]};return db[_0x0a49('0x3c')][_0x0a49('0x3d')](_0xf812ee)[_0x0a49('0x23')](function(_0x38cb43){_0x5030fa['count']=_0x38cb43;if(_0x36387f[_0x0a49('0x2e')]['includeAll']){_0x5e434d[_0x0a49('0x3e')]=[{'all':!![]}];}return db[_0x0a49('0x3c')]['findAll'](_0x5e434d);})[_0x0a49('0x23')](function(_0x5f5989){_0x5030fa[_0x0a49('0x3f')]=_0x5f5989;return _0x5030fa;})['then'](respondWithFilteredResult(_0x300eeb,_0x5e434d))[_0x0a49('0x40')](handleError(_0x300eeb,null));};exports[_0x0a49('0x41')]=function(_0x5d252d,_0x43e09d){var _0x175c1c={'raw':!![],'where':{'id':_0x5d252d[_0x0a49('0x42')]['id']}},_0x46f836={};_0x46f836['model']=_['keys'](db[_0x0a49('0x3c')][_0x0a49('0x2a')]);_0x46f836[_0x0a49('0x2e')]=_[_0x0a49('0x2f')](_0x5d252d['query']);_0x46f836['filters']=_[_0x0a49('0x31')](_0x46f836[_0x0a49('0x2c')],_0x46f836[_0x0a49('0x2e')]);_0x175c1c[_0x0a49('0x32')]=_[_0x0a49('0x31')](_0x46f836[_0x0a49('0x2c')],qs[_0x0a49('0x33')](_0x5d252d[_0x0a49('0x2e')][_0x0a49('0x33')]));_0x175c1c[_0x0a49('0x32')]=_0x175c1c['attributes'][_0x0a49('0x34')]?_0x175c1c['attributes']:_0x46f836[_0x0a49('0x2c')];if(_0x5d252d[_0x0a49('0x2e')]['includeAll']){_0x175c1c['include']=[{'all':!![]}];}_0x175c1c=_['merge']({},_0x175c1c,_0x5d252d['options']);return db[_0x0a49('0x3c')][_0x0a49('0x43')](_0x175c1c)['then'](handleEntityNotFound(_0x43e09d,null))[_0x0a49('0x23')](respondWithResult(_0x43e09d,null))[_0x0a49('0x40')](handleError(_0x43e09d,null));};exports[_0x0a49('0x44')]=function(_0x13a07d,_0x327f18){return db[_0x0a49('0x3c')][_0x0a49('0x44')](_0x13a07d[_0x0a49('0x45')],{})[_0x0a49('0x23')](respondWithResult(_0x327f18,0xc9))[_0x0a49('0x40')](handleError(_0x327f18,null));};exports[_0x0a49('0x21')]=function(_0xc26151,_0x5950cf){if(_0xc26151[_0x0a49('0x45')]['id']){delete _0xc26151[_0x0a49('0x45')]['id'];}return db[_0x0a49('0x3c')][_0x0a49('0x43')]({'where':{'id':_0xc26151['params']['id']}})[_0x0a49('0x23')](handleEntityNotFound(_0x5950cf,null))[_0x0a49('0x23')](saveUpdates(_0xc26151[_0x0a49('0x45')],null))[_0x0a49('0x23')](respondWithResult(_0x5950cf,null))[_0x0a49('0x40')](handleError(_0x5950cf,null));};exports['destroy']=function(_0x5c7f67,_0x55c73){return db[_0x0a49('0x3c')]['find']({'where':{'id':_0x5c7f67[_0x0a49('0x42')]['id']}})[_0x0a49('0x23')](handleEntityNotFound(_0x55c73,null))[_0x0a49('0x23')](removeEntity(_0x55c73,null))[_0x0a49('0x40')](handleError(_0x55c73,null));};exports[_0x0a49('0x46')]=function(_0x525823,_0x2e41d3){return db['SquareDetailsReport'][_0x0a49('0x46')]()['then'](respondWithResult(_0x2e41d3,null))[_0x0a49('0x40')](handleError(_0x2e41d3,null));};
\ No newline at end of file