text:
Yorgos Pirpassopoulos
The Official Website of Actor | Yorgos Pirpassopoulos
NYFF 2015: Yorgos Pirpassopoulos Talks "Chevalier"
October 8, 2015 | By Dana Knight
Dana Knight sits down with actor Yorgos Pirpassopoulos, ahead of his time in Chevalier.
Yorgos Pirpassopoulos (left) and Efthymis Papadimitriou (right) in Athina Rachel Tsangari's "Chevalier."
Born in Adelaide, Australia, Yorgos Pirpassopoulos moved to Greece at a young age before attending the Royal Academy of Dramatic Arts (RADA) in London. His latest work, Chevalier, is currently playing at the 53rd New York Film Festival.
Dana Knight: How did you work with Athina Rachel Tsangari and the other actors on this film? I know you are all from different professional backgrounds, you being a famous theater actor.
Yorgos Pirpassopoulos: I have to say that the whole process from rehearsing to shooting was really fascinating, enjoyable, challenging and difficult. We were rehearsing in the actual location, which is rare. We were all open to bringing our own ideas and suggestions based on our characters attitude. Although we rehearsed beforehand I had a feeling that everything could change at any moment and that added a lot to the film. New things would occur and others where taken away. I remember one day I had off, for half of the day, and I went swimming. Athina was preparing for shooting on deck and saw me and started to film me swimming. One other time Makis Papadimitriou, who played my brother, was fishing from the yacht and that moment was filmed as well. Shooting in winter on a boat with us and the crew in a really restricted space was challenging. It requiredan economy of moves, plenty of concentration, and control of temper. The fact that we all admired, trusted and believed in Athina made us really open with each other and we developed a relationship that brought us closer, we were joking with each other most of the time.
DK: What did you think of the subject matter? Athina said some male viewers felt uncomfortable watching the film. What would you have to say to them?
Pirpassopoulos: I think the subject is really open to a lot of interpretations regarding human behaviors, existence, and functioning in a community as a human being. I had no idea at the beginning how this would end up as a complete film. I believe that the audience can see all the basic elements of a male personality. The needs, the insecurities, the sensitive or feminine side, the masculine side and the addictions. After watching the film I realized that one of the things I like is that I can sympathize with every character because I can see their vulnerabilities and I can understand their behavior. To the viewers that felt uncomfortable, I would tell them to think of the things that annoyed them and really ask themselves the real reason for this reaction.
DK: What did Chevalier mean to you? Did you perceive the text as very subversive to traditional notions of masculinity?
Pirpassopoulos: Chevalier, for me, is about finding a reason for self-justification and also a need to connect and be accepted. These guys are desperate for reassurance whilst also thinking, "I am the best." Regarding the notions of masculinity, I think it is subversive. The situation causes childish behavior, and it shows they are not really mature, despite them trying hard to prove the opposite.
Panos Koronis, Athina Rachel Tsangari, Yorgos Pirpassopoulos
1. Chevalier
http://www.bfi.org.uk/news-opinion/news-bfi/announcements/59th-bfi-london-film-festival-award-winners
Official Competition Winner - Best Film: Chevalier - Athina Rachel Tsangari
Recognising inspiring, inventive and distinctive filmmaking, the winner of the Best Film Award, went to Athina Rachel Tsangari's Chevalier, a biting, playful dissection of the male ego, featuring six men on a boat. The award was announced by president of the Official Competition jury, Pawel Pawlikowski, whose Ida won the LFF Best Film prize in 2013.
Pawel Pawlikowski said "Chevalier is a study of male antagonism seen through the eyes of a brave and original filmmaker. With great formal rigour and irresistible wit, Athina Rachel Tsangari has managed to make a film that is both a hilarious comedy and a deeply disturbing statement on the condition of western humanity".
Pawlikowski's fellow jurors were Christine Vachon (producer of Carol, this year's American Express Gala), the BAFTA-winning and Oscar and Golden Globe nominee Chiwetel Ejiofor, the BAFTA-winning and Oscar nominee Kristin Scott-Thomas, and Chinese director and screenwriter Mabel Cheung whose A Tale of Three Cities, featured in this year's programme.
Yorgos Pirpassopoulos, Kristin Scott-Thomas Panos Koronis, Chiwetel Ejiofor
Yorgos Pirpassopoulos, Panos Koronis Makis Papadimitriou
Two awards for Athena Tsangaris' film Chevalier in the 21st Sarajevo Film Festival.The film won the award for best cast (for stars Vangelis Mourikis, Makis Papadimitriou, Sakis Rouvas, Yorgos Pirpassopoulos, Panos Koronis and Yorgos Kentros), as well as the jury's special mention.
Makis Papadimitriou, Yorgos Pirpassopoulos Benicio Del Toro
Yorgos Pirpassopoulos Fanny Ardant


The U.S. Justice Department says Luis Hernando Gomez Bustamente, also known as "Rasguno," admitted he was a leader of the Norte Valle cartel.
At the U.S. District Court in Washington, Gomez also pleaded guilty to conspiring to make or distribute more than 10,000 kilograms of cocaine to be imported into the United States.
U.S. authorities say the Norte Valle drug ring has trafficked more than $10 billion worth of cocaine 500,000 kilograms into the country since 1990.
They say the cartel relied on a U.S.-designated terrorist group, the Autodefensas Unidas de Colombia (United Self-Defense Forces of Colombia), for protection.
Gomez already faces a minimum 10-year prison sentence for separate drug-trafficking offenses. He pleaded guilty to those charges in June at a federal court in New York.
Gomez was arrested in Cuba in 2004 after two years as a fugitive. In 2007, he was deported to Colombia and extradited to the United States.


Create perfect family moments with our selection of dining room furniture. Add a dash of style statement to your kitchen and dining area with our beautifully curated dining tables and chairs set. Whether you're enjoying a meal with family or during an occasion, we have the perfect dining set to complete those moments. From traditional to contemporary styles, you will find the perfect dining furniture and sideboards you deserve!


This is my character, James.
and a maquette using Sculpey, wire, and a wooden base, which I then painted over with white gesso.
and here he is running.
One of our assignments was to make an animation in which our character does something and goes through a change of emotion. Below is a rough pencil test of James experiencing an emotional shift.
This is a fininished, inked animation of James's emotional shift.
For our final project we had to put our character through some sort of emotional shift again. Using our character map, we had to think and be able to explain why our character would do something or react a certain way. We also had to have a lip synch.
Below is a storyboard of my final project.
Doorbell sound came from soundbible.
Here is a clip showing my process of compositing, color correction, and clean up.
And, finally, the final animation.
I also used this as my final project for my Sound Design for Animators class, so all of the sounds were recorded and edited by me.
I also had an assignment where I had to animate a four legged run in the middle of the semester.


Here's this month's radical record round-up, with an emphasis on International Workers' Day, May 1. What album, or albums, would you suggest? Comment below, on Twitter or Facebook.
To mark the 40th anniversary of the end of the Vietnam War on April 30, US rapper Marcel Cartier released the track "The Guns Of The Viet Minh".
Here's this month's radical record round-up, including a response to the "Reclaim Australia" rallies. What album, or albums, would you suggest? Comment below, on Twitter or Facebook.
Hard-hitting rapper Miss Hood comes from a long line of women warriors. Her ancestors, the Kunai and Gunditjmara people of eastern and western Victoria, put female fighters on the frontline.
"Both of the tribes were matriarchal, so women were equal to men," says the Melbourne-based emcee. "It wasn't unusual to have women warriors as well as men warriors."
Little wonder, then, that her music packs such a powerful feminist punch.
Here's this month's radical record round-up, with an emphasis on International Women's Day. What album, or albums, would you suggest? Comment below, on Twitter or Facebook.
The mainstream media are swarming all over the Redfern Aboriginal Tent Embassy and Felon Mason is stripped to the waist.
In the early days of hacker collective Anonymous, political activism seemed to be the last thing on its members' minds.
Seeking only laughs, usually at the expense of others, members would dismiss anyone they disapproved of as "fags". They held particular disdain for anyone hinting at political activism, who they slammed as "moralfags".
Here's this month's radical record round-up, from songs for warriors to chants for socialists. What album, or albums, would you suggest? Comment below, on Twitter or Facebook.
Lady Lash says it was her own family's trauma that inspired her to record "Stolen", a song about Indigenous children being taken from their parents.
"My grandmother, she went through a lot of the stuff where she was hidden," says the mother-of-three, who recorded the song in collaboration with a fellow Aboriginal rapper and parent, Provocalz.


Don't believe everything you see on the internet. Social media, like Twitter, is infested with fake posts that are intended to receive massive amounts of attention. These posts can make people angry, curious, or hopeful. Many people are unable to determine which posts are fake and which are true. There are many ways to figure out if a post is false by fact checking on the internet and making sure that there are credible sources that verify the post.
According to an article in the LA Times, false tweets spread faster than true tweets. They found that over 1000 minutes, true Tweets spread to 500 unique users and false Tweets spread to 9500 unique users. See the graph for the data collected.
We found articles and tweets that were fake as well as real. They came from various sources. We filmed students raw reactions to these posts and their guess on whether each was fake or real.


