北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】

首頁-成功案例-Object-oriented technology
Deep-learning based numerical BSDE method for barrier options Bing Yu? , Xiaojing Xing? , Agus Sudjianto? April 15, 2019
時間: 2021-08-27 08:35:26

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】As is known, an option price is a solution to a certain partial differential equation (PDE) with terminal conditions (payoff functions). There is a close association between the solution of PDE and the solution of a backward stochastic differential equation (BSDE). We can either solve the PDE to obtain option prices or solve its associated BSDE. Recently a deep learning technique has been applied to solve option prices using the BSDE approach. In this approach, deep learning is used to learn some deterministic functions, which are used in solving the BSDE with terminal conditions. In this paper, we extend the deep-learning technique to solve a PDE with both terminal and boundary conditions. In particular, we will employ the technique to solve barrier options using Brownian motion bridges.

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】眾所周知,期權價格是某一偏微分方程的解


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】帶有終端條件(支付函數)的方程(PDE)。有


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】PDE解與a解之間的密切聯系


倒向隨機微分方程(BSDE)。我們可以解決


PDE獲取期權價格或解決其相關BSDE。最近


深度學習技術已被應用于解決期權價格使用


BSDE方法。在這種方法中,深度學習用于學習一些知識


確定性函數,用于求解帶終端的BSDE


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】條件在本文中,我們擴展了深度學習技術來解決


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】具有終端和邊界條件的偏微分方程。特別是,我們


將使用該技術使用布朗運動求解障礙選項


橋。

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】1 Introduction

A barrier option is a type of derivative where the payoff depends on whether

the underlying asset has breached a predetermined barrier price. For a simple

barrier case, an analytical pricing formula is available (see [1]). Because barrier

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】options have additional conditions built in, they tend to have cheaper premiums

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】than comparable options without barriers. Therefore, if a trader believes the

barrier is unlikely to be reached, they may prefer to buy a knock-out barrier

option for a lower premium. There are different methods to solve option prices,

ranging from an analytical solution, solving PDE numerically, and Monte Carlo

simulations. Recently, a different approach using machine learning has been

proposed.

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】Using machine learning to solve PDE was studied in [2]. In this work, a new

method was proposed for solving parabolic partial differential equations with

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】terminal conditions, which we will call the standard framework hereafter. In this

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】?Corporate Model Risk, Wells Fargo, bing.yu@wellsfargo.com

?Corporate Model Risk, Wells Fargo

?Corporate Model Risk, Wells Fargo

1

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】new method, the PDE is formulated as a stochastic control problem through

a Feymann-Kac formula. In this formulation, a connection between PDE for

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】option prices and BSDE is made. The option price is obtained by solving the

BSDE rather than solving PDE. The solution to the BSDE is represented by

two deterministic functions. One innovation (shown in [2]) is the use of a neural

network and deep-learning technique to learn these deterministic functions. The

mathematical foundation of this approach is based on a Kolmogorov-Arnold

representation theorem. This theorem states that any continuous function can

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】be approximated by a finite composition of continuous functions of a single

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】variable. Cybenko (see[3]) found that a feed-forward neural network is a natural

realization of the theorem and he provided a concrete implementation using a

sigmoid function.

In addition to [2], [4] extended the method to solve fully non-linear PDE and

second-order backward stochastic differential equation. Other works related to

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】this deep-learning method include [5] and [6]. In [5], a different way of simulating

the processes in the forward-backward stochastic differential equation (FBSDE)

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】is proposed. Rather than using a neural network to approximate the derivative

of a PDE solution, the network is used to directly approximate the PDE solution

and the derivative is calculated using automatic differentiation. A number of

different choices for building the neural network and learning structure and

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】two new types of structures are proposed in [6] . These problems are in the

framework of a PDE with some terminal conditions. These PDE can be solved

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】by an equivalent BSDE.

In the aforementioned standard framework, the PDE solved has no boundary conditions. There are some works on PDE with free boundary conditions.

In these works, a BSDE is replaced by a reflected BSDE (RBSDE). A penalty

term is added to the loss function to take into account the free boundary condition in order to solve the RBSDE. Again, machine learning can be used in

solving these problems. This approach is used in [7] to solve American options.

Bermudan Swaptions is solved by exercising the option at a boundary in [8]. In

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】our work, we consider barrier options. We treat boundary conditions of barrier

options differently. Rather than using RBSDE with a penalty function or exercise options at a boundary, we incorporated the boundary conditions as terminal

conditions. To our best knowledge, this approach has not previously been done.

In this paper, we organize as follows. In section 2, we present the standard

framework, which is designed for Cauchy problem. In section 3, we describe how

we extend the standard framework to handle barrier options, which corresponds

to a Cauchy-Dirichlet problem. In section 4, we present numerical considerations

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】and the results we obtained from our experiments. Finally, we make some

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】concluding remarks in section 5.

2

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】2 Basic method to solve BSDE by machine learning

We briefly introduced the deep-learning-based numerical BSDE algorithm proposed in [2]. We start from an FBSDE, which is first proposed in [9].

Xt = X0 +

? t

0

bs(Xs)ds +

? t

0

σs(Xs)dWs

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】Yt = h(XT ) + ? T

t

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】fs(Xs, Ys, Zs)ds ?

? T

t

ZsdWs

Here, {Ws}0<s<T is a Brownian motion and h(XT ) is the terminal condition.

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】The pair (Y, Z)0<t<T solves the BSDE. It is known that there exists a deterministic function u = u(t, x) such that Yt = u(t, Xt), Zt = ?u(t, Xt)σt(Xt) and

