Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / openchannelQueueReport / openchannelQueueReport.controller.js
index a22cabe..7aa91b8 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xd240=['fieldName','type','key','model','map','query','keys','intersection','attributes','length','nolimit','sort','where','filters','pick','filter','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','stack','name','send','index','OpenchannelQueueReport','rawAttributes'];(function(_0x27a3c7,_0x21fca4){var _0x33752e=function(_0x81c3f1){while(--_0x81c3f1){_0x27a3c7['push'](_0x27a3c7['shift']());}};_0x33752e(++_0x21fca4);}(_0xd240,0x1c7));var _0x0d24=function(_0x374401,_0x8d0054){_0x374401=_0x374401-0x0;var _0x19815d=_0xd240[_0x374401];return _0x19815d;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0d24('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0d24('0x1'));var rp=require(_0x0d24('0x2'));var moment=require(_0x0d24('0x3'));var BPromise=require(_0x0d24('0x4'));var Mustache=require(_0x0d24('0x5'));var util=require(_0x0d24('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0d24('0x7'));var ejs=require(_0x0d24('0x8'));var fs=require('fs');var _=require(_0x0d24('0x9'));var squel=require(_0x0d24('0xa'));var crypto=require('crypto');var jsforce=require(_0x0d24('0xb'));var deskjs=require(_0x0d24('0xc'));var toCsv=require(_0x0d24('0x7'));var querystring=require(_0x0d24('0xd'));var Papa=require(_0x0d24('0xe'));var Redis=require(_0x0d24('0xf'));var authService=require(_0x0d24('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x0d24('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0d24('0x12'))('api');var utils=require(_0x0d24('0x13'));var config=require(_0x0d24('0x14'));var licenseUtil=require(_0x0d24('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x560ea5,_0x29f892){_0x29f892=_0x29f892||0xcc;return function(_0x1b6f50){if(_0x1b6f50){return _0x560ea5[_0x0d24('0x16')](_0x29f892);}return _0x560ea5['status'](_0x29f892)[_0x0d24('0x17')]();};}function respondWithResult(_0x106fb7,_0x58ac0d){_0x58ac0d=_0x58ac0d||0xc8;return function(_0x4d24b5){if(_0x4d24b5){return _0x106fb7[_0x0d24('0x18')](_0x58ac0d)[_0x0d24('0x19')](_0x4d24b5);}};}function respondWithFilteredResult(_0xb70f7e,_0x175841){return function(_0xd9a534){if(_0xd9a534){var _0x6ec239=_0xd9a534[_0x0d24('0x1a')],_0xf188c9=_0x175841[_0x0d24('0x1b')],_0x240f86=_0x175841['offset']+_0x175841[_0x0d24('0x1c')],_0x47ee4b;if(_0x240f86>=_0x6ec239){_0x240f86=_0x6ec239;_0x47ee4b=0xc8;}else{_0x47ee4b=0xce;}_0xb70f7e[_0x0d24('0x18')](_0x47ee4b);return _0xb70f7e[_0x0d24('0x1d')](_0x0d24('0x1e'),_0xf188c9+'-'+_0x240f86+'/'+_0x6ec239)['json'](_0xd9a534);}return null;};}function patchUpdates(_0x3bebf7){return function(_0x244281){try{jsonpatch['apply'](_0x244281,_0x3bebf7,!![]);}catch(_0x583b82){return BPromise[_0x0d24('0x1f')](_0x583b82);}return _0x244281[_0x0d24('0x20')]();};}function saveUpdates(_0x3af97e,_0x2f611b){return function(_0x30e520){if(_0x30e520){return _0x30e520[_0x0d24('0x21')](_0x3af97e)[_0x0d24('0x22')](function(_0xc9cd70){return _0xc9cd70;});}return null;};}function removeEntity(_0x2dc0cf,_0x5df68d){return function(_0x2499e1){if(_0x2499e1){return _0x2499e1[_0x0d24('0x23')]()[_0x0d24('0x22')](function(){_0x2dc0cf[_0x0d24('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23440c,_0x3cd88f){return function(_0x367028){if(!_0x367028){_0x23440c['sendStatus'](0x194);}return _0x367028;};}function handleError(_0xc5e565,_0x1842ab){_0x1842ab=_0x1842ab||0x1f4;return function(_0x425dd2){logger['error'](_0x425dd2[_0x0d24('0x24')]);if(_0x425dd2[_0x0d24('0x25')]){delete _0x425dd2[_0x0d24('0x25')];}_0xc5e565['status'](_0x1842ab)[_0x0d24('0x26')](_0x425dd2);};}exports[_0x0d24('0x27')]=function(_0x36a3f1,_0xbbd797){var _0x2b472a={},_0x212364={},_0x50c2ad={'count':0x0,'rows':[]};var _0x4f043f=_['map'](db[_0x0d24('0x28')][_0x0d24('0x29')],function(_0x1a1ef7){return{'name':_0x1a1ef7[_0x0d24('0x2a')],'type':_0x1a1ef7[_0x0d24('0x2b')][_0x0d24('0x2c')]};});_0x212364[_0x0d24('0x2d')]=_[_0x0d24('0x2e')](_0x4f043f,_0x0d24('0x25'));_0x212364[_0x0d24('0x2f')]=_[_0x0d24('0x30')](_0x36a3f1['query']);_0x212364['filters']=_[_0x0d24('0x31')](_0x212364['model'],_0x212364['query']);_0x2b472a[_0x0d24('0x32')]=_[_0x0d24('0x31')](_0x212364[_0x0d24('0x2d')],qs['fields'](_0x36a3f1[_0x0d24('0x2f')]['fields']));_0x2b472a[_0x0d24('0x32')]=_0x2b472a[_0x0d24('0x32')][_0x0d24('0x33')]?_0x2b472a[_0x0d24('0x32')]:_0x212364[_0x0d24('0x2d')];if(!_0x36a3f1['query']['hasOwnProperty'](_0x0d24('0x34'))){_0x2b472a[_0x0d24('0x1c')]=qs[_0x0d24('0x1c')](_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x1c')]);_0x2b472a[_0x0d24('0x1b')]=qs['offset'](_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x1b')]);}_0x2b472a['order']=qs[_0x0d24('0x35')](_0x36a3f1[_0x0d24('0x2f')]['sort']);_0x2b472a[_0x0d24('0x36')]=qs[_0x0d24('0x37')](_[_0x0d24('0x38')](_0x36a3f1['query'],_0x212364[_0x0d24('0x37')]),_0x4f043f);if(_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x39')]){_0x2b472a[_0x0d24('0x36')]=_['merge'](_0x2b472a['where'],{'$or':_[_0x0d24('0x2e')](_0x4f043f,function(_0x4b9617){if(_0x4b9617['type']!=='VIRTUAL'){var _0x238b99={};_0x238b99[_0x4b9617['name']]={'$like':'%'+_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x39')]+'%'};return _0x238b99;}})});}_0x2b472a=_[_0x0d24('0x3a')]({},_0x2b472a,_0x36a3f1[_0x0d24('0x3b')]);var _0x274ed6={'where':_0x2b472a[_0x0d24('0x36')]};return db[_0x0d24('0x28')][_0x0d24('0x1a')](_0x274ed6)[_0x0d24('0x22')](function(_0x4f6362){_0x50c2ad[_0x0d24('0x1a')]=_0x4f6362;if(_0x36a3f1['query']['includeAll']){_0x2b472a[_0x0d24('0x3c')]=[{'all':!![]}];}return db[_0x0d24('0x28')][_0x0d24('0x3d')](_0x2b472a);})[_0x0d24('0x22')](function(_0xe5edf9){_0x50c2ad[_0x0d24('0x3e')]=_0xe5edf9;return _0x50c2ad;})[_0x0d24('0x22')](respondWithFilteredResult(_0xbbd797,_0x2b472a))[_0x0d24('0x3f')](handleError(_0xbbd797,null));};exports[_0x0d24('0x40')]=function(_0x14e951,_0x2c5549){var _0x548fee={'raw':!![],'where':{'id':_0x14e951[_0x0d24('0x41')]['id']}},_0x2c9d4e={};_0x2c9d4e['model']=_[_0x0d24('0x30')](db[_0x0d24('0x28')][_0x0d24('0x29')]);_0x2c9d4e[_0x0d24('0x2f')]=_[_0x0d24('0x30')](_0x14e951['query']);_0x2c9d4e[_0x0d24('0x37')]=_['intersection'](_0x2c9d4e[_0x0d24('0x2d')],_0x2c9d4e[_0x0d24('0x2f')]);_0x548fee['attributes']=_[_0x0d24('0x31')](_0x2c9d4e[_0x0d24('0x2d')],qs['fields'](_0x14e951['query']['fields']));_0x548fee[_0x0d24('0x32')]=_0x548fee[_0x0d24('0x32')][_0x0d24('0x33')]?_0x548fee[_0x0d24('0x32')]:_0x2c9d4e[_0x0d24('0x2d')];if(_0x14e951['query'][_0x0d24('0x42')]){_0x548fee[_0x0d24('0x3c')]=[{'all':!![]}];}_0x548fee=_['merge']({},_0x548fee,_0x14e951[_0x0d24('0x3b')]);return db['OpenchannelQueueReport'][_0x0d24('0x43')](_0x548fee)[_0x0d24('0x22')](handleEntityNotFound(_0x2c5549,null))['then'](respondWithResult(_0x2c5549,null))[_0x0d24('0x3f')](handleError(_0x2c5549,null));};exports[_0x0d24('0x44')]=function(_0x1da5a1,_0x4673c){return db[_0x0d24('0x28')][_0x0d24('0x44')](_0x1da5a1[_0x0d24('0x45')],{})[_0x0d24('0x22')](respondWithResult(_0x4673c,0xc9))[_0x0d24('0x3f')](handleError(_0x4673c,null));};exports[_0x0d24('0x21')]=function(_0x149ea2,_0x316258){if(_0x149ea2['body']['id']){delete _0x149ea2[_0x0d24('0x45')]['id'];}return db[_0x0d24('0x28')][_0x0d24('0x43')]({'where':{'id':_0x149ea2[_0x0d24('0x41')]['id']}})[_0x0d24('0x22')](handleEntityNotFound(_0x316258,null))[_0x0d24('0x22')](saveUpdates(_0x149ea2[_0x0d24('0x45')],null))['then'](respondWithResult(_0x316258,null))['catch'](handleError(_0x316258,null));};exports[_0x0d24('0x23')]=function(_0x2c3647,_0x8a5846){return db[_0x0d24('0x28')]['find']({'where':{'id':_0x2c3647[_0x0d24('0x41')]['id']}})[_0x0d24('0x22')](handleEntityNotFound(_0x8a5846,null))[_0x0d24('0x22')](removeEntity(_0x8a5846,null))['catch'](handleError(_0x8a5846,null));};exports[_0x0d24('0x46')]=function(_0x14dcb3,_0x27bb96){return db[_0x0d24('0x28')][_0x0d24('0x46')]()[_0x0d24('0x22')](respondWithResult(_0x27bb96,null))[_0x0d24('0x3f')](handleError(_0x27bb96,null));};
\ No newline at end of file
+var _0x8e63=['status','json','offset','limit','set','Content-Range','apply','reject','save','destroy','then','error','stack','name','index','map','OpenchannelQueueReport','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','count','includeAll','include','findAll','rows','show','params','rawAttributes','options','find','catch','create','update','body','describe','eml-format','fast-json-patch','request-promise','moment','util','path','sox','ejs','lodash','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x432b87,_0x3735cf){var _0x172d18=function(_0x37f3db){while(--_0x37f3db){_0x432b87['push'](_0x432b87['shift']());}};_0x172d18(++_0x3735cf);}(_0x8e63,0x7c));var _0x38e6=function(_0x1ef72c,_0x59e16e){_0x1ef72c=_0x1ef72c-0x0;var _0x1f59d7=_0x8e63[_0x1ef72c];return _0x1f59d7;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x38e6('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x38e6('0x1'));var rp=require(_0x38e6('0x2'));var moment=require(_0x38e6('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x38e6('0x4'));var path=require(_0x38e6('0x5'));var sox=require(_0x38e6('0x6'));var csv=require('to-csv');var ejs=require(_0x38e6('0x7'));var fs=require('fs');var _=require(_0x38e6('0x8'));var squel=require(_0x38e6('0x9'));var crypto=require(_0x38e6('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x38e6('0xb'));var querystring=require(_0x38e6('0xc'));var Papa=require(_0x38e6('0xd'));var Redis=require(_0x38e6('0xe'));var authService=require(_0x38e6('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x38e6('0x10'));var logger=require('../../config/logger')(_0x38e6('0x11'));var utils=require('../../config/utils');var config=require(_0x38e6('0x12'));var licenseUtil=require(_0x38e6('0x13'));var db=require(_0x38e6('0x14'))['db'];function respondWithStatusCode(_0x14d2cf,_0x2e2585){_0x2e2585=_0x2e2585||0xcc;return function(_0x57c207){if(_0x57c207){return _0x14d2cf[_0x38e6('0x15')](_0x2e2585);}return _0x14d2cf[_0x38e6('0x16')](_0x2e2585)['end']();};}function respondWithResult(_0x1fcdeb,_0xfd7f2){_0xfd7f2=_0xfd7f2||0xc8;return function(_0x229f18){if(_0x229f18){return _0x1fcdeb[_0x38e6('0x16')](_0xfd7f2)[_0x38e6('0x17')](_0x229f18);}};}function respondWithFilteredResult(_0x46b525,_0x55208f){return function(_0x279688){if(_0x279688){var _0x36a263=_0x279688['count'],_0x3299c9=_0x55208f[_0x38e6('0x18')],_0x223169=_0x55208f['offset']+_0x55208f[_0x38e6('0x19')],_0x5f9d7e;if(_0x223169>=_0x36a263){_0x223169=_0x36a263;_0x5f9d7e=0xc8;}else{_0x5f9d7e=0xce;}_0x46b525[_0x38e6('0x16')](_0x5f9d7e);return _0x46b525[_0x38e6('0x1a')](_0x38e6('0x1b'),_0x3299c9+'-'+_0x223169+'/'+_0x36a263)['json'](_0x279688);}return null;};}function patchUpdates(_0x23cdf8){return function(_0x521453){try{jsonpatch[_0x38e6('0x1c')](_0x521453,_0x23cdf8,!![]);}catch(_0x193aa2){return BPromise[_0x38e6('0x1d')](_0x193aa2);}return _0x521453[_0x38e6('0x1e')]();};}function saveUpdates(_0x3f1d54,_0x41bb24){return function(_0x495268){if(_0x495268){return _0x495268['update'](_0x3f1d54)['then'](function(_0x1b26be){return _0x1b26be;});}return null;};}function removeEntity(_0x58dc63,_0x4a82f6){return function(_0x2d995f){if(_0x2d995f){return _0x2d995f[_0x38e6('0x1f')]()[_0x38e6('0x20')](function(){_0x58dc63[_0x38e6('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x140fc3,_0x4530a7){return function(_0x185922){if(!_0x185922){_0x140fc3['sendStatus'](0x194);}return _0x185922;};}function handleError(_0x832025,_0x399b70){_0x399b70=_0x399b70||0x1f4;return function(_0x24e3d6){logger[_0x38e6('0x21')](_0x24e3d6[_0x38e6('0x22')]);if(_0x24e3d6[_0x38e6('0x23')]){delete _0x24e3d6[_0x38e6('0x23')];}_0x832025[_0x38e6('0x16')](_0x399b70)['send'](_0x24e3d6);};}exports[_0x38e6('0x24')]=function(_0x491588,_0x23902b){var _0x4d2b24={},_0x446ed5={},_0x16ed33={'count':0x0,'rows':[]};var _0x43f05f=_[_0x38e6('0x25')](db[_0x38e6('0x26')]['rawAttributes'],function(_0xe93f18){return{'name':_0xe93f18[_0x38e6('0x27')],'type':_0xe93f18[_0x38e6('0x28')][_0x38e6('0x29')]};});_0x446ed5[_0x38e6('0x2a')]=_['map'](_0x43f05f,_0x38e6('0x23'));_0x446ed5[_0x38e6('0x2b')]=_[_0x38e6('0x2c')](_0x491588[_0x38e6('0x2b')]);_0x446ed5[_0x38e6('0x2d')]=_[_0x38e6('0x2e')](_0x446ed5[_0x38e6('0x2a')],_0x446ed5['query']);_0x4d2b24[_0x38e6('0x2f')]=_[_0x38e6('0x2e')](_0x446ed5[_0x38e6('0x2a')],qs[_0x38e6('0x30')](_0x491588[_0x38e6('0x2b')][_0x38e6('0x30')]));_0x4d2b24[_0x38e6('0x2f')]=_0x4d2b24['attributes'][_0x38e6('0x31')]?_0x4d2b24[_0x38e6('0x2f')]:_0x446ed5[_0x38e6('0x2a')];if(!_0x491588[_0x38e6('0x2b')][_0x38e6('0x32')](_0x38e6('0x33'))){_0x4d2b24[_0x38e6('0x19')]=qs['limit'](_0x491588[_0x38e6('0x2b')][_0x38e6('0x19')]);_0x4d2b24[_0x38e6('0x18')]=qs[_0x38e6('0x18')](_0x491588['query'][_0x38e6('0x18')]);}_0x4d2b24[_0x38e6('0x34')]=qs['sort'](_0x491588[_0x38e6('0x2b')][_0x38e6('0x35')]);_0x4d2b24[_0x38e6('0x36')]=qs[_0x38e6('0x2d')](_['pick'](_0x491588[_0x38e6('0x2b')],_0x446ed5[_0x38e6('0x2d')]),_0x43f05f);if(_0x491588[_0x38e6('0x2b')][_0x38e6('0x37')]){_0x4d2b24['where']=_[_0x38e6('0x38')](_0x4d2b24[_0x38e6('0x36')],{'$or':_[_0x38e6('0x25')](_0x43f05f,function(_0x291c21){if(_0x291c21[_0x38e6('0x28')]!==_0x38e6('0x39')){var _0xf9677d={};_0xf9677d[_0x291c21['name']]={'$like':'%'+_0x491588[_0x38e6('0x2b')][_0x38e6('0x37')]+'%'};return _0xf9677d;}})});}_0x4d2b24=_['merge']({},_0x4d2b24,_0x491588['options']);var _0x3b1eb9={'where':_0x4d2b24[_0x38e6('0x36')]};return db[_0x38e6('0x26')][_0x38e6('0x3a')](_0x3b1eb9)[_0x38e6('0x20')](function(_0x2cb64c){_0x16ed33[_0x38e6('0x3a')]=_0x2cb64c;if(_0x491588[_0x38e6('0x2b')][_0x38e6('0x3b')]){_0x4d2b24[_0x38e6('0x3c')]=[{'all':!![]}];}return db['OpenchannelQueueReport'][_0x38e6('0x3d')](_0x4d2b24);})[_0x38e6('0x20')](function(_0x1eb265){_0x16ed33[_0x38e6('0x3e')]=_0x1eb265;return _0x16ed33;})[_0x38e6('0x20')](respondWithFilteredResult(_0x23902b,_0x4d2b24))['catch'](handleError(_0x23902b,null));};exports[_0x38e6('0x3f')]=function(_0x4a6a99,_0x7a8077){var _0x2c4c63={'raw':!![],'where':{'id':_0x4a6a99[_0x38e6('0x40')]['id']}},_0x6ee4b6={};_0x6ee4b6[_0x38e6('0x2a')]=_['keys'](db[_0x38e6('0x26')][_0x38e6('0x41')]);_0x6ee4b6['query']=_[_0x38e6('0x2c')](_0x4a6a99[_0x38e6('0x2b')]);_0x6ee4b6[_0x38e6('0x2d')]=_['intersection'](_0x6ee4b6[_0x38e6('0x2a')],_0x6ee4b6[_0x38e6('0x2b')]);_0x2c4c63['attributes']=_[_0x38e6('0x2e')](_0x6ee4b6[_0x38e6('0x2a')],qs[_0x38e6('0x30')](_0x4a6a99[_0x38e6('0x2b')][_0x38e6('0x30')]));_0x2c4c63['attributes']=_0x2c4c63[_0x38e6('0x2f')]['length']?_0x2c4c63[_0x38e6('0x2f')]:_0x6ee4b6[_0x38e6('0x2a')];if(_0x4a6a99['query'][_0x38e6('0x3b')]){_0x2c4c63[_0x38e6('0x3c')]=[{'all':!![]}];}_0x2c4c63=_['merge']({},_0x2c4c63,_0x4a6a99[_0x38e6('0x42')]);return db[_0x38e6('0x26')][_0x38e6('0x43')](_0x2c4c63)['then'](handleEntityNotFound(_0x7a8077,null))[_0x38e6('0x20')](respondWithResult(_0x7a8077,null))[_0x38e6('0x44')](handleError(_0x7a8077,null));};exports[_0x38e6('0x45')]=function(_0x5e7600,_0x59557f){return db[_0x38e6('0x26')][_0x38e6('0x45')](_0x5e7600['body'],{})[_0x38e6('0x20')](respondWithResult(_0x59557f,0xc9))[_0x38e6('0x44')](handleError(_0x59557f,null));};exports[_0x38e6('0x46')]=function(_0x2e0644,_0x16cb8){if(_0x2e0644[_0x38e6('0x47')]['id']){delete _0x2e0644[_0x38e6('0x47')]['id'];}return db['OpenchannelQueueReport']['find']({'where':{'id':_0x2e0644[_0x38e6('0x40')]['id']}})['then'](handleEntityNotFound(_0x16cb8,null))[_0x38e6('0x20')](saveUpdates(_0x2e0644[_0x38e6('0x47')],null))['then'](respondWithResult(_0x16cb8,null))['catch'](handleError(_0x16cb8,null));};exports[_0x38e6('0x1f')]=function(_0x358baa,_0x587792){return db[_0x38e6('0x26')]['find']({'where':{'id':_0x358baa['params']['id']}})[_0x38e6('0x20')](handleEntityNotFound(_0x587792,null))[_0x38e6('0x20')](removeEntity(_0x587792,null))[_0x38e6('0x44')](handleError(_0x587792,null));};exports[_0x38e6('0x48')]=function(_0x911aa2,_0x4a0976){return db[_0x38e6('0x26')][_0x38e6('0x48')]()[_0x38e6('0x20')](respondWithResult(_0x4a0976,null))[_0x38e6('0x44')](handleError(_0x4a0976,null));};
\ No newline at end of file