10059f21f:	7e aa                	jle    10059f1cb <.text+0x19e1cb>
10059f221:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
10059f228:	00
10059f229:	41 bc 01 00 00 00    	mov    $0x1,%r12d
10059f22f:	48 89 30             	mov    %rsi,(%rax)
10059f232:	66 0f d6 70 08       	movq   %xmm6,0x8(%rax)
10059f237:	48 8b 84 24 e0 00 00 	mov    0xe0(%rsp),%rax
10059f23e:	00
10059f23f:	48 8b 08             	mov    (%rax),%rcx
10059f242:	e8 29 10 10 00       	call   1006a0270 <.text+0x29f270>
10059f247:	48 8b 94 24 d8 00 00 	mov    0xd8(%rsp),%rdx
10059f24e:	00
10059f24f:	89 02                	mov    %eax,(%rdx)
10059f251:	e9 0b ff ff ff       	jmp    10059f161 <.text+0x19e161>
10059f256:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
10059f25d:	00 00 00
10059f260:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
10059f265:	48 8b bc 24 d8 00 00 	mov    0xd8(%rsp),%rdi
10059f26c:	00
10059f26d:	48 89 da             	mov    %rbx,%rdx
10059f270:	41 bc 01 00 00 00    	mov    $0x1,%r12d
10059f276:	4c 29 fa             	sub    %r15,%rdx
10059f279:	44 8b 4c 24 24       	mov    0x24(%rsp),%r9d
10059f27e:	48 29 c3             	sub    %rax,%rbx
10059f281:	48 8b 84 24 e0 00 00 	mov    0xe0(%rsp),%rax
10059f288:	00
10059f289:	89 17                	mov    %edx,(%rdi)
10059f28b:	44 01 cb             	add    %r9d,%ebx
10059f28e:	4c 89 38             	mov    %r15,(%rax)
10059f291:	e8 aa 08 f3 ff       	call   1004cfb40 <.text+0xceb40>
10059f296:	85 c0                	test   %eax,%eax
10059f298:	75 36                	jne    10059f2d0 <.text+0x19e2d0>
10059f29a:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
10059f2a1:	00
10059f2a2:	66 0f 6e c3          	movd   %ebx,%xmm0
10059f2a6:	66 0f 62 c7          	punpckldq %xmm7,%xmm0
10059f2aa:	48 89 30             	mov    %rsi,(%rax)
10059f2ad:	66 0f d6 40 08       	movq   %xmm0,0x8(%rax)
10059f2b2:	e9 aa fe ff ff       	jmp    10059f161 <.text+0x19e161>
10059f2b7:	48 8b 84 24 d0 00 00 	mov    0xd0(%rsp),%rax
10059f2be:	00
10059f2bf:	4c 8b 20             	mov    (%rax),%r12
10059f2c2:	48 8b 40 08          	mov    0x8(%rax),%rax
10059f2c6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
10059f2cb:	e9 fe fc ff ff       	jmp    10059efce <.text+0x19dfce>
10059f2d0:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
10059f2d7:	00
10059f2d8:	41 bc 01 00 00 00    	mov    $0x1,%r12d
10059f2de:	48 63 10             	movslq (%rax),%rdx
10059f2e1:	48 8b 84 24 e0 00 00 	mov    0xe0(%rsp),%rax
10059f2e8:	00
10059f2e9:	48 8b 08             	mov    (%rax),%rcx
10059f2ec:	e8 4f 4d 02 00       	call   1005c4040 <.text+0x1c3040>
10059f2f1:	48 8b 94 24 c0 00 00 	mov    0xc0(%rsp),%rdx
10059f2f8:	00
10059f2f9:	48 89 c1             	mov    %rax,%rcx
10059f2fc:	48 89 c7             	mov    %rax,%rdi
10059f2ff:	e8 1c 0f 10 00       	call   1006a0220 <.text+0x29f220>
10059f304:	85 c0                	test   %eax,%eax
10059f306:	74 0a                	je     10059f312 <.text+0x19e312>
10059f308:	48 89 f9             	mov    %rdi,%rcx
10059f30b:	e8 10 22 e6 ff       	call   100401520 <.text+0x520>
10059f310:	eb 88                	jmp    10059f29a <.text+0x19e29a>
10059f312:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
10059f319:	00
10059f31a:	48 63 08             	movslq (%rax),%rcx
10059f31d:	48 8b 84 24 e0 00 00 	mov    0xe0(%rsp),%rax
10059f324:	00
10059f325:	48 03 08             	add    (%rax),%rcx
10059f328:	e8 d3 15 f3 ff       	call   1004d0900 <.text+0xcf900>
10059f32d:	48 89 c3             	mov    %rax,%rbx
10059f330:	0f b6 00             	movzbl (%rax),%eax
10059f333:	84 c0                	test   %al,%al
10059f335:	74 4c                	je     10059f383 <.text+0x19e383>
10059f337:	3c 0a                	cmp    $0xa,%al
10059f339:	74 48                	je     10059f383 <.text+0x19e383>
10059f33b:	48 8b 05 de 99 18 00 	mov    0x1899de(%rip),%rax        # 100728d20 <_head_msys_iconv_2_dll-0x432e0>
10059f342:	8b 08                	mov    (%rax),%ecx
10059f344:	85 c9                	test   %ecx,%ecx
10059f346:	74 60                	je     10059f3a8 <.text+0x19e3a8>
10059f348:	48 8b 2d 01 9e 18 00 	mov    0x189e01(%rip),%rbp        # 100729150 <_head_msys_iconv_2_dll-0x42eb0>
10059f34f:	eb 0f                	jmp    10059f360 <.text+0x19e360>
10059f351:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
10059f358:	4c 01 e3             	add    %r12,%rbx
10059f35b:	80 3b 00             	cmpb   $0x0,(%rbx)
10059f35e:	74 1b                	je     10059f37b <.text+0x19e37b>
10059f360:	48 89 d9             	mov    %rbx,%rcx
10059f363:	ff 55 00             	call   *0x0(%rbp)
10059f366:	4c 63 e0             	movslq %eax,%r12
10059f369:	41 83 fc 01          	cmp    $0x1,%r12d
10059f36d:	7f e9                	jg     10059f358 <.text+0x19e358>
10059f36f:	0f b6 0b             	movzbl (%rbx),%ecx
10059f372:	e8 19 de 0e 00       	call   10068d190 <.text+0x28c190>
10059f377:	85 c0                	test   %eax,%eax
10059f379:	75 dd                	jne    10059f358 <.text+0x19e358>
10059f37b:	41 bc 01 00 00 00    	mov    $0x1,%r12d
10059f381:	eb 06                	jmp    10059f389 <.text+0x19e389>
10059f383:	83 f5 01             	xor    $0x1,%ebp
10059f386:	41 89 ec             	mov    %ebp,%r12d
10059f389:	48 8b 94 24 e0 00 00 	mov    0xe0(%rsp),%rdx
10059f390:	00
10059f391:	48 89 d8             	mov    %rbx,%rax
10059f394:	48 2b 02             	sub    (%rdx),%rax
10059f397:	48 8b 94 24 d8 00 00 	mov    0xd8(%rsp),%rdx
10059f39e:	00
10059f39f:	89 c3                	mov    %eax,%ebx
10059f3a1:	89 02                	mov    %eax,(%rdx)
10059f3a3:	e9 60 ff ff ff       	jmp    10059f308 <.text+0x19e308>
10059f3a8:	48 89 d9             	mov    %rbx,%rcx
10059f3ab:	e8 00 16 f3 ff       	call   1004d09b0 <.text+0xcf9b0>
10059f3b0:	48 89 c3             	mov    %rax,%rbx
10059f3b3:	eb d4                	jmp    10059f389 <.text+0x19e389>
10059f3b5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
10059f3bc:	00 00 00 00
10059f3c0:	57                   	push   %rdi
10059f3c1:	56                   	push   %rsi
10059f3c2:	53                   	push   %rbx
10059f3c3:	48 83 ec 20          	sub    $0x20,%rsp
10059f3c7:	48 89 cf             	mov    %rcx,%rdi
10059f3ca:	48 85 c9             	test   %rcx,%rcx
10059f3cd:	74 41                	je     10059f410 <.text+0x19e410>
10059f3cf:	85 d2                	test   %edx,%edx
10059f3d1:	7e 26                	jle    10059f3f9 <.text+0x19e3f9>
10059f3d3:	48 63 d2             	movslq %edx,%rdx
10059f3d6:	48 8d 59 08          	lea    0x8(%rcx),%rbx
10059f3da:	48 8d 04 52          	lea    (%rdx,%rdx,2),%rax
10059f3de:	48 8d 74 c1 08       	lea    0x8(%rcx,%rax,8),%rsi
10059f3e3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
10059f3e8:	48 8b 0b             	mov    (%rbx),%rcx
10059f3eb:	48 83 c3 18          	add    $0x18,%rbx
10059f3ef:	e8 2c 21 e6 ff       	call   100401520 <.text+0x520>
10059f3f4:	48 39 f3             	cmp    %rsi,%rbx
10059f3f7:	75 ef                	jne    10059f3e8 <.text+0x19e3e8>
10059f3f9:	48 89 f9             	mov    %rdi,%rcx
10059f3fc:	48 83 c4 20          	add    $0x20,%rsp
10059f400:	5b                   	pop    %rbx
10059f401:	5e                   	pop    %rsi
10059f402:	5f                   	pop    %rdi
10059f403:	e9 18 21 e6 ff       	jmp    100401520 <.text+0x520>
10059f408:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10059f40f:	00
10059f410:	48 83 c4 20          	add    $0x20,%rsp
10059f414:	5b                   	pop    %rbx
10059f415:	5e                   	pop    %rsi
10059f416:	5f                   	pop    %rdi
10059f417:	c3                   	ret
10059f418:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10059f41f:	00
10059f420:	41 54                	push   %r12
10059f422:	55                   	push   %rbp
10059f423:	57                   	push   %rdi
10059f424:	56                   	push   %rsi
10059f425:	53                   	push   %rbx
10059f426:	48 83 ec 20          	sub    $0x20,%rsp
10059f42a:	48 89 ce             	mov    %rcx,%rsi
10059f42d:	48 89 d5             	mov    %rdx,%rbp
10059f430:	45 89 cc             	mov    %r9d,%r12d
10059f433:	45 85 c0             	test   %r8d,%r8d
10059f436:	7e 64                	jle    10059f49c <.text+0x19e49c>
10059f438:	49 63 d8             	movslq %r8d,%rbx
10059f43b:	48 8d 3c dd 00 00 00 	lea    0x0(,%rbx,8),%rdi
10059f442:	00
10059f443:	48 89 f9             	mov    %rdi,%rcx
10059f446:	e8 95 1c e6 ff       	call   1004010e0 <.text+0xe0>
10059f44b:	48 89 45 00          	mov    %rax,0x0(%rbp)
10059f44f:	48 85 c0             	test   %rax,%rax
10059f452:	74 7c                	je     10059f4d0 <.text+0x19e4d0>
10059f454:	45 85 e4             	test   %r12d,%r12d
10059f457:	74 57                	je     10059f4b0 <.text+0x19e4b0>
10059f459:	4c 8d 0d c0 68 ff ff 	lea    -0x9740(%rip),%r9        # 100595d20 <.text+0x194d20>
10059f460:	41 b8 18 00 00 00    	mov    $0x18,%r8d
10059f466:	48 89 da             	mov    %rbx,%rdx
10059f469:	48 89 f1             	mov    %rsi,%rcx
10059f46c:	e8 9f 0b 10 00       	call   1006a0010 <.text+0x29f010>
10059f471:	48 8b 45 00          	mov    0x0(%rbp),%rax
10059f475:	48 8d 56 08          	lea    0x8(%rsi),%rdx
10059f479:	4c 8d 04 07          	lea    (%rdi,%rax,1),%r8
10059f47d:	0f 1f 00             	nopl   (%rax)
10059f480:	48 8b 0a             	mov    (%rdx),%rcx
10059f483:	48 83 c0 08          	add    $0x8,%rax
10059f487:	48 83 c2 18          	add    $0x18,%rdx
10059f48b:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
10059f48f:	4c 39 c0             	cmp    %r8,%rax
10059f492:	75 ec                	jne    10059f480 <.text+0x19e480>
10059f494:	48 89 f1             	mov    %rsi,%rcx
10059f497:	e8 84 20 e6 ff       	call   100401520 <.text+0x520>
10059f49c:	b8 01 00 00 00       	mov    $0x1,%eax
10059f4a1:	48 83 c4 20          	add    $0x20,%rsp
10059f4a5:	5b                   	pop    %rbx
10059f4a6:	5e                   	pop    %rsi
10059f4a7:	5f                   	pop    %rdi
10059f4a8:	5d                   	pop    %rbp
10059f4a9:	41 5c                	pop    %r12
10059f4ab:	c3                   	ret
10059f4ac:	0f 1f 40 00          	nopl   0x0(%rax)
10059f4b0:	4c 8d 0d 39 68 ff ff 	lea    -0x97c7(%rip),%r9        # 100595cf0 <.text+0x194cf0>
10059f4b7:	41 b8 18 00 00 00    	mov    $0x18,%r8d
10059f4bd:	48 89 da             	mov    %rbx,%rdx
10059f4c0:	48 89 f1             	mov    %rsi,%rcx
10059f4c3:	e8 48 0b 10 00       	call   1006a0010 <.text+0x29f010>
10059f4c8:	eb a7                	jmp    10059f471 <.text+0x19e471>
10059f4ca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
10059f4d0:	48 85 f6             	test   %rsi,%rsi
10059f4d3:	74 2c                	je     10059f501 <.text+0x19e501>
10059f4d5:	48 8d 7e 08          	lea    0x8(%rsi),%rdi
10059f4d9:	48 8d 04 5b          	lea    (%rbx,%rbx,2),%rax
10059f4dd:	48 8d 1c c7          	lea    (%rdi,%rax,8),%rbx
10059f4e1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
10059f4e8:	48 8b 0f             	mov    (%rdi),%rcx
10059f4eb:	48 83 c7 18          	add    $0x18,%rdi
10059f4ef:	e8 2c 20 e6 ff       	call   100401520 <.text+0x520>
10059f4f4:	48 39 df             	cmp    %rbx,%rdi
10059f4f7:	75 ef                	jne    10059f4e8 <.text+0x19e4e8>
10059f4f9:	48 89 f1             	mov    %rsi,%rcx
10059f4fc:	e8 1f 20 e6 ff       	call   100401520 <.text+0x520>
10059f501:	31 c0                	xor    %eax,%eax
10059f503:	eb 9c                	jmp    10059f4a1 <.text+0x19e4a1>
10059f505:	90                   	nop
10059f506:	90                   	nop
10059f507:	90                   	nop
10059f508:	90                   	nop
10059f509:	90                   	nop
10059f50a:	90                   	nop
10059f50b:	90                   	nop
10059f50c:	90                   	nop
10059f50d:	90                   	nop
10059f50e:	90                   	nop
10059f50f:	90                   	nop
10059f510:	55                   	push   %rbp
10059f511:	57                   	push   %rdi
10059f512:	56                   	push   %rsi
10059f513:	53                   	push   %rbx
10059f514:	48 83 ec 28          	sub    $0x28,%rsp
10059f518:	48 89 cf             	mov    %rcx,%rdi
10059f51b:	31 c9                	xor    %ecx,%ecx
10059f51d:	4c 89 c3             	mov    %r8,%rbx
10059f520:	e8 0b 69 f0 ff       	call   1004a5e30 <.text+0xa4e30>
10059f525:	48 89 c6             	mov    %rax,%rsi
10059f528:	48 85 c0             	test   %rax,%rax
10059f52b:	74 73                	je     10059f5a0 <.text+0x19e5a0>
10059f52d:	8b 03                	mov    (%rbx),%eax
10059f52f:	f6 c4 02             	test   $0x2,%ah
10059f532:	74 2d                	je     10059f561 <.text+0x19e561>
10059f534:	0f b6 06             	movzbl (%rsi),%eax
10059f537:	84 c0                	test   %al,%al
10059f539:	74 26                	je     10059f561 <.text+0x19e561>
10059f53b:	48 8b 2d 0e 9c 18 00 	mov    0x189c0e(%rip),%rbp        # 100729150 <_head_msys_iconv_2_dll-0x42eb0>
10059f542:	48 89 f3             	mov    %rsi,%rbx
10059f545:	0f 1f 00             	nopl   (%rax)
10059f548:	3c 5c                	cmp    $0x5c,%al
10059f54a:	75 03                	jne    10059f54f <.text+0x19e54f>
10059f54c:	c6 03 2f             	movb   $0x2f,(%rbx)
10059f54f:	48 89 d9             	mov    %rbx,%rcx
10059f552:	ff 55 00             	call   *0x0(%rbp)
10059f555:	48 98                	cltq
10059f557:	48 01 c3             	add    %rax,%rbx
10059f55a:	0f b6 03             	movzbl (%rbx),%eax
10059f55d:	84 c0                	test   %al,%al
10059f55f:	75 e7                	jne    10059f548 <.text+0x19e548>
10059f561:	31 d2                	xor    %edx,%edx
10059f563:	48 89 f1             	mov    %rsi,%rcx
10059f566:	e8 f5 99 ef ff       	call   100498f60 <.text+0x97f60>
10059f56b:	48 89 f1             	mov    %rsi,%rcx
10059f56e:	48 89 c3             	mov    %rax,%rbx
10059f571:	e8 aa 1f e6 ff       	call   100401520 <.text+0x520>
10059f576:	48 85 db             	test   %rbx,%rbx
10059f579:	74 25                	je     10059f5a0 <.text+0x19e5a0>
10059f57b:	48 89 fa             	mov    %rdi,%rdx
10059f57e:	48 89 d9             	mov    %rbx,%rcx
10059f581:	e8 ba 06 10 00       	call   10069fc40 <.text+0x29ec40>
10059f586:	48 89 d9             	mov    %rbx,%rcx
10059f589:	f7 d0                	not    %eax
10059f58b:	89 c6                	mov    %eax,%esi
10059f58d:	e8 8e 1f e6 ff       	call   100401520 <.text+0x520>
10059f592:	c1 ee 1f             	shr    $0x1f,%esi
10059f595:	89 f0                	mov    %esi,%eax
10059f597:	48 83 c4 28          	add    $0x28,%rsp
10059f59b:	5b                   	pop    %rbx
10059f59c:	5e                   	pop    %rsi
10059f59d:	5f                   	pop    %rdi
10059f59e:	5d                   	pop    %rbp
10059f59f:	c3                   	ret
10059f5a0:	31 f6                	xor    %esi,%esi
10059f5a2:	89 f0                	mov    %esi,%eax
10059f5a4:	48 83 c4 28          	add    $0x28,%rsp
10059f5a8:	5b                   	pop    %rbx
10059f5a9:	5e                   	pop    %rsi
10059f5aa:	5f                   	pop    %rdi
10059f5ab:	5d                   	pop    %rbp
10059f5ac:	c3                   	ret
10059f5ad:	0f 1f 00             	nopl   (%rax)
10059f5b0:	53                   	push   %rbx
10059f5b1:	48 83 ec 20          	sub    $0x20,%rsp
10059f5b5:	48 89 cb             	mov    %rcx,%rbx
10059f5b8:	48 8b 49 08          	mov    0x8(%rcx),%rcx
10059f5bc:	e8 6f e7 e6 ff       	call   10040dd30 <.text+0xcd30>
10059f5c1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
10059f5c5:	85 c0                	test   %eax,%eax
10059f5c7:	75 4f                	jne    10059f618 <.text+0x19e618>
10059f5c9:	48 83 b9 a0 00 00 00 	cmpq   $0x0,0xa0(%rcx)
10059f5d0:	00
10059f5d1:	74 09                	je     10059f5dc <.text+0x19e5dc>
10059f5d3:	e8 f8 e7 e6 ff       	call   10040ddd0 <.text+0xcdd0>
10059f5d8:	85 c0                	test   %eax,%eax
10059f5da:	74 14                	je     10059f5f0 <.text+0x19e5f0>
10059f5dc:	48 8b 05 2d b9 18 00 	mov    0x18b92d(%rip),%rax        # 10072af10 <_head_msys_iconv_2_dll-0x410f0>
10059f5e3:	8b 00                	mov    (%rax),%eax
10059f5e5:	25 80 00 00 00       	and    $0x80,%eax
10059f5ea:	48 83 c4 20          	add    $0x20,%rsp
10059f5ee:	5b                   	pop    %rbx
10059f5ef:	c3                   	ret
10059f5f0:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
10059f5f4:	e8 57 e7 e6 ff       	call   10040dd50 <.text+0xcd50>
10059f5f9:	89 c2                	mov    %eax,%edx
10059f5fb:	b8 01 00 00 00       	mov    $0x1,%eax
10059f600:	85 d2                	test   %edx,%edx
10059f602:	74 e6                	je     10059f5ea <.text+0x19e5ea>
10059f604:	48 8b 05 05 b9 18 00 	mov    0x18b905(%rip),%rax        # 10072af10 <_head_msys_iconv_2_dll-0x410f0>
10059f60b:	8b 00                	mov    (%rax),%eax
10059f60d:	83 e0 40             	and    $0x40,%eax
10059f610:	eb d8                	jmp    10059f5ea <.text+0x19e5ea>
10059f612:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
10059f618:	e8 53 d5 04 00       	call   1005ecb70 <.text+0x1ebb70>
10059f61d:	85 c0                	test   %eax,%eax
10059f61f:	75 27                	jne    10059f648 <.text+0x19e648>
10059f621:	48 8b 15 e8 b8 18 00 	mov    0x18b8e8(%rip),%rdx        # 10072af10 <_head_msys_iconv_2_dll-0x410f0>
10059f628:	8b 12                	mov    (%rdx),%edx
10059f62a:	81 e2 00 00 01 00    	and    $0x10000,%edx
10059f630:	74 b8                	je     10059f5ea <.text+0x19e5ea>
10059f632:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
10059f636:	e8 a5 86 04 00       	call   1005e7ce0 <.text+0x1e6ce0>
10059f63b:	85 c0                	test   %eax,%eax
10059f63d:	0f 95 c0             	setne  %al
10059f640:	0f b6 c0             	movzbl %al,%eax
10059f643:	eb a5                	jmp    10059f5ea <.text+0x19e5ea>
10059f645:	0f 1f 00             	nopl   (%rax)
10059f648:	31 c0                	xor    %eax,%eax
10059f64a:	48 83 c4 20          	add    $0x20,%rsp
10059f64e:	5b                   	pop    %rbx
10059f64f:	c3                   	ret
10059f650:	53                   	push   %rbx
10059f651:	48 83 ec 20          	sub    $0x20,%rsp
10059f655:	81 7a 48 ff ff ff 7f 	cmpl   $0x7fffffff,0x48(%rdx)
10059f65c:	48 89 cb             	mov    %rcx,%rbx
10059f65f:	74 3f                	je     10059f6a0 <.text+0x19e6a0>
10059f661:	44 8b 8a 34 03 00 00 	mov    0x334(%rdx),%r9d
10059f668:	48 8d 15 ed e4 16 00 	lea    0x16e4ed(%rip),%rdx        # 10070db5c <_head_msys_iconv_2_dll-0x5e4a4>
10059f66f:	41 83 c1 01          	add    $0x1,%r9d
10059f673:	e8 a8 05 10 00       	call   10069fc20 <.text+0x29ec20>
10059f678:	89 c2                	mov    %eax,%edx