Thrunton Nugget sold for 13,000gn.
Charolais bulls sold to a top of 13,000gn at the closing day of the Stirling Bull Sales.
An average of £6,171 was achieved for 121 bulls – a clearance rate of 85%.
This compares to last year's average of £7,635 for the 115 bulls at a clearance rate of 88%.
The sale leader was a first-prize senior bull from J H C Campbell & Sons, Thrunton, Alnwick. May-2017 born Thrunton Nugget, by Thrunton Gladiator and out of Thrunton Hoopla, sold to K J Thomas, Llechwedd, Wales.
Next best at 12,000gn was the senior champion, Inverlochy Nelson, from father and son Johnny and Raymond Irvine of Inverlochy Farm, Tomintoul.
Inverlochy Nelson sold for 12,000gn.
A May-2017 born son of the Irish-bred Kilbine 1 Instigator, he sold to the Wights at Midlock, Crawford.
Thereafter three lots sold for 11,000gn.
The first, selling to John Smith, Netherton Farm, Peterhead, was June-2017 born Gretnahouse Neverland, by Westcarse Jimmy, from Gretna Green breeder Alasdair Houston.
The second was August-2017 born Harestone Nighthawk from Neil and Stuart Barclay, South Road, Insch. An ET son of Balmlye Edition, he sold to J G Wilson, Kinclune, Glenkindie.
The third, selling to G A Mackie, Drimmie Farm, Rescobie, Angus, was October-2017 born Goldies Navigation, by Gretnahouse Heman, from Hamish Goldie, South Bowerhouses, Ruthwell, Dumfries.
Harestone Nighthawk sold for 11,000gn.
Next best at 10,500gn was September-2017 born Killadeas Noah, by Blelack Blackberet, from S & D Bothwell, St Angelo, Co. Fermanagh. He sold to J Warnock & Sons, Dreva Farm, Broughton.
Other leading prices included 10,000gn for October-2017 born Thrunton Nike, by Thrunton Gladiator, from the Campbells. He sold to A J Maclean, Heylipol Farm, Scarinish, Tiree.
Five lots sold for 9,500gn, including the reserve overall champion from Major David Walter, Balthayock, Perth. Brought out by Davie and Tracey Nicol, Balthayock Nanook, by Balthayock Imp, sold to W J Millar, Hunting Faulds Farm, Tealing. Another entry from Major Walter made 9,500gn when Balthayock Nominee, by Balthayock Impression, sold to Mr Timm, Westend Farm, Appleton Roebuck, York. Hamish Goldie was also behind two of the 9,500gn bids. Goldies Nugget, by Gretnahouse Heman, sold to A & J Wilson, Mains of Tillymorgan, Culsalmond, and Goldies Noelle, by Goldies Formidable, sold to Strathisla Farms, Moolies Meigle, Ruthven, Perthshire.
The last lot at 9,500gn, selling to D Munro, Pitmain, Kingussie, was Woodpark Neptune, by Deeside Gulliver, from W Short, Wood Park, Co. Tyrone.
The overall champion – Maerdy Northernboy from Esmor Evans – was unsold at 7,800gn.


text:
8th of Jul | Story
BY CAROLYN LaWELL
SALEM, Virginia | The extent of Todd Stephenson's baseball experience was playing and that ended some time during high school after he discovered cars and girls. So imagine his surprise when he showed up for his first job in minor league baseball and he was suddenly the boss.
The general manager and only year-round employee of the Sarasota Red Sox had taken a medical leave. Fresh out of N.C. State University with a master's in parks and recreation and sports management, Stephenson was named the interim general manager.
"The first year was interesting," he says, remembering more than a decade back to 1999. "It was a big learning experience as far as what goes on during the game, what works business-wise and what works operationally."
Stephenson didn't follow baseball during college. His only relatable experiences were running concessions stands at local parks growing up, cleaning up and moving equipment at Reynolds Coliseum during his college years in Raleigh and internships with golf and tennis tournaments.
"It was interesting getting back into the atmosphere, being around the game and the fans and the people who are involved with the game," he says.
That first year he ran the operation on the fly. And he did it successfully. He was named general manager for the 2000 season, then followed that in 2003 with a promotion to the Boston Red Sox's coordinator of Florida operations. In 2007, he received another promotion to oversee the Red Sox's new team in Salem.
"When the position in Salem opened, I had no intention of applying, but they said, 'Why don't you go? We think you'll be a good fit,'" Stephenson says. "They offered me a dual roll where I'm the GM here and special adviser to Florida operations."
For now, Stephenson is happy in Salem running a staff of 15-full-time employees and 10 interns. He still helps maintain Red Sox public relationships in Fort Myers, Florida, where the new spring training facility, JetBlue Park at Fenway South, opened earlier this year. Stephenson is unsure where his career will take him, but he wants to retire with the Red Sox organization.
"Some days you want to go to Boston, some days you don't," he says. "I don't know what the future will hold, so I'll just roll with it."
Time for minor league trivia. The Salem Red Sox home opener this season featured what big leaguer on the mound for a rehab appearance? Need a hint? A former Chicago Cub and Baltimore Oriole, he is a sidearming specialist who appeared in 25 games for the Boston Red Sox this year. (Keep reading for the answer.)
Red Sox all-star closer Michael Olmstead committed two throwing errors, threw a wild pitch that advanced a runner and gave up five runs in the ninth to blow a two-run lead and spark the Frederick Keys to a 8-5 win. The erratic Olmstead faced eight Keys before he was pulled after two-thirds of an inning. Red Sox DH Adalberto Ibarra drove in two runs, and center fielder Brandon Jacobs, second baseman Sean Coyle and right fielder Shannon Wilkerson all drove in one. Each member of the Red Sox's offense reached base and the team combined for 13 hits — but Keys pitchers struck them out 12 times, including twice in the ninth.
When we arrived at LewisGale Field at Salem Memorial Baseball Stadium (what a mouthful), a Ferris wheel, miniature roller coaster, cheesesteak and lemonade stands and dozens of other rides and food carts were set up in the parking lot. The Salem Fair was celebrating its 25th anniversary with two weeks of entertainment. With no open parking spots near the stadium, we wound up parked on the grass behind the scoreboard. Highs in the low 100s kept the game crowd sparse with an announced attendance of 1,169 and forced the fair to stay closed until the sun started to drop in the early evening.
Salem Memorial Baseball Stadium, which has sweeping views of the Blue Ridge Mountains, is part of the James E. Taliaferro Sports and Entertainment Complex that also includes the Salem Civic Center and Salem Football Stadium. Fans who sit along the third base line can see the light towers of Salem Kiwanis Baseball Field, which opened in 1932, and was home to professional baseball in the city until the team moved to the stadium in 1995.
Want the answer? Rich Hill pitched the first two innings of the season for the Salem Red Sox, giving up one hit and striking out three. Hill's 2011 season was cut short when we underwent Tommy John surgery on June 9. Working his way up through the minors this season, he pitched well until he strained a flexor tendon and was put on the DL in June. Hill appeared in 16 games (three for Salem) in the minors and 25 in the Majors this season. He ended the season with one win for Boston, a 1.83 ERA and 1.42 WHIP.
And in random statistical news, a young woman sang the national anthem in 1 minute, 39.2 seconds, the first pitch was a strike and the first batter grounded out to second. We ate pulled pork barbecue nachos, which kept us from climbing onto any carnival rides after the game. Probably a good idea.
Carolyn@AMinorLeagueSeason.com ♦ @CarolynLaWell ♦ @AMinorLgSeason
Want to read stories about the other teams on our schedule? Click here and scroll to the calendar

redpajama_set_name: RedPajamaCommonCrawl


In the center of the detective series rosewood very unusual couple-pathologist, leading a private practice and a novice detective. Beaumont rosewood is characterized by self-confidence and a high level of intelligence. He is addressed relatives of the dead, if the cause of death is questionable. The man readily undertakes Affairs of any complexity, after all for the professional there are no restrictions. In addition, he has extensive experience with the police, sometimes he asks for help in the investigation. That's how he meets viya, who returned to Los Angeles after several years of life in new York. The detective is not pleased with the constant presence of an arrogant forensic expert, but she got the case of the death of a young girl, and here interests crossed.Viya is sure that this is just an accident, as a result of careless driving while intoxicated, and beaumont is ready to prove that the girl was the victim of a sophisticated killer. Thanks to this "confrontation" the pair managed to find and neutralize the perpetrator.


text:
Q: How to add an additional unique reference number to woocommerce orders I would like to know how can I add a unique random number to my WooCommerce orders which are visible to the customer and at WooCommerce orders.
For example,
When there is a new order. It will have it's usual order ID and an additional reference ID.
This reference number has to be unique for each order. So that, can be used as a way to identify each order.
Thanks in advance :)

A: The basic idea is to generate a random number and add it as order meta. This would something like the following. This mayn't be the perfect one, but will lead you to it.
function create_reference_id( $order, $data ){
    $random = write_function_for_random_id(); //Write the function to create random ID
    $order->update_meta_data( 'custom_id', $random ); // replace custom_id with your meta key name.
}
add_action('woocommerce_checkout_create_order', 'create_reference_id', 10, 2);

This will add ID to WooCommerce Order object. Then you need to write code to show ID in email.
UPDATE
For the random number function you can use combination of order id and the value returned from wp_rand() function.
If that's the case then you need to write as following.
function create_order_reference_id( $order_id, $data ){
    $random = $order_id.'_'.wp_rand(1, 1000);
    $order = wc_get_order( $order_id );
    $order->update_meta_data( 'custom_id', $random );
    $order->save();
}
add_action('woocommerce_checkout_update_order_meta', 'create_order_reference_id', 10, 2);

redpajama_set_name: RedPajamaStackExchange


text:
Gresso Miami is an international brand that launched its Miami headquarters in 2014. The fashion accessories arm of the Gresso family of companies, Gresso Miami specializes in creating runway-inspired collections made specifically for our modern, tech-infused lifestyles. We believe that mobile devices are an integral part of our identity, and our fashion accessories should not only protect the device but also reflect our own unique style. With a range of products from clutches, wallets and mini-bags, to snap-on cases and tablet folios, Gresso Miami's collections reflect the latest designer trends.
Gresso Miami is part of the larger company Gresso, the world's premier luxury mobile phone designer and manufacturer. Founded in Europe in 1999, Gresso has grown to lead the luxury smartphone market. With the international success of Gresso, the demand for fashion accessories that accommodated our tech-driven lives and that also reflected a commitment to premium materials and craftsmanship grew, and so Gresso Miami was born.
Gresso Miami first launched in Europe in 2006 as a strictly tech accessories brand, and quickly became one of the leading names in the market. In 2014, Gresso Miami expanded it's products to include more traditional fashion accessories, including our iconic clutch and mini-bag. We believe style and technology help define our individual lives, and seek to design collections that seemlessly fuse the two together.