u(t, x) solves a quasi-linear PDE. For both the forward and backward process,

we can use Euler scheme to approximate:

Xti+1 ≈ Xti + bti

(Xti

)(ti+1 ? ti) + σti

(Xti

)(Wti+1 ? Wti

) (1)

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】Yti+1 ≈ Yti ? fti

(Xti

, Yti

, Zti

)(ti+1 ? ti) + Zti

(Wti+1 ? Wti

) (2)

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】Note that we have made the backward process to be forward; this is a commonly

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】used technique in treating FBSDEs. This set of equations has the following

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】interpretation on a given path: Xti

is the underlying price; Yti

is the option

北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】price and Zti

is related to the delta at time ti

.

In the deep-learning-bas

1導言


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】障礙期權是一種衍生品,其收益取決于


標的資產已突破預定的壁壘價格。簡單來說


在障礙情況下,可使用分析定價公式(見[1])。因為障礙


期權有附加條件,它們往往有更便宜的保費


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】比沒有障礙的可比選擇更有效。因此,如果交易者相信


障礙不太可能達到,他們可能更愿意購買淘汰障礙


選擇較低的保費。解決期權價格有不同的方法,


從解析解、數值求解偏微分方程到蒙特卡羅


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】模擬。最近,人們提出了一種使用機器學習的不同方法


提出。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】文獻[2]研究了利用機器學習求解偏微分方程。在這項工作中,一個新的


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】提出了一種求解拋物型偏微分方程的新方法


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】終端條件,我們將在下文中稱之為標準框架。在這個


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】?公司模型風險,富國銀行,必應。yu@wellsfargo.com


?富國銀行公司模型風險部


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】——富國銀行公司模型風險部


1.


在新方法中,PDE被描述為一個隨機控制問題


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】費曼-卡克公式。在此公式中,PDE之間的連接用于


制定期權價格和BSDE。期權價格是通過求解


BSDE而不是解決PDE。BSDE的解決方案表示為


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】兩個確定性函數。一項創新(如[2]所示)是使用神經網絡


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】網絡和深度學習技術來學習這些確定性函數。這個


這種方法的數學基礎是基于Kolmogorov阿諾德的。


表示定理。這個定理表明,任何連續函數都可以


可以用單個函數的連續函數的有限合成來近似


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】變量Cybenko(見[3])發現,前饋神經網絡是一種自然現象


實現了這個定理,他用一個


S形函數。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】除了[2],[4]將該方法推廣到求解完全非線性的偏微分方程和偏微分方程


二階倒向隨機微分方程。其他有關


這種深度學習方法包括[5]和[6]。在[5]中,一種不同的模擬方法


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】正倒向隨機微分方程(FBSDE)中的過程


這是提議的。而不是使用神經網絡來近似導數


對于PDE解決方案,網絡用于直接近似PDE解決方案


導數的計算采用自動微分法。一些


構建神經網絡和學習結構的不同選擇


[6]中提出了兩種新型結構。這些問題都存在


具有某些終端條件的PDE框架。這些偏微分方程是可以解決的


通過等效的BSDE。


在上述標準框架中,求解的PDE沒有邊界條件。有一些關于自由邊界條件的偏微分方程的工作。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】在這些工作中,BSDE被反射BSDE(RBSDE)代替。懲罰


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】為了求解RBSDE,在損失函數中加入了一項,以考慮自由邊界條件。同樣,機器學習也可以用于


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】解決這些問題。[7]中使用了這種方法來解決美式期權。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】百慕大互換期權通過在[8]中的邊界行使期權來解決。在里面


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】我們的工作,我們考慮障礙選項。我們處理勢壘的邊界條件


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】選擇不同。我們將邊界條件合并為終端條件,而不是在邊界處使用RBSDE和懲罰函數或行使選項


條件據我們所知,這種方法以前從未采用過。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】在本文中,我們組織如下。在第2節中,我們介紹了標準


框架,它是為柯西問題而設計的。在第3節中,我們將介紹如何


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】我們擴展了標準框架來處理障礙選項,這與


一個柯西-狄里克萊問題。在第4節中,我們介紹了數值方面的考慮


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】以及我們從實驗中得到的結果。最后,我們制作一些


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】第5節的結束語。


2.


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】2通過機器學習解決BSDE的基本方法


我們簡要介紹了[2]中提出的基于深度學習的數值BSDE算法。我們從[9]中首次提出的FBSDE開始。


Xt=X0+


?t


0


bs(Xs)ds+


?t


0


σs(Xs)dWs


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】Yt=h(XT)+?T


T


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】fs(Xs,Ys,Zs)ds?


?T


T


ZsdWs


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】這里,{Ws}0<s<T是布朗運動,h(XT)是終端條件。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】對(Y,Z)0<t<t求解BSDE。已知存在一個確定性函數u=u(t,x),使得Yt=u(t,Xt),Zt=?u(t,Xt)σt(Xt)和


u(t,x)解一個擬線性偏微分方程。無論是向前還是向后,


我們可以使用Euler格式來近似:


Xti+1≈ Xti+bti


(Xti)


)(ti+1)? ti)+σti


(Xti)


)(Wti+1)? Wti


15-213, Fall 20xx The Attack Lab: Understanding Buffer Overflow Bugs Assigned: Tue, Sept. 29 Due: Thu, Oct. 8, 11:59PM EDT Last Possible Time to Turn in: Sun, Oct. 11, 11:59PM EDT
時間: 2021-08-26 10:08:29