Coming so soon after the War Party's O'Hanlon/Pollack op-ed swoon, this Kagan/Daalder op-ed may be more excitement than the average jingo can handle. I suppose this would be an example of some of the precious bipartisanship that has become so scarce in Washington. Better yet, it must be more evidence that "Even The Liberal Brookings Institute" has begun to come around on the question of the circumstances of when the government should use force overseas. Why, Daalder's co-written an op-ed with one of the Kagans in favour of interventionism! On the editorial page of The Washington Post! In the popular conservative imagination, the Post is only slightly to "the right" of The Nation, so this must be a significant blow to the forces of defeatocracy (or whatever they call it). Bill Kristol's next column practically writes itself. That would all be the case, except that Ivo Daalder, like those "far leftie" colleagues of his, is a rabid interventionist now, and he has been for years. The Brookings Institute, that redoubt of peacenik radicalism, is one of the most staid, establishment consensus think tanks out there. If they are out there flacking for the war or interventionist foreign policy generally, it is not surprising in the least.
It has been fascinating to watch the war supporters' excitement around the O'Hanlon/Pollack op-ed, which continues today with Barone. Shorter Barone: "Why, look, a brief blip in public opinion in a less antiwar direction! Why, look, an op-ed about Iraq that is not completely filled with predictions of doom! Things are looking up! The Democrats are in trouble now!" Like Continetti's article yesterday, Barone recites the Tale of Nancy Boyda, which seems likely to become the regularly cited piece of evidence in every indictment of antiwar views from now on. The Tale recounts Boyda's "refusal" to hear positive news from Iraq. Now, not only do the media not report the "good news," but antiwar politicians won't even stand to listen to it–that will be the theme.
What is striking about it is that it does not represent the nature of the debate at all. It has hardly been the characteristic trait of the antiwar side of the debate to ignore evidence that did not match with our views. Recently, I have seen many people talking about how antiwar pols and war opponents are "deeply invested" in seeing the war end badly, which, besides being insulting, is a stupid charge to make. If the Iraq war comes to anything resembling a decent, stable conclusion (i.e., if Iraq were almost nothing like what it is today), a great many war opponents, including myself, would actually be relieved. We would marvel at how, in spite of the chronic lack of proper support and supply, the epic incompetence of the government, the unceasing dishonesty of the political class and the completely adverse conditions in Iraq, the outcome was not as bad as we feared. It is, of course, because we are not so foolishly optimistic to believe, yet again, in the false hopes and misleading promises of the government and its cheerleaders that we do not expect such an outcome.
Of course, how many times have we been told about the impending corner that will soon be turned and the "good progress" we have been making, only to see Iraq get progressively worse? When Baghdad is getting a few hours of electricity per day and other parts of the country are cutting off Baghdad from their power plants in order to provide for their own needs, the O'Hanlon/Pollack tours of Ramadi and Ghazaliya are, at best, of marginal importance. When the Iraqi parliament is incapable of passing any law of consequence that might provide for some political settlement that could at least lessen the fighting, optimistic reporting from Tal Afar (where there was another suicide bombing not too long ago) should hardly impress anyone. That it seems to have deeply impressed a number of prominent war supporters is more an indictment of their judgement than it is of O'Hanlon's and Pollack's own credibility.
This is something that is deeply troubling about war supporters' handling of evidence from the very beginning: they seem to have no sense of what is significant and what is irrelevant or marginal. For them, if a bomb goes off in the parliament building and a school is re-opened, these are events that they seem to think are of political–and therefore journalistic–importance. Hence the constant lament about the "failure" to report the "good news." In this view, to focus on the former and "ignore" the latter, as if the resources of news agenices were infinite, is to express bias. Well, I suppose it is a bias of a sort–it is a bias in favour of covering important stories rather than unimportant ones. The O'Hanlon/Pollack op-ed offers war supporters the kind of reporting they prefer: anecdotal, impressionistic, experiential and therefore often unverifiable, and above all the describing of things that are of lesser importance (or things already known for some time) and treating them as evidence of a meaningful change or a new trend that you, the idiot public, have yet to take fully into account.
You will recall the recent craze among some on the right for a revival of teaching military history. One day, these enthusiasts will (mistakenly) tell you how much more vastly significant a few days of battle were than whole decades that preceded it, contrary to the flim-flam from all those miserable academics. Then they or their colleagues will come back the next day and complain that the lousy liberal journalists are reporting about primarily military and political events. "They're not writing feel-good stories about repaired soccer fields and kite-flying! Obviously they hate all that is good and true." Something is amiss there.
Religious Ignorance, This Time With Feeling!
It may be that some progress is being made against the foreign Islamists, who have made themselves unpopular.
The fundamental political problem remains. Maliki appears to be ineffectual, and there is no political consensus or compromise in the offing. Maliki may be Iran's puppet, ours, or no one's, but in any case, it appears he can't govern.
Whether the Iraqi political circle can be squared without a lot more bloodshed is the question. My glass being habitually half-empty, I fear not.


text:
Home » Nation
Free offer for foreigners under fire
By Jane Chen | June 30, 2009, Tuesday | Online Edition
A North Chinese city has come under fire for offering free admission to tourist attractions for foreign visitors.
The free admission scheme in Henan Province starts tomorrow and goes through to the end of the year. Tourists with foreign passports will enjoy free admission to all attractions in Anyang City including the ruins of the oldest capital city in China, today's Orient Today reported.
The offer has sparked public complaints about biased treatment for domestic and foreign visitors - Chinese tourists will continue to pay for admission.
"The free admission is to boost the local tourism industry by attracting more foreign tourists here," said Lu Hongfeng, vice director of Anyang Tourism Bureau's marketing department.
He dismissed the criticism, saying that the city had offered other incentives for Chinese tourists including 10 million yuan (US$1.46 million) worth of tourist vouchers.
He said the tourism authority will not expand the free admission scheme to all visitors because of concerns about the protection of archeological sites.
In July, 2006, the city opened the Yinxu Museum for free to the public for one month after the site - the ruins of the Shang Dynasty (1500-1046BC) capital known as Yin - was listed as a World Cultural Heritage site. "The site was so overcrowded that the museum had to shut part of it to protect the archeological heritage," he said.
Anyang is an ancient city with over 3,000 years of history and is one of the eight ancient capitals of China.
The massive archaeological site of Yinxu was discovered in 1899.

redpajama_set_name: RedPajamaCommonCrawl


One of our biggest benefits is communication.
Whether you have a question, a comment or a concern, we're here to help. Here's how to reach us.
Written correspondence may be sent to our corporate headquarters in Wakefield, MA.


text:
postal history of windham
 Morrison writes that in the colonial days of Windham, "letters were rarely written. The people were not a writing people; their business was not such as to demand the frequent use of letters". The writing of letters was saved for the occasion of an important business matter or to, "give tidings of absent and long-separated friends". The first recorded use of a postal system in town was in 1757 when the town, "voted to send a Letter by some fitt[sic] person to Mr. Dunlap & to pay the charge of carrying it from Albany to Cherry Valley ". In May of 1775 a convention met in Exeter, NH to establish post offices in the state. In the early days of the post offices mail was delivered by postmen on horseback. The first rider to deliver mail to Windham was Samuel Bean who routinely delivered mail along the route from Boston to Concord. He rode the route once a week, making stops in, "Andover, Haverhill, Atkinson, Kingston, Exeter, Epping, Nottingham, Deerfield, Pembroke". Although these were his only official stops, he rode through Londonderry and Windham, likely delivering mail to both towns. At the time a, "single letter conveyed by land not exceeding 30 miles", could be mailed for a cost of six cents.
In 1805 the first post office was established in town with Andrew Park as the postmaster; he remained at his post until 1814. At this time there were still post-riders, one of which was Horace Park, the son of the postmaster. His route was not limited to Windham; Park started his ride in Windham and made his way through Pelham and onto Billerica, MA. William Morrison was another one of the early post-riders in town; his route was from Windham to Haverhill, MA. One of the best examples of the inefficiencies of mail delivery by horseback can be found in the delivery of news during the War of 1812. When the White House burned during the war it took almost a week for the news to reach Boston; undoubtedly it took maybe even a day or two longer for the news to reach Windham.
Envelope postmarked from Windham Depot in 1883
 In 1883 Morrison wrote that the, "mail facilities at present are good, the mails reaching town on nearly every train, and a through mail is carried by team from Windham Junction to Lowell and return, everyday. By that time there were four post offices in town: Windham Centre, Windham Junction, West Windham, and Golden Brook MIlls. The photographs above and below are two examples of period postmarks in town at the time Morrison wrote his history of the town.
