Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all 12506 articles
Browse latest View live

Send data to windows xp logon screen

$
0
0

Hi, this my first post and I hope to find a solution to my problem.

 

I have written a very simple script that normally sends the username, tab, password, enter keys to Log on to Windows screen. I try to run this script remotelly using the psexec.exe but whereas it runs nothing else happen. The logon screen doesn't receive the data that I send.  :


Create image on the fly

$
0
0

Is it possible to have a function that create image on the fly based on user input?

 

Let say, user input "AutoIT Rulez888!!" then this function will create a file with .png extension that will display the text (image) "AutoIT Rulez888!!".

 

We can choose the font, size and the target filename.

 

And second, could we create the above image with not only text, but with another predefined image?

Example: http://www.google.com/mapfiles/markerA.png

 

When user input "AutoIT Rulez888!!", it will create a balloon (marker) like the one from google above with text "AutoIT Rulez888!!" on the balloon.

So instead of "A" on the baloon (marker), now it's "AutoIT Rulez888!!" on the balloon.

 

Not possible?

 

UEZ? :P

I want my .EXE should be protected, i use autoit v3.3.81

$
0
0

Hi Everyone,

 

Sorry, if am asking a common question which is asked my most of the guys. 

I check in forum for this question, but all are dated 3 years before. 

 

Am using autoit v3.3.8.1 i complied my .au3 to get an EXE.

i dont want anyone to decompile my EXE to .au3 to know my scripting. Can decompliation be done with newer version compiled EXE too ?

 

is there any way to prevent that ?

 

 

Please assist.

 

Cheers

Project ready (final EXE created)- need to apply standards

$
0
0

Hi Everyone,

 

I have successfully completed my project, i have my final .EXE to deliver. I need to apply few standards to my Final EXE.

 

1. When i move my cursor over my EXE it shows be autoit version (3.3.8.1) - Please find the attached screenshot, i want to name my EXE version as 1.0 and 1.0 should be visible  

 

 

2. When i move the cursor over my EXE file, i need to have an option Aurthor: ****** *****  (with some name visible) - which is the option to do that. 

 

Please help. 

 

 

Cheers

Check if mouse moved to left or right

$
0
0

Hey all,

 

At the moment i'm learning autoit and i was wondering how i could see if my mouse move on the X to left or Right?

 

I use this to get the center of the screen.

$x = @DesktopWidth / 2 $y = @DesktopHeight / 2

Now i want, in a loop.

If mouse move to left side of the $x then 

 

else if mouse move to right side of the $x then

 

endif

 

Is this possible?

 

 

Bring up the Rainmeter window

$
0
0

Is it possible to get up the Rainmeter window somehow? If I try to Run it, nothing happens. Probably because the program is already running. So, is this possible somehow?

Fill Edit Box with _GUICtrlEdit_SetText troubles

$
0
0

Maybe somebody can tell me why this Func works:

Func  _showSelected()                $sSelect = "C:\Users\billo\Desktop\AutitScripts\AutoIT_v3_PenDrive\Examples\Helpfile\_IEFormElementSetValue.au3"     _GUICtrlEdit_SetText($hEdit, FileRead($sSelect)) EndFunc

And this one doesn't

Func  _showSelected()          $iSelect = ControlListView($Form1, "", $FoundList, "GetSelected")          ConsoleWrite("$iSelect" & $iSelect & @CR)          $sSelect = ControlListView($Form1, "", $FoundList, "GetText", $iSelect)          ConsoleWrite("$sSelect" & $sSelect & @CR)     _GUICtrlEdit_SetText($hEdit, FileRead($sSelect)) EndFunc

Without having to post the entire script?

 

$hEdit is a standard GUI Edit box

 

The console view of $sSelect is exactly the same as above $sSelect w\out the quotes.

 

$FoundList is only a list of paths similar to the $sSelect in the first script.

I thought it might have something to do with quotes but I have tried bunches of tricks and nothing...

 

Any suggestions are welcome...

Thanks,

Bill

Help with trigonometrics

$
0
0

Hello again from Barcelona  :bye:

 

I'm trying to do a completely spheric spring in my job. The cnc machines that I use do let you introduce the desired diameter of each coil and the amount of wire that you want to do it.

 