1 Introduction This assignment involves generating a total of five attacks on two programs having different security vulnerabilities. Outcomes you will gain from this lab include: ? You will learn different ways that attackers can exploit security vulnerabilities when programs do not safeguard themselves well enough against buffer overflows. ? Through this, you will get a better understanding of how to write programs that are more secure, as well as some of the features provided by compilers and operating systems to make programs less vulnerable. ? You will gain a deeper understanding of the stack and parameter-passing mechanisms of x86-64 machine code. ? You will gain a deeper understanding of how x86-64 instructions are encoded. ? You will gain more experience with debugging tools such as GDB and OBJDUMP. Note: In this lab, you will gain firsthand experience with methods used to exploit security weaknesses in operating systems and network servers. Our purpose is to help you learn about the runtime operation of programs and to understand the nature of these security weaknesses so that you can avoid them when you write system code. We do not condone the use of any other form of attack to gain unauthorized access to any system resources. You will want to study Sections 3.10.3 and 3.10.4 of the CS:APP3e book as reference material for this lab

1導言


此任務涉及對具有不同安全漏洞的兩個程序總共生成五次攻擊。您將從本實驗室獲得的成果包括:


?您將了解攻擊者在程序不存在漏洞時利用安全漏洞的不同方式


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】充分保護自己,防止緩沖區溢出。


?通過本課程,您將更好地了解如何編寫更安全的程序,如


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】以及編譯器和操作系統提供的一些使程序更少的功能


脆弱的


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】?您將更深入地了解x86-64的堆棧和參數傳遞機制


機器代碼。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】?您將更深入地了解x86-64指令的編碼方式。


?您將獲得更多使用GDB和OBJDUMP等調試工具的經驗。


注意:在本實驗室中,您將獲得利用安全漏洞的方法的第一手經驗


操作系統和網絡服務器。我們的目的是幫助您了解


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】并了解這些安全弱點的性質,以便您在


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】編寫系統代碼。我們不允許使用任何其他形式的攻擊來獲取未經授權的訪問權限


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】任何系統資源。


您需要學習CS:APP3e手冊的第3.10.3節和第3.10.4節,作為本實驗室的參考資料2 Logistics As usual, this is an individual project. You will generate attacks for target programs that are custom generated for you. 2.1 Getting Files You can obtain your files by pointing your Web browser at: http://$Attacklab::SERVER_NAME:15513/ INSTRUCTOR: $Attacklab::SERVER_NAME is the machine that runs the attacklab servers. You define it in attacklab/Attacklab.pm and in attacklab/src/build/driverhdrs.h The server will build your files and return them to your browser in a tar file called targetk.tar, where k is the unique number of your target programs. Note: It takes a few seconds to build and download your target, so please be patient. Save the targetk.tar file in a (protected) Linux directory in which you plan to do your work. Then give the command: tar -xvf targetk.tar. This will extract a directory targetk containing the files described below. You should only download one set of files. If for some reason you download multiple targets, choose one target to work on and delete the rest. Warning: If you expand your targetk.tar on a PC, by using a utility such as Winzip, or letting your browser do the extraction, you’ll risk resetting permission bits on the executable files. The files in targetk include: README.txt: A file describing the contents of the directory ctarget: An executable program vulnerable to code-injection attacks rtarget: An executable program vulnerable to return-oriented-programming attacks cookie.txt: An 8-digit hex code that you will use as a unique identifier in your attacks. farm.c: The source code of your target’s “gadget farm,” which you will use in generating return-oriented programming attacks. hex2raw: A utility to generate attack strings. In the following instructions, we will assume that you have copied the files to a protected local directory, and that you are executing the programs in that local directory. 2 2.2 Important Points Here is a summary of some important rules regarding valid solutions for this lab. These points will not make much sense when you read this document for the first time. They are presented here as a central reference of rules once you get started. ? You must do the assignment on a machine that is similar to the one that generated your targets. ? Your solutions may not use attacks to circumvent the validation code in the programs. Specifically, any address you incorporate into an attack string for use by a ret instruction should be to one of the following destinations: – The addresses for functions touch1, touch2, or touch3. – The address of your injected code – The address of one of your gadgets from the gadget farm. ? You may only construct gadgets from file rtarget with addresses ranging between those for functions start_farm and end_farm. 3 Target Programs Both CTARGET and RTARGET read strings from standard input. They do so with the function getbuf defined below: 1 unsigned getbuf() 2 { 3 char buf[BUFFER_SIZE]; 4 Gets(buf); 5 return 1; 6 } The function Gets is similar to the standard library function gets—it reads a string from standard input (terminated by ‘\n’ or end-of-file) and stores it (along with a null terminator) at the specified destination. In this code, you can see that the destination is an array buf, declared as having BUFFER_SIZE bytes. At the time your targets were generated, BUFFER_SIZE was a compile-time constant specific to your version of the programs. Functions Gets() and gets() have no way to determine whether their destination buffers are large enough to store the string they read. They simply copy sequences of bytes, possibly overrunning the bounds of the storage allocated at the destinations. If the string typed by the user and read by getbuf is sufficiently short, it is clear that getbuf will return 1, as shown by the following execution examples: unix> ./ctarget 3 Cookie: 0x1a7dd803 Type string: Keep it short! No exploit. Getbuf returned 0x1 Normal return Typically an error occurs if you type a long string: unix> ./ctarget Cookie: 0x1a7dd803 Type string: This is not a very interesting string, but it has the property ... Ouch!: You caused a segmentation fault! Better luck next time (Note that the value of the cookie shown will differ from yours.) Program RTARGET will have the same behavior. As the error message indicates, overrunning the buffer typically causes the program state to be corrupted, leading to a memory access error. Your task is to be more clever with the strings you feed CTARGET and RTARGET so that they do more interesting things. These are called exploit strings. Both CTARGET and RTARGET take several different command line arguments: -h: Print list of possible command line arguments -q: Don’t send results to the grading server -i FILE: Supply input from a file, rather than from standard input Your exploit strings will typically contain byte values that do not correspond to the ASCII values for printing characters. The program HEX2RAW will enable you to generate these raw strings. See Appendix A for more information on how to use HEX2RAW. Important points: ? Your exploit string must not contain byte value 0x0a at any intermediate position, since this is the ASCII code for newline (‘\n’). When Gets encounters this byte, it will assume you intended to terminate the string. ? HEX2RAW expects two-digit hex values separated by one or more white spaces. So if you want to create a byte with a hex value of 0, you need to write it as 00. To create the word 0xdeadbeef you should pass “ef be ad de” to HEX2RAW (note the reversal required for little-endian byte ordering). When you have correctly solved one of the levels, your target program will automatically send a notification to the grading server. For example: unix> ./hex2raw < ctarget.l2.txt | ./ctarget Cookie: 0x1a7dd803 Type string:Touch2!: You called touch2(0x1a7dd803) Valid solution for level 2 with target ctarget PASSED: Sent exploit string to server to be validated. NICE JOB! 4 Phase Program Level Method Function Points 1 CTARGET 1 CI touch1 10 2 CTARGET 2 CI touch2 25 3 CTARGET 3 CI touch3 25 4 RTARGET 2 ROP touch2 35 5 RTARGET 3 ROP touch3 5 CI: Code injection ROP: Return-oriented programming Figure 1: Summary of attack lab phases The server will test your exploit string to make sure it really works, and it will update the Attacklab scoreboard page indicating that your userid (listed by your target number for anonymity) has completed this phase. You can view the scoreboard by pointing your Web browser at http://$Attacklab::SERVER_NAME:15513/scoreboard Unlike the Bomb Lab, there is no penalty for making mistakes in this lab. Feel free to fire away at CTARGET and RTARGET with any strings you like. IMPORTANT NOTE: You can work on your solution on any Linux machine, but in order to submit your solution, you will need to be running on one of the following machines: INSTRUCTOR: Insert the list of the legal domain names that you established in buflab/src/config.c. Figure 1 summarizes the five phases of the lab. As can be seen, the first three involve code-injection (CI) attacks on CTARGET, while the last two involve return-oriented-programming (ROP) attacks on RTARGET. 4 Part I: Code Injection Attacks For the first three phases, your exploit strings will attack CTARGET. This program is set up in a way that the stack positions will be consistent from one run to the next and so that data on the stack can be treated as executable code. These features make the program vulnerable to attacks where the exploit strings contain the byte encodings of executable code. 4.1 Level 1 For Phase 1, you will not inject new code. Instead, your exploit string will redirect the program to execute an existing procedure. Function getbuf is called within CTARGET by a function test having the following C code:

