Built motion from commit b387bb7c7.|1.0.28
[motion.git] / server / api / interval / interval.controller.js
index 38f48a9..d309f3d 100644 (file)
@@ -1 +1 @@
-var _0xc923=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x61\x70\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x6F\x67\x67\x65\x72\x2E\x6A\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C\x73","\x6C\x65\x6E\x67\x74\x68","\x64\x65\x73\x74\x72\x6F\x79","\x63\x6C\x6F\x6E\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x61\x6C\x6C","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x70","\x66\x69\x6E\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x70\x75\x73\x68","\x72\x65\x6D\x6F\x76\x65","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x73\x73\x61\x67\x65","\x54\x68\x65\x20\x49\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x6F\x6E\x65\x20\x6F\x72\x20\x6D\x6F\x72\x65\x20\x72\x6F\x75\x74\x65\x73\x2C\x20\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x65\x6D\x20\x66\x69\x72\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x73\x74\x61\x63\x6B","\x65\x72\x72\x6F\x72"];_0xc923[0];var _=require(_0xc923[1]);var Interval=require(_0xc923[3])[_0xc923[2]];var VoiceExtension=require(_0xc923[3])[_0xc923[4]];var sequelize=require(_0xc923[3])[_0xc923[5]];var Promise=require(_0xc923[6]);var Util=require(_0xc923[7]);var logger=require(_0xc923[9])(_0xc923[8]);exports[_0xc923[10]]= function(_0x95abx8,_0x95abx9,_0x95abxa){return Interval[_0xc923[21]](_0xc923[19],_0xc923[20])[_0xc923[18]](_[_0xc923[17]](Util[_0xc923[16]](_0x95abx8[_0xc923[15]]),{distinct:true}))[_0xc923[14]](function(_0x95abxc){_0x95abx9[_0xc923[13]](200)[_0xc923[12]](_0x95abxc)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};exports[_0xc923[22]]= function(_0x95abx8,_0x95abx9){return Interval[_0xc923[21]](_0xc923[20])[_0xc923[26]](_0x95abx8[_0xc923[25]][_0xc923[24]])[_0xc923[14]](function(_0x95abxd){if(!_0x95abxd){return _0x95abx9[_0xc923[23]](404)};return _0x95abx9[_0xc923[12]](_0x95abxd)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};exports[_0xc923[27]]= function(_0x95abx8,_0x95abx9){return Interval[_0xc923[21]](_0xc923[20])[_0xc923[27]](_0x95abx8[_0xc923[28]])[_0xc923[14]](function(_0x95abxd){return _0x95abx9[_0xc923[13]](201)[_0xc923[12]](_0x95abxd)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};exports[_0xc923[29]]= function(_0x95abx8,_0x95abx9){var _0x95abxe;return sequelize[_0xc923[35]](function(_0x95abxf){if(_0x95abx8[_0xc923[28]][_0xc923[24]]){delete _0x95abx8[_0xc923[28]][_0xc923[24]]};return Interval[_0xc923[21]](_0xc923[20])[_0xc923[26]](_0x95abx8[_0xc923[25]][_0xc923[24]])[_0xc923[14]](function(_0x95abxd){if(!_0x95abxd){return _0x95abx9[_0xc923[23]](404)};_0x95abxe= _[_0xc923[33]](_0x95abxd);return _0x95abxd[_0xc923[34]](_0x95abx8[_0xc923[28]],{transaction:_0x95abxf})})[_0xc923[14]](function(){if(_0x95abx8[_0xc923[28]][_0xc923[30]]&&  !_0x95abx8[_0xc923[28]][_0xc923[30]][_0xc923[31]]){return Interval[_0xc923[32]]({where:{IntervalId:_0x95abx8[_0xc923[25]][_0xc923[24]]},individualHooks:true,transaction:_0x95abxf})}else {if(_0x95abx8[_0xc923[28]][_0xc923[30]]&& _0x95abx8[_0xc923[28]][_0xc923[30]][_0xc923[31]]){return bulkCreateSubIntervals(_0x95abx8[_0xc923[28]].SubIntervals,_0x95abxe,_0x95abxf)}}})})[_0xc923[14]](function(){return _0x95abx9[_0xc923[23]](200)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};function bulkCreateSubIntervals(_0x95abx11,_0x95abxe,_0x95abxf){return Promise[_0xc923[36]]([])[_0xc923[14]](function(){var _0x95abx12=[];var _0x95abx13=_[_0xc923[38]](_0x95abxe.SubIntervals,_0xc923[37]);var _0x95abx14;_[_0xc923[43]](_0x95abx13,function(_0x95abx15,_0x95abx16){_0x95abx14= _[_0xc923[39]](_0x95abx11,{id:_0x95abx15[_0xc923[24]]});if(_0x95abx14){_0x95abx14[_0xc923[40]]= _0x95abxe[_0xc923[24]];_0x95abx12[_0xc923[41]](Interval[_0xc923[29]](_[_0xc923[33]](_0x95abx14),{where:{id:_0x95abx15[_0xc923[24]]},transaction:_0x95abxf,individualHooks:true}));_[_0xc923[42]](_0x95abx11,{id:_0x95abx15[_0xc923[24]]})}else {_0x95abx12[_0xc923[41]](Interval[_0xc923[32]]({where:{id:_0x95abx15[_0xc923[24]]},individualHooks:true,transaction:_0x95abxf}))}});_[_0xc923[43]](_0x95abx11,function(_0x95abx15){_0x95abx15[_0xc923[40]]= _0x95abxe[_0xc923[24]];_0x95abx12[_0xc923[41]](Interval[_0xc923[27]](_0x95abx15,{transaction:_0x95abxf}))});return _0x95abx12})[_0xc923[36]]()}exports[_0xc923[32]]= function(_0x95abx8,_0x95abx9){return sequelize[_0xc923[35]](function(_0x95abxf){return Interval[_0xc923[32]]({where:{id:_0x95abx8[_0xc923[25]][_0xc923[24]]},individualHooks:true,transaction:_0x95abxf})})[_0xc923[14]](function(){return _0x95abx9[_0xc923[23]](204)})[_0xc923[11]](sequelize.ForeignKeyConstraintError,function(_0x95abxb){_0x95abxb[_0xc923[44]]= _0xc923[45];_0x95abxb[_0xc923[46]]= _0xc923[47];return handleError(_0x95abx9,_0x95abxb)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};exports[_0xc923[48]]= function(_0x95abx8,_0x95abx9){return sequelize[_0xc923[35]](function(_0x95abxf){return Interval[_0xc923[32]]({where:{id:_0x95abx8[_0xc923[15]][_0xc923[49]]},individualHooks:true,transaction:_0x95abxf})})[_0xc923[14]](function(){return _0x95abx9[_0xc923[23]](204)})[_0xc923[11]](sequelize.ForeignKeyConstraintError,function(_0x95abxb){_0x95abxb[_0xc923[44]]= _0xc923[45];_0x95abxb[_0xc923[46]]= _0xc923[47];return handleError(_0x95abx9,_0x95abxb)})[_0xc923[11]](function(_0x95abxb){return handleError(_0x95abx9,_0x95abxb)})};function handleError(_0x95abx9,_0x95abxb){logger[_0xc923[51]](_0x95abxb[_0xc923[50]]);return _0x95abx9[_0xc923[13]](500)[_0xc923[12]](_0x95abxb)}
\ No newline at end of file
+var _0xf92f=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x49\x6E\x74\x65\x72\x76\x61\x6C","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x56\x6F\x69\x63\x65\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x61\x70\x69","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x6C\x6F\x67\x67\x65\x72\x2E\x6A\x73","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x6D\x65\x72\x67\x65","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C\x73","\x73\x63\x6F\x70\x65","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x61\x6C\x6C","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x6D\x61\x70","\x66\x69\x6E\x64","\x49\x6E\x74\x65\x72\x76\x61\x6C\x49\x64","\x63\x6C\x6F\x6E\x65","\x70\x75\x73\x68","\x72\x65\x6D\x6F\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x6F\x72\x45\x61\x63\x68","\x6D\x65\x73\x73\x61\x67\x65","\x54\x68\x65\x20\x49\x6E\x74\x65\x72\x76\x61\x6C\x20\x69\x73\x20\x61\x73\x73\x6F\x63\x69\x61\x74\x65\x64\x20\x77\x69\x74\x68\x20\x6F\x6E\x65\x20\x6F\x72\x20\x6D\x6F\x72\x65\x20\x72\x6F\x75\x74\x65\x73\x2C\x20\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x65\x6D\x20\x66\x69\x72\x73\x74","\x74\x72\x61\x6E\x73\x6C\x61\x74\x65\x64\x4D\x65\x73\x73\x61\x67\x65","\x4D\x45\x53\x53\x41\x47\x45\x5F\x49\x4E\x54\x45\x52\x56\x41\x4C\x5F\x52\x4F\x55\x54\x45\x5F\x41\x53\x53\x4F\x43\x49\x41\x54\x45\x44","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x67\x65\x74\x53\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C\x73\x42\x79\x49\x6E\x74\x65\x72\x76\x61\x6C","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x64\x65\x73\x74\x72\x6F\x79\x53\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C","\x73\x69\x64","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79\x53\x75\x62\x69\x6E\x74\x65\x72\x76\x61\x6C","\x72\x65\x71\x2E\x71\x75\x65\x72\x79\x2E\x69\x64\x73","\x6C\x6F\x67","\x73\x68\x6F\x77\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C","\x63\x72\x65\x61\x74\x65\x53\x75\x62\x49\x6E\x74\x65\x72\x76\x61\x6C","\x73\x74\x61\x63\x6B","\x65\x72\x72\x6F\x72"];_0xf92f[0];var _=require(_0xf92f[1]);var Interval=require(_0xf92f[3])[_0xf92f[2]];var VoiceExtension=require(_0xf92f[3])[_0xf92f[4]];var sequelize=require(_0xf92f[3])[_0xf92f[5]];var Promise=require(_0xf92f[6]);var Util=require(_0xf92f[7]);var logger=require(_0xf92f[9])(_0xf92f[8]);exports[_0xf92f[10]]= function(_0x2998x8,_0x2998x9,_0x2998xa){return Interval[_0xf92f[21]](_0xf92f[19],_0xf92f[20])[_0xf92f[18]](_[_0xf92f[17]](Util[_0xf92f[16]](_0x2998x8[_0xf92f[15]]),{distinct:true}))[_0xf92f[14]](function(_0x2998xc){_0x2998x9[_0xf92f[13]](200)[_0xf92f[12]](_0x2998xc)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[22]]= function(_0x2998x8,_0x2998x9){return Interval[_0xf92f[21]](_0xf92f[20])[_0xf92f[26]](_0x2998x8[_0xf92f[25]][_0xf92f[24]])[_0xf92f[14]](function(_0x2998xd){if(!_0x2998xd){return _0x2998x9[_0xf92f[23]](404)};return _0x2998x9[_0xf92f[12]](_0x2998xd)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[27]]= function(_0x2998x8,_0x2998x9){return Interval[_0xf92f[27]](_0x2998x8[_0xf92f[28]])[_0xf92f[14]](function(_0x2998xd){return _0x2998x9[_0xf92f[13]](201)[_0xf92f[12]](_0x2998xd)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[29]]= function(_0x2998x8,_0x2998x9){return Interval[_0xf92f[26]](_0x2998x8[_0xf92f[25]][_0xf92f[24]])[_0xf92f[14]](function(_0x2998xd){if(!_0x2998xd){return _0x2998x9[_0xf92f[23]](404)};return _0x2998xd[_0xf92f[30]](_0x2998x8[_0xf92f[28]])})[_0xf92f[14]](function(){return _0x2998x9[_0xf92f[23]](200)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};function bulkCreateSubIntervals(_0x2998xf,_0x2998x10,_0x2998x11){return Promise[_0xf92f[31]]([])[_0xf92f[14]](function(){var _0x2998x12=[];var _0x2998x13=_[_0xf92f[33]](_0x2998x10.SubIntervals,_0xf92f[32]);var _0x2998x14;_[_0xf92f[40]](_0x2998x13,function(_0x2998x15,_0x2998x16){_0x2998x14= _[_0xf92f[34]](_0x2998xf,{id:_0x2998x15[_0xf92f[24]]});if(_0x2998x14){_0x2998x14[_0xf92f[35]]= _0x2998x10[_0xf92f[24]];_0x2998x12[_0xf92f[37]](Interval[_0xf92f[29]](_[_0xf92f[36]](_0x2998x14),{where:{id:_0x2998x15[_0xf92f[24]]},transaction:_0x2998x11,individualHooks:true}));_[_0xf92f[38]](_0x2998xf,{id:_0x2998x15[_0xf92f[24]]})}else {_0x2998x12[_0xf92f[37]](Interval[_0xf92f[39]]({where:{id:_0x2998x15[_0xf92f[24]]},individualHooks:true,transaction:_0x2998x11}))}});_[_0xf92f[40]](_0x2998xf,function(_0x2998x15){_0x2998x15[_0xf92f[35]]= _0x2998x10[_0xf92f[24]];_0x2998x12[_0xf92f[37]](Interval[_0xf92f[27]](_0x2998x15,{transaction:_0x2998x11}))});return _0x2998x12})[_0xf92f[31]]()}exports[_0xf92f[39]]= function(_0x2998x8,_0x2998x9){return sequelize[_0xf92f[45]](function(_0x2998x11){return Interval[_0xf92f[39]]({where:{id:_0x2998x8[_0xf92f[25]][_0xf92f[24]]},individualHooks:true,transaction:_0x2998x11})})[_0xf92f[14]](function(){return _0x2998x9[_0xf92f[23]](204)})[_0xf92f[11]](sequelize.ForeignKeyConstraintError,function(_0x2998xb){_0x2998xb[_0xf92f[41]]= _0xf92f[42];_0x2998xb[_0xf92f[43]]= _0xf92f[44];return handleError(_0x2998x9,_0x2998xb)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[46]]= function(_0x2998x8,_0x2998x9){return sequelize[_0xf92f[45]](function(_0x2998x11){return Interval[_0xf92f[39]]({where:{id:_0x2998x8[_0xf92f[15]][_0xf92f[47]]},individualHooks:true,transaction:_0x2998x11})})[_0xf92f[14]](function(){return _0x2998x9[_0xf92f[23]](204)})[_0xf92f[11]](sequelize.ForeignKeyConstraintError,function(_0x2998xb){_0x2998xb[_0xf92f[41]]= _0xf92f[42];_0x2998xb[_0xf92f[43]]= _0xf92f[44];return handleError(_0x2998x9,_0x2998xb)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[48]]= function(_0x2998x8,_0x2998x9,_0x2998xa){return Interval[_0xf92f[21]]({method:[_0xf92f[49],_0x2998x8[_0xf92f[25]][_0xf92f[24]]]})[_0xf92f[18]](Util[_0xf92f[16]](_0x2998x8[_0xf92f[15]]))[_0xf92f[14]](function(_0x2998xc){_0x2998x9[_0xf92f[13]](200)[_0xf92f[12]](_0x2998xc)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[50]]= function(_0x2998x8,_0x2998x9){return Interval[_0xf92f[39]]({where:{id:_0x2998x8[_0xf92f[25]][_0xf92f[51]]},individualHooks:true})[_0xf92f[14]](function(){return _0x2998x9[_0xf92f[23]](204)})[_0xf92f[11]](sequelize.ForeignKeyConstraintError,function(_0x2998xb){_0x2998xb[_0xf92f[41]]= _0xf92f[42];_0x2998xb[_0xf92f[43]]= _0xf92f[44];return handleError(_0x2998x9,_0x2998xb)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[52]]= function(_0x2998x8,_0x2998x9){console[_0xf92f[54]](_0xf92f[53],_0x2998x8[_0xf92f[15]][_0xf92f[47]]);return Interval[_0xf92f[39]]({where:{id:_0x2998x8[_0xf92f[15]][_0xf92f[47]]},individualHooks:true})[_0xf92f[14]](function(){return _0x2998x9[_0xf92f[23]](204)})[_0xf92f[11]](sequelize.ForeignKeyConstraintError,function(_0x2998xb){_0x2998xb[_0xf92f[41]]= _0xf92f[42];_0x2998xb[_0xf92f[43]]= _0xf92f[44];return handleError(_0x2998x9,_0x2998xb)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[55]]= function(_0x2998x8,_0x2998x9){return Interval[_0xf92f[26]](_0x2998x8[_0xf92f[25]][_0xf92f[51]])[_0xf92f[14]](function(_0x2998xd){if(!_0x2998xd){return _0x2998x9[_0xf92f[23]](404)};return _0x2998x9[_0xf92f[12]](_0x2998xd)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};exports[_0xf92f[56]]= function(_0x2998x8,_0x2998x9){_0x2998x8[_0xf92f[28]][_0xf92f[35]]= _0x2998x8[_0xf92f[25]][_0xf92f[24]];return Interval[_0xf92f[27]](_0x2998x8[_0xf92f[28]])[_0xf92f[14]](function(_0x2998xd){return _0x2998x9[_0xf92f[13]](201)[_0xf92f[12]](_0x2998xd)})[_0xf92f[11]](function(_0x2998xb){return handleError(_0x2998x9,_0x2998xb)})};function handleError(_0x2998x9,_0x2998xb){logger[_0xf92f[58]](_0x2998xb[_0xf92f[57]]);return _0x2998x9[_0xf92f[13]](500)[_0xf92f[12]](_0x2998xb)}
\ No newline at end of file