Fire Prevention Week is being observed this week with departments from the area and throughout the United States offering safety tips. Since 1922, Fire Prevention Week has been observed on the Sunday through Saturday period in which Oct. 9 falls to commemorate the Great Chicago Fire of 1871.
The theme of the 2018 campaign is "Look. Listen. Learn. Be aware. Fire can happen anywhere." It works to educate people about three basic but essential steps to take to the reduce the likelihood of having a fire and how to escape safely if there is one.


The Qliro Financial Services is expanding rapidly and are now looking to increase our Merchant Acquisition team with an additional Key Account Manager.
The role as Key Account Manager is a unique opportunity to take part of Qliro's growth journey. As Key Account Manager you will be the face of Qliro towards our potential clients, ensuring our continuous growth by securing new sales and business.
Being the "single point of contact" for our new potential merchants. Hence, you will be responsible to secure business with some of the largest merchants in the Nordics.
Prepare quotes and pitches that you will deliver in meetings with potential clients.
Project lead the relevant people/departments at Qliro and on the merchant side during the onboarding process.
You have Key Account Management/account management experience. You have strong communicational skills and the ability to build long lasting and strong relationships.
We believe you are a true "go getter" that with a positive attitude seek solutions. You love to over-deliver and to deliver on time.
You are structured and enjoy working with several different teams and stakeholders.
You have the interest and ability to multi-task and navigate around different areas.
High level of energy and engagement, ability to work under pressure and occasional tight deadlines.
In this recruitment, we are working togergether with Trankeela and you will be directed to their site when applying for the role.


text:
roxannethereviewer October 2, 2020 Film Reviews
When her mum abandons the family, Rocks is left to care for her younger brother Emmanuel, and deal with everything else being a fifteen-year-old girl in East London entails, all while keeping up appearances to the outside world to ensure social services don't separate her from her brother. The heart-wrenching plot is tempered with the supportive network Rocks has in her best friends, a group of girls from various cultural backgrounds, accurately reflecting what modern teenage friendship groups look like in London today.
Ruby Stokes, Anastasia Dymitrow, Kosar Ali, Bukky Bakray, Tawheda Begum and Afi Okaidja make up the main cast
Where Black British coming-of-age films usually centre teenage boys, it was a pleasant and refreshing change to see the joys of Black girlhood, and the unwritten rules of sisterhood unfold in such an authentic and relatable way on the big screen. Some of the most enjoyable scenes in this film depict the group of friends just being, laughing and messing around. The focus on women doesn't end there, as the entire production is crafted by an all-female team; from writers, Theresa Ikoko and Claire Wilson, to director Sarah Gavron, costume designer Ruka Johnson and the majority-female artists on the film soundtrack. Even the key authoritative figures in the film were women, and mainly women of colour.
Sarah Niles leads a dance class as Ms Booker
A theme that stood out for me in Rocks was the concept of the Eldest Child Syndrome. In ethnic households this is specifically the Eldest Daughter Syndrome, a duty bestowed on the first-born child (read: girl) to absorb some parental burden. In the case of Rocks, she absorbs all of it and accepts the role of guardian and carer for her brother, while simultaneously being deprived of that care herself. It made me consider how society doesn't allow Black girls to be children, and how this has wider societal repercussions contributing to lack of opportunity and less lenient treatment compared to our non-Black counterparts.
D'Angelou Osei Kissiedu, Kosar Ali and Bukky Bakray as Emmanuel, Sumaya and Rocks
In one part of the film, in dealing with the fall-out of her mother's departure, Rocks is punished for perceived disobedience in school. This is just one of the ripple effects of Eldest Child Syndrome; not only did this affect Rocks academically but put a strain on some of her friendships too. Rocks never loses focus on prioritising her brother and while some may admire her resilience, I can't help but be angry at the systems and traumas that force girls like Rocks to be resilient in the first place. Trauma doesn't reveal strength, it reveals coping mechanisms.
Bukky Bakray was fantastic in the titular role of Rocks. As a young actress she shows so much potential in her ability to portray realistic emotions, to the point that some scenes resembled documentary footage rather than fiction. The scene-stealer however, is D'angelou Osei Kissiedu who plays the comically innocent, but equally loving Emmanuel. His version of The Lord's Prayer that replaces 'thy will be done' with 'I won't be done' is a mantra I've adopted myself. I won't be done IJN. Another standout performance comes from Kosar Ali who plays loyal jokester, Sumaya, a role she was born for. I am confident we will be seeing more of her work in the future.
The two friends bond as Sumaya dresses Rocks in traditional Somali attire
While some lines were spoken over one another and initially came across as interrupted rhythms, as the scenes progressed they added to the authenticity of the film, and contributed to its life-like nature.
What I loved about this film was that it told an authentic story, not rooted in racial oppression, but just a compelling story of hardship, peppered with the joys of adolescence and Black Girl Magic. The film passes the Bechdel test with flying colours, where the only discussion of boys is right at the start in jest. The rest of the story focusses on friendship and survival. A must-see.
Watch Rocks in cinemas and Netflix UK now!
black british, bukky bakray, east london, film review, girlhood, kosar ali, london cinema, london film, review, rocks, rocks film, rocks film 2020, rocks film netflix, rocks film review, rocks film uk, theresa ikoko, women in film
Previous Miss Juneteenth
Next Moonlight


Officials: Man shot, killed by deputies after reaching for gun in East L.A.
EAST LOS ANGELES >> Deputies shot and killed a 29-year-old man they say reached for a handgun during a traffic stop in East Los Angeles early Sunday morning.
The suspect, Eduardo Rodriguez, died at the scene of the deputy-involved shooting, which took place just after 4 a.m. at Ferris Avenue and Whittier Boulevard, Los Angeles County sheriff's officials said in a written statement.
Two additional people inside of the car were detained for further investigation.


text:
Silvia Bächli (Baden, 16 maart 1956) is een Zwitserse kunstenares die woont en werkt in Bazel en Parijs.

Biografie
Bächli studeerde van 1976 tot 1980 aan de School of Design in Bazel en de École Superieure d'Arts Visuels in Genève. Sinds haar studies legt ze zich volledig toe op tekenen. Hiervoor gebruikt ze onder andere gouache, vetkrijt en inkt. Het belangrijkste element in haar werk zijn lijnen die, meestal in een verdunde zwarte waterkleur, zonder achtergrond op het papier worden gezet. Het werk van Silvia Bächli balanceert op de grens tussen figuratieve en abstracte kunst.

Sinds 1993 is ze professor aan de Staatliche Akademie der Bildenden Künste Karlsruhe.

In 2005 kocht ING België drie gouaches van Silvia Bächli aan om de privé-kunstcollectie aan te vullen.

Op de 53ste Biënnale van Venetië in 2009 vertegenwoordigde Silvia Bächli Zwitserland.

Literatuur
 Das, Lars Muller Publishers, 2009.
 Lidschlag, How It Looks, Lars Muller Publishers, 2010.
  Far Apart Close Together, Verlag Fur Moderne Kunst, 2012.
  Movement: Silvia Bächli, Heinz Breloh, Anna Huber, David Reed, Verlag Fur Moderne Kunst, 2015.

Externe links
 Website van Silvia Bächli
 Silvia Bächli MoMA

Zwitsers kunstschilder in de 20e eeuw
Zwitsers kunstenaar

redpajama_set_name: RedPajamaWikipedia


text:
Manage FX Risk
We help businesses and their owners make the most of their international payments day in, day out.
Providing highlights of key market movements, keep informed on the latest foreign exchange market movements.
We already work with 150+ business partners, all looking to give their members and clients the best.
We work with thousands of businesses around the globe by providing their clients with exceptional foreign exchange services and global payments.
Discover our daily market updates and stay informed on the very latest currency exchange developments.
Which kind of international payments account would you like to create?
What type of international payments account do you have?
Our commitment to giving back
'Support our Paras' Charity
Trading stories
Soldiers from Parachute Regiment visit moneycorp Head Office.
In 2017, some of the moneycorp team, in association with City A.M., hosted a day for, 'Support Our Paras'. Support Our Paras is a charity which supports serving injured soldiers from the Parachute Regiment and their families. They provide welfare assistance to serving soldiers to complement State provision as well as providing services such as support for mental health, course to assist transition into civilian life and memorials to those who have served.
During the day, a number of injured paras arrived at moneycorp head office in London, Victoria to be greeted and paired up with corporate and wholesale dealers. They spent the day helping to answer calls. They also shared their experiences of serving in the Parachute Regiment with corporate clients who also joined for the day.
The day was even more successful than anticipated as £100,000 was raised for the 'Support Our Paras' charity, whilst also raising awareness for this wonderful cause.
moneycorp take to the skies to raise money for 'Support Our Paras'
A group of brave moneycorp employees took part in a parachute jump in aid of, 'Support Our Paras' The team were instructed and guided by the Red Devils Free Fall Team in Salisbury, Wiltshire. They experienced a tandem skydive, free-falling towards earth from 12,000 ft. Parachute deployed, the team mates enjoyed a five minute ride to the landing point. Once firmly on the ground, the team congratulated each other on a once in a lifetime experience and all for a great cause.
Why use moneycorp?
120+ currencies available
The ability to set up regular payments and target rates
01 901 5252 Enquire now
Regulatory info | Terms of use | Privacy Policy | Cookie Policy | Modern Slavery Act
TTT Moneycorp Limited is a company registered in England under registration number 738837. Its registered office address is Zig Zag Building, Floor 5, 70 Victoria Street, London SW1E 6SQ and its VAT registration number is 897 3934 54.
TTT Moneycorp Ltd, trading as Moneycorp, is authorised by the Financial Conduct Authority (FCA) in the UK and is regulated by the Central Bank of Ireland for conduct of business rules.