1883 envelope postmarked from Golden Brook Mills, Windham NH
The next major event in the postal history of Windham came about in 1905 when free rural mail delivery was established. The first official carrier for this route was Ernest Frost who, according to Rural Oasis, "covered an area of 17 square mills, serving 120 homes, and a population of 450". The entire mail route in town covered about twenty four miles. In the early 1900s the post office at Windham Centre was closed; the West Windham post office remained open, as did the post office at Windham Depot, which became the town's main post office. At the time the salary of the postmaster was $533. The first woman postmaster of Windham was Carolyn Clark who retired after four years of service; it is recorded that when she retired over forty Windham residents, "gathered at the the home of Charles Boyd to give a surprise party for the retiring postmistress". The Exeter News-Letter noted that, "games, refreshments and music helped to make the event a social success".
Post office in West Windham (ca. 1910)
In 1929 "sub-carrier", William Clyde, hired Harvey Wilson to drive him around in his automobile; this was the first time mail was routinely delivered by automobile. As heavy snows and harsh winters are inevitable in New England, there were several times when the early carriers were unable to finish their route. The ingenuity of Windham's early postal carriers is exemplified by an observation recorded in Rural Oasis:
"Tellis Wells....was frequently seen during the difficult winter months using his own invented version of the snowmobile. It was a Model T Ford with the front wheels removed. In their place were skis and the vehicle was driven by chains placed on the rear wheels!"
As decades passed there were relatively few, if any, problems with the postal service in town, However, in 1945, "it was discovered by an internal auditor from the postmaster general's office that Windham postmaster, Paul Otis Clyde, had misappropriated postal funds". He was given the chance to replace the missing funds, but failed to do so and was fired shortly after. Charles J Butterfield became the town's postmaster in 1947 and was still at his post when the Windham Depot post office changed it's name to the Windham Post Office. Below is a first day cover that was stamped on the date the name change took effect, October 1, 1956. It was signed by Butterfield and was then sent to Kansas, likely to a collector of first day covers.
Envelope stamped on the day the Windham Depot post office became the Windham Post Office
JESSE CROWELL - TAVERN KEEPER AND SHOE MAKER
Jesse Crowell was the son of David and Elizabeth Crowell of Londonderry, and was born in 1784. It is recorded by Morrison that Crowell came to Windham in about 1806 and married Lydia, the daughter of Henry Campbell, that same year. Crowell purchased half of Campbell's farm and went into business with him, "in keeping a store". In 1807 Crowell was issued a license to operate a tavern by the board of selectmen. In 1758, the royal government of the colony of New Hampshire restricted the number of taverns in the state to 84, permitting Windham to have just one. Until 1799, even after the one tavern restriction was lifted, there were relatively few taverns or inns in town. However, the number of taverns and inns grew in the first decade of the 19th century, when Crowell decided to open his tavern. Aside from keeping a tavern, he also manufactured shoes, and had, "a number of apprentices and workmen". When his wife died on May 27, 1822, Crowell wasted no time in remarrying and was married to his deceased wife's cousin, Hannah Campbell, in October of that year. Jesse Crowell died on January 15, 1844 at the age of 59. Hannah Campbell Crowell died many years later on June 7, 1871.
1812 note recording a payment of $2.40 between Rebecca Anderson and Jesse Crowell
"SAILOR JAMES" WILSON OF WINDHAM CENTRE
James Wilson was born on September 8, 1776 and is recorded as living at the Burnham house at the town centre. His occupation while in town was that of a brick maker, and he married Mary Gregg, the daughter of William Gregg who was born on May 13, 1777. When the War of 1812 broke out he joined the United States Navy as a seaman, and was nicknamed, "Sailor James". While in England during the war he was found by a press gang who attempted to impress him into service to the British navy. Being a patriotic American, Wilson, "sturdily refused to fight against his country", and as a result was incarcerated in Dartmoor Prison. The prison was built in Devon, England in 1809 to house French prisoners during the Napoleonic wars. During the war of 1812, Wilson joined about 4,800 other American prisoners of war who were imprisoned at Dartmoor.
By the conclusion of war Wilson was released and returned home to Windham. However, he only stayed in town for about one year after his return and then went to Baltimore. According to Morrison, James Wilson, "was never heard from again". Mary continued to live in their home at the centre and died on April 13, 1855. Their son, Benjamin F Wilson, went on to occupy the house. Benjamin was born on January 3, 1807 and spent most of his life in town. Below is a bill from David Morse of Haverhill to James Wilson from 1799. There are several entries on the bill for transactions months apart, but the only item mentioned is nails.
Bill from David Morse to James Wilson
"Mr James Wilson Bill of Winham [sic]"
West windham's builders camp for children
In the late 1930s, Reverend Leslie C Bockes headed an effort to create a rural escape for the children of Lowell, MA. Doing so required the purchase of about four hundred acres of land in a rural setting, an environment far removed from that of the city. To do so Bockes convinced a friend, Dudley L Page, to head a committee that was tasked with purchasing large blocks of abutting land in order to create the several hundred acre camp; the organization in charge of buying the land for the camp was the Church of All Nations. For two weeks a year children from the city were brought to the camp to, "be caught up in [the] wonder and delight of God's creation - stars, flowers, and birds - at minimal cost to their families". A modern description of the camp notes that, "roaming the property, campers learned the virtues that their ancestors would have absorbed by working the soil. Under Bockes' direction, they learned to work with tools 'to build straight and true and strong' in imitation of the 'greatest Carpenter of all'".
When the hurricane of 1938 struck, Bockes enlisted the help of teenage boys to work clearing the debris from the storm, as well as chopping up the fallen trees. The fallen timber was so plentiful that Bockes decided to construct a sawmill in order to produce usable lumber. Even though these boys were paid for their labor, all boys who attended the camp were required to complete vigorous physical labor, which according to Bockes instilled a sense of virtue in the campers. It is noted that twice a week the campers boarded a truck that brought them across town to Cobbett's Pond; usually "singing their lungs out all the way". Almost everything that is known, and published, about the Builders Camp comes from the biography of Middle East activist, Frank Maria, who attended the camp as a child.
Map of land needed to complete the Builders Camp
As seen on the map above published by Goodwill Industries, the committee had succeeded in accumulating 271 acres (the shaded region on the map) for the sum of about $4,500, by January 1, 1938. Needed to complete the camp were the properties of Farley, which would give the Church Of All Nations controlling use of Beaver Brook, and Clarke, which would allow for experiments, live stock housing, and a home for the care taker. It is not known if the group was successful in their endeavor to purchase the two properties. In 1975, Patricia Bockes Ingersoll, the daughter of Reverend Bockes, donated 71 acres of land to create the Bockes Memorial Forest. In 2003 the grandchildren of Reverend Bockes gave almost the entire parcel of land left to the towns of Londonderry and Hudson. 32 acres of conservation land were also donated to the town of Windham.


She doesn't need an oil can, this tin gal costume is too cute to ever rust! This cute Wizard of Oz costume is a great choice trick or treating or a play!
SKU: 517695823 Categories: Fairytale Costumes, Girl's Halloween Costumes, Halloween Costume Ideas, Kids Halloween Costumes, Tin Woodsman Costumes, Wizard of Oz Costumes.
She's off to see the Wizard and she's requesting a heart! This Girls Tin Gal Costume is a cute girly version of the popular storybook character. She'll love wearing the cute and shiny metallic jumper.


Why will we age? Is getting older inevitable? Will advances in scientific wisdom let us expand the human lifespan past its current limits? simply because growing old has lengthy been the only irreducible truth of human lifestyles, those exciting questions come up extra usually within the context of technology fiction than technology truth. yet contemporary discoveries within the fields of cellphone biology and molecular genetics are heavily hard the belief that human lifespans are past our regulate. With such discoveries in brain, famous phone biologist William R. Clark truly and assuredly describes how senescence starts on the point of person cells and the way mobile replication might be sure up with getting older of the whole organism. He explores the evolutionary beginning and serve as of getting older, the mobile connections among getting older and melanoma, the parallels among mobile senescence and Alzheimer's ailment, and the insights won via learning human genetic disorders--such as Werner's syndrome--that mimic the indications of getting older. Clark additionally explains how aid in caloric consumption may very well support bring up lifespan, and the way the harmful results of oxidative parts within the physique should be constrained by means of the intake of antioxidants present in fruit and veggies. In a last bankruptcy, Clark considers the social and financial elements of residing longer, the consequences of gene treatment on senescence, and what we would find out about getting older from experiments in cloning. this can be a hugely readable, provocative account of a few of the main far-reaching and arguable questions we're more likely to ask within the subsequent century.
The most recent name from the acclaimed present Protocols sequence, present Protocols crucial Laboratory ideas, 2e presents the hot researcher with the talents and realizing of the basic laboratory methods essential to run winning experiments, clear up difficulties, and turn into a efficient member of the trendy existence technology laboratory.
The booklet offers finished insights into molecular alterations in malignant cancer. the overall mechanisms of cancer development and improvement are defined, in addition to new study findings. Our present wisdom at the molecules curious about mobile transformation and tumor development will quickly result in subtle, exact treatments.
This e-book used to be originallyconceived within the shape ofa moment version ofa quantity released in 1980 in Chapman and Hall's 'OutllneStudies in Biology' sequence and entitled Genetic Engineering - Cloning DNA. It very quickly turned obvious that with the influence ofrecombinant DNA strategies being feIt in such a lot of parts ofblology, it used to be going to be difficultifnotimpossible to keepthe bookwithin the gap confines of those little monographs.
Turning out to be cells in 2nd less than static stipulations has lengthy been the best of mobilephone tradition, regardless of this system now not being consultant of the advanced in vivo atmosphere. using animal versions additionally has transparent moral and clinical barriers, and more and more the 3Rs (replacement, refinement, relief) when it comes to animal versions are being built-in into the modern day medical perform.
Anecdotes and "common wisdom" about human lifespan confused the issue until late in the last century. Although the great French naturalist Georges Buffon had recognized in the mid-eighteenth century that human beings, regardless of their race or social station, only rarely lived beyond a hundred years, accounts of lifespans of as many as 165 years continued to be believed by eminent authorities well into the twentieth century. However, a classical and detailed study published in 1873 by the amateur British demographer William Thorns debunked almost every such claim, and, based on his analysis of insurance company records and various birth and death registries, Thorns correctly concluded that Buffon's upper limit of 100 years was substantially accurate.
Paramecia had created macronuclei to deal with the challenge of size, and they had become about as large as single cells can be. The next major development in the evolutionary theme of ever-greater size was for organisms to become multicellular. Once this happened, the micronuclear (reproductive) DNA was partitioned off into germ cells; the functional equivalent of the macronuclear DNA came to occupy all the other cells of the body—the somatic cells. Like the micronuclear DNA, germ-cell DNA is recombined with the DNA of another individual during reproduction, and the new genetic combinations are passed on to the next generation.
For most biologists, then, the various definitions of life can nearly all be traced back to the presence within individual cells of an active metabolism—an ability to extract energy from the environment and 22 THE NATURE OF CELLULAR SENESCENCE AND DEATH use it to carry out the range of biological functions that we call life. Cellular death can then largely be defined in terms of the absence— but it must be the complete absence—of an active metabolism. Senescence is the sequence of events connecting these two states through time in the life history of an individual: the conversion of a metabolically active cell, through a series of genetically controlled events, to a cell no longer capable of metabolic function.