2物流


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】像往常一樣,這是一個單獨的項目。您將為自定義生成的目標程序生成攻擊。


2.1獲取文件


您可以通過將Web瀏覽器指向以下位置來獲取文件:


http://$Attacklab::服務器名稱:15513/


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】講師:$Attacklab::SERVER\u NAME是運行


攻擊實驗室服務器。您可以在attacklab/attacklab.pm和中定義它


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】attacklab/src/build/driverhdrs.h


服務器將生成您的文件,并將它們返回到名為targetk.tar的tar文件中的瀏覽器,其中


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】k是目標計劃的唯一編號。


注意:構建和下載目標需要幾秒鐘,所以請耐心等待。


將targetk.tar文件保存在您計劃在其中執行工作的(受保護的)Linux目錄中。然后給


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】命令:tar-xvf targetk.tar。這將提取包含這些文件的目錄targetk


如下所述。


您應該只下載一組文件。如果出于某種原因下載了多個目標,請選擇一個


要處理的目標并刪除其余的。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】警告:如果您在PC上擴展targetk.tar,請使用Winzip等實用程序,或讓


瀏覽器執行提取操作時,可能會重置可執行文件上的權限位。


targetk中的文件包括:


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】README.txt:描述目錄內容的文件


ctarget:易受代碼注入攻擊的可執行程序


rtarget:易受面向返回編程攻擊的可執行程序


cookie.txt:一個8位十六進制代碼,在攻擊中用作唯一標識符。


c:目標的“gadget farm”的源代碼,用于生成面向返回的


編程攻擊。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】hex2raw:用于生成攻擊字符串的實用程序。


在以下說明中,我們假設您已將文件復制到受保護的本地目錄,


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】并且您正在本地目錄中執行程序。


2.


2.2要點


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】以下是關于本實驗室有效解決方案的一些重要規則的摘要。這些要點不會說明問題


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】當您第一次閱讀此文檔時,您會覺得非常有意義。它們在這里作為中心參考


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】一旦你開始了,你就會有很多規則。


?您必須在與生成目標的機器類似的機器上執行任務。


?您的解決方案可能不會使用攻擊繞過程序中的驗證代碼。明確地


任何合并到攻擊字符串中供ret指令使用的地址都應該是


以下目的地:


–功能touch1、touch2或touch3的地址。


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】–注入代碼的地址


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】–小工具場中一個小工具的地址。


?您只能從文件rtarget構建小工具,其地址介于函數start_farm和end_farm的地址之間。


3個目標項目


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】CTARGET和RTARGET都從標準輸入讀取字符串。它們是通過函數getbuf實現的