text:
William Hill Allegedly Books Banned March Madness Prop Bet In Tennessee
Infractions abound in the world of Tennessee sports betting.
The state's local sportsbook, Action 24/7, just recently had its license suspended over issues of money laundering, credit card fraud and proxy betting.
The state's newest sportsbook, William Hill, has already allegedly violated Tennessee sports betting regulations by offering player prop betting during March Madness.
This begs the question – what exactly do penalties look like for violators?
William Hill arrives late to the Tennessee regulations party
William Hill, one of the world's oldest, most renowned sportsbooks, made its way to the states in 2012.
Most recently, the operator was granted a license in the Volunteer State – its 16th US jurisdiction. Less than three weeks after launch, though, trouble is already brewing.
According to the Tennessee Journal, the sportsbook was allegedly found taking prop bets on individual players this Monday during the NCAA Tournament.
This is a major regulatory violation per the state's statute, which bans prop bets on college players.
The Tennessee Education Lottery (TEL), sports betting's governing body, requires sportsbooks to pay an annual $750,000 licensing fee to keep their digital doors open. Fines for violations, however, are not as clearly defined.
TEL Communications Director Dave Smith said in a comment to the Tennessee Journal:
"There's a process in place for violations, and we will follow that process. This matter is under review, however, prop bets on college players are not permitted. The operator has taken those down, and any wagers placed have been voided by the operator."
What specific fines and penalties William Hill is subject to remains to be seen.
This isn't the first of the Tennessee Lottery's struggles
This is far from the first issue Tennessee sports betting has seen in its short history. Recently, the TEL's regulatory decisions have been under fire as it negotiates the learning curve of regulated sports betting.
Earlier this month, the TEL suspended local sportsbook Action 24/7's operating license due to a number of illicit activities taking place on its platform. The sportsbook self-reported the suspicious findings to the TEL in mid-March.
However, the problem was that the issues were not divulged immediately.
Action 24/7 then took the TEL to court, where a Nashville judge decided to reinstate the sportsbook's license on account of the TEL failing to follow the appropriate course of action during the suspension process.
Additionally, the TEL has seen a revolving door in its sports betting operations.
Vice president Danielle Boyd served her last day on the job Wednesday, March 31 after nine months in the position. Boyd proceeded the TEL's first sports gaming director, Jennifer Roberts, who spent only seven months on the job.
The revolving door of executives and the lack of clearly-defined penalties for violations has made for a tough few months for regulators in the state.
With any luck, the TEL will get a little relief and have an easy go of it next month. But, who are we kidding? April Fools' Day is right around the corner.


text:
require "faraday"

require "codelocks/version"
require "codelocks/client"
require "codelocks/collection_proxy"
require "codelocks/model"
require "codelocks/request"
require "codelocks/response"
require "codelocks/lock"
require "codelocks/net_code"

module Codelocks
  class CodelocksError < StandardError; end
end

redpajama_set_name: RedPajamaGithub


Local artists have the chance to showcase their talent while contributing to Carson City's vision of becoming more bike-friendly.
The Carson City Visitors Bureau is partnering with Muscle Powered in seeking applications from Northern Nevadan artists for the design of five functional bike racks with an artistic flair.
The racks will be installed June 12 on Carson Street at the Legislature Building, Mom & Pop's Diner, Attorney General's office, City Hall and The Basil.
The project's aim is to encourage bicycling in the capital city while contributing to the city's public art collection.
Each freestanding sculptural rack must be designed to accommodate a locking mechanism. The finish must be low maintenance, such as stainless steel or a powder-coated, durable, weather-resistant veneer.
Artists selected will be contracted to design one to three of the five racks, with a $500 payout for each unique and functional design.
Artists will be required to visit their assigned installation sites to take measurements, gain site-specific inspiration from Muscle Powered sponsors and comply with the Carson City public right-of-way policies.
Final designs will be reviewed by a panel assessing engineering feasibility, aesthetics and relevance to location.
Additionally, after designs are selected artists will be paired with local welders who will be contracted with a budget of $1,000 per rack to cover materials and labor.
The deadline to apply is April 30, and those who apply will know if they are selected by May 5. Final designs are due by May 26.
Applicants must be at least 18 and demonstrate experience in design, fabrication or installation of public art. They must show a developed and consistent body of work with experience in working collaboratively.
To apply, submit a one-page letter of interest and introduction (pdf format); a resume complete with phone and email of two references (pdf); up to 10 images demonstrating artistic eligibility (jpegs or pdfs at maximum 1 MB each); and one page of image descriptions (pdf).
Send applications to Arts and Culture Coordinator Mark Salinas, msalinas@visitcarsoncity.com with the subject "RFQ Application."
For information, call Salinas at 775-687-7410.


Have a broken garage door extension spring in Lexa, Arkansas? Buy quality made replacement extension springs online with same day shipping to PHILLIPS county, AR if ordered before 11am EST.
Garage door extension springs run along the door's horizontal track and help to open and close your garage door as the springs stress and compress. Extension springs are manufactured specifically for the height of a garage door.
We ship to anywhere in the USA and have what you need, even if its Extension Springs in Burlington, Vermont!
Let's say you're looking at a seven-foot extension spring 25 x 42. This extension spring is used on a seven-foot garage door. It has a 25-inch relaxed or compressed length and a 42-inch stretched length, which is how far the spring should be stretched when the garage door is closed.
As you might expect, longer springs tend to be used on taller garage doors. If you use an extension spring with a different first number than the old one, you will need to adjust the cable length to achieve the necessary 10 percent of stretch when your door is open.
Don't ever use a seven-foot extension spring for an eight-foot garage door. This forces the spring to stretch farther to allow the door to close, which creates extra tension, affects how the door is lifted and will greatly shorten the life of the spring.
We offer fast shipping to the following Arkansas areacodes, 870. That's right as long as you order before 11am eastern time we ship your parts our the same day! We pride ourselves on customer service and can't wait to help you on your next garage door project.
Garage door extension springs are manufactured to lift specific amounts of weight. Therefore each individual garage door will have a specific spring that works for it. If you have a 240 pound garage door then you will need two 240 pound extension springs. This is because the pulleys in the system reduce the weight that the springs can pull, so a 240 pound spring can only pull 120 pounds.
This is why two 100-pound extension springs are needed to lift a 100-pound garage door. Also, be sure to replace both extension springs at the same time in order to maintain the garage doors balance in PHILLIPS county, AR.
***This pattern is repeated in 100 pound increments for various sizes. For example 110, 210, 310 pounds, etc. will all be color-coded with white paint.
When replacing your extension springs it a good idea to replace or add safety cables to your system. The safety cables run through your extension springs and will catch your garage door if something breaks like your springs or cables. When something does break it can be very dangerous if someone were around or underneath of the door. These safety cables can provide a safe environment for you and your family.
Make sure to watch our How-To video on how to measure an Extension Spring! Take a look at our other helpful videos for your future projects and stay tuned for more to come. Feel free to look us up on Youtube! Just go to the search bar and type in "diygaragedoorparts" to find our channel. Subscribe and you'll be updated on all future How To videos.
Many imported garage door extension springs in Lexa, Arkansas 72355 in PHILLIPS county are made from low-grade steel, but we can assure you that all DIY Garage Door parts extension springs are American-made with high quality steel and come with a four-year warranty. You can order online and worry free, knowing you getting a quality american made replacement garage door spring that will last for years!
Check out our inventory of quality made garage door replacement parts. Watch our how-to videos to learn more about measuring and replacing your garage door extension springs, call us at 1-866-813-7899 if you have any questions.
Replacement Garage Door extension springs for sale to Lexa, Arkansas, AR.