text:
Robert Earle Beasley
Brown-Wynne Funeral Home
Brown-Wynne Funeral Home & Crematory
July 8, 1933 – December 30, 2017
Robert "Bob" Earle Beasley was born in Salisbury, NC on July 8,1933 and passed away peacefully on Saturday, December 30, 2017. Bob enjoyed a wonderful life. He was blessed to marry his childhood girlfriend, Mary Louise Krider Ervin, also from Salisbury. They first met in the third grade at A. T. Allen Elementary School. Our prayers are that the two of them are again united to enjoy one another's company. Bob graduated from Boyden High School in Salisbury where he was on the football and track teams. He graduated from North Carolina State University in Raleigh with honors in 1959. While earning his Bachelor of Science in Mechanical Engineering, Bob was active in Student Government, the Judicial Board, the Honor Code Board, PI TAU SIGMA, and TAU BETA PI. These years at N.C. State began a lifelong passion and legacy with the Wolfpack for Bob as well as his family. He was equally involved and supportive of both the academic and athletic initiatives benefiting the university. Bob served as President of the N.C. State Friends of the Library Board and was on the N.C. State Alumni Association Board of Directors. Mary and Bob were proud Life Members of the N.C. State Alumni Association and for decades attended many football and basketball games with friends and family. Bob and Mary were members of North Ridge Country Club where they enjoyed golfing with good friends and their grandsons.
After graduating from college, Bob began his career with Union Carbide in South Charleston, WV. He then went on to work for Southern Bell in Charlotte and Raleigh, NC. In July of 1966, Bob became the first Raleigh employee at Mallinckrodt, Inc. Bob quickly moved up the ranks and retired as Director of Administration in 1997. His work ethic and friendly personality made Bob a very integral part of Mallinckrodt as was attested at the tremendous retirement party given by his co-workers. Bob's Mallinckrodt family always held a special place in his heart. During his entire career, Bob was actively involved with many community organizations including the Salisbury Jaycees, Raleigh Chamber of Commerce Board of Directors, Wake Forest Chamber of Commerce, American Society for Personnel Administration, Raleigh-Wake Personnel Association and Junior Chamber of Commerce.
Bob was preceded in death by his loving wife, Mary, and their beloved son, Rob. Other family members preceding Bob in death were his parents, Robert C. and Edna J. Beasley, his brothers-in-law Henry Bernhardt and William "Bill" Ervin. He was the loving and supportive brother of Jo Ann Bernhardt who still resides in Salisbury. He is survived also by his sister-in-law and her husband, Betty and Jack Graham, long time golfing buddies. Surviving PaPa is his adoring family; daughter, Jodi Riddle of Harrisonburg, VA, her husband Warren, and grandson Wesley; daughter, Cindy Toomey of Greensboro, NC, her husband Kevin, and grandsons Zach and Aaron; daughter-in-law and widow of his late son Rob, Donna Beasley of Cary, NC, and granddaughters Amber and Courtney. Bob had a great affection for his many nieces and nephews.
The family wishes to thank Dr. Jim Parsons for his friendship and devoted care along with Dr. Parson's wonderful staff. Many thanks to the attentive staff of Mayview Convalescent Center and Transitions LifeCare for their constant care and support.
Memorials may be made in honor of Bob to the North Carolina State University Friends of the Library Robert E. Beasley, Jr. Memorial Endowment - NCSU Library Development Office, Campus Box 7111, Raleigh, NC 27695. A memorial service and celebration of Bob's life will be held at a later date. Arrangements by Brown-Wynne, St. Mary's Street, Raleigh.
Lyn Autry
Very sorry about Mr. Beasley's death. I worked w/his son Rob for many years. The Beasley family are very fine folks. Prayers for all.
So sorry for your loss. Jesus wept after the death of his friend Lazarus. John 11:35 We weep along with you. His example was written in the Bible to give us hope.
Rom. 15:4
Cherry Greene
Cindy, we are very sorry to hear of your father's passing. He must have been a very wonderful man who gave much to his community and family. Our prayers are with you.
Joe Hull
So sorry to hear of Bob's passing. What a great gentleman. He was a great advocate for the Wolfpack.
Becky Bumgardner
My deepest sympathies to the Beasley family. I just adored Bob and Mary especially for their passion for their family and their NC State family.
Bob and Mary were just the finest, most lovely people. We were honored to know them.
Ruth Sheehan and Harry Payne
May you find comfort and peace in your memories of your loved one. My the God of peace comfort you. Isaiah 61:1,2
MR. BEASLEY was a great boss of mine for over 31 years at Mallinckrodt and was a friend of my family. His memory shall remain with me forever. My sincere sympathy to Cindy and Jodi and their families.
Sue L. Lewis
Our deepest sympathies to the Beasley family. May the God who gives peace help you through this difficult time.
Bob will forever be a part of my heart. He was a wonderful person with a great spirit. I will never forget the day we had the WolfPack Basketball Players visit him at Mayview. He stood up out of his wheelchair and walked to shake each players hand. A special day for him and for all of us!! This is how i will remember Bob.
Uncle Bob was a wonderful guy who loved his family and his Wolf Pack.
He enjoyed kidding me about being a professor at NCSU after going to Graduate School at UNC-CH, and helped me become a "hybrid" fan.
His loyalty and support for NCSU academics and athletics will continue to have a positive impact on Wolf Pack students well into the future.
NCSU is an better university because of Uncle Bob, and his positive legacies can never be undone.
With Love & Admiration,
Dr. Dan Graham (nephew) , Sally & Abram
In Memory Of Robert Earle Beasley
https://www.dignitymemorial.com/obituaries/raleigh-nc/robert-beasley-7701994


text:
Ярдамлы:

 Ярдымлы — город в Азербайджане.
 Ярдымлы — метеорит, найденный в Азербайджане.

redpajama_set_name: RedPajamaWikipedia


text:
Q: Why is the tab not functioning in my winforms? I'm trying to use tab to move between the textbox in my winforms application, I have enabled the tabstop property and have set the taborder in view menu but still when I use tab I just hear a sound and it doesn't move to the next textbox, why is this?
Thanks

A: Did you set KeyPreview to true on your Form?
If so, set it to false.

redpajama_set_name: RedPajamaStackExchange


text:
Q: Tkinter - Geometry management I see and saw a lot of questions for tkinter that quite often asks not about errors in their code, but asks how do I organize my GUI. So I would like to have an answer that focus on that and help beginners to orientate them a little bit.

A: Basic knowlege about tkinters geometry management
The geometry management of tkinter is characterized by this Quote here:

By default a top-level window appears on the screen in its natural size, which is the one determined internally by its widgets and geometry managers.

Toplevels
Your Toplevel is the first question you should have to answer with:

*

*wm_geometry: size, position in your screen?

*wm_minsize \ wm_maxsize are there minimal or maximal bounderies?

*wm_resizable has the user the ability to resize it?

*wm_attributes are there attributes like topmost or fullscreen?

*pack_propagate \ grid_propagate ignore requested width and height of children.

Note: You can skip this question and let the process decide what will be needed after all.

Arrange children

To arrange your children you've got 3 options, each of them are designed to satisfy specific needs:

The packer:

The pack command is used to communicate with the packer, a geometry
manager that arranges the children of a parent by packing them in
order around the edges of the parent.

-> I use pack to arrange quickly a few widgets beside eachother in the master.
The placer

The placer is a geometry manager for Tk. It provides simple fixed
placement of windows, where you specify the exact size and location of
one window, called the slave, within another window, called the
master. The placer also provides rubber-sheet placement, where you
specify the size and location of the slave in terms of the dimensions
of the master, so that the slave changes size and location in response
to changes in the size of the master. Lastly, the placer allows you to
mix these styles of placement so that, for example, the slave has a
fixed width and height but is centered inside the master.

-> I use place sometimes for One-Sheet applications or to set a background image.
The gridder

The grid command is used to communicate with the grid geometry manager
that arranges widgets in rows and columns inside of another window,
called the geometry master (or master window).

-> Grid is the best choice for more complex applications that contains many widgets.
So the question you need to answer here, before picking one of these managers is, how do I organise my application in the best way?
Note:

Warning: Never mix grid and pack in the same master window. Tkinter
will happily spend the rest of your lifetime trying to negotiate a
solution that both managers are happy with. Instead of waiting, kill
the application, and take another look at your code. A common mistake
is to use the wrong parent for some of the widgets.

-> You can create a nested layout, in each master(window/frame) you've freedom of choice

Most important features
Most important features of each manger can help to answer your question. Because you will need to know if the manager can do what you wanna do.
For pack I think it is:

*

*fill stretch the slave horizontally, vertically or both

*expand The slaves should be expanded to consume extra space in their master.

*side Specifies which side of the master the slave(s) will be packed against.