I can calculate the diameter of each coil manually, but I though that it was going to be the easy thing to create a little script in Autoit to do the job for me.

 

This image shows perfectly what I'm trying to do:

 

Dibujo+zoom+bola2.jpg

This is what I have done so far:

AutoIt         
#include <GDIPlus.au3> #include <WinAPI.au3> #include <Constants.au3> #include <WindowsConstants.au3> #include <GUIConstants.au3> #include <GUIConstantsEx.au3> #include <StructureConstants.au3> #include <Misc.au3> #include <Array.au3> #include <ComboConstants.au3> #include <StaticConstants.au3> #include <GuiEdit.au3> Global Const $M_PI = 3.14159265358979323846 Global $iDecimal = 7 ;I do declare the global variables with dummy data to prevent warnings during compilation Global $possibleballs = 1 Global $finalballs = 1 Global $middlediameterfinal = 1 Global $wire = 1 $hWnd = GUICreate("Calculador Ø", 210, 210); the gui ;$Pic1 = GUICtrlCreatePic("", 20, 10, 298 / 3, 221 / 3) $label1 = GUICtrlCreateLabel("Wire Ø", 10, 15, 75);an input to ask for the wire to be used. GUICtrlSetFont(-1, 12) $input1 = GUICtrlCreateInput("1", 98, 15, 50, 20) $label2 = GUICtrlCreateLabel("Max Ø", 10, 50, 75); another input asking for the maximum outer diameter of the spring GUICtrlSetFont(-1, 12) $input2 = GUICtrlCreateInput("10", 98, 50, 50, 20) $labelnt = GUICtrlCreateLabel("Nt", 10, 85, 75); total number of coils that we want (depending of the outer diameter you will be tied to use more or less) GUICtrlSetFont(-1, 12) $inputnt = GUICtrlCreateInput("10", 98, 85, 50, 20) $button = GUICtrlCreateButton("CALCULATE", 10, 148 + 35, 90, 22); a button to calculate the maximum allowed coils with the desired wire and outer diameter) $button2 = GUICtrlCreateButton("PROCEED", 110, 148 + 35, 90, 22); When we have already deerminated the desired coils and outer diameter we proceed to look for the diameter of each coil $label3 = GUICtrlCreateLabel("", 10, 85 + 35, 190, 25);blank labels to be filled later with data GUICtrlSetFont(-1, 12) $label4 = GUICtrlCreateLabel("", 10, 115 + 35, 190, 25);blank labels to be filled later with data GUICtrlSetFont(-1, 12) GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND"); based on forum search to allow decimal places inside the previous inputs GUISetState() While 1     $msg = GUIGetMsg()     Select         Case $msg = $GUI_EVENT_CLOSE             Exit         Case $msg = $button             $Maxdiameter = GUICtrlRead($input2)             $Maxradius = Number($Maxdiameter) / 2 ;with that we do know the radius of the spring             $wire = GUICtrlRead($input1)             $Middlediameter = $Maxdiameter - $wire ; I do calculate an imaginated sphere with the spring's diameter - the diameter of the wire, so every point             ; of the new sphere will pass through the middle of the wire             calculate()         Case $msg = $button2 ;when all the data has been confirmed the I read again the inputs and I do proceed to search the diameter of each coil             $Maxdiameter = GUICtrlRead($input2)             $Maxradius = Number($Maxdiameter) / 2             $wire = GUICtrlRead($input1)             $Middlediameter = $Maxdiameter - $wire             proceed()     EndSelect     Sleep(20) WEnd Func calculate()     $perimeter = $Middlediameter * $M_PI ; with this I know the lenght of the little sphere that will hold the wire     $possibleballs = $perimeter / $wire ;now we know how many times we can fit the wire inside this sphere     ;ConsoleWrite ( $possibleballs & @CRLF)     GUICtrlSetData($label3, "nt = " & (Round($possibleballs / 2, 2))) ;and I do write it in the gui. Notice that I have divided the possible times that wire can     ; be fitted in the new sphere because every coil of the spring is going to be formed by 2 times the wire     $finalballs = Round($possibleballs, 0); I round the number of possible balls of wire     ;ConsoleWrite ( $finalballs & @CRLF)     $perimeterparcial = $finalballs * $wire ; and I do calculate what do exactly would be the diameter of the spring if you input more coils than the wire that fits     ;in the max outer diameter     $middlediameterfinal = $perimeterparcial / $M_PI ; if we do keep the number of coils (even if they don't fit in the max outer diameter     ;I do calculate the diamter that a perfect spheric spring would have with this number of coils     ;ConsoleWrite ( $middlediameterfinal & @CRLF)     $Maxdiameterfinal = $middlediameterfinal + $wire ;the sring diameter would be the middle diameter of the new sphere plus the diameter of the wire     GUICtrlSetData($label4, "With nt =" & $finalballs / 2 & " Ø =" & Round($Maxdiameterfinal, 4))     ;I do inform int he gui about what size would have the spring to be completely shperic with this number of coils EndFunc   ;==>calculate Func proceed()     $i = 1 ;a variable to increase during the loop to get the new position of every coil     $degreejump = 360 / (Number(GUICtrlRead($inputnt)) * 2);    I calculate in how many degrees are we going to find the middle of each coil     ;it is *2 because every coil is going to be formed by 2 wires (one on each side of the sphere)     ConsoleWrite("One wire ball every " & $degreejump & " degree" & @CRLF & @CRLF)     $firstdegree = $degreejump / 2 ;I do that to don't cut th first wire by the half like it is the 12 in a clock.     Do         $diameter0 = $middlediameterfinal * Cos($firstdegree) ; I look for the lenght of the c side of the triangle knowing that the hipotenuse = radius of the middle sphere * cos of the         ;A angle (look to the drawing)         $diameter1 = ($diameter0 * 2) + $wire ;so now, knowing the lenght of the c side I multiplicate it by 2 and I add the wire diameter to get the diameter of the spring         ;in that point         ConsoleWrite("The outer diameter of the " & $i & " coil is: " & $diameter1 & @CRLF)         $i = $i + 1         ;$degreejump = $degreejump * $i         $firstdegree = $firstdegree + $degreejump     Until $firstdegree > 90     Exit EndFunc   ;==>proceed Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)     Local $iIDFrom = BitAND($wParam, 0xFFFF);LoWord     Local $iCode = BitShift($wParam, 16) ;HiWord     If $iIDFrom = $input1 And $iCode = $EN_CHANGE Then         $Read_Input = GUICtrlRead($input1)         If StringRegExp($Read_Input, '[^\d.-]|([{0-9,1}^\A-])[^\d.]') Then $Read_Input = StringRegExpReplace($Read_Input, '[^\d.-]|([{0-9,1}^\A-])[^\d.]', '\1')         $Point1 = StringInStr($Read_Input, ".", 0)         $Point2 = StringInStr($Read_Input, ".", 0, 2)         If $Point2 <> 0 Then $Read_Input = StringLeft($Read_Input, $Point2 - 1)         If $Point1 <> 0 Then $Read_Input = StringLeft($Read_Input, $Point1 + $iDecimal)         GUICtrlSetData($input1, $Read_Input)     EndIf     If $iIDFrom = $input2 And $iCode = $EN_CHANGE Then         $Read_Input2 = GUICtrlRead($input2)         If StringRegExp($Read_Input2, '[^\d.-]|([{0-9,1}^\A-])[^\d.]') Then $Read_Input2 = StringRegExpReplace($Read_Input2, '[^\d.-]|([{0-9,1}^\A-])[^\d.]', '\1')         $Point11 = StringInStr($Read_Input2, ".", 0)         $Point22 = StringInStr($Read_Input2, ".", 0, 2)         If $Point22 <> 0 Then $Read_Input2 = StringLeft($Read_Input2, $Point22 - 1)         If $Point11 <> 0 Then $Read_Input2 = StringLeft($Read_Input2, $Point11 + $iDecimal)         GUICtrlSetData($input2, $Read_Input2)     EndIf     If $iIDFrom = $inputnt And $iCode = $EN_CHANGE Then         $Read_Inputnt = GUICtrlRead($inputnt)         If StringRegExp($Read_Inputnt, '[^\d.-]|([{0-9,1}^\A-])[^\d.]') Then $Read_Inputnt = StringRegExpReplace($Read_Inputnt, '[^\d.-]|([{0-9,1}^\A-])[^\d.]', '\1')         $Point11 = StringInStr($Read_Inputnt, ".", 0)         $Pointntnt = StringInStr($Read_Inputnt, ".", 0, 2)         If $Pointntnt <> 0 Then $Read_Inputnt = StringLeft($Read_Inputnt, $Pointntnt - 1)         If $Point11 <> 0 Then $Read_Inputnt = StringLeft($Read_Inputnt, $Point11 + $iDecimal)         GUICtrlSetData($inputnt, $Read_Inputnt)     EndIf EndFunc   ;==>MY_WM_COMMAND