text:
Chapter 6: Melody of Regret
"Man, the streets are thick tonight," Caleb said, making the most of his momentary reprieve.
Clouds obscured the moon and stars above, making tonight's patrol a murky one. Lights flashed here and there throughout Grimoire, and the sounds of Hollows of all types could be heard.
"Which means a big payday for us," Chelsea said, grinning in the green firelight of the burning Howler between her and Caleb. Her phone chirped, and she took a look at it. "Pair of Weavers heading south between Brookwater and Midas."
"So near the library," Caleb said. "No word on Pipers?"
Chelsea shook her head. "Well, Jace's team forced one to escape before it caught any kids, but otherwise nothing."
"Better keep our eyes open, then," Caleb said. He flashed his pocket watch, forming a staircase of glowing discs leading up to the roof of the toy shop next to them. "Let's go."
"You're surprisingly subdued tonight," Chelsea said as she followed Caleb up his staircase. "Deep thoughts?"
"I was hoping we could track a Piper," Caleb replied as they alighted atop the roof and began heading south along the tiles. "But with this many Hollows, I may just have to wait."
"Track a Piper?" Chelsea asked. "What are you thinking?"
"I'm thinking there are little kids going missing," Caleb replied. "And I'm thinking we know exactly what's taking them, but we don't know where they're going. So I was thinking we'd follow one and find out."
"They vanish when they reach the boundary line. If it were that easy, someone else would have already done it."
Caleb smirked. "I didn't say I thought it would be easy," he said.
"Well, at least your cockiness is back," Chelsea said, rolling her eyes. "I spotted the Weavers. How do you want to take them?"
Caleb looked where Chelsea indicated, spying a pair of truly grotesque spiders.
As large as a grown man, Weavers were the worst types of spiders, the kinds with bulbous, oversized abdomens, spindly legs, and tiny heads with beady eyes. That giant rear section always freaked Caleb out, even in ordinary-sized spiders – it looked like the arachnid was hiding some horrible secret weapon or poison or something disgusting. In these massive, monstrous spiders, it was made more freakish, as their large abdomens weren't smooth, but mottled and bumpy, and seemed to ripple and squirm depending on the Weaver's movements.
"I'll keep my distance and watch you light them up," Caleb offered, earning a sharp glare from Chelsea. He laughed sheepishly. "I know, I know, Hunters face their fears."
"It's not like you haven't fought Weavers before," Chelsea said. "So? What's the play?"
"I'll trip up the one in front," Caleb said. "Wait until I say go, then blast the rear one with everything you've got."
"I love it when you let me play to my strengths," Chelsea said sweetly.
Racing ahead, Caleb slowed time to a crawl, leaping from one rooftop to the next.
Enhancement Magic. It was the key class of magic that all Hunters had to gain a certain level of proficiency in before being allowed on patrol. Used purely as a way to, as the name suggested, "enhance" the wielder's own physical capabilities, it was responsible for Caleb, Chelsea, and all other active Hunters being able to leap gaps that Olympic long jumpers couldn't dream of jumping. Not just that – Hunters of even the lowest rank in Enhancement Magic could safely land from a two story drop, could run for hours without exhausting themselves, and could lift even the heaviest of their companions with just one arm if the need arose and carry them at a full sprint.
Caleb crossed three large gaps between rooftops, closing on the Weavers. The tightness building in his chest let him know that he really shouldn't have started slowing time so early – the more he exerted himself physically while using Time Magic, the less time he could keep it active.
And the more he hurt himself.
Returning time to its normal flow for a few seconds, Caleb ran across rooftops, now ahead of the Weavers. Making sure he wasn't spotted yet, he slowed time once more and leapt down to the street. Just one block more. Caleb flashed his pocket watch open, using one of his magical discs as a springboard to launch himself one hundred yards in an instant.
That was the other component behind Caleb's superhuman capacity for maneuvering around the city streets and rooftops so quickly – Mobility Magic. Like many classes of magic, Mobility had a lot of flexibility in its use, and Caleb frequently manifested it as white and silver discs. Used mostly for creating pathways he couldn't easily jump or climb, he had other tricks up his sleeve, like the springboard leap he'd just used to rush ahead.
The key to most magic was creativity. Two different mages could use the same type of magic, and it would look and act completely differently. Chelsea's Elemental Magic was all about fire, and yet she used it like she was a dancing painter, creating beautifully artistic shapes and movements of green flame. Other fire mages would have different color flames and use it completely differently. While Caleb manifested Mobility Magic as discs, one of his friends created a sort of magical jetpack, zipping around with short-range flight. Many mages could use a simple ability of Mobility Magic – the Blink – to get around quickly. A short-range teleport, even Blinks could look and act completely differently.
That was what had drawn Caleb to being a Hunter. He was able to use creativity in high-pressure, intense situations that moved quickly. Thinking up solutions on the fly, and training specific techniques again and again so that they were pure muscle memory – these were the things that made Caleb's heart soar, his blood rush, and his whole being feel most alive.
So, even when facing his fears and rushing down grotesque spiders with absurdly large and hideous abdominal sections, Caleb was grinning.
His pocket watch flashed with light, and shining white chains formed from thin air. Surging forward, they wrapped up the lead Weaver's legs, and Caleb returned time to its normal flow.
Time Magic, Enhancement Magic, Mobility Magic, and, finally, Containment Magic. That was Caleb's true specialty after Time Magic. Containment was all about containing, constricting, and restricting a target. Caleb liked to manifest it as chains and other physical constructs like cages and traps.
With the lead Weaver tripped up, Caleb shouted out "Go!"
Chelsea was on the rear Weaver in a flash, emerald green fire roaring over the arachnid's body more like ocean waves than blasts of flame. Caleb was impressed – he wasn't sure Chelsea had been able to keep up with him over that distance with him slowing time so much.
Then again, she was the best Hunter he knew.
Both Weavers were crying out in their trademark piercing, inhuman screech that Caleb hated, but appreciated. It felt like knives stabbing his eardrums, but it meant the Weavers were in pain, and as long as they kept them contained, it would be over quickly.
"Oh, no you don't!" Chelsea shouted, forming roiling walls of flame to block her Weaver as it moved to escape. Caleb wrapped another set of chains around his Weaver's legs for good measure, and then started blasting it with spheres of white light. His own offense wasn't particularly powerful. His specialties lay in movement and containment, and it was why he worked so well with Chelsea. He could easily present Chelsea with a stationary, weakened target, making her own attacks that much more impactful.
It took a scant few seconds for Chelsea to finish off hers, and then she was quickly on the second. Together, they destroyed the Weaver with ease.
"I'll check for webbing," Caleb said, using one of his discs as a springboard, launching him up to the roof of a three-story building in a single bound.
"I'll collect our spoils," Chelsea called back to him in a singsong voice.
Weavers could be very difficult combatants if they got the jump on a Hunter, but in open combat, they weren't particularly deadly. The problem lay in the aftermath. It wasn't just about destroying the Weavers themselves – everywhere they went, they had a tendency to produce a thick, magical webbing over surfaces. If it wasn't cleared away, it could trip up other Hunters on their patrols, and even impact regular citizens the next day. The webbing didn't just restrict movement if someone was caught in it – it was filled with malice and anger, and to those who couldn't see the webbing, it was particularly potent. Ordinary, non-magical folks would be moved to fits of rage. The webbing couldn't be left hanging around.
"Anything?" Chelsea asked, leaping up to join Caleb on the roof.
"Nothing," Caleb said. He kept his eyes peeled for the telltale blackened aura of the webbing, but didn't see a thing.
"Well, they were moving a lot faster than usual," Chelsea offered. "Guess they weren't interested in webbing the place up."
"Guess so."
Caleb turned to Chelsea. "What?"
Chelsea put her hands on her hips. "Come on. You were talking about following Pipers earlier. You have a plan?"
Caleb shrugged. "Not really. Just find a Piper, don't let it see us, and follow it to the boundary line."
"They disappear at the boundary line," Chelsea said. "Is that the best you can do? We've seen them hit the boundary. We know what happens."
"How well have we ever examined the area right after they vanish?" Caleb asked. "When have we tried following them further? It's always 'oh no, it got away,' and then back to patrols and fighting."
"Because that's our job," Chelsea said. She let out a weary sigh. "We need a better plan than that. And we should probably work with a larger team."
"Why's that?" Caleb asked.
Chelsea groaned, tilting her head back as she did so. It was her trademark sign of complete and utter exasperation with Caleb.
He found it adorable.
"How good is your Divination Magic?" Chelsea asked. "I know mine is flat garbage. How well can the two of us handle thirteen Hollows alone if the Piper sees us and calls for reinforcements? How well can we handle a Piper, for that matter? We've been in both those situations before, and it wasn't pretty either time. Are you a tracker? Am I? What if the Piper gets one of us with its toxin? I'm not a Healer. Are you? No. Are you keeping up with me? Are you seeing what I'm getting at?"
Caleb stared into the distance. "Yeah. You're right. I know that. I just…"
"You were acting on emotions, not taking the time to think." Chelsea placed a gentle hand on his arm. "My heart aches for the kids who are disappearing, too. But if we get ourselves killed trying to look for them, what good does that do? And if we follow a Piper who has kids with it to the boundary line, and it vanishes with those kids, and we failed to stop it and can't find a way to follow it, whose fault is it those kids were stolen away? And if the Pipers are taking the kids to their deaths, which I think is a strong possibility, then if we allow a Piper to escape and can't follow it, the blood of those kids is on ourhands."
Caleb sighed. "Yeah. I hear you. So… what now?"
"We need a team."
"Any thoughts on who should join?"
"You won't like this," Chelsea said, "but I think we should form a team during the day. There are too many Hollows to keep chatting like this."
Caleb let his shoulders sag. "Yeah. I figured that's where you were going. Okay. So, where to next?"
"Seemed like the Weavers were rushing to reach the library," Chelsea said, eyes downcast as she thought. "But why? Weavers are all about stealth – when do they ever rush around like that?"
"Wanna head to the library and find out?" Caleb asked.
Chelsea nodded. "Let's do it."
On they went, talking as they ran and leapt across the rooftops of Grimoire.
"Any thoughts for who to have on our team?" Chelsea asked.
"Well, we need Divination and Healing," Caleb said. "Will's probably a good choice."
Chelsea sighed. "He is, but… he usually comes packaged with you know who."
Caleb chuckled. He knew. Will Rook was Caleb's best friend, and they'd known each other since middle school. Both Caleb and Chelsea got along great with him. The problem was Will's frequent partner on patrol: Jackson Wallace. Caleb rather liked the guy. He had a lot of style.
Chelsea couldn't stand Jackson.
"I can try and get Will without Jackson," Caleb offered.
"If you succeed, I'll buy all of your groceries and meals for a year," Chelsea said wryly. "Lorelei's a strong choice, too."
"Right. She's the one who…" Caleb trailed off, remembering his and Chelsea's run-in with the Piper recently. The scar on his arm would have been much larger – or he would have even lost his entire arm – if Lorelei hadn't been nearby. A good friend of Chelsea's, Lorelei was an excellent Healer who'd spent lots of time researching Piper toxin and training to handle it.
"How big should the team be?" Chelsea asked.
"Dunno," Caleb said. "I'm thinking small. Right now, assuming we can't avoid Jackson, that'll make five."
"Five's a good number."
Caleb grinned. "Yeah. If we think of anyone else, we'll figure that out."
"Here we go," Chelsea said, dropping to a crouch and Caleb following suit. From their perch on the peak of a steeply sloped roof, they looked out across the courtyard in front of Grimoire's public library.
Styled like a small castle, the library had been around for nearly a thousand years, only receiving slight renovations here and there. Four rounded towers marked each corner, and the main entrance was a massive wooden gate. Faded stonework and architecture from a bygone era worked together to make Grimoire's public library feel truly old.
Caleb loved that. He didn't spend much time there nowadays – if he wanted to read a book, he was more likely to buy it than borrow, now that he was an adult with a lucrative career – but he had many fond memories. Most of all, he loved the style. The library's interior was like a labyrinth of bookshelves, with multiple floors separated by spiraling staircases. There was even a basement garden, which always struck Caleb as the weirdest and coolest thing ever when he was a kid.
"No sign of Hollows," Chelsea said, frowning. Sounds of battle raged through the night, but they were all distant. The library was the picture of peace.
"Should we go inside?" Caleb asked.
"Can you pick locks?"
Caleb chuckled. "I know a secret entrance."
Chelsea stared at him, perplexed. "Really?"
Caleb grinned at her, then leapt down from the roof, landing in a crouch on the street below. Chelsea followed suit with catlike grace, her short hair falling perfectly back into place when she landed.
Caleb found himself staring. He often did – Chelsea's grace and style awed him at every moment. She had admitted to him that she was self-conscious about her short hair, but she had good reason to cut it that way. Using fire magic like she did, she'd had an incident in her Hunter internship where her long hair had caught fire from her own magic. Since then, she'd kept it cut a few inches shorter than shoulder length – the shortest she was willing to go.
Caleb loved it. Cut short as it was, it made her strong shoulders and arms more pronounced, emphasizing that Chelsea was strong and active.
She looked like the fierce fighter that she was.
"Now's not the time for staring," Chelsea called out sweetly as she led the way towards the library.
"When is?" Caleb asked.
Chelsea cast a teasing look over her shoulder. "When we're not in a potential combat zone."
Caleb faked a dramatic sigh. "I suppose I'll have to cope."
"You can manage it." Chelsea stopped in the courtyard, about ten yards from the library's main gate. "So where's this 'secret' entrance?"
"Around the back," Caleb said. He led the way across the courtyard to the right, circling around the library's side. It was dimly lit here, and in the gloomy, cloudy night, shadows were strange and ethereal, and the darkness seemed to have a life of its own.
Sometimes Caleb thought the darkness actually did have a life of its own. With the kind of magical world he lived in, he wouldn't be surprised.
Through the darkness and around the library's rear, Caleb walked over to a railing overlooking an outdoor section of the basement garden. He nodded to the drop, and then leapt over. A simple two story drop was nothing – as long as your aim was good. There were stone statues and rose bushes all about, so Caleb couldn't leap carelessly. Landing between two lion statues, he stepped aside to make room as Chelsea followed him down.
"Kind of a creepy place in the dark," she said, looking around. There were a few lights active at night, but they cast a dim glow, serving mostly to lengthen the shadows of the condensed layout. Rose bushes appeared taller, statues appeared fiercer.
"There's a hidden key," Caleb said, striding confidently through the pathways, stopping at a squat frog statue. During the day, its oddly-shaped mouth would spit out a steady stream of water into the basin below it, but now, that function was deactivated. Taking hold of the frog's head, Caleb twisted it gently to the left a few inches, then the right a few more inches. There was a click, and Caleb lifted the frog's head, revealing a hollow interior. Beneath the pipes that transported the water through the statue's body was an old-fashioned silver key.
"Should I ask how you know this?" Chelsea asked.
"I was a precocious kid," Caleb said defensively.
"You're still a precocious kid."
Caleb laughed. "You're probably right." Taking the key to the nearby door, Caleb inserted and turned it. There was another click, and the door easily swung open.
"This doesn't look like a legitimate entrance," Chelsea said with a frown.
Caleb entered the darkness, pulling out a mini flashlight clipped to his belt and turning it on. "It's a service tunnel. It was built before this area was turned into a garden. I'm not sure exactly how things used to be set up, but they still maintain it." Caleb grinned. "They open it up around Halloween when they turn the whole library into a haunted house."
"Charming," Chelsea said dryly, following Caleb. She clicked one of her lighters, forming a ball of green flame that floated over their heads, providing more ambient illumination. Caleb's flashlight was still useful for examining specific details.
"It's like a maze," Chelsea said, peering left and right at a four-way intersection. "Why so many paths?"
"Dunno," Caleb said with a shrug, taking the path to the right. "They all lead somewhere, but aside from the main path between the garden and the library itself, everywhere else just leads to closets and storerooms that aren't in use anymore."
"You think maybe what the Hollows were attracted to about this place might be in this tunnel?" Chelsea asked. She ran her hand along the stone wall, then pulled it away, staring at her fingers. "The walls are wet."
"The plumbing isn't great," Caleb said with a chuckled. He paused, listening. "Hear that? Water's dripping somewhere."
"This feels like a completely different building. More like a centuries-old ruin than a part of a modern library."
"Well, the library isn't all that modern."
"You know what I mean. It's been renovated. It looks like a modern building designed to have an older feel to it, but it isn't… like this."
"I get what you mean." Caleb stopped at the next intersection, and though he intended to go left, he hesitated.
"Hear that?" Caleb asked back.
"I… is that music?"
Caleb strained to hear. Was it coming from above, or from within the tunnels? And the music…
"It sounds like a Piper's Flute," Chelsea said ominously.
"Can you tell where it's coming from?" Caleb asked.
Chelsea shook her head. "If I had to guess, I'd say up above."
"All right. Let's hurry."
Caleb took the left path at a jog. Even with his familiarity with this secret entrance to the library, it was still dangerous to try charging through at top speed. He'd gotten lost down here more than enough times to know that much.
But while he took a measured speed on foot, his mind was racing as fast as it could. The music was growing louder, and the sound of it was the haunting, hollow tones of a Piper's Flute.
But that song – it was going on for too long, for one thing. And for another, he'd never heard a Piper play that. They seemed to have two very rigid songs – one for luring children to follow them, and one for summoning Hollows to their aid. Those two songs never changed as far as Caleb knew. Hunter training even involved listening to recordings of both songs, so that new Hunters would be sure to memorize them.
As far as he knew, there were no other songs.
So what was this strange music?
The song for luring children from their homes had a sort of upbeat melancholy to it. It was something that made you want to tap your foot to the rhythm and cry at the same time – a joy juxtaposed with a heavy heart.
For summoning Hollows, the song was tremendously short. Just a quick series of high, frantic notes, and reinforcements arrived. It made sense. If you were going to call for reinforcements, you couldn't afford to take your time on a long, complex melody.
But this new song that drifted through the stone hallways was completely different. It didn't repeat itself like the luring song did. It continued into new phrases, emotions changing and shifting, like it was telling a story. What had started out haunting and lonely was now tinged with a sadness that pierced Caleb's heart. That sadness rolled itself forward into a bitter regret, a guilt of time wasted and things left unsaid.
"Caleb?" Chelsea asked. Looking up, only now did Caleb realize that Chelsea was ahead of him, looking back with concern.
"I…" Caleb started, but what could he say? His heart felt so tremendously heavy.
"Are we close?" Chelsea asked. Caleb nodded, moving forward once more to lead the way. He thought he saw, for a brief moment, tears staining Chelsea's eyes, but she turned away.
There. The stairs up to the library's main floor. Like Chelsea had guessed, it was clear now that the song filled with emotions too deep and powerful for words was coming from above.
"Stay cautious," Chelsea said. She spoke in a restrained voice, like it was hard to get words out. Caleb nodded, feeling the same way, uncertain if he could speak. Pocket watch in one hand and flashlight in the other, he led the way up the spiral staircase.
At the top was a door, and he pushed it open carefully.
The song washed over them, and Caleb almost fell back at the sudden surge. With a force of effort, he stepped forward. They were in one of the open lounge areas in the library, with tables and chairs and couches spread out for leisurely reading.
On the far side of the open area, seated on a couch, someone was playing a flute.
It was clearly a Piper's Flute. Caleb would recognize that strange design anywhere. But the person playing it wasn't a Piper.
It was a young girl.