*anchor it specifies where to position each slave in its parcel.

For place it should be:

*

*relheight -relheight=1.0, -height=-2 makes the slave 2 pixels shorter than the master.

*relwidth -relwidth=1.0, -width=5 makes the slave 5 pixels wider than the master.

*relx -relx=0.5, -x=-2 positions the left edge of the slave 2 pixels to the left out of the center.

*rely -rely=0.5, -x=3 positions the top edge of the slave 3 pixels below the center of its master.
And for grid it should be:

*

*columnspan Insert the slave so that it occupies n columns in the grid.

*rowspan Insert the slave so that it occupies n rows in the grid.

*sticky this option may be used to position (or stretch) the slave within its cell.

*grid_remove the configuration options for that window are remembered

*grid_columnconfigure

*grid_rowconfigure

for the last two options I recommend this answer here.

Read the docs
A working exampel to play with can be found here:

import tkinter as tk

root=tk.Tk()

holderframe = tk.Frame(root,bg='red')
holderframe.pack()

display = tk.Frame(holderframe, width=600, height=25,bg='green')
display2 = tk.Frame(holderframe, width=300, height=145,bg='orange')
display3 = tk.Frame(holderframe, width=300, height=300,bg='black')
display4 = tk.Frame(holderframe, width=300, height=20,bg='yellow')
display5 = tk.Frame(holderframe, bg='purple')

##display_green
display.grid(column = 0, row = 0, columnspan=3)
display.pack_propagate(0) #when using pack inside of the display
#display.grid_propagate(0) #when using grid inside of the display

#left
b =tk.Button(display, width =10,text='b')
b1 =tk.Button(display, width =10,text='b1')

b.pack(side='left')
b1.pack(side='left')
#right
b2 =tk.Button(display, width =20,text='b2')
b2.pack(side='right')
#center
l = tk.Label(display, text ='My_Layout',bg='grey')
l.pack(fill='both',expand=1)

#the order by using pack can be important.
#you will notice if you swip right with center.

##display2_orange
display2.grid(column=0,row=1, sticky='n')
display2.grid_propagate(0)

#column0
lab = tk.Label(display2, text='test2')
lab1 = tk.Label(display2, text='test2')
lab2 = tk.Label(display2, text='test2')
lab3 = tk.Label(display2, text='test2')
lab4 = tk.Label(display2, text='test2')
lab5 = tk.Label(display2, text='test2')
lab6 = tk.Label(display2, text='test2')

lab.grid(column=0,row=0)
lab1.grid(column=0,row=1)
lab2.grid(column=0,row=2)
lab3.grid(column=0,row=3)
lab4.grid(column=0,row=4)
lab5.grid(column=0,row=5)
lab6.grid(column=0,row=6)

#column1
lab10 = tk.Label(display2, text='test2')
lab11 = tk.Label(display2, text='test2')
lab12 = tk.Label(display2, text='test2')
lab13 = tk.Label(display2, text='test2')
lab14 = tk.Label(display2, text='test2')
lab15 = tk.Label(display2, text='test2')
lab16 = tk.Label(display2, text='test2')

lab10.grid(column=2,row=0)
lab11.grid(column=2,row=1)
lab12.grid(column=2,row=2)
lab13.grid(column=2,row=3)
lab14.grid(column=2,row=4)
lab15.grid(column=2,row=5)
lab16.grid(column=2,row=6)

display2.grid_columnconfigure(1, weight=1)
#the empty column gets the space for left and right effect

##display3_black
display3.grid(column=1,row=1,sticky='nswe')
display3.grid_propagate(0)

##display4_yellow
display4.grid(column=0,row=1,sticky='s')
display4.grid_propagate(0)

lab20 = tk.Label(display4, bg='black')
lab21 = tk.Label(display4, bg='red')
lab22 = tk.Label(display4, bg='orange')
lab23 = tk.Label(display4, bg='grey')

lab20.grid(column=0,row=0,sticky='ew')
lab21.grid(column=1,row=0,stick='e')
lab22.grid(column=2,row=0,sticky='e')
lab23.grid(column=3,row=0,stick='ew')

display4.grid_columnconfigure(0, weight=4)
display4.grid_columnconfigure(1, weight=2)
display4.grid_columnconfigure(2, weight=2)
display4.grid_columnconfigure(3, weight=1)

##display5_purple
display5.place(x=0,y=170,relwidth=0.5,height=20)
display5.grid_propagate(0)

root.mainloop()


text:
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
import * as base64 from "./base64";
import { XML_ATTRKEY, XML_CHARKEY, } from "./interfaces";
import { isDuration, isValidUuid } from "./utils";
class SerializerImpl {
    constructor(modelMappers = {}, isXML = false) {
        this.modelMappers = modelMappers;
        this.isXML = isXML;
    }
    validateConstraints(mapper, value, objectName) {
        const failValidation = (constraintName, constraintValue) => {
            throw new Error(`"${objectName}" with value "${value}" should satisfy the constraint "${constraintName}": ${constraintValue}.`);
        };
        if (mapper.constraints && value !== undefined && value !== null) {
            const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems, } = mapper.constraints;
            if (ExclusiveMaximum !== undefined && value >= ExclusiveMaximum) {
                failValidation("ExclusiveMaximum", ExclusiveMaximum);
            }
            if (ExclusiveMinimum !== undefined && value <= ExclusiveMinimum) {
                failValidation("ExclusiveMinimum", ExclusiveMinimum);
            }
            if (InclusiveMaximum !== undefined && value > InclusiveMaximum) {
                failValidation("InclusiveMaximum", InclusiveMaximum);
            }
            if (InclusiveMinimum !== undefined && value < InclusiveMinimum) {
                failValidation("InclusiveMinimum", InclusiveMinimum);
            }
            if (MaxItems !== undefined && value.length > MaxItems) {
                failValidation("MaxItems", MaxItems);
            }
            if (MaxLength !== undefined && value.length > MaxLength) {
                failValidation("MaxLength", MaxLength);
            }
            if (MinItems !== undefined && value.length < MinItems) {
                failValidation("MinItems", MinItems);
            }
            if (MinLength !== undefined && value.length < MinLength) {
                failValidation("MinLength", MinLength);
            }
            if (MultipleOf !== undefined && value % MultipleOf !== 0) {
                failValidation("MultipleOf", MultipleOf);
            }
            if (Pattern) {
                const pattern = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
                if (typeof value !== "string" || value.match(pattern) === null) {
                    failValidation("Pattern", Pattern);
                }
            }
            if (UniqueItems &&
                value.some((item, i, ar) => ar.indexOf(item) !== i)) {
                failValidation("UniqueItems", UniqueItems);
            }
        }
    }
    /**
     * Serialize the given object based on its metadata defined in the mapper
     *
     * @param mapper - The mapper which defines the metadata of the serializable object
     *
     * @param object - A valid Javascript object to be serialized
     *
     * @param objectName - Name of the serialized object
     *
     * @param options - additional options to serialization
     *
     * @returns A valid serialized Javascript object
     */
    serialize(mapper, object, objectName, options = { xml: {} }) {
        var _a, _b, _c;
        const updatedOptions = {
            xml: {
                rootName: (_a = options.xml.rootName) !== null && _a !== void 0 ? _a : "",
                includeRoot: (_b = options.xml.includeRoot) !== null && _b !== void 0 ? _b : false,
                xmlCharKey: (_c = options.xml.xmlCharKey) !== null && _c !== void 0 ? _c : XML_CHARKEY,
            },
        };
        let payload = {};
        const mapperType = mapper.type.name;
        if (!objectName) {
            objectName = mapper.serializedName;
        }
        if (mapperType.match(/^Sequence$/i) !== null) {
            payload = [];
        }
        if (mapper.isConstant) {
            object = mapper.defaultValue;
        }
        // This table of allowed values should help explain
        // the mapper.required and mapper.nullable properties.
        // X means "neither undefined or null are allowed".
        //           || required
        //           || true      | false
        //  nullable || ==========================
        //      true || null      | undefined/null
        //     false || X         | undefined
        // undefined || X         | undefined/null
        const { required, nullable } = mapper;
        if (required && nullable && object === undefined) {
            throw new Error(`${objectName} cannot be undefined.`);
        }
        if (required && !nullable && (object === undefined || object === null)) {
            throw new Error(`${objectName} cannot be null or undefined.`);
        }
        if (!required && nullable === false && object === null) {
            throw new Error(`${objectName} cannot be null.`);
        }
        if (object === undefined || object === null) {
            payload = object;
        }
        else {
            // Validate Constraints if any
            this.validateConstraints(mapper, object, objectName);
            if (mapperType.match(/^any$/i) !== null) {
                payload = object;
            }
            else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {
                payload = serializeBasicTypes(mapperType, objectName, object);
            }
            else if (mapperType.match(/^Enum$/i) !== null) {
                const enumMapper = mapper;
                payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);
            }
            else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {
                payload = serializeDateTypes(mapperType, object, objectName);
            }
            else if (mapperType.match(/^ByteArray$/i) !== null) {
                payload = serializeByteArrayType(objectName, object);
            }
            else if (mapperType.match(/^Base64Url$/i) !== null) {
                payload = serializeBase64UrlType(objectName, object);
            }
            else if (mapperType.match(/^Sequence$/i) !== null) {
                payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
            }
            else if (mapperType.match(/^Dictionary$/i) !== null) {
                payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
            }
            else if (mapperType.match(/^Composite$/i) !== null) {
                payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);
            }
        }
        return payload;
    }
    /**
     * Deserialize the given object based on its metadata defined in the mapper
     *
     * @param mapper - The mapper which defines the metadata of the serializable object
     *
     * @param responseBody - A valid Javascript entity to be deserialized
     *
     * @param objectName - Name of the deserialized object
     *
     * @param options - Controls behavior of XML parser and builder.
     *
     * @returns A valid deserialized Javascript object
     */
    deserialize(mapper, responseBody, objectName, options = { xml: {} }) {
        var _a, _b, _c;
        const updatedOptions = {
            xml: {
                rootName: (_a = options.xml.rootName) !== null && _a !== void 0 ? _a : "",
                includeRoot: (_b = options.xml.includeRoot) !== null && _b !== void 0 ? _b : false,
                xmlCharKey: (_c = options.xml.xmlCharKey) !== null && _c !== void 0 ? _c : XML_CHARKEY,
            },
        };
        if (responseBody === undefined || responseBody === null) {
            if (this.isXML && mapper.type.name === "Sequence" && !mapper.xmlIsWrapped) {
                // Edge case for empty XML non-wrapped lists. xml2js can't distinguish
                // between the list being empty versus being missing,
                // so let's do the more user-friendly thing and return an empty list.
                responseBody = [];
            }
            // specifically check for undefined as default value can be a falsey value `0, "", false, null`
            if (mapper.defaultValue !== undefined) {
                responseBody = mapper.defaultValue;
            }
            return responseBody;
        }
        let payload;
        const mapperType = mapper.type.name;
        if (!objectName) {
            objectName = mapper.serializedName;
        }
        if (mapperType.match(/^Composite$/i) !== null) {
            payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);
        }
        else {
            if (this.isXML) {
                const xmlCharKey = updatedOptions.xml.xmlCharKey;
                /**
                 * If the mapper specifies this as a non-composite type value but the responseBody contains
                 * both header ("$" i.e., XML_ATTRKEY) and body ("#" i.e., XML_CHARKEY) properties,
                 * then just reduce the responseBody value to the body ("#" i.e., XML_CHARKEY) property.
                 */
                if (responseBody[XML_ATTRKEY] !== undefined && responseBody[xmlCharKey] !== undefined) {
                    responseBody = responseBody[xmlCharKey];
                }
            }
            if (mapperType.match(/^Number$/i) !== null) {
                payload = parseFloat(responseBody);
                if (isNaN(payload)) {
                    payload = responseBody;
                }
            }
            else if (mapperType.match(/^Boolean$/i) !== null) {
                if (responseBody === "true") {
                    payload = true;
                }
                else if (responseBody === "false") {
                    payload = false;
                }
                else {
                    payload = responseBody;
                }
            }
            else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {
                payload = responseBody;
            }
            else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {
                payload = new Date(responseBody);
            }
            else if (mapperType.match(/^UnixTime$/i) !== null) {
                payload = unixTimeToDate(responseBody);
            }
            else if (mapperType.match(/^ByteArray$/i) !== null) {
                payload = base64.decodeString(responseBody);
            }
            else if (mapperType.match(/^Base64Url$/i) !== null) {
                payload = base64UrlToByteArray(responseBody);
            }
            else if (mapperType.match(/^Sequence$/i) !== null) {
                payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);
            }
            else if (mapperType.match(/^Dictionary$/i) !== null) {
                payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);
            }
        }
        if (mapper.isConstant) {
            payload = mapper.defaultValue;
        }
        return payload;
    }
}
/**
 * Method that creates and returns a Serializer.
 * @param modelMappers - Known models to map
 * @param isXML - If XML should be supported
 */
