ootk 1.0.7 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/{asc → .asc}/asconfig.json +0 -0
  2. package/{asc → .asc}/assembly/index.ts +0 -0
  3. package/{asc → .asc}/ex/asconfig.json +0 -0
  4. package/{asc → .asc}/ex/assembly/index.ts +0 -0
  5. package/{asc → .asc}/ex/index.html +0 -0
  6. package/{asc → .asc}/ex/package.json +0 -0
  7. package/{asc → .asc}/ex/tests/index.js +0 -0
  8. package/{asc → .asc}/package.json +0 -0
  9. package/{asc → .asc}/tests/index.js +0 -0
  10. package/.eslintrc.json +244 -0
  11. package/CHANGELOG.md +21 -1
  12. package/LICENSE.MD +299 -21
  13. package/README.md +17 -22
  14. package/dist/ootk.d.ts +16 -20
  15. package/dist/ootk.js +2 -1
  16. package/dist/ootk.js.LICENSE.txt +77 -0
  17. package/lib/objects/base-object.d.ts +40 -0
  18. package/lib/objects/base-object.js +109 -0
  19. package/lib/objects/base-object.js.map +1 -0
  20. package/lib/objects/detailed-sat.d.ts +66 -0
  21. package/lib/objects/detailed-sat.js +149 -0
  22. package/lib/objects/detailed-sat.js.map +1 -0
  23. package/lib/objects/index.d.ts +4 -0
  24. package/lib/objects/index.js +5 -0
  25. package/lib/objects/index.js.map +1 -0
  26. package/lib/objects/sat.d.ts +88 -0
  27. package/lib/objects/sat.js +141 -0
  28. package/lib/objects/sat.js.map +1 -0
  29. package/lib/objects/sensor.d.ts +40 -0
  30. package/lib/objects/sensor.js +88 -0
  31. package/lib/objects/sensor.js.map +1 -0
  32. package/lib/objects/space-object.d.ts +38 -0
  33. package/lib/objects/space-object.js +60 -0
  34. package/lib/objects/space-object.js.map +1 -0
  35. package/lib/objects/star.d.ts +46 -0
  36. package/lib/objects/star.js +91 -0
  37. package/lib/objects/star.js.map +1 -0
  38. package/lib/ootk.d.ts +16 -20
  39. package/lib/ootk.js +16 -20
  40. package/lib/ootk.js.map +1 -1
  41. package/{dist → lib/sgp4}/sgp4.d.ts +14 -21
  42. package/lib/{sgp4.js → sgp4/sgp4.js} +1064 -898
  43. package/lib/sgp4/sgp4.js.map +1 -0
  44. package/lib/tle/tle-format-data.d.ts +6 -0
  45. package/lib/tle/tle-format-data.js +10 -0
  46. package/lib/tle/tle-format-data.js.map +1 -0
  47. package/lib/tle/tle.d.ts +374 -0
  48. package/lib/tle/tle.js +611 -0
  49. package/lib/tle/tle.js.map +1 -0
  50. package/{dist → lib/transforms}/transforms.d.ts +14 -17
  51. package/lib/{transforms.js → transforms/transforms.js} +44 -40
  52. package/lib/transforms/transforms.js.map +1 -0
  53. package/lib/{utils → types}/types.d.ts +111 -3
  54. package/lib/types/types.js +34 -0
  55. package/lib/types/types.js.map +1 -0
  56. package/lib/utils/constants.d.ts +19 -15
  57. package/lib/utils/constants.js +20 -16
  58. package/lib/utils/constants.js.map +1 -1
  59. package/lib/utils/moon-math.d.ts +104 -0
  60. package/lib/utils/moon-math.js +387 -0
  61. package/lib/utils/moon-math.js.map +1 -0
  62. package/lib/utils/sun-math.d.ts +230 -0
  63. package/lib/utils/sun-math.js +421 -0
  64. package/lib/utils/sun-math.js.map +1 -0
  65. package/lib/utils/utils.d.ts +36 -0
  66. package/lib/utils/utils.js +81 -0
  67. package/lib/utils/utils.js.map +1 -0
  68. package/package.json +4 -3
  69. package/dist/utils.d.ts +0 -33
  70. package/lib/sgp4.d.ts +0 -89
  71. package/lib/sgp4.js.map +0 -1
  72. package/lib/transforms.d.ts +0 -58
  73. package/lib/transforms.js.map +0 -1
  74. package/lib/utils/types.js +0 -2
  75. package/lib/utils/types.js.map +0 -1
  76. package/lib/utils.d.ts +0 -33
  77. package/lib/utils.js +0 -60
  78. package/lib/utils.js.map +0 -1
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # ootk
2
- [![build](https://img.shields.io/github/workflow/status/thkruz/ootk/CI?style=flat-square)](https://github.com/thkruz/ootk/actions?query=workflow%3ACI) ![Size](https://img.shields.io/github/languages/code-size/thkruz/ootk?style=flat-square) [![Release](https://img.shields.io/github/v/release/thkruz/ootk?style=flat-square)](https://www.npmjs.com/package/ootk) [![Issues](https://img.shields.io/github/issues/thkruz/ootk?style=flat-square)](https://github.com/thkruz/ootk/issues) [![Coverage](https://img.shields.io/codecov/c/github/thkruz/ootk?style=flat-square)](https://codecov.io/gh/thkruz/ootk) [![License](https://img.shields.io/github/license/thkruz/ootk?style=flat-square)](LICENSE.MD)
2
+
3
+ [![build](https://img.shields.io/github/workflow/status/thkruz/ootk/CI?style=flat-square)](https://github.com/thkruz/ootk/actions?query=workflow%3ACI) ![Size](https://img.shields.io/github/languages/code-size/thkruz/ootk?style=flat-square) [![Release](https://img.shields.io/github/v/release/thkruz/ootk?style=flat-square)](https://www.npmjs.com/package/ootk) [![Issues](https://img.shields.io/github/issues/thkruz/ootk?style=flat-square)](https://github.com/thkruz/ootk/issues) [![Coverage](https://img.shields.io/codecov/c/github/thkruz/ootk?style=flat-square)](https://codecov.io/gh/thkruz/ootk) [![License](https://img.shields.io/github/license/thkruz/ootk?style=flat-square)](LICENSE.MD)
3
4
 
4
5
  > An Orbital Object Tookit in Your Web Browser
5
6
 
6
7
  **ootk** is a modular collection of small libraries for doing math related to orbital objects written in TypeScript. ootk was developed to simplify the math and let you focus on using the results.
7
8
 
8
9
  ## :blue_book: Table of Contents
10
+
9
11
  - [Installation](#Installation)
10
12
  - [Usage](#Usage)
11
13
  - [Contributing](#Contributing)
@@ -26,7 +28,7 @@ npm i ootk
26
28
  ### Common.js ([Node.js](https://nodejs.org))
27
29
 
28
30
  ```js
29
- let Ootk = require('dist/ootk.js');
31
+ let Ootk = require('ootk.js');
30
32
  ...
31
33
  const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
32
34
  ```
@@ -34,17 +36,17 @@ const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
34
36
  ### ES ([Babel.js](https://babeljs.io/))
35
37
 
36
38
  ```js
37
- import * as Ootk from 'lib/ootk.es.js';
39
+ import * as Ootk from 'ootk.es.js';
38
40
  ...
39
41
  const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
40
42
  ```
41
43
 
42
44
  ### Script tag
43
45
 
44
- Include `dist/ootk.min.js` as a script in your html:
46
+ Include `dist/ootk.js` as a script in your html:
45
47
 
46
48
  ```html
47
- <script src="path/to/dist/ootk.min.js"></script>
49
+ <script src="path/to/dist/ootk.js"></script>
48
50
  ```
49
51
 
50
52
  `Ootk` object will be available in global scope:
@@ -61,20 +63,19 @@ The source code is organized as Common.js modules and uses [ES6 syntax](http://e
61
63
 
62
64
  2. Install all required packages with NPM by running the following command from repository's root directory:
63
65
 
64
- ```bash
65
- npm install
66
- ```
66
+ ```bash
67
+ npm install
68
+ ```
67
69
 
68
70
  3. Run the following NPM script to build everything:
69
71
 
70
- ```bash
71
- npm run build:umd
72
- ```
72
+ ```bash
73
+ npm run build
74
+ ```
73
75
 
74
76
  ## :gem: NPM Scripts
75
77
 
76
- - `build` compiles TypeScript into ES6 Modules
77
- - `build:umd` compiles TypeScript into ES6 Modules and generates UMD files
78
+ - `build` compiles TypeScript into ES6 Modules and combines them into a single file in the `dist` directory.
78
79
  - `lint` lints source code located in `src` directory with [ESLint](http://eslint.org/)
79
80
  - `lint:fix` lints tests located in `src` directory with ESLint and attempts to auto-fix errors
80
81
  - `lint:test` lints tests located in `test` directory with ESLint
@@ -106,13 +107,6 @@ Check that your code follows the rules established in eslint.rc:
106
107
  npm run lint
107
108
  ```
108
109
 
109
- Use [commitzen](https://github.com/commitizen/cz-cli) to format your commit messages:
110
-
111
- ```bash
112
- git add .
113
- git cz
114
- ```
115
-
116
110
  ## :man_scientist: Contributors
117
111
 
118
112
  This whole project is an example of standing on the shoulder's of giants. None of it would have been possible without the previous work of the following:
@@ -121,8 +115,9 @@ This whole project is an example of standing on the shoulder's of giants. None o
121
115
  - [davidcalhoun (David Calhoun)](https://github.com/davidcalhoun)
122
116
  - [shashwatak (Shashwat Kandadai)](https://github.com/shashwatak)
123
117
  - [brandon-rhodes (Brandon Rhodes)](https://github.com/brandon-rhodes)
124
-
118
+ - [mourner (Volodymyr Agafonkin)](https://github.com/mourner)
119
+ - [Hypnos (Robert Gester)](https://github.com/Hypnos3)
125
120
 
126
121
  ## :balance_scale: License
127
122
 
128
- In keeping with the tradition of [Shashwat Kandadai's satellite.js](https://github.com/shashwatak/satellite-js/) and [Brandon Rhodes' sgp4](https://pypi.python.org/pypi/sgp4/), I kept this licensed under the [MIT License](LICENSE.md).
123
+ Due to the expanding scope of this project, I have placed the code under the [AGPL License](LICENSE.md) in order to ensure that good ideas can be shared and that the code is open for everyone to use.
package/dist/ootk.d.ts CHANGED
@@ -3,27 +3,23 @@
3
3
  * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
4
  * with satellites and other orbital objects.
5
5
  *
6
- * @copyright MIT License.
7
- * Copyright (c) 2020-2021 Theodore Kruczek
6
+ * @license AGPL-3.0-or-later
7
+ * @Copyright (c) 2020-2022 Theodore Kruczek
8
8
  *
9
- * Permission is hereby granted, free of charge, to any person obtaining a copy
10
- * of this software and associated documentation files (the "Software"), to deal
11
- * in the Software without restriction, including without limitation the rights
12
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- * copies of the Software, and to permit persons to whom the Software is
14
- * furnished to do so, subject to the following conditions:
9
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU Affero General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
12
  *
16
- * The above copyright notice and this permission notice shall be included in all
17
- * copies or substantial portions of the Software.
13
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
14
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
+ * See the GNU Affero General Public License for more details.
18
16
  *
19
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
- * SOFTWARE.
17
+ * You should have received a copy of the GNU Affero General Public License along with
18
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
26
19
  */
27
- export { Sgp4 } from './sgp4';
28
- export { Transforms } from './transforms';
29
- export { Utils } from './utils';
20
+ export { Sgp4 } from './sgp4/sgp4';
21
+ export { Transforms } from './transforms/transforms';
22
+ export { Utils } from './utils/utils';
23
+ export { Tle } from './tle/tle';
24
+ export * from './objects/index';
25
+ export * from './types/types';
package/dist/ootk.js CHANGED
@@ -1 +1,2 @@
1
- !function(o,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ootk=t():o.Ootk=t()}(this,(function(){return(()=>{"use strict";var o={407:(o,t,n)=>{n.r(t),n.d(t,{Sgp4:()=>d,Transforms:()=>i,Utils:()=>c});var a=Math.PI,s=2*a,e=a/180,r=2/3,l=15e-13,d=function(){function o(){}return o.dpper=function(o,t){var n=o.e3,e=o.ee2,r=o.peo,l=o.pgho,d=o.pho,i=o.PInco,c=o.plo,h=o.se2,u=o.se3,m=o.sgh2,p=o.sgh3,M=o.sgh4,x=o.sh2,g=o.sh3,f=o.si2,z=o.si3,v=o.sl2,y=o.sl3,b=o.sl4,j=o.t,w=o.xgh2,q=o.xgh3,k=o.xgh4,P=o.xh2,I=o.xh3,F=o.xi2,L=o.xi3,O=o.xl2,S=o.xl3,E=o.xl4,R=o.zmol,T=o.zmos,C=t.ep,D=t.inclp,N=t.nodep,_=t.argpp,A=t.mp,U=t.opsmode,V=void 0===U?"i":U,B=t.init,G=T+119459e-10*j;"y"===B&&(G=T);var H=G+.0335*Math.sin(G),J=Math.sin(H),K=.5*J*J-.25,Q=-.5*J*Math.cos(H),W=h*K+u*Q,X=f*K+z*Q,Y=v*K+y*Q+b*J,Z=m*K+p*Q+M*J,$=x*K+g*Q;G=R+.00015835218*j,"y"===B&&(G=R),H=G+.1098*Math.sin(G);var oo=W+(e*(K=.5*(J=Math.sin(H))*J-.25)+n*(Q=-.5*J*Math.cos(H))),to=X+(F*K+L*Q),no=Y+(O*K+S*Q+E*J),ao=Z+(w*K+q*Q+k*J),so=$+(P*K+I*Q);if("n"===B){no-=c,ao-=l,so-=d,D+=to-=i,C+=oo-=r;var eo=Math.sin(D),ro=Math.cos(D);if(D>=.2)_+=ao-=ro*(so/=eo),N+=so,A+=no;else{var lo=Math.sin(N),io=Math.cos(N),co=eo*lo,ho=eo*io;co+=so*io+to*ro*lo,ho+=-so*lo+to*ro*io,(N%=s)<0&&"a"===V&&(N+=s);var uo=A+_+ro*N;uo+=no+ao-to*N*eo;var mo=N;(N=Math.atan2(co,ho))<0&&"a"===V&&(N+=s),Math.abs(mo-N)>a&&(N<mo?N+=s:N-=s),_=uo-(A+=no)-ro*N}}return{ep:C,inclp:D,nodep:N,argpp:_,mp:A}},o.dscom=function(o){var t,n,a,s,e,r,l,d,i,c,h,u,m,p,M,x,g,f,z,v,y,b,j,w,q,k,P,I,F,L,O,S,E,R,T,C,D,N,_=o.epoch,A=o.ep,U=o.argpp,V=o.tc,B=o.inclp,G=o.nodep,H=o.np,J=.01675,K=.0549,Q=2*Math.PI,W=H,X=A,Y=Math.sin(G),Z=Math.cos(G),$=Math.sin(U),oo=Math.cos(U),to=Math.sin(B),no=Math.cos(B),ao=X*X,so=1-ao,eo=Math.sqrt(so),ro=_+18261.5+V/1440,lo=(4.523602-.00092422029*ro)%Q,io=Math.sin(lo),co=Math.cos(lo),ho=.91375164-.03568096*co,uo=Math.sqrt(1-ho*ho),mo=.089683511*io/uo,po=Math.sqrt(1-mo*mo),Mo=5.8351514+.001944368*ro,xo=.39785416*io/uo,go=po*co+.91744867*mo*io;xo=Math.atan2(xo,go),xo+=Mo-lo;for(var fo=Math.cos(xo),zo=Math.sin(xo),vo=.1945905,yo=-.98088458,bo=.91744867,jo=.39785416,wo=Z,qo=Y,ko=29864797e-13,Po=1/W,Io=1;Io<=2;Io++){var Fo=vo*wo+yo*bo*qo,Lo=-yo*wo+vo*bo*qo,Oo=-vo*qo+yo*bo*wo,So=yo*jo,Eo=yo*qo+vo*bo*wo,Ro=vo*jo,To=no*Oo+to*So,Co=no*Eo+to*Ro,Do=-to*Oo+no*So,No=-to*Eo+no*Ro,_o=Fo*oo+To*$,Ao=Lo*oo+Co*$,Uo=-Fo*$+To*oo,Vo=-Lo*$+Co*oo,Bo=Do*$,Go=No*$,Ho=Do*oo,Jo=No*oo;E=-6*Fo*Do+ao*(-24*_o*Ho-6*Uo*Bo),R=-6*(Fo*No+Lo*Do)+ao*(-24*(Ao*Ho+_o*Jo)+-6*(Uo*Go+Vo*Bo)),T=-6*Lo*No+ao*(-24*Ao*Jo-6*Vo*Go),C=6*To*Do+ao*(24*_o*Bo-6*Uo*Ho),D=6*(Co*Do+To*No)+ao*(24*(Ao*Bo+_o*Go)-6*(Vo*Ho+Uo*Jo)),N=6*Co*No+ao*(24*Ao*Go-6*Vo*Jo),L=(L=3*(Fo*Fo+To*To)+(P=12*_o*_o-3*Uo*Uo)*ao)+L+so*P,O=(O=6*(Fo*Lo+To*Co)+(I=24*_o*Ao-6*Uo*Vo)*ao)+O+so*I,S=(S=3*(Lo*Lo+Co*Co)+(F=12*Ao*Ao-3*Vo*Vo)*ao)+S+so*F,n=-.5*(a=ko*Po)/eo,t=-15*X*(s=a*eo),e=_o*Uo+Ao*Vo,r=Ao*Uo+_o*Vo,l=Ao*Vo-_o*Uo,1===Io&&(d=t,i=n,c=a,h=s,u=e,m=r,p=l,M=L,x=O,g=S,f=E,z=R,v=T,y=C,b=D,j=N,w=P,q=I,k=F,vo=fo,yo=zo,bo=ho,jo=uo,wo=po*Z+mo*Y,qo=Y*po-Z*mo,ko=4.7968065e-7)}return{snodm:Y,cnodm:Z,sinim:to,cosim:no,sinomm:$,cosomm:oo,day:ro,e3:2*t*l,ee2:2*t*r,em:X,emsq:ao,gam:Mo,peo:0,pgho:0,pho:0,PInco:0,plo:0,rtemsq:eo,se2:2*d*m,se3:2*d*p,sgh2:2*h*q,sgh3:2*h*(k-w),sgh4:-18*h*J,sh2:-2*i*b,sh3:-2*i*(j-y),si2:2*i*z,si3:2*i*(v-f),sl2:-2*c*x,sl3:-2*c*(g-M),sl4:-2*c*(-21-9*ao)*J,s1:t,s2:n,s3:a,s4:s,s5:e,s6:r,s7:l,ss1:d,ss2:i,ss3:c,ss4:h,ss5:u,ss6:m,ss7:p,sz1:M,sz2:x,sz3:g,sz11:f,sz12:z,sz13:v,sz21:y,sz22:b,sz23:j,sz31:w,sz32:q,sz33:k,xgh2:2*s*I,xgh3:2*s*(F-P),xgh4:-18*s*K,xh2:-2*n*D,xh3:-2*n*(N-C),xi2:2*n*R,xi3:2*n*(T-E),xl2:-2*a*O,xl3:-2*a*(S-L),xl4:-2*a*(-21-9*ao)*K,nm:W,z1:L,z2:O,z3:S,z11:E,z12:R,z13:T,z21:C,z22:D,z23:N,z31:P,z32:I,z33:F,zmol:(.2299715*ro-Mo+4.7199672)%Q,zmos:(6.2565837+.017201977*ro)%Q}},o.dsinit=function(o){var t=o.xke,n=o.cosim,e=o.argpo,r=o.s1,l=o.s2,d=o.s3,i=o.s4,c=o.s5,h=o.sinim,u=o.ss1,m=o.ss2,p=o.ss3,M=o.ss4,x=o.ss5,g=o.sz1,f=o.sz3,z=o.sz11,v=o.sz13,y=o.sz21,b=o.sz23,j=o.sz31,w=o.sz33,q=o.t,k=o.tc,P=o.gsto,I=o.mo,F=o.mdot,L=o.no,O=o.nodeo,S=o.nodedot,E=o.xPIdot,R=o.z1,T=o.z3,C=o.z11,D=o.z13,N=o.z21,_=o.z23,A=o.z31,U=o.z33,V=o.ecco,B=o.eccsq,G=o.emsq,H=o.em,J=o.argpm,K=o.inclm,Q=o.mm,W=o.nm,X=o.nodem,Y=o.irez,Z=o.atime,$=o.d2201,oo=o.d2211,to=o.d3210,no=o.d3222,ao=o.d4410,so=o.d4422,eo=o.d5220,ro=o.d5232,lo=o.d5421,io=o.d5433,co=o.dedt,ho=o.didt,uo=o.dmdt,mo=o.dnodt,po=o.domdt,Mo=o.del1,xo=o.del2,go=o.del3,fo=o.xfact,zo=o.xlamo,vo=o.xli,yo=o.xni,bo=.0043752690880113,jo=.00015835218,wo=119459e-10;Y=0,W<.0052359877&&W>.0034906585&&(Y=1),W>=.00826&&W<=.00924&&H>=.5&&(Y=2);var qo=-wo*m*(y+b);(K<.052359877||K>a-.052359877)&&(qo=0),0!==h&&(qo/=h);var ko=-jo*l*(N+_);(K<.052359877||K>a-.052359877)&&(ko=0),po=M*wo*(j+w-6)-n*qo+i*jo*(A+U-6),mo=qo,0!==h&&(po-=n/h*ko,mo+=ko/h);var Po=(P+k*bo)%s;if(H+=(co=u*wo*x+r*jo*c)*q,K+=(ho=m*wo*(z+v)+l*jo*(C+D))*q,J+=po*q,X+=mo*q,Q+=(uo=-wo*p*(g+f-14-6*G)-jo*d*(R+T-14-6*G))*q,0!==Y){var Io=Math.pow(W/t,2/3);if(2===Y){var Fo=n*n,Lo=H,Oo=G,So=(H=V)*(G=B),Eo=void 0,Ro=void 0,To=void 0,Co=void 0,Do=void 0,No=void 0,_o=void 0,Ao=void 0,Uo=void 0;H<=.65?(Eo=3.616-13.247*H+16.29*G,Ro=117.39*H-19.302-228.419*G+156.591*So,To=109.7927*H-18.9068-214.6334*G+146.5816*So,Co=242.694*H-41.122-471.094*G+313.953*So,Do=841.88*H-146.407-1629.014*G+1083.435*So,No=3017.977*H-532.114-5740.032*G+3708.276*So):(Eo=331.819*H-72.099-508.738*G+266.724*So,Ro=1582.851*H-346.844-2415.925*G+1246.113*So,To=1554.908*H-342.585-2366.899*G+1215.972*So,Co=4758.686*H-1052.797-7193.992*G+3651.957*So,Do=16178.11*H-3581.69-24462.77*G+12422.52*So,No=H>.715?29936.92*H-5149.66-54087.36*G+31324.56*So:1464.74-4664.75*H+3763.64*G),H<.7?(_o=4988.61*H-919.2277-9064.77*G+5542.21*So,Ao=4568.6173*H-822.71072-8491.4146*G+5337.524*So,Uo=4690.25*H-853.666-8624.77*G+5341.4*So):(_o=161616.52*H-37995.78-229838.2*G+109377.94*So,Ao=218913.95*H-51752.104-309468.16*G+146349.42*So,Uo=170470.89*H-40023.88-242699.48*G+115605.82*So);var Vo=h*h,Bo=W*W*3*(Io*Io),Go=17891679e-13*Bo;$=Go*(Ho=.75*(1+2*n+Fo))*(-.306-.44*(H-.64)),oo=Go*(1.5*Vo)*Eo,to=(Go=3.7393792e-7*(Bo*=Io))*(1.875*h*(1-2*n-3*Fo))*Ro,no=Go*(-1.875*h*(1+2*n-3*Fo))*To,ao=(Go=2*(Bo*=Io)*7.3636953e-9)*(35*Vo*Ho)*Co,so=Go*(39.375*Vo*Vo)*Do,eo=(Go=1.1428639e-7*(Bo*=Io))*(9.84375*h*(Vo*(1-2*n-5*Fo)+.33333333*(4*n-2+6*Fo)))*No,ro=Go*(h*(4.92187512*Vo*(-2-4*n+10*Fo)+6.56250012*(1+2*n-3*Fo)))*Uo,lo=(Go=2*Bo*2.1765803e-9)*(29.53125*h*(2-8*n+Fo*(8*n-12+10*Fo)))*Ao,io=Go*(29.53125*h*(-2-8*n+Fo*(12+8*n-10*Fo)))*_o,zo=(I+O+O-(Po+Po))%s,fo=F+uo+2*(S+mo-bo)-L,H=Lo,G=Oo}if(1===Y){var Ho,Jo=1+n;xo=2*(Mo=3*W*W*Io*Io)*(Ho=.75*(1+n)*(1+n))*(1+G*(.8125*G-2.5))*17891679e-13,go=3*Mo*(Jo*=1.875*Jo*Jo)*(1+G*(6.60937*G-6))*2.2123015e-7*Io,Mo=Mo*(.9375*h*h*(1+3*n)-.75*(1+n))*(Ro=1+2*G)*21460748e-13*Io,zo=(I+O+e-Po)%s,fo=F+E+uo+po+mo-(L+bo)}vo=zo,yo=L,Z=0,W=L+0}return{em:H,argpm:J,inclm:K,mm:Q,nm:W,nodem:X,irez:Y,atime:Z,d2201:$,d2211:oo,d3210:to,d3222:no,d4410:ao,d4422:so,d5220:eo,d5232:ro,d5421:lo,d5433:io,dedt:co,didt:ho,dmdt:uo,dndt:0,dnodt:mo,domdt:po,del1:Mo,del2:xo,del3:go,xfact:fo,xlamo:zo,xli:vo,xni:yo}},o.dspace=function(o,t,n,a,e,r,l,d,i,c,h,u,m,p,M,x,g,f,z,v,y,b,j,w,q,k,P,I,F,L,O,S,E,R,T,C){var D=.13130908,N=2.8843198,_=.37448087,A=5.7686396,U=.95240898,V=1.8014998,B=1.050833,G=4.4108898,H=259200,J=0,K=(w+.0043752690880113*j)%s;if(F+=u*b,O+=x*b,L+=z*b,T+=f*b,E+=g*b,0!==o){(0===I||b*I<=0||Math.abs(b)<Math.abs(I))&&(I=0,R=P,S=k);var Q;Q=b>0?720:-720;for(var W=void 0,X=void 0,Y=void 0,Z=void 0,$=void 0,oo=void 0,to=void 0,no=381;381===no;)2!==o?(W=m*Math.sin(S-D)+p*Math.sin(2*(S-N))+M*Math.sin(3*(S-_)),X=R+q,Y=m*Math.cos(S-D)+2*p*Math.cos(2*(S-N))+3*M*Math.cos(3*(S-_)),Y*=X):($=(Z=v+y*I)+Z,oo=S+S,W=t*Math.sin($+S-A)+n*Math.sin(S-A)+a*Math.sin(Z+S-U)+e*Math.sin(-Z+S-U)+r*Math.sin($+oo-V)+l*Math.sin(oo-V)+d*Math.sin(Z+S-B)+i*Math.sin(-Z+S-B)+c*Math.sin(Z+oo-G)+h*Math.sin(-Z+oo-G),X=R+q,Y=t*Math.cos($+S-A)+n*Math.cos(S-A)+a*Math.cos(Z+S-U)+e*Math.cos(-Z+S-U)+d*Math.cos(Z+S-B)+i*Math.cos(-Z+S-B)+2*r*Math.cos($+oo-V)+l*Math.cos(oo-V)+c*Math.cos(Z+oo-G)+h*Math.cos(-Z+oo-G),Y*=X),Math.abs(b-I)>=720?no=381:(to=b-I,no=0),381===no&&(S+=X*Q+W*H,R+=W*Q+Y*H,I+=Q);C=R+W*to+Y*to*to*.5;var ao=S+X*to+W*to*to*.5;1!==o?(E=ao-2*T+2*K,J=C-P):(E=ao-T-L+K,J=C-P),C=P+J}return[F,L,O,E,T,C]},o.initl=function(t){var n=t.opsmode,a=t.ecco,s=t.epoch,e=t.inclo,r=t.xke,l=t.j2,d=t.no,i=2*Math.PI,c=2/3,h=a*a,u=1-h,m=Math.sqrt(u),p=Math.cos(e),M=p*p,x=Math.pow(r/d,c),g=.75*l*(3*M-1)/(m*u),f=g/(x*x),z=x*(1-f*f-f*(1/3+134*f*f/81));d/=1+(f=g/(z*z));var v,y=Math.pow(r/d,c),b=Math.sin(e),j=y*u,w=1-5*M,q=-w-M-M,k=1/y,P=j*j,I=y*(1-a);if("a"==n){var F=s-7305,L=Math.floor(F+1e-8),O=.017202791694070362;(v=(1.7321343856509375+O*L+(O+i)*(F-L)+F*F*5075514194322695e-30)%i)<0&&(v+=i)}else v=o.gstime(s+2433281.5);return{no:d,method:"n",ainv:k,ao:y,con41:q,con42:w,cosio:p,cosio2:M,eccsq:h,omeosq:u,posq:P,rp:I,rteosq:m,sinio:b,gsto:v}},o.sgp4init=function(t,n){var a=n.whichconst,e=void 0===a?"wgs72":a,d=n.opsmode,i=void 0===d?"i":d,c=n.satn,h=void 0===c?t.satnum:c,u=n.epoch,m=n.xbstar,p=n.xecco,M=n.xargpo,x=n.xinclo,g=n.xndot,f=n.xnddot,z=n.xmo,v=n.xno,y=n.xnodeo;t.isimp=0,t.method="n",t.aycof=0,t.con41=0,t.cc1=0,t.cc4=0,t.cc5=0,t.d2=0,t.d3=0,t.d4=0,t.delmo=0,t.eta=0,t.argpdot=0,t.omgcof=0,t.sinmao=0,t.t=0,t.t2cof=0,t.t3cof=0,t.t4cof=0,t.t5cof=0,t.x1mth2=0,t.x7thm1=0,t.mdot=0,t.nodedot=0,t.xlcof=0,t.xmcof=0,t.nodecf=0,t.irez=0,t.d2201=0,t.d2211=0,t.d3210=0,t.d3222=0,t.d4410=0,t.d4422=0,t.d5220=0,t.d5232=0,t.d5421=0,t.d5433=0,t.dedt=0,t.del1=0,t.del2=0,t.del3=0,t.didt=0,t.dmdt=0,t.dnodt=0,t.domdt=0,t.e3=0,t.ee2=0,t.peo=0,t.pgho=0,t.pho=0,t.PInco=0,t.plo=0,t.se2=0,t.se3=0,t.sgh2=0,t.sgh3=0,t.sgh4=0,t.sh2=0,t.sh3=0,t.si2=0,t.si3=0,t.sl2=0,t.sl3=0,t.sl4=0,t.gsto=0,t.xfact=0,t.xgh2=0,t.xgh3=0,t.xgh4=0,t.xh2=0,t.xh3=0,t.xi2=0,t.xi3=0,t.xl2=0,t.xl3=0,t.xl4=0,t.xlamo=0,t.zmol=0,t.zmos=0,t.atime=0,t.xli=0,t.xni=0;var b=o.getgravconst(e);t.tumin=b.tumin,t.mus=b.mus,t.radiusearthkm=b.radiusearthkm,t.xke=b.xke,t.j2=b.j2,t.j3=b.j3,t.j4=b.j4,t.j3oj2=b.j3oj2;var j=b.j2,w=b.j4,q=b.xke,k=b.j3oj2;t.error=0,t.operationmode=i;var P=h.split("")[0].toLowerCase();isNaN(parseInt(P))?t.satnum=parseInt(P.charCodeAt(0)-96+9+t.satnum.slice(1,5)).toString():t.satnum=h,t.bstar=m,t.ndot=g,t.nddot=f,t.ecco=p,t.argpo=M,t.inclo=x,t.mo=z,t.no=v,t.nodeo=y;var I=78/t.radiusearthkm+1,F=42/t.radiusearthkm,L=F*F*F*F;t.init="y",t.t=0;var O={ecco:t.ecco,epoch:u,inclo:t.inclo,no:t.no,method:t.method,opsmode:t.operationmode,xke:t.xke,j2:t.j2},S=o.initl(O),E=S.ao,R=S.con42,T=S.cosio,C=S.cosio2,D=S.eccsq,N=S.omeosq,_=S.posq,A=S.rp,U=S.rteosq,V=S.sinio;if(t.no=S.no,t.con41=S.con41,t.gsto=S.gsto,t.a=Math.pow(t.no*t.tumin,-2/3),t.alta=t.a*(1+t.ecco)-1,t.altp=t.a*(1-t.ecco)-1,t.error=0,N>=0||t.no>=0){t.isimp=0,A<220/t.radiusearthkm+1&&(t.isimp=1);var B=I,G=L,H=(A-1)*t.radiusearthkm;if(H<156){B=H-78,H<98&&(B=20);var J=(120-B)/t.radiusearthkm;G=J*J*J*J,B=B/t.radiusearthkm+1}var K=1/_,Q=1/(E-B);t.eta=E*t.ecco*Q;var W=t.eta*t.eta,X=t.ecco*t.eta,Y=Math.abs(1-W),Z=G*Math.pow(Q,4),$=Z/Math.pow(Y,3.5),oo=$*t.no*(E*(1+1.5*W+X*(4+W))+.375*j*Q/Y*t.con41*(8+3*W*(8+W)));t.cc1=t.bstar*oo;var to=0;t.ecco>1e-4&&(to=-2*Z*Q*k*t.no*V/t.ecco),t.x1mth2=1-C,t.cc4=2*t.no*$*E*N*(t.eta*(2+.5*W)+t.ecco*(.5+2*W)-j*Q/(E*Y)*(-3*t.con41*(1-2*X+W*(1.5-.5*X))+.75*t.x1mth2*(2*W-X*(1+W))*Math.cos(2*t.argpo))),t.cc5=2*$*E*N*(1+2.75*(W+X)+X*W);var no=C*C,ao=1.5*j*K*t.no,so=.5*ao*j*K,eo=-.46875*w*K*K*t.no;t.mdot=t.no+.5*ao*U*t.con41+.0625*so*U*(13-78*C+137*no),t.argpdot=-.5*ao*R+.0625*so*(7-114*C+395*no)+eo*(3-36*C+49*no);var ro=-ao*T;t.nodedot=ro+(.5*so*(4-19*C)+2*eo*(3-7*C))*T;var lo=t.argpdot+t.nodedot;t.omgcof=t.bstar*to*Math.cos(t.argpo),t.xmcof=0,t.ecco>1e-4&&(t.xmcof=-r*Z*t.bstar/X),t.nodecf=3.5*N*ro*t.cc1,t.t2cof=1.5*t.cc1,Math.abs(T+1)>15e-13?t.xlcof=-.25*k*V*(3+5*T)/(1+T):t.xlcof=-.25*k*V*(3+5*T)/l,t.aycof=-.5*k*V;var io=1+t.eta*Math.cos(t.mo);if(t.delmo=io*io*io,t.sinmao=Math.sin(t.mo),t.x7thm1=7*C-1,s/t.no>=225){t.method="d",t.isimp=1;var co=t.inclo,ho={epoch:u,ep:t.ecco,argpp:t.argpo,tc:0,inclp:t.inclo,nodep:t.nodeo,np:t.no,e3:t.e3,ee2:t.ee2,peo:t.peo,pgho:t.pgho,pho:t.pho,PInco:t.PInco,plo:t.plo,se2:t.se2,se3:t.se3,sgh2:t.sgh2,sgh3:t.sgh3,sgh4:t.sgh4,sh2:t.sh2,sh3:t.sh3,si2:t.si2,si3:t.si3,sl2:t.sl2,sl3:t.sl3,sl4:t.sl4,xgh2:t.xgh2,xgh3:t.xgh3,xgh4:t.xgh4,xh2:t.xh2,xh3:t.xh3,xi2:t.xi2,xi3:t.xi3,xl2:t.xl2,xl3:t.xl3,xl4:t.xl4,zmol:t.zmol,zmos:t.zmos},uo=o.dscom(ho);t.e3=uo.e3,t.ee2=uo.ee2,t.peo=uo.peo,t.pgho=uo.pgho,t.pho=uo.pho,t.PInco=uo.PInco,t.plo=uo.plo,t.se2=uo.se2,t.se3=uo.se3,t.sgh2=uo.sgh2,t.sgh3=uo.sgh3,t.sgh4=uo.sgh4,t.sh2=uo.sh2,t.sh3=uo.sh3,t.si2=uo.si2,t.si3=uo.si3,t.sl2=uo.sl2,t.sl3=uo.sl3,t.sl4=uo.sl4;var mo=uo.sinim,po=uo.cosim,Mo=uo.em,xo=uo.emsq,go=uo.s1,fo=uo.s2,zo=uo.s3,vo=uo.s4,yo=uo.s5,bo=uo.ss1,jo=uo.ss2,wo=uo.ss3,qo=uo.ss4,ko=uo.ss5,Po=uo.sz1,Io=uo.sz3,Fo=uo.sz11,Lo=uo.sz13,Oo=uo.sz21,So=uo.sz23,Eo=uo.sz31,Ro=uo.sz33;t.xgh2=uo.xgh2,t.xgh3=uo.xgh3,t.xgh4=uo.xgh4,t.xh2=uo.xh2,t.xh3=uo.xh3,t.xi2=uo.xi2,t.xi3=uo.xi3,t.xl2=uo.xl2,t.xl3=uo.xl3,t.xl4=uo.xl4,t.zmol=uo.zmol,t.zmos=uo.zmos;var To=uo.nm,Co=uo.z1,Do=uo.z3,No=uo.z11,_o=uo.z13,Ao=uo.z21,Uo=uo.z23,Vo=uo.z31,Bo=uo.z33,Go={inclo:co,init:t.init,ep:t.ecco,inclp:t.inclo,nodep:t.nodeo,argpp:t.argpo,mp:t.mo,opsmode:t.operationmode},Ho=o.dpper(t,Go);t.ecco=Ho.ep,t.inclo=Ho.inclp,t.nodeo=Ho.nodep,t.argpo=Ho.argpp,t.mo=Ho.mp;var Jo={xke:q,cosim:po,emsq:xo,argpo:t.argpo,s1:go,s2:fo,s3:zo,s4:vo,s5:yo,sinim:mo,ss1:bo,ss2:jo,ss3:wo,ss4:qo,ss5:ko,sz1:Po,sz3:Io,sz11:Fo,sz13:Lo,sz21:Oo,sz23:So,sz31:Eo,sz33:Ro,t:t.t,tc:0,gsto:t.gsto,mo:t.mo,mdot:t.mdot,no:t.no,nodeo:t.nodeo,nodedot:t.nodedot,xPIdot:lo,z1:Co,z3:Do,z11:No,z13:_o,z21:Ao,z23:Uo,z31:Vo,z33:Bo,ecco:t.ecco,eccsq:D,em:Mo,argpm:0,inclm:co,mm:0,nm:To,nodem:0,irez:t.irez,atime:t.atime,d2201:t.d2201,d2211:t.d2211,d3210:t.d3210,d3222:t.d3222,d4410:t.d4410,d4422:t.d4422,d5220:t.d5220,d5232:t.d5232,d5421:t.d5421,d5433:t.d5433,dedt:t.dedt,didt:t.didt,dmdt:t.dmdt,dnodt:t.dnodt,domdt:t.domdt,del1:t.del1,del2:t.del2,del3:t.del3,xfact:t.xfact,xlamo:t.xlamo,xli:t.xli,xni:t.xni},Ko=o.dsinit(Jo);t.irez=Ko.irez,t.atime=Ko.atime,t.d2201=Ko.d2201,t.d2211=Ko.d2211,t.d3210=Ko.d3210,t.d3222=Ko.d3222,t.d4410=Ko.d4410,t.d4422=Ko.d4422,t.d5220=Ko.d5220,t.d5232=Ko.d5232,t.d5421=Ko.d5421,t.d5433=Ko.d5433,t.dedt=Ko.dedt,t.didt=Ko.didt,t.dmdt=Ko.dmdt,t.dnodt=Ko.dnodt,t.domdt=Ko.domdt,t.del1=Ko.del1,t.del2=Ko.del2,t.del3=Ko.del3,t.xfact=Ko.xfact,t.xlamo=Ko.xlamo,t.xli=Ko.xli,t.xni=Ko.xni}if(1!==t.isimp){var Qo=t.cc1*t.cc1;t.d2=4*E*Q*Qo;var Wo=t.d2*Q*t.cc1/3;t.d3=(17*E+B)*Wo,t.d4=.5*Wo*E*Q*(221*E+31*B)*t.cc1,t.t3cof=t.d2+2*Qo,t.t4cof=.25*(3*t.d3+t.cc1*(12*t.d2+10*Qo)),t.t5cof=.2*(3*t.d4+12*t.cc1*t.d3+6*t.d2*t.d2+15*Qo*(2*t.d2+Qo))}}o.propagate(t,0),t.init="n"},o.propagate=function(t,n){var e=t.xke,d=t.j2,i=t.j3oj2,c=t.radiusearthkm*t.xke/60;t.t=n,t.error=0;var h=t.mo+t.mdot*t.t,u=t.argpo+t.argpdot*t.t,m=t.nodeo+t.nodedot*t.t,p=u,M=h,x=t.t*t.t,g=m+t.nodecf*x,f=1-t.cc1*t.t,z=t.bstar*t.cc4*t.t,v=t.t2cof*x;if(1!==t.isimp){var y=t.omgcof*t.t,b=1+t.eta*Math.cos(h),j=y+t.xmcof*(b*b*b-t.delmo);M=h+j,p=u-j;var w=x*t.t,q=w*t.t;f=f-t.d2*x-t.d3*w-t.d4*q,z+=t.bstar*t.cc5*(Math.sin(M)-t.sinmao),v=v+t.t3cof*w+q*(t.t4cof+t.t*t.t5cof)}var k=t.no,P=t.ecco,I=t.inclo;if("d"===t.method){var F=t.t,L=o.dspace(t.irez,t.d2201,t.d2211,t.d3210,t.d3222,t.d4410,t.d4422,t.d5220,t.d5232,t.d5421,t.d5433,t.dedt,t.del1,t.del2,t.del3,t.didt,t.dmdt,t.dnodt,t.domdt,t.argpo,t.argpdot,t.t,F,t.gsto,t.xfact,t.xlamo,t.no,t.atime,P,p,I,t.xli,M,t.xni,g,k);P=L[0],p=L[1],I=L[2],M=L[3],g=L[4],k=L[5]}if(k<=0)return t.error=2,{position:!1,velocity:!1};var O=Math.pow(e/k,r)*f*f;if(k=e/Math.pow(O,1.5),(P-=z)>=1||P<-.001)return t.error=1,{position:!1,velocity:!1};P<1e-6&&(P=1e-6);var S=(M+=t.no*v)+p+g,E=P,R=I,T=p%=s,C=g%=s,D=M=((S%=s)-p-g)%s,N=Math.sin(I),_=Math.cos(I);if("d"===t.method){var A={inclo:t.inclo,init:"n",ep:E,inclp:R,nodep:C,argpp:T,mp:D,opsmode:t.operationmode},U=o.dpper(t,A);if(E=U.ep,C=U.nodep,T=U.argpp,D=U.mp,(R=U.inclp)<0&&(R=-R,C+=a,T-=a),E<0||E>1)return t.error=3,{position:!1,velocity:!1}}"d"===t.method&&(N=Math.sin(R),_=Math.cos(R),t.aycof=-.5*i*N,Math.abs(_+1)>15e-13?t.xlcof=-.25*i*N*(3+5*_)/(1+_):t.xlcof=-.25*i*N*(3+5*_)/l);for(var V,B,G=E*Math.cos(T),H=1/(O*(1-E*E)),J=E*Math.sin(T)+H*t.aycof,K=(D+T+C+H*t.xlcof*G-C)%s,Q=K,W=9999.9,X=1;Math.abs(W)>=1e-12&&X<=10;)V=Math.sin(Q),W=(K-J*(B=Math.cos(Q))+G*V-Q)/(W=1-B*G-V*J),Math.abs(W)>=.95&&(W=W>0?.95:-.95),Q+=W,X+=1;var Y=G*B+J*V,Z=G*V-J*B,$=G*G+J*J,oo=O*(1-$);if(oo<0)return t.error=4,{position:!1,velocity:!1};var to=O*(1-Y),no=Math.sqrt(O)*Z/to,ao=Math.sqrt(oo)/to,so=Math.sqrt(1-$),eo=O/to*(V-J-G*(H=Z/(1+so))),ro=O/to*(B-G+J*H),lo=Math.atan2(eo,ro),io=(ro+ro)*eo,co=1-2*eo*eo,ho=.5*d*(H=1/oo),uo=ho*H;if("d"===t.method){var mo=_*_;t.con41=3*mo-1,t.x1mth2=1-mo,t.x7thm1=7*mo-1}var po=to*(1-1.5*uo*so*t.con41)+.5*ho*t.x1mth2*co;if(po<1)return t.error=6,{position:!1,velocity:!1};lo-=.25*uo*t.x7thm1*io;var Mo=C+1.5*uo*_*io,xo=R+1.5*uo*_*N*co,go=no-k*ho*t.x1mth2*io/e,fo=ao+k*ho*(t.x1mth2*co+1.5*t.con41)/e,zo=Math.sin(lo),vo=Math.cos(lo),yo=Math.sin(Mo),bo=Math.cos(Mo),jo=Math.sin(xo),wo=Math.cos(xo),qo=-yo*wo,ko=bo*wo,Po=qo*zo+bo*vo,Io=ko*zo+yo*vo,Fo=jo*zo,Lo=qo*vo-bo*zo,Oo=ko*vo-yo*zo,So=jo*vo;return{position:{x:po*Po*t.radiusearthkm,y:po*Io*t.radiusearthkm,z:po*Fo*t.radiusearthkm},velocity:{x:(go*Po+fo*Lo)*c,y:(go*Io+fo*Oo)*c,z:(go*Fo+fo*So)*c}}},o.getgravconst=function(o){var t,n,a,s,e,r,l,d;switch(o){case"wgs72old":n=398600.79964,a=6378.135,t=1/(s=.0743669161),l=-165597e-11,d=(r=-253881e-11)/(e=.001082616);break;case"wgs72":n=398600.8,a=6378.135,t=1/(s=60/Math.sqrt(a*a*a/n)),l=-165597e-11,d=(r=-253881e-11)/(e=.001082616);break;case"wgs84":n=398600.5,a=6378.137,t=1/(s=60/Math.sqrt(a*a*a/n)),l=-161098761e-14,d=(r=-253215306e-14)/(e=.00108262998905);break;default:throw new Error("unknown gravity option ".concat(o))}return{tumin:t,mus:n,radiusearthkm:a,xke:s,j2:e,j3:r,j4:l,j3oj2:d}},o.createSatrec=function(t,n,s,r){void 0===s&&(s="wgs72"),void 0===r&&(r="i");var l,d={a:null,am:null,alta:null,altp:null,argpdot:null,argpo:null,aycof:null,bstar:null,cc1:null,cc4:null,cc5:null,con41:null,d2:null,d3:null,d4:null,d5232:null,d5421:null,d5433:null,dedt:null,delmo:null,del1:null,ecco:null,em:null,epochdays:null,epochyr:null,error:null,eta:null,gsto:null,im:null,inclo:null,init:null,isimp:null,jdsatepoch:null,mdot:null,method:null,mo:null,mm:null,nddot:null,ndot:null,no:null,nodecf:null,nodedot:null,nodeo:null,om:null,Om:null,omgcof:null,operationmode:null,satnum:null,sinmao:null,t:null,t2cof:null,t3cof:null,t4cof:null,t5cof:null,x1mth2:null,x7thm1:null,xlcof:null,xmcof:null,xfact:null,xlamo:null,xli:null,xgh4:null,xgh3:null,xh2:null,xi2:null,xi3:null,xl2:null,xl3:null,xl4:null,zmol:null,zmos:null,dmdt:null,dnodt:null,domdt:null,e3:null,ee2:null,peo:null,pgho:null,pho:null,PInco:null,plo:null,se2:null,se3:null,sgh2:null,sgh3:null,sgh4:null,sh2:null,sh3:null,si2:null,si3:null,sl2:null,sl3:null,sl4:null,xgh2:null,xh3:null,tumin:null,radiusearthkm:null,irez:null,d3210:null,d3222:null,d4410:null,d4422:null,d5220:null,del2:null,del3:null,didt:null,atime:null,j2:null,j3:null,j4:null,mus:null,xke:null,j3oj2:null,xni:null,d2201:null,d2211:null,nm:null},i=1440/(2*a);d.error=0,d.satnum=t.substring(2,7),d.epochyr=parseInt(t.substring(18,20)),d.epochdays=parseFloat(t.substring(20,32)),d.ndot=parseFloat(t.substring(33,43)),d.nddot=parseFloat("".concat(t.substring(44,45),".").concat(t.substring(45,50),"E").concat(t.substring(50,52))),d.bstar=parseFloat("".concat(t.substring(53,54),".").concat(t.substring(54,59),"E").concat(t.substring(59,61))),d.inclo=parseFloat(n.substring(8,16)),d.nodeo=parseFloat(n.substring(17,25)),d.ecco=parseFloat(".".concat(n.substring(26,33))),d.argpo=parseFloat(n.substring(34,42)),d.mo=parseFloat(n.substring(43,51)),d.no=parseFloat(n.substring(52,63)),d.no/=i,d.inclo*=e,d.nodeo*=e,d.argpo*=e,d.mo*=e,l=d.epochyr<57?d.epochyr+2e3:d.epochyr+1900;var c=o.days2mdhms(l,d.epochdays),h=c.mon,u=c.day,m=c.hr,p=c.minute,M=c.sec,x=o.jday(l,h,u,m,p,M);return d.jdsatepoch=x.jd+x.jdFrac,o.sgp4init(d,{whichconst:s,opsmode:r,satn:d.satnum,epoch:d.jdsatepoch-2433281.5,xbstar:d.bstar,xecco:d.ecco,xargpo:d.argpo,xinclo:d.inclo,xndot:d.ndot,xnddot:d.nddot,xmo:d.mo,xno:d.no,xnodeo:d.nodeo}),d},o.gstime=function(o){var t=(o-2451545)/36525,n=-62e-7*t*t*t+.093104*t*t+3164400184.812866*t+67310.54841;return(n=n*e/240%s)<0&&(n+=s),n},o.sgn=function(o){return o<0?-1:1},o.mag=function(o){return Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2])},o.cross=function(o,t){var n=[0,0,0];return n[0]=o[1]*t[2]-o[2]*t[1],n[1]=o[2]*t[0]-o[0]*t[2],n[2]=o[0]*t[1]-o[1]*t[0],n},o.dot=function(o,t){return o[0]*t[0]+o[1]*t[1]+o[2]*t[2]},o.angle=function(t,n){var a=o.mag(t),s=o.mag(n);if(a*s>1e-8*1e-8){var e=o.dot(t,n)/(a*s);return Math.abs(e)>1&&(e=1*o.sgn(e)),Math.acos(e)}return 999999.1},o.asinh=function(o){return Math.log(o+Math.sqrt(o*o+1))},o.newtonnu=function(t,n){var s=999999.9,e=999999.9,r=1e-8;if(Math.abs(t)<r)e=n,s=n;else if(t<1-r){var l=Math.sqrt(1-t*t)*Math.sin(n)/(1+t*Math.cos(n)),d=(t+Math.cos(n))/(1+t*Math.cos(n));e=(s=Math.atan2(l,d))-t*Math.sin(s)}else t>1+r?t>1&&Math.abs(n)+1e-5<a-Math.acos(1/t)&&(l=Math.sqrt(t*t-1)*Math.sin(n)/(1+t*Math.cos(n)),s=o.asinh(l),e=t*o.sinh(s)-s):Math.abs(n)<168*a/180&&(e=(s=Math.tan(.5*n))+s*s*s/3);return t<1&&((e%=2*a)<0&&(e+=2*a),s%=2*a),{e0:s,m:e}},o.sinh=function(o){return(Math.exp(o)-Math.exp(-o))/2},o.rv2coe=function(t,n,e){var r,l,d,i,c,h,u,m,p,M,x,g,f,z,v,y,b,j=[0,0,0],w=[0,0,0],q=.5*a,k=1e-8,P=999999.1,I=o.mag(t),F=o.mag(n),L=o.cross(t,n),O=o.mag(L);if(O>k){j[0]=-L[1],j[1]=L[0],j[2]=0,f=o.mag(j);var S=F*F-e/I;for(g=o.dot(t,n),y=0;y<=2;y++)w[y]=(S*t[y]-g*n[y])/e;if(d=o.mag(w),v=F*F*.5-e/I,l=Math.abs(v)>k?-e/(2*v):999999.9,r=O*O/e,z=L[2]/O,i=Math.acos(z),b=1,d<k?b=i<k||Math.abs(i-a)<k?2:3:(i<k||Math.abs(i-a)<k)&&(b=4),f>k){var E=j[0]/f;Math.abs(E)>1&&(E=o.sgn(E)),c=Math.acos(E),j[1]<0&&(c=s-c)}else c=P;1==b?(h=o.angle(j,w),w[2]<0&&(h=s-h)):h=P,1==b||4==b?(u=o.angle(w,t),g<0&&(u=s-u)):u=P,3==b?(p=o.angle(j,t),t[2]<0&&(p=s-p),m=p):p=P,d>k&&4==b?(E=w[0]/d,Math.abs(E)>1&&(E=o.sgn(E)),x=Math.acos(E),w[1]<0&&(x=s-x),i>q&&(x=s-x)):x=P,I>k&&2==b?(E=t[0]/I,Math.abs(E)>1&&(E=o.sgn(E)),M=Math.acos(E),t[1]<0&&(M=s-M),i>q&&(M=s-M),m=M):M=P,1!=b&&4!=b||(m=o.newtonnu(d,u).m)}else r=P,l=P,d=P,i=P,c=P,h=P,u=P,m=P,p=P,M=P,x=P;return{p:r,a:l,ecc:d,incl:i,omega:c,argp:h,nu:u,m,arglat:p,truelon:M,lonper:x}},o.jday=function(o,t,n,a,s,e){var r=367*o-Math.floor(7*(o+Math.floor((t+9)/12))*.25)+Math.floor(275*t/9)+n+1721013.5,l=(e+60*s+3600*a)/86400;if(Math.abs(l)>1){var d=Math.floor(l);r+=d,l-=d}return{jd:r,jdFrac:l}},o.days2mdhms=function(o,t){for(var n=[31,o%4==0?29:28,31,30,31,30,31,31,30,31,30,31],a=Math.floor(t),s=1,e=0;a>e+n[s-1]&&s<12;)e+=n[s-1],s+=1;var r=s,l=a-e,d=24*(t-a),i=Math.floor(d);d=60*(d-i);var c=Math.floor(d);return{mon:r,day:l,hr:i,minute:c,sec:60*(d-c)}},o.invjday=function(t,n){var a,s;Math.abs(n)>=1&&(t+=Math.floor(n),n-=Math.floor(n));var e=t-Math.floor(t)-.5;Math.abs(e)>1e-8&&(t-=e,n+=e);var r=t-2415019.5,l=r/365.25,d=1900+Math.floor(l);a=Math.floor(.25*(d-1901)),(s=Math.floor(r-(365*(d-1900)+a)))+n<1&&(d-=1,a=Math.floor(.25*(d-1901)),s=Math.floor(r-(365*(d-1900)+a)));var i=o.days2mdhms(d,s+n);return{year:d,mon:i.mon,day:i.day,hr:i.hr,minute:i.minute,sec:i.sec}},o}(),i=function(){function o(){}return o.getDegLat=function(t){if(t<-a/2||t>a/2)throw new RangeError("Latitude radians must be in range [-PI/2; PI/2].");return o.rad2deg(t)},o.getDegLon=function(t){if(t<-a||t>a)throw new RangeError("Longitude radians must be in range [-PI; PI].");return o.rad2deg(t)},o.getRadLat=function(t){if(t<-90||t>90)throw new RangeError("Latitude degrees must be in range [-90; 90].");return o.deg2rad(t)},o.getRadLon=function(t){if(t<-180||t>180)throw new RangeError("Longitude degrees must be in range [-180; 180].");return o.deg2rad(t)},o.rad2deg=function(o){return 180*o/a},o.deg2rad=function(o){return o*a/180},o.ecf2eci=function(o,t){return{x:o.x*Math.cos(t)-o.y*Math.sin(t),y:o.x*Math.sin(t)+o.y*Math.cos(t),z:o.z}},o.ecf2rae=function(t,n){var a=o.lla2sez(t,n);return o.sez2rae(a)},o.eci2lla=function(o,t){for(var n=6378.137,e=Math.sqrt(o.x*o.x+o.y*o.y),r=(n-6356.7523142)/n,l=2*r-r*r,d=Math.atan2(o.y,o.x)-t;d<-a;)d+=s;for(;d>a;)d-=s;for(var i,c=0,h=Math.atan2(o.z,Math.sqrt(o.x*o.x+o.y*o.y));c<20;)i=1/Math.sqrt(1-l*(Math.sin(h)*Math.sin(h))),h=Math.atan2(o.z+n*i*l*Math.sin(h),e),c+=1;return{lon:d,lat:h,alt:e/Math.cos(h)-n*i}},o.eci2ecf=function(o,t){return{x:o.x*Math.cos(t)+o.y*Math.sin(t),y:o.x*-Math.sin(t)+o.y*Math.cos(t),z:o.z}},o.lla2ecf=function(o){var t=o.lon,n=o.lat,a=o.alt,s=6378.137,e=(s-6356.7523142)/s,r=2*e-e*e,l=s/Math.sqrt(1-r*(Math.sin(n)*Math.sin(n)));return{x:(l+a)*Math.cos(n)*Math.cos(t),y:(l+a)*Math.cos(n)*Math.sin(t),z:(l*(1-r)+a)*Math.sin(n)}},o.lla2sez=function(t,n){var a=t.lon,s=t.lat,e=o.lla2ecf(t),r=n.x-e.x,l=n.y-e.y,d=n.z-e.z;return{s:Math.sin(s)*Math.cos(a)*r+Math.sin(s)*Math.sin(a)*l-Math.cos(s)*d,e:-Math.sin(a)*r+Math.cos(a)*l,z:Math.cos(s)*Math.cos(a)*r+Math.cos(s)*Math.sin(a)*l+Math.sin(s)*d}},o.rae2sez=function(o){return{s:-o.rng*Math.cos(o.el)*Math.cos(o.az),e:o.rng*Math.cos(o.el)*Math.sin(o.az),z:o.rng*Math.sin(o.el)}},o.rae2ecf=function(t,n){var a=o.lla2ecf(n),s=o.rae2sez(t),e=Math.sin(n.lat),r=Math.sin(n.lon),l=Math.cos(n.lat),d=Math.cos(n.lon);return{x:e*d*s.s+-r*s.e+l*d*s.z+a.x,y:e*r*s.s+d*s.e+l*r*s.z+a.y,z:-l*s.s+e*s.z+a.z}},o.sez2rae=function(o){var t=Math.sqrt(o.s*o.s+o.e*o.e+o.z*o.z),n=Math.asin(o.z/t);return{rng:t,az:Math.atan2(-o.e,o.s)+a,el:n}},o}(),c=function(){function o(){}return o.distance=function(o,t){return Math.sqrt(Math.pow(o.x-t.x,2)+Math.pow(o.y-t.y,2)+Math.pow(o.z-t.z,2))},o.dopplerFactor=function(t,n,a){var s=7292115e-11,e={x:n.x-t.x,y:n.y-t.y,z:n.z-t.z},r=Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2)+Math.pow(e.z,2)),l=a.x+s*t.y,d=a.y-s*t.x,i=a.z,c=(e.x*l+e.y*d+e.z*i)/r;return 1+c/299792.458*o.sign(c)},o.createVec=function(o,t,n){for(var a=[],s=o;s<=t;s+=n)a.push(s);return a},o.sign=function(o){return o>=0?1:-1},o}()}},t={};function n(a){if(t[a])return t[a].exports;var s=t[a]={exports:{}};return o[a](s,s.exports,n),s.exports}return n.d=(o,t)=>{for(var a in t)n.o(t,a)&&!n.o(o,a)&&Object.defineProperty(o,a,{enumerable:!0,get:t[a]})},n.o=(o,t)=>Object.prototype.hasOwnProperty.call(o,t),n.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},n(407)})()}));
1
+ /*! For license information please see ootk.js.LICENSE.txt */
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Ootk=e():t.Ootk=e()}(this,(function(){return(()=>{"use strict";var t={636:(t,e,n)=>{n.r(e),n.d(e,{DetailedSat:()=>R,Sat:()=>D,Sensor:()=>O,Sgp4:()=>d,SpaceObjectType:()=>o,Star:()=>_,Tle:()=>x,Transforms:()=>m,Utils:()=>v});var a={};n.r(a),n.d(a,{SpaceObjectType:()=>o});var o,r=Math.PI,s=2*r,i=r/180,c=2/3,l=15e-13,u=864e5,h=1.15741e-8,d=function(){function t(){}return t.dpper=function(t,e){var n=t.e3,a=t.ee2,o=t.peo,i=t.pgho,c=t.pho,l=t.PInco,u=t.plo,h=t.se2,d=t.se3,m=t.sgh2,p=t.sgh3,f=t.sgh4,g=t.sh2,M=t.sh3,v=t.si2,w=t.si3,y=t.sl2,x=t.sl3,A=t.sl4,b=t.t,T=t.xgh2,N=t.xgh3,D=t.xgh4,E=t.xh2,R=t.xh3,I=t.xi2,O=t.xi3,z=t.xl2,_=t.xl3,C=t.xl4,S=t.zmol,L=t.zmos,P=e.ep,j=e.inclp,U=e.nodep,Y=e.argpp,F=e.mp,k=e.opsmode,q=void 0===k?"i":k,H=e.init,B=L+119459e-10*b;"y"===H&&(B=L);var V=B+.0335*Math.sin(B),G=Math.sin(V),J=.5*G*G-.25,K=-.5*G*Math.cos(V),W=h*J+d*K,Q=v*J+w*K,Z=y*J+x*K+A*G,X=m*J+p*K+f*G,$=g*J+M*K;B=S+.00015835218*b,"y"===H&&(B=S),V=B+.1098*Math.sin(B);var tt=W+(a*(J=.5*(G=Math.sin(V))*G-.25)+n*(K=-.5*G*Math.cos(V))),et=Q+(I*J+O*K),nt=Z+(z*J+_*K+C*G),at=X+(T*J+N*K+D*G),ot=$+(E*J+R*K);if("n"===H){nt-=u,at-=i,ot-=c,j+=et-=l,P+=tt-=o;var rt=Math.sin(j),st=Math.cos(j);if(j>=.2)Y+=at-=st*(ot/=rt),U+=ot,F+=nt;else{var it=Math.sin(U),ct=Math.cos(U),lt=rt*it,ut=rt*ct;lt+=ot*ct+et*st*it,ut+=-ot*it+et*st*ct,(U%=s)<0&&"a"===q&&(U+=s);var ht=F+Y+st*U;ht+=nt+at-et*U*rt;var dt=U;(U=Math.atan2(lt,ut))<0&&"a"===q&&(U+=s),Math.abs(dt-U)>r&&(U<dt?U+=s:U-=s),Y=ht-(F+=nt)-st*U}}return{ep:P,inclp:j,nodep:U,argpp:Y,mp:F}},t.dscom=function(t){var e,n,a,o,r,s,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b,T,N,D,E,R,I,O,z,_,C,S,L,P,j,U,Y=t.epoch,F=t.ep,k=t.argpp,q=t.tc,H=t.inclp,B=t.nodep,V=t.np,G=.01675,J=.0549,K=2*Math.PI,W=V,Q=F,Z=Math.sin(B),X=Math.cos(B),$=Math.sin(k),tt=Math.cos(k),et=Math.sin(H),nt=Math.cos(H),at=Q*Q,ot=1-at,rt=Math.sqrt(ot),st=Y+18261.5+q/1440,it=(4.523602-.00092422029*st)%K,ct=Math.sin(it),lt=Math.cos(it),ut=.91375164-.03568096*lt,ht=Math.sqrt(1-ut*ut),dt=.089683511*ct/ht,mt=Math.sqrt(1-dt*dt),pt=5.8351514+.001944368*st,ft=.39785416*ct/ht,gt=mt*lt+.91744867*dt*ct;ft=Math.atan2(ft,gt),ft+=pt-it;for(var Mt=Math.cos(ft),vt=Math.sin(ft),wt=.1945905,yt=-.98088458,xt=.91744867,At=.39785416,bt=X,Tt=Z,Nt=29864797e-13,Dt=1/W,Et=1;Et<=2;Et++){var Rt=wt*bt+yt*xt*Tt,It=-yt*bt+wt*xt*Tt,Ot=-wt*Tt+yt*xt*bt,zt=yt*At,_t=yt*Tt+wt*xt*bt,Ct=wt*At,St=nt*Ot+et*zt,Lt=nt*_t+et*Ct,Pt=-et*Ot+nt*zt,jt=-et*_t+nt*Ct,Ut=Rt*tt+St*$,Yt=It*tt+Lt*$,Ft=-Rt*$+St*tt,kt=-It*$+Lt*tt,qt=Pt*$,Ht=jt*$,Bt=Pt*tt,Vt=jt*tt;R=-6*Rt*Pt+at*(-24*Ut*Bt-6*Ft*qt),I=-6*(Rt*jt+It*Pt)+at*(-24*(Yt*Bt+Ut*Vt)+-6*(Ft*Ht+kt*qt)),O=-6*It*jt+at*(-24*Yt*Vt-6*kt*Ht),_=6*St*Pt+at*(24*Ut*qt-6*Ft*Bt),C=6*(Lt*Pt+St*jt)+at*(24*(Yt*qt+Ut*Ht)-6*(kt*Bt+Ft*Vt)),S=6*Lt*jt+at*(24*Yt*Ht-6*kt*Vt),E=(E=3*(Rt*Rt+St*St)+(P=12*Ut*Ut-3*Ft*Ft)*at)+E+ot*P,z=(z=6*(Rt*It+St*Lt)+(j=24*Ut*Yt-6*Ft*kt)*at)+z+ot*j,L=(L=3*(It*It+Lt*Lt)+(U=12*Yt*Yt-3*kt*kt)*at)+L+ot*U,n=-.5*(a=Nt*Dt)/rt,e=-15*Q*(o=a*rt),r=Ut*Ft+Yt*kt,s=Yt*Ft+Ut*kt,i=Yt*kt-Ut*Ft,1===Et&&(c=e,l=n,u=a,h=o,d=r,m=s,p=i,f=E,w=z,b=L,g=R,M=I,v=O,y=_,x=C,A=S,T=P,N=j,D=U,wt=Mt,yt=vt,xt=ut,At=ht,bt=mt*X+dt*Z,Tt=Z*mt-X*dt,Nt=4.7968065e-7)}return{snodm:Z,cnodm:X,sinim:et,cosim:nt,sinomm:$,cosomm:tt,day:st,e3:2*e*i,ee2:2*e*s,em:Q,emsq:at,gam:pt,peo:0,pgho:0,pho:0,PInco:0,plo:0,rtemsq:rt,se2:2*c*m,se3:2*c*p,sgh2:2*h*N,sgh3:2*h*(D-T),sgh4:-18*h*G,sh2:-2*l*x,sh3:-2*l*(A-y),si2:2*l*M,si3:2*l*(v-g),sl2:-2*u*w,sl3:-2*u*(b-f),sl4:-2*u*(-21-9*at)*G,s1:e,s2:n,s3:a,s4:o,s5:r,s6:s,s7:i,ss1:c,ss2:l,ss3:u,ss4:h,ss5:d,ss6:m,ss7:p,sz1:f,sz2:w,sz3:b,sz11:g,sz12:M,sz13:v,sz21:y,sz22:x,sz23:A,sz31:T,sz32:N,sz33:D,xgh2:2*o*j,xgh3:2*o*(U-P),xgh4:-18*o*J,xh2:-2*n*C,xh3:-2*n*(S-_),xi2:2*n*I,xi3:2*n*(O-R),xl2:-2*a*z,xl3:-2*a*(L-E),xl4:-2*a*(-21-9*at)*J,nm:W,z1:E,z2:z,z3:L,z11:R,z12:I,z13:O,z21:_,z22:C,z23:S,z31:P,z32:j,z33:U,zmol:(.2299715*st-pt+4.7199672)%K,zmos:(6.2565837+.017201977*st)%K}},t.dsinit=function(t){var e=t.xke,n=t.cosim,a=t.argpo,o=t.s1,i=t.s2,c=t.s3,l=t.s4,u=t.s5,h=t.sinim,d=t.ss1,m=t.ss2,p=t.ss3,f=t.ss4,g=t.ss5,M=t.sz1,v=t.sz3,w=t.sz11,y=t.sz13,x=t.sz21,A=t.sz23,b=t.sz31,T=t.sz33,N=t.t,D=t.tc,E=t.gsto,R=t.mo,I=t.mdot,O=t.no,z=t.nodeo,_=t.nodedot,C=t.xPIdot,S=t.z1,L=t.z3,P=t.z11,j=t.z13,U=t.z21,Y=t.z23,F=t.z31,k=t.z33,q=t.ecco,H=t.eccsq,B=t.emsq,V=t.em,G=t.argpm,J=t.inclm,K=t.mm,W=t.nm,Q=t.nodem,Z=t.irez,X=t.atime,$=t.d2201,tt=t.d2211,et=t.d3210,nt=t.d3222,at=t.d4410,ot=t.d4422,rt=t.d5220,st=t.d5232,it=t.d5421,ct=t.d5433,lt=t.dedt,ut=t.didt,ht=t.dmdt,dt=t.dnodt,mt=t.domdt,pt=t.del1,ft=t.del2,gt=t.del3,Mt=t.xfact,vt=t.xlamo,wt=t.xli,yt=t.xni,xt=.0043752690880113,At=.00015835218,bt=119459e-10;Z=0,W<.0052359877&&W>.0034906585&&(Z=1),W>=.00826&&W<=.00924&&V>=.5&&(Z=2);var Tt=-bt*m*(x+A);(J<.052359877||J>r-.052359877)&&(Tt=0),0!==h&&(Tt/=h);var Nt=-At*i*(U+Y);(J<.052359877||J>r-.052359877)&&(Nt=0),mt=f*bt*(b+T-6)-n*Tt+l*At*(F+k-6),dt=Tt,0!==h&&(mt-=n/h*Nt,dt+=Nt/h);var Dt=(E+D*xt)%s;if(V+=(lt=d*bt*g+o*At*u)*N,J+=(ut=m*bt*(w+y)+i*At*(P+j))*N,G+=mt*N,Q+=dt*N,K+=(ht=-bt*p*(M+v-14-6*B)-At*c*(S+L-14-6*B))*N,0!==Z){var Et=Math.pow(W/e,2/3);if(2===Z){var Rt=n*n,It=V,Ot=B,zt=(V=q)*(B=H),_t=void 0,Ct=void 0,St=void 0,Lt=void 0,Pt=void 0,jt=void 0,Ut=void 0,Yt=void 0,Ft=void 0;V<=.65?(_t=3.616-13.247*V+16.29*B,Ct=117.39*V-19.302-228.419*B+156.591*zt,St=109.7927*V-18.9068-214.6334*B+146.5816*zt,Lt=242.694*V-41.122-471.094*B+313.953*zt,Pt=841.88*V-146.407-1629.014*B+1083.435*zt,jt=3017.977*V-532.114-5740.032*B+3708.276*zt):(_t=331.819*V-72.099-508.738*B+266.724*zt,Ct=1582.851*V-346.844-2415.925*B+1246.113*zt,St=1554.908*V-342.585-2366.899*B+1215.972*zt,Lt=4758.686*V-1052.797-7193.992*B+3651.957*zt,Pt=16178.11*V-3581.69-24462.77*B+12422.52*zt,jt=V>.715?29936.92*V-5149.66-54087.36*B+31324.56*zt:1464.74-4664.75*V+3763.64*B),V<.7?(Ft=4988.61*V-919.2277-9064.77*B+5542.21*zt,Ut=4568.6173*V-822.71072-8491.4146*B+5337.524*zt,Yt=4690.25*V-853.666-8624.77*B+5341.4*zt):(Ft=161616.52*V-37995.78-229838.2*B+109377.94*zt,Ut=218913.95*V-51752.104-309468.16*B+146349.42*zt,Yt=170470.89*V-40023.88-242699.48*B+115605.82*zt);var kt=h*h,qt=W*W*3*(Et*Et),Ht=17891679e-13*qt;$=Ht*(Bt=.75*(1+2*n+Rt))*(-.306-.44*(V-.64)),tt=Ht*(1.5*kt)*_t,et=(Ht=3.7393792e-7*(qt*=Et))*(1.875*h*(1-2*n-3*Rt))*Ct,nt=Ht*(-1.875*h*(1+2*n-3*Rt))*St,at=(Ht=2*(qt*=Et)*7.3636953e-9)*(35*kt*Bt)*Lt,ot=Ht*(39.375*kt*kt)*Pt,rt=(Ht=1.1428639e-7*(qt*=Et))*(9.84375*h*(kt*(1-2*n-5*Rt)+.33333333*(4*n-2+6*Rt)))*jt,st=Ht*(h*(4.92187512*kt*(-2-4*n+10*Rt)+6.56250012*(1+2*n-3*Rt)))*Yt,it=(Ht=2*qt*2.1765803e-9)*(29.53125*h*(2-8*n+Rt*(8*n-12+10*Rt)))*Ut,ct=Ht*(29.53125*h*(-2-8*n+Rt*(12+8*n-10*Rt)))*Ft,vt=(R+z+z-(Dt+Dt))%s,Mt=I+ht+2*(_+dt-xt)-O,V=It,B=Ot}if(1===Z){var Bt,Vt=1+n;ft=2*(pt=3*W*W*Et*Et)*(Bt=.75*(1+n)*(1+n))*(1+B*(.8125*B-2.5))*17891679e-13,gt=3*pt*(Vt*=1.875*Vt*Vt)*(1+B*(6.60937*B-6))*2.2123015e-7*Et,pt=pt*(.9375*h*h*(1+3*n)-.75*(1+n))*(Ct=1+2*B)*21460748e-13*Et,vt=(R+z+a-Dt)%s,Mt=I+C+ht+mt+dt-(O+xt)}wt=vt,yt=O,X=0,W=O+0}return{em:V,argpm:G,inclm:J,mm:K,nm:W,nodem:Q,irez:Z,atime:X,d2201:$,d2211:tt,d3210:et,d3222:nt,d4410:at,d4422:ot,d5220:rt,d5232:st,d5421:it,d5433:ct,dedt:lt,didt:ut,dmdt:ht,dndt:0,dnodt:dt,domdt:mt,del1:pt,del2:ft,del3:gt,xfact:Mt,xlamo:vt,xli:wt,xni:yt}},t.dspace=function(t,e,n,a,o,r,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b,T,N,D,E,R,I,O,z,_,C,S,L,P){var j=.13130908,U=2.8843198,Y=.37448087,F=5.7686396,k=.95240898,q=1.8014998,H=1.050833,B=4.4108898,V=259200,G=0,J=(T+.0043752690880113*b)%s;if(I+=d*A,z+=g*A,O+=w*A,L+=v*A,C+=M*A,0!==t){(0===R||A*R<=0||Math.abs(A)<Math.abs(R))&&(R=0,S=E,_=D);var K;K=A>0?720:-720;for(var W=void 0,Q=void 0,Z=void 0,X=void 0,$=void 0,tt=void 0,et=void 0,nt=381;381===nt;)2!==t?(tt=m*Math.sin(_-j)+p*Math.sin(2*(_-U))+f*Math.sin(3*(_-Y)),X=S+N,$=m*Math.cos(_-j)+2*p*Math.cos(2*(_-U))+3*f*Math.cos(3*(_-Y)),$*=X):(Z=(et=y+x*R)+et,Q=_+_,tt=e*Math.sin(Z+_-F)+n*Math.sin(_-F)+a*Math.sin(et+_-k)+o*Math.sin(-et+_-k)+r*Math.sin(Z+Q-q)+i*Math.sin(Q-q)+c*Math.sin(et+_-H)+l*Math.sin(-et+_-H)+u*Math.sin(et+Q-B)+h*Math.sin(-et+Q-B),X=S+N,$=e*Math.cos(Z+_-F)+n*Math.cos(_-F)+a*Math.cos(et+_-k)+o*Math.cos(-et+_-k)+c*Math.cos(et+_-H)+l*Math.cos(-et+_-H)+2*r*Math.cos(Z+Q-q)+i*Math.cos(Q-q)+u*Math.cos(et+Q-B)+h*Math.cos(-et+Q-B),$*=X),Math.abs(A-R)>=720?nt=381:(W=A-R,nt=0),381===nt&&(_+=X*K+tt*V,S+=tt*K+$*V,R+=K);P=S+tt*W+$*W*W*.5;var at=_+X*W+tt*W*W*.5;1!==t?(C=at-2*L+2*J,G=P-E):(C=at-L-O+J,G=P-E),P=E+G}return[I,O,z,C,L,P]},t.initl=function(e){var n=e.opsmode,a=e.ecco,o=e.epoch,r=e.inclo,s=e.xke,i=e.j2,c=e.no,l=2*Math.PI,u=2/3,h=a*a,d=1-h,m=Math.sqrt(d),p=Math.cos(r),f=p*p,g=Math.pow(s/c,u),M=.75*i*(3*f-1)/(m*d),v=M/(g*g),w=g*(1-v*v-v*(1/3+134*v*v/81));c/=1+(v=M/(w*w));var y,x=Math.pow(s/c,u),A=Math.sin(r),b=x*d,T=1-5*f,N=-T-f-f,D=1/x,E=b*b,R=x*(1-a);if("a"===n){var I=o-7305,O=Math.floor(I+1e-8),z=.017202791694070362;(y=(1.7321343856509375+z*O+(z+l)*(I-O)+I*I*5075514194322695e-30)%l)<0&&(y+=l)}else y=t.gstime(o+2433281.5);return{no:c,method:"n",ainv:D,ao:x,con41:N,con42:T,cosio:p,cosio2:f,eccsq:h,omeosq:d,posq:E,rp:R,rteosq:m,sinio:A,gsto:y}},t.sgp4init=function(e,n){var a=n.whichconst,o=void 0===a?"wgs72":a,r=n.opsmode,i=void 0===r?"i":r,u=n.satn,h=void 0===u?e.satnum:u,d=n.epoch,m=n.xbstar,p=n.xecco,f=n.xargpo,g=n.xinclo,M=n.xndot,v=n.xnddot,w=n.xmo,y=n.xno,x=n.xnodeo;e.isimp=0,e.method="n",e.aycof=0,e.con41=0,e.cc1=0,e.cc4=0,e.cc5=0,e.d2=0,e.d3=0,e.d4=0,e.delmo=0,e.eta=0,e.argpdot=0,e.omgcof=0,e.sinmao=0,e.t=0,e.t2cof=0,e.t3cof=0,e.t4cof=0,e.t5cof=0,e.x1mth2=0,e.x7thm1=0,e.mdot=0,e.nodedot=0,e.xlcof=0,e.xmcof=0,e.nodecf=0,e.irez=0,e.d2201=0,e.d2211=0,e.d3210=0,e.d3222=0,e.d4410=0,e.d4422=0,e.d5220=0,e.d5232=0,e.d5421=0,e.d5433=0,e.dedt=0,e.del1=0,e.del2=0,e.del3=0,e.didt=0,e.dmdt=0,e.dnodt=0,e.domdt=0,e.e3=0,e.ee2=0,e.peo=0,e.pgho=0,e.pho=0,e.PInco=0,e.plo=0,e.se2=0,e.se3=0,e.sgh2=0,e.sgh3=0,e.sgh4=0,e.sh2=0,e.sh3=0,e.si2=0,e.si3=0,e.sl2=0,e.sl3=0,e.sl4=0,e.gsto=0,e.xfact=0,e.xgh2=0,e.xgh3=0,e.xgh4=0,e.xh2=0,e.xh3=0,e.xi2=0,e.xi3=0,e.xl2=0,e.xl3=0,e.xl4=0,e.xlamo=0,e.zmol=0,e.zmos=0,e.atime=0,e.xli=0,e.xni=0;var A=t.getgravconst(o);e.tumin=A.tumin,e.mus=A.mus,e.radiusearthkm=A.radiusearthkm,e.xke=A.xke,e.j2=A.j2,e.j3=A.j3,e.j4=A.j4,e.j3oj2=A.j3oj2;var b=A.j2,T=A.j4,N=A.xke,D=A.j3oj2;e.error=0,e.operationmode=i;var E=h.split("")[0].toLowerCase();isNaN(parseInt(E))?e.satnum=parseInt(E.charCodeAt(0)-96+9+e.satnum.slice(1,5)).toString():e.satnum=h,e.bstar=m,e.ndot=M,e.nddot=v,e.ecco=p,e.argpo=f,e.inclo=g,e.mo=w,e.no=y,e.nodeo=x;var R=78/e.radiusearthkm+1,I=42/e.radiusearthkm,O=I*I*I*I;e.init="y",e.t=0;var z={ecco:e.ecco,epoch:d,inclo:e.inclo,no:e.no,method:e.method,opsmode:e.operationmode,xke:e.xke,j2:e.j2},_=t.initl(z),C=_.ao,S=_.con42,L=_.cosio,P=_.cosio2,j=_.eccsq,U=_.omeosq,Y=_.posq,F=_.rp,k=_.rteosq,q=_.sinio;if(e.no=_.no,e.con41=_.con41,e.gsto=_.gsto,e.a=Math.pow(e.no*e.tumin,-2/3),e.alta=e.a*(1+e.ecco)-1,e.altp=e.a*(1-e.ecco)-1,e.error=0,U>=0||e.no>=0){e.isimp=0,F<220/e.radiusearthkm+1&&(e.isimp=1);var H=R,B=O,V=(F-1)*e.radiusearthkm;if(V<156){H=V-78,V<98&&(H=20);var G=(120-H)/e.radiusearthkm;B=G*G*G*G,H=H/e.radiusearthkm+1}var J=1/Y,K=1/(C-H);e.eta=C*e.ecco*K;var W=e.eta*e.eta,Q=e.ecco*e.eta,Z=Math.abs(1-W),X=B*Math.pow(K,4),$=X/Math.pow(Z,3.5),tt=$*e.no*(C*(1+1.5*W+Q*(4+W))+.375*b*K/Z*e.con41*(8+3*W*(8+W)));e.cc1=e.bstar*tt;var et=0;e.ecco>1e-4&&(et=-2*X*K*D*e.no*q/e.ecco),e.x1mth2=1-P,e.cc4=2*e.no*$*C*U*(e.eta*(2+.5*W)+e.ecco*(.5+2*W)-b*K/(C*Z)*(-3*e.con41*(1-2*Q+W*(1.5-.5*Q))+.75*e.x1mth2*(2*W-Q*(1+W))*Math.cos(2*e.argpo))),e.cc5=2*$*C*U*(1+2.75*(W+Q)+Q*W);var nt=P*P,at=1.5*b*J*e.no,ot=.5*at*b*J,rt=-.46875*T*J*J*e.no;e.mdot=e.no+.5*at*k*e.con41+.0625*ot*k*(13-78*P+137*nt),e.argpdot=-.5*at*S+.0625*ot*(7-114*P+395*nt)+rt*(3-36*P+49*nt);var st=-at*L;e.nodedot=st+(.5*ot*(4-19*P)+2*rt*(3-7*P))*L;var it=e.argpdot+e.nodedot;e.omgcof=e.bstar*et*Math.cos(e.argpo),e.xmcof=0,e.ecco>1e-4&&(e.xmcof=-c*X*e.bstar/Q),e.nodecf=3.5*U*st*e.cc1,e.t2cof=1.5*e.cc1,Math.abs(L+1)>15e-13?e.xlcof=-.25*D*q*(3+5*L)/(1+L):e.xlcof=-.25*D*q*(3+5*L)/l,e.aycof=-.5*D*q;var ct=1+e.eta*Math.cos(e.mo);if(e.delmo=ct*ct*ct,e.sinmao=Math.sin(e.mo),e.x7thm1=7*P-1,s/e.no>=225){e.method="d",e.isimp=1;var lt=e.inclo,ut={epoch:d,ep:e.ecco,argpp:e.argpo,tc:0,inclp:e.inclo,nodep:e.nodeo,np:e.no,e3:e.e3,ee2:e.ee2,peo:e.peo,pgho:e.pgho,pho:e.pho,PInco:e.PInco,plo:e.plo,se2:e.se2,se3:e.se3,sgh2:e.sgh2,sgh3:e.sgh3,sgh4:e.sgh4,sh2:e.sh2,sh3:e.sh3,si2:e.si2,si3:e.si3,sl2:e.sl2,sl3:e.sl3,sl4:e.sl4,xgh2:e.xgh2,xgh3:e.xgh3,xgh4:e.xgh4,xh2:e.xh2,xh3:e.xh3,xi2:e.xi2,xi3:e.xi3,xl2:e.xl2,xl3:e.xl3,xl4:e.xl4,zmol:e.zmol,zmos:e.zmos},ht=t.dscom(ut);e.e3=ht.e3,e.ee2=ht.ee2,e.peo=ht.peo,e.pgho=ht.pgho,e.pho=ht.pho,e.PInco=ht.PInco,e.plo=ht.plo,e.se2=ht.se2,e.se3=ht.se3,e.sgh2=ht.sgh2,e.sgh3=ht.sgh3,e.sgh4=ht.sgh4,e.sh2=ht.sh2,e.sh3=ht.sh3,e.si2=ht.si2,e.si3=ht.si3,e.sl2=ht.sl2,e.sl3=ht.sl3,e.sl4=ht.sl4;var dt=ht.sinim,mt=ht.cosim,pt=ht.em,ft=ht.emsq,gt=ht.s1,Mt=ht.s2,vt=ht.s3,wt=ht.s4,yt=ht.s5,xt=ht.ss1,At=ht.ss2,bt=ht.ss3,Tt=ht.ss4,Nt=ht.ss5,Dt=ht.sz1,Et=ht.sz3,Rt=ht.sz11,It=ht.sz13,Ot=ht.sz21,zt=ht.sz23,_t=ht.sz31,Ct=ht.sz33;e.xgh2=ht.xgh2,e.xgh3=ht.xgh3,e.xgh4=ht.xgh4,e.xh2=ht.xh2,e.xh3=ht.xh3,e.xi2=ht.xi2,e.xi3=ht.xi3,e.xl2=ht.xl2,e.xl3=ht.xl3,e.xl4=ht.xl4,e.zmol=ht.zmol,e.zmos=ht.zmos;var St=ht.nm,Lt=ht.z1,Pt=ht.z3,jt=ht.z11,Ut=ht.z13,Yt=ht.z21,Ft=ht.z23,kt=ht.z31,qt=ht.z33,Ht={inclo:lt,init:e.init,ep:e.ecco,inclp:e.inclo,nodep:e.nodeo,argpp:e.argpo,mp:e.mo,opsmode:e.operationmode},Bt=t.dpper(e,Ht);e.ecco=Bt.ep,e.inclo=Bt.inclp,e.nodeo=Bt.nodep,e.argpo=Bt.argpp,e.mo=Bt.mp;var Vt={xke:N,cosim:mt,emsq:ft,argpo:e.argpo,s1:gt,s2:Mt,s3:vt,s4:wt,s5:yt,sinim:dt,ss1:xt,ss2:At,ss3:bt,ss4:Tt,ss5:Nt,sz1:Dt,sz3:Et,sz11:Rt,sz13:It,sz21:Ot,sz23:zt,sz31:_t,sz33:Ct,t:e.t,tc:0,gsto:e.gsto,mo:e.mo,mdot:e.mdot,no:e.no,nodeo:e.nodeo,nodedot:e.nodedot,xPIdot:it,z1:Lt,z3:Pt,z11:jt,z13:Ut,z21:Yt,z23:Ft,z31:kt,z33:qt,ecco:e.ecco,eccsq:j,em:pt,argpm:0,inclm:lt,mm:0,nm:St,nodem:0,irez:e.irez,atime:e.atime,d2201:e.d2201,d2211:e.d2211,d3210:e.d3210,d3222:e.d3222,d4410:e.d4410,d4422:e.d4422,d5220:e.d5220,d5232:e.d5232,d5421:e.d5421,d5433:e.d5433,dedt:e.dedt,didt:e.didt,dmdt:e.dmdt,dnodt:e.dnodt,domdt:e.domdt,del1:e.del1,del2:e.del2,del3:e.del3,xfact:e.xfact,xlamo:e.xlamo,xli:e.xli,xni:e.xni},Gt=t.dsinit(Vt);e.irez=Gt.irez,e.atime=Gt.atime,e.d2201=Gt.d2201,e.d2211=Gt.d2211,e.d3210=Gt.d3210,e.d3222=Gt.d3222,e.d4410=Gt.d4410,e.d4422=Gt.d4422,e.d5220=Gt.d5220,e.d5232=Gt.d5232,e.d5421=Gt.d5421,e.d5433=Gt.d5433,e.dedt=Gt.dedt,e.didt=Gt.didt,e.dmdt=Gt.dmdt,e.dnodt=Gt.dnodt,e.domdt=Gt.domdt,e.del1=Gt.del1,e.del2=Gt.del2,e.del3=Gt.del3,e.xfact=Gt.xfact,e.xlamo=Gt.xlamo,e.xli=Gt.xli,e.xni=Gt.xni}if(1!==e.isimp){var Jt=e.cc1*e.cc1;e.d2=4*C*K*Jt;var Kt=e.d2*K*e.cc1/3;e.d3=(17*C+H)*Kt,e.d4=.5*Kt*C*K*(221*C+31*H)*e.cc1,e.t3cof=e.d2+2*Jt,e.t4cof=.25*(3*e.d3+e.cc1*(12*e.d2+10*Jt)),e.t5cof=.2*(3*e.d4+12*e.cc1*e.d3+6*e.d2*e.d2+15*Jt*(2*e.d2+Jt))}}t.propagate(e,0),e.init="n"},t.propagate=function(e,n){var a=e.xke,o=e.j2,i=e.j3oj2,u=e.radiusearthkm*e.xke/60;e.t=n,e.error=0;var h=e.mo+e.mdot*e.t,d=e.argpo+e.argpdot*e.t,m=e.nodeo+e.nodedot*e.t,p=d,f=h,g=e.t*e.t,M=m+e.nodecf*g,v=1-e.cc1*e.t,w=e.bstar*e.cc4*e.t,y=e.t2cof*g;if(1!==e.isimp){var x=e.omgcof*e.t,A=1+e.eta*Math.cos(h),b=x+e.xmcof*(A*A*A-e.delmo);f=h+b,p=d-b;var T=g*e.t,N=T*e.t;v=v-e.d2*g-e.d3*T-e.d4*N,w+=e.bstar*e.cc5*(Math.sin(f)-e.sinmao),y=y+e.t3cof*T+N*(e.t4cof+e.t*e.t5cof)}var D=e.no,E=e.ecco,R=e.inclo;if("d"===e.method){var I=e.t,O=t.dspace(e.irez,e.d2201,e.d2211,e.d3210,e.d3222,e.d4410,e.d4422,e.d5220,e.d5232,e.d5421,e.d5433,e.dedt,e.del1,e.del2,e.del3,e.didt,e.dmdt,e.dnodt,e.domdt,e.argpo,e.argpdot,e.t,I,e.gsto,e.xfact,e.xlamo,e.no,e.atime,E,p,R,e.xli,f,e.xni,M,D);E=O[0],p=O[1],R=O[2],f=O[3],M=O[4],D=O[5]}if(D<=0)return e.error=2,{position:!1,velocity:!1};var z=Math.pow(a/D,c)*v*v;if(D=a/Math.pow(z,1.5),(E-=w)>=1||E<-.001)return e.error=1,{position:!1,velocity:!1};E<1e-6&&(E=1e-6);var _=(f+=e.no*y)+p+M,C=E,S=R,L=p%=s,P=M%=s,j=f=((_%=s)-p-M)%s,U=Math.sin(R),Y=Math.cos(R);if("d"===e.method){var F={inclo:e.inclo,init:"n",ep:C,inclp:S,nodep:P,argpp:L,mp:j,opsmode:e.operationmode},k=t.dpper(e,F);if(C=k.ep,P=k.nodep,L=k.argpp,j=k.mp,(S=k.inclp)<0&&(S=-S,P+=r,L-=r),C<0||C>1)return e.error=3,{position:!1,velocity:!1}}"d"===e.method&&(U=Math.sin(S),Y=Math.cos(S),e.aycof=-.5*i*U,Math.abs(Y+1)>15e-13?e.xlcof=-.25*i*U*(3+5*Y)/(1+Y):e.xlcof=-.25*i*U*(3+5*Y)/l);for(var q,H,B=C*Math.cos(L),V=1/(z*(1-C*C)),G=C*Math.sin(L)+V*e.aycof,J=(j+L+P+V*e.xlcof*B-P)%s,K=J,W=9999.9,Q=1;Math.abs(W)>=1e-12&&Q<=10;)H=Math.sin(K),W=(J-G*(q=Math.cos(K))+B*H-K)/(W=1-q*B-H*G),Math.abs(W)>=.95&&(W=W>0?.95:-.95),K+=W,Q+=1;var Z=B*q+G*H,X=B*H-G*q,$=B*B+G*G,tt=z*(1-$);if(tt<0)return e.error=4,{position:!1,velocity:!1};var et=z*(1-Z),nt=Math.sqrt(z)*X/et,at=Math.sqrt(tt)/et,ot=Math.sqrt(1-$),rt=z/et*(H-G-B*(V=X/(1+ot))),st=z/et*(q-B+G*V),it=Math.atan2(rt,st),ct=(st+st)*rt,lt=1-2*rt*rt,ut=.5*o*(V=1/tt),ht=ut*V;if("d"===e.method){var dt=Y*Y;e.con41=3*dt-1,e.x1mth2=1-dt,e.x7thm1=7*dt-1}var mt=et*(1-1.5*ht*ot*e.con41)+.5*ut*e.x1mth2*lt;if(mt<1)return e.error=6,{position:!1,velocity:!1};it-=.25*ht*e.x7thm1*ct;var pt=P+1.5*ht*Y*ct,ft=S+1.5*ht*Y*U*lt,gt=nt-D*ut*e.x1mth2*ct/a,Mt=at+D*ut*(e.x1mth2*lt+1.5*e.con41)/a,vt=Math.sin(it),wt=Math.cos(it),yt=Math.sin(pt),xt=Math.cos(pt),At=Math.sin(ft),bt=Math.cos(ft),Tt=-yt*bt,Nt=xt*bt,Dt=Tt*vt+xt*wt,Et=Nt*vt+yt*wt,Rt=At*vt,It=Tt*wt-xt*vt,Ot=Nt*wt-yt*vt,zt=At*wt;return{position:{x:mt*Dt*e.radiusearthkm,y:mt*Et*e.radiusearthkm,z:mt*Rt*e.radiusearthkm},velocity:{x:(gt*Dt+Mt*It)*u,y:(gt*Et+Mt*Ot)*u,z:(gt*Rt+Mt*zt)*u}}},t.getgravconst=function(t){var e,n,a,o,r,s,i,c;switch(t){case"wgs72old":r=398600.79964,s=6378.135,i=1/(c=.0743669161),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs72":r=398600.8,s=6378.135,i=1/(c=60/Math.sqrt(s*s*s/r)),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs84":r=398600.5,s=6378.137,i=1/(c=60/Math.sqrt(s*s*s/r)),o=-161098761e-14,a=(n=-253215306e-14)/(e=.00108262998905);break;default:throw new Error("unknown gravity option ".concat(t))}return{tumin:i,mus:r,radiusearthkm:s,xke:c,j2:e,j3:n,j4:o,j3oj2:a}},t.createSatrec=function(e,n,a,o){void 0===a&&(a="wgs72"),void 0===o&&(o="i");var s,c={a:null,am:null,alta:null,altp:null,argpdot:null,argpo:null,aycof:null,bstar:null,cc1:null,cc4:null,cc5:null,con41:null,d2:null,d3:null,d4:null,d5232:null,d5421:null,d5433:null,dedt:null,delmo:null,del1:null,ecco:null,em:null,epochdays:null,epochyr:null,error:null,eta:null,gsto:null,im:null,inclo:null,init:null,isimp:null,jdsatepoch:null,mdot:null,method:null,mo:null,mm:null,nddot:null,ndot:null,no:null,nodecf:null,nodedot:null,nodeo:null,om:null,Om:null,omgcof:null,operationmode:null,satnum:null,sinmao:null,t:null,t2cof:null,t3cof:null,t4cof:null,t5cof:null,x1mth2:null,x7thm1:null,xlcof:null,xmcof:null,xfact:null,xlamo:null,xli:null,xgh4:null,xgh3:null,xh2:null,xi2:null,xi3:null,xl2:null,xl3:null,xl4:null,zmol:null,zmos:null,dmdt:null,dnodt:null,domdt:null,e3:null,ee2:null,peo:null,pgho:null,pho:null,PInco:null,plo:null,se2:null,se3:null,sgh2:null,sgh3:null,sgh4:null,sh2:null,sh3:null,si2:null,si3:null,sl2:null,sl3:null,sl4:null,xgh2:null,xh3:null,tumin:null,radiusearthkm:null,irez:null,d3210:null,d3222:null,d4410:null,d4422:null,d5220:null,del2:null,del3:null,didt:null,atime:null,j2:null,j3:null,j4:null,mus:null,xke:null,j3oj2:null,xni:null,d2201:null,d2211:null,nm:null},l=1440/(2*r);c.error=0,c.satnum=e.substring(2,7),c.epochyr=parseInt(e.substring(18,20)),c.epochdays=parseFloat(e.substring(20,32)),c.ndot=parseFloat(e.substring(33,43)),c.nddot=parseFloat("".concat(e.substring(44,45),".").concat(e.substring(45,50),"E").concat(e.substring(50,52))),c.bstar=parseFloat("".concat(e.substring(53,54),".").concat(e.substring(54,59),"E").concat(e.substring(59,61))),c.inclo=parseFloat(n.substring(8,16)),c.nodeo=parseFloat(n.substring(17,25)),c.ecco=parseFloat(".".concat(n.substring(26,33))),c.argpo=parseFloat(n.substring(34,42)),c.mo=parseFloat(n.substring(43,51)),c.no=parseFloat(n.substring(52,63)),c.no/=l,c.inclo*=i,c.nodeo*=i,c.argpo*=i,c.mo*=i,s=c.epochyr<57?c.epochyr+2e3:c.epochyr+1900;var u=t.days2mdhms(s,c.epochdays),h=u.mon,d=u.day,m=u.hr,p=u.min,f=u.sec,g=t.jday(s,h,d,m,p,f);return c.jdsatepoch=g.jd+g.jdFrac,t.sgp4init(c,{whichconst:a,opsmode:o,satn:c.satnum,epoch:c.jdsatepoch-2433281.5,xbstar:c.bstar,xecco:c.ecco,xargpo:c.argpo,xinclo:c.inclo,xndot:c.ndot,xnddot:c.nddot,xmo:c.mo,xno:c.no,xnodeo:c.nodeo}),c},t.gstime=function(t){var e=(t-2451545)/36525,n=-62e-7*e*e*e+.093104*e*e+3164400184.812866*e+67310.54841;return(n=n*i/240%s)<0&&(n+=s),n},t.sgn=function(t){return t<0?-1:1},t.mag=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])},t.cross=function(t,e){var n=[0,0,0];return n[0]=t[1]*e[2]-t[2]*e[1],n[1]=t[2]*e[0]-t[0]*e[2],n[2]=t[0]*e[1]-t[1]*e[0],n},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.angle=function(e,n){var a=t.mag(e),o=t.mag(n);if(a*o>1e-8*1e-8){var r=t.dot(e,n)/(a*o);return Math.abs(r)>1&&(r=Number(t.sgn(r))),Math.acos(r)}return 999999.1},t.asinh=function(t){return Math.log(t+Math.sqrt(t*t+1))},t.newtonnu=function(e,n){var a=999999.9,o=999999.9,s=1e-8;if(Math.abs(e)<s)o=n,a=n;else if(e<1-s){var i=Math.sqrt(1-e*e)*Math.sin(n)/(1+e*Math.cos(n)),c=(e+Math.cos(n))/(1+e*Math.cos(n));o=(a=Math.atan2(i,c))-e*Math.sin(a)}else e>1+s?e>1&&Math.abs(n)+1e-5<r-Math.acos(1/e)&&(i=Math.sqrt(e*e-1)*Math.sin(n)/(1+e*Math.cos(n)),a=t.asinh(i),o=e*t.sinh(a)-a):Math.abs(n)<168*r/180&&(o=(a=Math.tan(.5*n))+a*a*a/3);return e<1&&((o%=2*r)<0&&(o+=2*r),a%=2*r),{e0:a,m:o}},t.sinh=function(t){return(Math.exp(t)-Math.exp(-t))/2},t.rv2coe=function(e,n,a){var o,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b=[0,0,0],T=[0,0,0],N=.5*r,D=1e-8,E=999999.1,R=t.mag(e),I=t.mag(n),O=t.cross(e,n),z=t.mag(O);if(z>D){b[0]=-O[1],b[1]=O[0],b[2]=0,v=t.mag(b);var _=I*I-a/R;for(M=t.dot(e,n),x=0;x<=2;x++)T[x]=(_*e[x]-M*n[x])/a;if(c=t.mag(T),y=I*I*.5-a/R,i=Math.abs(y)>D?-a/(2*y):999999.9,o=z*z/a,w=O[2]/z,l=Math.acos(w),A=1,c<D?A=l<D||Math.abs(l-r)<D?2:3:(l<D||Math.abs(l-r)<D)&&(A=4),v>D){var C=b[0]/v;Math.abs(C)>1&&(C=t.sgn(C)),u=Math.acos(C),b[1]<0&&(u=s-u)}else u=E;1===A?(h=t.angle(b,T),T[2]<0&&(h=s-h)):h=E,1===A||4===A?(d=t.angle(T,e),M<0&&(d=s-d)):d=E,3===A?(p=t.angle(b,e),e[2]<0&&(p=s-p),m=p):p=E,c>D&&4===A?(C=T[0]/c,Math.abs(C)>1&&(C=t.sgn(C)),g=Math.acos(C),T[1]<0&&(g=s-g),l>N&&(g=s-g)):g=E,R>D&&2===A?(C=e[0]/R,Math.abs(C)>1&&(C=t.sgn(C)),f=Math.acos(C),e[1]<0&&(f=s-f),l>N&&(f=s-f),m=f):f=E,1!==A&&4!==A||(m=t.newtonnu(c,d).m)}else o=E,i=E,c=E,l=E,u=E,h=E,d=E,m=E,p=E,f=E,g=E;return{p:o,a:i,ecc:c,incl:l,omega:u,argp:h,nu:d,m,arglat:p,truelon:f,lonper:g}},t.jday=function(t,e,n,a,o,r,s){void 0===e&&(e=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=0),void 0===r&&(r=0),void 0===s&&(s=0),t instanceof Date&&(e=t.getUTCMonth()+1,n=t.getUTCDate(),a=t.getUTCHours(),o=t.getUTCMinutes(),r=t.getUTCSeconds(),s=t.getUTCMilliseconds(),t=t.getUTCFullYear());var i=367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5,c=(s/1e3+r+60*o+3600*a)/86400;if(Math.abs(c)>1){var l=Math.floor(c);i+=l,c-=l}return{jd:i,jdFrac:c}},t.days2mdhms=function(t,e){for(var n=[31,t%4==0?29:28,31,30,31,30,31,31,30,31,30,31],a=Math.floor(e),o=1,r=0;a>r+n[o-1]&&o<12;)r+=n[o-1],o+=1;var s=o,i=a-r,c=24*(e-a),l=Math.floor(c);c=60*(c-l);var u=Math.floor(c);return{mon:s,day:i,hr:l,min:u,sec:60*(c-u)}},t.invjday=function(e,n){var a,o;Math.abs(n)>=1&&(e+=Math.floor(n),n-=Math.floor(n));var r=e-Math.floor(e)-.5;Math.abs(r)>1e-8&&(e-=r,n+=r);var s=e-2415019.5,i=s/365.25,c=1900+Math.floor(i);a=Math.floor(.25*(c-1901)),(o=Math.floor(s-(365*(c-1900)+a)))+n<1&&(c-=1,a=Math.floor(.25*(c-1901)),o=Math.floor(s-(365*(c-1900)+a)));var l=t.days2mdhms(c,o+n);return{year:c,mon:l.mon,day:l.day,hr:l.hr,min:l.min,sec:l.sec}},t}(),m=function(){function t(){}return t.getDegLat=function(e){if(e<-r/2||e>r/2)throw new RangeError("Latitude radians must be in range [-PI/2; PI/2].");return t.rad2deg(e)},t.getDegLon=function(e){if(e<-r||e>r)throw new RangeError("Longitude radians must be in range [-PI; PI].");return t.rad2deg(e)},t.getRadLat=function(e){if(e<-90||e>90)throw new RangeError("Latitude degrees must be in range [-90; 90].");return t.deg2rad(e)},t.getRadLon=function(e){if(e<-180||e>180)throw new RangeError("Longitude degrees must be in range [-180; 180].");return t.deg2rad(e)},t.rad2deg=function(t){return 180*t/r},t.deg2rad=function(t){return t*r/180},t.ecf2eci=function(t,e){return{x:t.x*Math.cos(e)-t.y*Math.sin(e),y:t.x*Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.ecf2rae=function(e,n){var a=t.lla2sez(e,n);return t.sez2rae(a)},t.eci2lla=function(t,e){for(var n=6378.137,a=Math.sqrt(t.x*t.x+t.y*t.y),o=(n-6356.7523142)/n,i=2*o-o*o,c=Math.atan2(t.y,t.x)-e;c<-r;)c+=s;for(;c>r;)c-=s;for(var l,u=0,h=Math.atan2(t.z,Math.sqrt(t.x*t.x+t.y*t.y));u<20;)l=1/Math.sqrt(1-i*(Math.sin(h)*Math.sin(h))),h=Math.atan2(t.z+n*l*i*Math.sin(h),a),u+=1;return{lon:c,lat:h,alt:a/Math.cos(h)-n*l}},t.eci2ecf=function(t,e){return{x:t.x*Math.cos(e)+t.y*Math.sin(e),y:t.x*-Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.lla2ecf=function(t){var e=t.lon,n=t.lat,a=t.alt,o=6378.137,r=(o-6356.7523142)/o,s=2*r-r*r,i=o/Math.sqrt(1-s*(Math.sin(n)*Math.sin(n)));return{x:(i+a)*Math.cos(n)*Math.cos(e),y:(i+a)*Math.cos(n)*Math.sin(e),z:(i*(1-s)+a)*Math.sin(n)}},t.lla2sez=function(e,n){var a=e.lon,o=e.lat,r=t.lla2ecf(e),s=n.x-r.x,i=n.y-r.y,c=n.z-r.z;return{s:Math.sin(o)*Math.cos(a)*s+Math.sin(o)*Math.sin(a)*i-Math.cos(o)*c,e:-Math.sin(a)*s+Math.cos(a)*i,z:Math.cos(o)*Math.cos(a)*s+Math.cos(o)*Math.sin(a)*i+Math.sin(o)*c}},t.rae2sez=function(t){return{s:-t.rng*Math.cos(t.el)*Math.cos(t.az),e:t.rng*Math.cos(t.el)*Math.sin(t.az),z:t.rng*Math.sin(t.el)}},t.rae2ecf=function(e,n){var a=t.lla2ecf(n),o=t.rae2sez(e),r=Math.sin(n.lat),s=Math.sin(n.lon),i=Math.cos(n.lat),c=Math.cos(n.lon);return{x:r*c*o.s+-s*o.e+i*c*o.z+a.x,y:r*s*o.s+c*o.e+i*s*o.z+a.y,z:-i*o.s+r*o.z+a.z}},t.sez2rae=function(t){var e=Math.sqrt(t.s*t.s+t.e*t.e+t.z*t.z),n=Math.asin(t.z/e);return{rng:e,az:Math.atan2(-t.e,t.s)+r,el:n}},t}();!function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.PAYLOAD=1]="PAYLOAD",t[t.ROCKET_BODY=2]="ROCKET_BODY",t[t.DEBRIS=3]="DEBRIS",t[t.SPECIAL=4]="SPECIAL",t[t.RADAR_MEASUREMENT=5]="RADAR_MEASUREMENT",t[t.RADAR_TRACK=6]="RADAR_TRACK",t[t.RADAR_OBJECT=7]="RADAR_OBJECT",t[t.BALLISTIC_MISSILE=8]="BALLISTIC_MISSILE",t[t.STAR=9]="STAR",t[t.INTERGOVERNMENTAL_ORGANIZATION=10]="INTERGOVERNMENTAL_ORGANIZATION",t[t.SUBORBITAL_PAYLOAD_OPERATOR=11]="SUBORBITAL_PAYLOAD_OPERATOR",t[t.PAYLOAD_OWNER=12]="PAYLOAD_OWNER",t[t.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER=13]="METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER",t[t.PAYLOAD_MANUFACTURER=14]="PAYLOAD_MANUFACTURER",t[t.LAUNCH_AGENCY=15]="LAUNCH_AGENCY",t[t.LAUNCH_SITE=16]="LAUNCH_SITE",t[t.LAUNCH_POSITION=17]="LAUNCH_POSITION",t[t.LAUNCH_FACILITY=18]="LAUNCH_FACILITY",t[t.CONTROL_FACILITY=19]="CONTROL_FACILITY",t[t.GROUND_SENSOR_STATION=20]="GROUND_SENSOR_STATION",t[t.OPTICAL=21]="OPTICAL",t[t.MECHANICAL=22]="MECHANICAL",t[t.PHASED_ARRAY_RADAR=23]="PHASED_ARRAY_RADAR",t[t.OBSERVER=24]="OBSERVER",t[t.BISTATIC_RADIO_TELESCOPE=25]="BISTATIC_RADIO_TELESCOPE",t[t.COUNTRY=26]="COUNTRY",t[t.LAUNCH_VEHICLE_MANUFACTURER=27]="LAUNCH_VEHICLE_MANUFACTURER",t[t.ENGINE_MANUFACTURER=28]="ENGINE_MANUFACTURER"}(o||(o={}));var p,f=2*Math.PI,g=function(){function t(){}return t.julianCycle=function(e,n){var a=n/f;return Math.round(e-t.J0-a)},t.observerAngle=function(t){return-2.076*Math.sqrt(t)/60},t.solarMeanAnomaly=function(t){return i*(357.5291+.98560028*t)},t.julian2date=function(e){return new Date((e-t.J1970)*u)},t.date2jSince2000=function(e){return e.getTime()/u+t.J1970-t.J2000},t.rightAscension=function(e,n){return Math.atan2(Math.sin(e)*Math.cos(t.e)-Math.tan(n)*Math.sin(t.e),Math.cos(e))},t.declination=function(e,n){return Math.asin(Math.sin(n)*Math.cos(t.e)+Math.cos(n)*Math.sin(t.e)*Math.sin(e))},t.azimuth=function(t,e,n){return Math.PI+Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))},t.elevation=function(t,e,n){return Math.asin(Math.sin(e)*Math.sin(n)+Math.cos(e)*Math.cos(n)*Math.cos(t))},t.siderealTime=function(t,e){return i*(280.16+360.9856235*t)-e},t.astroRefraction=function(t){return t<0&&(t=0),2967e-7/Math.tan(t+.00312536/(t+.08901179))},t.eclipticLongitude=function(t){return t+i*(1.9148*Math.sin(t)+.02*Math.sin(2*t)+3e-4*Math.sin(3*t))+102.9372*i+Math.PI},t.eclipticLatitude=function(t){var e=f/360,n=t-.00569-.00478*Math.sin(e*t);return f*(n+3e-4*Math.sin(2*e*n))},t.julianCyle=function(e,n){return Math.round(e-t.J0-n/(2*f/2))},t.approxTransit=function(e,n,a){return t.J0+(e+n)/f+a},t.solarTransitJulian=function(e,n,a){return t.J2000+e+.0053*Math.sin(n)-.0069*Math.sin(2*a)},t.hourAngle=function(t,e,n){return Math.acos((Math.sin(t)-Math.sin(e)*Math.sin(n))/(Math.cos(e)*Math.cos(n)))},t.getSetJulian=function(e,n,a,o,r,s,i){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,s,i)},t.getSetJ=function(e,n,a,o,r,s,i){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,s,i)},t.getTimes=function(e,n,a,o,r){if(void 0===o&&(o=0),void 0===r&&(r=!1),isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");var s=new Date(e);r?s.setUTCHours(12,0,0,0):s.setHours(12,0,0,0);var c,l=0,u=[],h=0,d=0,m=0,p=t.calculateJnoon(a,n,o,s),f=p.Jnoon,g=p.dh,M=p.lw,v=p.phi,w=p.dec,y=p.n,x=p.M,A=p.L,b={solarNoon:t.julian2date(f),nadir:t.julian2date(f+.5)};for(l=0,c=t.times.length;l<c;l+=1)h=((u=t.times[l])[0]+g)*i,m=f-((d=t.getSetJ(h,M,v,w,y,x,A))-f),b[u[1]]=t.julian2date(m),b[u[2]]=t.julian2date(d);return b},t.calculateJnoon=function(e,n,a,o){var r=i*-e,s=i*n,c=t.observerAngle(a),l=t.date2jSince2000(o),u=t.julianCycle(l,r),h=t.approxTransit(0,r,u),d=t.solarMeanAnomaly(h),m=t.eclipticLongitude(d),p=t.declination(m,0);return{Jnoon:t.solarTransitJulian(h,d,m),dh:c,lw:r,phi:s,dec:p,n:u,M:d,L:m}},t.getSunTimeByAzimuth=function(e,n,a,o,r){if(void 0===r&&(r=!1),isNaN(o))throw new Error("azimuth missing");if(isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");r&&(o*=i);var s=new Date(e),c=i*-a,l=i*n,h=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0).getTime(),d=u;for(h+=d;d>200;){var m=t.date2jSince2000(new Date(h)),p=t.getSunRaDec(m),f=t.siderealTime(m,c)-p.ra;d/=2,t.getAzimuth(f,l,p.dec)<o?h+=d:h-=d}return new Date(Math.floor(h))},t.getAzimuth=function(t,e,n){return Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))+Math.PI},t.getSolarTime=function(t,e,n){var a=new Date;a.setUTCFullYear(t.getUTCFullYear(),0,1),a.setUTCHours(0,0,0,0);var o=t.getTime()-a.getTime(),r=360/365*(Math.floor(o/u)-81)*i,s=9.87*Math.sin(2*r)-7.53*Math.cos(r)-1.5*Math.sin(r)+4*(n-15*e);return new Date(t.getTime()+60*s*1e3)},t.getStarAzEl=function(e,n,a,o,r){var s=-a*i,c=n*i,l=t.date2jSince2000(e),u=t.siderealTime(l,s)-o/12*Math.PI,h=t.elevation(u,c,r/180*Math.PI);return h+=t.astroRefraction(h),{az:t.azimuth(u,c,r/180*Math.PI),el:h}},t.getSunAzEl=function(e,n,a){var o=-a*i,r=n*i,s=t.date2jSince2000(e),c=t.getSunRaDec(s),l=t.siderealTime(s,o)-c.ra;return{az:t.azimuth(l,r,c.dec),el:t.elevation(l,r,c.dec)}},t.getSunRaDec=function(e){var n=t.solarMeanAnomaly(e),a=t.eclipticLongitude(n);return{dec:t.declination(a,0),ra:t.rightAscension(a,0)}},t.J1970=2440587.5,t.J2000=2451545,t.J0=9e-4,t.e=23.4397*i,t.times=[[6,"goldenHourDawnEnd","goldenHourDuskStart"],[-.3,"sunriseEnd","sunsetStart"],[-.833,"sunriseStart","sunsetEnd"],[-1,"goldenHourDawnStart","goldenHourDuskEnd"],[-4,"blueHourDawnEnd","blueHourDuskStart"],[-6,"civilDawn","civilDusk"],[-8,"blueHourDawnStart","blueHourDuskEnd"],[-12,"nauticalDawn","nauticalDusk"],[-15,"amateurDawn","amateurDusk"],[-18,"astronomicalDawn","astronomicalDusk"]],t}(),M=function(){function t(){}return t.moonCoords=function(t){var e=i*(134.963+13.064993*t),n=i*(93.272+13.22935*t),a=i*(218.316+13.176396*t)+6.289*i*Math.sin(e),o=5.128*i*Math.sin(n),r=385001-20905*Math.cos(e);return{ra:g.rightAscension(a,o),dec:g.declination(a,o),dist:r}},t.hoursLater=function(t,e){return new Date(t.getTime()+e*u/24)},t.getMoonPosition=function(e,n,a){var o=i*-a,r=i*n,s=g.date2jSince2000(e),c=t.moonCoords(s),l=g.siderealTime(s,o)-c.ra,u=g.elevation(l,r,c.dec),h=Math.atan2(Math.sin(l),Math.tan(r)*Math.cos(c.dec)-Math.sin(c.dec)*Math.cos(l));return u+=g.astroRefraction(u),{az:g.azimuth(l,r,c.dec),el:u,rng:c.dist,parallacticAngle:h}},t.getMoonIllumination=function(e){var n=e instanceof Date?e.getTime():e,a=2551442778,o=g.date2jSince2000(new Date(n)),r=g.getSunRaDec(o),s=t.moonCoords(o),i=149598e3,c=Math.acos(Math.sin(r.dec)*Math.sin(s.dec)+Math.cos(r.dec)*Math.cos(s.dec)*Math.cos(r.ra-s.ra)),l=Math.atan2(i*Math.sin(c),s.dist-i*Math.cos(c)),u=Math.atan2(Math.cos(r.dec)*Math.sin(r.ra-s.ra),Math.sin(r.dec)*Math.cos(s.dec)-Math.cos(r.dec)*Math.sin(s.dec)*Math.cos(r.ra-s.ra)),h=.5+.5*l*(u<0?-1:1)/Math.PI,d=(n-94717884e4)%a;d<0&&(d+=a);var m=a-d+n,p=1275721389-d+n;p<n&&(p+=a);var f=637860694.5-d+n;f<n&&(f+=a);var M=1913582083.5-d+n;M<n&&(M+=a);for(var v,w=Math.min(m,f,p,M),y=0;y<t.moonCycles.length;y++){var x=t.moonCycles[y];if(h>=x.from&&h<=x.to){v=x;break}}var A;return A=w===m?"newMoon":w===f?"firstQuarter":w===p?"fullMoon":"thirdQuarter",{fraction:(1+Math.cos(l))/2,phase:v,phaseValue:h,angle:u,next:{value:w,date:new Date(w).toISOString(),type:A,newMoon:{value:m,date:new Date(m).toISOString()},fullMoon:{value:p,date:new Date(p).toISOString()},firstQuarter:{value:f,date:new Date(f).toISOString()},thirdQuarter:{value:M,date:new Date(M).toISOString()}}}},t.getMoonTimes=function(e,n,a,o){void 0===o&&(o=!1);var r=new Date(e);o?r.setUTCHours(0,0,0,0):r.setHours(0,0,0,0);var s=t.calculateRiseSetTimes(r,n,a),i=s.rise,c=s.set,l=s.ye,u={rise:null,set:null,ye:null,alwaysUp:null,alwaysDown:null,highest:null};return u.rise=i?new Date(t.hoursLater(e,i)):NaN,u.set=c?new Date(t.hoursLater(e,c)):NaN,i||c?i&&c?(u.alwaysUp=!1,u.alwaysDown=!1,u.highest=new Date(t.hoursLater(e,Math.min(i,c)+Math.abs(c-i)/2))):(u.alwaysUp=!1,u.alwaysDown=!1):l>0?(u.alwaysUp=!0,u.alwaysDown=!1):(u.alwaysUp=!1,u.alwaysDown=!0),u},t.calculateRiseSetTimes=function(e,n,a){for(var o=.133*i,r=t.getMoonPosition(e,n,a).el-o,s=0,c=0,l=0,u=0,h=0,d=0,m=0,p=0,f=0,g=0,M=0,v=0,w=0,y=1;y<=24&&(s=t.getMoonPosition(t.hoursLater(e,y),n,a).el-o,p=((h=(r+(c=t.getMoonPosition(t.hoursLater(e,y+1),n,a).el-o))/2-s)*(m=-(d=(c-r)/2)/(2*h))+d)*m+s,g=0,(f=d*d-4*h*s)>=0&&(M=m-(w=Math.sqrt(f)/(2*Math.abs(h))),v=m+w,Math.abs(M)<=1&&g++,Math.abs(v)<=1&&g++,M<-1&&(M=v)),1===g?r<0?l=y+M:u=y+M:2===g&&(l=y+(p<0?v:M),u=y+(p<0?M:v)),!l||!u);y+=2)r=c;return{rise:l,set:u,ye:p}},t.moonCycles=[{from:0,to:.033863193308711,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"},{from:.033863193308711,to:.216136806691289,id:"waxingCrescentMoon",emoji:"🌒",code:":waxing_crescent_moon:",name:"Waxing Crescent",weight:6.3825,css:"wi-moon-wax-cres"},{from:.216136806691289,to:.283863193308711,id:"firstQuarterMoon",emoji:"🌓",code:":first_quarter_moon:",name:"First Quarter",weight:1,css:"wi-moon-first-quart"},{from:.283863193308711,to:.466136806691289,id:"waxingGibbousMoon",emoji:"🌔",code:":waxing_gibbous_moon:",name:"Waxing Gibbous",weight:6.3825,css:"wi-moon-wax-gibb"},{from:.466136806691289,to:.533863193308711,id:"fullMoon",emoji:"🌝",code:":full_moon_with_face:",name:"Full Moon",weight:1,css:"wi-moon-full"},{from:.533863193308711,to:.716136806691289,id:"waningGibbousMoon",emoji:"🌖",code:":waning_gibbous_moon:",name:"Waning Gibbous",weight:6.3825,css:"wi-moon-wan-gibb"},{from:.716136806691289,to:.783863193308711,id:"thirdQuarterMoon",emoji:"🌗",code:":last_quarter_moon:",name:"third Quarter",weight:1,css:"wi-moon-third-quart"},{from:.783863193308711,to:.966136806691289,id:"waningCrescentMoon",emoji:"🌘",code:":waning_crescent_moon:",name:"Waning Crescent",weight:6.3825,css:"wi-moon-wan-cres"},{from:.966136806691289,to:1,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"}],t}(),v=function(){function t(){}return t.distance=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+Math.pow(t.z-e.z,2))},t.dopplerFactor=function(e,n,a){var o=7292115e-11,r={x:n.x-e.x,y:n.y-e.y,z:n.z-e.z},s=Math.sqrt(Math.pow(r.x,2)+Math.pow(r.y,2)+Math.pow(r.z,2)),i=a.x+o*e.y,c=a.y-o*e.x,l=a.z,u=(r.x*i+r.y*c+r.z*l)/s;return 1+u/299792.458*t.sign(u)},t.createVec=function(t,e,n){for(var a=[],o=t;o<=e;o+=n)a.push(o);return a},t.roundToNDecimalPlaces=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},t.Types=a,t.sign=function(t){return t>=0?1:-1},t.jday=function(t,e,n,a,o,r){if(!t){var s=new Date,i=new Date(s.getUTCFullYear(),0,0),c=s.getDate()-i.getDate();return Math.floor(c/h)}return 367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5+((r/60+o)/60+a)/24},t.SunMath=g,t.MoonMath=M,t}(),w=function(t,e){this.start=t-1,this.stop=e,this.length=this.stop-this.start},y=function(){return y=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},y.apply(this,arguments)},x=function(){function t(){}return t.parseTle=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return{satNum:a.satNum,intlDes:a.intlDes,epochYear:a.epochYear,epochDay:a.epochDay,meanMoDev1:a.meanMoDev1,meanMoDev2:a.meanMoDev2,bstar:a.bstar,inclination:o.inclination,raan:o.raan,eccentricity:o.eccentricity,argOfPerigee:o.argOfPerigee,meanAnomaly:o.meanAnomaly,meanMotion:o.meanMotion}},t.parseTleFull=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return y(y({},a),o)},t.parseLine1=function(e){return{lineNumber1:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),classification:t.getClassification(e),intlDes:t.getIntlDes(e),intlDesYear:t.getIntlDesYear(e),intlDesLaunchNum:t.getIntlDesLaunchNum(e),intlDesLaunchPiece:t.getIntlDesLaunchPiece(e),epochYear:t.getEpochYear(e),epochYearFull:t.getEpochYearFull(e),epochDay:t.getEpochDay(e),meanMoDev1:t.getMeanMoDev1(e),meanMoDev2:t.getMeanMoDev2(e),bstar:t.getBstar(e),ephemerisType:t.getEphemerisType(e),elsetNum:t.getElsetNum(e),checksum1:t.getChecksum(e)}},t.parseLine2=function(e){return{lineNumber2:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),inclination:t.getInclination(e),raan:t.getRaan(e),eccentricity:t.getEccentricity(e),argOfPerigee:t.getArgOfPerigee(e),meanAnomaly:t.getMeanAnomaly(e),meanMotion:t.getMeanMotion(e),revNum:t.getRevNum(e),checksum2:t.getChecksum(e)}},t.getLineNumber=function(e){var n=parseInt(e.substring(t.lineNumber.start,t.lineNumber.stop));if(1!==n&&2!==n)throw new Error("Invalid line number");return n},t.getSatNum=function(e){var n=e.substring(t.satNum.start,t.satNum.stop),a=n.split("")[0].toLowerCase();return isNaN(parseInt(a))?parseInt(a.charCodeAt(0)-96+9+n.slice(1,5)):parseInt(n)},t.getRawSatNum=function(e){return e.substring(t.satNum.start,t.satNum.stop)},t.getClassification=function(e){return e.substring(t.classification.start,t.classification.stop)},t.getIntlDes=function(e){return e.substring(t.intlDes.start,t.intlDes.stop).trim()},t.getIntlDesYear=function(e){return parseInt(e.substring(t.intlDesYear.start,t.intlDesYear.stop))},t.getIntlDesLaunchNum=function(e){return parseInt(e.substring(t.intlDesLaunchNum.start,t.intlDesLaunchNum.stop))},t.getIntlDesLaunchPiece=function(e){return e.substring(t.intlDesLaunchPiece.start,t.intlDesLaunchPiece.stop).trim()},t.getEpochYear=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n},t.getEpochYearFull=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n<57?n+2e3:n+1900},t.getEpochDay=function(e){var n=parseFloat(e.substring(t.epochDay.start,t.epochDay.stop));if(n<1||n>365.99999999)throw new Error("Invalid epoch day");return v.roundToNDecimalPlaces(n,8)},t.getMeanMoDev1=function(e){var n=parseFloat(e.substring(t.meanMoDev1.start,t.meanMoDev1.stop));if(isNaN(n))throw new Error("Invalid first derivative of mean motion.");return v.roundToNDecimalPlaces(n,8)},t.getMeanMoDev2=function(e){var n=parseFloat(e.substring(t.meanMoDev2.start,t.meanMoDev2.stop));if(isNaN(n))throw new Error("Invalid second derivative of mean motion.");return n},t.getBstar=function(e){var n=t.bstar.start+1,a=t.bstar.start+6,o=t.bstar.stop-1,r=e.substring(t.bstar.start,n),s=parseFloat("0.".concat(e.substring(n,a))),i=e.substring(a,o),c=parseInt(e.substring(o,t.bstar.stop));if("-"===i)c*=-1;else if("+"!==i)throw new Error("Invalid BSTAR symbol: ".concat(r));if(s*=Math.pow(10,c),"-"===r)s*=-1;else if("+"!==r&&" "!==r)throw new Error("Invalid BSTAR symbol: ".concat(r));return v.roundToNDecimalPlaces(s,14)},t.getEphemerisType=function(e){return parseInt(e.substring(t.ephemerisType.start,t.ephemerisType.stop))},t.getElsetNum=function(e){return parseInt(e.substring(t.elsetNum.start,t.elsetNum.stop))},t.getChecksum=function(e){return parseInt(e.substring(t.checksum.start,t.checksum.stop))},t.getInclination=function(e){var n=parseFloat(e.substring(t.inclination.start,t.inclination.stop));if(n<0||n>180)throw new Error("Invalid inclination: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getRaan=function(e){var n=parseFloat(e.substring(t.raan.start,t.raan.stop));if(!(n>=0&&n<=360))throw new Error("Invalid RAAN: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getEccentricity=function(e){var n=parseFloat("0.".concat(e.substring(t.eccentricity.start,t.eccentricity.stop)));if(!(n>=0&&n<=1))throw new Error("Invalid eccentricity: ".concat(n));return v.roundToNDecimalPlaces(n,7)},t.getArgOfPerigee=function(e){var n=parseFloat(e.substring(t.argPerigee.start,t.argPerigee.stop));if(!(n>=0&&n<=360))throw new Error("Invalid argument of perigee: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getMeanAnomaly=function(e){var n=parseFloat(e.substring(t.meanAnom.start,t.meanAnom.stop));if(!(n>=0&&n<=360))throw new Error("Invalid mean anomaly: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getMeanMotion=function(e){var n=parseFloat(e.substring(t.meanMo.start,t.meanMo.stop));if(!(n>=0&&n<=17))throw new Error("Invalid mean motion: ".concat(n));return v.roundToNDecimalPlaces(n,8)},t.getRevNum=function(e){return parseInt(e.substring(t.revNum.start,t.revNum.stop))},t.lineNumber=new w(1,1),t.satNum=new w(3,7),t.classification=new w(8,8),t.intlDes=new w(10,17),t.intlDesYear=new w(10,11),t.intlDesLaunchNum=new w(12,14),t.intlDesLaunchPiece=new w(15,17),t.epochYear=new w(19,20),t.epochDay=new w(21,32),t.meanMoDev1=new w(34,43),t.meanMoDev2=new w(45,52),t.bstar=new w(54,61),t.ephemerisType=new w(63,63),t.elsetNum=new w(65,68),t.checksum=new w(69,69),t.inclination=new w(9,16),t.raan=new w(18,25),t.eccentricity=new w(27,33),t.argPerigee=new w(35,42),t.meanAnom=new w(44,51),t.meanMo=new w(53,63),t.revNum=new w(64,68),t}(),A=function(){function t(t){this.type=t.type||o.UNKNOWN,this.name=t.name||"Unknown",this.position=t.position||{x:0,y:0,z:0},this.time=t.time||new Date}return t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getTypeString=function(){switch(this.type){case o.UNKNOWN:return"Unknown";case o.PAYLOAD:return"Payload";case o.ROCKET_BODY:return"Rocket Body";case o.DEBRIS:return"Debris";case o.SPECIAL:return"Special";case o.RADAR_MEASUREMENT:return"Radar Measurement";case o.RADAR_TRACK:return"Radar Track";case o.RADAR_OBJECT:return"Radar Object";case o.BALLISTIC_MISSILE:return"Ballistic Missile";case o.STAR:return"Star";case o.INTERGOVERNMENTAL_ORGANIZATION:return"Intergovernmental Organization";case o.SUBORBITAL_PAYLOAD_OPERATOR:return"Suborbital Payload Operator";case o.PAYLOAD_OWNER:return"Payload Owner";case o.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER:return"Meteorological Rocket Launch Agency or Manufacturer";case o.PAYLOAD_MANUFACTURER:return"Payload Manufacturer";case o.LAUNCH_AGENCY:return"Launch Agency";case o.LAUNCH_SITE:return"Launch Site";case o.LAUNCH_POSITION:return"Launch Position";case o.LAUNCH_FACILITY:return"Launch Facility";case o.CONTROL_FACILITY:return"Control Facility";case o.GROUND_SENSOR_STATION:return"Ground Sensor Station";case o.OPTICAL:return"Optical";case o.MECHANICAL:return"Mechanical";case o.PHASED_ARRAY_RADAR:return"Phased Array Radar";case o.OBSERVER:return"Observer";case o.BISTATIC_RADIO_TELESCOPE:return"Bistatic Radio Telescope";case o.COUNTRY:return"Country";case o.LAUNCH_VEHICLE_MANUFACTURER:return"Launch Vehicle Manufacturer";case o.ENGINE_MANUFACTURER:return"Engine Manufacturer";default:return"Unknown"}},t}(),b=(p=function(t,e){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},p(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),T=function(t){function e(e){var n=t.call(this,e)||this;return e.rcs&&(n.rcs=e.rcs),e.vmag&&(n.vmag=e.vmag),n}return b(e,t),e.prototype.getRcs=function(){return this.rcs},e.prototype.getVmag=function(){return this.vmag},e}(A),N=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),D=function(t){function e(e,n){var a=t.call(this,e)||this,o=x.parseTle(e.tle1,e.tle2);return a.satNum=o.satNum,a.intlDes=o.intlDes,a.epochYear=o.epochYear,a.epochDay=o.epochDay,a.meanMoDev1=o.meanMoDev1,a.meanMoDev2=o.meanMoDev2,a.bstar=o.bstar,a.inclination=o.inclination,a.raan=o.raan,a.eccentricity=o.eccentricity,a.argOfPerigee=o.argOfPerigee,a.meanAnomaly=o.meanAnomaly,a.meanMotion=o.meanMotion,a.period=1440/a.meanMotion,a.satrec=d.createSatrec(e.tle1,e.tle2),a.options=n,a}return N(e,t),e.prototype.propagateTo=function(t){var n=e.calculateTimeVariables(t,this.satrec).m,a=d.propagate(this.satrec,n).position||{x:0,y:0,z:0};return this.position=a,this.time=t,this},e.prototype.getStateVec=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n)},e.prototype.getEci=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n).position||{x:0,y:0,z:0}},e.prototype.getEcf=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2ecf(r,o)},e.prototype.getLla=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2lla(r,o)},e.prototype.getRae=function(t,n){void 0===n&&(n=this.time);var a=e.calculateTimeVariables(n,this.satrec),o=a.m,r=a.gmst,s=d.propagate(this.satrec,o).position||{x:0,y:0,z:0},i=m.eci2ecf(s,r);return m.ecf2rae({lat:t.lat,lon:t.lon,alt:t.alt},i)},e.calculateTimeVariables=function(t,e){var n=v.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(n),m:e?1440*(n-e.jdsatepoch):null,j:n}},e}(T),E=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),R=function(t){function e(e,n,a){var o=t.call(this,e,n)||this;return o.setLaunchDetails(a.launchDetails),o.setSpaceCraftDetails(a.spaceCraftDetails),o.setOperationsDetails(a.operationsDetails),o}return E(e,t),e.prototype.setLaunchDetails=function(t){t.launchDate&&(this.launchDate=t.launchDate),t.launchMass&&(this.launchMass=t.launchMass),t.launchSite&&(this.launchSite=t.launchSite),t.launchVehicle&&(this.launchVehicle=t.launchVehicle)},e.prototype.getLaunchDetails=function(){return{launchDate:this.launchDate,launchMass:this.launchMass,launchSite:this.launchSite,launchVehicle:this.launchVehicle}},e.prototype.setSpaceCraftDetails=function(t){t.lifetime&&(this.lifetime=t.lifetime),t.maneuver&&(this.maneuver=t.maneuver),t.manufacturer&&(this.manufacturer=t.manufacturer),t.motor&&(this.motor=t.motor),t.power&&(this.power=t.power),t.payload&&(this.payload=t.payload),t.purpose&&(this.purpose=t.purpose),t.shape&&(this.shape=t.shape),t.span&&(this.span=t.span),t.configuration&&(this.configuration=t.configuration),t.equipment&&(this.equipment=t.equipment),t.dryMass&&(this.dryMass=t.dryMass)},e.prototype.getSpaceCraftDetails=function(){return{lifetime:this.lifetime,maneuver:this.maneuver,manufacturer:this.manufacturer,motor:this.motor,power:this.power,payload:this.payload,purpose:this.purpose,shape:this.shape,span:this.span,configuration:this.configuration,equipment:this.equipment,dryMass:this.dryMass}},e.prototype.setOperationsDetails=function(t){t.user&&(this.user=t.user),t.mission&&(this.mission=t.mission),t.owner&&(this.owner=t.owner),t.country&&(this.country=t.country)},e.prototype.getOperationsDetails=function(){return{user:this.user,mission:this.mission,owner:this.owner,country:this.country}},e}(D),I=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),O=function(t){function e(e){var n=this;if(e.type)switch(e.type){case o.OPTICAL:case o.MECHANICAL:case o.PHASED_ARRAY_RADAR:case o.OBSERVER:case o.BISTATIC_RADIO_TELESCOPE:break;default:throw new Error("Invalid sensor type")}if(n=t.call(this,e)||this,!(e.lat>=-90&&e.lat<=90))throw new Error("Invalid latitude");if(n.lat=e.lat,!(e.lon>=-180&&e.lon<=180))throw new Error("Invalid longitude");if(n.lon=e.lon,!(e.alt>=0))throw new Error("Invalid altitude");return n.alt=e.alt,n}return I(e,t),e.prototype.setTime=function(t){return this.time=t,this},e.prototype.getRae=function(t,e){return void 0===e&&(e=this.time),t.getRae(this,e)},e}(A),z=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),_=function(t){function e(e){var n=this;if(e.type&&e.type!==o.STAR)throw new Error("Invalid object type");return e.type=o.STAR,(n=t.call(this,e)||this).ra=e.ra,n.dec=e.dec,e.pname&&(n.pname=e.pname),e.bf&&(n.bf=e.bf),e.h&&(n.h=e.h),n}return z(e,t),e.prototype.getEci=function(t,n){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===n&&(n=this.time);var a=this.getRae(t,n),o=e.calculateTimeVariables(n).gmst;return m.ecf2eci(m.rae2ecf(a,{lat:0,lon:0,alt:0}),o)},e.prototype.getRae=function(t,e){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===e&&(e=this.time);var n=v.SunMath.getStarAzEl(e,t.lat*i,t.lon*i,this.ra,this.dec);return{az:n.az,el:n.el,rng:25e4}},e.calculateTimeVariables=function(t){var e=v.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(e),j:e}},e}(T)}},e={};function n(a){if(e[a])return e[a].exports;var o=e[a]={exports:{}};return t[a](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(636)})()}));
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ *
6
+ * @file Commonly used constants.
7
+ *
8
+ * @license AGPL-3.0-or-later
9
+ * @Copyright (c) 2020-2022 Theodore Kruczek
10
+ *
11
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
12
+ * terms of the GNU Affero General Public License as published by the Free Software
13
+ * Foundation, either version 3 of the License, or (at your option) any later version.
14
+ *
15
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
16
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+ * See the GNU Affero General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Affero General Public License along with
20
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+
23
+ /**
24
+ * @author Theodore Kruczek.
25
+ * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
26
+ * with satellites and other orbital objects.
27
+ *
28
+ * @file SunMath is a collection of functions for calculating the position of the sun
29
+ * and other stars. This was originally created by Vladimir Agafonkin. Robert Gester's
30
+ * update was referenced for documentation. There were a couple of bugs in both versions
31
+ * so there will be some differences if you are migrating from either to this library.
32
+ *
33
+ *
34
+ * @license AGPL-3.0-or-later
35
+ * @Copyright (c) 2020-2022 Theodore Kruczek
36
+ *
37
+ * @Copyright (c) 2011-2015, Vladimir Agafonkin
38
+ * SunCalc is a JavaScript library for calculating sun/moon position and light phases.
39
+ * https://github.com/mourner/suncalc
40
+ *
41
+ * Reworked and enhanced by Robert Gester
42
+ * @Copyright (c) 2022 Robert Gester
43
+ * https://github.com/hypnos3/suncalc3
44
+ *
45
+ * sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas
46
+ *
47
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
48
+ * terms of the GNU Affero General Public License as published by the Free Software
49
+ * Foundation, either version 3 of the License, or (at your option) any later version.
50
+ *
51
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
52
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
53
+ * See the GNU Affero General Public License for more details.
54
+ *
55
+ * You should have received a copy of the GNU Affero General Public License along with
56
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
57
+ */
58
+
59
+ /**
60
+ * @author Theodore Kruczek.
61
+ * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
62
+ * with satellites and other orbital objects.
63
+ *
64
+ * @license AGPL-3.0-or-later
65
+ * @Copyright (c) 2020-2022 Theodore Kruczek
66
+ *
67
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
68
+ * terms of the GNU Affero General Public License as published by the Free Software
69
+ * Foundation, either version 3 of the License, or (at your option) any later version.
70
+ *
71
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
72
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
73
+ * See the GNU Affero General Public License for more details.
74
+ *
75
+ * You should have received a copy of the GNU Affero General Public License along with
76
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
77
+ */
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ *
6
+ * @file The BaseObject class is used for creating core properties and methods applicable
7
+ * to ground and space based objects.
8
+ *
9
+ * @license AGPL-3.0-or-later
10
+ * @Copyright (c) 2020-2022 Theodore Kruczek
11
+ *
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
+ */
23
+ import { EciVec3, SpaceObjectType } from '../types/types';
24
+ interface ObjectInfo {
25
+ name?: string;
26
+ type?: SpaceObjectType;
27
+ position?: EciVec3;
28
+ time?: Date;
29
+ }
30
+ export declare class BaseObject {
31
+ name: string;
32
+ type: SpaceObjectType;
33
+ position: EciVec3;
34
+ time: Date;
35
+ constructor(info: ObjectInfo);
36
+ getName(): string;
37
+ getType(): SpaceObjectType;
38
+ getTypeString(): string;
39
+ }
40
+ export {};
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @author Theodore Kruczek.
3
+ * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ *
6
+ * @file The BaseObject class is used for creating core properties and methods applicable
7
+ * to ground and space based objects.
8
+ *
9
+ * @license AGPL-3.0-or-later
10
+ * @Copyright (c) 2020-2022 Theodore Kruczek
11
+ *
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
+ */
23
+ import { SpaceObjectType } from '../types/types';
24
+ var BaseObject = /** @class */ (function () {
25
+ function BaseObject(info) {
26
+ this.type = info.type || SpaceObjectType.UNKNOWN;
27
+ this.name = info.name || 'Unknown';
28
+ this.position = info.position || {
29
+ x: 0,
30
+ y: 0,
31
+ z: 0,
32
+ }; // Default to the center of the earth until position is calculated
33
+ this.time = info.time || new Date();
34
+ }
35
+ BaseObject.prototype.getName = function () {
36
+ return this.name;
37
+ };
38
+ BaseObject.prototype.getType = function () {
39
+ return this.type;
40
+ };
41
+ // eslint-disable-next-line complexity
42
+ BaseObject.prototype.getTypeString = function () {
43
+ switch (this.type) {
44
+ case SpaceObjectType.UNKNOWN:
45
+ return 'Unknown';
46
+ case SpaceObjectType.PAYLOAD:
47
+ return 'Payload';
48
+ case SpaceObjectType.ROCKET_BODY:
49
+ return 'Rocket Body';
50
+ case SpaceObjectType.DEBRIS:
51
+ return 'Debris';
52
+ case SpaceObjectType.SPECIAL:
53
+ return 'Special';
54
+ case SpaceObjectType.RADAR_MEASUREMENT:
55
+ return 'Radar Measurement';
56
+ case SpaceObjectType.RADAR_TRACK:
57
+ return 'Radar Track';
58
+ case SpaceObjectType.RADAR_OBJECT:
59
+ return 'Radar Object';
60
+ case SpaceObjectType.BALLISTIC_MISSILE:
61
+ return 'Ballistic Missile';
62
+ case SpaceObjectType.STAR:
63
+ return 'Star';
64
+ case SpaceObjectType.INTERGOVERNMENTAL_ORGANIZATION:
65
+ return 'Intergovernmental Organization';
66
+ case SpaceObjectType.SUBORBITAL_PAYLOAD_OPERATOR:
67
+ return 'Suborbital Payload Operator';
68
+ case SpaceObjectType.PAYLOAD_OWNER:
69
+ return 'Payload Owner';
70
+ case SpaceObjectType.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER:
71
+ return 'Meteorological Rocket Launch Agency or Manufacturer';
72
+ case SpaceObjectType.PAYLOAD_MANUFACTURER:
73
+ return 'Payload Manufacturer';
74
+ case SpaceObjectType.LAUNCH_AGENCY:
75
+ return 'Launch Agency';
76
+ case SpaceObjectType.LAUNCH_SITE:
77
+ return 'Launch Site';
78
+ case SpaceObjectType.LAUNCH_POSITION:
79
+ return 'Launch Position';
80
+ case SpaceObjectType.LAUNCH_FACILITY:
81
+ return 'Launch Facility';
82
+ case SpaceObjectType.CONTROL_FACILITY:
83
+ return 'Control Facility';
84
+ case SpaceObjectType.GROUND_SENSOR_STATION:
85
+ return 'Ground Sensor Station';
86
+ case SpaceObjectType.OPTICAL:
87
+ return 'Optical';
88
+ case SpaceObjectType.MECHANICAL:
89
+ return 'Mechanical';
90
+ case SpaceObjectType.PHASED_ARRAY_RADAR:
91
+ return 'Phased Array Radar';
92
+ case SpaceObjectType.OBSERVER:
93
+ return 'Observer';
94
+ case SpaceObjectType.BISTATIC_RADIO_TELESCOPE:
95
+ return 'Bistatic Radio Telescope';
96
+ case SpaceObjectType.COUNTRY:
97
+ return 'Country';
98
+ case SpaceObjectType.LAUNCH_VEHICLE_MANUFACTURER:
99
+ return 'Launch Vehicle Manufacturer';
100
+ case SpaceObjectType.ENGINE_MANUFACTURER:
101
+ return 'Engine Manufacturer';
102
+ default:
103
+ return 'Unknown';
104
+ }
105
+ };
106
+ return BaseObject;
107
+ }());
108
+ export { BaseObject };
109
+ //# sourceMappingURL=base-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-object.js","sourceRoot":"","sources":["../../src/objects/base-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAW,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAS1D;IAME,oBAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;YAC/B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC,kEAAkE;QAErE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACtC,CAAC;IAEM,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,4BAAO,GAAd;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,sCAAsC;IAC/B,kCAAa,GAApB;QACE,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,SAAS,CAAC;YACnB,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,SAAS,CAAC;YACnB,KAAK,eAAe,CAAC,WAAW;gBAC9B,OAAO,aAAa,CAAC;YACvB,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,QAAQ,CAAC;YAClB,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,SAAS,CAAC;YACnB,KAAK,eAAe,CAAC,iBAAiB;gBACpC,OAAO,mBAAmB,CAAC;YAC7B,KAAK,eAAe,CAAC,WAAW;gBAC9B,OAAO,aAAa,CAAC;YACvB,KAAK,eAAe,CAAC,YAAY;gBAC/B,OAAO,cAAc,CAAC;YACxB,KAAK,eAAe,CAAC,iBAAiB;gBACpC,OAAO,mBAAmB,CAAC;YAC7B,KAAK,eAAe,CAAC,IAAI;gBACvB,OAAO,MAAM,CAAC;YAChB,KAAK,eAAe,CAAC,8BAA8B;gBACjD,OAAO,gCAAgC,CAAC;YAC1C,KAAK,eAAe,CAAC,2BAA2B;gBAC9C,OAAO,6BAA6B,CAAC;YACvC,KAAK,eAAe,CAAC,aAAa;gBAChC,OAAO,eAAe,CAAC;YACzB,KAAK,eAAe,CAAC,mDAAmD;gBACtE,OAAO,qDAAqD,CAAC;YAC/D,KAAK,eAAe,CAAC,oBAAoB;gBACvC,OAAO,sBAAsB,CAAC;YAChC,KAAK,eAAe,CAAC,aAAa;gBAChC,OAAO,eAAe,CAAC;YACzB,KAAK,eAAe,CAAC,WAAW;gBAC9B,OAAO,aAAa,CAAC;YACvB,KAAK,eAAe,CAAC,eAAe;gBAClC,OAAO,iBAAiB,CAAC;YAC3B,KAAK,eAAe,CAAC,eAAe;gBAClC,OAAO,iBAAiB,CAAC;YAC3B,KAAK,eAAe,CAAC,gBAAgB;gBACnC,OAAO,kBAAkB,CAAC;YAC5B,KAAK,eAAe,CAAC,qBAAqB;gBACxC,OAAO,uBAAuB,CAAC;YACjC,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,SAAS,CAAC;YACnB,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,YAAY,CAAC;YACtB,KAAK,eAAe,CAAC,kBAAkB;gBACrC,OAAO,oBAAoB,CAAC;YAC9B,KAAK,eAAe,CAAC,QAAQ;gBAC3B,OAAO,UAAU,CAAC;YACpB,KAAK,eAAe,CAAC,wBAAwB;gBAC3C,OAAO,0BAA0B,CAAC;YACpC,KAAK,eAAe,CAAC,OAAO;gBAC1B,OAAO,SAAS,CAAC;YACnB,KAAK,eAAe,CAAC,2BAA2B;gBAC9C,OAAO,6BAA6B,CAAC;YACvC,KAAK,eAAe,CAAC,mBAAmB;gBACtC,OAAO,qBAAqB,CAAC;YAC/B;gBACE,OAAO,SAAS,CAAC;SACpB;IACH,CAAC;IACH,iBAAC;AAAD,CAAC,AA5FD,IA4FC"}