text:
Ghana's central bank holds benchmark policy rate at 26.0 percent
Pedestrians walk in front of Ghana's central bank building in Accra, Ghana, November 16, 2015. REUTERS/Francis Kokoroko/File Photo
ACCRA (Reuters) - Ghana's central bank held its benchmark policy rate at 26.0 percent on Monday as expected and said inflation should come down towards government targets faster than expected.
The Bank's decision to hold the rate for a fifth successive time is in line with steps taken by authorities to stabilize the macro-economy of the West African country and reduce inflation, which rose slightly to 16.9 percent in August.
"The committee noted the moderation in headline inflation since the July meeting on the back of continued cedi stability, easing inflation pressures and tight credit conditions," Governor Abdul-Nashiru Issahaku told a news conference at the end of a Monetary Policy Committee review meeting.
Ghana signed a three-year aid program in April 2015 with the International Monetary Fund to restore fiscal balance to an economy dogged by deficits, public debt and high interest rates with inflation above the government's 2016 target of 11 percent.
The country is due to hold an election on Dec. 7 at which President John Mahama will vie for a second and final four-year term, but Issahaku said the vote was not a concern for monetary policy.
Reporting by Kwasi Kpodo; Editing by Matthew Mpoke Bigg and Andrew Heavens


text:
package gitbucket.core.controller

import java.io.File

import gitbucket.core.account.html
import gitbucket.core.helper
import gitbucket.core.model._
import gitbucket.core.plugin.PluginRegistry
import gitbucket.core.service._
import gitbucket.core.service.WebHookService._
import gitbucket.core.ssh.SshUtil
import gitbucket.core.util.SyntaxSugars._
import gitbucket.core.util.Directory._
import gitbucket.core.util.Implicits._
import gitbucket.core.util.StringUtil._
import gitbucket.core.util._
import org.scalatra.i18n.Messages
import org.scalatra.BadRequest
import org.scalatra.forms._

class AccountController
    extends AccountControllerBase
    with AccountService
    with RepositoryService
    with ActivityService
    with WikiService
    with LabelsService
    with SshKeyService
    with GpgKeyService
    with OneselfAuthenticator
    with UsersAuthenticator
    with GroupManagerAuthenticator
    with ReadableUsersAuthenticator
    with AccessTokenService
    with WebHookService
    with PrioritiesService
    with RepositoryCreationService

trait AccountControllerBase extends AccountManagementControllerBase {
  self: AccountService
    with RepositoryService
    with ActivityService
    with WikiService
    with LabelsService
    with SshKeyService
    with GpgKeyService
    with OneselfAuthenticator
    with UsersAuthenticator
    with GroupManagerAuthenticator
    with ReadableUsersAuthenticator
    with AccessTokenService
    with WebHookService
    with PrioritiesService
    with RepositoryCreationService =>

  case class AccountNewForm(
    userName: String,
    password: String,
    fullName: String,
    mailAddress: String,
    extraMailAddresses: List[String],
    description: Option[String],
    url: Option[String],
    fileId: Option[String]
  )

  case class AccountEditForm(
    password: Option[String],
    fullName: String,
    mailAddress: String,
    extraMailAddresses: List[String],
    description: Option[String],
    url: Option[String],
    fileId: Option[String],
    clearImage: Boolean
  )

  case class SshKeyForm(title: String, publicKey: String)

  case class GpgKeyForm(title: String, publicKey: String)

  case class PersonalTokenForm(note: String)

  val newForm = mapping(
    "userName" -> trim(label("User name", text(required, maxlength(100), identifier, uniqueUserName, reservedNames))),
    "password" -> trim(label("Password", text(required, maxlength(20), password))),
    "fullName" -> trim(label("Full Name", text(required, maxlength(100)))),
    "mailAddress" -> trim(label("Mail Address", text(required, maxlength(100), uniqueMailAddress()))),
    "extraMailAddresses" -> list(
      trim(label("Additional Mail Address", text(maxlength(100), uniqueExtraMailAddress())))
    ),
    "description" -> trim(label("bio", optional(text()))),
    "url" -> trim(label("URL", optional(text(maxlength(200))))),
    "fileId" -> trim(label("File ID", optional(text())))
  )(AccountNewForm.apply)

  val editForm = mapping(
    "password" -> trim(label("Password", optional(text(maxlength(20), password)))),
    "fullName" -> trim(label("Full Name", text(required, maxlength(100)))),
    "mailAddress" -> trim(label("Mail Address", text(required, maxlength(100), uniqueMailAddress("userName")))),
    "extraMailAddresses" -> list(
      trim(label("Additional Mail Address", text(maxlength(100), uniqueExtraMailAddress("userName"))))
    ),
    "description" -> trim(label("bio", optional(text()))),
    "url" -> trim(label("URL", optional(text(maxlength(200))))),
    "fileId" -> trim(label("File ID", optional(text()))),
    "clearImage" -> trim(label("Clear image", boolean()))
  )(AccountEditForm.apply)

  val sshKeyForm = mapping(
    "title" -> trim(label("Title", text(required, maxlength(100)))),
    "publicKey" -> trim2(label("Key", text(required, validPublicKey)))
  )(SshKeyForm.apply)

  val gpgKeyForm = mapping(
    "title" -> trim(label("Title", text(required, maxlength(100)))),
    "publicKey" -> label("Key", text(required, validGpgPublicKey))
  )(GpgKeyForm.apply)

  val personalTokenForm = mapping(
    "note" -> trim(label("Token", text(required, maxlength(100))))
  )(PersonalTokenForm.apply)

  case class NewGroupForm(
    groupName: String,
    description: Option[String],
    url: Option[String],
    fileId: Option[String],
    members: String
  )
  case class EditGroupForm(
    groupName: String,
    description: Option[String],
    url: Option[String],
    fileId: Option[String],
    members: String,
    clearImage: Boolean
  )