export function createSerializer(modelMappers = {}, isXML = false) {
    return new SerializerImpl(modelMappers, isXML);
}
function trimEnd(str, ch) {
    let len = str.length;
    while (len - 1 >= 0 && str[len - 1] === ch) {
        --len;
    }
    return str.substr(0, len);
}
function bufferToBase64Url(buffer) {
    if (!buffer) {
        return undefined;
    }
    if (!(buffer instanceof Uint8Array)) {
        throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);
    }
    // Uint8Array to Base64.
    const str = base64.encodeByteArray(buffer);
    // Base64 to Base64Url.
    return trimEnd(str, "=").replace(/\+/g, "-").replace(/\//g, "_");
}
function base64UrlToByteArray(str) {
    if (!str) {
        return undefined;
    }
    if (str && typeof str.valueOf() !== "string") {
        throw new Error("Please provide an input of type string for converting to Uint8Array");
    }
    // Base64Url to Base64.
    str = str.replace(/-/g, "+").replace(/_/g, "/");
    // Base64 to Uint8Array.
    return base64.decodeString(str);
}
function splitSerializeName(prop) {
    const classes = [];
    let partialclass = "";
    if (prop) {
        const subwords = prop.split(".");
        for (const item of subwords) {
            if (item.charAt(item.length - 1) === "\\") {
                partialclass += item.substr(0, item.length - 1) + ".";
            }
            else {
                partialclass += item;
                classes.push(partialclass);
                partialclass = "";
            }
        }
    }
    return classes;
}
function dateToUnixTime(d) {
    if (!d) {
        return undefined;
    }
    if (typeof d.valueOf() === "string") {
        d = new Date(d);
    }
    return Math.floor(d.getTime() / 1000);
}
function unixTimeToDate(n) {
    if (!n) {
        return undefined;
    }
    return new Date(n * 1000);
}
function serializeBasicTypes(typeName, objectName, value) {
    if (value !== null && value !== undefined) {
        if (typeName.match(/^Number$/i) !== null) {
            if (typeof value !== "number") {
                throw new Error(`${objectName} with value ${value} must be of type number.`);
            }
        }
        else if (typeName.match(/^String$/i) !== null) {
            if (typeof value.valueOf() !== "string") {
                throw new Error(`${objectName} with value "${value}" must be of type string.`);
            }
        }
        else if (typeName.match(/^Uuid$/i) !== null) {
            if (!(typeof value.valueOf() === "string" && isValidUuid(value))) {
                throw new Error(`${objectName} with value "${value}" must be of type string and a valid uuid.`);
            }
        }
        else if (typeName.match(/^Boolean$/i) !== null) {
            if (typeof value !== "boolean") {
                throw new Error(`${objectName} with value ${value} must be of type boolean.`);
            }
        }
        else if (typeName.match(/^Stream$/i) !== null) {
            const objectType = typeof value;
            if (objectType !== "string" &&
                typeof value.pipe !== "function" &&
                !(value instanceof ArrayBuffer) &&
                !ArrayBuffer.isView(value) &&
                // File objects count as a type of Blob, so we want to use instanceof explicitly
                !((typeof Blob === "function" || typeof Blob === "object") && value instanceof Blob)) {
                throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, or NodeJS.ReadableStream.`);
            }
        }
    }
    return value;
}
function serializeEnumType(objectName, allowedValues, value) {
    if (!allowedValues) {
        throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);
    }
    const isPresent = allowedValues.some((item) => {
        if (typeof item.valueOf() === "string") {
            return item.toLowerCase() === value.toLowerCase();
        }
        return item === value;
    });
    if (!isPresent) {
        throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);
    }
    return value;
}
function serializeByteArrayType(objectName, value) {
    if (value !== undefined && value !== null) {
        if (!(value instanceof Uint8Array)) {
            throw new Error(`${objectName} must be of type Uint8Array.`);
        }
        value = base64.encodeByteArray(value);
    }
    return value;
}
function serializeBase64UrlType(objectName, value) {
    if (value !== undefined && value !== null) {
        if (!(value instanceof Uint8Array)) {
            throw new Error(`${objectName} must be of type Uint8Array.`);
        }
        value = bufferToBase64Url(value);
    }
    return value;
}
function serializeDateTypes(typeName, value, objectName) {
    if (value !== undefined && value !== null) {
        if (typeName.match(/^Date$/i) !== null) {
            if (!(value instanceof Date ||
                (typeof value.valueOf() === "string" && !isNaN(Date.parse(value))))) {
                throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
            }
            value =
                value instanceof Date
                    ? value.toISOString().substring(0, 10)
                    : new Date(value).toISOString().substring(0, 10);
        }
        else if (typeName.match(/^DateTime$/i) !== null) {
            if (!(value instanceof Date ||
                (typeof value.valueOf() === "string" && !isNaN(Date.parse(value))))) {
                throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);
            }
            value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();
        }
        else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {
            if (!(value instanceof Date ||
                (typeof value.valueOf() === "string" && !isNaN(Date.parse(value))))) {
                throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);
            }
            value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();
        }
        else if (typeName.match(/^UnixTime$/i) !== null) {
            if (!(value instanceof Date ||
                (typeof value.valueOf() === "string" && !isNaN(Date.parse(value))))) {
                throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format ` +
                    `for it to be serialized in UnixTime/Epoch format.`);
            }
            value = dateToUnixTime(value);
        }
        else if (typeName.match(/^TimeSpan$/i) !== null) {
            if (!isDuration(value)) {
                throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was "${value}".`);
            }
        }
    }
    return value;
}
function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {
    var _a;
    if (!Array.isArray(object)) {
        throw new Error(`${objectName} must be of type Array.`);
    }
    let elementType = mapper.type.element;
    if (!elementType || typeof elementType !== "object") {
        throw new Error(`element" metadata for an Array must be defined in the ` +
            `mapper and it must of type "object" in ${objectName}.`);
    }
    // Quirk: Composite mappers referenced by `element` might
    // not have *all* properties declared (like uberParent),
    // so let's try to look up the full definition by name.
    if (elementType.type.name === "Composite" && elementType.type.className) {
        elementType = (_a = serializer.modelMappers[elementType.type.className]) !== null && _a !== void 0 ? _a : elementType;
    }
    const tempArray = [];
    for (let i = 0; i < object.length; i++) {
        const serializedValue = serializer.serialize(elementType, object[i], objectName, options);
        if (isXml && elementType.xmlNamespace) {
            const xmlnsKey = elementType.xmlNamespacePrefix
                ? `xmlns:${elementType.xmlNamespacePrefix}`
                : "xmlns";
            if (elementType.type.name === "Composite") {
                tempArray[i] = Object.assign({}, serializedValue);
                tempArray[i][XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
            }
            else {
                tempArray[i] = {};
                tempArray[i][options.xml.xmlCharKey] = serializedValue;
                tempArray[i][XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };
            }
        }
        else {
            tempArray[i] = serializedValue;
        }
    }
    return tempArray;
}
function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {
    if (typeof object !== "object") {
        throw new Error(`${objectName} must be of type object.`);
    }
    const valueType = mapper.type.value;
    if (!valueType || typeof valueType !== "object") {
        throw new Error(`"value" metadata for a Dictionary must be defined in the ` +
            `mapper and it must of type "object" in ${objectName}.`);
    }
    const tempDictionary = {};
    for (const key of Object.keys(object)) {
        const serializedValue = serializer.serialize(valueType, object[key], objectName, options);
        // If the element needs an XML namespace we need to add it within the $ property
        tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);
    }
    // Add the namespace to the root element if needed
    if (isXml && mapper.xmlNamespace) {
        const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : "xmlns";
        const result = tempDictionary;
        result[XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };
        return result;
    }
    return tempDictionary;
}
/**
 * Resolves the additionalProperties property from a referenced mapper
 * @param serializer - the serializer containing the entire set of mappers
 * @param mapper - the composite mapper to resolve
 * @param objectName - name of the object being serialized
 */