My goal is to fill an array with the needed diameters in each coil (I can program the machine increasing 1 coil while it is increasing the diameter to the next calculated point).

 

My problem is that I don't know how to correctly do the looping to get the lenght of the c side of the triangle everytime that I pass from one coil to another.

 

Could anybody please bring some light?

 

Thanks a lot for all your help.


[Solved] Unknown function name, function in external udf.

$
0
0

Solved: The include that I was writing had the same name as one of the ones provided with autoit so autoit was using the one it provided instead of mine. Simple name change fixes this problem.

 

I'm creating a script which uses a function in an external udf. When I copy the function to the original script it runs fine but when I cut and paste it into the udf it doesn't find the function name. I have included the file and check my syntax, even copy and pasted the simple filename to make sure it wasn't a type. Is there any other reason this error would show up? My script is uncompiled at the moment.

 

Edit: Solved

Help with StringRegExp

$
0
0

I am having a problem searching for multiple word patterns in a test string. I want to find any number of words in a string and they may occur in any order. After a few hours reading\searching the web and playing around I have a solution to do this if the search strings order matches the order the words occur in the test string, but I am unable to identify the pattern to achieve my main goal

 

The code I have is

Local $sString = 'Windows6.0-KB2803821-v2-x64.msu' Local $sSearch = 'Windows6.0|x64' $sSearch = '(?i)\b' & StringReplace($sSearch, '|', '\b.*\b') & '\b.*' ;~ MsgBox(0,'', $sSearch) Local $vRet = StringRegExp($sString, $sSearch) If @error then     MsgBox(0,'Error', @error) Else     MsgBox(0,'Found', $vRet) EndIf