  val newGroupForm = mapping(
    "groupName" -> trim(label("Group name", text(required, maxlength(100), identifier, uniqueUserName, reservedNames))),
    "description" -> trim(label("Group description", optional(text()))),
    "url" -> trim(label("URL", optional(text(maxlength(200))))),
    "fileId" -> trim(label("File ID", optional(text()))),
    "members" -> trim(label("Members", text(required, members)))
  )(NewGroupForm.apply)

  val editGroupForm = mapping(
    "groupName" -> trim(label("Group name", text(required, maxlength(100), identifier))),
    "description" -> trim(label("Group description", optional(text()))),
    "url" -> trim(label("URL", optional(text(maxlength(200))))),
    "fileId" -> trim(label("File ID", optional(text()))),
    "members" -> trim(label("Members", text(required, members))),
    "clearImage" -> trim(label("Clear image", boolean()))
  )(EditGroupForm.apply)

  case class RepositoryCreationForm(
    owner: String,
    name: String,
    description: Option[String],
    isPrivate: Boolean,
    initOption: String,
    sourceUrl: Option[String]
  )
  case class ForkRepositoryForm(owner: String, name: String)

  val newRepositoryForm = mapping(
    "owner" -> trim(label("Owner", text(required, maxlength(100), identifier, existsAccount))),
    "name" -> trim(label("Repository name", text(required, maxlength(100), repository, uniqueRepository))),
    "description" -> trim(label("Description", optional(text()))),
    "isPrivate" -> trim(label("Repository Type", boolean())),
    "initOption" -> trim(label("Initialize option", text(required))),
    "sourceUrl" -> trim(label("Source URL", optionalRequired(_.value("initOption") == "COPY", text())))
  )(RepositoryCreationForm.apply)

  val forkRepositoryForm = mapping(
    "owner" -> trim(label("Repository owner", text(required))),
    "name" -> trim(label("Repository name", text(required)))
  )(ForkRepositoryForm.apply)

  case class AccountForm(accountName: String)

  val accountForm = mapping(
    "account" -> trim(label("Group/User name", text(required, validAccountName)))
  )(AccountForm.apply)

  // for account web hook url addition.
  case class AccountWebHookForm(
    url: String,
    events: Set[WebHook.Event],
    ctype: WebHookContentType,
    token: Option[String]
  )

  def accountWebHookForm(update: Boolean) =
    mapping(
      "url" -> trim(label("url", text(required, accountWebHook(update)))),
      "events" -> accountWebhookEvents,
      "ctype" -> label("ctype", text()),
      "token" -> optional(trim(label("token", text(maxlength(100)))))
    )(
      (url, events, ctype, token) => AccountWebHookForm(url, events, WebHookContentType.valueOf(ctype), token)
    )