定義如下:


1個未簽名的getbuf()


2 {


北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】3字符buf[緩沖區大小];


4個(buf);


5返回1;


6 }


函數get類似于標準庫函數get,它


2 Card Poker Challenge Develop a simplified 2 card poker game to show off your C# programming prowess
時間: 2021-08-25 08:41:27

Develop a simplified 2 card poker game to show off your C# programming prowess. 1. 2-6 players. 2. 2-5 rounds. 3. The dealer shuffles the deck at the start of each round. 4. The dealer deals 2 cards to each player. 5. The dealer ranks each player’s hand according the poker hand ranking rules 6. At the end of each round, each player is assigned a score (0 – weakest to strongest x-1 (where x = number of players)). 7. The overall winner is determined once all rounds have been completed. The winner is the player with the highest score. Poker Hand Ranks: In order from strongest to weakest 1. Straight Flush (2 cards of sequential rank, same suit) 2. Flush (2 cards, same suit) 3. Straight (2 cards of sequential rank, different suit) 4. 1 pair (2 cards of same rank) 5. High Card (2 cards, different rank, suit and not in sequence. Highest card wins) ? Individual cards are ranked A (highest), K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2 (lowest). ? Suit order (strongest to weakest): Spades, Clubs, Hearts, Diamonds Objective: Develop a 2 card poker game according to the rules above. Implement each feature according to the acceptance criteria stated later. You will be judged on the following merits: 1. Code quality 2. Test coverage 3. Correctness (according to the game specification) You have a weekend to complete this challenge, best of luck. Feature: Shuffle Deck As The Dealer I want to Shuffle the Deck So that the card sequence is different for each round Scenario: Shuffle Deck X Times Given it is the start if a new round And the game is not over And a deck of 52 cards When I shuffle the deck X time (s) Then the deck is in a different order each time Feature: Deal Cards As The Dealer I want to deal 2 cards to each player So that the game can proceed Scenario: Deal Cards Given it is the start of a new round And the game is not over And I have shuffled the deck When I deal the cards Then each player should have 2 cards And each player has a unique 2 cards Feature: Rank Hands As The Dealer I want to rank each players' hands So that I can determine the winning hand Scenario: Determine Winner Given I have dealt each player their cards When I rank each players hand (according to poker hand rankings) Then the player with the highest ranked hand is the winner And each player is assigned a score from 0 (weakest) to X-1 players (strongest) Feature: Determine Winner As The Dealer I want to determine who the overall winner is So that the game can end Scenario: Overall Winner Given all rounds have been played When I determine who the overall winner And players are ordered from highest score to lowest score Then it is known who the winner is And each player knows what place they finished at

Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value Stores
時間: 2021-08-24 13:12:14