If I Switch the delimited strings order a match is not found. What am I missing to fix this?. I am thinking there should be a ? in the pattern and have added  some hoping to stumble on a solution but tot no avail :idiot:

 

Thanks

Can autoit change powerplan ?

$
0
0

I want to change powerplan from what ever i have available to what ever else i have available when executing a game.

I start games by a script, so is there a line that i could add to change powerplan ?

 

Use of swichable graphics is dumb, because GPU gets switched but PCI link is not unless i change it manually or change to powerplan that has it OFF

 

 

Thanks in advance.

Help with finding largest of 5 random variables

$
0
0

Hey guys, I have a problem with finding the biggest number of 5 (random) variables in these 2 different situations.

 

Situation 1

 

$number1= 5

$number2= 7

$number3= 6

$number4= 8

$number5= 2

 

It does NOT have to tell me that 8 was the biggest, instead I want it to tell me that $number4 was the largest number.

 

Situation 2

$number1= 7

$number2= 7

$number3= 3

$number4= 7

$number5= 7

 

In this situation, I just want him to tell me that $number1 was the largest number, and forget about $number 2, 4 and 5. It has to pick out the largest number while choosing in "order". So if $number1 was 5, it had to tell me that $number2 was the biggest and forget about $number4 and $number 5.

 

Thanks a lot for reading! :thumbsup:

 

 

display drop down list in a vba gui

$
0
0

I have an .xls  that i use for automation that I have rather badly created a vba input gui. But that was a few years ago and now I need to enhance it to include a list for selection of test cases to run.; I have another spreadsheet that has all my testcasesand each worksheet has the test case name as its worksheet name. So what i would like is while my vba gui is displayed, I would like to create an autoit gui to display those testcase names in a drop down list that are there to be selected. either single selection or multiple - can anyone tell me how to do this? I am attaching the spreadsheet with the test case names. 

Attached Files

IE.au3 Click submit button

$
0
0

Hi Autoit Forum ,

I want to learn how to click a submit  who have to know class and value.

<input class="classb" type="submit" name="R_YTRD" value="Sign In"/>

 

 