function resolveAdditionalProperties(serializer, mapper, objectName) {
    const additionalProperties = mapper.type.additionalProperties;
    if (!additionalProperties && mapper.type.className) {
        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
        return modelMapper === null || modelMapper === void 0 ? void 0 : modelMapper.type.additionalProperties;
    }
    return additionalProperties;
}
/**
 * Finds the mapper referenced by className
 * @param serializer - the serializer containing the entire set of mappers
 * @param mapper - the composite mapper to resolve
 * @param objectName - name of the object being serialized
 */
function resolveReferencedMapper(serializer, mapper, objectName) {
    const className = mapper.type.className;
    if (!className) {
        throw new Error(`Class name for model "${objectName}" is not provided in the mapper "${JSON.stringify(mapper, undefined, 2)}".`);
    }
    return serializer.modelMappers[className];
}
/**
 * Resolves a composite mapper's modelProperties.
 * @param serializer - the serializer containing the entire set of mappers
 * @param mapper - the composite mapper to resolve
 */
function resolveModelProperties(serializer, mapper, objectName) {
    let modelProps = mapper.type.modelProperties;
    if (!modelProps) {
        const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);
        if (!modelMapper) {
            throw new Error(`mapper() cannot be null or undefined for model "${mapper.type.className}".`);
        }
        modelProps = modelMapper === null || modelMapper === void 0 ? void 0 : modelMapper.type.modelProperties;
        if (!modelProps) {
            throw new Error(`modelProperties cannot be null or undefined in the ` +
                `mapper "${JSON.stringify(modelMapper)}" of type "${mapper.type.className}" for object "${objectName}".`);
        }
    }
    return modelProps;
}
function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {
    if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
        mapper = getPolymorphicMapper(serializer, mapper, object, "clientName");
    }
    if (object !== undefined && object !== null) {
        const payload = {};
        const modelProps = resolveModelProperties(serializer, mapper, objectName);
        for (const key of Object.keys(modelProps)) {
            const propertyMapper = modelProps[key];
            if (propertyMapper.readOnly) {
                continue;
            }
            let propName;
            let parentObject = payload;
            if (serializer.isXML) {
                if (propertyMapper.xmlIsWrapped) {
                    propName = propertyMapper.xmlName;
                }
                else {
                    propName = propertyMapper.xmlElementName || propertyMapper.xmlName;
                }
            }
            else {
                const paths = splitSerializeName(propertyMapper.serializedName);
                propName = paths.pop();
                for (const pathName of paths) {
                    const childObject = parentObject[pathName];
                    if ((childObject === undefined || childObject === null) &&
                        ((object[key] !== undefined && object[key] !== null) ||
                            propertyMapper.defaultValue !== undefined)) {
                        parentObject[pathName] = {};
                    }
                    parentObject = parentObject[pathName];
                }
            }
            if (parentObject !== undefined && parentObject !== null) {
                if (isXml && mapper.xmlNamespace) {
                    const xmlnsKey = mapper.xmlNamespacePrefix
                        ? `xmlns:${mapper.xmlNamespacePrefix}`
                        : "xmlns";
                    parentObject[XML_ATTRKEY] = Object.assign(Object.assign({}, parentObject[XML_ATTRKEY]), { [xmlnsKey]: mapper.xmlNamespace });
                }
                const propertyObjectName = propertyMapper.serializedName !== ""
                    ? objectName + "." + propertyMapper.serializedName
                    : objectName;
                let toSerialize = object[key];
                const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
                if (polymorphicDiscriminator &&
                    polymorphicDiscriminator.clientName === key &&
                    (toSerialize === undefined || toSerialize === null)) {
                    toSerialize = mapper.serializedName;
                }
                const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);
                if (serializedValue !== undefined && propName !== undefined && propName !== null) {
                    const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);
                    if (isXml && propertyMapper.xmlIsAttribute) {
                        // XML_ATTRKEY, i.e., $ is the key attributes are kept under in xml2js.
                        // This keeps things simple while preventing name collision
                        // with names in user documents.
                        parentObject[XML_ATTRKEY] = parentObject[XML_ATTRKEY] || {};
                        parentObject[XML_ATTRKEY][propName] = serializedValue;
                    }
                    else if (isXml && propertyMapper.xmlIsWrapped) {
                        parentObject[propName] = { [propertyMapper.xmlElementName]: value };
                    }
                    else {
                        parentObject[propName] = value;
                    }
                }
            }
        }
        const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);
        if (additionalPropertiesMapper) {
            const propNames = Object.keys(modelProps);
            for (const clientPropName in object) {
                const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);
                if (isAdditionalProperty) {
                    payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options);
                }
            }
        }
        return payload;
    }
    return object;
}
function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {
    if (!isXml || !propertyMapper.xmlNamespace) {
        return serializedValue;
    }
    const xmlnsKey = propertyMapper.xmlNamespacePrefix
        ? `xmlns:${propertyMapper.xmlNamespacePrefix}`
        : "xmlns";
    const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };
    if (["Composite"].includes(propertyMapper.type.name)) {
        if (serializedValue[XML_ATTRKEY]) {
            return serializedValue;
        }
        else {
            const result = Object.assign({}, serializedValue);
            result[XML_ATTRKEY] = xmlNamespace;
            return result;
        }
    }
    const result = {};
    result[options.xml.xmlCharKey] = serializedValue;
    result[XML_ATTRKEY] = xmlNamespace;
    return result;
}
function isSpecialXmlProperty(propertyName, options) {
    return [XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);
}
function deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {
    var _a;
    if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {
        mapper = getPolymorphicMapper(serializer, mapper, responseBody, "serializedName");
    }
    const modelProps = resolveModelProperties(serializer, mapper, objectName);
    let instance = {};
    const handledPropertyNames = [];
    for (const key of Object.keys(modelProps)) {
        const propertyMapper = modelProps[key];
        const paths = splitSerializeName(modelProps[key].serializedName);
        handledPropertyNames.push(paths[0]);
        const { serializedName, xmlName, xmlElementName } = propertyMapper;
        let propertyObjectName = objectName;
        if (serializedName !== "" && serializedName !== undefined) {
            propertyObjectName = objectName + "." + serializedName;
        }
        const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;
        if (headerCollectionPrefix) {
            const dictionary = {};
            for (const headerKey of Object.keys(responseBody)) {
                if (headerKey.startsWith(headerCollectionPrefix)) {
                    dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);
                }
                handledPropertyNames.push(headerKey);
            }
            instance[key] = dictionary;
        }
        else if (serializer.isXML) {
            if (propertyMapper.xmlIsAttribute && responseBody[XML_ATTRKEY]) {
                instance[key] = serializer.deserialize(propertyMapper, responseBody[XML_ATTRKEY][xmlName], propertyObjectName, options);
            }
            else {
                const propertyName = xmlElementName || xmlName || serializedName;
                if (propertyMapper.xmlIsWrapped) {
                    /* a list of <xmlElementName> wrapped by <xmlName>
                      For the xml example below
                        <Cors>
                          <CorsRule>...</CorsRule>
                          <CorsRule>...</CorsRule>
                        </Cors>
                      the responseBody has
                        {
                          Cors: {
                            CorsRule: [{...}, {...}]
                          }
                        }
                      xmlName is "Cors" and xmlElementName is"CorsRule".
                    */
                    const wrapped = responseBody[xmlName];
                    const elementList = (_a = wrapped === null || wrapped === void 0 ? void 0 : wrapped[xmlElementName]) !== null && _a !== void 0 ? _a : [];
                    instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);
                }
                else {
                    const property = responseBody[propertyName];
                    instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);
                }
            }
        }
        else {
            // deserialize the property if it is present in the provided responseBody instance
            let propertyInstance;
            let res = responseBody;
            // traversing the object step by step.
            for (const item of paths) {
                if (!res)
                    break;
                res = res[item];
            }
            propertyInstance = res;
            const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
            // checking that the model property name (key)(ex: "fishtype") and the
            // clientName of the polymorphicDiscriminator {metadata} (ex: "fishtype")
            // instead of the serializedName of the polymorphicDiscriminator (ex: "fish.type")
            // is a better approach. The generator is not consistent with escaping '\.' in the
            // serializedName of the property (ex: "fish\.type") that is marked as polymorphic discriminator
            // and the serializedName of the metadata polymorphicDiscriminator (ex: "fish.type"). However,
            // the clientName transformation of the polymorphicDiscriminator (ex: "fishtype") and
            // the transformation of model property name (ex: "fishtype") is done consistently.
            // Hence, it is a safer bet to rely on the clientName of the polymorphicDiscriminator.
            if (polymorphicDiscriminator &&
                key === polymorphicDiscriminator.clientName &&
                (propertyInstance === undefined || propertyInstance === null)) {
                propertyInstance = mapper.serializedName;
            }
            let serializedValue;
            // paging
            if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
                propertyInstance = responseBody[key];
                const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
                // Copy over any properties that have already been added into the instance, where they do
                // not exist on the newly de-serialized array
                for (const [k, v] of Object.entries(instance)) {
                    if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {
                        arrayInstance[k] = v;
                    }
                }
                instance = arrayInstance;
            }
            else if (propertyInstance !== undefined || propertyMapper.defaultValue !== undefined) {
                serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);
                instance[key] = serializedValue;
            }
        }
    }
    const additionalPropertiesMapper = mapper.type.additionalProperties;
    if (additionalPropertiesMapper) {
        const isAdditionalProperty = (responsePropName) => {
            for (const clientPropName in modelProps) {
                const paths = splitSerializeName(modelProps[clientPropName].serializedName);
                if (paths[0] === responsePropName) {
                    return false;
                }
            }
            return true;
        };
        for (const responsePropName in responseBody) {
            if (isAdditionalProperty(responsePropName)) {
                instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '["' + responsePropName + '"]', options);
            }
        }
    }
    else if (responseBody) {
        for (const key of Object.keys(responseBody)) {
            if (instance[key] === undefined &&
                !handledPropertyNames.includes(key) &&
                !isSpecialXmlProperty(key, options)) {
                instance[key] = responseBody[key];
            }
        }
    }
    return instance;
}
function deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {
    /* jshint validthis: true */
    const value = mapper.type.value;
    if (!value || typeof value !== "object") {
        throw new Error(`"value" metadata for a Dictionary must be defined in the ` +
            `mapper and it must of type "object" in ${objectName}`);
    }
    if (responseBody) {
        const tempDictionary = {};
        for (const key of Object.keys(responseBody)) {
            tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);
        }
        return tempDictionary;
    }
    return responseBody;
}
function deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {
    var _a;
    let element = mapper.type.element;
    if (!element || typeof element !== "object") {
        throw new Error(`element" metadata for an Array must be defined in the ` +
            `mapper and it must of type "object" in ${objectName}`);
    }
    if (responseBody) {
        if (!Array.isArray(responseBody)) {
            // xml2js will interpret a single element array as just the element, so force it to be an array
            responseBody = [responseBody];
        }
        // Quirk: Composite mappers referenced by `element` might
        // not have *all* properties declared (like uberParent),
        // so let's try to look up the full definition by name.
        if (element.type.name === "Composite" && element.type.className) {
            element = (_a = serializer.modelMappers[element.type.className]) !== null && _a !== void 0 ? _a : element;
        }
        const tempArray = [];
        for (let i = 0; i < responseBody.length; i++) {
            tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);
        }
        return tempArray;
    }
    return responseBody;
}
function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {
    const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);
    if (polymorphicDiscriminator) {
        let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];
        if (discriminatorName) {
            // The serializedName might have \\, which we just want to ignore
            if (polymorphicPropertyName === "serializedName") {
                discriminatorName = discriminatorName.replace(/\\/gi, "");
            }
            const discriminatorValue = object[discriminatorName];
            if (discriminatorValue !== undefined && discriminatorValue !== null) {
                const typeName = mapper.type.uberParent || mapper.type.className;
                const indexDiscriminator = discriminatorValue === typeName
                    ? discriminatorValue
                    : typeName + "." + discriminatorValue;
                const polymorphicMapper = serializer.modelMappers.discriminators[indexDiscriminator];
                if (polymorphicMapper) {
                    mapper = polymorphicMapper;
                }
            }
        }
    }
    return mapper;
}
function getPolymorphicDiscriminatorRecursively(serializer, mapper) {
    return (mapper.type.polymorphicDiscriminator ||
        getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) ||
        getPolymorphicDiscriminatorSafely(serializer, mapper.type.className));
}
function getPolymorphicDiscriminatorSafely(serializer, typeName) {
    return (typeName &&
        serializer.modelMappers[typeName] &&
        serializer.modelMappers[typeName].type.polymorphicDiscriminator);
}
/**
 * Known types of Mappers
 */