ABSTRACT We introduce Rosetta, a probabilistic range filter designed specifically for LSM-tree based key-value stores. The core intuition is that we can sacrifice filter probe time because it is not visible in end-to-end key-value store performance, which in turn allows us to significantly reduce the filter false positive rate for every level of the tree. Rosetta indexes all binary prefixes of a key using a hierarchically arranged set of Bloom filters. It then converts each range query into multiple probes, one for each nonoverlapping binary prefix. Rosetta has the ability to track workload patterns and adopt a beneficial tuning for each individual LSM-tree run by adjusting the number of Bloom filters it uses and how memory is spread among them to optimize the FPR/CPU cost balance. We show how to integrate Rosetta in a full system, RocksDB, and we demonstrate that it brings as much as a 40x improvement compared to default RocksDB and 2-5x improvement compared to state-of-the-art range filters in a variety of workloads and across different levels of the memory hierarchy (memory, SSD, hard disk). We also show that, unlike stateof-the-art filters, Rosetta brings a net benefit in RocksDB’s overall performance, i.e., it improves range queries without losing any performance for point queries. ACM Reference Format: Siqiang Luo, Subarna Chatterjee, Rafael Ketsetsidis and Niv Dayan, Wilson Qin, Stratos Idreos. 2020. Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value Stores. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (SIGMOD’20), June 14–19, 2020, Portland, OR, USA. ACM, New York, NY, USA, 16 pages. http://doi.org/10.1145/3318464.3389731 Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. SIGMOD’20, June 14–19, 2020, Portland, OR, USA ? 2020 Association for Computing Machinery. ACM ISBN 978-1-4503-6735-6/20/06. . . $15.00 http://doi.org/10.1145/3318464.3389731 range size (length in domain) Memory too high to use a filter 0 32 64 memory (bits/key) 10 13 26 Analytical system is best (e.g. column store) LSM-tree KV-store with Rosetta is best LSM-tree KV-store with SuRF is best Figure 1: Rosetta brings new performance properties improving on and complementing existing designs. 1 INTRODUCTION Log Structured Merge (LSM)-Based Key-value Stores. LSM-based key-value stores in industry [2, 4, 5, 15, 30, 36, 43, 53, 55, 71, 73] increasingly serve as the backbone of applications across the areas of social media [6, 12], stream and log processing [14, 16], file structures [47, 65], flash memory firmware [26, 69], and databases for geo-spatial coordinates [3], time-series [50, 51] and graphs [32, 52]. The core data structure, LSM-tree [58] allows systems to target write-optimization while also providing very good point read performance when it is coupled with Bloom filters. Numerous proposals for variations on LSM-tree seek to strike different balances for the intrinsic read-write tradeoff [7], demonstrated in a multitude of academic systems [8, 11, 24, 25, 27, 28, 42, 45–47, 54, 56, 61, 62, 64, 67, 72]. Filtering on LSM-trees. As LSM-based key-value stores need to support fast writes, the ingested data is inserted into an in-memory buffer. When the buffer grows beyond a predetermined threshold, it is flushed to disk and periodically merged with the old data. This process repeats recursively, effectively creating a multi-level tree structure where every subsequent level contains older data. Every level may contain one or more runs (merged data) depending on how often merges happen. The size ratio (i.e., how much bigger every level is compared to the previous one) defines how deep and wide the tree structure grows [48], and also affects the frequency of merging new data with old data. As the capacity of levels increases exponentially, the number of levels is logarithmic with respect to the number of times the buffer has been flushed. To support efficient point reads, LSM-trees Research 23: OLAP, Data Warehouses, and Key-Value Stores SIGMOD ’20, June 14–19, 2020, Portland, OR, USA 2071 use in-memory Bloom filters to determine key membership within each persistent run. Each disk page of every run is covered by fence pointers in-memory (with min-max information). Collectively Bloom filters and fence pointers help reduce the cost of point queries to at most one I/O per run by sacrificing some memory and CPU cost [45]. Range Queries Are Hard. Range queries are increasingly important to modern applications, as social web application conversations [18], distributed key-value storage replication [63], statistics aggregation for time series workloads [49], and even SQL table accesses as tablename prefixed key requests [17, 35] are all use cases that derive richer functionality from building atop of key-value range queries. While LSMbased key-value stores support efficient writes and point queries, they suffer with range queries [25, 27, 28, 34, 57]. This is because we cannot rule out reading any data blocks of the target key range across all levels of the tree. Range queries can be long or short based on selectivity. The I/O cost of a long range query emanates mainly from accessing the last level of the tree because this level is exponentially larger than the rest, whereas the I/O cost of short range queries is (almost) equally distributed across all levels. State of the Art. Fence pointers can rule out disk blocks with contents that fall outside the target key range. However, once the qualifying data blocks are narrowed down, the queried range within a data block may be empty – a concern especially for short range queries. To improve range queries, modern key-value stores utilize Prefix Bloom filters [33] that hash prefixes of a predefined length of each key within Bloom filters [36]. Those prefixes can be used to rule out large ranges of data that are empty. While this is a major step forward, a crucial restriction is that this works only for range queries that can be expressed as fixed-prefix queries. The state of the art is Succinct Range Filter (SuRF) [74] that can filter arbitrary range queries by utilizing a compact trie-like data structure. SuRF encodes a trie of n nodes with maximum fanout of 256. The trie is culled at a certain prefix length. The basic version of SuRF stores minimum-length prefixes such that all keys can be uniquely represented and identified. Other SuRF variants store additional information such as hash bits of the keys (SuRF-Hash) or extra bits of the key suffixes (SuRF-Real). Problem 1: Short and Medium Range Queries are Significantly Sub-Optimal. Although trie-culling in SuRF is effective for long range queries, it is not very effective on short ranges as (i) short range queries have a high probability of being empty and (ii) the culled prefixes may not help as the keys differ mostly by the least significant bits. Similarly, fence pointers or Prefix Bloom filters cannot help with short range queries unless the data is extremely sparse. On the other hand, if a workload is dominated by (very) long range queries, then a write-optimized multi-level key-value store is far from optimal regardless of the filter used: instead, a scan-optimized columnar-like system is appropriate [1]. Problem 2: Lack of Support for Workloads With KeyQuery Correlation or Skew. Unlike hash-based filters1 such as Bloom and Cuckoo filters [10, 37], both Prefix Bloom filters and SuRF are dependent on the distribution of keys and queries, and as such, are affected by certain properties of the distribution. Specifically, a major source of false positives in these filters is when a queried key does not exist but shares the prefix with an existing one. Such workloads are common in applications that care about the local properties of data. For example, a common use case of an e-commerce application is to find the next order id corresponding to a given order id. This translates to querying the lexicographically smallest key that is greater than the current key. Other examples include time-series applications that often compare events occurring within a short time range for temporal analysis or geo-spatial applications that deal with points-of-interest data which are queried to search a local neighborhood. In fact, the RocksDB API [36] accesses keys through an iterator that steps through the keys in lexicographical order. Similarly, existing filters do not take advantage of skew, for instance when key distributions are sparse and target ranges contain empty gaps in key range. Overall Problem: Sub-Optimal Performance for Diverse Workloads and Point Queries. Overall, existing filters in key-value stores suffer in FPR performance due to variation of one or more of the following parameters – range sizes, key distributions, query distributions, and key types. Another critical problem is that neither indexing prefixes with Prefix Bloom filters nor using SuRF (even SuRF-Hash) can help (much) with point queries. In fact, point query performance degrades significantly with these filters. Thus, for workloads that contain both point queries and range queries, an LSMtree based key-value store with such filters needs to either maintain a separate Bloom filter per run to index full keys or suffer a high false positive rate for point queries. Our Intuition:We Can Afford to Give Up CPU. All stateof-the-art filters such as, Bloom filters, Quotient filters [9], and SuRF trade among the following to gain in end-to-end performance in terms of data access costs. (1) Memory cost for storing the filter (2) Probe cost, i.e., the time needed to query the filter (3) False positive rate, which reflects how many empty queries are not detected by the filter, thus leading to unnecessary storage I/O These tradeoffs make sense because an evolving hardware trend is that contemporary speed of CPU processing facilitates fast in-memory computations in a matter of tens of 1SuRF-Hash uses hashes to improve point-queries, not for range filtering. Research 23: OLAP, Data Warehouses, and Key-Value Stores SIGMOD ’20, June 14–19, 2020, Portland, OR, USA 2072 nanoseconds, whereas even the fastest SSD disks take tens of microseconds to fetch data. In this paper, we use an additional insight which we also demonstrate experimentally later on. When a range filter is properly integrated into a full system, the probe cost of the filter is, in fact, a small portion of the overall key-value store system CPU cost (less than 5%). This is because of additional CPU overhead emanating from range queries traversing iterators (requiring a series of fence pointer comparisons) for each relevant run, and resulting deserialization costs for maintaining the system block cache for both metadata (filters and fence pointers) and data. Thus, since we target specifically LSM-tree based key-value stores, we have even more leeway to optimize the range filter design with respect to both probe cost (CPU) we can afford and FPR we can achieve. Rosetta. We introduce a new filter, termed Rosetta (A Robust Space-Time Optimized Range Filter for Key-Value Stores), which allows for efficient and robust range and point queries in workloads where state-of-the-art filters suffer. Rosetta is designed with the CPU/FPR tradeoff from the ground up and inherently sacrifices filter probe cost to improve on FPR. The core of the new design is in translating range queries into prefix queries, which can then be turned into point queries. Rosetta stores all prefixes for each key in a series of Bloom filters organized at different levels. For every key, each prefix is hashed into the Bloom filter belonging to the same level as that of the prefix length. For example, when the key 6 (which corresponds to 0110) is inserted to Rosetta, all possible prefixes ?, 0, 01, 011, and 0110 are inserted to the first, second, third, fourth, and fifth Bloom filter respectively. A range query of size R (i.e., with the form [A,A+R?1]) is decomposed into at most 2 log2 (R) dyadic ranges (i.e., ranges of size 2 r that share the same binary prefix for some length r). In essence, this design builds a series of implicit Segment Trees on top of the Bloom filters. Due to the multiple probes required (for every prefix) Rosetta has a high probe cost. Rosetta also adaptively auto-tunes to sacrifice as much probe cost as possible in favor of FPR by monitoring workloads’ patterns and deciding optimal bit allocation across Bloom filters (by flattening the implicit Segment Tree when possible). Our contributions are as follows: ? We introduce a new range filter design for key-value stores which utilizes auxiliary CPU resources to achieve a low false positive rate. The core design is about storing all prefixes of keys in a series of Bloom filters organized in an implicit Segment Tree structure. ? We show that Rosetta approaches the optimal memory lower bound for any false positive rate within a constant factor. ? We show that Rosetta can be configured in versatile ways to balance the trade-off between filter probe cost, memory cost, and false positive rate. This is done by controlling the number of Bloom filters being used as well as the memory used at each Bloom filter. ? We show how to integrate Rosetta in a full system, RocksDB and the effect of several design factors that affect full system performance including the number of iterators per query, deserialization costs, seek cost, and SST file size. ? We demonstrate that compared to RocksDB (with fence pointers and Prefix Bloom filters), Rosetta brings an up to 40x improvement for short and medium range queries, while compared to RocksDB with SuRF, Rosetta improves by a factor of 2-5x. These improvements are observed across diverse workloads (uniform, correlated, skewed) and across different memory hierarchy layers (memory, SSD, hard disk). ? As components of end-to-end performance, we show the fundamental tradeoffs between filter construction latency, filter probe lat