Thanks ..

Quick question with DLLStructs

$
0
0

I've only just started working with DllStruct and I'm getting what I need accomplished I just had one question. I'm also not quite sure how to search for this within the forums but I looked around for a few moments.

 

Taken from the help file:

Local $str = "int var1;byte var2;uint var3;char var4[128]"

 

what is the "[128]" fallowing var4? Memory size?


Problems Running Command Prompt

$
0
0

Hello, I work for a comptuer shop and we are using AutoIT to perform daily tasks.We are currently writing a script to run at the start of our custom Win8 PE. This script will run chkdsk and defrag on every drive that is not drive B: or drive X:, as those are the ones used to run the PE. Writing out that part is no problem, we have that completely functional.

 

The problem we are encountering is that when we open a command prompt in AutoIT using Run("X:\Windows\System32\cmd.exe") and we run the command dir *.exe it will return a different amount of files than if we run that same command in a prompt not opened by AutoIT. When the computer is in PE and we try to run RunWait("X:\Windows\System32\cmd /c chkdsk " & $drive_letter & " /f") we will get a 'chkdsk' is not a valid command' and we get this because in the AutoIT cmd window chkdsk.exe does not shop up on the dir *.exe list.

 

Even in regular Windows the AutoIT command prompt returns a different amount of items, but it has chkdsk.exe on the list. Has anyone encountered this problem? Anyway to get around it?

We have tried ShellExecute, RunAs(), and creating a batch file and the running it and that doesn't work.

swnm.jpg

Selecting one of multiple Dropdown Menus [Problem]

$
0
0

Hello,

 

I am both new to AutoIt and to this forum.

 

Unfortunately, I could not find an answer or a solution to my problem, which is choosing something from a selected dropdown menu.

 

In detail, I have a page I wish to navigate and from which I wish to download a programme. My problem is that there are two, sometimes more, dropdown menus that need to be set in order to commence with the download.

 

This is the script I have managed so far, which was not very successful I am afraid;

 

$my_url = "http://xxxxx"

 

ShellExecute ( "C:\Program Files (x86)\Mozilla Firefox\firefox.exe", $my_url )

 

ControlCommand('[CLASS:WindowsForms10.COMBOBOX.app.0.2004eee; INSTANCE:3]','','controlID',"SelectString", xxxxx)

 

I have been watching the tutorials, which are immensely helpful, and I will continue to study them and this page. However, if anyone has an idea on how to solve this problem, I thank you in advance.

 

Best,

LL77

Easy Script

$
0
0

Hi, im very new in AutoIt. I downloaded a script and modified anything, but now I have a problem...

AutoIt         
  1. Func CheckMyFarm()
  2.     ClickImage($farmDir,"myfarm")
  3.     Sleep(1000)
  4.     Do
  5.         Sleep(100)
  6.     Until ClickImage($farmDir,"stealplant") = False
  7.     Do
  8.         Sleep(100)
  9.     Until ClickImage($farmDir,"exterminateplant") = False
  10.     Do
  11.         Sleep(100)
  12.     Until ClickImage($farmDir,"weedplant") = False
  13.  
  14. Func CheckForSteals()
  15.     If $stealCrops = False Then
  16.         Return
  17.     EndIf
  18.     If ClickImage($farmDir,"stealfriend") Then
  19.         Do
  20.             Sleep(100)
  21.         Until ClickImage($farmDir,"stealplant") = False
  22.     EndIf
  23.  
  24. Func CheckForRecharges()
  25.     If $rechargeTrees = False Then
  26.         Return
  27.     EndIf
  28.     If ClickImage($farmDir,"rechargefriend") Then
  29.         Do
  30.             Sleep(100)
  31.         Until ClickImage($farmDir,"treeofancients") = False
  32.     EndIf
  33.  
  34. Func NextPage()
  35.     If $pageNumber < $numberOfPages Then
  36.         $pageNumber += 1
  37.         ClickImage($farmDir,"nextpage")
  38.     Else
  39.         $pageNumber = 1
  40.         ClickImage($farmDir,"firstpage")
  41.     EndIf
  42.  
  43. Func FriendsWithNeeds()
  44.     If $stealCrops And CheckFor($farmDir,"stealfriend") Then
  45.         Return True
  46.     ElseIf $rechargeTrees And CheckFor($farmDir,"rechargefriend") Then
  47.         Return True
  48.     Else
  49.         Return False
  50.     EndIf
  51.  
  52. Func RunScript()
  53.     ;Main script activated by hotkey
  54.     CheckFor($farmDir,"farmsign")
  55.     While 1
  56.         If $pageNumber = 1 Then
  57.             CheckMyFarm()
  58.         EndIf
  59.         While FriendsWithNeeds()
  60.             CheckForSteals()
  61.             CheckForRecharges()
  62.             CheckForRevives()
  63.             CheckForExterminates()
  64.             CheckForWeeds()
  65.         WEnd
  66.         NextPage()
  67.     WEnd