  /**
   * Provides duplication check for web hook url. duplicated from RepositorySettingsController.scala
   */
  private def accountWebHook(needExists: Boolean): Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] =
      if (getAccountWebHook(params("userName"), value).isDefined != needExists) {
        Some(if (needExists) {
          "URL had not been registered yet."
        } else {
          "URL had been registered already."
        })
      } else {
        None
      }
  }

  private def accountWebhookEvents = new ValueType[Set[WebHook.Event]] {
    def convert(name: String, params: Map[String, Seq[String]], messages: Messages): Set[WebHook.Event] = {
      WebHook.Event.values.flatMap { t =>
        params.optionValue(name + "." + t.name).map(_ => t)
      }.toSet
    }
    def validate(name: String, params: Map[String, Seq[String]], messages: Messages): Seq[(String, String)] =
      if (convert(name, params, messages).isEmpty) {
        Seq(name -> messages("error.required").format(name))
      } else {
        Nil
      }
  }

  /**
   * Displays user information.
   */
  get("/:userName") {
    val userName = params("userName")
    getAccountByUserName(userName).map { account =>
      val extraMailAddresses = getAccountExtraMailAddresses(userName)
      params.getOrElse("tab", "repositories") match {
        // Public Activity
        case "activity" =>
          gitbucket.core.account.html.activity(
            account,
            if (account.isGroupAccount) Nil else getGroupsByUserName(userName),
            getActivitiesByUser(userName, true),
            extraMailAddresses
          )

        // Members
        case "members" if (account.isGroupAccount) => {
          val members = getGroupMembers(account.userName)
          gitbucket.core.account.html.members(
            account,
            members,
            extraMailAddresses,
            context.loginAccount.exists(
              x =>
                members.exists { member =>
                  member.userName == x.userName && member.isManager
              }
            )
          )
        }

        // Repositories
        case _ => {
          val members = getGroupMembers(account.userName)
          gitbucket.core.account.html.repositories(
            account,
            if (account.isGroupAccount) Nil else getGroupsByUserName(userName),
            getVisibleRepositories(context.loginAccount, Some(userName)),
            extraMailAddresses,
            context.loginAccount.exists(
              x =>
                members.exists { member =>
                  member.userName == x.userName && member.isManager
              }
            )
          )
        }
      }
    } getOrElse NotFound()
  }

  get("/:userName.atom") {
    val userName = params("userName")
    contentType = "application/atom+xml; type=feed"
    helper.xml.feed(getActivitiesByUser(userName, true))
  }

  get("/:userName.keys") {
    val keys = getPublicKeys(params("userName"))
    contentType = "text/plain; charset=utf-8"
    keys.map(_.publicKey).mkString("", "\n", "\n")
  }

  get("/:userName/_avatar") {
    val userName = params("userName")
    contentType = "image/png"
    getAccountByUserName(userName)
      .flatMap { account =>
        response.setDateHeader("Last-Modified", account.updatedDate.getTime)
        account.image
          .map { image =>
            Some(
              RawData(FileUtil.getMimeType(image), new File(getUserUploadDir(userName), FileUtil.checkFilename(image)))
            )
          }
          .getOrElse {
            if (account.isGroupAccount) {
              TextAvatarUtil.textGroupAvatar(account.fullName)
            } else {
              TextAvatarUtil.textAvatar(account.fullName)
            }
          }
      }
      .getOrElse {
        response.setHeader("Cache-Control", "max-age=3600")
        Thread.currentThread.getContextClassLoader.getResourceAsStream("noimage.png")
      }
  }

  get("/:userName/_edit")(oneselfOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { x =>
      val extraMails = getAccountExtraMailAddresses(userName)
      html.edit(x, extraMails, flash.get("info"), flash.get("error"))
    } getOrElse NotFound()
  })

  post("/:userName/_edit", editForm)(oneselfOnly { form =>
    val userName = params("userName")
    getAccountByUserName(userName).map {
      account =>
        updateAccount(
          account.copy(
            password = form.password.map(pbkdf2_sha256).getOrElse(account.password),
            fullName = form.fullName,
            mailAddress = form.mailAddress,
            description = form.description,
            url = form.url
          )
        )

        updateImage(userName, form.fileId, form.clearImage)
        updateAccountExtraMailAddresses(userName, form.extraMailAddresses.filter(_ != ""))
        flash += "info" -> "Account information has been updated."
        redirect(s"/${userName}/_edit")

    } getOrElse NotFound()
  })

  get("/:userName/_delete")(oneselfOnly {
    val userName = params("userName")

    getAccountByUserName(userName, true).map {
      account =>
        if (isLastAdministrator(account)) {
          flash += "error" -> "Account can't be removed because this is last one administrator."
          redirect(s"/${userName}/_edit")
        } else {
//      // Remove repositories
//      getRepositoryNamesOfUser(userName).foreach { repositoryName =>
//        deleteRepository(userName, repositoryName)
//        FileUtils.deleteDirectory(getRepositoryDir(userName, repositoryName))
//        FileUtils.deleteDirectory(getWikiRepositoryDir(userName, repositoryName))
//        FileUtils.deleteDirectory(getTemporaryDir(userName, repositoryName))
//      }
          suspendAccount(account)
          session.invalidate
          redirect("/")
        }
    } getOrElse NotFound()
  })

  get("/:userName/_ssh")(oneselfOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { x =>
      html.ssh(x, getPublicKeys(x.userName))
    } getOrElse NotFound()
  })

  post("/:userName/_ssh", sshKeyForm)(oneselfOnly { form =>
    val userName = params("userName")
    addPublicKey(userName, form.title, form.publicKey)
    redirect(s"/${userName}/_ssh")
  })

  get("/:userName/_ssh/delete/:id")(oneselfOnly {
    val userName = params("userName")
    val sshKeyId = params("id").toInt
    deletePublicKey(userName, sshKeyId)
    redirect(s"/${userName}/_ssh")
  })

  get("/:userName/_gpg")(oneselfOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { x =>
      //html.ssh(x, getPublicKeys(x.userName))
      html.gpg(x, getGpgPublicKeys(x.userName))
    } getOrElse NotFound()
  })

  post("/:userName/_gpg", gpgKeyForm)(oneselfOnly { form =>
    val userName = params("userName")
    addGpgPublicKey(userName, form.title, form.publicKey)
    redirect(s"/${userName}/_gpg")
  })

  get("/:userName/_gpg/delete/:id")(oneselfOnly {
    val userName = params("userName")
    val keyId = params("id").toInt
    deleteGpgPublicKey(userName, keyId)
    redirect(s"/${userName}/_gpg")
  })

  get("/:userName/_application")(oneselfOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { x =>
      var tokens = getAccessTokens(x.userName)
      val generatedToken = flash.get("generatedToken") match {
        case Some((tokenId: Int, token: String)) => {
          val gt = tokens.find(_.accessTokenId == tokenId)
          gt.map { t =>
            tokens = tokens.filterNot(_ == t)
            (t, token)
          }
        }
        case _ => None
      }
      html.application(x, tokens, generatedToken)
    } getOrElse NotFound()
  })

  post("/:userName/_personalToken", personalTokenForm)(oneselfOnly { form =>
    val userName = params("userName")
    getAccountByUserName(userName).map { x =>
      val (tokenId, token) = generateAccessToken(userName, form.note)
      flash += "generatedToken" -> (tokenId, token)
    }
    redirect(s"/${userName}/_application")
  })

  get("/:userName/_personalToken/delete/:id")(oneselfOnly {
    val userName = params("userName")
    val tokenId = params("id").toInt
    deleteAccessToken(userName, tokenId)
    redirect(s"/${userName}/_application")
  })

  get("/:userName/_hooks")(managersOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { account =>
      gitbucket.core.account.html.hooks(account, getAccountWebHooks(account.userName), flash.get("info"))
    } getOrElse NotFound()
  })

  /**
   * Display the account web hook edit page.
   */
  get("/:userName/_hooks/new")(managersOnly {
    val userName = params("userName")
    getAccountByUserName(userName).map { account =>
      val webhook = AccountWebHook(userName, "", WebHookContentType.FORM, None)
      html.edithook(webhook, Set(WebHook.Push), account, true)
    } getOrElse NotFound()
  })

  /**
   * Add the account web hook URL.
   */
  post("/:userName/_hooks/new", accountWebHookForm(false))(managersOnly { form =>
    val userName = params("userName")
    addAccountWebHook(userName, form.url, form.events, form.ctype, form.token)
    flash += "info" -> s"Webhook ${form.url} created"
    redirect(s"/${userName}/_hooks")
  })

  /**
   * Delete the account web hook URL.
   */
  get("/:userName/_hooks/delete")(managersOnly {
    val userName = params("userName")
    deleteAccountWebHook(userName, params("url"))
    flash += "info" -> s"Webhook ${params("url")} deleted"
    redirect(s"/${userName}/_hooks")
  })

  /**
   * Display the account web hook edit page.
   */
  get("/:userName/_hooks/edit")(managersOnly {
    val userName = params("userName")
    getAccountByUserName(userName).flatMap { account =>
      getAccountWebHook(userName, params("url")).map {
        case (webhook, events) =>
          html.edithook(webhook, events, account, false)
      }
    } getOrElse NotFound()
  })

  /**
   * Update account web hook settings.
   */
  post("/:userName/_hooks/edit", accountWebHookForm(true))(managersOnly { form =>
    val userName = params("userName")
    updateAccountWebHook(userName, form.url, form.events, form.ctype, form.token)
    flash += "info" -> s"webhook ${form.url} updated"
    redirect(s"/${userName}/_hooks")
  })

  /**
   * Send the test request to registered account web hook URLs.
   */
  ajaxPost("/:userName/_hooks/test")(managersOnly {
    // TODO Is it possible to merge with [[RepositorySettingsController.ajaxPost]]?
    import scala.concurrent.duration._
    import scala.concurrent._
    import scala.util.control.NonFatal
    import org.apache.http.util.EntityUtils
    import scala.concurrent.ExecutionContext.Implicits.global

    def _headers(h: Array[org.apache.http.Header]): Array[Array[String]] = h.map { h =>
      Array(h.getName, h.getValue)
    }

    val userName = params("userName")
    val url = params("url")
    val token = Some(params("token"))
    val ctype = WebHookContentType.valueOf(params("ctype"))
    val dummyWebHookInfo = RepositoryWebHook(userName, "dummy", url, ctype, token)
    val dummyPayload = {
      val ownerAccount = getAccountByUserName(userName).get
      WebHookPushPayload.createDummyPayload(ownerAccount)
    }

    val (webHook, json, reqFuture, resFuture) = callWebHook(WebHook.Push, List(dummyWebHookInfo), dummyPayload).head

    val toErrorMap: PartialFunction[Throwable, Map[String, String]] = {
      case e: java.net.UnknownHostException                  => Map("error" -> ("Unknown host " + e.getMessage))
      case e: java.lang.IllegalArgumentException             => Map("error" -> ("invalid url"))
      case e: org.apache.http.client.ClientProtocolException => Map("error" -> ("invalid url"))
      case NonFatal(e)                                       => Map("error" -> (e.getClass + " " + e.getMessage))
    }

    contentType = formats("json")
    org.json4s.jackson.Serialization.write(
      Map(
        "url" -> url,
        "request" -> Await.result(
          reqFuture
            .map(
              req =>
                Map(
                  "headers" -> _headers(req.getAllHeaders),
                  "payload" -> json
              )
            )
            .recover(toErrorMap),
          20 seconds
        ),
        "response" -> Await.result(
          resFuture
            .map(
              res =>
                Map(
                  "status" -> res.getStatusLine(),
                  "body" -> EntityUtils.toString(res.getEntity()),
                  "headers" -> _headers(res.getAllHeaders())
              )
            )
            .recover(toErrorMap),
          20 seconds
        )
      )
    )
  })

  get("/register") {
    if (context.settings.allowAccountRegistration) {
      if (context.loginAccount.isDefined) {
        redirect("/")
      } else {
        html.register()
      }
    } else NotFound()
  }

  post("/register", newForm) { form =>
    if (context.settings.allowAccountRegistration) {
      createAccount(
        form.userName,
        pbkdf2_sha256(form.password),
        form.fullName,
        form.mailAddress,
        false,
        form.description,
        form.url
      )
      updateImage(form.userName, form.fileId, false)
      updateAccountExtraMailAddresses(form.userName, form.extraMailAddresses.filter(_ != ""))
      redirect("/signin")
    } else NotFound()
  }

  get("/groups/new")(usersOnly {
    html.creategroup(List(GroupMember("", context.loginAccount.get.userName, true)))
  })

  post("/groups/new", newGroupForm)(usersOnly { form =>
    createGroup(form.groupName, form.description, form.url)
    updateGroupMembers(
      form.groupName,
      form.members
        .split(",")
        .map {
          _.split(":") match {
            case Array(userName, isManager) => (userName, isManager.toBoolean)
          }
        }
        .toList
    )
    updateImage(form.groupName, form.fileId, false)
    redirect(s"/${form.groupName}")
  })

  get("/:groupName/_editgroup")(managersOnly {
    defining(params("groupName")) { groupName =>
      getAccountByUserName(groupName, true).map { account =>
        html.editgroup(account, getGroupMembers(groupName), flash.get("info"))
      } getOrElse NotFound()
    }
  })

  get("/:groupName/_deletegroup")(managersOnly {
    defining(params("groupName")) {
      groupName =>
        // Remove from GROUP_MEMBER
        updateGroupMembers(groupName, Nil)
        // Disable group
        getAccountByUserName(groupName, false).foreach { account =>
          updateGroup(groupName, account.description, account.url, true)
        }
//      // Remove repositories
//      getRepositoryNamesOfUser(groupName).foreach { repositoryName =>
//        deleteRepository(groupName, repositoryName)
//        FileUtils.deleteDirectory(getRepositoryDir(groupName, repositoryName))
//        FileUtils.deleteDirectory(getWikiRepositoryDir(groupName, repositoryName))
//        FileUtils.deleteDirectory(getTemporaryDir(groupName, repositoryName))
//      }
    }
    redirect("/")
  })

  post("/:groupName/_editgroup", editGroupForm)(managersOnly { form =>
    defining(
      params("groupName"),
      form.members
        .split(",")
        .map {
          _.split(":") match {
            case Array(userName, isManager) => (userName, isManager.toBoolean)
          }
        }
        .toList
    ) {
      case (groupName, members) =>
        getAccountByUserName(groupName, true).map { account =>
          updateGroup(groupName, form.description, form.url, false)

          // Update GROUP_MEMBER
          updateGroupMembers(form.groupName, members)
//        // Update COLLABORATOR for group repositories
//        getRepositoryNamesOfUser(form.groupName).foreach { repositoryName =>
//          removeCollaborators(form.groupName, repositoryName)
//          members.foreach { case (userName, isManager) =>
//            addCollaborator(form.groupName, repositoryName, userName)
//          }
//        }

          updateImage(form.groupName, form.fileId, form.clearImage)

          flash += "info" -> "Account information has been updated."
          redirect(s"/${groupName}/_editgroup")

        } getOrElse NotFound()
    }
  })

  /**
   * Show the new repository form.
   */
  get("/new")(usersOnly {
    html.newrepo(getGroupsByUserName(context.loginAccount.get.userName), context.settings.isCreateRepoOptionPublic)
  })

  /**
   * Create new repository.
   */
  post("/new", newRepositoryForm)(usersOnly { form =>
    LockUtil.lock(s"${form.owner}/${form.name}") {
      if (getRepository(form.owner, form.name).isEmpty) {
        createRepository(
          context.loginAccount.get,
          form.owner,
          form.name,
          form.description,
          form.isPrivate,
          form.initOption,
          form.sourceUrl
        )
      }
    }

    // redirect to the repository
    redirect(s"/${form.owner}/${form.name}")
  })

  get("/:owner/:repository/fork")(readableUsersOnly { repository =>
    if (repository.repository.options.allowFork) {
      val loginAccount = context.loginAccount.get
      val loginUserName = loginAccount.userName
      val groups = getGroupsByUserName(loginUserName)
      groups match {
        case _: List[String] =>
          val managerPermissions = groups.map { group =>
            val members = getGroupMembers(group)
            context.loginAccount.exists(
              x =>
                members.exists { member =>
                  member.userName == x.userName && member.isManager
              }
            )
          }
          helper.html.forkrepository(
            repository,
            (groups zip managerPermissions).sortBy(_._1)
          )
        case _ => redirect(s"/${loginUserName}")
      }
    } else BadRequest()
  })

  post("/:owner/:repository/fork", accountForm)(readableUsersOnly { (form, repository) =>
    if (repository.repository.options.allowFork) {
      val loginAccount = context.loginAccount.get
      val loginUserName = loginAccount.userName
      val accountName = form.accountName

      if (getRepository(accountName, repository.name).isDefined ||
          (accountName != loginUserName && !getGroupsByUserName(loginUserName).contains(accountName))) {
        // redirect to the repository if repository already exists
        redirect(s"/${accountName}/${repository.name}")
      } else {
        // fork repository asynchronously
        forkRepository(accountName, repository, loginUserName)
        // redirect to the repository
        redirect(s"/${accountName}/${repository.name}")
      }
    } else BadRequest()
  })

  private def existsAccount: Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] =
      if (getAccountByUserNameIgnoreCase(value).isEmpty) Some("User or group does not exist.") else None
  }

  private def uniqueRepository: Constraint = new Constraint() {
    override def validate(
      name: String,
      value: String,
      params: Map[String, Seq[String]],
      messages: Messages
    ): Option[String] = {
      for {
        userName <- params.optionValue("owner")
        _ <- getRepositoryNamesOfUser(userName).find(_.equalsIgnoreCase(value))
      } yield {
        "Repository already exists."
      }
    }
  }

  private def members: Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] = {
      if (value.split(",").exists {
            _.split(":") match { case Array(userName, isManager) => isManager.toBoolean }
          }) None
      else Some("Must select one manager at least.")
    }
  }

  private def validPublicKey: Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] =
      SshUtil.str2PublicKey(value) match {
        case Some(_) if !getAllKeys().exists(_.publicKey == value) => None
        case _                                                     => Some("Key is invalid.")
      }
  }

  private def validGpgPublicKey: Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] = {
      GpgUtil.str2GpgKeyId(value) match {
        case Some(s) if GpgUtil.getGpgKey(s).isEmpty =>
          None
        case Some(_) =>
          Some("GPG key is duplicated.")
        case None =>
          Some("GPG key is invalid.")
      }
    }

  }

  private def validAccountName: Constraint = new Constraint() {
    override def validate(name: String, value: String, messages: Messages): Option[String] = {
      getAccountByUserName(value) match {
        case Some(_) => None
        case None    => Some("Invalid Group/User Account.")
      }
    }
  }
}