Adaptive Beamforming for Target Detection and Surveillance Based on Distributed Unmanned Aerial Vehicle Platforms
時間: 2021-08-17 10:46:52

ABSTRACT A distributed sensor array network for target detection and surveillance is studied with sub-arrays placed on unmanned aerial vehicle (UAV) platforms, where arbitrary locations and rotation angles are allocated to each UAV-based sub-array in the predefined Cartesian coordinate system. In this model, one transmitter sends out a single signal and it is then reflected back from the targets and received by the distributed sensor array system. A joint reference signal-based beamformer (JRSB) is proposed for the static/slowly moving targets and UAV platforms where the Doppler effects can be ignored, leading to improved performance by exploiting the information collected by all the sub-arrays simultaneously. Then, the developed beamformer is extended to the dynamic case considering the Doppler effects, referred to as the frequency extended JRSB (FE-JRSB), achieving the potential maximum output signal to interference plus noise ratio (SINR) by exploiting the information across the potential frequencies of interest jointly. The output signal of the beamformer with increased SINR can be used to assist the extended target detection in the following processing. Simulation results show that both are able to extract the signals of interest while suppressing interfering signals, and a lower mean square error and a higher output SINR are achieved compared with a regular reference signal-based beamformer using a single sub-array. One unique feature of the provided solutions is that, although the signals involved are narrowband, the employed beamforming structure has to be wideband for it to be effective. INDEX TERMS Adaptive beamforming, distributed sensor network, unmanned aerial vehicle, static/moving targets, Doppler frequency. I. INTRODUCTION With the purpose of enhancing the received signals of interest (SOI) from certain directions while suppressing the interfering signals from other directions in a data-dependent manner, adaptive beamforming has been studied over the decades due to its extensive applications in wireless communications, radar, sonar, navigation, medical diagnosis, speech enhancement, and so on [1]–[4]. The linearly constrained minimum variance (LCMV) beamformer and the reference signal based (RSB) beamformer are two classes of well-known beamformers [5]–[8]. For the LCMV beamformer, the direction of arrival (DOA) information of the signal of interest is known or can be estimated in advance. By imposing several linear constraints to the minimization problem of the output variance, the LCMV beamformer and their extensions [9], [10] offer improved robustness against inaccurate DOA estimates as well as sensor position errors and other advantages such as flexible sidelobe control. On the other hand, a reference signal is assumed to be available for the RSB beamformer [11], [12], where adaptive beamforming is achieved by minimizing the mean square error (MSE) between the reference signal and the beamformer output. Most of the adaptive algorithms for both beamformers are derived based on some stochastic gradient (SG) methods [13], and many variations and extensions in the wideband case have been proposed [14]–[18]. In active sensing applications for target detection and parameter estimation, digital beamforming is applied to phased and adaptive arrays [19], [20] to maximize the signal to noise plus interference ratio (SINR). Space-time adaptive 60812 This work is licensed under a Creative Commons Attribution 3.0 License. For more information, see http://creativecommons.org/licenses/by/3.0/ VOLUME 6, 2018 Q. Shen et al.: Adaptive Beamforming for Target Detection and Surveillance Based on Distributed UAV Platforms processing (STAP) [21]–[23] is proposed for moving target indication against strong interference background through spatial (or space-time) beamforming. Traditionally, the aforementioned beamformers are based on a single array with its sensors considered as part of a whole centered system, and distributed sensor arrays based on multistatic platforms have attracted increasing attention in recent years. For example, distributed microphone arrays are employed to extract spatial information for acoustic scene analysis [24], and multistatic radar systems [25], [26] are utilized for target detection and localization. However, a multistatic radar system consists of independent radars performing local processing, with a central processor fusing these information to form a final decision instead of coherent accumulation across all signals collected by independent radars simultaneously. The MIMO radar with widely separated antennas [26], [27] is employed for target detection and tracking with improved performance by exploiting radar cross section (RCS) spatial diversity. Therefore, in this paper, a distributed sensor array network for target detection and surveillance with sub-arrays based on unmanned aerial vehicle (UAV) platforms is studied, where the sub-array on each UAV may have an arbitrary rotation angle in the predefined Cartesian coordinate system, which results in different impinging angles for different UAVs. For such a distributed sensor array system, it is necessary to enhance the received signals of interest for this kind of resource-limited (in terms of energy consumption, weight, and size) distributed UAV platforms via exploiting information acquired by all distributed sub-arrays simultaneously. Since the sub-array based UAV platforms may have unknown positions, velocities, moving directions, and rotation angles, this is an extremely challenging problem. In this studied scenario, one transmitter sends out a known signal and it is then reflected back from the target and received by the distributed sensor array system. The known transmitted signal can be considered as a reference signal. Based on this model, first we consider the case with static or slowly moving targets and UAV platforms, where the Doppler effect can be ignored, and a joint reference signal based beamformer (JRSB) is proposed to exploit the information acquired by all sub-arrays simultaneously, leading to improved performance compared with that of a regular RSB applied to a single UAV. Due to the extremely large spacing among the UAV platforms compared to half wavelength at the working frequency, signals received at different sub-arrays should not be considered as narrowband anymore and a wideband beamforming structure should be employed instead [15], [16]. Then, we consider a dynamic case with moving targets and UAV platforms, where the Doppler effect cannot be ignored. To perform beamforming without prior knowledge of the motion parameters of both the targets and the UAV platforms, the JRSB is further extended as a solution by modulating the received signals into different frequency bins in the first step, referred to as the frequency extended joint reference signal based beamformer (FE-JRSB), to exploit the information across the frequencies of interest jointly. The potential maximum output SINR can be achieved by the FE-JRSB without sacrificing any information, and the output signal of the beamformer with increased SINR can be used for extended target detection in the following processing. This paper is structured as follows. The distributed sensor array network consisting of different sub-arrays carried by UAV platforms is presented in Section II. The developed joint reference signal based beamformer (JRSB) for static (or slowly moving) targets and UAV platforms is proposed in Section III, and the frequency extended joint reference signal based beamformer (FE-JRSB) for the dynamic case is proposed in Section IV. Simulation results are provided in Section V, and conclusions are drawn in Section VI. II. SYSTEM MODEL FOR DISTRIBUTED UAV PLATFORMS We first establish the system model consisting of static (or slowly moving so that the Doppler effect can be ignored) targets and UAV platforms, and the dynamic case of moving targets and UAV platforms will be introduced in Section IV. Consider a distributed sensor array network with M sub-arrays and each sub-array is fixed on a UAV platform, where Um(xm, ym) represents the location of the m-th UAV in a predefined Cartesian coordinate system as shown in Fig. 1. For this distributed sensor array network, a transmitter is employed to send relatively narrowband (compared to the sub-array aperture) electro-magnetic waves into the space, and the echo signals reflected from far-field targets are then received by the sub-array placed on each UAV. There are also

在線客服

售前咨詢
售后咨詢
微信號
Essay_Cheery
微信
墨尔本assignment代写,代写毕业论文,paper代写-51作业君 北美代写,程序代做,程序代写,java代写,python代写,c++代写,c代写 英国代写paper,python代写,Report代写,编程代写-程序代写网 北美代写essay,程序代写,Java代写代做,Java代考-焦点论文 澳大利亚essay代写,编程代写,代码代写,程序代写-三洋编程 加拿大essay代写|程序代写代做||Python代写|Matlab代写-Meeloun 澳大利亚代写,代写essay,代写毕业论文,留学生代写-小马代写 日本代写,北美作业代写,新加坡代写,essay代写-无时差服务 加拿大代写,作业代写,exam代考,Report代写,代写文章-最靠谱最低价 新加坡代写,北美CS代写,python代写,CS编程代写-新顾客立减20%