Thats now the Original code and I want... That he run the main script, acter he did his $pageNumber he shouldnt click "firstpage", but next Account/Browser and then first page... I need it for 4 Accounts, so after 2nd he shall click 3rd accound and first page, after last account he shall click again 1st account and "firstpage".

 

I tried now any kinds in main function and Func NextPage() but rly havent an idea what I can do.. 1 Problem I think is, he cant find the browser-picture in the taskbar, tried some codes that he should click on a other browser but dont did that.. Here are the codes for the ImageSearch functions and there is an imagesearch.au3 included.. How i understood it begin with the search from 0,0 to the end of desktop hight/width..

AutoIt         
  1. Func CheckFor($directory,$img,$tolerance=50,$startX=0,$startY=0,$endX=@DesktopWidth,$endY=@DesktopHeight,$seconds=$defaultCheckRate)
  2.     $c = 0
  3.     MouseMove($sX,$sY,0)
  4.     $string = $bmpLocation & "\" & $directory & "\" & $img & ".bmp"
  5.     $updateString = $img
  6.     ToolTip("Checking for " & $updateString,0,0)
  7.     $tolerance = 70
  8.     If $tolFail > 0 Then
  9.         $tolerance += $tolFail
  10.     EndIf
  11.     Do
  12.         $c += 1
  13.         Sleep(100)
  14.         If $c > ($seconds * 10) Then
  15.             Return False
  16.         EndIf
  17.     ;Until _ImageSearchArea($string,1,$startX,$startY,$endX,$endY,$gX,$gY,$tolerance)
  18.     Until _ImageSearchArea($string,1,216,180,1723,1002,$gX,$gY,$tolerance)
  19.     If $img = "farmsign" Then
  20.         $sX = $gX
  21.         $sY = $gY
  22.     EndIf
  23.     Sleep(500)
  24.     Return True
  25.  
  26. Func ClickImage($directory,$img,$tolerance=50,$startX=0,$startY=0,$endX=@DesktopWidth,$endY=@DesktopHeight,$seconds=$defaultCheckRate)
  27.     If CheckFor($directory,$img,$tolerance,$startX,$startY,$endX,$endY,$seconds) Then
  28.         MouseClick("left",$gX,$gY,1,0)
  29.         Return True
  30.     Else
  31.         Return False
  32.     EndIf
  33.  
  34. Func HoverOverImage($directory,$img,$tolerance=50,$startX=0,$startY=0,$endX=@DesktopWidth,$endY=@DesktopHeight,$seconds=$defaultCheckRate)
  35.     If CheckFor($directory,$img,$startX,$startY,$endX,$endY,$seconds,$tolerance) Then
  36.         MouseMove($gX,$gY,0)
  37.         Sleep(2000)
  38.         Return True
  39.     Else
  40.         Return False
  41.     EndIf

I dont think it's that much hard, but like I said Im new in this and need to learn it and it would be nice if some1 can help me and give me one or more codes how it can work and I will ask then what I dont understand :D

 

Btw. Sorry for my bad english haha

 

 

create multiple variables with a while loop

Easy AutoIt Script

$
0
0

Well, after I posted my question in wrong section I try now here and hope all is fine haha.

I downloaded a free script and modified anything but have now a problem and need help for it^^

Here any parts of the Original code:

-snip-

It do the $pageNumber and then just click "firstpage" and begin from new... Dont know why, but he cant find the "Acc1" to "Acc4" pics in taskbar, this are the pics of the Browsers... Or maybe something wrong in my code?

Viewing all 12506 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>