export const MapperTypeNames = {
    Base64Url: "Base64Url",
    Boolean: "Boolean",
    ByteArray: "ByteArray",
    Composite: "Composite",
    Date: "Date",
    DateTime: "DateTime",
    DateTimeRfc1123: "DateTimeRfc1123",
    Dictionary: "Dictionary",
    Enum: "Enum",
    Number: "Number",
    Object: "Object",
    Sequence: "Sequence",
    String: "String",
    Stream: "Stream",
    TimeSpan: "TimeSpan",
    UnixTime: "UnixTime",
};
//# sourceMappingURL=serializer.js.map

redpajama_set_name: RedPajamaGithub


Hi I'm trying to download this from my college link but it says it cant because it has a trojan attached to it. I need this for an assignment. What can I do? Another class mate is having the same problem. My virus protection is 360.
Can you please post a screenshot of the trojan?
Thank you for the screenshot. I believe this message is a warning GenoPro could be a trojan. I am sure if you pick any older version of GenoPro at http://www.genopro.com/archives/ you will get the same warning. So far, all versions of GenoPro since the first release in 1998 have been virus/trojan free.
A lot of antivirus programs see anything with an unverified publisher as being a potential threat, and from the message in the screenshot it looks like that's what's happening in this case. I did computer tech work for five years before burning out almost ten years ago. I've stayed involved in the field as a hobbyist, but my professional life has been thrown into chaos by a layoff followed by a string of health issues and a need for a new career.
Some programs go so far as to not want you to install anything that isn't from their company or Microsoft (assuming you're using Windows). Part of me wonders what kind of kickbacks they get from Microsoft for this behaviour.
The download link to actual GenoPro.exe contens a Trojan Virus.
We get over 1000 downloads per day and you are the only one reporting a trojan in months. After exchanging about a dozen emails with you Roland, you write on this forum about the problem. The "Free Download Manager" your are using Roland may actually be the trojan infecting every file you download.
I have checked the file and it's not being detected by Emsisoft. Please make sure you are using our latest database by run the online update and try to re-scan the file.
Can you please confirm if your virus scanner reports GenoPro as a trojan?
GenoPro has been downloaded and installed on million of computers. Among those computers I am sure some have been infected by some virus, which in turn infected GenoPro on that computer. My guess is your computer has been infected by the Trojan.GenerickD5031305 which in turn infected GenoPro on your computer.


Looking for: I imagine the man of my heart as kind, generous, optimistic, loyal and with good sense of humor. I want to make your life happy and colorful with my presence in it. I will become your everyday inspiration and way of life. Wish I could devote all myself to you,let us open our worlds, connect our souls, let them live and exist as the whole one. I hope this online dating site will help me to find my second part.
About me: I am girl of your dream who wants to meet a hot man for a relationship with a full set of emotions and passion. I am ukranian bride who really appreciates the passion between a man and a woman. That's why I started a new work. I am the creator of perfume with pheromones. This is exactly what helps to reveal true feelings for each other and remove all internal prohibitions. Oh yeah! This is exactly what I need! If you are looking for something great and incredible on this site, then we should get to know each other. And I'll tell you a little secret of crazy and sensual relationships for life. Are you ready?


There's just over a week to go until George Mann's new short story anthology Further Associates of Sherlock Holmes is released but I've been fortunate enough to receive my contributor copy already.
Interesting, around this time last year I was in Cornwall, writing Sherlock Holmes and the Beast of Bodmin. I'm off to Cornwall again soon where I will be writing another short story for another new anthology.


text:
package operation

import (
	"encoding/json"
	"errors"
	"fmt"

	"raindfs/util"
)

type DeleteResult struct {
	Status int    `json:"status"`
	Error  string `json:"error,omitempty"`
}

func DeleteFile(server string, fileId string) error {
	uri := fmt.Sprintf("http://%s/admin/delete/%s", server, fileId)
	jsonBlob, err := util.Get(uri)
	if err != nil {
		return err
	}
	var ret DeleteResult
	if err := json.Unmarshal(jsonBlob, &ret); err != nil {
		return fmt.Errorf("Failed to delete %s:%v", fileId, err)
	}
	if ret.Error != "" {
		return errors.New(ret.Error)
	}
	return nil
}