Submitted by Norm Roulet on Mon, 07/21/2008 - 08:51.
Long before Sherwin Williams Paint Company founder Henry Sherwin died, it was well known lead was dangerous to humans. Yet Henry's company "Covered the Earth" in lead, none the less, making large fortunes for few, as celebrated at the Sherwin site at Lakeview Cemetery, in this REALNEO header, yet costing society immeasurable sums, as mourned each Lead Awareness week. As society becomes less lead poisoned, and so more intelligent, history is being captured to reflect facts learned through better uses of technology, that will set records straight for eternity. One fact we may learn is whether Henry Sherwin intended to cover the Earth with lead, and so poison its people.
Submitted by lmcshane on Mon, 07/21/2008 - 09:53.
Sherwin had no idea, but now we do.
Submitted by Norm Roulet on Tue, 07/22/2008 - 11:04.
A major source of childhood lead poisoning, still a serious problem in the United States, is paint. The dangers of lead were known even in the 19th century, and the particular dangers to children were documented in the English-language literature as early as 1904. During the first decades of the 20th century, many other countries banned or restricted the use of lead paint for interior painting. Despite this knowledge, the lead industry in the United States did nothing to discourage the use of lead paint on interior walls and woodwork. In fact, beginning in the 1920s, the Lead Industries Association and its members conducted an intensive campaign to promote the use of paint containing white lead, even targeting children in their advertising. It was not until the 1950s that the industry, under increasing pressure, adopted a voluntary standard limiting the amount of lead in interior paints.
Submitted by Norm Roulet on Tue, 07/22/2008 - 14:33.
Submitted by lmcshane on Wed, 07/23/2008 - 08:55.
There's no celebration, but just as children blame their parents for their problems, we are not solving anything by dwelling on what happened in the past. How do we STOP this from happening in the future? Legislation and enforcement (?) And, reducing our reliance on the product. Cars.
Submitted by Norm Roulet on Thu, 07/24/2008 - 17:20.
I do blame my parents for many of the world's problems and I hold myself resonsible for many of my children's problems. We all dwell in those problems, like 400,000 lead-contaminated Cuyahoga households, until we solve the problems of our past or die. If we may teach our children to look at the world around them for what it really is, as the result of poor behavior by specific people before them, they may learn to behave differently. And they - we - must learn to behave differently.
Decades ago, paint companies wanted to sell more lead paint, which they knew harmed the environment and people - children, especially - so they marketed it through children, e.g. the Dutch Boy. Last year, GM ran a series of advertisement for the Hummer, which all sane people realize harms the environment and so people - so they marketed it through children (kids wanting mommy to drop them off right in front of the school building in their big, rich Hummer).
So, the Sherwin-Williams poisoned the world back then, and the GM poisons the Earth now. And we never seem to learn... the only reason GM and Hummer sales are down is the cost of gas... there has not been a shift to higher social consciousness in America, that I have observed, at all. There must be, and that will only come through a higher degree of public awareness about all aspects of public health, largely through the Internet, as such public awareness and consciousness disrupts established industrial power.
10 YEARS OF AMERICAN FAILURE - DO WE CONTINUE IT?


text:
KB Kookmin Bank, Yangon State Gov't to strengthen support for low-income households
Lee Kap-soo
KB Kookmin Bank signed a business agreement with the Yangon state government to support a project to create a collective residential complex for low-income households in Yangon, Myanmar, on Sept. 4.
KB Kookmin Bank said on Sept. 4 that it signed a business agreement with the Yangon state government in Yangon, Myanmar's economic capital, to support a project to create a collective residential complex for low-income people.
KB Kookmin Bank CEO Huh In, Myanmar Construction Minister U Han Zaw, Yangon Region minister for Electricity, Industry, and Roads and Communications Daw Nilar Kyaw and Yangon Vice Mayor U Soe Lwin attended the signing ceremony.
Through the agreement, KB Kookmin Bank will actively cooperate in the project to create a collective residential complex for low-income families, which is being pursued by the Yangon State Government and the construction ministry.
In addition, the bank plans to help low-income people in Myanmar establish stable living conditions by providing housing financing to residents and supporting employment activities.
"The results of KB Kookmin Bank`s long-held efforts to move its housing financing capacity are expected to be fully realized through support for the project to create a collective housing complex," Hur In said in a congratulatory speech.
Meanwhile, KB Kookmin Bank signed a memorandum of understanding (MOU) with Myanmar's Construction Ministry in February 2017 to support the Myanmar government's housing supply policy and establish cooperative relations for the development of the housing financial market.
Lee Kap-soo 다른기사 보기


We are dedicated to providing quality baked goods that are wholesome and tasty. But we also work hard to bring new and innovative food to our community. So, although you will find more traditional Western and Asian baked goods in our shop, you'll also get to share in our adventure as we continually try out new recipes, and experiment with combining flavors to create something new and delicious.
10/18 KSRO: Good Food Hour — Featuring East Wind Bakery at A Better Way Nursery.


text:
Mothers Need More than One Day
by Yifat Susskind Executive Director of MADRE
Every Mother's Day, you're reminded to call your mother. You're reminded to send her flowers. You're reminded, in essence, to appreciate all the things your mother has done for you.
But what if we really appreciated mothers all year long? What if we lived in a world where policies actually supported mothers?
What would this world look like?
For starters, our governments would recognize that mothers sustain families and communities. They would make that job easier. Governments would preserve social services, for child care, food assistance, health care and more. They wouldn't cut them from budgets, forcing mothers to pay the price for Wall Street's catastrophic failures.
In communities around the world, it is women, and particularly mothers, who take care of most people. And when public services are slashed, it's mothers who pick up the slack. When childcare services are slashed, mothers still care for children, but without help. When food assistance services are cut, mothers are still expected to feed their families. When access to health care is restricted, the responsibility to care for the sick falls on women.
Mothers have always been society's default safety nets. But today's budget cuts are pushing mothers to the breaking point.
In a world where mothers were really appreciated, women's reproductive rights would be secure. We would all understand that women must have the freedom to decide whether and when to have children, and whether to end a pregnancy. A woman who chooses to become a mother would have the health care and support she needs for a safe pregnancy.
And every woman would know that she and the children she mothers have a shot at a healthy life. Health means more than a lack of disease–it means access to food and clean water, to education, to economic opportunity. It also means a commitment from our government leaders to make sure these resources are within reach.
Mother's Day in the US was born 140 years ago, as a day to honor the commitment of mothers to peace. And mothers worldwide have never stopped working to prevent war, to survive and to rebuild families and communities out of the rubble.
If mothers were really appreciated, their global call for peace would halt our leaders' constant march to war.
MADRE is working to make this vision of a better world a reality. MADRE's founders chose the name MADRE–Spanish for mother–to honor the women who demand their own and their families' safety, health and human rights.
This Mother's Day, let's rededicate ourselves to these women and all mothers, who understand that mothering is about more than raising kids. It's about building the world we all need.
In Kenya, we're working with the Indigenous Information Network (IIN) to run shelters for girls fleeing forced marriage, a practice that sacrifices girls' education and endangers their health in early pregnancy.
In Palestine, our partnership with Midwives for Peace helps pregnant women living under Israeli occupation access maternal health services that are often cut off by blockades and military checkpoints.
In Sudan and Guatemala, we're helping women and their families grow local, sustainable food and access clean water. And around the world, we're fighting for international laws that support all mothers and all women.
This Mother's Day, we're also sending a message to President Obama: "Family planning and abortion rights are essential to women's health and safe motherhood." Join the call at www.madre.org/mothers.
By Yifat Susskind, MADRE Executive Director
May 1, 2012 / Africa / Kenya / Sudan / Latin America and Carribean / Guatemala / Middle East / Sexual Rights


text:
Q: How a pointer to an array works in this context? I was asked by an interviewer what the following C program will output
    int a[5] = {1,2,3,4,5};
    int *prt = (int*) (&a+1);

    printf("%d %d", *(a+1), *(prt-1));

which prints
2 5

My answer was wrong for the second number. I realize that I don't really understand what's going on with a pointer to an array (which is already a pointer to the first element of the array). What is *ptr really doing here?

A: The type of the expression
&a

is int ( * )[5] and the expression
&a + 1

points to the memory past the last element of the array.
Then this pointer is interpreted as a pointer of the type int *.
(int*) (&a+1)

So this expression
(prt-1)

points to the last element of the array and the last element is outputted using the expression
*(prt-1)

This expression
(a+1)

points to the second element of the array and this element is outputted using the expression
*(a+1)


Trump put Illhan Omar in danger?
Thread: Trump put Illhan Omar in danger?
Pretty sure that is a LIE, unless you are admitting the stupid things she says incites violence.
But putting her life in danger is the least Trump could do, considering she wants to put other people's lives in danger.


text:
Alia Bhatt gives sneak peek into her maternity wear brand's photoshoot
Mumbai (Maharashtra) [India], October 1 (ANI): Actor Alia Bhatt, who is expecting her first child with Ranbir Kapoor, has come up with her maternity wear brand called 'Edamamma'.
On Saturday, she took to Instagram and gave a glimpse of her photoshoot that she recently did for the brand.
In the video, Alia is seen posing in a simple olive green sleeveless dress with a hand on her baby bump, and doing yoga outdoors in a tee with 'Baby in progress' written on it. The video also has visuals of Alia in yellow flowy dress.
Sharing the video on Instagram, Alia wrote, "Edamamma Maternity Wear - made with a lot of love - for mama-beans. Launching 14th October!!"On Thursday, Alia made an announcement about her maternity wear brand.
"It's not like I've bought maternity clothes before. But when I got down to it, I was overwhelmed. You don't know how you're going to look or feel over the next few months and let's be honest, not being able to find the right thing to wear can be stressful," she said.
She also mentioned that she even considered borrowing her husband Ranbir's oversized clothes. "Do I buy brands I already wear but in a bigger size? Should I raid Ranbir's wardrobe? And just because my body is changing doesn't mean my sense of style has to, right?"She said that she added elastic to her favourite jeans and designed shirts that she didn't have to share with Ranbir. She also wore flowy dresses to avoid 'any unwanted belly touching'. Alia shared the post with a heart hands emoji.
It's the sets of Brahmastra only where the two fell in love with each other, and after dating for five years, Ranbir and Alia tied the knot in April 2022 in a close knit ceremony at their residence. In June, Alia announced her pregnancy on Instagram as she shared a photo from the hospital. (ANI)
1st October 2022, 20:03 GMT+10